Visual Basic 2008 Von Form zu Form übertragen.

Willy Fog

Mitglied
Hallo Experten !

Ich habe schon viele Bekannte und Verwandte gefragt, die sich so ein bisschen auskennen.
Aber alle verstehen nicht, was ich von denen will. Du erklärst den das, und die schauen dich an wie ein Auto, nur nicht so schnell.

Dabei möchte ich gerne einen Zahlenwert von Form1, in Form2 bearbeiten können, um den Wert dann in Form3, dient lediglich zum Anzeigen der Labels und was man Besitzt usw.

Beispiel :

In Form1 Habe ich ein Grundstück.
In Form2 Sind Blumensamen, ohne denen ich keine Blumen pflanzen kann.
Wenn ich in Form2 Blumensamen gekauft habe, kann ich erst in Form1 eine Blume pflanzen.
Die Blumensamen sollen dann im Form3 (Lager) auftauchen. Die Blumen kann man sobald sie ausgewachsen sind Ernten oder einfach stehen lassen. Die Blumen sollen auch beim ernten in Form3 (Lager) auftauchen.

Sobald man genügend Geld oder ein bestimmtes Level erreicht hat, kann man dann Tiere oder schönere und Speziellere Blumen kaufen.

Alles was ich wissen muß, ist, wie kann man eine Zahl in Form 2 mit " rüber " nehmen, wo es dann auch für alle anderen Forms, (und es würden noch sehr, sehr viele hinzukommen ;-D )
zu greifbar / veränderbar wäre.

A) Jetzt ohne Schei**, ich zu meinem Cousin, Mister ich weiß sowieso alles besser Typ hin, und sag zu dem:

Wie kann ich in Form1 den ich mit einem Button und einem Label belegt habe, einen Wert zu Form2 schicken, der dann im Form2.Label1.Text auftaucht, mit meinem Form2.Button1 verändern, und diese Veränderung Zeitgleich in Form1 verändert wird. Wie mach ich das ?

Mund auf, Augen weit auf...

Zu meinem Projekt, Ich möchte für mehrere Form's, jeweils eine Blume erstellen.
(Kann man auch anders machen, Ein Form mehrere Blumen) Ich will das sogar zum Schluss so machen, das jedes Blumen-Form jede Blume Pflanzen kann. Dazu muß ich aber wissen, wie man:
Von allen Form's, auf mehrere Werte, die nur Zahlen sind, zugreifen kann, so wie in A) beschrieben.

Bitte demütigst um Eure Hilfe. :(
 

Anhänge

  • FormzuForm.jpg
    FormzuForm.jpg
    14,9 KB · Aufrufe: 21
Hi

Ist aber nicht wirklich ein Tutorial, oder? Die Inbox dient zum Vorschlagen von Artikel/Tutorials. Fragen bitte im Forum stellen
(verschoben)
 
K, ich bin grad vom Training zurück und habe deinen Text nur überflogen.
Ich bezieh mich jetzt mal nicht auf die Blumen sondern ganz einfach auf vorgehensweisen wie du Werte weitergeben könntest.

Zuerst FormA hält Daten die an FormB sollen.
Da wäre das das einfachste dem Constructor dies als Parameter mit zugeben.

Hab mal kurz gegoogelt unter VB müsste der Std. Construct wie folgt aus sehe

Code:
Public Sub New()
   ...'
End Sub

Parameter kannst du ihm nun wie folgt geben
Code:
Public Sub New(ByVal value As Integer)
   ...'
End Sub

In diesem Fall übergebe ich meinem Formular einen Integerwert.

Code:
Dim dlg As New FormB(10)

Das sollte erstmal reichen, spiel damit rum und schau das du den übergebenen Wert weiter verarbeiten kannst.
 
Danke für die schnelle Antwort (^-_^!)

Also müßte ich das denn so schreiben, meine Werte, habe ich dann auch gleich genommen:


Code:
FormA :

Public Sub Werteweitergeben(ByVal value As Integer)
Dim Muenzen As New FormB(10) 
Dim Blumensamen As New FormB(1) 
Dim BlumeA As New FormB(0) 
End Sub

Mhmm:confused:... Aber wie bekomme ich denn den neuen Wert von FormB wieder wieder zu FormA.
Oder wenn Du möchtest, kann ich mir das auch selbst nachschlagen. :)
Wo bei Google hast Du's denn gefunden?
 
Das war nicht direkt auf deine Frage bezogen, ich hab mehr wegen der Syntax gegoogelt.
Hast du dich schon mit Eigenschaften beschäftigt?
Du könntest in FormB Eigenscahften bereitstellen die du in Forma abfragst.
 
Nee, ich denke abfragen wäre zu wenig.

