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

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

الرساله التى توجد فى اسفل الصوره ما هو سببها ومذا تعنى وكيف يمكن التخلص منها
استعملت داله لحساب حجم الملف
كود :
implementation {$R *.dfm} function size(f1: string):integer; var f:file of byte; handle: integer; results:string; begin handle := FileOpen(f1, fmOpenRead); if handle = -1 then results := 'Unable to open file ' + f1 else try AssignFile(f,f1); read(f); result:=FileSeek(handle,int64(0),2); finally FileClose ( handle ); end; end; procedure TForm1.Button1Click(Sender: TObject); var k:integer; begin if OpenDialog1.Execute then begin k:=size(OpenDialog1.FileName); ShowMessage(IntToStr(k)); end; end; end.
رسالة الخطا
[Avertissement] Unit1.pas(47): La valeur de retour de la fonction 'size' peut être indéfinie
كود :
http://www6.0zz0.com/2011/06/02/00/650485068.png
وعليكم السلام
جربت الكود يعمل طبيعي
نعم اخى الكود يعمل لكن تلك الرسال تخرج فى الاسفل غيرت فى الداله قليلا تخلصت منها لكن لا زلت لا اعرف ماذا يعنى ذلك الخطا
كود :
function size(f: string):integer; var handle: integer; begin handle := FileOpen(f, fmOpenRead); if handle = -1 then result:=0 else begin try result:=FileSeek(handle,int64(0),2); finally FileClose(handle); end; end; end; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var k:integer; begin if OpenDialog1.Execute then begin k:=size(OpenDialog1.FileName); ShowMessage(IntToStr(k)); end; end; end.
هكذا وصلت الى النتجه التى كنت ابحث عنها بتغيير الاحاث فى button
كود :
implementation uses Math; function size(f: string):integer; var handle: integer; begin handle := FileOpen(f, fmOpenRead); if handle = -1 then result:=0 else begin try result:=FileSeek(handle,int64(0),2); finally FileClose(handle); end; end; end; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var k:integer; begin k:=0; if OpenDialog1.Execute then k:=size(OpenDialog1.FileName); if k=0 then begin ShowMessage('no file') end else ShowMessage(IntToStr(k)); end; end.
وعليكم السلام ورحمة الله
رسالة الانذار التي ظهرت مفادها أن ناتج الدالة قد يكون غير محدد
لأن المتغير Result داخل التابع قد لا يأخذ أي قيمة لأنه محجوز ضمن الحيز Try/Finally
كود :
else [COLOR="Red"]try [/COLOR]AssignFile(f,f1); read(f); [color=Red]result[/color]:=FileSeek(handle,int64(0),2);
لتفادي هذا الانذار، قم بتهيئة الناتج قبل الحيز Try/Finally
PHP كود :
Result := -1;
Try
...
Result := ...;
Finally
...
end; 
حجم الملف انظر هنا.
بالتوفيق.
مشكور اخى على الرد الفكره وصلت
لا شكر على واجب خدمتك أخي abdeslem1982 أهلا وسهلا بك Smile
فقط ساعدنـا على تنظيم المنتدى بإفراد موضوع لكل سؤال والبحث في المنتدى قبل ذلك...
ابحث عن TComPort
بالتوفيق.