![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибки при работе со строками. [D7, XP]
Zaq123 © (2006-04-24 15:53:00)Добрый день! Не пойму в чем глюки, то s неопределенным идентификатором считает, то его длину не может опредилить?
var
s:string;
i,j:integer;
sss:array[1..9]of string;
begin
AssignFile(f,'c:\123.txt');
Reset(f);
Readln(f,s);
i:=1;
j:=1;
while i<length(s)+1 do
while j<10 do
begin
if s2[i]='|'
then
begin
i:=i+1;
j:=j+1;
end
else
begin
sss[j]:=sss[j]+s2[i];
i:=i+1;
end;
end;
end;
sniknik (2006-04-24 16:30:00) [1]> Мне надо расчленить каждую строку и рассортировать в таблицу
а можно просто открыть таблицей...
в BDE вроде тип text таблиц понимает (не уверен) с разделителями, ADO + Jet ISAM Text понимает точно. (структура описывается в schema.ini, описание в справке мсофиса файл JETSQL40.CHM)
KSergey (2006-04-24 16:20:00) [2]Есть готовые ф-ции Pos и PosEx - как замена внутренним циклам.
Zaq123 (2006-04-24 16:15:00) [3]чичас посмотрю
Сергей М. (2006-04-24 16:14:00) [4]
> Zaq123 © (24.04.06 16:04) [3]
И к чему весь этот геморрой ?
Есть же TStringList и его св-ва Delimiter, DelimitedText ..
Не почитать ли тебе про это в справке ?
Zaq123 (2006-04-24 16:04:00) [5]Короче задача такая:
в файле записаны примерно такие строки:
Агаева|Нура|Джунидовна|УМ 361950|2004-12-27 00:00:00|2005-01-06 00:00:00|0|106.7|1067
Адаева |Зоя|Хасановна|УМ 432884|2005-01-12 00:00:00|2005-01-21 00:00:00|0|106.7|960.29999999999995
Амаева|Ася|Мовлидовна|УМ 432791|2005-01-11 00:00:00|2005-01-24 00:00:00|0|106.7|1387.0999999999999
Мне надо расчленить каждую строку и рассортировать в таблицу
символ ' |' это разделитель
Так правильней будет:
var
s:string;
i,j:integer;
sss:array[1..9]of string;
begin
AssignFile(f,'c:\123.txt');
Reset(f);
Readln(f,s);
i:=1;
j:=1;
while not (EOF(f)) do
begin
....
while i<length(s)+1 do
while j<10 do
begin
if s[i]='|'
then
begin
i:=i+1;
j:=j+1;
end
else
begin
sss[j]:=sss[j]+s2[i];
i:=i+1;
end;
end;
end;
...
evvcom (2006-04-24 15:56:00) [6]
> if s2[i]='|'
Что такое s2?
MBo (2006-04-24 15:55:00) [7]где проверка на конец файла (EOF(f))?
А твою задачу, если я ее правильно понял, проще всего решить с помощью TStringList.DelimitedText