ich glaub es war eine von den Amis, die hat mal nen flickflack-einwurf (!) gemacht. Der ging fast so weit wie ein Abstoß! Und nebenbei sah es noch äusserst ansprechend aus. ![]()
Beiträge von Lottich
-
-
ups, da war ja was…
Ich nehme an, ich bin knapper zweiter

-
Geniess erstmal in aller Ruhe deinen Urlaub.
Da ich nicht vor habe mein Script jemals zu veröffentlichen eilt es nicht.
Ich schreib dir aber am besten eine PM, denn ich möchte meinen Code nur ungern öffentlich machen.
-
NEIN, das ist keine Leichenschändung

Hi Oscar, im Zuge meines (mittlerweile schon langwierigen) Projekts bin ich auf deine Chatbox gestossen
und hoffe, diese für mich nutzen zu können. Denn die Möglichkeit den Text in Farbe, Größe und Schriftart
manipulieren zu können gefällt mir sehr. Allerdings brauch ich offensichtlich Unterstützung bei meiner Umsetzung.
Zunächst mein Vorhaben:
Ich will ein Consolenfenster in dem protokolliert wird, was das Script gerade macht.
Dabei werden einige Videodateien zu einer einzigen verarbeitet.
Um den Fortschritt angezeigt zu bekommen, will ich, dass in der aktuellen Zeile
zB die Prozente hochzählen. Die Consolenausgabe stelle ich mir ungefähr so vor:
Code35.13.2749 25:76:61 >> Operation gestartet... erstelle: NeuesVideo 70% Dauer: 00:08:10 erledigt: Video1 100% Dauer: 00:03:12 erledigt: Video2 100% Dauer: 00:03:43 verarbeite: Video3 23% Dauer: 00:01:15 35.13.2749 25:86:55 >> Operation beendet...Das bedeutet, dass ich zum einen in der Lage sein muss in der Chatbox die Zeilen auszuwählen
und zum anderen den dortigen Text austauschen zu können.
Nun meine Fragen:
Ist das mit deiner Chatbox realisierbar? Habs bereits (logischer Weise und weil ich ich bin) erfolglos versucht...
Würdest du es anders machen oder kennst du eine Alternative die sich so für mich umsetzen lässt?
Möglicherweise bist du in der Lage, deine _FileCopyEx() so für mein Vorhaben anzupassen, dass ich optional
eine Art "Dateizusammenfügung" starten kann?! Das hab ich selbstverständlich auch schon versucht...
Recht erfolglos darf ich hinzu fügen

Nochmal zur Erinnerung:
Das mit dem Kopieren und Zusammenfügen klappt bereits und macht keine Schwierigkeiten.
Die Timer für die Zeit und die Prozentangaben stehen mir auch zur Verfügung.
Ich brauch nur eine "gescheite Methode" dies darzustellen.
Ursprünglich hab ich ein GUI mit unzähligen Labels gehabt, die ich stetig update.
Das ist soweit auch fertig und funktioniert mittlerweile ganz gut, sieht allerdings,
rein vom optischen her, recht bescheiden aus. Ist alles so häßlich! Daher der neue Ansatz.
-
Dein "Problem" besteht aktuell darin, dass du aus deiner starten() Funktion gar nicht mehr raus kommst. Dort fehlt eine Bedingung für ein ExitLoop.
Genauso sieht es auch in der Pause() Funktion aus.
Und generell haben die Vorredner recht.
Was ist dein Ziel? Wolltest du nur mal rumprobieren?
-
ich bin auf jeden Fall PRO moderne GUIs
Dann will ich mal hoffen, dass ich nicht der einzige bin, der sich hier zu Wort meldet!
-
Immer diese kurz und knappen Antworten...

