Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];
ВнизРабота с 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c