![]() |
|
التعرف على مسار MyDocuments برمجيا - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6) +--- قسم : دلفي والتعامل مع الملفات (https://delphi4arab.net/forum/forumdisplay.php?fid=22) +--- الموضوع : التعرف على مسار MyDocuments برمجيا (/showthread.php?tid=124) |
التعرف على مسار MyDocuments برمجيا - delphi4ever - 01-04-2008 السلام عليكم ورحمة الله يمكننا أن نتعرف برمجيا عن مسار المجلد MyDocuments أي في أي جزء من القرص الصلب موجود بالضبط مع مساره الكامل، في الأول نضيف ShlObj إلى قائمة Uses ثم نكتب ما يلي: كود : function GetMyDocuments: string;
var
r: Bool;
path: array[0..Max_Path] of Char;
begin
r := ShGetSpecialFolderPath(0, path, CSIDL_Personal, False) ;
if not r then raise Exception.Create('Could not find MyDocuments folder location.') ;
Result := Path;
end;ثم نقوم بالضغط مرتين على Form ونكتب الكود التالي: كود : var
myDocFolder : string;
begin
myDocFolder := GetMyDocuments;
label2.caption:=(Format(' "%s"',[myDocFolder])) ;Label2 هنا تعني لنا المكون الذي سيظهر لنا فيه مسار MyDocuments . وللمزيد من المعلومات حمل السورس في المرفقات التعرف على مسار MyDocuments برمجيا - mourad39 - 26-10-2009 أشكرك أخي الكريم على موضوعك لكن إسمح لي فأنا أرى أن بعض المواضيع في المنتدى مثل موضوعك تحتوي على الكود لكن لا يوجد شرح للكود فمثلا ماذا تمثل كل من 0, path, CSIDL_Personal, False فهناك المبتدئيين الجدد في عالم دلفي عندما يجدون الأكواد غير مفهومة يعتزلون البرمجة لأنهم يرون أنها كطلاسم يجب أن تحفظ على ظهر قلب و هذا مفهوم خاطئ لأنه يجب فهم الاكواد وليس حفظها و بالتالي فهذا الامر لا يشجع المبرمجين الجدد على التواصل مع عالم البرمجة المعذرة و أتمنى أن لا تأخذ إنتقادي هذا على أنه إساءة فهو مجرد رأي فقط التعرف على مسار MyDocuments برمجيا - I_Tiger - 26-10-2009 يا اخي صبرك لا تستعجل البرمجة لازمها طول نفس و الاخوة كثر خيرهم قايمين و زيادة لذلك ترى هذه الاعداد الكبيرة من الناس يبدؤن لكن القليل فقط يكملون لذا انصحك بدراسة لغة الباسكال "delphi = visual pascal" جيدا اذا اردت قرائه الهيروغليفية الديلفاوية اهم جزئ هو ان تستمتع التعرف على مسار MyDocuments برمجيا - kachwahed - 27-10-2009 إقتباس :يجدون الأكواد غير مفهومة يعتزلون البرمجةهذا كلام صحيح... إقتباس :من الناس يبدؤن لكن القليل فقط يكملونوهذا أيضا صحيح... بعض الأكواد يصعب شرحها، أو يتطلب وقتا طويلا أو موضوعا منفصلا فنكتفي بسردها دون شرح ولمن أراد الشرح عليه بالمراجع كون بعض المبتدئين لا يفهمها لا يدفعنا إلى عدم سردها وإلا لما كان هناك منتدى أصلا لأن هناك من لا يفهم أي شيء فيه! والله أعلم. التعرف على مسار MyDocuments برمجيا - محمد عبد العزيز - 27-10-2009 إقتباس :فأنا أرى أن بعض المواضيع في المنتدى مثل موضوعك تحتوي على الكود لكن لا يوجد شرح للكودملاحظة مثل هذه مكانها قسم الاقتراحات على كل اعلم يا خي ان كل شيئ مبني على أخر ان اردت ان تتعلم ابذل جهد، ابحث، اسال، حاول وكرر اصل البرمجة تفكير، والتفكير مختلف من شخص لاخر المواضيع والشروحات تنورك وتدلك على طريق (من بين طرق) لكنها لاتعلمك البرمجة ابدا نعود للموضوع ان قلت لك : ShGetSpecialFolderPath هي API فهل تعرف ما معنى ذلك او يعني لك شيئ ؟ (اجبني لكي اكمل) التعرف على مسار MyDocuments برمجيا - KaSsiMiTec - 02-11-2012 شكرا لك وهذه اجرائية من برمجتي لا تنسوا إضافة registry في قائمة uses كود : function GET_DOC_PATH():string ;
var s:array[0..255] of char; Reg:TRegistry;
begin
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_USERS;
Reg.OpenKey('\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders',True);
Result:=Reg.ReadString('Personal');
Reg.free;
ExpandEnvironmentStrings(PChar(Result),s,256);
Result:=s;
end;التعرف على مسار MyDocuments برمجيا - SMP3 - 04-11-2012 من الأفضل استخدام الدالة SHGetFolderPath بدلا من الدالة ShGetSpecialFolderPath لانها غير مدعومة في نسخ الوينداوز الاحدث .. From MSDN إقتباس :[SHGetSpecialFolderPath is not supported. Instead, use ShGetFolderPath.]لكن رغم هذا يمكن استخدامها .. يمكن استخدام الدالة SHGetFolderPath مع نسخ دلفي الحديثة و التي تدعم اليونيكود PHP كود : function GetSpecialFolder(CSIDL:integer): string;PHP كود : edit1.text:= GetSpecialFolder(CSIDL_Personal); التعرف على مسار MyDocuments برمجيا - العمراوي - 02-06-2014 :pبارك الله فيك RE: التعرف على مسار MyDocuments برمجيا - mc77s - 10-03-2016 إقتباس :بعض الأكواد يصعب شرحها، أو يتطلب وقتا طويلا أو موضوعا منفصلا كلامك صح و بارك الله فيك فلبد من سرد ما يتوجب سرده لكن لدي اقتراح... لما لا يكون هناك تهميش او وصلة من الجزء الغير واضح اما لموضوع و اما شرح في تذيل في ذات الموضوع لأنني ممن بعض الطلاسم هنا هههه RE: التعرف على مسار MyDocuments برمجيا - wadoud - 31-07-2016 كود : السلام عليكم
للإفادة هنا قائمة من الثوابت CSIDL) Constant special items ID List) وما يقابلها من المسارات.
يمكن الإطلاع عليها هنا:
https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494(v=vs.85).aspx |