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

  • Geilste Fehlermeldung^^ !!UPDATE!!

    • BugFix
    • 21. Februar 2010 um 15:22

    Wenn ich nicht irre, ist es italienisch. Genauso spricht nämlich mein Kollege - und der ist Italiener. :D

  • Zwischenablage überwachen und in TXT-Datei speichern?

    • BugFix
    • 21. Februar 2010 um 14:34

    Das zweimal ENTER verstehe ich nicht, wozu?
    Weshalb soll die Datei offen (also im Editor) sein? Dann kann man ja nichts eintragen?
    Mal als Ansatz:

    Spoiler anzeigen
    [autoit]

    ; === Fenstererkennung an Teilen des Titels
    Opt("WinTitleMatchMode", 2)

    [/autoit] [autoit][/autoit] [autoit]

    ; === Hotkey zum Skript Beenden
    HotKeySet('^!e', '_ende') ; === STRG + ALT + e

    [/autoit] [autoit][/autoit] [autoit]

    ; === Variable zum Speichern des letzten Clipboardinhalts
    Local $sClipOld = '', $sClip

    [/autoit] [autoit][/autoit] [autoit]

    While True
    If WinExists("C:\Tools\Zwischenablage.txt") Then
    $sClip = ClipGet()
    If $sClip <> $sClipOld Then
    $sClipOld = $sClip
    ; in Datei schreiben
    ; Send geht nicht, da Datei im Hintergrund sein soll (warum soll sie überhaupt offen sein?)
    ; zum Schreiben muß die Datei geschlossen werden, dann kann mit Filewrite der Inhalt von
    ; $sClip geschrieben werden.
    EndIf
    EndIf
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _ende()
    Exit
    EndFunc

    [/autoit]
  • [Problem] Inputbox nach Eingabe diverse Aktionen durchführen

    • BugFix
    • 21. Februar 2010 um 14:13

    Mal die AGB gelesen?

    Zitat

    1.2.9 Die Nutzung der Spiele und Services ist nur mittels eines Internetbrowsers oder spezieller, von der Bigpoint GmbH zur Verfügung gestellter oder ausdrücklich zugelassener Tools zulässig („Verbot der Nutzung nicht autorisierter Skripte“). Dies bedeutet insbesondere: Die Verwendung von Programmen, die eine übermäßige Belastung des Servers erzeugen, ist unzulässig. Der Einsatz von Software zur systematischen oder automatischen Steuerung der Spiele oder einzelner Spielfunktionen (Bots, Makros), zur Reproduktion oder Auswertung der Spiele, Spielelemente oder der auf der Plattform Bigpoint eingestellten Inhalte ist unzulässig.

  • Zwischenablage überwachen und in TXT-Datei speichern?

    • BugFix
    • 21. Februar 2010 um 13:56

    Schau mal folgendes Skript an, da findet sich sicher was für deine Zwecke:
    https://autoit.de/index.php?page…67020#post67020

  • .ini datei speichern

    • BugFix
    • 21. Februar 2010 um 12:03

    Schau mal in die Hilfe:
    - IniRead
    - IniWrite
    - WinActivate

  • Interaktives Tutorial

    • BugFix
    • 21. Februar 2010 um 11:54

    Finde den Link leider nicht mehr.

    Aber etwas wirklich interaktives zu skripten ist nicht gerade einfach. Das geht nur solange recht gut, wie die Aufgabenstellung eine geringe und leicht zu überprüfende Zahl an Lösungsvarianten zuläßt. ;)
    Ich wünsch euch auf jeden Fall viel Spaß.

  • Suche mit LIKE

    • BugFix
    • 21. Februar 2010 um 10:30

    Betreff der geschweiften Klammern hast du recht, die hab ich glatt vergessen. 8|
    Aber sowohl bei geschweifter als auch bei eckiger Klammer muß nur die öffnende Klammer maskiert werden. Die schließenden Klammern alleinstehend werden von der Regex-Engine als normale Zeichen behandelt. Probier es aus - gibt keine Fehler.

    Neue Version in Post 1.
    Habe den Tipp von progandy umgesetzt.

  • Interaktives Tutorial

    • BugFix
    • 20. Februar 2010 um 22:22

    Kann mich erinnern, dass es im EN-Forum mal sowas gab. Vielleicht finde ich es noch.

  • Wert aus/an Schalten, wie?

    • BugFix
    • 20. Februar 2010 um 22:01

    Am besten ist es Koda gar nicht zu verwenden. Wozu hat man einen Kopf zum Rechnen ;). Und wenn man es per Hand macht, spart man sich auch die Hälfte weglöschen zu müssen (nutze mal OnEvent mit Koda :wacko: ).
    Ich verwende Koda max. um einen groben Entwurf zu erstellen, Feinschliff auf jeden Fall von Hand.

  • Suche mit LIKE

    • BugFix
    • 20. Februar 2010 um 18:11
    Zitat von SEuBo

    Rein interessehalber: Warum ist denn ']' nicht bei den Metachars?
    Und was ist mit '{' und '}' ?


    Weil diese Zeichen keine besondere Bedeutung haben. Ausschließlich die 11 aufgeführten Zeichen haben eine Doppelfunktion und müssen deshalb maskiert werden.

  • Suche mit LIKE

    • BugFix
    • 20. Februar 2010 um 17:12

    Wer mit SQL arbeitet kennt LIKE, um maskiert zu suchen.
    In AutoIt können wir das mit RegEx erledigen. Da damit doch so mancher seine Probleme hat, habe ich die Syntax von LIKE verwendet ('_' =Platzhalter für ein beliebiges Zeichen an dieser Stelle; % =Platzhalter für eine beliebige Zahl von Zeichen, auch 0) und setze das intern in eine Regex-Prüfung um.
    Im Unterschied zu LIKE, das immer case-sensitiv ist, kann hier die Sensitivität gewählt werden. Standard ist False.

    Edit3:
    Erweiterung:
    Der zu prüfende String kann jetzt auch Zeilenumbrüche (@CR oder @CRLF) enthalten.

    Edit2:
    War noch ein Fehler drin beim An-/Abschalten der Metacharacter Erkennung.

    Edit:
    Habe progandys Hinweis jetzt eingearbeitet.

    _Search_LIKE( )
    [autoit]


    Local $aTest[5] = [60123,62345,54175,62340,'C:\Code\Test.au3']

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To 4
    If _Search_LIKE($aTest[$i], '6%') Then ConsoleWrite('erste Position eine 6 - ' & $aTest[$i] & @CRLF)
    If _Search_LIKE($aTest[$i], '6%0') Then ConsoleWrite('erste Position eine 6, letzte eine 0 - ' & $aTest[$i] & @CRLF)
    If _Search_LIKE($aTest[$i], '__1%') Then ConsoleWrite('dritte Position eine 1 - ' & $aTest[$i] & @CRLF)
    If _Search_LIKE($aTest[$i], '__3%') Then ConsoleWrite('dritte Position eine 3 - ' & $aTest[$i] & @CRLF)
    If _Search_LIKE($aTest[$i], '%test.au3') Then ConsoleWrite('test.au3 im Pfad - ' & $aTest[$i] & @CRLF)
    ConsoleWrite(@CRLF)
    Next

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;===============================================================================
    ; Function Name: _Search_LIKE($sTest, $sMask, $fCasesens=False)
    ; Description: Prüft String auf Übereinstimmung mit Suchmaske
    ; Parameter(s): $sTest - der zu prüfende String
    ; Requirement(s): $sMask - die Suchmaske, analog zu LIKE in SQL
    ; _ =Platzhalter f. EIN beliebiges Zeichen an dieser Stelle,
    ; % =Platzhalter f. eine beliebige Menge von Zeichen
    ; $Casesense - False (Standard), nicht case-sensitiv
    ; Return Value(s): 1 - Übereinstimmung mit Suchmaske
    ; 0 - keine Übereinstimmung
    ; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
    ;===============================================================================
    Func _Search_LIKE($sTest, $sMask, $fCasesens=False)
    Local $pattern = '^'
    If Not $fCasesens Then $pattern &= '(?i)'
    $pattern &= '\Q' & StringRegExpReplace($sMask, '\\E', '\\E\\\\E\\Q')
    $pattern = StringRegExpReplace(StringRegExpReplace($pattern, '%', '\\E.*\\Q'), '_', '\\E.\\Q') & '\E\z'
    $sTest = StringRegExpReplace($sTest, '\r\n|\r', ' ')
    Return StringRegExp($sTest, $pattern)
    EndFunc ;==>_Search_LIKE

    [/autoit]

    Dateien

    _Search_LIKE.au3 1,25 kB – 408 Downloads
  • möglichst wenig code für möglichst viele checkboxen

    • BugFix
    • 20. Februar 2010 um 11:03

    Es geht kürzer:

    [autoit]

    Local $checkbox[75]

    [/autoit][autoit][/autoit][autoit]

    Local $Form1 = GUICreate("Form1", 875, 600, -1, -1)
    Local $top = 75
    Local $left = 25
    For $i = 0 To UBound($checkbox) - 1
    Switch $i
    Case 15, 30, 45, 60
    $left += 175
    $top = 75
    EndSwitch
    $checkbox[$i] = GUICtrlCreateCheckbox("checkbox" & $i, $left, $top, 175, 17)
    $top += 20
    Next

    [/autoit][autoit][/autoit][autoit]

    GUISetState(@SW_SHOW)

    [/autoit][autoit][/autoit][autoit]

    While True
    Switch GUIGetMsg()
    Case -3
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • AutoItObject - OOP für AutoIt

    • BugFix
    • 20. Februar 2010 um 10:26

    Sowas aber auch :S , bisher konnte ich mich erfolgreich um OOP drücken, weil es in AutoIt nicht verfügbar war und nun DAS! :rofl:
    Scherz beiseite, tolle Arbeit, die da geleistet wurde. :thumbup:
    Nun woll'n wir mal schauen, wo uns das das Leben erleichtern kann. ;)

  • Funktionen

    • BugFix
    • 19. Februar 2010 um 23:00

    Bsp.:

    [autoit]

    MsgBox(0, '', _Repeat('a', 5))
    MsgBox(0, '', _Repeat('a', 10))
    MsgBox(0, '', _Repeat('a', 15))

    [/autoit][autoit][/autoit][autoit]

    Func _Repeat($string, $count)
    Local $out = ''
    For $i = 1 To $count
    $out &= $string
    Next
    Return $out
    EndFunc

    [/autoit]
  • Variable dynamisch kürzen

    • BugFix
    • 19. Februar 2010 um 19:09

    Mit Stringfunktionen:

    [autoit]

    $s = 'C:\\Programme\Hersteller\Bin\Application.exe'
    $s = StringTrimLeft($s, StringInStr($s, '\', 1, -1))

    [/autoit]
  • Probleme GUI / GUI Listview / INI / etc.

    • BugFix
    • 19. Februar 2010 um 12:01

    Wichtig - unbedingt als eindeutigen Schlüssel eine ID vergeben. Alle anderen Angaben können redundant sein.

  • Probleme GUI / GUI Listview / INI / etc.

    • BugFix
    • 19. Februar 2010 um 11:54

    Warum die vielen Sektionen? Mach nur eine:

    Muster.INI

    Code
    [daten]
    id=name,vorname,telefon,plz,strasse,ort


    Beim Laden einfach den String splitten - schon ist es in einem Array.

  • Skriptbsp.: Diagramm in Excel

    • BugFix
    • 19. Februar 2010 um 10:12

    Da scheint es Unterschiede in den Excel-Versionen zu geben.
    Bei meinem Excel (Office 2000) kann ich Formeln auch ohne .Formula übergeben, da diese durch das führende = als solche identifiziert werden. Fehlermeldung erhalte ich dabei nicht.
    Aber es ist natürlich korrekt, eine Formel auch als solche zu kennzeichnen. ;)

  • _MaxEx.au3

    • BugFix
    • 19. Februar 2010 um 09:52

    Sorry, wenn ich den Thread mal hijacke:

    Zitat von teh_hahn

    Einhaltung von http://www.autoitscript.com/autoit3/scit…F_Standards.htm


    Diesen Punkt möchte ich mal aufgreifen.
    Ich verfolge im EN-Forum seit einiger Zeit Beiträge, in denen es um Sinn (oder besser Unsinn) der Verwendung Globaler Variablen geht und auch generelle Empfehlungen, wann und wie deklariert werden soll:
    In den UDF-Richtlinien findest du folgendes:

    Zitat

    All variables must be declared at the beginning of the UDF with a “Local” scope and before they are used for the first time.


    In einem Beitrag von Valik fand ich folgenden Hinweis:

    Zitat

    ..don't front-load your functions with all the variable declarations. Declare variables right before they are used.


    Hier scheinen sich die Devs nicht ganz einig zu sein. Wobei Valiks Hinweis mir sinnvoller erscheint. Eine kopfgeführte Deklaration aller zu nutzenden Variablen ist zwar "schön" anzusehen, macht aber keinen tieferen Sinn. Die Deklaration bei erster Verwendung mit gleichzeitiger Wertzuweisung ist da effektiver.

    Ich kann mich erinnern, dass wir vor langer Zeit schon mal eine Diskussion zum Thema Standards in AutoIt hatten, da ja der User ziemlich frei ist, bei dem was er tut.
    Unter dem Aspekt, dass man Globale Variablen tunlichst vermeiden sollte (nähere Erläuterung hier), wär es vielleicht sinnvoll sich damit nochmals zu befassen (aber in einem eigenen Thread ;)).

  • Skriptbsp.: Diagramm in Excel

    • BugFix
    • 18. Februar 2010 um 21:21
    Zitat von Traveller

    $oSheet.Range("A2:A10")


    Das ist absolut identisch mit "='Mein Sheet'!Z2S1:Z10S1", nur das einmal die Adressierung über das Objekt und das andere mal über die Formelsyntax erfolgt. ;)

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™