Herzlich Willkommen.
Beiträge von James
-
-
@James1337: Er meint wohl "...sobald kein Jahr angegeben wird.", weil dann liefert Dein Script kein Ergebnis (RegExp schlägt fehl).
Ok, danke, macht Sinn. Ich hatte schon wieder vergessen, dass es mehrere Möglichkeiten gibt, wie die Einträge formatiert sein können. Ich habe das Skript oben verbessert. -
Meine Lösung ist auch noch im Rennen:
^ Lösung für Formatierung 1, die anderen sind im Skript
[autoit]Local $string = BinaryToString("0xE38193E38293E381ABE381A1E381AFE4B896E7958C", 4) & " - Beginners Guide to Japanese.pdf (2013) {Hello World}"
[/autoit][autoit][/autoit][autoit]
Local $result, $i, $data = "", $patterns[3] = ["(.+) (\(\d+\)) (\{.+\})", "(.+) (\{.+\})", "(.+) (\(\d+\))"]$result = _StringRegExp($string, $patterns)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
If @error Then
MsgBox(64, "Test", $string)
Else
For $i = 0 To UBound($result)-1
$data &= ($i+1) & @TAB & $result[$i] & @CRLF
Next
MsgBox(64, "Test", $data)
EndIfFunc _StringRegExp($sTest, $asPatterns)
[/autoit]
If (Not IsArray($asPatterns)) Then
Return SetError(1, 0, -1)
EndIf
Local $SRE, $i
For $i = 0 To UBound($asPatterns)-1
$SRE = StringRegExp($sTest, $asPatterns[$i], 3)
If (Not @error) Then Return $SRE
Next
Return SetError(2, 0, -1)
EndFuncEdit:
Das Skript funktioniert jetzt in allen 4 Fällen. -
• Bevor wir jetzt weitermachen, gib bitte mal alle Zeichen an, die im Dateinamen vorkommen können (etwa auch Umlaute und ß ? ).
• Ist das Jahr immer in runden und die Info immer in geschweiften Klammern?
• werden alle Elemente immer durch genau ein Leerzeichen getrennt?
Wenn die letzten beiden Punkte zutreffen würde meine Lösung so aussehen:
Problematisch wird das nur, wenn z.B. nur Einträge mit gültigen Daten erkannt werden sollen. -
HttpSetProxy funktioniert meines Wissens nach nur mit den Inet* Funktionen.
-
Vielleicht funktioniert EM_SETCUEBANNER einfach nicht mit Combos.
Edit: Ok, eigentlich hätte ich wissen müssen, dass das nur für Inputs und Edits gilt. Naja, wieder was gelernt.
-
Und schon gehts wieder los
Die Phase, wo jeder seine eigene Sprache hatte, kennen wir ja
Ich finde das super (außerdem ist es ja nicht so, als würde man dabei nichts lernen).
Gute Arbeit!Edit: Hast du etwa keine eigene Sprache? Das solltest du ganz schnell ändern...
-
-
Naja, was heißt hier geht nicht?
Das einzige Problem ist momentan, dass keiner weiß, was du eigentlich genau vorhast. Wenn das geklärt ist kann man immer noch über "geht nicht" diskutieren. -
Meinst du damit den ASCII Code eines Zeichens im String?
[autoit]$x = Asc(StringMid($String, Position des Zeichens, 1))
[/autoit] -
-
Ich sehe keinen Sinn in den Konverter!
Ein weiterer für einen Interpreter sprechenden Punkt wäre, dass ein solcher schwieriger zu programmieren ist als ein Konverter (besonders verglichen mit dem Konverter in diesem Fall). Der Programmierer hätte also eine Herausforderung und würde dabei etwas lernen. -
Genau so hatte ich das auch gemeint.
Schön, dass du das so ausführlich erklärt hast.MfG James
-
Ich dachte eigentlich eher an Funktionen, die dem Programmierer von der Sprache zur Verfügung gestellt werden (zum Beispiel wie MsgBox in AutoIt), aber das ist auch nicht schlecht.
-
Das ist mir alles klar. Es scheint, als hätte ich mich nicht gut genug ausgedrückt.
Selbst wenn man eine Sprache erstellt, die "nur" einen Interpreter hat, weil man die Skripte aus welchem Grund auch immer nicht in Maschinencode umwandeln kann, könnte man zumindest eigene Funktionen hinzufügen und einen eigenen Interpreter benutzen.
Momentan werden die Skripte ja nur durch StringReplace in AutoIt umgewandelt. Das ist zwar eigentlich nicht schlimm, hat aber auf Grund der wenigen an AutoIt vorgenommenen Änderungen nichts mit dem Entwickeln einer "eine eigene UNABHÄNGIGE Programmierer Sprache" zu tun. Er könnte also einen eigenen Interpreter schreiben und eigene Funktionen bereitstellen, sodass die Sprache nicht mehr von AutoIt abhängig ist (abgesehen davon, dass der Interpreter in AutoIt programmiert wurde).
-
eine eigene UNABHÄNGIGE Programmierer Sprache
Wenn eine unabhängige Programmiersprache dein Ziel ist/war, wieso besitzt diese dann keine eigenen Funktionen? Momentan ist sie komplett von AutoIt abhängig.
Aber wenigstens ist die Syntax jetzt besser (leichter verständlich).
-
Desto komplizierter desto besser
Kannst du diesen Gedankengang begründen?
Wäre eine Sprache, bei der man nur kurz die Beschreibung überfliegen muss um sie anwenden zu können, nicht viel besser?In meinen Augen verkomplizierst du nur die Sprache Autoit ein wenig. Das ist so als würdest du dir für jedes deutsche Wort ein neues eigenes ausdenken und dann schreibst du ein Lexikon mit dem du alles wieder zurück übersetzt.
Dem muss ich zustimmen, und mit der Entwicklung einer Programmiersprache hat das auch nicht viel zu tun.
-
Willkommen.
Schön, dass AutoIt deine erste Programmiersprache ist
-
-
[autoit]
Exit Run(@ScriptFullPath)
[/autoit]
So weit waren wir auch in Post #2 schon. Wäre schön gewesen, wenn du dieses bisschen Text vor dem Posten gelesen hättest, zumal das Thema ja schon gelöst ist.Edit: Schnitzel hat Recht. Meine Wortwahl war vielleicht etwas unpassend, sorry.