Вниз
Скачать: 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.055 c
15-1329929995
Artem
2012-02-22 20:59
2013.03.22
Почему Com-порт может сбоить?


2-1345262775
0?0
2012-08-18 08:06
2013.03.22
Не ожидать завершения процедуры.


2-1333239798
toropoff
2012-04-01 04:23
2013.03.22
чтение WMI


15-1352739879
Куку
2012-11-12 21:04
2013.03.22
Combobox с разным наполнением для разных строк в cxGrid


2-1347207508
Wadimka
2012-09-09 20:18
2013.03.22
Как запустить cmd.exe как в TotalCommander?




   Наверх