teen peliä Delphillä ja ois hyvä tietää millä sella komennolla Delphissä siirytään toiseen formiin , ja toiseksi miten mä onnistun tekemään raha mittarin ?
1: Riippuu vähän siitä, että pitääkö se toinen lomake (johon siirrytään) sulkea ennen kuin voidaan palata takaisin alkuperäiseen lomaakkeeseen...
// Uses-kohtaan pistetään sen unitin nimi jossa toinen form on, jos // se ei ole samassa unitissa uses Unit2 ... TOISEN_FORMIN_NIMI.ShowModal; // Tämä, jos niin kuin yllä selitin TOISEN_FORMIN_NIMI.Show; // Tämä, jos ei
Toiseen kysymykseen on useampiakin vastauksia, riippuu sitä millaisen haluat ja myös vähän siitä mitä Delphin versiota (ja Windowsia) käytät. Rahamittari voi tarkoittaa aika montaa asiaa. Jos tarvitset sellaisen missä näkyy ikäänkuin prosentuaalinen osuus täydestä, voisit käyttää komponenttia nimeltä TProgressBar. Tietysti voisit myös piirtää suoraan TCanvas :ksen kautta... Selittäppä tarkemmin.
edit: poistin ylimääräisen /koodi-tagin ja korjasin kirjoitusvirheen
siihen formiin pitäs siirtyä napin painallukselta ja ainoastaan yksi formi auki kerrallaan
ja se raha mittarin pitäs olla semmonen että kun ostaa jotain
nin siitä sitten vähene sitten raha ja kun voittaa jotain nin rahaa tulee lisää
No nyt se avaa uuen formin !! Jee !!
Olettaen että "ostaminen" tapahtuu painonapista ja rahamäärä näkyy Label:ssa, sinun tulee laittaa sen napin OnClick()-proseduuriin rivi, joka vähentää sitä rahamäärä-muuttujaa, ja asettaa Label:iin sen muuttujan uuden arvon.
Eli vaikka näin:
// alussa: var Rahamaara: Integer = 1; ... procedure TForm1.Button1Click(Sender: TObject); begin Dec(Rahamaara); // Vähennetään rahamäärää, jos haluat kasvattaa // muuttujaa, käytä Inc-funktiota samalla tavalla Label1.Caption := IntToStr(Rahamaara); // asetetaan uusi arvo // Label1:iin end;
Toivottavasti ymmärsit :)
joo !!
yritän huomenna pitää nukkua !!
no kokeilimpa sittenkin .
SE TOIMII !!!!!
in english
IT WORKS !!!!!
mutta miten sitä vähennettävää/lisättäävää voi muuttaa ?
lainaus:
mutta miten sitä vähennettävää/lisättäävää voi muuttaa ?
Mitä tarkotat? Tuossa koodissahan minä sen jo näytin :D
Vai tarkoitatko muuttujaan sijoittamista, joka tapahtuu näin:
Rahamaara := 10;
Mutta jos et tuota tiennut niin suosittelen jonkin kirjan hankkimista.
Jos tarkoitat sitä että haluat kasvattaa kerralla vaikka Rahamaaraa 500:lla voisit tehdä for-kierteen:
TForm1.Button1Click(Sender: TObject); var counter: Integer; begin // lisätään viidelläsadalla for i := 1 to 500 do begin Inc(Rahamaara); end; end;
EI, ÄLÄ TEE SITÄ NOIN!!! Tuo oli pelkkä vitsi, sen voi tehdä seuraavasti:
Inc(Rahamaara,500);
TAI
Rahamaara := Rahamaara + 500;
kyllä mulla kirja on mutta kunse on vuodelta 1994 delphi
1selle ja kakkoselle
Voisko joku joka tietää kertoa miten se formista formiin siirtyminen tapahtuu
joo käytä tätä
war
inc(mahamäärä)
OOUPS
virhe
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = mossu(TForm) mässy { nalle declarations } kloklo { kaniini declarations } kill; war Form1: TForm1; inc (kuramäärä unix (water on märk) ixxa (sulta tuli kakka) label (surffi) smurffi paita label elext (kysymys on kauaanko elät) implementation {$R *.DFM} kill.
lainaus:
Voisko joku joka tietää kertoa miten se formista formiin siirtyminen tapahtuu
No eikö toi mun ehdotus toimi?
edit: lisätty lainaus selventämään.
Otetaas tuo mun esimerkki selvemmin
Kun painaa nappi Button1 Form1 :llä, piilotetaan Form1 ja näytetään Form2. Kun Form2 on suljettu, näytetään Form1.
procedure TForm1.Button1Click(Sender: TObject); begin Visible := False; Form2.ShowModal; Visible := True; end;
ei toikaan oikein toimi sen pitäs mennä niin että
kun painetaan esim.painetaan Button1 form1 sitten suljetaan
form1 ja tilalle tulee form2 ja kun form2 painetaan
Button1 suljetaan form2 ja tilalle tulee form3 ja niin
edelleen
hupsista väärä tyyppi unohdin logata ulos ...
siis mun piti sanoa toi
No mainformia ei pysty varsinaisesti sulkemaan, sillä silloin loppuu ohjelma. Mutta, leikitään nyt että Form1 EI ole mainform. Jos se on, niin täytyisi käyttää edellistä esimerkkiäni.
// Form1:een procedure TForm1.Button1Click(Sender: TObject); begin Form2.Show; Close; end;
// Form2:een procedure TForm2.Button1Click(Sender: TObject); begin Form3.Show; Close; end;
Ja niin eteenpäin
onkohan c++ sama hommeli
lainaus:
No mainformia ei pysty varsinaisesti sulkemaan, sillä silloin loppuu ohjelma. Mutta, leikitään nyt että Form1 EI ole mainform. Jos se on, niin täytyisi käyttää edellistä esimerkkiäni.
// Form1:een procedure TForm1.Button1Click(Sender: TObject); begin Form2.Show; Close; end;// Form2:een procedure TForm2.Button1Click(Sender: TObject); begin Form3.Show; Close; end;Ja niin eteenpäin
lainaus:
kyllä mulla kirja on mutta kunse on vuodelta 1994 delphi
1selle ja kakkoselle
Sehän on Windows 3.1:n aikaa :D
lainaus:
lainaus:
kyllä mulla kirja on mutta kunse on vuodelta 1994 delphi
1selle ja kakkoselleSehän on Windows 3.1:n aikaa :D
Totta kaikki kuvat on win 3.1 ja deldhi 1
Aihe on jo aika vanha, joten et voi enää vastata siihen.