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

Вниз

как избавиться от ограничения ???, а перемещаться по строке до, н   Найти похожие ветки 

 
Виталий00 ©   (2005-10-21 22:56) [0]

Здравствуйте!

Как избавиться от ограничения ???,
а перемещаться по строке до, например # или запятой

procedure TForm1.Button2Click(Sender: TObject);
var
       FName: textfile;
       s: string[17];//как избавиться от ограничения ???, а перемещаться по строке до, например # или запятой
       s1: string[27];
       s2: string[17];
       s3: string[60];
       s4: string[7];
       s5: string[10];
       item: Tlistitem;
begin
       AssignFile(FName,"log.txt");
       Reset(FName);
       try
               while not Eof(FName) do
               begin
                       Readln(FName, s, s1, s2, s3, s4, s5);
                       item:= ListView1.items.add;
                       item.caption:= s;
                       item.SubItems.Add(s1);
                       item.SubItems.Add(s2);
                       item.SubItems.Add(s3);
                       item.SubItems.Add(s4);
                       item.SubItems.Add(s5);
               end;
       finally
               closefile(FName);
       end;
end;


 
Zeqfreed ©   (2005-10-21 23:09) [1]

Виталий00 ©   (21.10.05 22:56)
Мягко говоря, ...
В общем, сформулируй свой вопрос по-корректней.

Какое такое ограничение? И чем оно тебе мешает?


 
Виталий00 ©   (2005-10-21 23:16) [2]

У меня прописано ограничение строки, к примеру string[12], что означает что я беру строку в 12 знаков, но как сделать чтобы брать количество знаков из текстового файла например до знака "#" или запятой, т.е. конкретно не прописывать, это будет определено текстом в строке, может это будет 20 знаков!?


 
Zeqfreed ©   (2005-10-21 23:22) [3]

Виталий00 ©   (21.10.05 23:16) [2]
Ну, я бы выбрал такой вариант: читать всю строку и делать парсинг (разбор строки на необходимые части).

Напрямую то, что ты хочешь реализовать нельзя.


 
Виталий00 ©   (2005-10-21 23:29) [4]

Хорошо, но как это сделать? Есть ли примеры?


 
Zeqfreed ©   (2005-10-22 00:25) [5]

Виталий00 ©   (21.10.05 23:29) [4]
Можно использовать готовые решения, например, регулярные выражения. Или самому писать ф-цию парсинга, например, основываясь на теорию конечных автоматов или, так сказать, "в лоб" если исходные данные имеют простой формат. Опиши свою задачу более детально.


 
irishka001 ©   (2005-10-22 01:00) [6]

Пусть есть текстовый файл D:\1.txt, тогда обработчик может иметь вид:

var
f: TextFile;
fname: string;
ch: char;
str:string;
i: integer;
begin
fname:="D:\1.txt";
assignfile(f, fname);

{$I-}
reset(f);
{$I+}

while not Eof(f) do
     begin
       Readln(f, str);
       memo1.Lines.Add(copy(str,1,pos("#", str)-1));
       label1.Caption:=label1.Caption+" "+inttostr(pos(str, ","));

     end;
closefile(f)
end;


 
Германн ©   (2005-10-22 02:26) [7]

2 Виталий00 ©   (21.10.05 23:16) [2]
Могу ошибаться, но, имхо, если разделителем поставить запятую или "табуляцию", то Readln - нормально всё прочитает.


 
Anatoly Podgoretsky ©   (2005-10-22 13:17) [8]

Вот это совсем не рабочее Readln(FName, s, s1, s2, s3, s4, s5);, можно только так Readln(FName, AnsiString); и далее парсинг


 
Виталий00 ©   (2005-10-23 07:48) [9]

Спасибо всем за участие и помощь



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

Форум: "Начинающим";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.056 c
4-1126206927
Gray2
2005-09-08 23:15
2005.11.13
Обработка сообщений


4-1126641620
Nick Denry
2005-09-14 00:00
2005.11.13
Требуется создать ListBox


2-1130013206
nickmas
2005-10-23 00:33
2005.11.13
Строка-формула


2-1130313822
alless
2005-10-26 12:03
2005.11.13
Как передать ф-ию в качестве параметра дин. массив?


14-1130152811
Беспечный_Ангел
2005-10-24 15:20
2005.11.13
Алгоритм оптимального расположения отрезков





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