1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. BugFix

Beiträge von BugFix

  • DateDiff bestimmter Monat innerhalb eines Zeitraums

    • BugFix
    • 9. Juni 2015 um 22:22
    Zitat von xbl38spezial

    Diese Variante scheint leider bei dem verwendeten Kalender nicht zu funktionieren oder ich hab es vergeigt :-/

    Ja, da war ich etwas zu schnell - geht nur bei GuiMonthCal

  • TCP - Datenübertragung -- Ausführbare Dateien gehen nicht

    • BugFix
    • 9. Juni 2015 um 17:16

    Wenn man selbst TCP-Verkehr programmiert, sollte man sich vielleicht selbst um ein ordentliches Protokoll kümmern, unabhängig vom TC-Protokoll selbst.
    Ich mach sowas eher selten, aber wenn dann so (sinngemäßer Ablauf):
    - Verbindungsaufbau
    - Sender an Empf.: [Anzahl-Bytes] zu senden
    - Empf. an Sender: warte auf [Anzahl-Bytes]
    - Sender:
    --- wenn Wert-gesendet=Wert-zu-empfangen -- starte Übertragung Daten
    --- wenn Werte nicht gleich -- beginne von vorn
    - Sender an Empf.: nach Ende Datenübertragung, "fertig"
    - Empf. an Sender:
    --- wenn "fertig" empfangen:
    --- --- Anzahl empfangen = Anzahl angekündigt --> OK
    --- --- Differenz vorhanden --> FAIL

  • Schleife stoppen

    • BugFix
    • 9. Juni 2015 um 13:00
    Zitat von AutoMit

    hat ein Button-Click nicht Vorrang vor einer Schleife?

    Nein, wie kommst du da drauf?
    Wenn du deine Schleife gestartet hast, wird doch die äußere Schleife, die GuiGetMessage abfragt niemals wieder durchlaufen. Somit kann kein Button-Klick wahrgenommen werden.
    Du kannst alternativ im OnEvent-Mode arbeiten. Schau dir mal AutoItSetOption an. Baue dein Skript um zum OnEvent-Mode und schaue was passiert.

  • Filemove + Progressbar

    • BugFix
    • 9. Juni 2015 um 12:54
    Zitat von Phil-IT

    Und das mit FileFindFirstFile habe ich getestet: Du hast recht es dauert manchmal bis zu 4 mal so lange wie mit FileMove("*.*")

    Und dann sollte man noch beachten: Soll auf eine andere physikalische Partition oder ins Netz verschoben werden, ist FileMove nicht zu empfehlen. Dann geht deutlich schneller: FileCopy & FileDelete.

  • „Koda Form Designer“ - Array, Hilfe und mehr

    • BugFix
    • 9. Juni 2015 um 12:47
    Zitat von x0r

    für "ALT+M" musst du dein erstelltes Script erst speichern, vorher wird das nix.

    Ist ja wohl auch sinnfrei, zu skripten ohne dass der Dateiname - respektive die Endung festgelegt ist. Soll der Syntaxhighlighter Gedanken lesen? :whistling:

  • Brauche Hilfe zu StringRegExp (Neu)

    • BugFix
    • 8. Juni 2015 um 22:52
    Zitat von bernd670

    den kostenlosen Regex Coach

    Im Gegensatz zum RegexBuddy erkennt der Coach nicht alles, was in AutoIt-RegEx gematcht wird.
    Bsp.:
    Erkennung ob in einem String ein 4-buchstabiges Palindrom enthalten ist. Wird erkannt vom RegexBuddy und AutoIt, nicht vom Coach.

    AutoIt
    $s1 = 'anna'
    $s2 = 'marianna'
    ConsoleWrite(StringRegExp($s1, '(.)(.)\2\1') & @CRLF)
    ConsoleWrite(StringRegExp($s2, '(.)(.)\2\1') & @CRLF)


    Edit: Ich sehe gerade, der Grund ist ein anderer. Der Coach bearbeitet nicht automatisch mehrzeilige Eingaben. Den Modus muss man erst setzen, da bin ich vom Buddy etwas verwöhnt. :whistling:

  • DateDiff bestimmter Monat innerhalb eines Zeitraums

    • BugFix
    • 8. Juni 2015 um 20:16

    Dazu gibt es fertige Funktionen:

    AutoIt
    $tMin = _GUICtrlMonthCal_GetMonthRangeMin($idMonthCal)
    	$tMax = _GUICtrlMonthCal_GetMonthRangeMax($idMonthCal)
  • TreeView - Probleme / Planlos beim Befüllen

    • BugFix
    • 8. Juni 2015 um 18:35
    Zitat von Lottich

    Hab nicht gewusst, dass _ArrayDisplay() auch auf ein Event wartet.

    Das hast du falsch verstanden. _ArrayDisplay pausiert den Code. Somit entsteht in der registrierten Funktion ein nicht definierter Zustand.
    Daher der Hinweis, innerhalb dieser Msg-auswertenden Funktion niemals User-Interaktionen durchführen. Neben Input- und Messagebox zählt auch _ArrayDisplay zu den User-Interaktionen.

  • „Koda Form Designer“ - Array, Hilfe und mehr

    • BugFix
    • 8. Juni 2015 um 18:27
    Zitat von AutoMit

    Bei mir bewirkt die Tastenkombination nichts - habe eine deutsche SciTE-Editor-Oberfläche. Was soll sie genau bewirken?

    Dann hast du nur die "Lite-Version" von SciTE. Installiere dir "SciTE4AutoIt" - Link findest du im Portal in der Softwarebox.

  • „Koda Form Designer“ - Array, Hilfe und mehr

    • BugFix
    • 8. Juni 2015 um 16:22

    Unabhängig von der Sinnhaftigkeit Koda zu nutzen: Wozu ein Menüeintrag? Einfacher als "Alt+M" geht doch nun wirklich nicht. Ansonsten schaue mal in meine Threads zum Thema SciTE - da habe ich mehrfach beschrieben, wie man Menüpunkte erstellt.

  • Autoit in der Konsole

    • BugFix
    • 8. Juni 2015 um 16:18

    Ich benutze dazu SciTE, da ist die Konsole eh offen:
    In die SciTE-Konsole eingeben:
    AutoIt3.exe /ErrorStdOut /AutoIt3ExecuteLine "ConsoleWrite(@AppDataDir & @LF)" und ENTER.
    Das kannst du dir alles auf einen HotKey packen um es einzufügen und um den gewünschten Parameter dann zu ergänzen.

  • Backreferenz bei StringRegExpReplace nur eingeschränkt möglich

    • BugFix
    • 8. Juni 2015 um 13:44

    Ich habe die Hilfe bestimmt 10-mal gelesen -- den Part habe ich nicht entdeckt. :S

    Wobei das aber am "Warum" nichts ändert. Ob man nun ausser nach "\1 und $1" auch nach den anderen Varianten scant sollte m.E. den Kohl nicht fett machen.

  • Backreferenz bei StringRegExpReplace nur eingeschränkt möglich

    • BugFix
    • 8. Juni 2015 um 12:24

    Hi,
    da ich bisher für Backreferenzen der Einfachheit halber '\1' oder '$1' verwendet habe, ist mir das Problem nie aufgefallen.
    Backreferenzen lassen sich ja auch absolut und relativ (\g1 \g-1) oder mit Namen (\k<name>) referenzieren.
    Aber - das ist nur möglich mit StringRegExp. Bei der Replace-Funktion werden diese Schreibweisen der Backreferenz ignoriert. In der Hilfe habe ich aber keinen Hinweis darauf gefunden.
    Hat jemand eine Erklärung dafür?

    AutoIt
    ; <named groups>
    
    
    ; funktioniert mit StringRegExp
    ; ist Datum in TT, MM, JJ gleich? (z.B. "2011/11/11"):
    $patt = "\d{2}(?<double>\d{2})/\k<double>/\k<double>"
    ConsoleWrite(StringRegExp('2011/11/11', $patt) & @CRLF)
    
    
    ; schlägt fehl bei StringRegExpReplace
    ; engl. Datum in deutsche Form bringen:
    $patt = "(?<year>\d{4})/(?<month>\d{2})/(?<day>\d{2})"
    ConsoleWrite(StringRegExpReplace('2015/06/08', $patt, '\k<day>.\k<month>.\k<year>') & @CRLF)
    Alles anzeigen
  • Reguläre Ausdrücke Sammlung

    • BugFix
    • 7. Juni 2015 um 13:55

    Dieser Thread ist völlig zu Unrecht in der Versenkung verschwunden. Ich werde ihn mal wieder nach oben befördern.

    Also wenn ihr mal wieder ein allgemeingültiges Pattern mühsam zusammengepfriemelt habt, her damit, damit die Sammlung wächst.

  • Frage zu vergleichende Operatoren

    • BugFix
    • 6. Juni 2015 um 12:59
    Zitat von Peter S. Taler

    was ist bitte die schnellste Art es mit '0' zu füllen?

    Für numerisch '0' kannst du es imho nur in der Schleife sinnvoll lösen.
    Falls du mit einem Stringausdruck vorbelegen möchtest, kannst du auch mit StringSplit arbeiten. Aber denk dran: wie der Name sagt ist es eine Stringoperation, d.h. selbst wenn du einen String mit Nullen splittest, enthält das Array keine numerischen Werte, sondern nur den String '0'.

    AutoIt
    ; Array mit 60 Elementen erstellen, vorbefüllen mit '0'
    $s0 = '000000000000000000000000000000000000000000000000000000000000' ; 60*'0'
    Global $aNull = StringSplit($s0, '', 2)
    ConsoleWrite('Ist Inhalt numerisch? - ' & (IsNumber($aNull[0]) = 1) & @CRLF)

    Zuweisungsoperationen für ein Array in einer Schleife sind aber auch nichts zeitkritisches. Das arbeitet AutoIt in ms ab. Insofern braucht man sich da nicht noch verrenken um eine Alternative zu finden. ^^

  • Frage zu vergleichende Operatoren

    • BugFix
    • 4. Juni 2015 um 12:55

    Alternativ kannst du ja dafür sorgen, dass Variablen niemals undefinierte Inhalte haben. Erstelle sie einfach mit Inhalt Null, dann kannst du mit einer eigenen Funktion auf _IsNull prüfen.

    Spoiler anzeigen
    AutoIt
    $a = Null
    $b = ''
    $c = 0
    
    
    ConsoleWrite(_IsNull($a) & @CRLF)
    ConsoleWrite(_IsNull($b) & @CRLF)
    ConsoleWrite(_IsNull($c) & @CRLF)
    
    
    Func _IsNull($var)
    	Return $var = Null
    EndFunc
    Alles anzeigen
  • UDF erstellen für Telegram Client -> Gegenleistung in Euro (Verhandelbar gegen Aufwand)

    • BugFix
    • 31. Mai 2015 um 11:09

    Ich habe mir mal die Telegram-API angeschaut. Adhoc wüßte ich nicht, wie diese auf AutoIt übertragen werden kann. Falls sich da jemand mit beschäftigen möchte, wäre noch der Quelltext für die Telegram-Desktop Anwendung interessant.

  • Wie benutzt man IE?

    • BugFix
    • 31. Mai 2015 um 10:46

    Deine Frage wirft bei uns mehr Fragen auf als dass sie zu Antworten anregt.
    Erkläre konkret was du vorhast - und zwar mit Skriptbeispiel. Dann können wir dir auch entsprechende Ratschläge geben.
    Im Moment verstehe ich nur Bahnhof.

  • vgl. StringRegExp() StringReplace() StringInStr()

    • BugFix
    • 31. Mai 2015 um 10:41

    @Andy, vermutlich müssen wir für 3.3.12 die nativen Stringfunktionen per FASM einbinden um den Speed von 3.3.8 wieder zu erreichen.
    Oder wir nutzen Stringoperationen über LuaEmbedded :whistling: . Lua-Skripte im Textbereich sind etwa >10 mal schneller als in AutoIt. Rechnen wird den Portierungszeitaufwand raus, könnte etwa die Hälfte stehen bleiben -- immer noch schneller als mit der aktuellen Version. :rofl:

  • NotizErsteller

    • BugFix
    • 31. Mai 2015 um 09:59

    Ergänzend zu Oscars Tipps:

    • Notizdatei bearbeitbar machen (Notiz wählen, lesen/editieren/löschen)
    • Mehrere Notizen in einer Datei erfassen mit Datumsstempel (z.B. [JJJJ-MM-TT]) und mit Suche nach Datum ausgeben
    • Notiz als Termin mit Alarm

    Das sind Dinge, die alle Facetten der Dateiarbeit abdecken und dir somit ein gutes Lernpolster geben. Das kann man dann später auch noch ausweiten mit Notizversand im Netzwerk - aber da sollten vorher erst mal die Grundlagen stehen.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™