German Multiplikation mit Textboxen

Bobbes

Active Member
Licensed User
Longtime User
:sign0085:

Guten Tag,
ich bin neu hier und habe die Software seit 2 Tagen, habe aber schon mit der
Freeware - Version (V3.0). So jetzt habe ich folgendes Problem:
Bei der alten Version (V3.0) ging dieser Rechenvorgang:


Sub Btn1berech_Click
If txt1cosphi>1 Then Msgbox (Cos Phi nicht größer als 1,OK)
If txt1cosphi=0 Then txt1cosphi=1
If txt1span = 24 Then txt1Leist = txt1Span * txt1Strom / 1000
If txt1span = 230 Then txt1Leist = txt1Span * txt1Strom * txt1cosphi / 1000
If txt1span = 400 Then txt1Leist = txt1Span * txt1Strom * txt1cosphi * Sqrt(3) / 1000
End Sub



Mit der Version (5.50) funtz das ganze nicht.

ALso es handelt sich um diese Zeile (um den Rechenvorgang an sich)
txt1Leist = txt1Span * txt1Strom / 1000

Erel hat mir den Vorschlag gemacht es so,
txt1Leist.text = txt1Span.text * txt1Strom.text / 1000
zu machen das geht aber auch nicht.
Ich habe mal die beiden Programme mit hoch geladen

:sign0085::sign0085::sign0085::sign0085:

Viele Dank für eure Mühe

Bobbes
 

stbi

Member
Licensed User
Longtime User
So funktionierts bei mir:

Sub Btn1berech_Click
If txt1cosphi.Text > 1 Then Msgbox ("Cos Phi nicht größer als 1",OK)
If txt1cosphi.Text = 0 Then txt1cosphi.Text = 1
If txt1span.Text = 24 Then txt1Leist.Text = txt1Span.Text * txt1Strom.Text / 1000
If txt1span.Text = 230 Then txt1Leist.Text = txt1Span.Text * txt1Strom.Text * txt1cosphi.Text / 1000
If txt1span.Text = 400 Then txt1Leist.Text = txt1Span.Text * txt1Strom.Text * txt1cosphi.Text * Sqrt(3) / 1000
End Sub


Erels Vorschlag war schon richtig, nur musst Du die .Text-Methode auch bei der If-Abfrage anwenden.

Rechnen mit Textvariablen ist aber auch nicht ganz so die sauberste Art zu programmieren :D
 

specci48

Well-Known Member
Licensed User
Longtime User
Rechnen mit Textvariablen ist aber auch nicht ganz so die sauberste Art zu programmieren :D

Im Prinzip richtig, aber da Basic4ppc bei "Standardvariablen" keine explizite Datentypisierung kennt und zusätzlich eine automatische Typkonvertierung (z.B. zwischen Char, String, int und long) durchführt, ist das Textfeld einer Textbox so gut wie jedes andere... ;)
 

Bobbes

Active Member
Licensed User
Longtime User
Vielen Dank für Euere Antworten!!:sign0098:

Leider gibt es immer noch diese Fehlermeldung:

---------------------------
Basic4ppc
---------------------------
An error occurred on sub btn1berech_click.



Line number: 60



If txt1span.Text=230 Then txt1Leist.Text=txt1Span.Text*txt1Strom.Text*txt1cosphi.Text/1000

Error description:

Die Eingabezeichenfolge hat das falsche Format.

Continue?
---------------------------
Ja Nein
---------------------------
Grüße Bernd
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo Bobbes,

setz doch mal einen Breakpoint auf die betreffende Zeile und dann schau Dir die Feldinhalte zu txt1Span.Text, txt1Strom.Text und txt1cosphi.Text an.
Irgeneins der Felder enthält bestimmt keinen gültigen (numerischen) Wert.

specci48
 

stbi

Member
Licensed User
Longtime User
Im Prinzip richtig, aber da Basic4ppc bei "Standardvariablen" keine explizite Datentypisierung kennt und zusätzlich eine automatische Typkonvertierung (z.B. zwischen Char, String, int und long) durchführt, ist das Textfeld einer Textbox so gut wie jedes andere... ;)
Ich sag ja nicht, dass es nicht geht, aber wie schnell ist ein .Text vergessen ...
 

Bobbes

Active Member
Licensed User
Longtime User
Hallo nochmal,
ich habs jetzt so einigermaßen hingefuddlet.

Habe einfaach in jeder textbox eine "0" reingeschrieben.

Was ich nicht so ganz verstehe, daß die Programme die mit der Version V3.0
geschrieben wurden nicht mit der Version 5.50 laufen.

Egal es geht jetzt, das Prog ist aber trotzdem sehr einfach zu verstehen.

Mir wäre ein deutsch Hilfe-Datei sehr lieb, weil ich doch noch ein Anfänger im schreiben von Programmen bin.

Danke nochmal für Eure Antworten.:sign0098::sign0142:
Bobbes
 

specci48

Well-Known Member
Licensed User
Longtime User
Was ich nicht so ganz verstehe, daß die Programme die mit der Version V3.0 geschrieben wurden nicht mit der Version 5.50 laufen.
Das liegt eher daran, dass die Entwicklungsumgebung von Basic4ppc mit der Version 3 noch nicht so ausgereift war. Man konnte daher "unsauber" programmieren und der Interpreter bzw. Compiler hat es trotzdem geschluckt (siehe fehlendes .Text). Und Rechnen ist natürlich auch nur da möglich, wo sinnvolle Eingaben vorhanden sind. Mag sein, dass die Version 3 (ich habe sie leider aktuell nicht mehr installiert) bei einem leeren Textfeld eine 0 zum Rechnen verwendet hat (ich glaube aber eher nicht...). Jedenfalls laufen meine unter der Version 3 entwickelten Programme ohne Änderungen (abgesehen von der Option "Check for unassigned / unused variables) ... ;)

Mir wäre ein deutsch Hilfe-Datei sehr lieb, weil ich doch noch ein Anfänger im schreiben von Programmen bin.
So eine Hilfe-Datei gibt es leider nicht. Kleiner Tipp: "Bei Fragen oder Problemen wenden Sie sich an Ihren Arzt ... oder an das Basic4ppc Forum!"
Sei also herzlich eingeladen, dieses Forum hier intensiv zu nutzen. Wenn möglich auch die englischen Threads/Posts verfolgen, die Suchfunktion nutzen, und/oder jederzeit hier im deutschen Forum Fragen stellen. Keine Angst, wir beißen nicht (...aber nur, weil wir noch nicht herausgefunden haben, wie es über das Internet funktioniert ... :D)

specci48
 

Bobbes

Active Member
Licensed User
Longtime User
Super, Vielen Dank ich werde dieses Forum ausgibig nutzen

Gruß Bobbes
 
Top