Hi
das beruhigt mich ungemein!!!
MfG
Der_Doc
Und mich auch
Hi
das beruhigt mich ungemein!!!
MfG
Der_Doc
Und mich auch
Jam00: weil ich mir Hinweise erhoffe, was ich besser machen kann
@L3viathan2142: Was machst Du aber, wenn die Eing1 und Eing2 unterschiedlich sind. Das mit 1234 und 4321 war doch nur ein Beispiel darauf das es jeweils 4er Zahlen sind.
Noch die Maximale Eingabe auf 4 Ziffern begrenzt:
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("MMT Prüfsummenberechnung v. AHL", 457, 99, 193, 125)
$Input1 = GUICtrlCreateInput("", 8, 8, 97, 21)
GUICtrlSetLimit(-1, 4)
$Input2 = GUICtrlCreateInput("", 112, 8, 97, 21)
GUICtrlSetLimit(-1, 4)
$Input3 = GUICtrlCreateInput("", 240, 8, 97, 21)
$Input4 = GUICtrlCreateInput("", 384, 8, 57, 21)
$Label1 = GUICtrlCreateLabel("EIN 1", 8, 32, 36, 17)
$Label2 = GUICtrlCreateLabel("EIN 2", 112, 32, 36, 17)
$Label3 = GUICtrlCreateLabel("Ausgabe", 240, 32, 45, 17)
$Label4 = GUICtrlCreateLabel("Prüfsumme", 384, 32, 56, 17)
$Berechnen = GUICtrlCreateButton("Berechnen", 8, 50, 441, 41, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Berechnen
$wert3 =(StringMid(GUICtrlRead($Input1),1,4))+(StringMid(GUICtrlRead($Input2),1,4))
GUICtrlSetData($Input3, $wert3)
;zähle alle Ziffer der Werte 1 bis 3 zusammen
$wert4 =((StringMid(GUICtrlRead($Input1),1,1))+(StringMid(GUICtrlRead($Input1),2,1))+(StringMid(GUICtrlRead($Input1),3,1))+(StringMid(GUICtrlRead($Input1),4,1))+(StringMid(GUICtrlRead($Input2),1,1))+(StringMid(GUICtrlRead($Input2),2,1))+(StringMid(GUICtrlRead($Input2),3,1))+(StringMid(GUICtrlRead($Input2),4,1))+(StringMid(GUICtrlRead($Input3),1,1))+(StringMid(GUICtrlRead($Input3),2,1))+(StringMid(GUICtrlRead($Input3),3,1))+(StringMid(GUICtrlRead($Input3),4,1))+(StringMid(GUICtrlRead($Input3),5,1)))
GUICtrlSetData($Input4, $wert4)
; Zahl ist noch nicht einstellig, also beide Stelle von Wert4 addieren
$wert5 =((StringMid(GUICtrlRead($Input4),1,1))+(StringMid(GUICtrlRead($Input4),2,1))+(StringMid(GUICtrlRead($Input4),3,1)))
GUICtrlSetData($Input4, $wert5)
if GUICtrlRead($Input1) > 9 Then
$wert6 =((StringMid(GUICtrlRead($Input4),1,1))+(StringMid(GUICtrlRead($Input4),2,1)))
GUICtrlSetData($Input4, $wert6)
EndIf
MsgBox(0, "MMT Prüfsummenberechnung v. AHL. für 4-er Zahlen", "Prüfsumme " & $wert6)
EndSwitch
WEnd
Hallo.
Mußte heute viel Arbeit mit nehmen und da sind 500 Prüfsummen zu ermitteln.
Und L3viathan2142 brachte mich auf die Idee, das ganze via Script zu machen. Danke L3viathan2142.
Eingabe 1 Bsp.: 7953
Eingabe 2 Bsp.: 1310
Ausgabe = Eingabe 1 + Eingabe 2 Bsp.: 9263
Prüfsumme = alle Ziffern der Eingabe 1, Eingabe 2 und der Ausgabe addieren, also 7+9+5+3+1+3+1+0+9+2+6+3
Da dann aber 49 heraus kommt weiter rechnen: 4+9 = 13.
Immer noch zweistellig, also weiter rechnen= 1+3 = 4
Und die Prüfsumme ist 4 und kommt mit folgenden Script auch raus.
BITTE !!!
Ich arbeite das erste mal mit "StringMid" und nimmt es mir nicht zu übel, das das Script evtl. doppelt so lang ist wie man es machen könnte. Aber ich meine das es fehlerfrei arbeitet.
Einfach mal testen.
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("MMT Prüfsummenberechnung v. AHL", 457, 99, 193, 125)
$Input1 = GUICtrlCreateInput("9999", 8, 8, 97, 21)
$Input2 = GUICtrlCreateInput("9999", 112, 8, 97, 21)
$Input3 = GUICtrlCreateInput("", 240, 8, 97, 21)
$Input4 = GUICtrlCreateInput("", 384, 8, 57, 21)
$Label1 = GUICtrlCreateLabel("EIN 1", 8, 32, 36, 17)
$Label2 = GUICtrlCreateLabel("EIN 2", 112, 32, 36, 17)
$Label3 = GUICtrlCreateLabel("Ausgabe", 240, 32, 45, 17)
$Label4 = GUICtrlCreateLabel("Prüfsumme", 384, 32, 56, 17)
$Berechnen = GUICtrlCreateButton("Berechnen", 8, 50, 441, 41, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Berechnen
$wert3 =(StringMid(GUICtrlRead($Input1),1,4))+(StringMid(GUICtrlRead($Input2),1,4))
GUICtrlSetData($Input3, $wert3)
;zähle alle Ziffer der Werte 1 bis 3 zusammen
$wert4 =((StringMid(GUICtrlRead($Input1),1,1))+(StringMid(GUICtrlRead($Input1),2,1))+(StringMid(GUICtrlRead($Input1),3,1))+(StringMid(GUICtrlRead($Input1),4,1))+(StringMid(GUICtrlRead($Input2),1,1))+(StringMid(GUICtrlRead($Input2),2,1))+(StringMid(GUICtrlRead($Input2),3,1))+(StringMid(GUICtrlRead($Input2),4,1))+(StringMid(GUICtrlRead($Input3),1,1))+(StringMid(GUICtrlRead($Input3),2,1))+(StringMid(GUICtrlRead($Input3),3,1))+(StringMid(GUICtrlRead($Input3),4,1))+(StringMid(GUICtrlRead($Input3),5,1)))
GUICtrlSetData($Input4, $wert4)
; Zahl ist noch nicht einstellig, also beide Stelle von Wert4 addieren
$wert5 =((StringMid(GUICtrlRead($Input4),1,1))+(StringMid(GUICtrlRead($Input4),2,1))+(StringMid(GUICtrlRead($Input4),3,1)))
GUICtrlSetData($Input4, $wert5)
if GUICtrlRead($Input1) > 9 Then
$wert6 =((StringMid(GUICtrlRead($Input4),1,1))+(StringMid(GUICtrlRead($Input4),2,1)))
GUICtrlSetData($Input4, $wert6)
EndIf
MsgBox(0, "MMT Prüfsummenberechnung v. AHL. für 4-er Zahlen", "Prüfsumme " & $wert6)
EndSwitch
WEnd
Wenn es FoPo's geben sollte, sollten diese aber den Mod's / Admin's einwandfrei zuarbeiten und dazu gehört auch das rechtliche Wissen, denn einige wissen gar nicht, was sie machen und ich meine man soltle sie nicht gleich immer hart ran nehmen, sondern einfach auf einen fehler hinweisen. Fruchtet dieses nicht, kann man einen Schritt weiter gehen.
Wenn FoPo's, dann sollten die FoPo's schon eine gute Hand für das haben was sie machen.
@PokerFace
Und so wird es ein einfacher Seriennummerngenerator
FileOpen ("Daten.txt", 1)
[/autoit] [autoit][/autoit] [autoit]For $i = 1 to 100 ;10 = Bis wohiin soll die Schleife laufen?
$RND = Random (1000, 9999, 1)
FileWrite ("Daten.txt", $RND & "-" & $RND & "-" & $RND & "-" & $RND & "-" & $RND & @CRLF)
Next
@qlimax:
Du möchtest die Hilfe mal lesen.
Da ist doch ein Beispiel, das Du nur noch umstellen mußt !!!
Idee: Super
Es gibt auch Schulen die 10 Stunden auf dem Stundenplan haben.
@Rubberducky:
Ich habe das Spiel nicht und dennoch kann ich Dir sagen, das die Sicherheitskopie nicht erlaubt ist.
Schau mal auf die Herstellerseite und lese alles durch was mit "Recht" zu tun hat.
Danach weißt Du wieso es nicht erlaubt ist.
@L3viathan2142: genau, das Forum unterstützen !!!
Wenn ein Mensch nicht "dumm" ist, dann schreibt er irgendein Batch den er hier veröffentlicht. Klar ist seine Aussage das er einen Bot für ein Spiel starten möchte und das ist ein Verstoß gegen die Forenregeln. Wurde immer so gesehen und wieso hier eine Ausnahme machen?
Dazu kommt, das das Spiel selber JEDER ART von Bots verbietet. Die sperren dann ganz schnell den Account von Christine bzw. nektus.
@nektus
Du spielst ein Spiel das klare Regeln hat und das sogar Bot's JEDER ART untersagt und oben steht klar: "Die Benutzung dieses Bots ist auf eigene Gefahr!" und somit ist der Bot-Verdacht gerechtfertigt.
Also "No chance !"
@MatthiasG.
Noch sind da paar Hürden die ich meistern muß, aber die sollte ich irgendwie auch überwinden.
Danach dann eine UDF daraus machen, was dann noch einmal eine Herausforderung wird, aber das ist es ja, was ich u. a. an AutoIt liebe.
@Korby
So wie ChaosKeks schon schrieb, poste mal das Script, denn so können wir die Grundfrage besser beantworten.
Hallo BugFix.
Dann habe ich es doch richtig verstanden.
Es sind zwar beides die gleichen Buchstaben, aber einmal klein und einmal groß geschrieben.
Vielen Dank für die Info.
JanausSm: Darauf eine 0,5 Apfelschorle?
Ich kenne das Problem selber. Da hat man Stunden für eine erfolglos Problemlösung verbracht und dann doch gepostet und bei der Lsg. die Hände über den Kopf gewurfen. Aber man lernt daraus und beschäftigt sich sicherlich auch noch mehr mit der Hilfe und den berist veröffentlichten Forenbeiträgen. Ich sehe das nicht immer negativ, wenn man längere Zeit selber versucht und nicht gleich postet. "Selbst ist die Frau" oder wie das immer genannt wird.
Hallo Korby.
Das geht nach meinen Kenntnissen nicht.
Hallo BugFix.
Könntest Du "Case sensitiver Vergleich möglich" etwas genauer erklären?
Ich kenne zwar die "Sensitivitätsformel", aber wie soll man dieses im Scriptbereich verstehen.
Wie wäre eine Möglichkeit die beim starten gestarteten Prozesse ohne das man diese erst schließen muß mit einzubeziehen.
Andere Möglichkeit, dem User eine Info zu geben, woo man prüfen kann, wozu diese Prozesse stehen. Habe viele Prozesse, wo ich mich mal gefragt habe wofür diese sind und habe z. T. echt sehr lange gegoggelt. Aber es heißt ja: "Sei fit, google mit!"
Man könnte auch alle 15 Sekunden (wenn es um Zeiten ab 1 Minute geht) oder alle 0,250 Sekunden (wenn es um Zeiten unter einer Minute geht) die Systemuhr abfragen.
Aber vllt. ist das ein Punkt, den man im englischen Forum mal unter "Bug-Trac" posten sollte. Dort wird sich dann nämlich für die neue Version bzw. einem Update darüm sehr gewissenhaft gekümmern.
Ich meine das dieses jede/r User selber machen sollte solche Sachen zu den AutoIt Entwicklern zu senden, da wir die Mod's & Admin's hier etwas Arbeit abnehmen können. Ich würde sagen einer verfaßt die Info und postet dann hier, das der Bug bereit an die entwickler gemeldet ist, so das diese nicht mehrfach bekommen.
Wenn keiner es machen möchte, dann eine PN mit dem Problem an mich, ich verfasse es dann in englsich und gebe es im Bug-Trac weiter. Angebot auch für die, die der englischen Sprache nicht gewachsen sind
Du, die berufliche Zukunft geht vor und ich meine das es Dir keiner böse nimmt, wenn Du Beiträge nicht lesen kannst, da die berufliche Zukunft dieses nicht immer erlaubt.
Die Stammuser werden auf jeden Fall hinter Dir stehen, das kann ich nach über zwei Jahren Erfahrungen hier im Forum sagen. Die Mod's sind super und werden weiterhin gewissenhaft ihre Arbeit machen.
Meine Bewerbung als Mod. steht ja auch zur Verfügung.