29. december 2004 - 17:01Der er
5 kommentarer og 1 løsning
billeder i array, eller hvordan?
Hej Jeg er nye i Delphi og er i følgende situation:
Jeg har 4 billeder med navnene: RF0 RF1 RF2 RF3
i en edit box skriver jeg så enten 0,1,2 eler 3 og trykker på en knap. Det tal jeg har indtastest skal så bestemme hvilket af billeder jeg sætter til: RFx.Visible := true;
Dette kan jeg gøre via 4 if'er: if inputnum = 0 then RF0.Visible := true; if inputnum = 1 then RF1.Visible := true; if inputnum = 2 then RF2.Visible := true; if inputnum = 3 then RF3.Visible := true;
men dette er jo slave måden, og jeg undrede mig over om man ikke kan smide billederne i en form for array så jeg kan kunne sige:
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
når mit program når til for t:=0 to length(pics)-1 do pics[t].picture.loadfromfile('RF'+inttostr(t)+'.jpg'); crasher det...det er tilsyneladende: pics[t].picture.loadfromfile('RF'+inttostr(t)+'.jpg'); den ikke kan lide
okay, de Timages skal selvf. initialiseres først. Prøv det her i stedet:
var pics:array[0..2] of tImage; v,t:integer; begin for t:=0 to length(pics)-1 do begin pics[t]:=tImage.Create(self); pics[t].parent:=form1; pics[t].top:=100; pics[t].left:=100; pics[t].Visible:=false; pics[t].picture.loadfromfile('RF'+inttostr(t)+'.jpg'); end;
try v:=strtoint(edit1.Text); pics[v].Visible:=true; except on eConvertError do ; else ; end; end;
type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Image1: TImage; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var pics:array[0..2] of tImage; v,t:integer; begin for t:=0 to length(pics)-1 do begin pics[t]:=tImage.Create(self); pics[t].parent:=form1; pics[t].top:=100; pics[t].left:=100; pics[t].Visible:=false; pics[t].picture.loadfromfile('RF'+inttostr(t)+'.jpg'); end;
try v:=strtoint(edit1.Text); pics[v].Visible:=true; except on eConvertError do ; else ; end; end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.