Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как всегда проблемы......


Страницы:   1 2

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" - тоже!


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо