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

Вниз

Вопрос по StringList   Найти похожие ветки 

 
Люда   (2012-07-27 13:21) [0]

Здравствуйте, можно ли вставить в StringList большой блок текста, но только не построчно методом INSERT, а сразу?

Функция Insert не желает брать в качестве параметра StringList.Text, как строку.
Insert(BigTextPart,StringList.Text,1089);


 
RWolf ©   (2012-07-27 13:23) [1]

свойство Text.


 
Плохиш ©   (2012-07-27 13:41) [2]


> Функция Insert не желает брать в качестве параметра StringList.
> Text, как строку.
> Insert(BigTextPart,StringList.Text,1089);
>

Эта функция Insert к TStringList никакого отношения не имеет. Исправляйте ошибки в вашем коде.


 
Anatoly Podgoretsky ©   (2012-07-27 14:08) [3]

Текст, без деления на строки (CRLF) легко вставляется любым стандарным способом, для TStrings. Он вставляется и с CRLF


 
Люда   (2012-07-27 14:16) [4]


> Anatoly Podgoretsky ©   (27.07.12 14:08) [3]

В том и дело, что с делением. Нужно разбивать на строки блок текста через #10#13 и вставлять в StringList по одной строке методом StringList.Insert(--)


 
Люда   (2012-07-27 14:21) [5]

Вопрос как вставить большой кусок текста в середину TStringList сразу(не построчно).


 
RWolf ©   (2012-07-27 14:22) [6]

list2.Insert(42, list1.Text);


 
Люда   (2012-07-27 14:26) [7]


> RWolf ©   (27.07.12 14:22) [6]

Это вставится в одну строку. Если во вставляемом тексте присутствует перевод строки, то автоматической разбивки на строки не будет.


 
RWolf ©   (2012-07-27 14:37) [8]


 sl:=TStringList.Create;
 sl.Add("qwe");
 sl.Add("rty");
 sl.Insert(1,"111"#13#10"222"#13#10"333");
 sl.Text:=sl.Text;
 ShowMessage(sl[1]);


 
Люда   (2012-07-27 14:49) [9]


> RWolf ©   (27.07.12 14:37) [8]

А причем здесь  ShowMessage(), вы посмотрите как это будет выглядеть в StringList.

sl.Insert(1,"111"#13#10"222"#13#10"333"); - Это все равно будет одна строка!!!
Вот такая: 111??222??333


 
RWolf ©   (2012-07-27 14:55) [10]

А вы проверьте.


 
Anatoly Podgoretsky ©   (2012-07-27 14:57) [11]

> Люда  (27.07.2012 14:21:05)  [5]

Lines


 
Люда   (2012-07-27 14:59) [12]


> RWolf ©   (27.07.12 14:55) [10]

Проверено. Или вы хотите сказать, что если в пустой StringList вставить Insert(0,"111"#13#10"222"#13#10"333");, то его Count будет = 3 ?


 
Anatoly Podgoretsky ©   (2012-07-27 14:59) [13]

> RWolf  (27.07.2012 14:55:10)  [10]

Text вставка в середину и обратное присвоение Text(у)


 
Anatoly Podgoretsky ©   (2012-07-27 15:02) [14]

> Люда  (27.07.2012 14:59:12)  [12]

Зачем спрашиваешь, проверь сама


 
RWolf ©   (2012-07-27 15:04) [15]


Люда   (27.07.12 14:59) [12]

Проверено.

Нет. Проверить — значит скопипастить код, запустить его и убедиться, что он делает то, что нужно.


Или вы хотите сказать, что если в пустой StringList вставить Insert(0,"111"#13#10"222"#13#10"333");, то его Count будет = 3 ?

В приведённом коде сделано немного другое.


 
Люда   (2012-07-27 15:05) [16]


> Anatoly Podgoretsky ©   (27.07.12 14:57) [11]

Это вы наверное с Memo спутали.


> Anatoly Podgoretsky ©   (27.07.12 14:59) [13]


Это нужно будет из трех частей в один текст собрать

Кусок 1) от 0 до позиции с которой вставляю. +
Кусок 2) вставляемый текст +
Кусок 3) остаток - от позиции с которой вставляю до конца исходного текста =
НОВЫЙ ТЕКСТ

Ну тоже вариант.


 
Люда   (2012-07-27 15:09) [17]


> RWolf ©   (27.07.12 15:04) [15]
>
>
> Люда   (27.07.12 14:59) [12]
>
> Проверено.
>
> Нет. Проверить — значит скопипастить код, запустить его
> и убедиться, что он делает то, что нужно.
>
>
> Или вы хотите сказать, что если в пустой StringList вставить
> Insert(0,"111"#13#10"222"#13#10"333");, то его Count будет
> = 3 ?
>
> В приведённом коде сделано немного другое.


Ну это сам ShowMessage() выводит одну строку из StringList в таком формате, встречает в строке #13#10 и сам переводит, НО в StringList - это хранится в ондной строке, правильно?? А должно хранится в Трех.


 
Anatoly Podgoretsky ©   (2012-07-27 15:11) [18]

> Люда  (27.07.2012 15:05:16)  [16]

1. Это да, но тогда strings

2. Это на тот случай если первый вариант не устраивает.


 
RWolf ©   (2012-07-27 15:14) [19]


> Ну это сам ShowMessage() выводит одну строку из StringList в таком формате, встречает в строке #13#10 и сам переводит,

ShowMessage() печатает ровно то, что ему передали, со всеми переводами и спецсимволами, до первого нулевого символа.


НО в StringList - это хранится в ондной строке, правильно?? А должно хранится в Трех.

В трёх и хранится. Это делает пятая строчка исходника.


 
Люда   (2012-07-27 15:32) [20]


>
> В трёх и хранится. Это делает пятая строчка исходника.

Так бы и написали) А то было похоже на бред 5-ая строчка.
Там то стриг лист и переразбил строки



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

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

Наверх




Память: 0.51 MB
Время: 0.049 c
2-1332669272
Vladimir
2012-03-25 13:54
2013.03.22
Перевод двоичного кода в символ


2-1330583173
Delphi2007
2012-03-01 10:26
2013.03.22
DBF и Memo поля


15-1328771976
CleriC
2012-02-09 11:19
2013.03.22
Можно ли установить CnWizards (CnPack) для двух версий Delphi?


15-1353245447
Artem
2012-11-18 17:30
2013.03.22
Простой парсинг


15-1337839149
Cobalt
2012-05-24 09:59
2013.03.22
Кто пойдет на "Кросс-платформу"?