메모에 있는 내용을 라벨을 이용하여 폼에 출력하려고 합니다.
메모의 라인수를 파악하여 라인수의 갯수만큼 라벨을 생성하고 각각의 라벨에 메모라인의 내용을 표현하려고 할때 아래처럼밖에 표현이 안되네요..ㅠㅠ..
아래 소스를 간단하게 표현하는 법이 있을것 같은데 도저히 모르겠습니다.
아래 소스를 for문을 이용하여 간단히 처리하는 법 없나요? 고수님들 부탁합니다. 도와주세요..
procedure TForm7.Button2Click(Sender: TObject);
var
la1,la2,la3,la4,la5,la6,la7,la8,la9,la10 :TLabel;
m1,m2,m3,m4,m5,m6,m7,m8,m9,m10:String;
begin
if memo1.Lines.Count>0 then
begin
la1:=TLabel.Create(Self);
la1.Parent:=TWinControl(Form7);
la1.Caption:=memo1.Lines.Strings[0];
la1.Left:=100;
la1.Top:=120;
end;
if memo1.Lines.Count>1 then
begin
la2:=TLabel.Create(Self);
la2.Parent:=TWinControl(Form7);
la2.Caption:=memo1.Lines.Strings[1];
la2.Left:=la1.Left;
la2.Top:=la1.Top+30;
end;
if memo1.Lines.Count>2 then
begin
la3:=TLabel.Create(Self);
la3.Parent:=TWinControl(Form7);
la3.Caption:=memo1.Lines.Strings[2];
la3.Left:=la1.Left;
la3.Top:=la2.Top+30;
end;
if memo1.Lines.Count>3 then
begin
la4:=TLabel.Create(Self);
la4.Parent:=TWinControl(Form7);
la4.Caption:=memo1.Lines.Strings[3];
la4.Left:=la1.Left;
la4.Top:=la3.Top+30;
end;
if memo1.Lines.Count>4 then
begin
la5:=TLabel.Create(Self);
la5.Parent:=TWinControl(Form7);
la5.Caption:=memo1.Lines.Strings[4];
la5.Left:=la1.Left;
la5.Top:=la4.Top+30;
end;
.....
end;
var i : integer;
begin
for i := 0 to memo1.Lines.Count - 1 do
With TLabel.Create(Self) do
begin
Parent := TWinControl(Form7);
caption := memo1.Lines[i];
left := 100;
top := 120 + i * 30;
end;
end;
<!--CodeE-->