delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف يمكننا جلب حجم ملف؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته ,,

أخوتي الكرام ,,

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

حيث اني فلحت في هذا الكود لكن المشكلة هي انني يجب ان احدد المسار كاملاً وانا الذي ارغب به

هو عدم اتباع المجلد اينما يكن يقوم بالفحص الكود :

PHP كود :
var
f : File of byte;
fs : cardinal;
begin
AssignFile
(FFF,'../DelphiVSam/VSample.Exe');
try
Reset(f);
fs := system.FileSize(f);
finally
CloseFile(f);
end; 

التخوف هو ان يقوم احد العملاء من تغيير تسمية مجلد البرنامج

جزاكم الله كل خير
السلام عليكم

PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
var
  
Path: string;
begin
  Path 
:= ExtractFilePath(Application.ExeName);
  
Path := Path + 'VSample.Exe';
  
ShowMessage(IntToStr(_GetFileSize(Path)))
end;

function 
TForm1._GetFileSize(const FilePath: string): Cardinal;
var
  
FileHandle: THandle;
begin
  FileHandle 
:= CreateFile(PChar(FilePath), GENERIC_READ, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
  
Result := GetFileSize(FileHandle, nil);
  
CloseHandle(FileHandle);
end; 

بالتوفيق
شكراً اخي

لو اردنا معرفة حجم البرنامج برمجياً

بشكل اخر الملف التنفيذي الذي انشئناه في دلفي دون الرجوع الى ملفات كيف ؟
تم الحل :

PHP كود :
fs := tFilestream.create(paramstr(0),fmOpenRead or fmShareDenyNone);
  try
    
SSSize:=IntToStr(Fs.Size);
  finally
    
fs.free;
  
end;