Текущий архив: 2006.08.27;
Скачать: CL | DM;
Вниз
работа с текстовым файлом Найти похожие ветки
← →
susergey (2006-08-05 17:45) [0]Мастера, помогите разобраться.
на форме есть поле Edit в него нелбходимо вводить цифры для поиска в текстовом файле. Я создал переменную и присвоил ей значение Edit.Text. Отрываю файл для поиска, сравниваю переменную из него с созданной, но поиск не выполняется.
← →
Zeqfreed © (2006-08-05 17:54) [1]> [0] susergey (05.08.06 17:45)
У тебя ошибка в коде.
← →
susergey (2006-08-05 18:00) [2]Вот код
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 18:09) [3]
Readln(f, DistrNumber, VariantSystem, DistrType, Network, UsHost,
RegToEnd, Status, DataOfReg, Client);
После этого у тебя DistrNumber содержит целиком первую строку файла, а остальные переменные остаются пустыми. Каков формат файла?
← →
susergey (2006-08-05 18:14) [4]Сделал вместо
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:21) [5]> [4] susergey (05.08.06 18:14)
Правильно. Надо не делать, а думать и только потом делать :) Каков формат файла?
← →
susergey (2006-08-05 18:23) [6]Да-к дело в том, что изначально было Read, файл текстовый.
← →
Zeqfreed © (2006-08-05 18:26) [7]> [6] susergey (05.08.06 18:23)
Я вижу что файл текстовый. Только это его тип. Я спрашиваю о том как данные записаны в этом файле и что ты ожидаешь получить выполняя данный код.
← →
susergey (2006-08-05 18:30) [8]Я кажется понял, в чем ошибка
2876 BaseName 3 26.04.0000 РТ-Софт
В начале строки есть пробелы, если их удалить, то может он заработает.
← →
Zeqfreed © (2006-08-05 18:45) [9]> [9] susergey (05.08.06 18:30)
Если удалить пробелы, то ничего не изменится. Я же сказал, что при выполнении этого кода в DistrNumber окажется вся строка. Тебе необходимо её будет проанализировать и выбрать нужное значение. Или, если это число имеет фиксированное кол-во знаков, то можно его просто считать.
← →
Anatoly Podgoretsky © (2006-08-05 18:51) [10]Типов переменных мы никогда не узнаем?
← →
GeLLeR © (2006-08-06 00:50) [11]
> У тебя ошибка в коде.
В многострадальной 17-ой строке???
← →
Германн © (2006-08-06 01:01) [12]
> GeLLeR © (06.08.06 00:50) [11]
>
>
> > У тебя ошибка в коде.
>
> В многострадальной 17-ой строке???
>
Нет у него ошибки "в 17-ой строке". Есть полное непонимание что, чего, когда, куда, зачем и т.д. и т.п.
Страницы: 1 вся ветка
Текущий архив: 2006.08.27;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.036 c