Форум: "Начинающим";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
ВнизКак одной строкой заполнить TStringList Найти похожие ветки
← →
logslava (2006-07-11 15:52) [0]Есть ли форма записи, которая позволяла бы одной строкой з
заполнить TStringList, что нибудь в таком духе
TStingList.AddStrings("111", "222", "333");
?
← →
Игорь Шевченко © (2006-07-11 15:54) [1]написать строчку:
procedure AddStrings (List: TStrings; const Values: array of string);
var
I: Integer;
begin
for I:=Low(Values) to High(Values) do
List.Add (Values[I]);
end;
?
← →
logslava (2006-07-11 15:57) [2]спасибо.
вариант
← →
Джо © (2006-07-11 15:58) [3]Добавление к [1] Игорь Шевченко ©.
Только вызов метода будет таким
AddStrings(StrLst, ["111", "222", "333"]);
← →
Джо © (2006-07-11 15:59) [4]Еще вариант:
StrLst.Add ("123"#13#10"234"#13#10"hdsjfsdfhj");
← →
Dmitrij_K (2006-07-11 16:00) [5]
> Еще вариант:StrLst.Add ("123"#13#10"234"#13#10"hdsjfsdfhj");
Это будет одна строка
← →
logslava (2006-07-11 16:04) [6][3] спасибо, это ясно
[4] не подходит для заполнения ЛистБокса
MyList.Add("a"#13#10"b");
ListBox1.Items:=MyList; //выводит в одну строчку: a||b
← →
Джо © (2006-07-11 16:05) [7]> [5] Dmitrij_K (11.07.06 16:00)
> Это будет одна строка
Точно. Запамятовал :) Тогда так:
StrLst.SetText("123"#13#10"456"#13#10"789");
← →
Джо © (2006-07-11 16:06) [8]> [6] logslava (11.07.06 16:04)
> [4] не подходит для заполнения ЛистБокса
Тогда подойдет вот это:
ListBox1.Items.SetText("123"#13#10"456"#13#10"789");
:)
← →
Джо © (2006-07-11 16:07) [9]Ну, или со свойством:
ListBox1.Items.Text := "123"#13#10"456"#13#10"789";
← →
logslava (2006-07-11 16:08) [10]Спасибо всем..
Может тогда по горячим следам: как описать массив констант?
const MyArray = ["a","s","d"]
← →
Игорь Шевченко © (2006-07-11 16:10) [11]
> const MyArray = ["a","s","d"]
const
MyArray: array[1..3] of string = ("a","s","d");
← →
logslava (2006-07-11 16:15) [12]thanks and respect to all
← →
Rater1 (2006-07-12 07:08) [13]TStingList.LoadFromFile("c:\Items.txt");
:-)
← →
ZeroDivide © (2006-07-20 13:49) [14]ДА... мастера, блин
SL.CommaText := "111, 222, 333";
← →
Джо © (2006-07-20 13:51) [15]> [14] ZeroDivide © (20.07.06 13:49)
> ДА... мастера, блин
>
> SL.CommaText := "111, 222, 333";
Еще придется квотить, в общем случае.
← →
Palladin © (2006-07-20 14:00) [16]
> ZeroDivide © (20.07.06 13:49) [14]
Лично мне использование CommaText не кажется очень удобным, я им пользуюсь лишь когда необходимо передать TStringList куда то во "вне" и в том "вне" опять же назначить другому TStringList. Удобно когда строк 5-6, не содержащих спец символы " и , , но обычно для такого количества фиксированных строк я TStringList не завожу :)
Функция, предложенная Игорем, очень и очень удобна и более гибка, бо не всегда приходится инициализировать TStringList именно строкой-константок, иногда приходится и массивом строк. Иногда PChar... CommaText же, частное решение, приводящее к большим заморочкам для программиста на куче строк-констант... как бы в кавычках и запятых не запутаться...
← →
Шпиён (2006-07-20 14:00) [17]
> ZeroDivide © (20.07.06 13:49) [14]
Тогда уж
SL.CommaText:=""12 3","45,6","789"";
When assigning CommaText, the value is parsed as SDF formatted text. For SDF format, strings are separated by commas or spaces, and optionally enclosed in double quotes. Double quote marks that are part of the string are repeated to distinguish them from the quotes that surround the string.
> Джо © (20.07.06 13:51) [15]
Угу...
пока писал ответ, ветка уплыла из "основной" в начинающих -)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.017 c