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

Beiträge von zombie36

  • benutzerdefinierte zeichen verwenden

    • zombie36
    • 23. Januar 2013 um 07:46

    meine antwort hat etwas gedauert aber gibt ja auch nicht viel zu beantworten.. :)
    habe momentan leider wenig zeit, weiter an dieser idee zu tüfteln...
    das mit den bildern hatte ich mir auch gedacht (im prinzip wären es nur 26 symbole für die einzelnen buchstaben, eventuell ~30 mit sonderzeichen (?!,.) und ich werde beizeiten damit beginnen.
    Ich danke dir aber dennoch für den hinweis, er hat mich dazu gebracht nochmal darüber nachzudenken, wieso ich erst dagegen war: ich konnte mir keine decrypt methode vorstellen... wenn ich die bilder aber eh als entsprechende bild-pfadangaben übermittel, löst sich das 'problem' von alleine.. wo auch immer ich eines gesehen habe !?

    Soweit erstmal de besten Wünsche und auf bald
    zombie

  • benutzerdefinierte zeichen verwenden

    • zombie36
    • 17. Januar 2013 um 22:39

    Hallo Community !

    Ich wollte mal wieder etwas coden.. Ich beschäftige mich gerne mit Symbolismus und geheimen Dingen ;) und so hatte ich folgende Idee:

    Ein Programm, welches die Buchstaben eines Textes in Symbole verschlüsselt und ggf zurück.

    Dazu habe ich eigene Schriftzeichen gemalt (mithilfe von eudcedit) welche ich auch in meiner eigenen Unicode Zeichentabelle wiederfinde.
    Jetzt habe ich aber garkeine Ahnung, wie ich:
    1.) Die Unicodesymbole in Autoit verwenden kann (Edit: ChrW() hilft hier)
    2.) Das Programm auf anderen Rechnern zum laufen bringe!!

    Diese Spielerei kann doch nicht so schwer sein :) muss ich eventuell eine font mitinstallieren? wie mache ich das? freue mich auf eure ansätze

    mit den besten grüßen,
    Zombie

  • SQL allg. / ODBC - postgresql DB - Daten lesen

    • zombie36
    • 13. Dezember 2011 um 08:33
    Zitat von Protex

    mysql_select_db 'DBName'

    SELECT 'SpaltenName' From 'TabellenName' WHERE ID='1'


    danke, damit bin ich schonmal ein stück weiter bis


    [autoit]

    $string = $oRecordset.fields(0).value

    [/autoit]


    wobei $string das gewünschte ergebnis liefert.


    mein fehler lag darin, dass ich das '.fields.xyz' nicht komplett verstehe. ich bewege mich auf Neuland und bin noch recht unsicher..wenn jemand verweise auf _nützliche_ informationen über adodb oder auch sql hat würde ich mich sehr freuen!
    //E: z.B. weiß ich nicht was

    [autoit]

    $oRs.CursorType = 1
    $oRs.LockType = 3

    [/autoit]


    das auslöst, und was es noch für properties (korrekt?) gibt die nützlich sein könnten, so wie .fields.count etc.

    So lange surf ich weiter hier im forum rum und schnapp das eine oder andere auf :)


    Vielen Dank soweit für die Unterstützung

  • SQL allg. / ODBC - postgresql DB - Daten lesen

    • zombie36
    • 13. Dezember 2011 um 04:44

    Hallo liebe Leute!

    Da ich das Script im Moment nicht klickbereit habe kann ich mein Problem erstmal nur grob umschreiben, ich bitte dennoch um eure Mithilfe (Codeabschnitte folgen)

    Ich greife über ODBC auf meine psql-db zu. Das funktioniert wunderbar, sodass ich einzelne Queries ausführen kann. Leider bin ich absoluter Anfänger in SQL (nun gut, so umfangreich ist sql ja auch nicht) und weiß nicht, wie ich einzelne Daten auslese (bitte keine Tutorial-Referenzen, das hab ich schon durch) - ich vermute dass das Zauberwort SELECT heißt? Seis wie's will, selbst mit korrekter Abfrage verstehe ich das zurückgegebene Objekt nicht.

    angenommen ich habe die variable $oSQL, die den Rückgabewert der SQL-Abfrage 'SELECT * FROM spalte_eins' beinhaltet. Wie komme ich an die Daten? $oSQL.value ist leer, $oSQL.result existiert nicht...

    Vielleicht kann mir jemand auf Anhieb helfen, sonst füge ich später / morgen weitere Informationen hinzu.

    Wie gesagt, mein Ziel ist, eine gewisse Zelle einer Tabelle auszulesen.

    Gute Nacht

  • _IECreateEmbedded() handle ???

    • zombie36
    • 10. September 2011 um 18:12

    p-p-p-push it

  • _IECreateEmbedded() handle ???

    • zombie36
    • 2. September 2011 um 14:08

    kennt sich da niemand aus? :S :(

  • _IECreateEmbedded() handle ???

    • zombie36
    • 1. September 2011 um 00:44

    So far so bad..
    ich habe das script 'etwas erweitert'

    Spoiler anzeigen
    [autoit]

    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #Include
    #include
    #include

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

    $sTitle = "Trowser"

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

    #Region ### START Koda GUI section ### Form=
    $gMain = GUICreate($sTitle, 1206, 761, 300, 245, $WS_THICKFRAME, $WS_SIZEBOX)
    $MenuItem1 = GUICtrlCreateMenu("Datei")
    $MenuSettings = GUICtrlCreateMenuItem("Einstellungen", $MenuItem1)
    $MenuExit = GUICtrlCreateMenuItem("Beenden", $MenuItem1)
    $MenuItem2 = GUICtrlCreateMenu("MenuItem2")
    $MenuItem3 = GUICtrlCreateMenu("MenuItem3")

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

    $oYoutube = _IECreateEmbedded()
    GUICtrlCreateObj($oYoutube, 930, 28, 300, 216)
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DoCKWIDTH + $GUI_DOCKHEIGHT)
    _IENavigate($oYoutube, "about:blank")

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

    $ButtonYT1 = GUICtrlCreateButton("v", 936, 8, 20, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)

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

    $InputYT1 = GUICtrlCreateInput("", 960, 8, 240, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DoCKWIDTH + $GUI_DOCKHEIGHT)

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

    $ContextYT1 = GUICtrlCreateContextMenu($ButtonYT1)
    GUICtrlCreateMenuItem("test", $ContextYT1)

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

    $Edit1 = GUICtrlCreateEdit("", 930, 250, 273, 400, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DoCKWIDTH + $GUI_DOCKBOTTOM)

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

    $oSearch = _IECreateEmbedded()
    GUICtrlCreateObj($oSearch, 930, 650, 273, 300)
    GUICtrlSetResizing(-1, $GUI_DOCKBOTTOM + $GUI_DOCKRIGHT + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)

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

    $PageControl1 = GUICtrlCreateTab(0, 8, 932, 706)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM + $GUI_DOCKTOP)

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

    #EndRegion ### END Koda GUI section ###

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

    Global $activeCtrl = -1

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

    $sStartUrl = "http://www.autoit.de"

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

    Global $aTabs[1] = [""]
    Global $aInputs[1] = [""]
    Global $aIEs[1] = [""]
    Global $aUrls[1] = [""]
    Global $aBtns[1] = [""]
    _tabCreate()
    _ArrayDelete($aTabs, 0)
    _ArrayDelete($aIEs, 0)
    _ArrayDelete($aInputs, 0)
    _ArrayDelete($aURLs, 0)
    _ArrayDelete($aBTNs, 0)
    _Navigate(0, $sStartURL)
    _tabCreate()

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

    _YTCreate("http://www.youtube.com/watch?v=7r0KpWMNxnM")

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

    _searchCreate()

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

    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    _exit()
    Case $PageControl1 ;tab change
    $iSel = GUICtrlRead($PageControl1)

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

    If $iSel = UBound($aTabs) -1 Then
    _tabCreate()
    GUICtrlSetState($aTabs[$iSel], $GUI_SHOW)
    _Navigate($iSel, $sStartURL)
    EndIf

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

    Case $aBtns[GUICtrlRead($pageControl1)]
    $i = GUICtrlRead($pageControl1)
    _tabDelete($i)
    If $i > 0 Then
    GUICtrlSetState($aTabs[$i - 1], $GUI_SHOW)
    Else
    GUICtrlSetState($aTabs[0], $GUI_SHOW)
    EndIf
    If GUICtrlRead($pageControl1) = UBound($aTabs) -1 Then
    _tabCreate()
    GUICtrlSetState($aTabs[$i], $GUI_SHOW)
    _Navigate($i, $sStartURL)
    EndIf

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

    case -7
    $actv = ControlGetFocus($sTitle)
    If $actv <> $activeCtrl Then
    If ControlGetHandle($sTitle,"",$actv) = GUICtrlGetHandle($aInputs[GUICtrlRead($PageControl1)]) Then
    _GUICtrlEdit_SetSel($aInputs[GUICtrlRead($PageControl1)],0,-1)
    EndIf
    $activeCtrl = $actv
    EndIf

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

    Case $ButtonYT1
    $sInp = GUICtrlRead($InputYT1)
    If $sInp <> "" Then
    _playAdd($sInp)
    Else
    _YTShowOptions()
    EndIf
    GUICtrlSetData($InputYT1, "")

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

    EndSwitch

    If _IsPressed("0D") Then _Enter()
    _update()

    WEnd

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

    Func _TabCreate()
    $hTab = GUICtrlCreateTabItem(" ")
    $Group1 = GUICtrlCreateGroup("", 4, 42, 924, 41)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DoCKRIGHT + $GUI_DocKHEIGHT)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")

    $Input1 = GUICtrlCreateInput("", 92, 54, 831, 22)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DoCKRIGHT + $GUI_DOCKHEIGHT)

    $Label1 = GUICtrlCreateLabel("Adresse:", 28, 58, 49, 18)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)

    $btn = GUICtrlCreateButton("X", 904, 30, 16, 16)
    GUICtrlSetResizing(-1, $GUI_DOCKTOP + $GUI_DOCKRIGHT + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)

    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $oStart = _IECreateEmbedded()
    GUICtrlCreateObj($oStart, 0, 90, 926, 625)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM + $GUI_DOCKTOP)

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

    _IENavigate($oStart, "about:blank")
    GUICtrlCreateTabItem("")
    _ArrayAdd($aTabs, $hTab)
    _ArrayAdd($aInputs, $Input1)
    _ArrayAdd($aIEs, $oStart)
    _ArrayAdd($aUrls, $oStart.document.url)
    _ArrayAdd($aBtns, $btn)
    EndFunc

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

    Func _TabDelete( $i )
    GUICtrlDelete($aTabs[$i])
    _ArrayDelete($aTabs, $i)
    _ArrayDelete($aInputs, $i)
    _ArrayDelete($aIEs, $i)
    _ArrayDelete($aUrls, $i)
    _ArrayDelete($aBTNs, $i)
    EndFunc

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

    Func _Enter ()
    $idActive = ControlGetFocus($sTitle,"")
    $hActive = ControlGetHandle($sTitle, "", $idActive )
    $iIndex = -1
    For $i = 0 To UBound($aInputs) -1
    if GUICtrlGetHandle($aInputs[$i]) = $hActive Then
    $iIndex = $i
    ExitLoop
    EndIf
    Next
    If $iIndex <> -1 Then
    _Navigate($iIndex, guictrlread($aInputs[$iIndex]))
    EndIf
    EndFunc

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

    Func _Navigate ($iTab, $sUrl)
    _IENavigate($aIEs[$iTab], $sUrl, 0)
    GUICtrlSetData($aTabs[$itab], StringLeft($sUrl,20))
    GUICtrlSetData($aInputs[$iTab], $sUrl)
    GUICtrlSetState($atabs[$iTab], $GUI_SHOW)
    EndFunc

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

    Func _update()
    For $i = 0 to UBound($aTabs) -1
    $url = $aIEs[$i].document.url
    If $url <> $aUrls[$i] Then
    $aUrls[$i] = $url
    GUICtrlSetData($aInputs[$i], $url)
    EndIf
    Next
    EndFunc

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

    Func _YTCreate($sUrl)
    $sUrl = StringSplit($sUrl, "==", 1)
    $sUrl = StringSplit($sUrl[1], "&", 1)
    $sUrl = StringSplit($sUrl[1], "watch?v=", 1)
    If @error Then Return
    $sUrl = $sUrl[2]

    $sHTML = "" & @LF
    $sHTML &= '</iframe>'
    _IEBodyWriteHTML($oYoutube, $sHTML)
    EndFunc

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

    Func _searchCreate()
    $sHTML = '
    web

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

    '
    _IEBodyWriteHTML($oSearch, $sHTML)
    EndFunc

    [/autoit]

    Es ist etwas buggy (zB lädt die Suche nicht) das liegt evtl daran dass ich einige Code-Teile vornweggelassen habe

    mein Problem jetzt ist, wenn man einen neuen Tab öffnet / einen Tab schließt, das YoutubeFenster (und bei mir auch die Suche) zur weißen fläche werden. erst wenn ich mit der maus über die controls fahre werden sie wieder sichtbar.

    ich dachte erst daran das Gui neu zeichnen zu lassen das verändert aber nichts

    Ideen? Gruß

  • _IECreateEmbedded() handle ???

    • zombie36
    • 31. August 2011 um 15:33

    Okay jetzt wo ich es nochmal versuche klappt das *kopf - tisch*


    Jetzt hab ich nurnoch das Problem, dass ein ladendes objekt in Vordergrund kommt, selbst wenn es sich auf einem hidden Tab befindet.

    Wie kann ich das umgehen? Damit könnte ich Seiten automatisch neu laden nach einiger Zeit was sicherlich sehr praktisch ist :)


    //EDIT:

    man kann auch echt dumm sein...aber ich übertreff mich täglich :)

    Das Problem lag darin, dass ich meine Tab control nicht mit "GuiCtrlCreateTabItem("")" Abgeschlossen habe...
    Das hab ich jetzt nachgeholt und damit funkltioniert alles.. :huh: :whistling:

  • _IECreateEmbedded() handle ???

    • zombie36
    • 31. August 2011 um 04:06

    Hi,

    ich hab mithilfe von _IECreateEmbedded() ein objekt erstellt.
    Da ich mehrere _IE - objekte managen möchte (wird ein browser mit Tab control) speichere ich diverese handles in Arrays...
    Allerdings ist der Rückgabewert von _IECreateEmbedded() = "" ... damit kann ich nichts anfangen.

    Gibt es eine Möglichkeit, besagtes zu lösen? (Wie gesagt, mein Ziel ist, mithilfe des aktiven Tabs, das entsprechende _IE objekt zu steuern)
    Solltet ihr mein Skript brauchen, lad ich es hoch. Ist aber etwas verwirrend^^ ich denke man kann es auch so lösen :)

    Gruß

  • autoit.de goes professional

    • zombie36
    • 25. August 2011 um 06:10

    Grad gelesen, grundsätzlich keine schlechte Idee. Wie stellst Du dir das genau vor? Ich selbst code recht viel und habe das notwenidige logische Verständnis und auch schon ein wenig Erfahrung in VB / .Net, außerdem würde ich sehr gerne eine Ausbildung zum Fachinformatiker machen (vor allem in AutoIT wär das mal ne lustige geschichte :D), aber ich habe persönliche Gründe die gegen goße social networks sprechen.

    Deshalb nochmal, wie stellst du dir das vor? Hast du bereits mit Firmen gesprochen / verbindungen im Allgemeinen? Ich freu mich davon zu hören, guck hier nciht oft rein aber schickt mir doch ne SN wenn sich mehr ergibt

    LG

  • RegExp für Pokerhände

    • zombie36
    • 25. August 2011 um 05:27

    Noch etwas: ich muss nicht zwingend RegExp nutzen (was ich bisher rausgefunden habe und mir schon dachte: dadurch dass meine karten nicht sortiert sind wird das alles komplizierter)

    habs zwischenzeitlich mit primzahlen versucht (jeder wert / farbe <=> eine primzahl) aber wenn ich diese multipliziere kommen zugroße Zahlen heraus als dass autoit damit arbeiten kann ^^

    Wie gesagt ich freue mich auf jede weitere idee!!

  • RegExp für Pokerhände

    • zombie36
    • 25. August 2011 um 05:21

    Hallo,

    ich bin sehr neu in der Welt der RegExps, hab mir gerade das Tutorial aus diesem Forum durchgelesen (im großen und ganzen sehr schön gemacht) auf der Suche nach einer Lösung. Außerdem hab ich mir ein Automatenpoker-Script geladen und angeguckt... wurde trotzdem nicht schlauer...genug erklärt hier mein Problem:

    ich schreibe ein kleines LAN-Poker nach gängigen Texas Holdem Regelwerk. Die Karten haben eine amerikanische bezeichnung bekommen (i'm just jused to it ;) ) -> Ks (King of spades), Td (Ten of diamonds) 7c (Seven of clubs) und so weiter.

    Jetzt will ich die Handstärke ermitteln, gegeben sind also 7 Karten (5 Gemeinschaftkarten und 2 Handkarten, alle in einem Array zusammengefasst). Ich dachte mit RegExp sollte sich das irgendiwe lösen lassen. Wie gesagt, ich weiß bis jetzt nochnicht wie. Habe sehr aufwändige Algorythmen geschrieben die z.T. unnötig Zeitauffwändig sind.

    Ich würde mich freuen wenn Ihr mir Beispiele liefern könnt. Am besten für einen Full House (Drilling + Paar) oder eine Straße (5 in einer reihnfolge). Außerdem bitte ich um eine kurze erklärung des Syntax'.

    Vielleicht hat auch jemand bereits eine Lösung geschrieben, noch habe ich die Möglichkeit mein script anzupassen.

    Freue mich auf Ideen und wieder etwas neues zu lernen =)
    LG zombie36

  • CMD - Während Benutzereingabe Text hinzufügen

    • zombie36
    • 21. August 2011 um 23:58

    Hallo,

    ich bin mir nicht sicher ob ich das Problem richtig verstehe

    Was wäre, wenn du mithilfe von Hotkeys eine Art Keylogger erstellst, der dann bei Enter den String überprüft und ausführt?

    Edit: hier ne kurze verdeutlichung:

    pseudo code:

    [autoit]


    $string

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

    HotkeySet("e","_e")

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

    func _e ()

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

    $string += "e"
    send("e")
    endfunc

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

    func _enter()
    consolewrite($string)
    _serverDo($string)
    endfunc

    [/autoit]

    ist halt ein bischen arbeit

  • OCR - Brainstorming

    • zombie36
    • 21. August 2011 um 16:57

    1.) Was besagt das rauseditieren denn aus außer
    2.) dass der screenshot unnötigerweise dort stand, weil das resultat meiner aussage mit oder ohne das gleiche bleibt.

    unabhängig davon verstehe ich nicht ob ich mich hier rechtfertigen soll oder nicht. Ich habe erklärt wozu ich die chatbox auslesen möchte.
    Wenn ihr unlautere Absichten vermutet dann unterlasst die Hilfe und schließt den Thread und einen Schlussstrich unter das Thema.
    Ich weiß aber dass viele irgendwann vor dem Problem stehen, Text nicht auslesen zu können. Mein einziges Anliegen ist herauszufinden, wie man ein Workaround bildet das flüssig und schnell läuft.

  • OCR - Brainstorming

    • zombie36
    • 21. August 2011 um 00:45

    danke für den hinweis, aber tatsächlich soll es nur ein protokoll erstellen. Ich verwende die daten im nachhinein zur auswertung mit einem datenbanksystem. Das ist nur ein teil eines sehr großen projekts dass ich aus reiner freude am lernen in angriff nehme :)

  • OCR - Brainstorming

    • zombie36
    • 21. August 2011 um 00:03

    Also, ich hab mir tesseract mal angesehen und
    bekam folgenden output:

    new newe ww :we
    new vyenvsnu ewx
    me :wnek
    m 2345smaeneeergw\k\~~ene»ewW»y1Ascnsrsmmmwnwuasmv
    ww/z sn
    new me cwnek, www nw van me H eeeenee Ae w

    Das dazu :)

    Außerdem habe ich mir die einzelnen Buchstaben angesehen, pixelweise ausgewertet und einfach drauf losgecoded. Indem ich die einzenen Buchstaben voneinander trenne und mir die jeweiligen Pixel danach ansehe komme ich zu dem gewünschten ergebnis. Dies dauert aber recht "lange" (max 5 zeilen/s)

    lieben Gruß

  • OCR - Brainstorming

    • zombie36
    • 17. August 2011 um 21:39

    vielen dank für dein edit. Ich bin ja daran interessiert komplizierte dinge zu lösen :) außerdem ist tesseract nur c++ kompatibel soweit ich weiß. Das mit den Mustern ist ne gute Idee (ist halt viel Aufwand im Vorhinein bis man die speziellen muster rausgefiltert hat ^^) !!
    Werd mich später gleich dransetzen, wenn jemand was hinzuzufügen hat,immer her damit :)

    Lieben gruß

  • OCR - Brainstorming

    • zombie36
    • 17. August 2011 um 21:03

    es handelt sich nicht um captchas sondern um einen chatroom der mit controlgettext nur nen leeren string ausspuckt. Für diesen möchte ich ein Protokoll mitlaufen lassen. Mit o.g. Ansatz würde ich ohnehin keine Captchas knacken können, da einzelne Pixel ja immer überdeckt werden, die Buchstaben in anderen Winkeln liegen und vieles mehr.

  • OCR - Brainstorming

    • zombie36
    • 17. August 2011 um 20:47

    Hallo, ich habe jetzt nach langer Zeit endlich den Entschluss gefasst eine simple Version eines OCR-Readers zu basteln. Jener soll lediglich ein bestimmtes Format erkennen (Schriftart und -größe sind konstant genau wie die Farbe, die Hintergrundfarbe wechselt jedoch).
    Zwischen den Buchstabel existiert jeweils eine 1 pixel breite Lücke. Buchstaben sind schwarz

    Als ich mich jetzt daran machen wollte, erste Ideen zusammenzustellen und zu coden stand ich vor folgenden Problemen:
    Ich beginne also damit die Buchstaben voneinander zu separieren (ich suche die 1 pixel breite lücken). Schon hier befürchte ich dass dies unnötige Zeit frisst (da ich jede y-reihe für jeden x-punkt überprüfen muss). Dennoch wird mir nichts anderes übrig bleiben(?).

    Welche Methode soll ich benutzen, um die Buchstaben abzugleichen?
    Pixelchecksum funktioniert nicht, weil es nicht den Unterschied zwischen 6 und 9, a nud e usw. erkennt. Also überlegte ich, ob ich die Coords der schwarzen Pixel in einem Array speichern soll um dann den Arrayinhalt abzugleichen. Ich befürchte, das dauert recht lange.
    Ich könnte alternativ jeden Buchstaben vorspeichern (mit den 4 möglichen Hintergrundfarben) und damit einen Abgleich machen (vorrausgesetzt man kann Bilder Pixelwise abgleichen(?) )
    Also welche Methoden habt ihr schon verwendet und gute Erfahrungen gemacht? Ich baue in diesem Punkt auf Schnelligkeit gleichermaßen wie auf Genauigkeit!

    Sollte ich direkt auf dem Screen arbeiten, oder empfiehlt sich ein Screenshot den ich dann überprüfe? Was ist schneller? (Ich tendiere, bei gleichem Zeitaufwand, zu dem screenshot, da der text in den Zeilen verrutscht wenn weiterer Text hinzugefügt wird)

    Ich bin bereits gut in AutoIT eingearbeitet, aber mir fehlt das Hintegrrundwissen, welche Methoden schnell und sauber arbeiten und welche veraltet oder einfach nur langsam sind. Habe bisher auch wenig mit Graphiken überhaupt gearbeitet (weiter als bis zum erstelen von screenshots kam ich nicht :P)
    Würde mich freuen von etwas erfahreneren Leuten Feedback zu bekommen.
    Vielleicht gibt es ja eine Graphik-Klasse die ich übersehen habe mit der vieles einfacher wird oder oder oder...

    Selbstverständlich werde ich am Ende meine Lösung (zumindest teilweise) darlegen.

    Mit besten Grüßen
    zombie36

  • StringRegExp Tutorial / Reguläre Ausdrücke in AutoIt

    • zombie36
    • 20. Februar 2011 um 21:42

    Hey

    erstmal vielen dank fürs tutorial.. bin noch dabei zu lesen und kann was damit anfangen was ich seh :D

    hab ne alternative zu deinem softwarevorschlag gefunden:

    http://www.regular-expressions.info/javascriptexample.html

    testet die regexpressions online ohne ballast auf der platte :)

    //E: kann sein dass javascript regex anders funktioniert, falls das so sein sollte ist mein post irrelevatn ^^

    gruß

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™