Hjælp mig Venligst (Delphi 7)

Tags:    delphi

<< < 12 > >>
Hej, jeg har et projekt i skolen hvor jeg i Delphi 7 skal lave noget så "simpelt" som et lydkryds - eller det ville det nok være hvis det var sådan jeg ku finde ud af det.

Det jeg skal have er en kode under en Timer som skifter mellem en række billeder...

here goes:

jeg har 7 billeder.

når jeg trykker på knappen for programstart, bare en alm. bottom. så skal timeren være indstillet til at Skifte mellem de 7 billeder, så billede 1 - 2 - 3 - 4 er der i 5 sekunder, billede 5 - 6 - 7 er der i 7 sekunder ... og så om igen, i uendelighed...

hvordan skal den kode se ud?

på forhånd tak.



12 svar postet i denne tråd vises herunder
5 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Hej, jeg har et projekt i skolen hvor jeg i Delphi 7 skal lave noget så "simpelt" som et lydkryds - eller det ville det nok være hvis det var sådan jeg ku finde ud af det.

Det jeg skal have er en kode under en Timer som skifter mellem en række billeder...

here goes:

jeg har 7 billeder.

når jeg trykker på knappen for programstart, bare en alm. bottom. så skal timeren være indstillet til at Skifte mellem de 7 billeder, så billede 1 - 2 - 3 - 4 er der i 5 sekunder, billede 5 - 6 - 7 er der i 7 sekunder ... og så om igen, i uendelighed...

hvordan skal den kode se ud?

på forhånd tak.


Kan du ikke bare lave en uendelig løkke? og så putte nogle sleep()'s ind prøv:

for i := 0 to i+1 do beign

//nogetkode
sleep(7000)
//noget kode
end;


ved ikke om det vil virke..
- SpeC - #SpeC.DK @ Q-NET



hehe, det er det jeg spørger om =) jeg fatter ikke det helt store af Delphi..

lige PT har jeg bare under min timer:

procedure TForm1.Timer1Timer(Sender: TObject);
begin

end;

end.

... altså ikke rigtig noget endnu.

hvad jeg gerne vil vide er hvad der skal stå under Begin. og om der skal angives nogle Var funktioner.

jeg kan huske at der skal skrives noget med
"BringToFront".

men som sagt... ret lost.

[Redigeret d. 09/02-04 19:32:52 af Adam]


hvis du vil bruge "BringToFront" skal du bare skrive:

procedure TForm1.Timer1Timer(Sender: TObject);
begin

billed1.BringtoFront;// bringer billed1 frem
sleep(5000); //pause i 5 sekunder
billed2.BringtoFront;// bringer billed2 frem
sleep(5000);//pause i 5 sekunder
billed3.BringtoFront;// bringer billed3 frem
sleep(5000);//pause i 5 sekunder
billed4.BringtoFront;// bringer billed4 frem
sleep(5000);//pause i 5 sekunder
billed5.BringtoFront;// bringer billed5 frem
sleep(7000);//pause i 7 sekunder
billed6.BringtoFront;// bringer billed6 frem
sleep(7000);//pause i 7 sekunder
billed7.BringtoFront;// bringer billed7 frem
sleep(7000);//pause i 7 sekunder

end;

Husk lige at ændre billed1-7 med navnet på dit image
fx. billed1 = image1

håber du forstår det burde virke
kan ikke lige test det da min delphi ikke virker.





Ganske enkelt:

Sæt timerens enabled funktion i object inspecteren til true.
eller skriv dette i formen on creat:

Begin
timer1.enabled := false;
end;

Bagefter skal du få din button til at gøre timeren's enabled funktion tilbage til true.
Det gør du med at skrive dette i buttonens OnClick:

Begin
timer1.enabled := true;
end;

jeg ved det virker da jeg bruger denne kode vær eneste dag.



Håper dette er til hjelp:
Fold kodeboks ind/udKode 


DiZpel



Håper dette er til hjelp:
(snip - en masse kode)
DiZpel


Det kan skrives lidt kortere (og antager at billederne hedder billede1.bmp, billede2.bmp osv.):

/data

Fold kodeboks ind/udKode 




hehe, det er det jeg spørger om =) jeg fatter ikke det helt store af Delphi..

lige PT har jeg bare under min timer:

procedure TForm1.Timer1Timer(Sender: TObject);
begin

end;

end.

... altså ikke rigtig noget endnu.

hvad jeg gerne vil vide er hvad der skal stå under Begin. og om der skal angives nogle Var funktioner.

jeg kan huske at der skal skrives noget med
"BringToFront".

men som sagt... ret lost.

[Redigeret d. 09/02-04 19:32:52 af Adam]



Tak, det ligner noget af det jeg kan huske.

næste lille problem, er så at den "bottom" jeg skal trykke på for at sætte selve programmet igang.

den "bottom" ligger ved siden af timeren, og skulle ved tryk på "run Program" gerne få timeren til at køre - altså programmet til at køre når jeg trykker på den.

indtil videre har jeg prøvet med noget der ser sådan her ud:


begin
Enable timer;=true
end;

.. det virker ikke nej, navnet på timeren er bare Timer1.
hvad skal der stå?

Jeg har sat "under selve timeren" Enable = False.. for først at tænde den når der trykkes på knappen


[Redigeret d. 09/02-04 20:47:19 af Adam]



Håber det fungere.



Vis du´kan bruge svarne, så del da up'ne ud...



Lige en rettelse.

Alle "(i mod 7)+1" kan erstattes med "i", da i nulstilles når den når 8. Det var noget jeg tilføjede senere, så programmet ikke lavede overløb på et tidspunkt, når i nåede maxint. Jeg fik ikke lige rettet i mod 7 +1, beklager.

/data



<< < 12 > >>
t