[GELÖST] subtrahieren in einer Textbox oder so...

  • VB.NET

Es gibt 43 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    [GELÖST] subtrahieren in einer Textbox oder so...

    Sorry habe keinen passenden Titel Gefunden :/
    Bin ich hier richtig?

    Hallo Comyunity,
    Ich bin nicht nur neu hier sondern auch bei vb.net.
    Ich arbeite gerade an einem (meher oder weniger) Spiel.
    Jetzt habe ich eine Textbox in Form1 : TextBox 6
    In der eine Zahl steht (in dem Falle eine Währung).
    Jetzt möchte ich das wenn ich in der Form "Shop" einen Button drücke dass dann in der TextBox 6 ( die ja in Form1 ist und NICHT in in der Form "Shop") eine Bestimmte zahl zb. 5 Abgezogen wird
    Ich habe gedacht mit Globalen Varialblen sollte es gehen aber Kp wie das geht!
    Kann mir jemand vlt. einen Sourcecode schicken ??
    Danke !
    MfG
    Jonny :thumbsup: :thumbsup: :thumbsup:

    Die Farbe "Rot" ist der Moderation vorbehalten. Farbe entfernt. ~Thunderbolt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()

    Hallo zusammen,

    Vllt kann dir das hier weiter helfen.
    Hoffe ich hab deine Aufgabenstellung verstanden =)

    Form1 (z.b.)

    VB.NET-Quellcode

    1. ublic Class Form1
    2. Private Sub btnKaufen_Click(sender As Object, e As EventArgs) Handles btnKaufen.Click
    3. Form2.meingold -= 5 'rechne was (hier -5 vom aktuellen geld)
    4. Form2.lblMeinGold.Text = Form2.meingold.ToString
    5. Form2.Show()
    6. End Sub
    7. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    8. Form2.meingold = 50 'gibt dir 50 geld
    9. End Sub
    10. End Class

    (Form 1 muss also ein Knopf (btnKaufen) haben)

    Form2 (dein Status oder so was)

    VB.NET-Quellcode

    1. Public Class Form2
    2. Public meingold As Integer
    3. End Class​


    Auf dieser Form muss neben einer Public Variabel, auch ein Label (oder ähnliches sein). Diese 2 Sachen werden dann von der ersten Form aus gesteuert.


    Ich kann dir raten erst einmal kleinere Projekte zu erstellen. Hab selbst mal versucht so ein kleines Spiel zuschreiben- Frustete aber später nur noch XD)


    Schönen Tag noch.

    Ray
    Moin,

    @Gesuchter und @Rayst Das ist beides nicht richtig. Gesuchter, Du solltest Option Strict On anschalten, Strings sind keine Integer und Ihr beide solltet euch das mal durchlesen: Instanziierung von Forms und Aufruf von Dialogen - WinForms - VB ...
    Alles andere ist VB6-Kompatiblitäts-Unsinn, denn Klassen sind keine Objekte und ohne Instanzen kann man da nicht arbeiten.

    Außerdem sollten Variablen privat sein, für genau sowas gibt es Properties.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Instanziierung von Forms und Aufruf von Dialogen - WinForms - VB ...Alles andere ist VB6-Kompatiblitäts-Unsinn, denn Klassen sind keine Objekte und ohne Instanzen kann man da nicht arbeiten.Außerdem sollten Variablen privat sein, für genau sowas gibt es Properties.


    Jau das ist ja alles nicht schlecht. nur ist es schwer als VB Neuling da durchzusteigen.
    Man sollte klein anfangen und später dann so was wie Instanziierung lernen (nur nicht allzu spät =))
    PS Alles nur meine Meinung ^^
    Das stimmt, ohne Instanziierung, was zu den absoluten Grundlagen gehört, geht nichts beim Programmieren.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Trade“ ()

    Hey Comuntity,
    danke für die ganzen antworten.
    Ich hab mich jetzt mal schlau gemacht und dashier entdeckt:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. ' blabla
    3. Form1.TextBox6.Text = Str$(Val(Form1.TextBox6.Text) - 2)
    4. ' blabla
    5. End Sub



    Das geht auch ganz gut aber wenn jetzt den Button drücke und ich NICHT 2 Währung habe (Also in der TextBox nix steht [oder eben 1 oder -1 usw.] dann steht in der

    VB.NET-Quellcode

    1. Form1.TextBox6

    -2
    Wie kann ich das jetzt machen dass erst geprüft wird ob in der textbox 2 oder höher steht und erst dann
    das ausgeführt wird:

    VB.NET-Quellcode

    1. Form1.TextBox6.Text = Str$(Val(Form1.TextBox6.Text) - 2)

    Also so etwas:

    VB.NET-Quellcode

    1. If Form1.TextBox1 Contains 2 oder höher Then Tuhe das...
    2. Else
    3. End if

    Hoffe das ihr versteht was ich meine :)
    MfG
    Jonny :thumbsup: :thumbsup: :thumbsup:
    Öhm, vergiss das lieber mal ganz schnell wieder...
    subtrahieren in einer Textbox oder so...

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Dass man in einem Codesnippet so viele Fehler haben kann? Nun gut. Auf jedenfall hau mal Den Konvertierungsmüll da raus. Dann würde ich mit globalen Integers oder Doubles rechnen. Dann benutze zum Konvertieren die Parse-Methoden der Datentypen sprich Integer.Parse(). Oder zumindest die Convert-Klasse. Dann folge umbedingt dem Link von Trade, denn "Form1" ist garantiert keine Instanzierung.

    Lg
    Klar ist das Code, was sonst? Wenn das nur ein Ausschnitt ist, dann musst Du da viel verbessern.
    subtrahieren in einer Textbox oder so... + den Post danach lesen und dann machen.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Jonnyb170 schrieb:

    Wo ist deinermeinung nach der Fehler

    1. Falsch! Siehe Link von Trade für erklärung

    Jonnyb170 schrieb:

    Str$(Val(Form1.TextBox6.Text) - 2)


    2.Falsch!
    Contains wird nicht in verbindung mit Zahlen verwendet hier wären vergleichsoperatoren die "Waffe" der wahl (also < oder > oder = oder >= oder <=)

    Jonnyb170 schrieb:

    If Form1.TextBox1 Contains 2 oder höher Then Tuhe das...
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."

    mox schrieb:

    im gegensatz zu c# kannst du bei vb auch auf controls zugreifen die auf anderen form liegen.

    Nein, das ist eben genau der Unsinn. (Siehe Instanziierung von Forms)

    Jonnyb170 schrieb:

    das ich gerne eine Erklärung hätte!

    Hast Du doch bekommen?

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Besser als das Tutorial geht das nicht. Wenn Du das nicht verstehst, ist das alles wenig sinnvoll und Du solltest Dir z. B. das kostenlose Entwicklerbuch von Klaus Löffelmann anschaffen, um die Grundlagen der Programmierung zu lernen.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: