German Brauche Hilfe

Discussion in 'German Forum' started by Frankie77, Jun 13, 2007.

  1. Frankie77

    Frankie77 New Member

    Hallo Leute,

    bin Anfänger und weis nicht mehr weiter. Im angehängten File berechne ich diverse Werte für CNC-Maschinen. wenn ich im 1.Feld (durchmesser) eine Zahl mit Komma eingebe wird es richtig erkannt und durch einen Punkt ersetzt, wenn ich jedoch im 2. Feld (je nach Auswahl "Schnittgeschwindigkeit" oder "Drehzahl") ein Zahl mit Komma eingebe, wird das Komma nicht als Falsch erkannt, sondern einfach ignoriert, auch beim rechnen.
    Wer weis weiter?:sign0085:
    Danke
    Helmut
     

    Attached Files:

  2. MM2forever

    MM2forever Active Member Licensed User

    also bei mir wird es auch in beiden eingabefeldern vernachlässigt.
    bei dem quelltext bekomme ich leichte kopfschmerzen, (nur wegen der optik) weil man da ständig rummsuchen muss... das soll keine großartige kritik sein, aber sachen wie

    Code:
    [B]If [/B][blalblalala] [B]Then[/B]
         [B]
    If[/B] [next blablalal] [B]Then[/B]
              [mach dies + jenes]
         [B]
    Else[/B]
              [machwasanderes]
         [B]
    End If[/B]
    [B]
    End If[/B]
    ]

    wären hilfreich (tabs für geschachtelte abfragen, ect.)
    *nich böse gemeint, hilft blos den anderen leichter zu helfen, und man findet später selber sich besser in den code rein*

    -----

    probier als erstes mal die "keine buchstaben oder kommas" - teile rauszunehmen, da überflüssig und vllt. auch schon problemverursachend.
    wenn man ein komma drin hat ist das ding schon automatisch ein string und keine number mehr.
    das einzig wichtige sind die ersetzungs - passagen

    probier das erstmal... "die keine buchstaben..."-teile hab ich zumindest beim step by step durchlauf irgendwie als kritisch angesehen.. da wurden irgendwie dann die ersetzungs passagen nicht ausgeführt

    massive irrtümer vorbehalten

    gruss
    Christian
     
  3. sloopa

    sloopa Member Licensed User

    Wende die Regeln an: http://de.wikipedia.org/wiki/Einrückungsstil
    Poste dein SourceCode erneut mit sauberen Einrückstil, dann helfen wir dir weiter!!

    (Und noch ein weiteres: Sprünge mit goto (wie in deiner Source) versucht man zu vermeiden und läßt sich auch fast immer vermeiden!!!)
     
  4. Frankie77

    Frankie77 New Member

    Hallo,

    das war ein Empfang !! :sign0148:

    Danke für die Tips, hab was gelernt, hoffe ich zumindest!

    Ich habe es mal alles nach bestem Wissen und Gewissen formatiert. Ich hoffe dass ihr jetzt etwas zufriefener seid. Den Fehler habe ich aber nicht gefunden. Beim Feld "eingabe1" wird das komma einfach ignoriert.

    Gruss Helmut
     

    Attached Files:

  5. Heinz

    Heinz Active Member Licensed User

    Hallo,
    normalerweise könntest du sowas mit dem keypress-Event
    abfangen. Einfach mal im Designer den Event für die Textboxen anklicken,
    dann bekommst du sowas :
    Code:
    Sub durchm_KeyPress (key)
        
    If key = "," Then
           durchm.IgnoreKey 
        
    End If  
    End Sub

    Sub eingabe1_KeyPress (key)
        
    If key = "," Then
           eingabe1.IgnoreKey
        
    End If
    End Sub
    Das was in der SUB stehen sollte, habe ich dir reingeschrieben.
    Ich denke mal, daß es das richtige ist. Hier wird das Komma
    ignoriert.
     
  6. specci48

    specci48 Well-Known Member Licensed User

    Hallo Frankie77,

    irgendwie habe ich Deinen Fehler nicht so richtig nachvollziehen können. Daher habe ich mir erlaubt, Deine "Sub berech_Click" ein wenig zu überarbeiten.
    Dabei bin ich von folgenden Vorraussetzungen ausgegangen. Du möchtest:
    a) ein Komma automatisch durch Punkt für die Berechnung ersetzt wird
    b) Dass nur gültige Werte eingegeben werden (mit Hinweistext)

    Zuerst werden nun alle Kommas durch Punkte ersetzt, bevor die Numeric-Prüfung stattfindet. Somit wird die Eingabe von meheren Kommas (z.B. 3,4,5) auch zu einem Fehler führen. Dann werden die beiden Eingaben separat auf numerisch geprüft und ggf. gelöscht. Bei Falscheingabe gibt es eine Fehlermeldung und es findet auch keine Berechnung statt (wegen return).
    Anschließend wird je nach Auswahl Deine Berechnung aufgerufen.
    Als Nebeneffekt ist der Code deutlich übersichtlicher geworden ... ;)

    Test doch mal, ob Dein Fehler nun noch immer auftritt.


    Gruß
    specci48
     

    Attached Files:

  7. Frankie77

    Frankie77 New Member

    Hallo Leute,

    danke für die Tips, echt super hier:sign0188:
    Ich habe mal soweit die Dinge eingearbeitet, besonders das mit dem "IgnorKey" hat mir gefallen.
    specci48, danke für die Mühe. Mir reicht es eigentlich, dass einfach bestimmte Zeichen ("-" , ",") und Buchstaben nicht akzeptiert werden.

    Hier der Code nochmal
     

    Attached Files:

  8. specci48

    specci48 Well-Known Member Licensed User

    Dann solltest aber besser die IgnoreKey Methode mit einer separaten Numeric-Prüfung kombinieren, denn momentan funktioniert in Deinen Eingabenfeldern kein Backspace mehr und auch eine fehlende Eingabe wird nicht erkannt.
    Gib mal einen Durchmesser, aber keine Drehzahl an ... dann läufst Du auf einen Berechnungsfehler. Mit der separaten Numeric-Prüfung ist steht im Feld mindestens eine Null und die zusätzlichen Prüfungen auf > 0 in den Berechnungs-Subs kannst Du dir sparen.


    specci48
     
Loading...