![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как всегда проблемы......
Chlavik © (2002-09-29 03:41:00)Иногда я Delphi совсем не понимаю
Смотрите
If WrtHis1 Then
Begin
AssignFile(PwlBase,Workdir+"PwlBase.Pwb");
If FileExists(Workdir+"PwlBase.Pwb") then
begin
Append(PwlBase);
end
else
begin
ReWrite(PwlBase);
Writeln(PwlBase,"xxxxx");
k:=IOresult;
if k<>0 then Showmessage(IntToStr(k));
У меня этого файла нету...
Так вот выдаёт 103 - File not Open
Так самое главное что файл создаёт а туда ничего не пишет!
Я не понял что за прикол или оно слово Rewrite не понимает или чёрт его знает у меня уже крыша едет. Что тут не так подскажите а тоя уже совсем осдеп.......
Юрий Зотов (2002-09-29 09:26:00) [21]> или оно слово Rewrite не понимает
Это вряд ли
> или чёрт его знает у меня уже крыша едет.
> Что тут не так подскажите а тоя уже совсем осдеп.
Пройдите отладчиком. Сильно сберегает крышу и зрение.
Song (2002-09-29 08:40:00) [22]У Вас не срабатывает
If WrtHis1 Then
А файл пустой оказывается, потому что копмилятор, исправляя Вашу оплошность сам закрывает файл, связанный с файловой переменной PwlBase. И кроме того CloseFile() я у Вас не вижу.
Chlavik (2002-09-29 05:02:00) [23]Вот код целой процедуры
procedure TfmMain.FormCreate(Sender: TObject);
var
cfg:file of config;
d, k:integer;
begin
ExtractFilePath(ParamStr(0));
workdir:=ExtractFilePath(ParamStr(0));
cdLetter;
BlockStatus(False);
If not FileExists("PWL Explorer.cfg") then
begin
datafile.windir[0]:="windows";
datafile.windir[1]:="win";
datafile.windir[2]:="win98";
datafile.windir[3]:="win95";
datafile.windir[4]:="winme";
datafile.windir[5]:="win9x";
datafile.windir[6]:="windows.new";
datafile.windir[7]:="winda";
datafile.windir[8]:="windows98";
datafile.windir[20]:="notfound";
for d:=9 to 19 do datafile.windir[d]:="";
exit;
end;
AssignFile(cfg,WorkDir + "PWL Explorer.cfg");
if FileSize(cfg)<>0 then
begin
Reset(cfg);
Read(cfg,datafile);
CloseFile(cfg);
DirToSave:=datafile.tosave;
PathToRepwl:=datafile.PathOfRepwl;
Checkit1:=datafile.checkit;
DateAdd1:=datafile.DateAdd;
WrtHis1:=datafile.WrtHis;
end;
// Открытие базы Pwl
If WrtHis1 Then
Begin
AssignFile(PwlBase,Workdir+"PwlBase.Pwb");
If FileExists(Workdir+"PwlBase.Pwb") then
begin
Append(PwlBase);
{ GroupBox2.Caption:="Append"};
Writeln(PwlBase,"{PWl Base File of Pwl Exlorer. For Suckers: Do not Edit!!!!!}");
end
else
begin
{ GroupBox2.Caption:="ReWrite"; }
ReWrite(PwlBase);
Writeln(PwlBase,"{!!!!!}");
k:=IOresult;
if k<>0 then Showmessage(IntToStr(k));
end;
end;
end;
Переменная PwlBase описана как глобальная PwlBase:TextFile; .....
А как (2002-09-29 04:49:00) [24]описана переменная PwlBase?
Но стоит привести код подробнее.
Chlavik (2002-09-29 03:53:00) [25]Так я же сказал что файл создаётся!!!!! Но там пустота!
А ты уверен (2002-09-29 03:49:00) [26], что "Workdir+"PwlBase.Pwb"" представляет "НОРМАЛЬНОЕ" имя файла.
Поскольку, если нет, то и "FileExists" не сработает и "ReWrite" - тоже!