09-08-2024, Saat: 23:32
Merhabalar
bir kaç sorum olacaktı ricam yardımcı olmanız
Yaklaşık 100 adet program çalışırken label üretip bunları panel içersinde sıralamak istiyorum panelin satırı dolunca aşağıya devam ederek
labelleri göstersin farklı yöntemlerle yapıyorum yanlız kodlama çok uzuyor ve kontroller e çok zaman harcıyorum
pratik bir yöntem varmı bir örnekle göstermeniz mümkünmü ?
2 nci sorum ise Tlabel caption içerikleri ekrana yansıttıktan sonra görsel olarak bir boşluk bırakarak sonraki labeli göstermesini çözemedim.
Açıklamak gerekirse x:=label1.caption+' '+label2.caption+' '+label3.caption ..........; Gibi
TLabellerin onclik olayı var ve captionların içerinde 1 ila 9 adet arasında karekter vardır
ekranda "1 999 3 789456999" Gibi gözüküyor benim istediğim ise şu "1 999 3 789456999"
3 üncü sorum ise oluşturulmuş tlabellerden biri ile işim bitince aradan çıkartmak için gizlediğimde yeri boş kalıyor ve görsellik bozuluyor
bir sonraki kaybolan labelin yerine gelmesini istiyorum
öncelikle bunların çözümünden yardımcı olmanızı rica ediyorum Saygılar
Sağlıcakla kalın
bir kaç sorum olacaktı ricam yardımcı olmanız
Yaklaşık 100 adet program çalışırken label üretip bunları panel içersinde sıralamak istiyorum panelin satırı dolunca aşağıya devam ederek
labelleri göstersin farklı yöntemlerle yapıyorum yanlız kodlama çok uzuyor ve kontroller e çok zaman harcıyorum
pratik bir yöntem varmı bir örnekle göstermeniz mümkünmü ?
2 nci sorum ise Tlabel caption içerikleri ekrana yansıttıktan sonra görsel olarak bir boşluk bırakarak sonraki labeli göstermesini çözemedim.
Açıklamak gerekirse x:=label1.caption+' '+label2.caption+' '+label3.caption ..........; Gibi
TLabellerin onclik olayı var ve captionların içerinde 1 ila 9 adet arasında karekter vardır
ekranda "1 999 3 789456999" Gibi gözüküyor benim istediğim ise şu "1 999 3 789456999"
3 üncü sorum ise oluşturulmuş tlabellerden biri ile işim bitince aradan çıkartmak için gizlediğimde yeri boş kalıyor ve görsellik bozuluyor
bir sonraki kaybolan labelin yerine gelmesini istiyorum
öncelikle bunların çözümünden yardımcı olmanızı rica ediyorum Saygılar
Sağlıcakla kalın
Kod: (Select All)
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
PROCEDURE LCLICK(SENDER:TOBJECT);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
mixX,mixY,MixADI:array [1..99] of string;
mixrenk: array [1..99] of tcolor;
i:integer;
Lbl:tlabel;
implementation
{$R *.dfm}
procedure TFORM1.LClick(Sender: TObject);
begin
ShowMessage('label Adı : '+TLABEL(Sender).name+#13#10+
'Caption : '+TLABEL(Sender).caption+#13#10+
'Tag : '+inttostr(TLABEL(Sender).tag)+#13#10+
'RENK : '+COLORTOSTRING(TLABEL(SENDER).FONT.COLOR)+#13#10+
' ne ekliyelim ?' );
// TEST hangi bilgileri editliyelim mesela
(Sender as TLABEL).Caption:='10101010101';
(Sender as TLABEL).LEFT:=145;
(Sender as TLABEL).font.COLOR:=Clblack;
END;
procedure TForm1.FormCreate(Sender: TObject);
begin
{ TEST ------------------
FOR i:=1 TO 99 DO
BEGIN
randomize();
MiXADI[I]:=inttostr(random(9999999));
END;
-------------------------------- }
LBL:=Tlabel.Create(self);
LBL.Parent:=Form1.panel1;
for I := 1 to 99 do
begin
LBL.name:='ETI'+inttostr(I);
randomize;
LBL.Caption:=inttostr(random(99999999));
LBL.tag:=I;
LBL.FONT.COLOR:=StringToColor('clSkyBlue');
LBL.OnClick:=LClick;
ListBox1.Items.Add(LBL.NAME) ;
end;
// TEST
// FOR I:=1 TO 99 DO tlabel(LBL).left:=(LBL.LEFT+lbl.Width)+10;
// ------
END;
end.
