Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: formista formiin vb3

Sivun loppuun

Latska [21.03.2004 17:59:36]

#

Onko mahdollista hyppiä formista formiin vb3:ssa? Jos on, niin miten? Tämä kysymys siksi, koska teen tietokilpailupeliä.

rndprogy [21.03.2004 18:31:24]

#

Avaa uusia formeja niin paljon kuin tarvitset/haluat valikosta 'New form' ja sitten

form2.show   'Näyttää kakkosformin
form2.hide   'piilottaa kakkosformin

ja muuttujat kannattaa laittaa moduleen jotenkin tyyliin

global a as single

Latska [21.03.2004 18:37:56]

#

Jes. Kiitos. Nyt pääsee jatkamaan omaa kyhäelmää.

tuomas [22.03.2004 14:21:12]

#

Muista poistaa muistista myös lataamasi formit kun ohjelma suljetaan.
Eli Formin Unload tapahtumaan
Unload Form2...
Vai onko tuo välttämätöntä?
Ite oon ainakin aina tehny niin.

hunajavohveli [22.03.2004 15:56:18]

#

Unload Form2? Eikö Formi unloadaudu automaattisesti heti kun Unload-sub on loppunut?

Edit: Tai siis, ei kai Form2_Unload-subiin yleensä ohjelma edes hyppää ellei formia suljeta. Koko sub on minun tietääkseni vain sitä varten, että ohjelma pystyy suorittamaan joitain käskyjä silloin, kun formi suljetaan, mutta ei se minusta formin sulkemista varten ole, ainoastaan valvoo sitä.

Ihan samoin kuin vaikka text1_Change ei muuta text1:sen sisältöä vaan ainoastaan valvoo muuttuuko se ja jos muuttuu, VB suorittaa käskyt joita subissa on.

mamaze [22.03.2004 16:13:20]

#

ei mutta siis:

nappaimen/muun_mista_paasee_toiseen_formiin_CLick ()

Form1.hide
Form2.Show

toisen_nappaimen_toisessa_formissa_CLick ()
Form2.Hide
Form1.Show

ja sitten missä lopetatkin end-kohtaan:

unload Form1
unload Form2

eikös sen noin pitäisi toimia. tai siis noin minä saan sen toimimaan

setä [22.03.2004 16:14:31]

#

Kyllä ladatut formit on syytä unloudata ohjelman päättyessä, jos niitä on ladattuna useita. End-käsky myös unloadaa ne ja sulkee mahdolliset avoimet tiedostot.

remontti-reiska [22.03.2004 16:54:26]

#

Teen sen itse näin:

'Formin avaus aikaisemman päälle:
Forminnimi.Show
'Käytettävän formin sulkeminen
Unload me
'Käytettävän formin sulkeminen ja toisen avaaminen
Unload forminimi/me
forminnimi.show

Eli siis:
Unload me: Lopettaa käytettävän formin
End: Tämä taitaa sulkea kaikki mahdolliset formit
.Show Tämä näyttää formin
.Hide Tämä piilottaa formin

Jäiköhän vielä jotain?

Antti Laaksonen [22.03.2004 18:13:30]

#

Jos teet tietokilpailua, niin varmaan kannattaisi toteuttaa kaikki kysymykset samassa formissa. Muuten formeja tulee ajan mittaan hirveä määrä, ja niiden hallinta on vaikeaa. Vai käytätkö formeja johonkin muuhun tarkoitukseen?

Latska [22.03.2004 19:27:51]

#

Antti Laaksonen kirjoitti:

Jos teet tietokilpailua, niin varmaan kannattaisi toteuttaa kaikki kysymykset samassa formissa. Muuten formeja tulee ajan mittaan hirveä määrä, ja niiden hallinta on vaikeaa. Vai käytätkö formeja johonkin muuhun tarkoitukseen?

Joo. Huomasin. formeja on tällä hetkellä kuusi ja jokaisessa yksi kysymys. En käytä formeja mihinkään muuhun kuin pistelaskuun. Miten muuten toteutan kaikki yhdessä ja samassa formissa?

setä [22.03.2004 20:28:20]

#

Laita kysymykset ja vastaukset tiedostoon kryptattuina. Sieltä niitä voi sitten poimia vaikka satunnaisessa järjestyksessä.

Latska [28.03.2004 18:22:45]

#

setä kirjoitti:

Laita kysymykset ja vastaukset tiedostoon kryptattuina. Sieltä niitä voi sitten poimia vaikka satunnaisessa järjestyksessä.

Tä? Edelleen sormi suussa Mitenkäs tää oikein...? Tästä näkee, että olen puhdas amatööri tässä hommassa.
Eli suomeksi: en tajunnut vieläkään.
*Pistää tähän parit hymiöt*

Antti [28.03.2004 22:07:33]

#

Eli laita kysyttävän kysymyksen tila yhteen muuttujaan:

Dim KysyttavaKysymys as Integer
Dim Pisteet as Integer
KysyttäväKysymys=0
Pisteet=0

Sitten tee yksi funktio seuraavasti:

Function LataaKysymys(KymysysNumero as Integer)
Select Case KymysysNumero
Case 0
TekstiBoxiJossaKysymysEsitetään.Text="Mikä minua vaivaa?"
Case 1
TekstiBoxiJossaKysymysEsitetään.Text="Onko pizzassani jotain muka vikana?"
End Case
End Function

Lopuksi Funktio joka tarkistaa kysymyksen tuloksen:
Function TutkiVastaus(Vastaus as String, KysymysNumero as Integer)
Select Case KysymysNumero
Case 0
If Vastaus="Tietämättömyys ohjelmoinnista" Then Pisteet=Pisteet+1
Case 1
If Vastaus="On" Then Pisteet=Pisteet+1
End Select
KysyttavaKysymys=KysyttavaKysymys+1
End Function

Seuraava napista kutsut ensiksi TutkiVastaus ja sitten LataaKysymys funktiota Piste tuloksen voit tallentaa vaikka Labeliin ruudulle...

Latska [28.03.2004 22:13:05]

#

Kiitos. Nyt käsitin. (viimein)
*laittaa lisää hymiöitä*


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta