Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Vaikuttaminen formista toiseen?

Sivun loppuun

Silakka [22.01.2004 17:34:05]

#

Minulla on ongelma. Aloin tehdä "Lihakauppamanageripeliä" VB:llä.
Ensin tulee formi, jossa syötetään oma nimi ja kaupan nimi ja kun painetaan OK se formi menee pois ja tilalle tulee ns. päänäkymäformi jossa pitäisi lukea kaupan nimi ja omistaja. Mutta eipä lue.
Eli siis form1:ssä on tällainen koodi:

static txtnimi as string
static txtkauppanimi as string

On siinä muutakin, mutta koska VB ei tällä hetkellä ole asennettu, en muista mitä siinä luki.
Ja sitten form2:ssa:

lblnimi = txtnimi
lblkauppanimi = txtkauppanimi

Mutta nuo labelit ovat tyhjiä. Mikä on ongelma?

Rozen [22.01.2004 17:39:18]

#

ööh... mä oon ainakii tehny sillee toisesta formista toisee et jos siinä form1:ssä on vaikka nimi.text ja sitte ku tulee form2 nii vaikka form_load juttuu pistää että lblnimi.caption = form1.nimi.text

Minä [22.01.2004 18:30:15]

#

tajusinkohan nyt ihan oikein? :D

esimerkiksi
lblnimi.caption = txtnimi (olettaen että lblnimi on perinteinen label)

ja jos viittaat esim. form kakkosesta form1:den labeliin sun täytyy käyttää:
form1.lblnimi.caption = txtnimi

Edit: asia virheitä

Antti Laaksonen [22.01.2004 18:50:56]

#

Muuttujien siirtämiseen formien välillä on useita tapoja. Eräs tapa on määritellä formin alussa muuttujia Public-lauseella, jolloin niiden arvoa voi muuttaa kaikista ohjelman osista. Kirjoita siis ensimmäisen formin alkuun:

'formin nimi on Form1
Public nimi As String, kauppanimi As String

Muuttujien määrittely formissa tapahtuu tavalliseen tapaan:

nimi = "Antti"
kauppanimi = "Antin kirja ja paperi"

Toisesta formista muuttujien arvoon pääsee käsiksi näin:

MsgBox "Pelaajan nimi " & Form1.nimi
MsgBox "Kaupan nimi " & Form1.kauppanimi

Silakka [22.01.2004 20:20:05]

#

Okei, siis mun pitää muuttaa static publiciin. Tesmataan..

Silakka [22.01.2004 20:34:12]

#

Ei toimi.
Vika on form1:ssä. Kun laitan ohjelman käyntiin, kirjoitan nimet ja painan OK:ta, niin tulee "compile error: invalid attribute in Sub or function"
ja se keltanen juttu on Public sanan kohdalla. hmph...

Silakka [22.01.2004 20:36:18]

#

No nyt sain toimimaan. Vaihdoin Publicin Staticiin.

Antti Laaksonen [23.01.2004 16:30:40]

#

Public-määrittely toimii kyllä ihan hyvin, kunhan kirjoitat sen ohjelman alkuun etkä aliohjelman tai funktion sisään. Valitse koodieditorissa oikeanpuoleisesta listasta (General), ja kirjoita määrittely sinne.


Sivun alkuun

Vastaus

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

Tietoa sivustosta