Berechnung mit TextBox statt ValueBox

Alle Fragen zur Programmierung, die nicht in die speziellen Themen passen
besenmuckel
Foriker
Beiträge: 81
Registriert: Di 4. Nov 2014, 21:11
Kontaktdaten:

Re: Berechnung mit TextBox statt ValueBox

Beitrag von besenmuckel » Di 20. Feb 2018, 02:45

Du musst den Text in den TextBoxen erst umwandeln in Zahl(Float), sonst kann er nicht rechnen. Ist aber in den vorangegangen Antworten schon drin.
Diese Zeilen ersetzen
a = TextBox1.Text 'Kantenlänge a
u = TextBox2.Text 'Umfang u
durch diese Zeilen ersetzen

Code: Alles auswählen

  a = CFloat(Val(TextBox1.Text)) 'Kantenlänge a
  u = CFloat(Val(TextBox2.Text)) 'Umfang u
Besser wäre es wenn du hier das Quellpaket mit postest.
Von Float zurück auf Text, z. B. so

Code: Alles auswählen

TextBoxErgebnis.Text = CStr(in der Klammer kommt deine Float-Variable rein)

Benutzeravatar
bauer
Foriker
Beiträge: 18
Registriert: Sa 25. Mai 2013, 14:17
Kontaktdaten:

Re: Berechnung mit TextBox statt ValueBox

Beitrag von bauer » Di 20. Feb 2018, 03:09

Hier mal der Quellcode als Anhang, mit dem ich nicht klar komme.

Viele Grüße
Dateianhänge
quadratTest2-0.0.1.tar.gz
(11.51 KiB) 43-mal heruntergeladen

Benutzeravatar
4tionov
Site Admin
Beiträge: 237
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Berechnung mit TextBox statt ValueBox

Beitrag von 4tionov » Di 20. Feb 2018, 08:46

So ist es besser, hier kann es nicht passieren, dass einer Variablen mit Float Null zugewiesen wird:
gambas code

  If TextBox1.Text Then
    a = Val(TextBox1.Text) 'Kantenlänge a
  Else
    a = 0
  Endif

  If TextBox2.Text Then
    u = Val(TextBox2.Text) 'Umfang u
  Else
    u = 0
  Endif

Val liefert sowieso Float, das brauchst du nicht mehr umwandeln. Und vor allem bekommst du das lokalisiert. Oder willst du die Lokalisierung explizit ausschalten? Dann verwende CFloat und CStr.

Btw: Wenn du eine Fehlerbehandlung in deine Methode unten einfügst, dann sagt dir Gambas auch wo und welcher Fehler aufgetreten ist:
gambas code

Catch
  Message.Error("Fehler: " & Error.Text & " Aufgetreten in " & Error.Where)

Dateianhänge
quadratTest2-0.0.2.tar.gz
(11.59 KiB) 38-mal heruntergeladen
Alles Gute,

4tionov

Benutzeravatar
bauer
Foriker
Beiträge: 18
Registriert: Sa 25. Mai 2013, 14:17
Kontaktdaten:

Re: Berechnung mit TextBox statt ValueBox

Beitrag von bauer » Di 20. Feb 2018, 14:48

Langsam verstehe ich das mit dieser Typenumwandlung etwas mehr und es ist genau das was ich mir vorgestellt habe. Muss das komplette Programm jetzt mal umschreiben, mit Fehler abfangen und nurZahlenZulassen da einbauen.

Was genau ist mit der Lokalisierung gemeint, 4tionov? Komma und Punkt vertauscht, je nachdem welche Sprache eingestellt ist?


Viele Grüße und Danke für die Hilfe an alle

Benutzeravatar
4tionov
Site Admin
Beiträge: 237
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Berechnung mit TextBox statt ValueBox

Beitrag von 4tionov » Di 20. Feb 2018, 15:13

bauer hat geschrieben:
Di 20. Feb 2018, 14:48
Was genau ist mit der Lokalisierung gemeint, 4tionov? Komma und Punkt vertauscht, je nachdem welche Sprache eingestellt ist?
Genau. Das kannst du hier nachlesen:
http://gambaswiki.org/wiki/cat/conv

Also
http://gambaswiki.org/wiki/lang/val
versus
http://gambaswiki.org/wiki/lang/cfloat
bzw
http://gambaswiki.org/wiki/lang/cdate
Alles Gute,

4tionov

Honsek
Foriker
Beiträge: 357
Registriert: Do 4. Okt 2007, 17:01
Kontaktdaten:

Re: Berechnung mit TextBox statt ValueBox

Beitrag von Honsek » Do 22. Feb 2018, 17:33

Hallo,

sicher hilft ein Blick in das Gambas-Buch auf www.gambas-buch.de unter https://www.gambas-buch.de/dw/doku.php? ... 16.6:start, um mit validen Daten zu arbeiten.

Mit freundlichen Grüßen

Hans
---> Wenn Du eine gute Antwort erwartest, musst Du sehr gut fragen!

Antworten

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 7 Gäste