German Multiplikation mit Textboxen

Discussion in 'German Forum' started by Bobbes, Oct 22, 2007.

  1. Bobbes

    Bobbes Active Member Licensed 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
     
  2. stbi

    stbi Member Licensed 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
     
  3. specci48

    specci48 Well-Known Member Licensed 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... ;)
     
  4. Bobbes

    Bobbes Active Member Licensed 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
     
  5. specci48

    specci48 Well-Known Member Licensed 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
     
  6. stbi

    stbi Member Licensed User

    Ich sag ja nicht, dass es nicht geht, aber wie schnell ist ein .Text vergessen ...
     
  7. Bobbes

    Bobbes Active Member Licensed 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
     
  8. specci48

    specci48 Well-Known Member Licensed User

    ... deshalb gilt dies ab Version 5 ja auch als Fehler ... :)
     
  9. specci48

    specci48 Well-Known Member Licensed User

    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) ... ;)

    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
     
  10. Bobbes

    Bobbes Active Member Licensed User

    Super, Vielen Dank ich werde dieses Forum ausgibig nutzen

    Gruß Bobbes
     
Loading...