![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Привет.
Ребят, есть проблема. В гугле был - не нашел четкого ответа на вопрос. Есть TStringList (text.Text) с каким-то содержимым. Хочу передать этот лист в функцию, там добавить, например, строку, а потом забрать это дело оттуда и вывести в мемо. Как сделать? Я делал так: Код:
function TForm1.test(list: TStringList): TStringList;
begin
list.Add('Some string');
end;
потом в обработчике нажатия кнопки Button1:
Memo1.Text:=test(text.Text);![]() |
|
#2
|
||||
|
||||
|
Код:
function TForm1.test(list: TStringList): TStringList;
begin
Result.Add('Some string');
end;
Memo1.Text:=test(text.Text); |
|
#3
|
||||
|
||||
|
Цитата:
Gravitas, я так понимаю, вылезет Access Violation в данном коде... |
|
#4
|
||||
|
||||
|
Ну я полагал, что ТС сам догадается приписать ...:=TStringList.Create или так, как вы предложили.
Последний раз редактировалось Gravitas, 12.08.2011 в 19:57. |
|
#5
|
|||
|
|||
|
Вот рабочий вариант:
Код:
procedure AppendList (var AList: TStringList);
begin
AList.Add('Это новая строка!');
end;Код:
procedure TForm4.btn1Click(Sender: TObject); var myList: TStringList; begin myList:= TStringList.Create(); AppendList (myList); mmo1.Text:= myList.Text; myList.Free; end; |
|
#6
|
|||
|
|||
|
Цитата:
Во! Это да. Но нужная именно функция, а не процедура Что бы она получала текст, выполняла с ним манипуляции и возвращала его ![]() |
|
#7
|
|||
|
|||
|
Цитата:
Нет, не работает. Ругается именно на эту строку: Код:
Memo1.Text:=test(text.Text); Листинг двух этих операций: Код:
function tform1.test(list: tstringlist):tstringlist;
begin
list.Add('111');
result.Text:=list.text;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
memo2.Text:=test(memo1.text);
end; |
|
#8
|
||||
|
||||
|
Вот пример функции:
Код:
function AppendList (AList: TStringList): Integer;
begin
Result := AList.Add('Это новая строка!');
end;Используем так: Код:
...
Index := AppendList(MyStrings);
ShowMessage('Добавлена строка с индексом ' + IntToStr(Index));
ShowMessage('Текст строки: ' + MyStrings[Index]);
... |