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

Beiträge von name22

  • [INetGet] Vorzeitiger Abbruch

    • name22
    • 5. Juni 2011 um 22:18

    Ich sehe da wirklich keinen Fehler... Vielleicht bin ich aber auch blind... Naja, irgendjemand wird dir bestimmt helfen können ;).

  • Reg EXp hilfe benötigt

    • name22
    • 5. Juni 2011 um 20:51

    Versuchs mal so.

    Code
    '(?m)^([^<>"]+)</div>\s?$'
  • [INetGet] Vorzeitiger Abbruch

    • name22
    • 5. Juni 2011 um 20:37
    Zitat

    aber da das Problem offensichtlich allgemeinerer Natur ist,


    Nein, ich habe schon so oft mit diesen Befehlen gearbeitet und nie ein Ähnliches Problem gehabt. Also machst wohl eher du etwas falsch ;).

    Zitat

    und das Skript aus mehr als tausend unübersichtlichen Zeilen Code besteht,


    Dann poste den relevanten Ausschnitt.

  • Meine Exe wird ständig decompiled

    • name22
    • 5. Juni 2011 um 20:36

    Man kann evtl. auch noch einen Obfuscator verwenden um den Code zu verschleiern und unübersichtlich zu machen.

  • prospeed + gdi_plus

    • name22
    • 5. Juni 2011 um 20:33

    Hier eine Erklärung der Technik (Ob du es glaubst oder nicht, das habe ich über Google unter dem Begriff "Frontbuffer" gefunden...). Wie man das mit GDI+ macht ist in Ubuntus GDI+ Tutorial beschrieben. Das ist jetzt ungefähr das 10te mal, dass ich dir empfehle dieses Tutorial zu lesen :thumbdown: . Irgendwie habe ich das Gefühl du bist einfach nur faul.

  • AutoOS 1.0 - Der Desktopersatz in AutoIt

    • name22
    • 5. Juni 2011 um 18:01

    Das kannst du mit AutoIt vergessen... Ich würde dir empfehlen ein Linux basiertes Betriebsystem zu schreiben, wenn du solch große Ambitionen hast. Aber das muss man halt auch erstmal können ;).

  • Transparentes Label funktioniert nicht

    • name22
    • 5. Juni 2011 um 16:16

    Ich hab mal ein wenig herumexperimentiert, und bei mir funktioniert es, wenn ich das Label vor den Bildern erstelle.

  • Transparentes Label funktioniert nicht

    • name22
    • 5. Juni 2011 um 15:59

    Bei mir funktioniert es, aber das könnte natürlich auch damit zusammenhängen, dass ich die Bilder nicht habe welche bei dir vielleicht das Verschieben verhindern. Funktioniert es bei dir wenn du alle Bilder in einen anderen Ordner verschiebst?

  • Nur einen Radiobutton markierbar machen

    • name22
    • 5. Juni 2011 um 14:57

    Du musst alle Radiobuttons die nachher zu einer Gruppe gehören sollen nacheinander erstellen, also so:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 690, 443, 192, 124)
    $Label1 = GUICtrlCreateLabel("Frage .... ?", 16, 24, 68, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    $Frage = GUICtrlCreateGroup("Frage", 8, 8, 553, 193)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Radio1 = GUICtrlCreateRadio("Antwort 1", 24, 48, 233, 25)
    $Radio2 = GUICtrlCreateRadio("Antwort 2", 24, 71, 233, 25)
    $Radio3 = GUICtrlCreateRadio("Antwort 3", 24, 94, 233, 24)
    $Radio4 = GUICtrlCreateRadio("Antwort 4", 24, 117, 233, 25)
    $Label2 = GUICtrlCreateLabel("60 Sekunden", 160, 160, 125, 26)
    GUICtrlSetFont(-1, 14, 800, 0, "Arial")
    $Group1 = GUICtrlCreateGroup("Zeit", 152, 142, 132, 49)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("Weiter", 24, 157, 113, 28, 0)
    $Group2 = GUICtrlCreateGroup("Fertig", 16, 142, 129, 49)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Radio1
    Case $Radio2
    Case $Radio3
    Case $Radio4
    EndSwitch
    WEnd

    [/autoit]
  • Nur einen Radiobutton markierbar machen

    • name22
    • 5. Juni 2011 um 14:33

    Wie wäre es mit einem Script? Meine Hellseher Fähigkeiten sind ein wenig eingerostet... :S

  • AutoOS 1.0 - Der Desktopersatz in AutoIt

    • name22
    • 5. Juni 2011 um 12:07

    Das wäre nur ein Explorer Ersatz und kein Betriebssystem...

  • Schnellere Methode für _IEBodyReadHTML?

    • name22
    • 4. Juni 2011 um 14:41

    Sorry, da hab ich deine Funktion wohl zu schnell überflogen :(. Die HTML Entitäten werden dadurch selbstverständlich nicht "übersetzt". Lediglich die Umlaute etc. werden korrekt codiert.

  • Suchfunktion Hilfe

    • name22
    • 4. Juni 2011 um 14:37

    Schau dir am besten mal das Array Tutorial von Bugfix an (ist in seiner Signatur). Ansonsten säße ich morgen noch hier und würde dir erklären wie das geht. ;)
    Das ist eine angepasste Version meines Beispiels, welche die Daten aus einer Datei mit einer bestimmten Struktur ausließt.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUIListView.au3>

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

    ;- Author: name22 (http://www.autoit.de)

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

    Opt("GUIOnEventMode", 1)

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

    #cs Aufbau der Datei
    <START>
    <TITLE:"Titel1">
    <TAGS:"Tag1">
    <TEXT:"Line1
    Line2">
    <END>
    <START>
    <TITLE:"Titel2">
    <TAGS:"Tag1, Tag2, Tag3">
    <TEXT:"Line1
    Line2
    Line3">
    <END>
    #ce

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

    $sData = FileRead(@ScriptDir & "\Data.txt")
    $aSplit = StringRegExp($sData, '(?s)<START>(.+?)<END>', 3)

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

    Global $aHelp[UBound($aSplit) + 1][4] = [[UBound($aSplit)]]

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

    For $i = 1 To $aHelp[0][0]
    $aTitle = StringRegExp($aSplit[$i - 1], '<TITLE:"(.+?)">', 1)
    $aTags = StringRegExp($aSplit[$i - 1], '<TAGS:"(.+?)">', 1)
    $aText = StringRegExp($aSplit[$i - 1], '(?s)<TEXT:"(.+?)">', 1)

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

    If IsArray($aTitle) And IsArray($aTags) And IsArray($aText) Then
    $aHelp[$i][0] = $aTitle[0]
    $aHelp[$i][1] = $aTags[0]
    $aHelp[$i][2] = $aText[0]
    EndIf
    Next

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

    $hWnd = GUICreate("ListView Search by name22", 400, 400)
    $cList_Help = GUICtrlCreateListView("Name|Tags", 5, 5, 390, 360)
    _GUICtrlListView_SetColumnWidth($cList_Help, 0, 230)
    _GUICtrlListView_SetColumnWidth($cList_Help, 1, 156)
    $cInput_Search = GUICtrlCreateInput("", 5, 370, 340, 25)
    GUICtrlSetFont(-1, 10)
    $cButton_Search = GUICtrlCreateButton("Search", 350, 370, 45, 25)
    GUISetState()

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

    For $i = 1 To $aHelp[0][0]
    $aHelp[$i][3] = GUICtrlCreateListViewItem($aHelp[$i][0] & "|" & $aHelp[$i][1], $cList_Help)
    GUICtrlSetOnEvent(-1, "_ListClick")
    Next

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

    GUICtrlSetOnEvent($cButton_Search, "_Search")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

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

    While Sleep(1000)
    WEnd

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

    Func _Exit()
    Exit
    EndFunc ;==>_Exit

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

    Func _Search()
    $sSearch = GUICtrlRead($cInput_Search)
    If StringReplace($sSearch, " ", "") = "" Then Return MsgBox(16, "Error", "Bitte Suchwort eingeben")

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

    $aCurSel = _GUICtrlListView_GetSelectedIndices($cList_Help, True)
    If $aCurSel[0] = 0 Then
    $iIndex = 0
    Else
    $iIndex = $aCurSel[$aCurSel[0]] + 1
    EndIf

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

    $iStringInStr = 0
    For $i = $iIndex + 1 To $aHelp[0][0]
    $iStringInStr = StringInStr($aHelp[$i][0], $sSearch)
    If $iStringInStr Then
    $iIndex = $i
    ExitLoop
    EndIf
    Next
    If Not $iStringInStr Then
    For $i = 1 To $aHelp[0][0]
    $iStringInStr = StringInStr($aHelp[$i][0], $sSearch)
    If $iStringInStr Then
    $iIndex = $i
    ExitLoop
    EndIf
    Next
    If Not $iStringInStr Then Return MsgBox(16, "Error", "Suchwort nicht gefunden")
    EndIf
    _GUICtrlListView_SetItemSelected($cList_Help, $iIndex - 1, True, True)
    GUICtrlSetState($cList_Help, $GUI_FOCUS)
    EndFunc ;==>_Search

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

    Func _ListClick()
    For $i = 1 To $aHelp[0][0]
    If $aHelp[$i][3] = @GUI_CtrlId Then
    $iIndex = $i
    ExitLoop
    EndIf
    Next

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

    MsgBox(64, $aHelp[$iIndex][0], $aHelp[$iIndex][2])
    EndFunc ;==>_ListClick

    [/autoit]
  • Suchfunktion Hilfe

    • name22
    • 4. Juni 2011 um 13:20

    So ich hoffe du verstehst das Beispiel halbwegs...

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUIListView.au3>

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

    ;- Author: name22 (http://www.autoit.de)

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

    Opt("GUIOnEventMode", 1)

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

    Global $aHelp[3][4] = [[1]]
    $aHelp[1][0] = "AutoIt - Das einzig wahre"
    $aHelp[1][1] = "AutoIt, Auto, Cool, Toll, Schön, Super"
    $aHelp[1][2] = "AutoIt ist total cool!"

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

    $hWnd = GUICreate("ListView Search by name22", 400, 400)
    $cList_Help = GUICtrlCreateListView("Name|Tags", 5, 5, 390, 360)
    _GUICtrlListView_SetColumnWidth($cList_Help, 0, 230)
    _GUICtrlListView_SetColumnWidth($cList_Help, 1, 156)
    $cInput_Search = GUICtrlCreateInput("", 5, 370, 340, 25)
    GUICtrlSetFont(-1, 10)
    $cButton_Search = GUICtrlCreateButton("Search", 350, 370, 45, 25)
    GUISetState()

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

    For $i = 1 To $aHelp[0][0]
    $aHelp[$i][3] = GUICtrlCreateListViewItem($aHelp[$i][0] & "|" & $aHelp[$i][1], $cList_Help)
    GUICtrlSetOnEvent(-1, "_ListClick")
    Next

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

    GUICtrlSetOnEvent($cButton_Search, "_Search")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

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

    While Sleep(1000)
    WEnd

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

    Func _Exit()
    Exit
    EndFunc ;==>_Exit

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

    Func _Search()
    $sSearch = GUICtrlRead($cInput_Search)
    If StringReplace($sSearch, " ", "") = "" Then Return MsgBox(16, "Error", "Bitte Suchwort eingeben")

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

    $aCurSel = _GUICtrlListView_GetSelectedIndices($cList_Help, True)
    If $aCurSel[0] = 0 Then
    $iIndex = 0
    Else
    $iIndex = $aCurSel[$aCurSel[0]]
    EndIf

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

    For $i = $iIndex + 1 To $aHelp[0][0]
    $iStringInStr = StringInStr($aHelp[$i][0], $sSearch)
    If $iStringInStr Then
    $iIndex = $i
    ExitLoop
    EndIf
    Next
    If Not $iStringInStr Then
    For $i = 1 To $aHelp[0][0]
    $iStringInStr = StringInStr($aHelp[$i][0], $sSearch)
    If $iStringInStr Then
    $iIndex = $i
    ExitLoop
    EndIf
    Next
    If Not $iStringInStr Then Return MsgBox(16, "Error", "Suchwort nicht gefunden")
    EndIf
    _GUICtrlListView_SetItemSelected($cList_Help, $iIndex - 1, True, True)
    GUICtrlSetState($cList_Help, $GUI_FOCUS)
    EndFunc ;==>_Search

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

    Func _ListClick()
    For $i = 1 To $aHelp[0][0]
    If $aHelp[$i][3] = @GUI_CtrlId Then
    $iIndex = $i
    ExitLoop
    EndIf
    Next

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

    MsgBox(64, $aHelp[$iIndex][0], $aHelp[$iIndex][2])
    EndFunc ;==>_ListClick

    [/autoit]
  • Suchfunktion Hilfe

    • name22
    • 4. Juni 2011 um 12:05

    Mein Suchtool ist eigentlich nur dazu gedacht Wörter in einem Edit Control zu finden und sie zu markieren. Im Grunde ist die wichtigste Funktion die du für dein Vorhaben brauchst StringInStr ;). Wenn du eine Art Hilfe machen möchtest, empfehle ich dir alle Artikel, Tags und Namen in ein 2D Array zu packen. Dann kannst du später einfach das ganze Array nach dem Suchwort durchstöbern und die Suche sogar auf Tags, Inhalt, oder Überschrift limitieren.

  • Schnellere Methode für _IEBodyReadHTML?

    • name22
    • 4. Juni 2011 um 11:30

    InetGetSource ist das selbe wie InetRead... :rolleyes:

    [autoit='_INetGetSource']

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _INetGetSource
    ; Description ...: Gets the source from an URL without writing a temp file.
    ; Parameters ....: $s_URL - The URL of the site.
    ; $bString - If True the data is returned in string format, otherwise binary format.
    ; Return values .: Success - The read string and sets @extended to the number of bytes returned.
    ; Failure - An empty string and and sets @error to non-zero.
    ; Author ........: Wouter van Kesteren.
    ; ===============================================================================================================================
    Func _INetGetSource($s_URL, $bString = True)
    Local $sString = InetRead($s_URL, 1)
    Local $nError = @error, $nExtended = @extended
    If $bString Then $sString = BinaryToString($sString)
    Return SetError($nError, $nExtended, $sString)
    EndFunc ;==>_INetGetSource

    [/autoit]


    Deine Internetverbindung können wir auch nicht beschleunigen. :pinch:
    Und wenn du BinaryToString mit 4 als 2tem Parameter verwendest brauchst du AspirinJunkies Funktion noch nicht einmal.

  • Schnellere Methode für _IEBodyReadHTML?

    • name22
    • 4. Juni 2011 um 00:08

    Mit StringRegExp geht das schneller, allerdings nur wenn du den Quelltext bereits hast... Ansonsten geht das gar nicht anders. Willst du unbedingt mit den IE Funktionen arbeiten, oder würde dich die InetRead Funktion zufriedenstellen?

    [autoit]

    $aBody = StringRegExp($sHTML, '(?s)<body>(.+)</body>', 3)
    ConsoleWrite($aBody[0] & @CRLF)

    [/autoit]
  • Markierten Eintrag von List auslesen

    • name22
    • 3. Juni 2011 um 21:53

    Beispiel:

    Spoiler anzeigen
    [autoit]

    $hWnd = GUICreate("Test", 300, 100)
    $cList = GUICtrlCreateList("", 5, 5, 290, 90)
    GUICtrlSetData(-1, "001|002|003|004|005|006|007|008|009|010")
    GUISetState()

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

    While True
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $cList
    MsgBox(64, "List", GUICtrlRead($cList))
    EndSwitch
    WEnd

    [/autoit]
  • Nach einem String suchen überprüfen und Zeile ändern

    • name22
    • 3. Juni 2011 um 19:47

    Als erstes nimms du bitte das include aus der Funktion raus, und packst es an den Scriptanfang oder so. Danach enfernst du die While Schleife um den Exit Befehl. Dein Script funktioniert nicht, weil FileOpen nicht den Inhalt der Datei zurückgibt, sondern sie im gewünschten Modus öffnet und ein "Handle" zurückgibt, du brauchst FileRead. Wenn du die Hilfe lesen würdest, wüsstest du das... Außerdem Würde ich das StringReplace komplett entfernen, da mein RegExp Pattern seine Aufgabe komplett erfüllt. Und wenn du in Zukunft schnelle und kompetente Hilfe erwartest solltest du genaue Fehlerbeschreibungen liefern. "Das geht irgendwie nicht..." Ist keine genaue Fehlerbeschreibung.

  • Nach einem String suchen überprüfen und Zeile ändern

    • name22
    • 3. Juni 2011 um 19:20

    Gut und genau das macht mein Script. ;) ClipGet() liest Daten aus dem Zwischenspeicher aus. Kopier einfach mal den Inhalt deiner ersten ini in die Zwischenablage und führ dann mein Script aus.

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™