الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اسم الدوس

بدأه essam_ar1 في 5 أكتوبر 2010 · 13 رد · 1,577 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الأعزاء

هل توجد طريقة لمعرفة الاسم المختصر للملفات المكون من 8 حروف والخاص بالدوس

الموضوع انى احاول فتح ملفات صور TIF عن طريق Microsoft Office Document Imaging لكن المشكلة وجود مشكلة فى الاسماء الطويلة الخاصة بالويندوز للملفات

هل من حل

تم تعديل هذه المشاركة بواسطة essam_ar1 في 5 أكتوبر 2010 في 12:50

#3

الاخ العزيز علاء

شكرا لك على الرد ولكن هل ممكن التوضيح بمثال على الفيجوال فوكس

شكرا لك

#4

مرحبا..

بصراحة كلما قرأت السؤال..أتساءل ما هي الفكرة بالتحديد؟ ولماذا الرجوع للوراء مع الدوس..

اذا كان الموضوع كما فهمته ( التمكن من الوصول للملفات الموجودة في مجلد معين، ضمن آخر وآخر...ضمن Path طويل معين )

فالفوكس برو يتيح لك لك عن طريق وضع الـ Path بين علامتي تنصيص

على سبيل المثال

SET DEFAULT TO "C:\Program Files\MySQL\MySQL Workbench 5.2 OSS\python\site-packages\Crypto\PublicKey"

أما بخصوص أسماء الملفات نفسها فلم ألحظ أي مشاكل بالتعامل مع أسماء الملفات الطويلة

واذا لم يكن ذلك المطلوب، فلعل قليل من التوضيح قد يساعد أكثر

مع التحية

أستغفر الله العظيم و أتوب إليه

#5

المشكلة مع تشغيل الملفات مع أمر RUN

يعنى مثلا علشان افتح ملف ادوب المفروض انى هاكتب الامر التالى

RUN (C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe C:\Documents and Settings\essam\My Documents\Downloads\www.kutub.info_4991.pdf) 0

هنا لايتم تنفيذ الامر الا اذا كتبته كالتالى

RUN (C:\Progra~1\Adobe\Reader~1\Reader\AcroRd~1.exe) 0 مع اسم الملف الذى يجب ان يكون ايضا بدون اسماء طويلة

هى دى المشكلة باختصار

شكرا لك

#6

جرب وضع علامتي التنصيص على النحو التالي :

RUN /n1 ("C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe" "C:\Documents and Settings\essam\My Documents\Downloads\www.kutub.info_4991.pdf")

و بامكانك استخدام ShellExecute

على النحو التالي (كل ما عليك هو تغيير اسم الملف واسم المجلد الموجود فيه )

cFileName = "MySql Client-Server appliactions with VFP.PDF"
cFilePath = "F:\My......Longlong\Long\LongKman\LongPath\"

declare integer ShellExecute ;
	in SHELL32.dll ;
	integer nWinHandle,;
	string cOperation,;
	string cFileName,;
	string cParameters,;
	string cDirectory,;
	integer nShowWindow
return ShellExecute(0,"Open",cFileName , space(0), cFilePath ,1)

أستغفر الله العظيم و أتوب إليه

#7

هو اللى نجح معايا وضع الامر بين علامات التنصيص

بس ما عرفتش استخدم ShellExecute

شكرا لاهتمامك

#8

هذا تعديل بسيط يخص الطريقة الثانية حيث يقوم على اساس فتج الملف بارسال اسمه ودليل موقعه كاملا الى الاجراء OpenThisFile حيث يقوم الاخير باتمام اللازم

كل ما عليك هنا هو تغيير قيمة MyFile

MyFile=GETFILE("PDF")
OR
MyFile="c:\xxx\ccc\aaa\sss\vvv\fff\rrr\FileName.Pdf"

=OpenThisFile(MyFile)

FUNCTION OpenThisFile(lcFileName)

	IF VARTYPE(lcFileName) <> "C" OR ISNULL(lcFileName)
		RETURN .F.
	ENDIF

	IF NOT FILE(lcFileName)
		RETURN .F.
	ENDIF

	m.cFileName=JUSTFNAME(lcFileName)
	m.cFilePath =ADDBS(JUSTPATH(lcFileName))
	DECLARE INTEGER ShellExecute ;
		IN SHELL32.DLL ;
		INTEGER nWinHandle,;
		STRING cOperation,;
		STRING cFileName,;
		STRING cParameters,;
		STRING cDirectory,;
		INTEGER nShowWindow
	RETURN ShellExecute(0,"Open", m.cFileName , SPACE(0), m.cFilePath ,1)

ENDFUNC

أستغفر الله العظيم و أتوب إليه

#9

متشكر جدا جدا

نجحت كده فعلا

انا فعلا عاجز عن الشكر

#10

معلشى يا اخى العزيز

طلب كمان

الامر ده مش شغال على ويندوز 7

لما جربت البرنامج على اجهزة عليها ويندوز 7 لم يعمل

هل يوجد بديل له فى ويندوز 7

شكرا جزيلا لك

#11

الاخ العزيز Shadowz

تحياتى لك وارجو الاطمئنان عليك لعلك تكون بخير

وحشتنا مشاركاتك معانا وافادتك لنا

#12

منذ فترة لا يوجد اى رد

لعل المانع خير

#13
essam_ar1 كتب:

منذ فترة لا يوجد اى رد

لعل المانع خير

شكرا اخي عصام على السؤال،

هل حللت المشكلة، علما بأني أعمل على Windows7 !!

أستغفر الله العظيم و أتوب إليه

#14

حمدا لله على سلامتك ولعل غيبتك تكون خير لك

لا لم يتم حل المشكلة حتى الآن

مواضيع مشابهة