Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.05.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
15-1145359781
Дарья
2006-04-18 15:29
2006.05.14
платный компонент


15-1143015202
WhiteBarin
2006-03-22 11:13
2006.05.14
Установка FIBScript


15-1145281500
oldman
2006-04-17 17:45
2006.05.14
задачки школьникам задают...


2-1145793355
inri13666
2006-04-23 15:55
2006.05.14
System menu


2-1145971463
dera
2006-04-25 17:24
2006.05.14
Можна ли "расширить" строку, где прописаны имена полей так,





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский