Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2012, 16:22   #1
nxn_sam
Новичок
Джуниор
 
Регистрация: 31.05.2012
Сообщений: 4
По умолчанию Где ошибка в цикле

Добрый день!
Не много запутался помогите плиз, есть ini файл с данными, надо читать из него значение и пробегать по (например) txt файлу, если совпали то выдергиваем строку и записываем данные, потом следующая переменная из ini файла и т. д. Я написал код он берет значение из ini и бежит по txt файлу, все работает с одним значением где не правильно поставил циклы?
Код:
procedure TForm1.Button7Click(Sender: TObject);
var
 Ini: Tinifile;
 List: TStringList;
 i: integer;
 word, s1_1, st: string;
 f : TextFile; // îáúÿâëåíèå ôàéëîâîé ïåðåìåííîé
begin
 if OpenDialog1.Execute then
  fname1:=OpenDialog1.FileName;
 AssignFile(f,fname1); // ïðèâÿçêà íàçâàíèÿ ôàéëà ê ôàéëîâîé ïåðåìåííîé
 {$I-} // îòêëþ÷åíèå êîíòðîëÿ îøèáîê ââîäà-âûâîäà
 Reset(f); // îòêðûòèå ôàéëà äëÿ ÷òåíèÿ
 {$I+} // âêëþ÷åíèå êîíòðîëÿ îøèáîê ââîäà-âûâîäà
 if IOResult<>0 then // åñëè åñòü îøèáêà îòêðûòèÿ, òî
 begin
  ShowMessage('Îøèáêà îòêðûòèÿ ôàéëà C:\1.TXT');
  Exit; // âûõîä èç ïðîöåäóðû ïðè îøèáêå îòêðûòèÿ ôàéëà
 end;
 // Îòêðûâàåì ôàéë
 Ini:=TiniFile.Create(ExtractFilePath(paramstr(0))+'term.ini');
 List := TStringList.Create;
 Ini.ReadSection('name',List);
 for i := 0 to List.Count - 1 do begin
  word := Ini.ReadString('name', List.Strings[i], '');
 // showmessage(word);
  While not EOF(f) do // ïîêà íå êîíåö ôàéëà äåëàòü öèêë:
  begin
   ReadLn(f,st); // ÷èòàòü èç ôàéëà ñòðîêó
   s1_1:=trim(copy(st,305,37));
   if (word = s1_1) then begin
    showmessage(copy(st,405,14));
   end;
  end;
 end;
 List.Destroy;
 Ini.Free;
end;
nxn_sam вне форума Ответить с цитированием
Старый 31.05.2012, 16:31   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Откуда выдёргиваем, куда записываем? Предоставьте лучше ИНИ файл и Ваш ТХТ с которым надо сравнивать.
FaTaL вне форума Ответить с цитированием
Старый 31.05.2012, 16:52   #3
nxn_sam
Новичок
Джуниор
 
Регистрация: 31.05.2012
Сообщений: 4
По умолчанию

писать в базу это я сделаю. мне надо разобраться тут где то ошибка а где не понял еще.
в архиве ini файл пример и файл не принципиально txt или нет
Вложения
Тип файла: rar fa.rar (1.5 Кб, 5 просмотров)
nxn_sam вне форума Ответить с цитированием
Старый 31.05.2012, 17:06   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Текстовый файл перед While not EOF(f) нужно каждый раз сначала читать, а в проге только первый раз читается сначала
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.05.2012, 17:17   #5
nxn_sam
Новичок
Джуниор
 
Регистрация: 31.05.2012
Сообщений: 4
По умолчанию

Спасибо, огромное получилось!!!!!
nxn_sam вне форума Ответить с цитированием
Старый 31.05.2012, 17:20   #6
nxn_sam
Новичок
Джуниор
 
Регистрация: 31.05.2012
Сообщений: 4
По умолчанию

Аватар можно вопрос?
nxn_sam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где ошибка в моем цикле? Marsel737 Общие вопросы Delphi 6 19.02.2010 16:23
Ошибка в цикле Oleg Romanchuk Помощь студентам 10 17.11.2009 06:34
Ошибка в цикле Belokuraya Microsoft Office Excel 11 18.08.2009 15:52
Ошибка в цикле Alamez Общие вопросы Delphi 2 05.04.2009 15:12