![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
работа с текстовым файлом [D7, XP]
susergey © (2006-08-05 17:45:00)Мастера, помогите разобраться.
на форме есть поле Edit в него нелбходимо вводить цифры для поиска в текстовом файле. Я создал переменную и присвоил ей значение Edit.Text. Отрываю файл для поиска, сравниваю переменную из него с созданной, но поиск не выполняется.
Германн (2006-08-06 01:01:00) [1]
> GeLLeR © (06.08.06 00:50) [11]
>
>
> > У тебя ошибка в коде.
>
> В многострадальной 17-ой строке???
>
Нет у него ошибки "в 17-ой строке". Есть полное непонимание что, чего, когда, куда, зачем и т.д. и т.п.
GeLLeR (2006-08-06 00:50:00) [2]
> У тебя ошибка в коде.
В многострадальной 17-ой строке???
Anatoly Podgoretsky (2006-08-05 18:51:00) [3]Типов переменных мы никогда не узнаем?
Zeqfreed (2006-08-05 18:45:00) [4]> [9] susergey (05.08.06 18:30)
Если удалить пробелы, то ничего не изменится. Я же сказал, что при выполнении этого кода в DistrNumber окажется вся строка. Тебе необходимо её будет проанализировать и выбрать нужное значение. Или, если это число имеет фиксированное кол-во знаков, то можно его просто считать.
susergey (2006-08-05 18:30:00) [5]Я кажется понял, в чем ошибка
2876 BaseName 3 26.04.0000 РТ-Софт
В начале строки есть пробелы, если их удалить, то может он заработает.
Zeqfreed (2006-08-05 18:26:00) [6]> [6] susergey (05.08.06 18:23)
Я вижу что файл текстовый. Только это его тип. Я спрашиваю о том как данные записаны в этом файле и что ты ожидаешь получить выполняя данный код.
susergey (2006-08-05 18:23:00) [7]Да-к дело в том, что изначально было Read, файл текстовый.
Zeqfreed (2006-08-05 18:21:00) [8]> [4] susergey (05.08.06 18:14)
Правильно. Надо не делать, а думать и только потом делать :) Каков формат файла?
susergey (2006-08-05 18:14:00) [9]Сделал вместо
Readln(f, DistrNumber, VariantSystem, DistrType, Network, UsHost,
RegToEnd, Status, DataOfReg, Client);
Read (f, DistrNumber, VariantSystem, DistrType, Network, UsHost,
RegToEnd, Status, DataOfReg, Client);
Результат тот же
Zeqfreed (2006-08-05 18:09:00) [10]
Readln(f, DistrNumber, VariantSystem, DistrType, Network, UsHost,
RegToEnd, Status, DataOfReg, Client);
После этого у тебя DistrNumber содержит целиком первую строку файла, а остальные переменные остаются пустыми. Каков формат файла?
susergey (2006-08-05 18:00:00) [11]Вот код
procedure TForm1.BttnFindClick(Sender: TObject);
var
F: TextFile;
Path: String;
DistrNumber: String;
Client: String;
Network: String;
RegToEnd: String;
Status: String;
VariantSystem: String;
DistrType: String;
DataOfReg: String;
UsHost: String;
fName: String;
FindName: String;
NDistr: String;
begin
Path := ExtractFilePath(ParamStr(0));
if CmbBoxBase.Text = 'Проф' then
FindName := Path + 'law.txt';
AssignFile (F, FindName);
fName := FindName;
{$I-}
Reset(f);
{I+}
if IOResult <> 0 then begin
MessageDlg('Ошибка доступа к файлу '+ fName, mtError,[mbOk],0);
Exit;
end;
while not EOF(f) do begin
Readln(f, DistrNumber, VariantSystem, DistrType, Network, UsHost,
RegToEnd, Status, DataOfReg, Client);
NDistr := EdtNumDistr.Text;
if (DistrNumber = NDistr) then begin
MemOutput.Lines.Add(DistrNumber);
end
else begin
MemOutput.Lines.Add('not found');
end;
end;
CloseFile(F);
end;
Zeqfreed (2006-08-05 17:54:00) [12]> [0] susergey (05.08.06 17:45)
У тебя ошибка в коде.