المشاركات : 553
المواضيع 49
:
: 296
الإنتساب : Dec 2008
كود :
uses SHFolder;
function GetSpecialFolderPath(folder : integer) : string;
const
SHGFP_TYPE_CURRENT = 0;
var
path: array [0..MAX_PATH] of char;
begin
if SUCCEEDED(SHGetFolderPath(0,folder,0,SHGFP_TYPE_CURRENT,@path[0])) then
Result := path
else
Result := '';
end;
//RadioGroup1 OnClick
procedure TForm1.RadioGroup1Click(Sender: TObject) ;
var
index : integer;
specialFolder : integer;
begin
if RadioGroup1.ItemIndex = -1 then Exit;
index := RadioGroup1.ItemIndex;
case index of
//[Current User]\My Documents
0: specialFolder := CSIDL_PERSONAL;
//All Users\Application Data
1: specialFolder := CSIDL_COMMON_APPDATA;
//[User Specific]\Application Data
2: specialFolder := CSIDL_LOCAL_APPDATA;
//Program Files
3: specialFolder := CSIDL_PROGRAM_FILES;
//All Users\Documents
4: specialFolder := CSIDL_COMMON_DOCUMENTS;
end;
Label1.Caption := GetSpecialFolderPath(specialFolder) ;
end;
المشاركات : 43
المواضيع 0
:
: 0
الإنتساب : Dec 2008
السلام عليكم
الوحدة SHFolder وفرتها دلفي لتسهل للمستخدم التعامل مع مسارات النضام
وهي تعتمد علي المكتبة shFolder.dll
ويمكن ايضا التعامل مع المسارات في دلفي بدون استعمال المكتبة:SHFolder
فهناك عدة دوال وفرتها ميكروزفت وتدعمها دلفي لتعامل مع المسارات
فلتعامل مع مسار ملف نستعمل الدالة:
PHP كود :
function ExtractFilePath(const FileName: string): string;
وهذه بعض دوال لتعامل مع بعض مسارات النضام:
PHP كود :
function GetWindowsDirectory(lpBuffer: PChar; uSize: UINT): UINT; stdcall;
function GetSystemDirectory(lpBuffer: PChar; uSize: UINT): UINT; stdcall;
function GetTempPath(nBufferLength: DWORD; lpBuffer: PChar): DWORD; stdcall;
وهدفها واضح من اسمها
مجرد اضافة ...
الأعمال أعلى صوتا من الكلمات
كل من 1 user says قال شكرا ل AvimimuS على المشاركة المفيدة1 user says Thank You to AvimimuS for this post
• wadoud
المشاركات : 1,252
المواضيع 170
:
: 1,500
الإنتساب : Jul 2009
جزاك الله خيرا ،
إضافة رائعة .
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
المشاركات : 563
المواضيع 28
:
: 0
الإنتساب : Dec 2008
29-04-2010, 05:39 PM
(آخر تعديل لهذه المشاركة: 30-10-2010, 04:27 PM بواسطة kachwahed.)
طريقة مختصرة , لاحظ الأمر (
Set) في الـ
Dos .
- يمكن أن نستفاد من المسارات المسجلة و أيضا تعريف مسارات أخرى ....
الدالة
GetEnvironmentVariable , لجلب المسار المعرف من طرف النظام في قائمة الـ Set
كود :
Var
_i: Byte;
Const
EnVars :Array [0..4]Of String = (
'TEMP'
,'UserName'
,'UserProfile'
,'ProgramFiles'
,'AppData');
Begin
With MyListBox.Items Do
For _i:= 0 to High(EnVars) Do
Add(GetEnvironmentVariable(EnVars[_i]));
End;
بالتوفيق ,,
كل من 1 user says قال شكرا ل TF6M على المشاركة المفيدة1 user says Thank You to TF6M for this post
• mohamed49
المشاركات : 553
المواضيع 49
:
: 296
الإنتساب : Dec 2008
بارك الله فيكم جميعا على الا ضافات الرائعة وعلى المرور