Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
14-39581
Amit
2003-02-27 07:21
2003.03.13
Модератор откликнись please...


1-39385
mannik
2003-03-03 00:16
2003.03.13
FIND


14-39466
Вася Добрый
2003-02-27 09:19
2003.03.13
Разные вопросы


14-39573
stone
2003-02-26 09:15
2003.03.13
Скриншоты новой версии Windows


14-39512
MihalochMK
2003-02-25 14:52
2003.03.13
Помогите пожалуйста!




   Наверх