![]() |
|
|
#1
|
|||
|
|||
|
Здравствуйте. Это кусок кода из бд на основе типизированных бинарных файлов. Когда я заполняю поля бд. затем сохраняю у меня в каталоге создается файл. А когда выполняется поиск при помощи этого кода выдается ShowMessage('Файл не найден') С 19 часов сижу не могу разобрать. Помогите)
Код:
procedure TMainForm.SpeedButton5Click(Sender: TObject);
begin
SetCurrentDir(ExtractFilePath(Application.ExeName)+'Абонент');
try
if FileExists(Edit5.Text)=True
then begin
AssignFile(DAbonent,Edit5.Text);
Reset(DAbonent);
Read(DAbonent,Abonent);
CloseFile(DAbonent);
Edit2.Text:=Abonent.FIO;
Edit3.Text:=Abonent.Adress;
Edit4.Text:=Abonent.Telefon;
Edit5.Text:=Abonent.Data;
Memo1.Text:=Abonent.Spisok;
end else
ShowMessage('Файл не найден');
Except
Exit;
end; |
|
#2
|
||||
|
||||
|
Особенно понравилась это:
Код:
SetCurrentDir(ExtractFilePath(Application.ExeName)+'Абонент'); if FileExists(Edit5.Text)=True |
|
#3
|
||||
|
||||
|
А что в Edit5.Text находится в момент выполнения данного события?
|
|
#4
|
||||
|
||||
|
Наверняка имя загружаемого файла. Но слэш поставить это ещё догадаться нужно, а смена текущего каталога это вообще высший пилотаж.
|
|
#5
|
|||
|
|||
|
В Edit5 загружаются данные со структуры, т.е здесь у меня записана дата выдачи типа string- я пока учусь мне так проще
|
|
#6
|
||||
|
||||
|
Тогда что ты хочешь загрузить?
Цитата:
|
|
#7
|
|||
|
|||
|
Имя файла формируется из Edit2.Text
|
|
#8
|
||||
|
||||
|
Хорошо, тогда попробуй так:
Код:
var
St : String;
begin
St := GetCurrentDir(ParamStr(0)) + '\Абонент\' + Edit5.Text;
if FileExists(St) then
begin
...
end
else
ShowMessage('Файл не найден'); |
|
#9
|
|||
|
|||
|
нашел две ошибки надо Edit2.Text. имя файла это данные из Edit2.Text.
Код:
if FileExists(Edit5.Text)=True then begin AssignFile(DAbonent,Edit5.Text); |
|
#10
|
||||
|
||||
|
А я разве так написал? Смотри внимательнее. И в этой строке:
Код:
FileExists(Edit5.Text)=True |
|
#11
|
|||
|
|||
|
Цитата:
|
|
#12
|
||||
|
||||
|
Очепятался
Код:
St := ExtractFileDir(ParamStr(0)) + '\Абонент\' + Edit2.Text; |
|
#13
|
|||
|
|||
|
здесь в Edit2.Text задается имя файла
Код:
procedure TMainForm.SpeedButton1Click(Sender: TObject);
begin
SetCurrentDir(ExtractFilePath(Application.ExeName)+'Абоненты');
Abonent.FIO:=Edit2.Text;
Abonent.Adress:=Edit3.Text;
Abonent.Telefon:=Edit4.Text;
Abonent.Data:=Edit5.Text;
Abonent.Spisok:=Memo1.Text;
AssignFile(DAbonent,Edit2.Text);
Rewrite(DAbonent);
Write(DAbonent,Abonent);
CloseFile(DAbonent);
if FileExists(Edit2.Text)=True
then
ShowMessage('Запись сохранена'); |
|
#14
|
|||
|
|||
|
Цитата:
ShowMessage'Файл не найден' |
|
#15
|
||||
|
||||
|
Ух, утомил:
Код:
procedure TMainForm.SpeedButton5Click(Sender: TObject);
var
St : String;
begin
St := ExtractFileDir(ParamStr(0)) + '\Абонент\' + Edit5.Text;
if FileExists(St) then
begin
AssignFile(DAbonent, St);
try
Reset(DAbonent);
Read(DAbonent, Abonent);
finally
CloseFile(DAbonent);
end;
Edit2.Text := Abonent.FIO;
Edit3.Text := Abonent.Adress;
Edit4.Text := Abonent.Telefon;
Edit5.Text := Abonent.Data;
Memo1.Text := Abonent.Spisok;
end
else
ShowMessage('Файл не найден');
end; |