Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с reset(f); File not Found 
V
    Опции темы
Stalker Ghost
  Дата 13.10.2007, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 11.11.2004
Где: между столом и ст улом

Репутация: нет
Всего: 2



При обработке reset(f) появляется ошибка File not Found. Почему? Может кто нибудь объяснить?

Код

procedure renewlist;
var SearchRec:TSearchRec;
         fale:textfile;
            s: string;
            i:integer;
            
begin
 
 If FindFirst(Road+'*.cgaccount', faAnyFile, SearchRec)=0 then
   repeat
     //s:=ExpandFileName(SearchRec.name);
     Data.FileNme.Add(ExpandFileName(SearchRec.name));
   until FindNext(SearchRec) <> 0;
  FindClose(SearchRec);

  if Data.FileNme.Count<0 then exit;

  for i:= 0 to Data.FileNme.Count-1 do
  begin
     s:=Data.FileNme[i];
     assignfile(fale,s);
     Reset(fale);
     readln (fale,s);
     Data.Name.Add(s);
     readln (fale,s); Data.SurName.Add(s);
     readln (fale,s);Data.Email.Add(s);
     readln (fale,s);Data.Nick.Add(s);
     readln (fale,s);Data.Password.Add(s);
     readln (fale,s);Data.Telefon.Add(s);
     closefile(fale);
    MainFrm.ListBox1.Items.Add(Data.Name[i]+Data.SurName[i]);
  end;
end;


Не работает ни при *.*, ни при  *.txt. Имя файла и путь находит правильно, через watch point смотрел. Data - record of TStrings (там их пару Name, Surname).

Задача заключается в том чтобы найти в папке *.cgaccount файлы, считать с каждого Name, Surname и т.д., сохранить в списках и добавить в ЛистБокс Name+Surname

Пример *.cgaccount файла
Код

Name
surname
[email protected]
Vasia
asdfgjjj
777777777

PM MAIL MSN   Вверх
Alexeis
Дата 13.10.2007, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Stalker Ghost, скорее всего файла действительно нет по указанному пути, либо старый паскалевский доступ не способен переварить заданный путь (Не уверен что assignfile правильно работает с сетевыми файлами).


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Stalker Ghost
Дата 13.10.2007, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 11.11.2004
Где: между столом и ст улом

Репутация: нет
Всего: 2



а что тогда делать?

Добавлено через 3 минуты и 49 секунд
а что тогда делать?
PM MAIL MSN   Вверх
Alexeis
Дата 13.10.2007, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Посмотреть в под дебагом что в переменной с путем находиться перед тем как происходит ошибка. И проверить есть ли что-то по указанному пути.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Stalker Ghost
Дата 14.10.2007, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 11.11.2004
Где: между столом и ст улом

Репутация: нет
Всего: 2



Уже смотрел до того как постить и путь правильный. Даже пробовал перенести всё на 'C:\', но так тоже  даёт ошибку.

Это сообщение отредактировал(а) Stalker Ghost - 14.10.2007, 10:04
PM MAIL MSN   Вверх
Alix
Дата 14.10.2007, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


L45
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 4.5.2005
Где: Pskov/Spb

Репутация: 7
Всего: 23



есть вероятность что потому, что в SearchRec.name сохраняется только имя файла без пути, попробуйте так:
Код

assignfile(fale, Road + s);



--------------------
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой
High tech. Low live. (с) Gardner Dozois
PM MAIL ICQ Skype   Вверх
Stalker Ghost
Дата 14.10.2007, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 11.11.2004
Где: между столом и ст улом

Репутация: нет
Всего: 2



Alix 
Код

ExpandFileName(SearchRec.name)
 это тоже, но проще
PM MAIL MSN   Вверх
Alix
Дата 14.10.2007, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


L45
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 4.5.2005
Где: Pskov/Spb

Репутация: 7
Всего: 23



давай так, вот ты assign'ишь файл
assignfile(fale,s);
что в переменной s? (ну напиши ее содержимое)
 


--------------------
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой
High tech. Low live. (с) Gardner Dozois
PM MAIL ICQ Skype   Вверх
Alexeis
Дата 14.10.2007, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



ExpandFileName - добавляет к пути к файлу текущую директорию!

Чтобы оно работало правильно в данном случае нужно сделать так
Код

procedure TForm1.FormCreate(Sender: TObject);
var
  f : TextFile;
  s, Road : AnsiString;
  SearchRec : TSearchRec;
begin
   Road := 'C:\Documents and Settings\Админ\Рабочий стол\';
   SetCurrentDir(Road);
   If FindFirst(Road+'*.cgaccount', faAnyFile, SearchRec)=0 then
   repeat
     ListBox1.Items.Add(ExpandFileName(SearchRec.name));
   until FindNext(SearchRec) <> 0;
  FindClose(SearchRec);

  AssignFile(f, ListBox1.Items[0]);
  reset(f);
  ReadLn(f, s);
  CloseFile(f);
end;


Т.е. установить текущую директорию в SetCurrentDir(Road);

Добавлено @ 11:48
Road := 'C:\Documents and Settings\Админ\Рабочий стол\'; - тут у меня файлы с расширением "*.cgaccount"


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Stalker Ghost
Дата 14.10.2007, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 11.11.2004
Где: между столом и ст улом

Репутация: нет
Всего: 2



Мне не хватало SetCurrentDir(Road); Спасибо большое Alexeis и Alix
PM MAIL MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1361 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.