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

  • csv to excel

    • BugFix
    • 21. Mai 2009 um 22:09

    Gib mir mal ein paar Zeilen csv mit Kriterien der Zuordnung - dann mach ich ein Bsp.

  • csv to excel

    • BugFix
    • 21. Mai 2009 um 22:03

    Also du willst die csv zerpflücken und in verschiedene Tabellenblätter die Daten einfügen.
    Das kannst du mit der Excel-UDF tun. Schau dir mal die Befehle an - da findest du, was du brauchst.
    Deine Kriterien zum Aufteilen der Daten mußt du dann nur noch in ein Programm pressen. ;)

  • csv to excel

    • BugFix
    • 21. Mai 2009 um 21:51

    Eine CSV ist doch defacto schon eine Exceldatei - brauchst sie in Excel nur importieren.

  • EuroEditor 3.1.0 Beta-Version

    • BugFix
    • 21. Mai 2009 um 21:26

    3 Threads zu einem Thema ist auch Spam! :thumbdown:

    [Threads zusammengefaßt]

    Und nun bitte Ende der Diskussion - das ist das Skript-Forum. ==> [Thread Closed]

  • RegExp - ArrayPattern

    • BugFix
    • 21. Mai 2009 um 19:43

    Hi,
    ich möchte meine automatisierte Variablendeklaration ausbauen und auch auf die Möglichkeit von Variablen inerhalb einer Arraydeklaration reagieren.
    Mögliche Strings z.B.:
    Local $IrgendwasVor, $Array[3] = ["{UP}",$bla_1 , $_blub]
    Local $IrgendwasVor, $AccelKeys[5][2] = [["{UP}", $1Up], ["{DOWN}", $1Down], ['{TAB}', $1Tab], ['+{TAB}', $1STab], ['{Enter}', $1Enter]], $IrgendwasNach

    Da in den Strings einfache und doppelte Anführungszeichen vorkommen können und zum Test der String in Anführungszeichen eingefaßt wird, habe ich die inneren " durch Chr(0x22) ersetzt.

    Mein Ziel ist, die enthaltenen Variablen zu selektieren (blau markiert).
    Mit nachfolgendem Skript klappt das auch. Ich würde jedoch gern in einem Schritt die Variablen ausgeben.
    Also, vielleicht hat ja jemand eine Idee, wie man das Pattern verbessern könnte. Die Vermeidung von Backreferenzen (?:) ist übrigens beabsichtigt.

    [autoit]

    Local $pattern = "(?:\$[\d\w]+\[\d+\](?:\[\d+\])?\s*=\s*)" & _
    "(\[(?:(?:\s*(?:\x22|')[^\x22']+(?:\x22|')\s*?,?)*|(?:\s*(?:\$[\d\w]+)\s*),?)*\]|" & _
    "\[(?:\[(?:(?:\s*(?:\x22|')[^\x22']+(?:\x22|')\s*?,?)*|\s*\$[\d\w]+\s*,?)*\][\s,]*)*\])"

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

    Local $test1D = "Local $IrgendwasVor, $Array[3] = [" & Chr(0x22) & "{UP}" & Chr(0x22) & ",$bla_1 , $_blub]"

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

    Local $test2D = "Local $IrgendwasVor, $AccelKeys[5][2] = [[" & Chr(0x22) & "{UP}" & Chr(0x22) & _
    ", $1Up], [" & Chr(0x22) & "{DOWN}" & Chr(0x22) & ", $1Down], ['{TAB}', $1Tab]" & _
    ", ['+{TAB}', $1STab], ['{Enter}', $1Enter]], $IrgendwasNach"

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

    ; check ob Array-Deklaration enthalten
    Local $ret = StringRegExp($test1D, $pattern, 1), $sOut = ''

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

    ; wenn ja, im Array enthaltene Variablen selektieren
    If IsArray($ret) Then
    ConsoleWrite($ret[0] & @CRLF) ; Arrayinhalt ausgeben
    $ret = StringRegExp($ret[0], '\$[\d\w]+', 3)
    If IsArray($ret) Then
    For $i = 0 To UBound($ret) -1
    $sOut &= $ret[$i] & ', '
    Next
    ConsoleWrite(StringTrimRight($sOut, 2) & @CRLF & @CRLF)
    EndIf
    EndIf

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

    Local $ret = StringRegExp($test2D, $pattern, 1)

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

    ; wenn ja, im Array enthaltene Variablen selektieren
    If IsArray($ret) Then
    $sOut = ''
    ConsoleWrite($ret[0] & @CRLF) ; Arrayinhalt ausgeben
    $ret = StringRegExp($ret[0], '\$[\d\w]+', 3)
    If IsArray($ret) Then
    For $i = 0 To UBound($ret) -1
    $sOut &= $ret[$i] & ', '
    Next
    ConsoleWrite(StringTrimRight($sOut, 2) & @CRLF)
    EndIf
    EndIf

    [/autoit]
  • IE in GUI einbauen -> Cookie löschen

    • BugFix
    • 21. Mai 2009 um 17:59

    Der Ordner ist schreibgechützt und versteckt. Das mußt du beachten.

  • IE in GUI einbauen -> Cookie löschen

    • BugFix
    • 21. Mai 2009 um 17:15

    Speicherort der Cookis (sofern vom User nicht geändert): ..\Dokumente und Einstellungen\USER\Lokale Einstellungen\Temporary Internet Files

  • Fenster unter dem Mauscursor ermitteln

    • BugFix
    • 21. Mai 2009 um 16:52

    Dann so:

    [autoit]

    Local $tagPOINTAPI = DllStructCreate('long x;long y')
    DllCall('user32.dll', 'long', 'GetCursorPos', 'ptr', DllStructGetPtr($tagPOINTAPI))
    Local $xPoint = DllStructGetData($tagPOINTAPI, 'x')
    Local $yPoint = DllStructGetData($tagPOINTAPI, 'y')
    Local $hWnd_under_Mouse = WindowFromPoint($xPoint, $yPoint)
    If $hWnd_under_Mouse Then MsgBox(0, '', 'Handle = ' & $hWnd_under_Mouse)

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

    Func WindowFromPoint($xPoint, $yPoint)
    Local $ret = DllCall("user32", 'long', 'WindowFromPoint', 'long', $xPoint, 'long', $yPoint)
    If Not @error Then
    Return $ret[0]
    Else
    Return 0
    EndIf
    EndFunc

    [/autoit]
  • Steuern eines sliders

    • BugFix
    • 21. Mai 2009 um 16:10

    So was in der Art hatte ich mal gemacht: eigene Lautstärkeregelung einblendbar

  • Fenster unter dem Mauscursor ermitteln

    • BugFix
    • 21. Mai 2009 um 15:58

    Probier mal:

    [autoit]

    Func GetForegroundWindow()
    Local $ret = DllCall("user32.dll", "long", "GetForegroundWindow")
    If Not @error Then
    Return $ret[0]
    Else
    Return 0
    EndIf
    EndFunc

    [/autoit]
    Zitat

    The GetForegroundWindow function returns the handle of the foreground window (the window with which the user is currently working). The system assigns a slightly higher priority to the thread that creates the foreground window than it does to other threads.

  • EuroEditor 3.1.0 Beta-Version

    • BugFix
    • 20. Mai 2009 um 23:06

    @ mazo09
    Was soll diese Kinderkacke hier?! X(
    Du gibst ein freies Installationstool als dein eigenes Werk aus und versuchst dann noch User, die den Link auf das Tool veröffentlichen, zu Nötigen. Das ist allerunterste Schublade und wenig vereinbar mit dem Geist, der in unserem Forum herrschen soll.
    Ich fordere dich hiermit öffentlich auf, dazu Stellung zu nehmen.

  • Allgemeine anfrage BMC Remedy

    • BugFix
    • 19. Mai 2009 um 20:51

    Ich würde sogar sagen, niemand weiß, was das ist.
    Wenn du googelst findest du Einträge zu Voicerecorder, Computerspiele, HeavyMetal-Band...

  • StringRegExp

    • BugFix
    • 19. Mai 2009 um 15:44
    [autoit]

    #include <file.au3>
    Local $aFile, $file = @ScriptDir & '\test_x.txt' ; deine members.txt
    _FileReadToArray($file, $aFile)
    For $i = 1 To UBound($aFile) -1
    ;~ ConsoleWrite(StringRegExpReplace($aFile[$i], '(CN=)([a-zA-ZäöüÄÖÜß0-9_\-.]+)(\\,\s*)([a-zA-ZäöüÄÖÜß0-9_\-.]+)(.*)', '$2, $4') & @CRLF)
    GUICtrlCreateListViewItem(StringRegExpReplace($aFile[$i], '(CN=)([a-zA-ZäöüÄÖÜß0-9_\-.]+)(\\,\s*)([a-zA-ZäöüÄÖÜß0-9_\-.]+)(.*)', '$2, $4'), $hListView)
    Next

    [/autoit]
  • StringRegExp

    • BugFix
    • 19. Mai 2009 um 15:35
    Zitat von subzero007

    habe ich jetzt nicht genau verstanden ?


    Du möchtest bitte mehrere Zeilen aus deiner members.txt posten, sonst kann das Pattern nicht angepaßt werden.

  • StringRegExp

    • BugFix
    • 19. Mai 2009 um 13:58
    Zitat von Xenobiologist

    dass Sonderzeichen im Namen öäü bei \w nicht rekannt werden.


    Stimmt, gibt ja die tollsten Usernamen :D
    Dann also "\w+" ersetzen durch "[a-zA-ZäöüÄÖÜß0-9_\-.]+" - dann findest auch den User: Häß-ling_0.5 :rofl:

  • Switch Problem, bräcuhte hifle

    • BugFix
    • 19. Mai 2009 um 13:38

    Kommt davon, wenn man den Code nicht sauber einrückt. ;)
    Dir fehlt ein EndIf!

  • StringRegExp

    • BugFix
    • 19. Mai 2009 um 12:32
    [autoit]

    $text = "CN=nachname\, vorname (xx,OU=xx"
    $aUser = StringRegExp($text, '(?:CN=)(\w+)(?:\\,\s*)(\w+)', 1)
    MsgBox(0, '', 'Vorname = ' & $aUser[1] & @LF & 'Nachname = ' & $aUser[0])

    [/autoit]

    Edit:
    Oder ohne Array

    [autoit]

    $text = "CN=nachname\, vorname (xx,OU=xx"
    MsgBox(0, '', 'Nachname,Vorname = ' & StringRegExpReplace($text, '(CN=)(\w+)(\\)(,)(\s*)(\w+)(.*)', '$2$4$6'))

    [/autoit]
  • Sonderzeichen mit Inbox einlesen und Ausgeben

    • BugFix
    • 19. Mai 2009 um 11:35
    Zitat von ctec

    Müsstest also den String nach Sonderzeichen durchsuchen und dann entsprechend ersetzen.


    Und das kannst du ganz komfortabel mit einem RegEx machen:

    [autoit]

    Local $input = InputBox('Test', 'Sonderzeichen')
    $input = StringRegExpReplace($input, '[#!^+{}]', '{' & '$0' & '}')
    MsgBox(0, 'String für "Send()"', $input)

    [/autoit]
  • Problem mit _WordDocPrint - Soll nicht aufs drucken warten

    • BugFix
    • 19. Mai 2009 um 09:29

    In der Commandline Variante gibt es eigentlich nur zwei Fehlerquellen:
    - Regitryänderung wird nicht übernommen (am Besten Rückgabe von Regwrite auswerten) oder
    - fehlerhafte Angabe in RunWait:
    RunWait(@ComSpec & " /c " & 'C:\Programme\PDFCreator\PDFCreator.exe /NOSTART /PF"' & $SourceFolder & $aFiles[$i] & '"', "", @SW_HIDE)
    Next
    ==> hinter /PF darf kein Leerzeichen stehen!
    ==> Parameter Dateipfad in eigenen Gänsfüßchen:
    '..\PDFCreator.exe /NOSTART /PF"Dateipfad"'

  • Verschiedene Meldungen

    • BugFix
    • 18. Mai 2009 um 17:29

    Ja klar.
    Du mußt nur entsprechend eine Variable switchen, z.B. so:

    [autoit]

    Global $Status = 0
    ;...
    $button = GuiCtrlCreateButton(..)
    ;..
    While 1
    If GuiGetMsg() = $button Then _status()
    ;...
    WEnd

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

    Func _status()
    $Status = Not $Status ; wenn $Status=0 wird er 1, bzw. umgekehrt
    ; Auswerten Statuswert
    EndFunc

    [/autoit]

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™