Главная страница
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.051 c
15-1346911110
AV
2012-09-06 09:58
2013.03.22
Программистом я б пошел.. Пусть меня научат!


2-1331910674
leklerk
2012-03-16 19:11
2013.03.22
Доступ к данным через TDBGrid и TADODataSet


2-1341986411
NBAH19901
2012-07-11 10:00
2013.03.22
Парсинг Json в delphi


15-1336238668
TStas
2012-05-05 21:24
2013.03.22
Нестандартное свойство компонента


15-1333476590
paramela
2012-04-03 22:09
2013.03.22
Новый IPad может работать на полную на наших интернет-сетях