Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.08.2011, 00:02
t116 t116 вне форума
Новичок
 
Регистрация: 29.06.2011
Адрес: Луганск
Сообщения: 92
Версия Delphi: Delphi7
Репутация: выкл
По умолчанию бинарные файлы

Здравствуйте. Это кусок кода из бд на основе типизированных бинарных файлов. Когда я заполняю поля бд. затем сохраняю у меня в каталоге создается файл. А когда выполняется поиск при помощи этого кода выдается 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  
Старый 24.08.2011, 00:11
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Особенно понравилась это:
Код:
 SetCurrentDir(ExtractFilePath(Application.ExeName)+'Абонент');
 if FileExists(Edit5.Text)=True
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #3  
Старый 24.08.2011, 00:11
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

А что в Edit5.Text находится в момент выполнения данного события?
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #4  
Старый 24.08.2011, 00:19
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Наверняка имя загружаемого файла. Но слэш поставить это ещё догадаться нужно, а смена текущего каталога это вообще высший пилотаж.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #5  
Старый 24.08.2011, 00:21
t116 t116 вне форума
Новичок
 
Регистрация: 29.06.2011
Адрес: Луганск
Сообщения: 92
Версия Delphi: Delphi7
Репутация: выкл
По умолчанию

В Edit5 загружаются данные со структуры, т.е здесь у меня записана дата выдачи типа string- я пока учусь мне так проще
Ответить с цитированием
  #6  
Старый 24.08.2011, 00:23
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Тогда что ты хочешь загрузить?
Цитата:
...данные со структуры...
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #7  
Старый 24.08.2011, 00:24
t116 t116 вне форума
Новичок
 
Регистрация: 29.06.2011
Адрес: Луганск
Сообщения: 92
Версия Delphi: Delphi7
Репутация: выкл
По умолчанию

Имя файла формируется из Edit2.Text
Ответить с цитированием
  #8  
Старый 24.08.2011, 00:28
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Хорошо, тогда попробуй так:
Код:
var
  St : String;
begin
  St := GetCurrentDir(ParamStr(0)) + '\Абонент\' + Edit5.Text;
  if FileExists(St) then
  begin
    ...
  end
  else
    ShowMessage('Файл не найден');
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #9  
Старый 24.08.2011, 00:45
t116 t116 вне форума
Новичок
 
Регистрация: 29.06.2011
Адрес: Луганск
Сообщения: 92
Версия Delphi: Delphi7
Репутация: выкл
По умолчанию

Цитата:
St := GetCurrentDir(ParamStr(0)) + '\Абонент\' + Edit2.Text;
выдает [Error] Unit1.pas(105): Too many actual parameters
Ответить с цитированием
  #10  
Старый 24.08.2011, 00:37
t116 t116 вне форума
Новичок
 
Регистрация: 29.06.2011
Адрес: Луганск
Сообщения: 92
Версия Delphi: Delphi7
Репутация: выкл
По умолчанию

нашел две ошибки надо Edit2.Text. имя файла это данные из Edit2.Text.
Код:
if FileExists(Edit5.Text)=True
then begin
  AssignFile(DAbonent,Edit5.Text);
Но ничего не изменилось
Ответить с цитированием
  #11  
Старый 24.08.2011, 00:38
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

А я разве так написал? Смотри внимательнее. И в этой строке:
Код:
FileExists(Edit5.Text)=True
True не нужно писать, это не С, это Дельфи.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:23.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025