Zahlen anders ausgeben

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von kevin0609.

    Zahlen anders ausgeben

    Hallo und zwar hab ich so ein minen spiel. da haben ich oben eine MenuStrip da ist eine ToolStripTextBox drin (ToolStripTextBox1.text = zahl1) das ist die anzeige wieviel geld ich habe. dann hab ich ein aufzug da ist ein label drin (label2.text = zahl2) und dann noch die minen da sind auch jefalls ein label drin. so der aufzug fährt jetzt runder und hält in jeder mine an und sammelt das geld in der mine ein. und wenn er unten angekommen ist fährt er wieder hoch und lädt aus. und dann wieder von vorne. so jetzt meine frage. wenn das spiel jetzt immer weiter läuft habe ich ja oben irgendwann in label1 eine sau lange zahl z.B. 999.999.999 das möchte ich ja nicht. ich möchte das dann mit buchstaben haben.

    z.B. so soll das dann sein die ausgabe.

    100 = 100
    1000 = 1 T
    1000000 = 1 M
    1000000000 = 1 B

    Im hintergrund soll er ja natürlich so weiter mit den großen zahlen rechen.

    habe das spiel nochmal dran gehangen. Falls jemand nicht ganz weiß was ich meine

    ich hoffe mir kann jemand helfen.

    Visual Basic-Quellcode

    Dateien
    • spiel.zip

      (235,24 kB, 111 mal heruntergeladen, zuletzt: )
    bevor du iwas anneres machst, solltest du erstmal dein Projekt und dein VisualStuido so einrichten, dass vb.net bei dir eine OOP-Sprache ist.
    Hier die Anleitung:
    Visual Studio - Empfohlene Einstellungen
    Ohne diese Einstellungen wird es dir schwer fallen, verschiedene Datentypen zu unterscheiden, aber das ist zum Proggen unerlässlich.

    ZB scheint mir, du suchst nach einer Methode, der du einen Long übergeben kannst, und die dir einen String dafür zurückgibt.
    Aber weiter gehe ich nicht ins Detail, mit o.g. Einstellungen hast du erstmal noch alle Hände voll zu tun.
    ToolStripTextBox1
    label1
    zahl1
    label2
    zahl2

    Ergänzend zum Post vom @ErfinderDesRades, noch der Zusatz:
    Benenne deine Controls sauber. Die sind wie Kinder. Und dein Kind nennst du ja auch nicht Kind1, Kind2 etc.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Willkommen im Forum. :thumbup:

    kevin0609 schrieb:

    z.B. so soll das dann sein die ausgabe.
    Wewlche Zahl würde sich denn dann hinter dieser Ausgabe verbergen: BBMMTT00 :?: Oder wäre das 2B2N2T00 :?:
    Willst Du die römischen Zahlen neu erfinden?
    Fang an mit Option Strict On und dann mit einer präzisen Aufgabenstellung / Problembeschreibung.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich hab es jetzt Herausgefunden wie ich werde es jetzt so machen wie das beispiel hier

    VB.NET-Quellcode

    1. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    2. If zahl1 >= 1 And zahl1 < 1000 Then
    3. Label1.Text = zahl1.ToString
    4. ElseIf zahl1 > 999 And zahl1 < 10000 Then
    5. Label1.Text = (Mid(zahl1.ToString, 1, 1) + "T")
    6. ElseIf zahl1 > 9999 And zahl1 < 100000 Then
    7. Label1.Text = (Mid(zahl1.ToString, 1, 2) + "T")
    8. End If
    9. Label2.Text = zahl1.ToString
    10. End Sub​
    @kevin0609 Was hat das mit nem Timer zu tun?
    Mach das da, wo die Variable zahl1 verändert wird.
    ====
    Und von einer präzisen Aufgabenstellung / Problembeschreibung hältst Du wohl nix?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Der Timer macht ja nur die abfrage und gibt die zahl dann so aus. das ist ja nur ein beispiel
    Es funktioniert auch ganz gut. Und habe das oben den code jetzt auch in ein modul als function geschrieben. damit ich das nicht immer wiederholen muss. hiermit ist meine frage beantwortet und der thread kann geschlossen werden. danke
    @VB1963 Ich denke mal, @kevin0609 hat nicht begriffen, was da gemeint ist.
    Er hat ja auch auf unsere Argumente und Fragen nicht reagiert.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!