Damit lassen sich dann also "ganz einfach" andere GUIs bauen, die "moderner" sind?
ZB: ein Kreis, aufgeteilt wie eine Torte, bei dem dann jedes einzelne Stück ein Button sein kann? Oder runde / ovale Schaltflächen?
Die herkömmlichen GUIs sind so abartig langweilig!
Dein vorhaben klingt auf jeden Fall interessant. Zumal ich herauslese, dass LUA-Kenntnisse für den Anwender nicht zwingend nötig sind.
-
Hi,
was genau wird man denn damit machen können?
-
Lottich wieso hast du dafür eigentlich eine UDF gebraucht, mir fällt das grad erst jetzt auf.
Wenn du nicht explizit regexen willst und nur mehrere Endungen brauchst tuts die Standard-UDF es doch auch.
rel: Regex "Multipattern" möglich?
OMG
Daran hab ich überhaupt nicht gedacht! Ich hatte die Funktion, die ich aktuell verwende, mal irgendwo gefunden und gespeichert. Die hatte Oscar damals mal für die AutoIt Version 3.3.0.0 geschrieben.
Hat also schon dein paar Jährchen aufm Buckel. Wenn ich mich nicht an diese Funktion erinnert hätte, hätt ich sicher bei den UDF´s nach was brauchbarem gesucht, wo ich dann auf _FileListToArrayRec()
gestossen wär. Aber nun ist es, wie es ist. Die Func von Oscar macht noch immer was sie soll und da ich nun weiss, wie ich auch dafür mehrere Matches finden kann, brauch ich mein Script nicht umschreiben.

-
Ich fand es echt cool, als wir dort waren.
Doch mir reicht es, 1 mal live dabei gewesen zu sein. Weiss nicht mal, ob ich überhaupt "frei" haben werde.
Bin zur Zeit jedes verdammte Wochenende bei meinem Bruder im Einsatz.
-
Ich sehe das Ganze in etwa so wie Andy. Ich bediene mich allen möglichen Quellen um meine Ziele zu erreichen. Dabei spielt es für mich keine Rowirkliche Rolle,
ob zB RegEx nun schneller ist als herkömmliche Stringfunktionen. Oftmals gehe ich sogar über den Schritt, alles mögliche erstmal mit StringSplit() zu zerpflücken.
Für mich ist es wichtig, dass ich auch später noch verstehen kann, WAS da genau WIE passiert... idR ist das für mich immer noch schnell genug. Ich muss nicht jede
Millisekunde einsparen. Zumal ich zu 99% nur für mich selbst scripte.
Ich hab grad keine Ahnung, wie lange ich schon hier vertreten bin und für mich AutoIt nutze, aber in der ganzen Zeit kann ich die Momente, in denen ich nicht um
RegEx herum kam, an einer Hand abzählen. Mittlerweile kann ich wohl behaupten, dass ich AutoIt mit seinen "gängigsten Funktionen" so einigermaßen drauf hab.
Das find ich gut und es freut mich, dass ich mittlerweile so viel selber machen kann, ohne euch ständig mit meinen Problemen belasten zu müssen.
Und eigentlich reicht mir das in den meisten Fällen auch aus.
Die meisten Probleme hab ich mit meiner eigenen "internen Logik". Hab mich neulich mal dabei erwischt, wie ich 3 kleinere Funktionen schrieb und in einander verschachtelt
habe um etwas zu erreichen, bis ich gemerkt habe, dass ich die eigentliche Lösung noch immer nicht erreicht hatte. Einfach, weil meine Logik nicht gut war....
Hmmm... vielleicht wisst ihr ja, wovon ich rede...

Sowas wie RegEx, DLL-Calls oder ASM ist mir einfach zu kompliziert, da geht mir jede Logik ab.
-
Super das klappt!!
Danke dir


