Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.14;
Скачать: CL | DM;

Вниз

Ошибки при работе со строками.   Найти похожие ветки 

 
Zaq123 ©   (2006-04-24 15:53) [0]

Добрый день!  Не пойму в чем глюки, то 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;


 
MBo ©   (2006-04-24 15:55) [1]

где проверка на конец файла (EOF(f))?

А твою задачу, если я ее правильно понял, проще всего решить с помощью TStringList.DelimitedText


 
evvcom ©   (2006-04-24 15:56) [2]


>  if s2[i]="|"

Что такое s2?


 
Zaq123 ©   (2006-04-24 16:04) [3]

Короче задача такая:
в файле записаны примерно такие строки:

Агаева|Нура|Джунидовна|УМ 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;
...


 
Сергей М. ©   (2006-04-24 16:14) [4]


> Zaq123 ©   (24.04.06 16:04) [3]


И к чему весь этот геморрой ?

Есть же TStringList и его св-ва Delimiter, DelimitedText ..

Не почитать ли тебе про это в справке ?


 
Zaq123 ©   (2006-04-24 16:15) [5]

чичас посмотрю


 
KSergey ©   (2006-04-24 16:20) [6]

Есть готовые ф-ции Pos и PosEx - как замена внутренним циклам.


 
sniknik ©   (2006-04-24 16:30) [7]

> Мне надо расчленить каждую строку и рассортировать в таблицу
а можно просто открыть таблицей...
в BDE вроде тип text таблиц понимает (не уверен) с разделителями, ADO + Jet ISAM Text понимает точно. (структура описывается в schema.ini, описание в справке мсофиса файл JETSQL40.CHM)



Страницы: 1 вся ветка

Текущий архив: 2006.05.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.073 c
2-1145681938
apl
2006-04-22 08:58
2006.05.14
Раскрасить в DBGrid строки по условию


4-1140520426
pit
2006-02-21 14:13
2006.05.14
Popupmenu


10-1118810923
Магнум
2005-06-15 08:48
2006.05.14
"The RPC server is unavailable"


2-1145732044
DelphiN!
2006-04-22 22:54
2006.05.14
Перевод масива ASCII кодов в String


15-1145362719
worldmen
2006-04-18 16:18
2006.05.14
Что такое URL