كيف يمكننا جلب حجم ملف؟
#1
السلام عليكم ورحمة الله وبركاته ,,

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

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

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

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

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; 

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

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

اللهمّ إنّي ظلمت نفسي ظلماً كثيراً ولا يغفر الذّنوب إلا أنت

فاغفر لي مغفرة من عندك وارحمني إنّك أنت الغفور الرّحيم
الرد
#2
السلام عليكم

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; 

بالتوفيق
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#3
شكراً اخي

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

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

اللهمّ إنّي ظلمت نفسي ظلماً كثيراً ولا يغفر الذّنوب إلا أنت

فاغفر لي مغفرة من عندك وارحمني إنّك أنت الغفور الرّحيم
الرد
#4
تم الحل :

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

اللهمّ إنّي ظلمت نفسي ظلماً كثيراً ولا يغفر الذّنوب إلا أنت

فاغفر لي مغفرة من عندك وارحمني إنّك أنت الغفور الرّحيم
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم