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. teh_hahn

Beiträge von teh_hahn

  • AutoIT zu PHP ?

    • teh_hahn
    • 21. Januar 2009 um 08:54

    Du nimmst dir die mysql.au3, die mit der libmysql.dll arbeitest. Dann kannst Du dich damit zum Server verbinden und SQL-Statements aller Art absetzen! Die DLL kommt von MySQL, deshalb sollte das wohl die Möglichkeit sein, die allen anderen vorzuziehen ist (nimm bloß kein ODBC oder so, da gibt es nur Streß, z.B. unter Vista x64).

  • Umlaute

    • teh_hahn
    • 10. Januar 2009 um 10:24

    lol, das ist wirlich uncool. Nichts desto Trotz bringt es

    [autoit]

    _INetExplorerCapable()

    [/autoit]

    natürlich mal voll. Solltes vielleicht standardmäßig für alle Adressen gemacht werden im nächsten Release der FF.au3, falls es einen gibt.

    [gelöst]

  • Umlaute

    • teh_hahn
    • 5. Januar 2009 um 20:27

    Hallo,

    ich weiß nicht ob es jemandem schon aufgefallen ist oder ob Stilgar dieser Bug bekannt ist. Das Übergeben von Umlauten (z.B. ä,ß,Ö...) innerhalb der URL funktioniert nicht:

    [autoit]

    _FFOpenURL($i_ffsocket, "http://www.cinefacts.de/suche/suche.php?type=&name=Bärenbrüder", -1, False)

    [/autoit]

    Kennt jemand einen Workaround?

  • XML Dateien nutzen / lesen

    • teh_hahn
    • 18. Dezember 2008 um 19:48

    Ohne viel Geschwafel:
    http://www.autoitscript.com/forum/index.php?showtopic=19848&hl=XMLDomWrapper

  • MySQL ODBC Verbindung unter Vista x64

    • teh_hahn
    • 24. November 2008 um 11:58

    Hallo zusammen,

    um einen Doppelpost zu vermeiden, verweise ich hierauf:
    http://www.autoitscript.com/forum/index.php?showtopic=84901

    Zusätzlich hier noch die (deutsche) Fehlermeldung im Anhang!

    Wäre sehr dankbar für eine Lösung!

  • text in 500er zeichenketten teilen

    • teh_hahn
    • 19. September 2008 um 13:03

    Hi,

    hier mal die allgemeingültige Variante:

    Spoiler anzeigen
    [autoit]

    #include-once
    #include <Array.au3>

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

    Global $as_array = _StringSplitCount("Dieser String wird alle fünf Zeichen gesplittet!", 5)
    _ArrayDisplay($as_array, "_StringSplitCount")

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

    ;~ Author: teh_hahn
    Func _StringSplitCount(Const $S_TEXT, Const $I_COUNT)
    If Not StringLen($S_TEXT) Then Return SetError(1, 0, 0)
    Local $as_ret[1] = [1], $s_tmp = "", $i_start = 1
    While 1
    $s_tmp = StringMid($S_TEXT, $i_start, $I_COUNT)
    If Not $s_tmp Then ExitLoop
    ReDim $as_ret[$as_ret[0] + 1]
    $as_ret[$as_ret[0]] = $s_tmp
    $as_ret[0] += 1
    $i_start += $I_COUNT
    WEnd
    $as_ret[0] -= 1

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

    Return $as_ret
    EndFunc ;==>_StringSplitCount

    [/autoit]
  • ListView - Editieren von N SubItems in N ListViews

    • teh_hahn
    • 14. September 2008 um 17:41

    Hallo,

    basierend auf BugFix's Code von hier, habe ich etwas geschrieben, womit sich die SubItems mehrerer ListViews editieren lassen. Etwas unschön ist die Verwendung globaler Variablen, aber mir ist leider keine bessere Lösung eingefallen. Es werden nun aber keine Hotkeys mehr verwendet und der Code wurde an ein paar Stellen verbessert.

    Ein Problem besteht allerdings noch: Und zwar erscheint das Input-Feld auch dann, wenn ich auf leere ListView-SubItems klicke (d.h. nicht existente Items) das Editieren ist dann natürlich nicht möglich. Hat jemand eine Idee, wie man dies abfangen könnte? Hier erstmal der Code:

    Spoiler anzeigen
    [autoit]

    #include-once
    #include <GUIConstantsEx.au3>
    #include <GUIListView.au3>
    #include <WindowsConstants.au3>

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

    ;~ Script by BugFix <autoit.de> - Modified by teh_hahn

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

    Global $ah_lviews[2] ;~ Required for WM_NOTIFY
    Global $ah_lvedit = 0 ;~ Required for _GUICtrlListView_EditShow
    Global $ai_guiopts = 0, $h_gui = 0 ;~ Required for _GUICtrlListView_EditHide
    Global $i_idfrom = 0, $i_index = 0, $i_subitem = 0 ;~ Required for _GUICtrlListView_EditEnter

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

    Exit main()

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

    Func OnAutoItStart()
    Opt("MustDeclareVars", 1)
    EndFunc ;==>OnAutoItStart

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

    Func main()
    Local $h_lview0 = 0, $h_lview1 = 0
    Local $as_data0[3][3] = [["Hans Meiser", "12345", "Musterstadt"],["Hans Meiser", "12345", "Musterstadt"],["Hans Meiser", "12345", "Musterstadt"]]
    Local $as_data1[1][3] = [["Ilona Christen", "09876", "Testhausen"]]

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

    $h_gui = GUICreate("GUICtrlCreateListView Edit", 640, 480)
    GUICtrlCreateTab(0, 0, 640, 480)

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

    GUICtrlCreateTabItem("First")
    $h_lview0 = GUICtrlCreateListView("", 10, 30, 620, 400, $LVS_REPORT)
    _GUICtrlListView_AddColumn($h_lview0, "Name", 70)
    _GUICtrlListView_AddColumn($h_lview0, "PLZ", 140)
    _GUICtrlListView_AddColumn($h_lview0, "Ort", 70)
    _GUICtrlListView_AddArray($h_lview0, $as_data0)

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

    GUICtrlCreateTabItem("Second")
    $h_lview1 = GUICtrlCreateListView("", 10, 30, 620, 400, $LVS_REPORT)
    _GUICtrlListView_AddColumn($h_lview1, "Name", 70)
    _GUICtrlListView_AddColumn($h_lview1, "PLZ", 140)
    _GUICtrlListView_AddColumn($h_lview1, "Ort", 70)
    _GUICtrlListView_AddArray($h_lview1, $as_data1)
    GUICtrlCreateTabItem("")
    $ah_lvedit = _GUICtrlListView_EditCreate($h_gui)

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

    $ah_lviews[0] = $h_lview0
    $ah_lviews[1] = $h_lview1
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

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

    GUISetState()

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

    While 1
    If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
    WEnd
    EndFunc ;==>main

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

    Func _GUICtrlListView_EditCreate(ByRef Const $H_PARENT)
    Local Const $I_OPTGCM = Opt("GUICoordMode")
    Local Const $I_OPTGOEM = Opt("GUIOnEventMode")
    Opt("GUICoordMode", 1)
    Opt("GUIOnEventMode", 1)

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

    Local $ah_lvedit[2]
    $ah_lvedit[0] = GUICreate("", 20, 17, -1, -1, $WS_POPUP, $WS_EX_TOPMOST, $H_PARENT)
    $ah_lvedit[1] = GUICtrlCreateInput("", 0, 0, 20, 17)
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    GUICtrlSetOnEvent(-1, "_GUICtrlListView_EditEnter")

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "_GUICtrlListView_EditHide")
    GUISwitch($H_PARENT)

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

    Opt("GUICoordMode", $I_OPTGCM)
    Opt("GUIOnEventMode", $I_OPTGOEM)
    Return $ah_lvedit
    EndFunc ;==>_GUICtrlListView_EditCreate

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

    Func _GUICtrlListView_EditEnter()
    _GUICtrlListView_EditHide()
    _GUICtrlListView_SetItemText($i_idfrom, $i_index, GUICtrlRead(@GUI_CtrlId), $i_subitem) ;~ ToDo: Global variablea!
    EndFunc ;==>_GUICtrlListView_EditEnter

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

    Func _GUICtrlListView_EditHide()
    GUISetState(@SW_ENABLE, $h_gui) ;~ ToDo: Global variable!
    GUISetState(@SW_HIDE, @GUI_WinHandle)
    Opt("GUICloseOnESC", $ai_guiopts[0]) ;~ ToDo: Global variable!
    Opt("GUICoordMode", $ai_guiopts[1]) ;~ ToDo: Global variable!
    Opt("GUIOnEventMode", $ai_guiopts[2]) ;~ ToDo: Global variable!
    EndFunc ;==>_GUICtrlListView_EditHide

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

    Func _GUICtrlListView_EditShow(ByRef Const $H_LVIEW, ByRef Const $i_idfrom, ByRef Const $i_index, ByRef Const $i_subitem)
    Local Const $H_HWND = WinGetHandle("[ACTIVE]")
    GUISetState(@SW_DISABLE, $H_HWND)

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

    Global $ai_guiopts[3] = [Opt("GUICloseOnESC"), Opt("GUICoordMode"), Opt("GUIOnEventMode")] ;~ ToDo: Global variable!
    Opt("GUICloseOnESC", 1)
    Opt("GUICoordMode", 1)
    Opt("GUIOnEventMode", 1)

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

    Local Const $AI_POSGUI = WinGetPos($H_HWND)
    Local Const $AI_POSLVIEW = ControlGetPos($H_HWND, "", $H_LVIEW)
    Local Const $AV_LVIEWCOL = _GUICtrlListView_GetColumn($i_idfrom, $i_subitem)

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

    Local $i_width = 0
    For $i = 0 To $i_subitem - 1
    $i_width += _GUICtrlListView_GetColumnWidth($i_idfrom, $i)
    Next

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

    Local Const $I_POSX = $AI_POSGUI[0] + $AI_POSLVIEW[0] + $i_width + 5
    WinMove($ah_lvedit[0], "", $I_POSX, MouseGetPos(1), $AV_LVIEWCOL[4], 17)
    GUICtrlSetData($ah_lvedit[1], _GUICtrlListView_GetItemText($i_idfrom, $i_index, $i_subitem))

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

    GUISetState(@SW_SHOW, $ah_lvedit[0])
    EndFunc ;==>_GUICtrlListView_EditShow

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

    Func WM_NOTIFY($hWnd, $Msg, $wParam, $lParam)
    #forceref $hWnd, $Msg, $wParam

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

    Local Const $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
    Local Const $hWndFrom = DllStructGetData($tNMHDR, "hWndFrom")
    Local Const $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    Local Const $iCode = DllStructGetData($tNMHDR, "Code")

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

    Local $hWndListView = 0
    For $i = 0 To UBound($ah_lviews) - 1
    $hWndListView = $ah_lviews[$i]
    If Not IsHWnd($hWndListView) Then $hWndListView = GUICtrlGetHandle($hWndListView)
    If $hWndFrom = $hWndListView Then
    Switch $iCode
    Case $NM_CLICK ;~ Single click
    Case $NM_DBLCLK ;~ Double click
    Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $lParam)
    $i_idfrom = $iIDFrom ;~ ToDo: Global variable!
    $i_index = DllStructGetData($tInfo, "Index") ;~ ToDo: Global variable!
    $i_subitem = DllStructGetData($tInfo, "SubItem") ;~ ToDo: Global variable!
    Return _GUICtrlListView_EditShow($hWndListView, $i_idfrom, $i_index, $i_subitem)
    EndSwitch
    EndIf
    Next

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

    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]

  • virtual memory

    • teh_hahn
    • 12. September 2008 um 07:59

    Wenn es überhaupt geht (Ich glaube Windows nimmt sich immer soviel Virtual Memory aus dem verfügbarem Addressraum, wieviel ein Prozess gerade benötigt - somit hast Du da keine Veschwendung), dann suche in der MSDN. Eine solche Funktionalität ist mir aber gänzlich unbekannt.

    Hier noch (allgemeine) Artikel zum Thema:
    http://support.microsoft.com/?scid=kb%3Ben-us%3B555223&x=9&y=8
    http://tech.yahoo.com/gd/understanding-virtual-memory/153006

  • Script sich von neu starten lassen

    • teh_hahn
    • 10. September 2008 um 20:54

    Ähm... Ja, siehe meinen Post oben. Wenn Du z.B. INI-Einstellungen vor dem Neustart setzt und die jeweils bei Programmstart ausliest, so würde dies logischerweise greifen...

  • Script sich von neu starten lassen

    • teh_hahn
    • 10. September 2008 um 15:05

    Hi,

    ich habe mir auch mal eine solche Funktion geschrieben, allerdings nur für kompilierte Skripte. Bei mir lassen sich jedoch noch optionale Parameter und der ExitCode übergeben. Habe das Ganze mal mit Mega's "gemerged"! Hier ein Beispiel:

    Spoiler anzeigen
    [autoit]

    #include-once
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    Exit main()

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

    Func OnAutoItStart()
    Opt("MustDeclareVars", 1)
    EndFunc ;==>OnAutoItStart

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

    Func main()
    Local $i_count = 0, $i_w = 60, $h_btrestart = 0, $h_lblcount = 0
    If $cmdline[0] Then $i_count = $cmdline[1]

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

    GUICreate("_AutoItRestart", $i_w, 40, -1, -1, $WS_POPUP)
    $h_btrestart = GUICtrlCreateButton("&Restart", 0, 0, $i_w, 20)
    $h_lblcount = GUICtrlCreateLabel($i_count, 0, 20, $i_w, 20)

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

    GUISetState()
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Return 0
    Case $h_btrestart
    _AutoItRestart($i_count + 1)
    EndSwitch
    WEnd
    EndFunc ;==>main

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

    ;===============================================================================
    ; Function Name.....: _AutoItRestart
    ; Description.......: Restarts an compiled or uncompiled AutoIt script.
    ; Version...........: 1.0.1
    ; Change Date.......: 2008-09-10
    ; AutoIt Version....: 3.2.12.1
    ;
    ; Parameter(s)......: $S_PARAM - [optional] String specifying parameter(s) for the script to run. (default = "")
    ; $I_EXIT - [optional] Integer specifying the return code of the script. (default = 0)
    ; Requirements(s)...: None
    ; Return Value(s)...: Failure: Returns 0 and sets @error to 1 if unable to run the script.
    ;
    ; Author(s).........: - Xenobiologist
    ; - teh_hahn
    ; Company...........: None
    ; URL...............: None
    ; Note(s)...........: None
    ;===============================================================================
    Func _AutoItRestart(Const $S_PARAM = "", Const $I_CODE = 0)
    Local $s_cmd = '"' & @ScriptFullPath & '"'
    If StringLen($S_PARAM) Then $s_cmd &= " " & $S_PARAM

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

    If @Compiled Then
    Run($s_cmd)
    Else
    Run(@AutoItExe & " " & $s_cmd)
    EndIf
    If @error Then Return SetError(@error, 0, 0)

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

    Exit $I_CODE
    EndFunc ;==>_AutoItRestart

    [/autoit]


    Beendet wird es mit "ESC"...

  • mein erster versuch

    • teh_hahn
    • 27. August 2008 um 08:21

    Hi,

    ich sehe das mal noch nicht als Bot-Versuch, sondern als allgemeine Frage an. Dein geposteter QUellcode ist in keinster Weise ausführbar, darauf solltest Du beim posten wirklich achten, der Compiler gibt dir genügend Informationen aus beim Erstellen!
    Soll es so sein?

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    Opt("MustDeclareVars", 1)

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

    Exit main()

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

    Func main()
    Local Const $I_X = 104, $I_Y = 740, $V_COMPARE = 0xFCF7FB ;~ Optionale Konstanten.
    Local Const $S_WINTITLE = "Unbenannt - Editor"
    Local $v_color = 0

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

    Run("notepad.exe") ;~ Started Notepad.
    WinWait($S_WINTITLE)

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

    Do
    $v_color = PixelGetColor($I_X, $I_Y) ;~ Gibt die Pixelfarbe auf obigen Koordinaten zurück.
    ConsoleWrite($v_color & @CRLF) ;~ Debug Ausgabe in SciTE-Konsole.
    If $v_color = $V_COMPARE Then ControlSend($S_WINTITLE, "", "Edit1", "{SPACE}") ;~ Überprüft ob die Pixelfarbe identisch der gesuchten ist.
    Sleep(50) ;~ Kleiner Sleep zur Prozessorauslastung
    Until Not WinExists($S_WINTITLE)

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

    Return 0
    EndFunc ;==>main

    [/autoit]

    EDIT: Was soll es denn werden, wenn es fertig ist? Das ist außerdem kein Projekt, sondern gehört eindeutig in Hilfe & Unterstützung!

  • Eure Meinung ist gefragt - 32bit oder 64bit, XP oder Vista

    • teh_hahn
    • 19. August 2008 um 08:09

    Hi,

    ich kann hier nur meinen (subjektiven) Eindruck posten:
    Windows Vista halte ich momentan nur dann für sinnvoll, wenn Du Dir die Über-Highend-Maschine zulegst (zwecks DX10). Die Diskussion über x86 und x64 bei XP kann ich nicht ganz nachvollziehen. Die x64 Version von Windows XP ist doch laut der Build-Nummer eine modifizierte Windows Server 2003-Version (NT 5.1 oder so...) Ich selber benutze seit ca. einem Jahr XP x64 und hatte bisher noch keinerlei Probleme. Treiber sind von namhaften Herstellern mittlerweile überall her zu beziehen, es gibt extra x64-Seiten im Netz und so weiter. Also wenn Du nicht noch einen Uralt-Scanner hast (nur so als Beispiel), dann spricht eigentlich nichts gegen eine x64 Version. Auch die Argumente die x64-Version von Windows XP sei unsicherer als die x86-Version (die sich öfter im Netz finden) stimmen nicht, da wie gesagt die Grundlage eine ganz Andere ist.

    Im Endeffekt wirst Du bei 4GB RAM eh keinen Unterschied bemerken, ob Du nun x86 oder x64 benutzt. Also wenn Du Dir am wenigsten Streß machen willst (bzw. Geld sparen), dann nimm die Version, die Du bereits hast und belass es vorerst dabei. Wenn Du Dir allerdings 6-8GB RAM in Deinen Rechner knallst, dann steig auf x64 um (zwecks Speicherverwaltung). Wahrscheinlich wirst Du auch dann keinen großen Unterschied verspüren (gewisse Anwendungen ausgenommen).

    EDIT: Achja, AutoIt x64 ist auch kein Problem - und falls Du doch eins findest, dann kompilier Deine Skripte halt x86. Die x64-Versionen sind eh alle nur halbherzig - die Hälfte aller Programme läuft im 32Bit Kontext.

  • PHP / HTML Editor im SciTe Style?

    • teh_hahn
    • 13. August 2008 um 21:47

    Jawohl, jetzt funktioniert es. Das ist doch schon mal eine feine Sache!

    Der_Doc, die Zeile, bei der der Kommentar entfernt werden muss, lautet korrekt:

    Code
    P&HP|php||\


    Das aber nur zur Vervollständigung...

    Als Hilfedatei empfehle ich die englische Extended CHM Format der PHP-Hilfe, da diese immer auf aktuellstem Stand ist! Download-Möglichkeiten findet man hier. Für diejenigen, die es interessiert, wie das Ganze dann aussieht, habe ich in den Anhang mal einen Screenshot gepackt.

    Was hat es denn mit der Datei phpfunctions.properties, die wohl auch in das "Properties"-Verzeichnis und der Datei php.api, die wohl in das "api"-Verzeichnis des SciTE soll auf sich? Die erstere scheint eine veraltete Version der php.properties zu sein. Und die php.api wird wohl zur Code-Vervollständigung genutzt. Stellt sich nur noch die Frage der Einbindung.

    Unten in der php.properties findet sich auch folgendes, was interessant sein könnte:

    Code
    # Read the default api
    api.$(file.patterns.php)=$(SciteDefaultHome)\php.api
    
    
    if PLAT_WIN
    	command.go.$(file.patterns.php)="file://$(FilePath)"
    	command.go.subsystem.$(file.patterns.php)=2
    	command.go.$(file.patterns.php)=c:\windows\php\php -f $(FileNameExt)


    Die erste Zeile habe ich auf:

    Code
    api.$(file.patterns.php)=$(SciteDefaultHome)/api/php.api


    geändert und in der letzten Zeile soll man wohl den Pfad zur php.exe angeben.

    Werde evtl. morgen noch einmal weiter schauen...

  • PHP / HTML Editor im SciTe Style?

    • teh_hahn
    • 12. August 2008 um 10:51

    Ich habe ja extra den Original-SciTE genommen, da ist diese Zeile bereits auskommentiert. Dateien habe ich auch alle! Naja, vielleicht findet sich ja noch etwas dazu!

  • PHP / HTML Editor im SciTe Style?

    • teh_hahn
    • 12. August 2008 um 08:11

    Hi, ich habe es auch eben einmal ausprobiert (allerdings nicht lange!) und bekomme es auch nicht hin! Die extended CHM befindet sich im SciTE Verzeichnis. sämtliche zusätzliche PHP-Dateien von SciTE ebenfalls und die Konfiguration habe ich auch geändert. Tut nicht, wenn es jemand zum Laufen bekommt, bitte hier posten!

  • Whileschleifen parallel laufen lassen?

    • teh_hahn
    • 11. August 2008 um 17:24

    Nicht wirklich, aber Du kannst einen Pseudo-Thread erstellen, siehe dazu:

    [autoit]

    AdlibEnable()

    [/autoit]
  • Regulärer Ausdruck - Linefeed Problem

    • teh_hahn
    • 11. August 2008 um 17:22
    Zitat

    Das wäre zu einfach für teh_hahn


    Zuviel der Ehre, aber... AUA, was muss ich da lesen:

    Zitat

    (?s) . matches anything including newline. (by default "." don't match newline)


    *heul* So was passiert aber auch immer wieder!

    Ich habe es jetzt folgendermaßen:

    [autoit]

    Local Const $S_HTML = '[Was auch immer]:</div></td>' & @LF & @TAB & @TAB & _
    '<td valign="top" [Auch variable]>' & @LF & @TAB & @TAB & @TAB & @TAB & @TAB & @TAB & _
    '[Dies hier möchte ich haben!]' & @LF & @LF & @TAB & '</td>' & @LF & @TAB & @TAB & '</tr>' & @TAB & @LF
    Local $AS_RET = StringRegExp($S_HTML, '(?i)(?s):</div></td>(.+?)</tr>', 3)
    For $i = 0 To UBound($AS_RET) - 1
    $AS_RET[$i] = StringRegExpReplace($AS_RET[$i], "<(.|\n)*?>", "")
    $AS_RET[$i] = StringStripWS($AS_RET[$i], 7)
    Next
    _ArrayDisplay($AS_RET)

    [/autoit]


    Das ließe sich mit Sicherheit auch mit einem RegExp machen, aber genügt so (wird nur unnötig kompliziert, da nach ":</div></td>" noch ein "<td..." mit variablen Daten komme kann und die Whitespaces ebenfalls variabel sind. Deshalb HTML-Tags Whitespaces entfernen und schon ist das Ergebnis so wie ich möchte.

  • Regulärer Ausdruck - Linefeed Problem

    • teh_hahn
    • 11. August 2008 um 15:22

    Hallo zusammen,

    ich hab mal wieder ein Problem mit einem regulären Ausdruck:

    [autoit]

    #include <Array.au3>
    Local $s_check = '<td width="73"">Der Text:</div></td>' & @LF & @TAB & @TAB & _
    '<td valign="top">' & @LF & @TAB & @TAB & @TAB & @TAB & @TAB & @TAB & _
    ' Dies hier möchte ich haben! ' & @LF & @LF & @TAB & '</td>' & @LF & @TAB & @TAB & '</tr>' & @TAB & @LF
    Local $AS_RET = StringRegExp($s_check, '(?i):</div></td>(.*?)</tr>', 3)
    MsgBox(64, "Error", @error)
    _ArrayDisplay($AS_RET)

    [/autoit]


    Ich meine auch mal gelesen zu haben, dass der Punkt (.) nicht Linefeeds berücksichtigt, wenn ich also das Ganze mit

    [autoit]

    StringReplace($s_check, @LF, "")

    [/autoit]

    ersetze, bekomme ich es auch hin. Wie muss ich denn "\n" für Linefeed in das Pattern einbauen?! Die Group frisst das irgendwie nicht...

  • 404 - Seite (google.com) nicht gefunden, stattdessen verbindung zu GamSpy?

    • teh_hahn
    • 11. August 2008 um 12:21

    Habs mir nicht komplett durchgelesen hier, aber prüfe auch mal deine HOSTS-Datei...

  • _GUICtrlTreeView_GetTree Problem

    • teh_hahn
    • 5. August 2008 um 15:47

    Sauber Leute... Vielen Dank für die Hilfe!

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™