PDA

View Full Version : سوال: مشکل File not Found هنگام نوشتن فایل



mbshareat
سه شنبه 31 اردیبهشت 1398, 05:07 صبح
سلام
نمی دونم چی شده در یک پروسیجر میخوام فایل رو بازنویسی کنم با اینکه فایل وجود داره میگه وجود نداره؟
علاوه بر این وقتی از try ..Except استفاده می کنم هم مانع بروز خطا نمیشه!
این هم کد. ببینید سر در میارید؟خودم که هیچ نظری ندارم.نمی دونم مشکل از چی هست.
procedure TMainForm.SaveFileStr(S:String;FileNo:Word=0);
Var
F:File;
MainName:String;
begin
MainName:=Files[FileNo];
AssignFile(F,MainName);
if FileExists(MainName)=false then
ShowMessage('Oh '+MainName+' not found!');
try
ReWrite(F,1);
Seek(F,0);
BlockWrite(F,Pointer(S)^,Length(S));
CloseFile(F);
Except
ShowMessage(MainName);
end;
end;



در سطر ReWrite(F,1); خطا رخ میده

mbshareat
سه شنبه 31 اردیبهشت 1398, 05:17 صبح
نمی دونم پروسیجری که پروسیجر بالا رو فراخوانی می کنه به درد میخوره یا نه:
procedure TMainForm.DelVG177();
var
I,J:Word;
St:TStrings;
S:String;
InVGStatus:Byte;
begin
For I:=1 to FilesNo do
Begin
St:=TStringList.Create;
St.LoadFromFile(Files[I]);
S:=Copy(St.Text,1,Length(St.Text)-2);
St.Free;
InVGStatus:=0;
For J:=Length(S)-1 Downto 1 do
Begin
if Copy(S,J,2)='GV' then
InVGStatus:=1-InVGStatus
else if (InVGStatus=1)
And (S[J]=#177) then
Delete(S,J,1);
End;
SaveFileStr(S,I);
End;
end;


با این توضیح که در فایلها کارکتر 177 انتهای سطر حساب میشه و میخوام این کارکتر رو از وسط چیزی مثل تگ VG حذف کنم

اتفاق عجیب دیگه ای که میفته هم اینه که فقط در فایل اول کتابی که این پرو سیجر رو روش اجرا می کنم اتفاق میفته

mbshareat
سه شنبه 31 اردیبهشت 1398, 05:31 صبح
دیگه دارم شاخ در میارم.فایل اجرایی و فایل های کتاب رو بردم یه شاخه دیگه اجرا کردم مشکلی پیش نیومد!!!!
دارم فکر می کنم نکنه مشکل از ویروس یابه!سر کار چند بار پیش اومد که kaspersky به خاطر حساسیت به نام یک متغیر،کامپوننتو حتی نام شاخه برنامه مانع تولید برنامه اجرایی شده.اما توی خونه که کد بالا مشکل پیدا کرده،نود 32 دارم!

mbshareat
سه شنبه 31 اردیبهشت 1398, 05:44 صبح
لینک فایل اجرایی و فایلهای کتاب:
http://s9.picofile.com/file/8361126234/Test_FileNot_Found.rar.html
میگم آپلود فایل هنوز سالمه؟من دو بار امتحان کردم آپلود شد اما به لیست فایلها اضافه نشد که ضمیمه کنم.مجبور شدم بذارم پیکو فایل.
وقتی این پوشه رو در \:D میذارم برنامه رو اجرا می کنم فایل اول خالی (صفر بایت میشه) و قسمت Except اجرا میشه.
ولی وقتی از D:\Bagher Prgs\Programming\DELPHI.PRJ اجرا می کنم فایل خراب نمیشه.
گذاشتم \:E مشکل نداشت. در D:\CD Images هم مشکل نداشت.:عصبانی:

mbshareat
سه شنبه 31 اردیبهشت 1398, 14:58 عصر
الآن سر کار امتحان کردم در درایو D برنامه فایل رو خالی نمی کرد. خدا رو شکر که مشکل همیشگی نیست.
نمی فهمم چطور فایل خالی رو معدوم حساب می کنه؟ احتمال میدم مشکل دسترسی رو با عدم فایل قاطی کرده!