![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый день. есть следующее:
Код:
var T1,T2:TstringList begin T1 := TStringList.Create; T2 := TStringList.Create; T1.Text := Memo1.Text; (*вводим в Т1 10 строк текста(к примеру), каждая строка одно слово*) ....... end. Вопрос: как в Т2 скопировать только первые 3-и строки из Т1? что то сколько не смотрел методы и свойства TStringList так ничего и не увидел. |
#2
|
||||
|
||||
![]() Код:
T1.Add(Memo1.Lines.Strings[i]) jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 21.06.2012 в 23:00. |
#3
|
||||
|
||||
![]() Использовать:
1. T2.Strings[0] := T1.Strings[0]; 2. T2.Add(T1.Strings[0]); 3. Использовать цикл. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. Последний раз редактировалось angvelem, 21.06.2012 в 22:22. |
#4
|
|||
|
|||
![]() у TstringList не метода Lines
только грузить в файл(поток) и какое то LineBreak |
#5
|
||||
|
||||
![]() Конечно нет, это оЧеПятка.
![]() Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#6
|
|||
|
|||
![]() есть такой вариант
Код:
for i := 0 to 2 do T2.Add(T1[i]) если написать по простому: for i := 0 to 2 do компиляция в норме, но если число строк в Т1 менее 3-х выскакивает исключение List index out of bonds() с указание строки в скобках, которой нехватает до 3-х вообще число вводимых в МЕМО строк может быть и менее 3-х. и что тут сделать? написать if i < 3 then Exit(и вывести сообщение) перед всем. или есть другие варианты? может обойтись без цикла и просто написать: T2.Add(T1[0]) T2.Add(T1[1]) T2.Add(T1[2]) Какой вариант правильный с точки зрения теории и практики? |
#7
|
|||
|
|||
![]() правильный вариант должен быть с точки зрения ситуации (которую знает только один человек тут)
если без вывода сообщения, то можно так: Код:
for i := 0 to 2 do if i <= T2.count - 1 then T2.Add(T1[i]) Код:
for i := 0 to min(2, T2.count - 1) do T2.Add(T1[i]) если таки надо заставить юзера ввести три, то сообщение считаю самым примитивным вариантом, если хочется лучше, то можно например, чтобы кнопка активировалась только когда есть 3 строчки, но тогда надо где-то подсказку, что бы было понятно, что делать в данный момент, почему кнопка не активна или можно посмотреть как такое сделано в других программах Последний раз редактировалось Pyro, 22.06.2012 в 09:18. |
#8
|
|||
|
|||
![]() Цитата:
Ну а если как следует подумать??? Код:
for i := 0 to min(2,T2.Count-1) do ... |