Abfrage in AutoIt erstellen für einen Speziellen fall


  • Moin Moin zusammen habe vor kurzem angefangen mit AutoIt zu arbeiten und alle in meiner Abteilung waren begeistert über die Fähigkeiten dieses Gratis Pogramms.

    Jetzt habe ich aber ein dickes Problem weil mein vorgesetzter von mir einige abfragen erstellt haben möchte zu unserem Hauseigene Clintsoftware :cursing:  (nicht so relevant).

    Da ich aber ein Anfänger im bereich Programmieren bin, habe ich so ein wenig zweifel daran das ich die ertwartungen erfüllen kann.

    Meine Frage an euch erstmal für eine Schnelle Hilfe. (nur diesesmal)

    Kann ich einige Screenshots posten und ihr würdet mir erklären wie ich am besten die Abfrage erstellen könnte.

    Danke im vorraus.

    Einmal editiert, zuletzt von Silent Jets (22. April 2009 um 10:17)

  • Ok Hier mal einpaar Scrrenshots.

    Im Screen Auftragssumme seht ihr, die eingegeben Summe und im Screen Auftragswert seht ihr den eigentlichen Wert des Auftrages.

    Meine aufgabe ist es per Autoit festzustellen, ob die Auftragssumme den eigentlichen auftragswert überschreitet wenn ja sollte ich eine Warnung ausgegben lassen.

    Eine MsgBox einzubauen ist meiner meinung nach ein leichteres im gegensatz zur If abfrage.

    Wenn noch Informationen fehlen sollten dann nur her mit den Fragen.

    Ein Dankeschön für eure Mühen von einem Autoit anfänger.

  • So ungefähr?

    [autoit]

    Local $Auftragssumme = ControlGetText('Handwerker Client', '', 'TPanel3')
    Local $Auftragswert = ControlGetText('Handwerker Client', '', 'TPanel1')

    [/autoit][autoit][/autoit][autoit]

    If $Auftragssumme > $Auftragswert Then MsgBox(48, "Warnung", "Auftragssumme zu hoch!")

    [/autoit]
  • Supi ich schau mal wie weit ich damit komme.

    Trotzdem Danke für die schnelle antwort. Ich melde mich nochmal

    P.S Super forum

    Super Kompetente leute

    Ehhm Ein grosses Dankeschön an dich Funky für deine schnelle hilfe

  • HAllo nochmal zusammen also so sieht mein befehl aus.

    Local $1705218 = ControlGetText('Handwerker Client', '', 'TPanel');; was ist mit dem eintrag TPAnel soll er mit der SpaltenID sprich 1705218
    ;Local $pnlWert = ControlGetText('Handwerker Client', '', 'pnlWert')

    If $1705218 = "" Then MsgBox(48, "Warnung", "Auftragssumme zu hoch!")
    Else ?????? ; Was jetzt er soll mir sagen wenn das feld befüllt ist eine andere Meldung schicken

    so Funkey sagte mir etwas mit variablen sorry kann das jetzt nich einordnen.

    Definitiv möchte ich das feld ausgelesen bekommen. Wenn das feld leer iost eine Meldung . Wenn das Feld befüllt ist einen Meldung

    Danke im vorraus

  • Welchen ClassNameNN hat jetzt das Control?

    Spoiler anzeigen
    [autoit]

    Local $1705218 = ControlGetText('Handwerker Client', '', 'TPanel');; was ist mit dem eintrag TPAnel soll er mit der SpaltenID sprich 1705218

    [/autoit] [autoit][/autoit] [autoit]

    ;~ Local $Text = ControlGetText('Handwerker Client', '', '1705218');; was ist mit dem eintrag TPAnel soll er mit der SpaltenID sprich 1705218
    ;Local $pnlWert = ControlGetText('Handwerker Client', '', 'pnlWert')

    [/autoit] [autoit][/autoit] [autoit]

    If $1705218 = "" Then
    MsgBox(48, "Warnung", "Auftragssumme nicht ausgefüllt!")
    Else
    MsgBox(64, "Warnung", "Auftragssumme OK!")
    EndIf

    [/autoit]
  • Weisst du was das Problem ist, die ID der Spalte ändert sich bei jedem Programmaufruf, wir sind schon auf dem richtigen weg mit deinem letzten Posting klappt es ja

    nur die ID spinnt rum ich krieg die Krise :cursing:

  • Wie du im Screen siehst steht unter dem Classname TPanel noch die Instace angabe 1 kann es sein das ich diese auch einbauen muss und wenn ja wie ?????

  • So habe es jetzt geschafft den Wert ausgelesen zu bekommen. Sogar 2 Werte miteinander zu vergleichen. Nächste Problemstellung.

    Wie kann ich aus dem Feld wo ein eintrag ist mir auch im Anschluss nach der MsGBox den Wert anzeigen lassen.

  • In dem Feld TPanel steht 250 Euro. Meine Frage lautet nachdem ich die Felder TPAnle1 und TPanel2 Verglichen habe kommt laut meinem SCRIPT EINFACH EINE msg bOX was eigentlich auch so gedacht ist, was ich noch möchte ist das aus dem Feld TPAnel1 der wert 250 mit in der MSG Box ausgespuckt wird. Ist das möglich oder muss ich das anders machen.

  • Ok Ich poste mal meinen Quellcode

    Local $TPanel1 = ControlGetText("Handwerker Client", '', "[CLASS:TPanel; INSTANCE:1]")
    Local $TPanel2 = ControlGetText('Handwerker Client', '', "[CLASS:TPanel; INSTANCE:2]")

    If $TPanel1 < $TPanel2 Then
    MsgBox(48, "Warnung", "Auftragssumme nicht ausgefüllt!")
    Else
    MsgBox(64, "Warnung", "Auftragssumme OK!")
    EndIf

    ICh denke mal ich muss dein Posting hinter If $TPanel1 < $TPanel2 Then
    MsgBox(48, "Warnung", "Auftragssumme nicht ausgefüllt!") einbauen oder ?????

  • Ich dachte du hättest schon mehr!? Aber wichtig ist nur, dass es funktioniert, oder?

    [autoit]

    Local $TPanel1 = ControlGetText("Handwerker Client", '', "[CLASS:TPanel; INSTANCE:1]")
    Local $TPanel2 = ControlGetText('Handwerker Client', '', "[CLASS:TPanel; INSTANCE:2]")

    [/autoit][autoit][/autoit][autoit]

    If $TPanel1 < $TPanel2 Then
    MsgBox(48, "Warnung", "Auftragssumme nicht ausgefüllt oder zu groß!")
    Else
    MsgBox(64, "OK", "Die Auftragssumme von "& $TPanel1 &" € ist OK!")
    EndIf

    [/autoit]

    Verwende die Autoit-Tags, wenn du Code einfügst. [Blockierte Grafik: http://www.autoit.de/wcf/icon/wysiwyg/insertAutoItM.png] [ autoit]Das ist dein Code[ /autoit]

  • Ist doch alles Schrott unser Client macht was er will.

    Jedes Posting von dir ist richtig. Unser Client scheint dies aber nicht zu verstehen. In dem FELD Tpanel ist 250.00 Eingetragen.
    Wenn ich sage ließ mir das feld aus spuckt er nur die MSG bOX RAUS

    [autoit]

    Local $TPanel1 = ControlGetText("Handwerker Client", '', "[CLASS:TPanel; INSTANCE:1]")
    Local $TPanel2 = ControlGetText('Handwerker Client', '', "[CLASS:TPanel; INSTANCE:2]")
    If $TPanel1 < $TPanel2 Then
    MsgBox(64, "OK", "Die Auftragssumme von "& $TPanel1 &" € ist OK!")
    Else
    MsgBox(64, "Warnung", "Auftragssumme OK!")
    EndIf

    [/autoit]