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

معرفة مجلد الوندوز

بدأه Salah Al-Samawi في 10 مارس 2012 · 1 رد · 369 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

public

{ Public declarations }

Windir: string;

WindirP: PChar;

Res: Cardinal;

procedure TForm1.Button1Click(Sender: TObject);

begin

WinDirP := StrAlloc(MAX_PATH);

Res := GetWindowsDirectory(WinDirP, MAX_PATH);

if Res > 0 then

WinDir := StrPas(WinDirP);

Label1.Caption := WinDir;

end;

اللهم احفظ اليمن و أهلة و بلاد المسلمين من كل مستبد و ظالم. و من كل شر!!!

#2

السلام عليكم ورحمة الله

دائما قم بتحرير الذاكرة التي تحجزها بنفسك StrAlloc تقابلها StrDispose

  StrDispose(WindirP);

حاول دائما تقسيم الكود في أجزاء صغيرة سهلة الفهم والصيانة وقابلة لإعادة الاستخدام:

function GetWinDir: string;
begin
  SetLength(Result, MAX_PATH);
  GetWindowsDirectory(@Result[1], MAX_PATH);
  Result := PChar(Result);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ShowMessage(GetWinDir);
end;

بالتوفيق.

تم تعديل هذه المشاركة بواسطة kachwahed في 12 مارس 2012 في 20:53

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