Olis pari ongelmaa, eli kuinka saisin formille timerin, joka näkyisi sekunteina ja kulkis kohti nollaa. Ja kai sen pitäis antaa true tai vastaavaa kun on nollassa.
Toinen juttu olis se, että kun buttonia painetaan moneen kertaan, niin milläs sais painalluksien lukumäärän integer-muuttujaan.
Kiitän!
Toinen juttu olis se, että kun buttonia painetaan moneen kertaan, niin milläs sais painalluksien lukumäärän integer-muuttujaan.
Kiitän!
Vastaukset 4
Vanhimmat
Tosta timeristä en osaa sanoa mitään, kun en
ohjelmoi C/C :lla,mutta eikös Ansi C/C :aan
kuulu joku atoi() funktio, joka palauttaa intin
merkkijonosta ja char taulukosta.
Builerissa on muistaakseni komennot IntToString StringToInt...
tosin muissa c kääntäjässä taitaa olla atoi ja itoa....mistähän lie lyhennetty :)
Teeppä siihen joku staattinen muuttuja
vaikka "painettu" ja aina kun nappia painetaan
laitat tapahtuman alkuun "painettu ". siihen
malliin...
Tämä vähentää sekunnin välein luvusta 1 ja
kirjoitaa tuloksen Label1:een.
Vedät vain lomakkeelle system-komponenteista
Timerin, laitat Intervalliksi 1000 ja klikkaat
sitä ainoaa näkyvää event-valintaa saadaksesi
void __fastcall... -funtion. Globaali muuttuja
int aika tulee funktioiden ulkopuolelle ja
timerin eventin funktioon kirjoitat sen, mitä
haluat tapahtuvaksi valitun intervallin välein.
int aika=999;
void __fastcall TForm1::Timer1Timer(TObject
*Sender)
{
String saika;
aika--;
if(aika > 0) {
saika = IntToStr(aika); // pitää olla string
}
else {
Teejotain();
}
Label1->Caption = aika;
}
Aika on sekunneissa, mutta sen voi tiegtysti
muuntaa tunneiksi ja minuuteiksi jakolaskuilla.
Teejotain() joku kirjoittamasi funktio, joka
tekee jotain.
Buttonissa on onclick-event, johon voi tehdä
vastaavalla tyylillä laskurin. Eikun tutkimaan ja
kokeilemaan mukana tulleita esimerkkejä.