Nachtrag: hoffentlich merke ich mir das auch. So oft brauch ich RegEx nicht...
-
Hallo
für einige von euch ist das sicher ein leichtes, aber ich beiss mir grad die Zähne aus.
Vor geraumer Zeit hab ich mir, mit eurer Hilfe, ein Pattern für StringRegExp() gebastelt, dass mir für _RecursiveFileListToArray() nur Dateien mit einer bstrimmten Endung auflistet.
Jetzt möchte ich das gerne erweitern, damit mehrere Endungen erkannt werden. Aber das bekomm ich einfach nicht hin.
C
Alles anzeigen; bisheriger Funktionsaufruf, der mir nur .txt-Files auflistet... Local $sDaten = _RecursiveFileListToArray("E:\Daten", "txt") ; tatsächliches Pattern sieht so aus ; $sPattern = "txt" <--- für den einfachen Aufruf ; $sPattern = "(?i)[\w\.]+." & $sPattern & "$" <--- so steht dann das Pattern in der Funktion Func _RecursiveFileListToArray($sPath, $sPattern, $iFlag = 1, $iFormat = 1, $sDelim = @CRLF) ;=========================================================================================== ; Description:: gibt Verzeichnisse und/oder Dateien (rekursiv) zurück, die ; einem RegExp-Pattern entsprechen ; Parameter(s): $sPath = Startverzeichnis ; $sPattern = ein beliebiges RexExp-Pattern für die Auswahl ; $iFlag = Auswahl ; $iFlag = 0 = Dateien & Verzeichnisse ; $iFlag = 1 = nur Dateien ; $iFlag = 2 = nur Verzeichnisse ; $iFormat = Rückgabeformat ; $iFormat = 0 = String ; $iFormat = 1 = Array mit [0] = Anzahl ; $iFormat = 2 = Nullbasiertes Array ; $sDelim = Trennzeichen für die String-Rückgabe ; Requirement(s): AutoIt 3.3.0.0 ; Return Value(s): Array/String mit den gefundenen Dateien/Verzeichnissen ; Author(s): Oscar (http://www.autoit.de) ; Anregungen von: bernd670 (http://www.autoit.de) ;=========================================================================================== $sPattern = "(?i)[\w\.]+." & $sPattern & "$" ; <--- von mir eingefügt für einfacheren Funktionsaufruf Local $hSearch, $sFile, $sReturn = '' If StringRight($sPath, 1) <> '\' Then $sPath &= '\' $hSearch = FileFindFirstFile($sPath & '*.*') If @error Or $hSearch = -1 Then Return SetError(0, 0, $sReturn) While True $sFile = FileFindNextFile($hSearch) If @error Then ExitLoop If StringInStr(FileGetAttrib($sPath & $sFile), 'D') Then If StringRegExp($sPath & $sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 2) Then $sReturn &= $sPath & $sFile & '\' & $sDelim $sReturn &= _RecursiveFileListToArray($sPath & $sFile & '\', $sPattern, $iFlag, 0) ContinueLoop EndIf If StringRegExp($sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 1) Then $sReturn &= $sPath & $sFile & $sDelim WEnd FileClose($hSearch) If $iFormat Then Return StringSplit(StringTrimRight($sReturn, StringLen($sDelim)), $sDelim, $iFormat) Return $sReturn EndFunc ;==>_RecursiveFileListToArrayKann das Pattern so abgeändert werden, dass nicht nur .txt-Files gefunden werden?
C;Im idealfall würd ich gerne die Funktion so aufrufen können, wobei die Endungen variabel sein sollen Local $sDaten = _RecursiveFileListToArray("E:\Daten, "txt,pdf,doc,html")Habe bereits erfolglos versucht, in der Funktion selbst rumzupfuschen und work-arounds einzubauen, aber das ist doch Knete...
Könnt ihr mir helfen? Wie muss das Pattern aussehen, damit ich auch (optional) mehrere Dateiendungen finde?
-
hey alina
Meines Wissens ist das nicht möglich.
Zumal msgboxen ja auch "normale" zeitabläufe unterbrechen. Ich würd da ein eigenes GUI im msgbox Stil nachbauen. Da kannst du dann auch nen sichtbaren Countdown einbauen.
-
hi. Regex freaks kennen sicher bessere lösungen als ich, aber quick&dirty würde ich dein Ergebnis nochmal durch eine Schleife jagen. Ermittle die Anzahl der Leerzeichen und dann per step 3 besagtes Leerzeichen durch ein @lf ersetzen.
-
Ich habs mir nun "genauer angesehen" (diesen Thread). Da steht bisher nirgends, dass du "Dateien aus deinem Server ziehst"...
-
Auszug aus den Regeln
ZitatFolgende Inhalte sind absolut nicht erwünscht... Programme, die einem Spieler bei jeglicher Art von Computerspiel (auch Einzelspieler) einen Vorteil verschaffen ...Tools ...
-
-
-