Tags:
delphi
Jeg skal bruge en stump kode, så kan lave en label, hvor der står 120 i, der så falde en pr. sekund.
--
Thomas
2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Tja... Det er faktisk ret enkelt.
Først vil jeg lige forklare to procedurer som kan være ret nyttige: Inc og Dec. Inc står for Increase eller sådan noget, og den bruges sådan Inc(I); Inc lægger 1 til det gamle tal. Dec betyder så Decrease og bruges sådan: Dec(I); DEc fjerner 1 fra det gamle tal. Så vidt jeg husker kan du også udvide Inc og Dec, men kan ikke lige huske hvordan!
Men timeren's event kan se sådan ud:
procedure TForm1.Timer1OnTimer(Sender: TObject);
var
I: integer;
begin
I := StrToInt(Label1.Caption); // Her omdanner vi Label1's caption til en Integer (I)
Dec(I); // Her trækker vi en fra
Label1.Caption := IntToStr(I); // Her omdanner vi I til en string;
end;
StrToInt = Omdan string til integer
IntToStr = Omdan integer til string
- Nick
- Send me mails at cnn@pc.dk
0
<quote>Jeg skal bruge en stump kode, så kan lave en label, hvor der står 120 i, der så falde en pr. sekund.
--
Thomas</quote>
Hejsa:
(teksten forudsætter at du ikke har lavet om på labelens og timerens navn).
lav en form. tilføj en timer og en label.
Gå ind i koden. Kør helt op til øverste linje. Kig så nedaf indtil du når til et sted der står 'VAR'.
Nedenunder var, er der noget tekst med 'Form1 : Tform1;' eller noget i den retning. Lav en ny linje uder den og skriv:
i : integer;
Dobbeltklik på formen, og skriv
i:=120;
Dobbeltklik på timeren og skriv
i:=i-1;
label1.Caption:=IntToStr(i);
Her er hele koden (Delphi6 kode. Guiden KAN bruges under ældre delphier)
Source fra Delphi6:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i : integer;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
i:=i-1;
label1.Caption:=IntToStr(i);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
i:=120;
end;
end.
Forklaring på linier(Hvis du er begynder):
i : integer; --Siger at 'i' er et tal, og at delphi skal behandle det som et.
i:=120; --Forklarer delhpi at 'i' skal være tallet 120
i:=i-1; --Hver gang koden kører, bliver i -'et med 1.
label1.Caption:=IntToStr(i); --Forklarer delphi at Label 1's tekst skal være tallet 'i'. IntToStr laver 'TalTilTekst'!
Håber du kan bruge det.
Daniel