|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Вывести edit тексты в memo
Стоит задача:
В форме допустим 25 едитов. Пользователь их заполняет и нажимает на кнопку. Далее в мемо должен быть выведен текст каждого едита. В таком формате: edit1.text+','edit2.text+','. И т.п. на выходе должно получится: 123,124 и т.д. Ну, очень запарно писать всё это руками, проще организовать через массив. Вот я накатал такой массив: Код:
for i:=1 to 50 do s:= edit[i].text; form1.script.Lines.Insert(0,s); |
#2
|
||||
|
||||
На последнем едите сделайте обработку события onExit там пропишите примерно такое:
Код:
Memo1.Text := ''; for i := 0 to Form1.ComponentCount - 1 do if Form1.Componets[i].ClassType = TEdit then if Memo1.Text <> '' then Memo1.Text := Memo1.Text+','+TEdit(Form1.Componets[i]).Text else Memo1.Text := TEdit(Form1.Componets[i]).Text; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
Ну код, что вы дали, багнутый, или у меня руки кривые.
В общем попытался поставить, во-первых ничего не работает, т.е. ничего не добавляется, во-вторых, когда вписываешь, что-нибудь в последний едит, то пишет еррор. Дальше попробовал не Онексит поставить, а просто при нажатии на кнопку, сразу стало выдавать ошибку. Вот код, подобрал под свою прогу: Код:
for i := 0 to Form9.ComponentCount - 1 do if Form9.Components[i].ClassType = TEdit then if form1.Script.Text <> '' then form1.Script.Text := form1.script.Text+','+TEdit(Form1.Components[i]).Text else form1.Script.Text := TEdit(Form1.Components[i]).Text; |
#4
|
||||
|
||||
Ну писал тут без проверки, опечатался в одной буковке. Проверил на реальной проге - все нормально. Вот подправленный вариант:
Код:
Memo1.Text := ''; for i := 0 to Form1.ComponentCount - 1 do if Form1.Components[i].ClassType = TEdit then if Memo1.Text <> '' then Memo1.Text := Memo1.Text+','+TEdit(Form1.Components[i]).Text else Memo1.Text := TEdit(Form1.Components[i]).Text; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
В общем я то же проверил, опечатку я уже сразу заметил, у меня там с формами было напутано. Ну что у меня выводит: Когда запалняешь 1 или несколько едитов, то он правильно их пишет, но, он оставляет кучу запятых, и если например заполнил побольше едитов, он вставляет между этими запятыми цифры, вот код:
Код:
for i := 0 to Form9.ComponentCount - 1 do if Form9.Components[i].ClassType = TEdit then if form1.Script.Text <> '' then form1.Script.Text := form1.script.Text+','+TEdit(Form9.Components[i]).Text else form1.Script.Text := TEdit(Form9.Components[i]).Text; ,,,4 shop , //Ну это моя часть, так что не обращай внимание. ,1,1,1,1,1,1,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,, Последний раз редактировалось Мяфк, 21.08.2010 в 01:52. |
#6
|
||||
|
||||
Я так понял, что те едиты в которых нет данных должны пропускаться. Тогда будет так:
Код:
Var i: Integer; begin Memo1.Text := ''; for i := 0 to Form1.ComponentCount - 1 do if Form1.Components[i].ClassType = TEdit then if Memo1.Text <> '' then begin if TEdit(Form1.Components[i]).Text <> '' then Memo1.Text := Memo1.Text+','+TEdit(Form1.Components[i]).Text end else Memo1.Text := TEdit(Form1.Components[i]).Text; end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |