Naja, du musst die Control-IDs eben beim Erzeugen auch in ein Array packen...
Z.B.:
$input[0] = GUICRTLCREATE...
$input[1] = GUICRTLCREATE...
usw.
peethebee
Naja, du musst die Control-IDs eben beim Erzeugen auch in ein Array packen...
Z.B.:
$input[0] = GUICRTLCREATE...
$input[1] = GUICRTLCREATE...
usw.
peethebee
Danach noch Strg Up (o.ä., siehe Hilfe), also explizit Strg lolassen...
peethebee
Hi!
Kann es gerade nicht testen, sieht aber nützlich und optisch schick aus - weiter so!
peethebee
Spam per PDF/XLS nehme ich mal an...
peethebee
Hi!
Ja, 1 heißt Nummer formal korrekt, 0 nicht korrekt.
Dass die Nummer stimmt, sagt ja noch nichts über das Alter aus. Wie Wikipedia dir sagt, steht im mittleren Zahlenblock das Geburtsdatum drin, das du dann eben auswerten müsstest...
peethebee
Ich schau's mir gleich noch mal an, bin wieder zurück.
Edit: Deine Nummer stimmt auch nicht - da fehlt im ersten Block eine Ziffer (siehe Wikipedia-Artikel). Der Code ist jetzt um die letzte Prüfziffer vervollständigt und funktioniert mit meiner Nummer:
MsgBox(0, "", _IsValidPersonalausweisID("bliblablub...1385982353657"))
[/autoit] [autoit][/autoit] [autoit]Func _IsValidPersonalausweisID($_number)
$_number = StringRegExpReplace($_number, "[< D]", "")
If _Pruefsumme(StringLeft($_number, 9)) <> StringMid($_number, 10, 1) Then Return 0
If _Pruefsumme(StringMid($_number, 11, 6)) <> StringMid($_number, 17, 1) Then Return 0
If _Pruefsumme(StringMid($_number, 18, 6)) <> StringMid($_number, 24, 1) Then Return 0
If _Pruefsumme(StringTrimRight($_number, 1)) <> StringRight($_number, 1) Then Return 0
Return 1
EndFunc
Func _Pruefsumme($_string)
Local $multi[3] = [7,3,1]
$multi_count = 0
$sum = 0
For $_i = 1 to StringLen($_string)
$sum += StringRight(StringMid($_string, $_i, 1)*$multi[$multi_count], 1)
$multi_count = Mod($multi_count+1, 3)
Next
Return StringRight($sum, 1)
EndFunc
Die Altersprüfung musst du dann halt mit dem mittleren Block machen, wenn die ID stimmt.
peethebee
muss weg - code der bei mir ging (nummer oben eingeben!)
[autoit]MsgBox(0, "", _IsValidPersonalausweisID("assesdzsdzsdzdD<<gasdasddaf<oiasdio<<<<<<p"))
[/autoit][autoit][/autoit][autoit][/autoit][autoit]Func _IsValidPersonalausweisID($_number)
$_number = StringRegExpReplace($_number, "[< D]", "")
If _Pruefsumme(StringLeft($_number, 9)) <> StringMid($_number, 10, 1) Then Return 0
If _Pruefsumme(StringMid($_number, 11, 6)) <> StringMid($_number, 17, 1) Then Return 0
If _Pruefsumme(StringMid($_number, 18, 6)) <> StringMid($_number, 24, 1) Then Return 0
Return 1
EndFunc
Func _Pruefsumme($_string)
Local $multi[3] = [7,3,1]
$multi_count = 0
$sum = 0
For $_i = 1 to StringLen($_string)
$sum += StringRight(StringMid($_string, $_i, 1)*$multi[$multi_count], 1)
$multi_count = Mod($multi_count+1, 3)
Next
Return StringRight($sum, 1)
EndFunc
peethebee
Hi!
Back to topic - bitte. Sonst macht dafür einen Thread in Talk auf und flamt auch da nicht.
Danke,
peethebee
Hi!
Entweder mit Koda machen oder von Hand.
Wenn du es von Hand machst, dann wie folgt:
linke obere Ecke deiner GUI ist 0,0. Die vordere ist immer die X-Koordinate in links-rechts-Richtung, die hintere Y.
40,300 bedeutet also z.B. um 300 Pixel nach unten und 40 nach rechts verschoben von der linken oberen Ecke ausgesehen.
Von Hand muss man da aber viel probieren oder man lädt sich irgendwo ein Pixellineal runter (zur Not tut es das Window Info Tool...).
Viel Erfolg,
peethebee
Ich habe noch keine Hilfe in der Qualität gesehen, die AutoIt bietet...
Es gibt zu jedem Befehl (an der Vollständigkeit scheitern schon die meisten anderen [MS-]Dokus) vollständige Syntax, Erklärung, Hinweise und ein komplettes Beispiel (!).
Du hast zwar scheinbar Recht, dass dein Problem nicht abgehandelt ist, aber man kann nunmal nicht alles darstellen - ansonsten bräuchte man wohl einige MB mehr und man bräuchte auch keine Foren wie dieses hier.
Also auf die Doku lasse ich bei AutoIt nichts kommen =).
peethebee
Suchfunktion des Forums nutzen - bitte!
peethebee
Geräuschentwicklung z.B...
Würde mich ehrlich gesagt wundern, wenn es ClosedSource wäre :p
Falls nein: Reinschauen
peethebee
Clipput?
peethebee
Ist ein AutoIt-Update afaik. Die DLLCalls wurden geändert und man muss als Parameter noch angeben, dass man im Standardformat called (müsste die Fehlermeldung auch aussagen).
peethebee
Hi!
Afaik ist es bei Vista erstmals Standard (da wird ja eh nicht mehr richtig lokalisiert) - abgesehen scheinbar von diesen Spezialversionen, die leviathan verlinkt hat (aber die hast du wohl nicht zufällig installiert, oder?).
Welches OS ist es?
Evtl. ginge ja eine Reparaturinstall. mit englischer CD?
peethebee
Wieso sollte er (!) dafür verantwortlich sein, dass seine Funktionssammlung für AutoIt (!) bei dir unter C# läuft?
Soweit ich weiß, macht er vor allem Windows-API-Calls per AutoIt zugänglich, weil AutoIt eben diese einfache Möglichkeit im Gegensatz zu Hochsprachen fehlt. Sprich in C# solltest du das ohne Zwischen-DLL können...
peethebee
p.s. "Einbinden als Treiber"?
Hallo!
Ich denke, ich muss hier mal meine Meiung mit abgeben.
Erst mal ein paar Fakten, wie sie sich aus meiner Sicht (habe mit Akira geredet, Waluev war gerade nicht online) darstellen:
- Waluev (und DJB) haben das Projekt begonnen und geleitet
- es kam aber nie richtig ins Rollen, Treffen fanden nicht oft statt
- Sie haben ein Forum aufgebaut, dass aber ein Schattendasein führte und nicht allen vollständig zugänglich war
- Akira hat begonnen, Code zu schreiben und wirklich am Projekt zu arbeiten
- Es ist aber schief gegangen, das zusammen weiterzuführen, obwohl (weil?) er es bei autoit.de gepostet hatte
- Er hat dann ein eigenes Forum aufgebaut, weil auf seine Bemühungen nicht viel Reaktion kam
So, das ist aus meiner Sicht der Stand. Es mag sein, dass Details nicht stimmen und ich denke, dass beide Seiten "Fehler" gemacht haben, aber jetzt muss man damit leben und es lösen.
Mein Vorschlag zur Lösung wäre folgender (auch schon mit Akira besprochen):
Wir von https://autoit.de/www.autoit.de könnten euch ein richtiges Unterforum machen (also das hier ausbauen). Das hätte einige Vorteile:
- Direkter Kontakt zu uns, wir lesen auch eure Fragen mit
- Ihr könnt hier auch Uploadrechte haben und Waluev, DJBass und Akira (Vorschlag) Moderatoren in dem Teilforum werden
- Wir können auch eher mal einen Teil oder den aktuellen Stand testen
- Ihr werdet ein WBB3 nutzen können
- es müssen keine neuen User angelegt werden
Deshalb halte ich das für einen guten Kompromiss.
Grundsätzlich noch etwas: Ich denke nicht, dass es sinnvoll ist, wenn ihr euch abschottet oder nach dem Motto "wir wollen unter uns sein" handelt. Wir lassen euch gerne alleine arbeiten soweit ihr kommt, keine Sorge :). Und ich denke zudem, dass der Quelltext öffentlich sein sollte. Nicht nur im eigenen Interesse, damit alle Entwickler Zugang haben, sondern auch damit wir einfacher helfen können, wenn Probleme auftauchen. Ist zwar eure Entscheidung, aber ich fände es übertrieben, den COde ClosedSource zu machen...
Also wie gesagt, das Angebot steht, dass wir es hier aufziehen, dann muss keiner, der Arbeit in "sein"
Forum investiert hat, beleidigt sein. Wäre schade, wenn das Projekt sterben würde :).
peethebee
p.s. Ihr könnt euch über PNs übrigens jederzeit erreichen ;)Vo
Hi!
ControlSetText sollte es tun und außerdem schneller sein :).
peethebee
Hi!
Geht inzwischen afaik mit der AU3Lib (https://autoit.de/www.autoitscript.com). Habe es aber noch nicht verwendet.
peethebee