Beiträge von James
-
-
Ich würde die Einstellungen in ein Scripting.Dictionary einlesen, dann brauchst du nur noch eine globale Variable.
-
Ich denke vom internen Zeitaufwand geht das nicht schneller als meine Form der Iteration in der Funktion.
Denke ich auch. Ich mache das sonst eigentlich auch anders, mich hat es nur gewundert, dass man in AutoIt sowas überhaupt machen kann. -
Hast du nur AutoIt oder auch SciTE4AutoIt3 installiert?
-
Zugegeben, mit AutoIt ist das nicht ganz so leicht, aber wenigstens funktioniert es überhaupt (hätte ich nicht erwartet).
Hier mal eine Funktion die den Inhalt von allen übergeordneten Klammerpaaren zurückgibt. Wenn man sie dann auf die Elemente ihres eigenen Arrays anwendet kann man den nächsten Level auslesen.
[autoit]Func StringBalancedParentheses($text)
[/autoit]
Local $array = StringRegExp($text, "\(((?:(?R)|[^()]*)+)\)", 3)
SetError(@error, @extended)
Return $array
EndFunc -
Vielen Dank.
-
Mal wieder ein kleines Update; alles weitere im ersten Post.
-
Vielen Dank euch beiden, nur leider war gestern nur der Tag an dem ich mich hier registriert hatte, mein Geburtstag ist erst morgen. Trotzdem danke.
-
Leider finde ich diese Version nicht mehr. Im Forum liegt sie garantiert irgendwo...
Meines Wissens nach hattet ihr das nur im englischen Forum gepostet: Solve any equation with this 175 Byte function
-
Da das Thema von Batch-man verloren gegangen ist hier nochmal meine Implementierung des Newton-Verfahrens.
Beispiel:
[autoit]MsgBox(0, "log(x) = 1", Newton("log(x) = 1"))
[/autoit]Newton-Verfahren
[autoit]Func Newton($f, $x=1)
[/autoit] [autoit][/autoit] [autoit]
Local $0 = 10e-10, $i, $a, $b, $c, $d$f = StringRegExpReplace($f, "\s+", "")
[/autoit] [autoit][/autoit] [autoit]
If (StringInStr($f, "=") > 0) Then
$f = StringRegExpReplace($f, "(.+)=(.+)", "\1-(\2)")
EndIfFor $i = 1 To 100
[/autoit]
$a = Execute(StringRegExpReplace($f, "\bx\b", "(" & $x & ")"))
$b = $x - $0
$c = Execute(StringRegExpReplace($f, "\bx\b", "(" & $b & ")"))
$d = ($a - $c) / $0
If (Abs($d) > 10e10) Then Return "-1.#IND"
$x = $x - $a/$d
Next
Return $x
EndFunc -
Die Ausführung der pmake.exe führt zu diesem Fehler:
Array variable has incorrect number of .... (Jeder kennt die Fehlermeldung wenn man auf ein Array Element zugreifen will das nicht vorhanden ist)
Hast du die Perseus-DLL (prsco.dll) registriert? // Edit: Der Fehler kommt trotzdem, das Kompilieren funktioniert aber. -
Mal ganz abgesehen davon, dass die Funktion auch für "falsche" Daten (z.B. negative oder zu große Zahlen) funktioniert, das Ergebnis stimmt dann nur eben nicht. Da es für diese Daten aber auch keinen passenden Wochentag gibt kann man darüber wahrscheinlich hinwegsehen.
Über welchen Zeitraum funktioniert diese Funktion eigentlich? Momentan scheint es ja zu passen, aber durch die Änderungen in unserem Kalender in den letzten paar tausend Jahren wird es doch garantiert ab einem gewissen Zeitpunkt in der Vergangenheit nicht mehr funktionieren, oder?
-
James oder er kennt den Aufbau einer AutoIt Exe und schreibt einen komplett eigenen Compiler, immer hin muss an dem Code nix in Maschinencode übersetzt werden, in der .exe ist doch der Interpreter + voller Source mitgeliefert (oder?)
Richtig. Der Interpreter ist eine spezielle Version, die als AutoItSC.bin im Aut2Exe Ordner liegt. Da AutoIt aber nicht open-source ist sollte es für ihn (auf legalem Wege) unmöglich sein den Aufbau des Rests der Datei herauszufinden und nachzubauen. Aber vielleicht kann sich Jon ja dazu herablassen.Edit:
Und selbst wenn etwas in Maschinencode übersetzt werden müsste: Auch das könnte man mit PHP machen, es gibt garantiert auch schon einen online Assembler. -
Man braucht dazu, wie du schon vermutet hast, einen Windows Server, was das Angebot stark einschränken sollte. Außerdem müsste PHP in der Lage sein externe Programme auszuführen, was zwar prinzipiell funktioniert, von den meisten Webhostern aber unterbunden wird. Besondere Rechte wären denke ich nicht erforderlich, da der "Compiler" nicht installiert werden muss.
-
Besser wäre wahrscheinlich diese Lösung (muss für die neuen AutoIt Versionen umgeschrieben werden).
-
Jenachdem wo du die Funktion her hattest hast du vielleicht aufgrund dieses Bugs bereits die beschädigte Funktion heruntergeladen.
Der Autor hat die Funktion zuerst hier bei uns gepostet: _FileListTreeToArray UDF
Captain09 hatte den Thread gestern in der Shoutbox verlinkt, es aber nicht für nötig gehalten das auch hier im Thread zu tun. -
Erstens musst du (wie auch im Beispiel zu sehen) den 4. Parameter von Run anpassen und zweitens steht deine Ausgabe in $_status_zcm, du gibst aber $_connect aus.
-
gerade wenn es einigermassen Benutzerfreundlich aber auch umfangreich werden soll...
Außerdem sollte es natürlich schön aussehen und absolut idiotensicher sein, d.h. jede Eingabe des Benutzers wird 3x überprüft und gegebenenfalls auf irgendwelche Standardwerte zurückgesetzt.
Ach ja, wer erfreut sich daran nicht?
-
Aus der Hilfe:
Send ( "keys" [, flag] )
flag = 0 (Standard), Text beinhaltet spezielle Zeichen, wie „+“ und „!“, die für SHIFT- (=UMSCHALT) und ALT-Tasten stehen.
flag = 1, "keys" wird so wie angegeben gesendet.
Ninja Edit: Schade, zu langsam. -
Willkommen im Forum.