Denn ich habe ja vor in FormA einen Level zu erreichen, der dann FormB freischaltet.
In FormB will ich dann eine neue Blumenart anbauen, die besser und schöner Aussieht wie zum Beispiel Orchideen. Die in meinem Lager anzuzeigen ist auch nur halb so wild.

Bis hier hat es nichts mit meiner Frage zu tun.

Aber jetzt kommts. Ich will die Orchidee ja verkaufen! Und da brauche ich Deine Hilfe.
Denn ich muß ja dem Geld von FormB 200€, FormA hinzufügen.
Also wie kann ich FormA.muenzen in FormB 200€ hinzufügen?

Wenn ich das weiß, kann ich auch einen eigenen Shop im Spiel anbauen.
Denn zur Zeit hängt der rechts neben der Tulpe. Sieht nicht so toll aus :(
 
hi,
also ich hab das jetzt auch mal überflogen...
erst mal möchte ich dazu sagen ich bin noch ziemlich neu in vb aber du könntest es so probieren:
du hast eine formA und FormB (Wenn schon alle diese namen benutzen :) ).
jetzt hast du sagen wir mal 100 euro auf der formA und möchtest 10 euro auf die FormB übertragen.
Dafür gibt es eigentlich viele möglichkeiten. Du könntest in der FormA die Methode mit rein nehmen, in FormB oder ein neues Module anlegen in das du die Methode schreibst.
Mal als beispiel: Wenn du die Methode in FormA rein schreibst:
du brauchst in der FormA dann ein Objekt von der FormB:
Dim b As FormB

dann hast du eine Mehtode die die FormB als PaRameter mit bekommt

Public Sub überweisen(byRef formB As FormB)
b = formB
b.guthabenErhoehen(10)
guthabenSenken(10)

End Sub

die Mehtode guthabenSenken (diese Methiode steht ebenfals in FormA) sieht dann so ähnlich aus:

guthabenSenken(ByRef wert As Integer)

guthaben = guthaben - wert

End Sub

und die Mehtode guthabenErhoehen (diese Methode steht in der FormB) sieht so ähnlich aus:

guthabenErhoehen(ByRef wert As Integer)

guthaben = guthaben + wert

End Sub

somit hast du jetzt 10€ guthaben von FormA nach FormB "überwiesen".

Hoffe ich hab dich richtig verstanden und du meintest sowas in die art...
 
Ja, ja ziemlich neu in vb ?
Dafür haust Du aber ganz tolle Sachen raus! :)

Es ist zwar anders rum von FormB zu FormA, aber das ist ja gehüpft wie gesprungen.
Ob ich jetzt von A nach B überweise oder anders rum :)

Ich werde ersteinmal ein ganz neues Projekt schreiben, damit ich immer ein Beispiel habe und wenn ich es geschafft habe und es auch noch klappt, schreibe ich natürlich Euch und Poste es als super geiles Beispiel hier ins Forum.

Danke erstmal, hoffentlich bis bald (^-_^!)
 
Halt, stop, mir ist da was aufgefallen...
Wenn ich jetzt statt den beiden 10nern,
also:

b.guthabenErhoehen(10)
guthabenSenken(10)

b.guthabenErhoehen(muenzen)
guthabenSenken(muenzen)

einsetze, müßte er doch in beiden Richtungen
+ und - nehmen können. Jedenfalls bis der Wert muenzen verbraucht ist oder ****?
 
bin mir jetzt nicht sicher ob ich dich richtig verstanden habe aber glaube das stimmt so nicht.
ich würde dir eh empfehlen nicht eine zahl in die klammern zu schreiben sondern wie du schon in deinem letzten beispiel eine variable die du beliebig verändern kannst(weil du ja sonst immer nur den wert um 10 ändern könntest).

du willst also beliebig von FormA nach FormB und von FormB nach FormA geld oder Münzen "überweisen" oder?
wenn ja dann kannst du ja in beide Forms beide Mehtoden rein nehmen:

guthabenSenken(ByRef wert As Integer)

guthaben = guthaben - wert

End Sub



guthabenErhoehen(ByRef wert As Integer)

guthaben = guthaben + wert

End Sub

Und je nach dem ob du von a nach b überweisen willst, rufst du die überweisen-Methode dementsprechend auf.

Von a nach b:
Public Sub überweisen(byRef formB As FormB, ByRef wert As Integer)
b = formB
b.guthabenErhoehen(wert)
guthabenSenken(wert)

End Sub

und von b nach a:

Public Sub überweisen(byRef formB As FormB, ByRef wert As Integer)
b = formB
guthabenErhoehen(wert)
b.guthabenSenken(wert)

End Sub
 

Neue Beiträge

Zurück