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

Вниз

Работа с TStringList   Найти похожие ветки 

 
Berg   (2003-02-28 16:23) [0]

Есть большой текстовый файл, необходимо читать в нем до определенного знака (###) и прочитанную часть обрабатывать, сначала загоняю его в TStringList, потом пыытаюсь с помощью Pos
найти ###, но Pos=0 во всех строках, хотя если указываю #, то тогда находит. Помогите разобраться, может у кого-нибудь есть пример.Спасибо!


 
Переяслов Григорий ©   (2003-02-28 16:25) [1]

А пример?


 
MBo ©   (2003-02-28 16:27) [2]

>до определенного знака (###)
это как? все три диеза читаешь или нет?


 
Berg   (2003-02-28 16:32) [3]

L1:=TStringList.Create;
L2:=TStringList.Create;
if OpenDialog1.Execute then
begin
L1.LoadFromFile(OpenDialog1.FileName);
while Pos("###",L1.Strings[i])<>0 do
begin
L2.Insert(i, L1.Strings[i]);
Inc(i);
end;
end;
...
L1.Free;
L2.Free;



 
Berg   (2003-02-28 16:34) [4]

>>MBo © (28.02.03 16:27)
Да, ### - это такой разделитель в тексте


 
Jel ©   (2003-02-28 16:37) [5]


> while Pos("###",L1.Strings[i])<>0 do
>

Pos будет не равна 0 если "###" найдено в строке.
Следовательно строки в которых нет "###" в список L2 не попадут.


 
Anatoly Podgoretsky ©   (2003-02-28 16:37) [6]

=0


 
Berg   (2003-02-28 16:46) [7]

Cтроки с ### в L2 не нужны, а ошибка та же все равно "List index of bounds (19806240)"


 
Anatoly Podgoretsky ©   (2003-02-28 16:49) [8]

Неправильный i


 
Hint ©   (2003-02-28 16:50) [9]

Правильно Anatoly Podgoretsky рожицу скорчил...
Где проверка на выход из диапазона?!
Вроде такой

while Pos("###",L1.Strings[i])<>0 do
begin
L2.Insert(i, L1.Strings[i]);
Inc(i);
if i = L1.Count - 1 then Break;
end;

И неполохо бы перед циклом i проинициализировать, а то мало ли чего там будет перед циклом...


 
icWasya ©   (2003-02-28 16:52) [10]

L1.LoadFromFile(OpenDialog1.FileName);
for i:=0 to L1.Count-1 do
if Pos("###",L1[i])<>0 then
L2.Add(L1[i]);


 
han_malign ©   (2003-02-28 17:08) [11]

Дежавю ;^/, только в прошлом году "##" кажется было...


 
Anatoly Podgoretsky ©   (2003-02-28 20:09) [12]

han_malign © (28.02.03 17:08)
А в позапрощлом "#", растут знания растут и запросы



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

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

Наверх




Память: 0.49 MB
Время: 0.019 c
1-39399
crippler
2003-03-03 11:25
2003.03.13
Люди, помогите скачать курсовую по Delphi


14-39578
Drweb
2003-02-26 22:35
2003.03.13
начальное познание Delphi


7-39593
AuX
2002-12-18 21:59
2003.03.13
Смена IP сетевухи в винь без перезагруза машины.


7-39588
Guk
2003-01-16 13:41
2003.03.13
Эмуляция DOS


1-39345
Morfey
2003-03-01 14:25
2003.03.13
RichEdit