Главная страница
    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.013 c
2-1145690851
$$$nick$$$
2006-04-22 11:27
2006.05.14
Помогите решить задачу.


2-1146143540
mfender
2006-04-27 17:12
2006.05.14
События в компоненте


2-1145876894
Mikhail
2006-04-24 15:08
2006.05.14
Ранжирование выборок


2-1146066746
chai
2006-04-26 19:52
2006.05.14
Аналог IntToStr в Win API


11-1126105615
Riton
2005-09-07 19:06
2006.05.14
urgent: kol+freelibrary - access violation





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский