Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.069 c
15-1354100495
O'ShinW
2012-11-28 15:01
2013.03.22
Запретить всем прятать таскбар


15-1351110603
Юрий
2012-10-25 00:30
2013.03.22
С днем рождения ! 25 октября 2012 четверг


15-1329165002
Юрий
2012-02-14 00:30
2013.03.22
С днем рождения ! 14 февраля 2012 вторник


2-1333617342
gadget
2012-04-05 13:15
2013.03.22
Сервер WordApplication


15-1353577234
xayam
2012-11-22 13:40
2013.03.22
О пользе/вреде графика работы или "2 через 2" vs "пятидневка"





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский