Вниз
Скачать: CL | DM;

Проблема с вводом-выводом данных через параметры процедуры   Найти похожие ветки 

← →
Pcrepair ©   (2012-06-25 22:40) [0]

Добрый день
В МЕМО1 вводятся строки, после обработки выводятся в МЕМО2(для наглядности работы тестовой процедуры)

Версия1, работает:

procedure TForm1.Button1Click(Sender: TObject);
var DataIn,DataOut: TStringList;
begin
  DataIn := TStringList.Create;
  DataOut := TStringList.Create;
  DataIn.AddStrings(Memo1.Lines);
        CopyStrings(DataIn, DataOut);
  Memo2.Text := DataOut.Text;
  DataIn.Free;
  DataOut.Free;
end;

procedure TForm1.CopyStrings(var T1,T2:TStringList);
var i:integer; T:TStringList;
begin
  T := TStringList.Create;
   T.Delimiter := " ";
    T.BeginUpdate;
      try
        For i := 0 to Min(T1.Count, 3)-1  do
          T.Add(T1.Strings[i]);
          T2.Add(T.DelimitedText);
      finally
    T.EndUpdate;
  end;
 T.Free;
end;


Версия 2. Не работает. Не возвращает в Data: string результат работы процедуры

procedure TForm1.Button1Click(Sender: TObject);
var DataIn: TStringList; Data: string;
begin
  DataIn := TStringList.Create;
  DataIn.AddStrings(Memo1.Lines);
     CopyStrings(DataIn, Data);
  Memo2.Text := Data;  (*вот тут ничего не выводит*)
  DataIn.Free;
end;

procedure TForm1.CopyStrings(var T:TStringList; S:string);
var i:integer; T1:TStringList;
begin
  T1 := TStringList.Create; (*буферная ПЕРЕМ*)
    T1.Delimiter := " "; (*уст. тип разделителя*)
       For i := 0 to Min(T.Count, 3)-1  do
          T1.Add(T.Strings[i]); (*ну тут все понятно*)
          S := T1.DelimitedText; (*объединяем три строки в одну*)
    (*  Memo2.Text := S; вот тут результат можно вывести, если в обработчике закомментировать
     Memo2.Text := Data;*)
   T1.Free;
end;


Вопрос: почему в Версии2 не возвращается результат. вся разница в В1 и В2 только в типе переменных на выходе


← →
Sha ©   (2012-06-25 23:00) [1]

мамочки
перед s поставь var
добрыми намерениями


← →
Pcrepair ©   (2012-06-25 23:05) [2]

вот оно чего
каждая переменная в параметрах определяется отдельно



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.049 c
15-1342182880
DevilDevil
2012-07-13 16:34
2013.03.22
OpenMP vs Multithread


6-1260249129
Dmitriy
2009-12-08 08:12
2013.03.22
Как написать Firewall


15-1352799802
Handler
2012-11-13 13:43
2013.03.22
названия пунктов меню


2-1344594714
_Mik
2012-08-10 14:31
2013.03.22
Перевести код из VBA в Pascal


15-1336720167
alexdn
2012-05-11 11:09
2013.03.22
Что первое?




   Наверх