En lille delphi opgave!

Tags:    delphi

Jeg skal lave et program til en projekt opgave, og da jeg lige er startet med at programmere (for 2 uger siden) er jeg ikke så god til det. Det eneste jeg kan finde ud af pt. er at lave interface.

Mit program skal kunne, poppe-up i windows hvert 45. minut (dette skal kunne ændres efter valg). Hver gang der så er gået 45 minutter, skal baggunden i interface ændres. Dvs. at der kommer et nyt billede hver gang.

Jeg har billederne og teksten osv. Kan bare ikke få resten til at virke...

Tænkte på, om der var en der havde lavet noget lignende, eller kunne guide mig - et stykke i den rigtige retning.

Jeg har ikke kunnet finde den bog, det kræver for at lære dette program. Udsolgt eller udlånt alle steder!

På forhånd tak.

/end Laust @ #mulm



6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato

Forstår ikke helt hvad det skal bruges til!

Det ville være lidt lettere hvis man gjord det vær time! For så kan man bare regne med et et tal laves om og ikke 45 som så skal plusses med 45 og giver 1 time og 30 min osv... Vil aldrig rigtigt gå op!




Shafh
Shafh@stofanet.dk
Theis F. Hinz

Behandl nørder godt.
Du ender sandsynligvis
med at arbejde for en

Motto af Bill Gates


Det er faktisk ret nemt.

24 / (45 / 60) = 32, hvilket jeg hellere vil skrive (24 / 45) * 60, da jeg er ret forkuseret på hastigheden ;-)

En smule kode til at forklare min løsning (Image og ChangeImage er bare tiltænkte).
Du skal huske at TTimer skal mindst opdateres hvert kvarter, og at b skal opdateres ligeledes hurtigt (i mit eksempel opdateres TTimer hvert kvarter, hvilket jo gør at b = 3 ved hver opdatering).

Fold kodeboks ind/udKode 


1101110100010110000101000001

[Redigeret d. 01/03-05 17:07:01 af Nicolai Lyster Fersner]



Forstår ikke helt hvad det skal bruges til!

Det ville være lidt lettere hvis man gjord det vær time! For så kan man bare regne med et et tal laves om og ikke 45 som så skal plusses med 45 og giver 1 time og 30 min osv... Vil aldrig rigtigt gå op!




Shafh
Shafh@stofanet.dk
Theis F. Hinz

Behandl nørder godt.
Du ender sandsynligvis
med at arbejde for en

Motto af Bill Gates




Forstår ikke helt hvad det skal bruges til!

Det ville være lidt lettere hvis man gjord det vær time! For så kan man bare regne med et et tal laves om og ikke 45 som så skal plusses med 45 og giver 1 time og 30 min osv... Vil aldrig rigtigt gå op!




Shafh
Shafh@stofanet.dk
Theis F. Hinz

Behandl nørder godt.
Du ender sandsynligvis
med at arbejde for en

Motto af Bill Gates


Det er faktisk ret nemt.

24 / (45 / 60) = 32, hvilket jeg hellere vil skrive (24 / 45) * 60, da jeg er ret forkuseret på hastigheden ;-)

En smule kode til at forklare min løsning (Image og ChangeImage er bare tiltænkte).
Du skal huske at TTimer skal mindst opdateres hvert kvarter, og at b skal opdateres ligeledes hurtigt (i mit eksempel opdateres TTimer hvert kvarter, hvilket jo gør at b = 3 ved hver opdatering).

Fold kodeboks ind/udKode 


1101110100010110000101000001

[Redigeret d. 01/03-05 17:07:01 af Nicolai Lyster Fersner]


/end Laust @ #mulm

Hvad var dette for noget TTimer du snakkede om? Endnu et program, eller noget der er lagret i Delphi?

Nå men, BTW. tak for svaret, er sikker på at jeg vil tage brug af det.

- Nu videre til popup funktionen. Hvordan er det muliged at kreerer sådan? Jeg har rodet lidt med de forskellige knapper, men kunne ikke finde en - uden held desværre.



TTimer er et komponent i Delphi, som du finder under fanebladet System.

Mht. popupfunktionen tror jeg godt at du kan tilføle Form1.Show i din løkke, så det bliver i stil med

procedure TForm1.Timer1Timer(Sender: TObject);
begin
ChangeImage(images[b div 3]);
if (b = 93) // Hvis der er gået en dag
then
b := 0
Form1.Show
else
Inc(b); // Ellers så sæt b et til et kvarter mere
end;


[Redigeret d. 01/03-05 17:36:38 af Benni]



TTimer er et komponent i Delphi, som du finder under fanebladet System.

Mht. popupfunktionen tror jeg godt at du kan tilføle Form1.Show i din løkke, så det bliver i stil med

procedure TForm1.Timer1Timer(Sender: TObject);
begin
ChangeImage(images[b div 3]);
if (b = 93) // Hvis der er gået en dag
then
b := 0
Form1.Show
else
Inc(b); // Ellers så sæt b et til et kvarter mere
end;


[Redigeret d. 01/03-05 17:36:38 af Benni]


Bare lige rette løsningen til det problem helt til, for syns skyld:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
ChangeImage(images[b div 3]);
if (b = 93) // Hvis der er gået en dag
then
begin
b := 0;
Form1.Show;
end
else
Inc(b); // Ellers så sæt b et til et kvarter mere
end;

1101110100010110000101000001



Vil egentlig også gerne lige tilføje en ting mere.

Jeg glemte at nævne, hvis ikke du skulle have gættet det nu, at mit eksempel skifter imellem 1 billede hvert kvarter i løbet af et døgn.
Dette kan jo selvfølgelig ændres til fx at skifte mellem to billeder hver 1½ time eller 128 billeder på 3 dage.

Bare skriv til mig, hvis du skal have den ændret, men ikke lige kan finde ud af hvordan ;-)

1101110100010110000101000001



t