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

Beiträge von Ilse

  • StringBetween Breich eingrenzen

    • Ilse
    • 23. April 2011 um 18:34

    He Misterspeed,

    SUPER! Es klappt. Juhu.... :thumbup:
    Deine Kommentare helfen mir wirklich das ein wenig zu verstehen.
    ...und trotzdem bin ich jedesmal frustiert, warum meine zahlreichen Versuche alle scheitern.
    Du verwendest z.B. ArraySearch und nichts mit StringInStrg, StringMid...

    Man muß also einfach so denken wie du, so viel lernen wie du..., dann klappt das auch!
    Habe auch jedenfall heute nochmal X% von dir gelernt. DANKE!

    Liebe Grüße
    Ilse
    und noch ein Frohes Osterfest ;)

  • StringBetween Breich eingrenzen

    • Ilse
    • 23. April 2011 um 14:55

    Hallo Andy,

    ich habe die Hilfe zig mal gelesen.
    Ich komme nicht weiter!

    [autoit]


    $Ergebnis =_StringBetween($Suchtext,'<a href="#','"><span class')

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


    das ist mir klar.

    $Suchtext ist ja der kpl. Quellcode der durchsucht wird!
    Folglich liefert $Ergebnis alles aus dem Quellcode!

    Ich brauche aber nur die Ergebnisse
    für einen bestimmten Bereich innerhalb $Ergebnis


    da hänge ich....

    Liebe Grüße
    Ilse ;)

  • StringBetween Breich eingrenzen

    • Ilse
    • 23. April 2011 um 14:31

    Hallo,

    ich möchte nur einen bestimmten Bereich eines Quellcodes
    durchsuchen und dann auslesen.

    Ich schaffe es einfach nicht, trotz aller Bemühungen

    [autoit]


    #include <array.au3>
    #include <String.au3>
    #Include <INet.au3>
    Dim $Suchtext,$Ergebnis,$Suchbereich

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

    $Suchtext = _INetGetSource("http://de.wikipedia.org/wiki/WWF")

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

    ;$Suchbereich =_StringBetween($Suchtext,'<h2>Inhaltsverzeichnis</h2>','</table>')
    $Ergebnis =_StringBetween($Suchtext,'href='," ") ; Test kpl. Quelltext wird angezeigt

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

    _ArrayDisplay($Ergebnis)

    [/autoit]

    In diesem Breich sollte gesucht werden!
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Meine Frage:
    Wie kann ich
    1. Den Suchbereich von bis angeben
    2. und anschließend suchen?

    Viele Grüße
    Ilse ;)

    Dateien

    autoit.jpg 53,7 kB – 0 Downloads
  • Array Lese Problem

    • Ilse
    • 22. April 2011 um 17:22

    Hallo Raupi,

    schön daß du trotzdem geantwortet hast.

    Habe alles nochmal einzeln analysiert und soweit auch verstanden.
    Ich kann dich beruhigen. :D
    Da ich Zeilenweise lese dachte irgendwie anders herum.
    z.B. so:
    lese Zeile für Zeile....
    StringInStrg...Suche das Wort "Hunde"
    Ab dann:
    StringBetween (liefere das Ergebnis zwischen href & <...) www.
    und dann fehlte mir das Ende!

    Ich werde mir nochmals die Stringbefehle in der Hilfe genauer ansehen.

    melde mich wieder.

    Liebe Grüße
    und Danke für die guten Nerven mit mir!

    ;) Ilse
    wünsche Dir und alle anderen ein frohes Osterfest

  • Array Lese Problem

    • Ilse
    • 22. April 2011 um 15:42

    Hallo Raupi,

    eine Frage muß ich noch loswerden.
    Eigentlich ein String Problem.

    Ich fasse mich kurz:

    [autoit]


    If StringInStr($aRecords[$i], 'Hunde') Then ;Hier wird ja der Suchbegriff angegeben, ab dann geht's los.

    [/autoit]

    Meine Frage:
    Kann ich nur einen bestimmten Bereich der Seite durchsuchen lassen?
    VON - BIS!
    Da ich Zeilenweise vorgehe, klappt ja StringBetween nur für das Suchwort in einer Zeile.
    ich meine so:
    Durchsuche die kpl. Seite zwischen Hunde und Katzen und zeige alle http:// Seiten an!

    Beispiel:

    [autoit]


    wenn das der html Inhalt wäre...
    Text....
    Text...
    von Hunde Hier ist mein StringInStrg Befehl

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

    http://www. (Hier wären meine StringBetween Befehle) und meine Array Ergebnisse
    http://www.
    http://www.

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

    bis Katzen
    http://www das sollte nicht mehr verarbeitet werden!

    [/autoit]

    StringUntil oder so etwas habe ich nicht gefunden!

    Liebe Grüße
    Ilse ;)

  • Array Lese Problem

    • Ilse
    • 21. April 2011 um 17:35

    He Raupi,

    Dank dir. :thumbup:
    Ich muß jetzt leider wieder los.
    Wenn ich heute Abend zurück bin, werde ich mir mal dein Werk genauer ansehen.

    Bin jetzt ehrlich geschafft....!

    Liebe Grüße
    Ilse ;)

  • Array Lese Problem

    • Ilse
    • 21. April 2011 um 17:21

    He Raupi,

    ich habe deinen Code (Spoiler)
    einfach in Scite kopiert und probiert, ging nicht!
    Dann habe ich ihn wieder kopiert, einen Spoiler gemacht
    und ...ups die Formatierung war weg.
    Also keine Absicht. :thumbdown:

    Ich habe aber auch alles mit anderen Websites probiert, passiert leider nichts!

    Es ist kein Download mehr da!

    :( Grüße
    Ilse

  • Array Lese Problem

    • Ilse
    • 21. April 2011 um 16:50

    He Raupi,

    dein Code klappt irgendwie nicht!

    Spoiler anzeigen


    #include <String.au3>
    #include <file.au3>
    #include <Array.au3>
    Dim $aRecords

    Global $Found[1]; Array für spätere Fundee

    InetGet("http://www.hunde.de/kleinanzeigen/index.html", @ScriptDir & "\hunde.htm", 1)

    If Not _FileReadToArray("hunde.htm", $aRecords) Then
    MsgBox(4096, "Error", " Error:" & @error)
    Exit
    EndIf

    For $i = 1 To $aRecords[0]
    If StringInStr($aRecords[$i], "hunde") Then
    $search = _StringBetween($aRecords[$i], "href", ".de"); Suchstring scheint falsch zu sein, es wird nicht die ULR ausgegeben
    If IsArray($search) Then ; Url wurde gefunden
    For $i = 0 To UBound($search) - 1; Schleife um die Funde pro Zeile auszuwerten
    ReDim $Found[UBound($Found) + 1]; Größe des Arrays um 1 erhöhen
    $Found[UBound($Found) - 1] = $search[0] ;Fund ins letzte Arrayelement schreiben. Ubound -1 weil ein Array bei 0 anfängt zu zählen
    Next
    EndIf
    EndIf
    Next
    $Found[0] = UBound($Found) - 1 ; Anzahl der Funde in Index 0 schreiben
    _ArrayDisplay($Found, "Funde")
    ;Hier muß der Teil hin, welches in die Ini schreibt.

    MsgBox(0, "", "Ini wurde angelegt")

    Ich probiere mal auf anderen Seiten
    und seh mir mal dein Werk näher an. Danke!


    :huh: Ilse

  • Array Lese Problem

    • Ilse
    • 21. April 2011 um 15:53

    Hallo Raupi,

    die Suchstrings sind als Beispiel gedacht.
    Aber wieso zeigt ArrayDisplay nur einen Eintrag?

    Wie kann man alle Suchergebnisse (die gefiltert wurden) im Array anzeigen?
    mehrere Zeilen...


    Grüße
    Ilse :huh:

  • Array Lese Problem

    • Ilse
    • 21. April 2011 um 15:09

    Hallo Raupi,

    ...dachte das genügt.
    Ich habe hier mal noch eine Variante
    mit den Arrays:
    1. Der Text wird gespeichert.
    2. Dann wird alles in das Array geschrieben
    3. Dann sollte ausgelesen werden und eine ini angelegt werden.

    Mein Alptraum heute: ?(

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

    #include <String.au3>
    #include <file.au3>
    #include <Array.au3>
    Dim $aRecords
    InetGet("http://www.hunde.de/kleinanzeigen/index.html", @ScriptDir & "\hunde.htm", 1)

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

    If Not _FileReadToArray("hunde.htm",$aRecords) Then
    MsgBox(4096,"Error", " Error:" & @error)
    Exit
    EndIf
    For $i = 1 to UBound($aRecords) - 1

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

    ;MsgBox(0,"",$aRecords[$i])

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

    if StringInStr($aRecords[$i],"hunde") Then

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

    $search = _StringBetween($aRecords[$i],"href",".de")
    _ArrayDisplay($search)

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

    If IsArray($search) Then
    ;Werte in ini schreiben
    ;MsgBox(0,"",$search[$i])
    endif

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

    endif

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

    Next
    MsgBox(0,"","Ini wurde angelegt")

    [/autoit]

    Grüße
    Ilse ;)

  • Array Lese Problem

    • Ilse
    • 21. April 2011 um 13:39

    @ BudBunny
    Dim $aRecords ist drin!

    hatte ich vergessen, sorry!

    [autoit]


    #include <String.au3>
    #include <file.au3>
    #include <Array.au3>
    Dim $aRecords
    For $i = 0 to UBound($aRecords) - 1 ; ich fange bei 0 an und zähle....

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


    if StringInStr($aRecords[$i],'>Hunde<') Then ; ich suche nach dem Wort im Text
    $search = _StringBetween($aRecords[$i],'value','<') ; Wenn gefunden dann zeige den Wert dazwischen...
    _ArrayDisplay($search) ; bis hierhin schaffe ich es! (das Ergebnis ist ok)

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

    If IsArray($search) Then ; nun möchte ich die Werte der Spalte in eine Ini Schreiben
    MsgBox(0,"",$search[$i][0]) ; hier sollte also Col0 nacheinander angezeigt werden!
    endif

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

    endif

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

    Next
    MsgBox(0,"","Fertig")

    [/autoit]

    misterspeed,

    heißt das, ich muß bei StringBetween 2 Dimensionen zurückgeben?

    [autoit]


    $search = _StringBetween($aRecords[$i][0],'value','<')

    [/autoit]

    das geht aber auch nicht!

    Bleibe ich in der 1. Dimension, dann wird nur eine Msgbox gezeigt.
    Ich kann die Msgbox im Loop nicht verwenden!
    Wie du mir erklärt hast zeigt
    Habe schon zig Varianten durch.

    Das passiert mit der Msgbox:

    [autoit]


    MsgBox(0,"",$search[0])

    [/autoit]


    zeigt 1 Array an und Loop wird anschließend beendet!
    OK!
    Aber so wird abgebrochen

    [autoit]


    MsgBox(0,"",$search[$i])

    [/autoit]

    Grüße
    Ilse :huh:

  • Array Lese Problem

    • Ilse
    • 21. April 2011 um 12:58

    Hallo,

    ich melde mich heute ganz ganz ungerne,
    weil es mal wieder um die Arrays geht!
    Ich probiere schon den ganzen Morgen....!

    Hab't Erbarmen!

    Dann denkt man, man hat es etwas verstanden
    aber es klappt einfach nicht!
    Array Display sieht aus wie oben in dem
    Beispiel, allerdings mit einer Spalte! (Row + Column)

    Hier mein Code

    [autoit]


    #include <String.au3>
    #include <file.au3>
    #include <Array.au3>

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

    For $i = 0 to UBound($aRecords) - 1 ; ich fange bei 0 an und zähle....

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


    if StringInStr($aRecords[$i],'>Hunde<') Then ; ich suche nach dem Wort im Text
    $search = _StringBetween($aRecords[$i],'value','<') ; Wenn gefunden dann zeige den Wert dazwischen...
    _ArrayDisplay($search) ; bis hierhin schaffe ich es! (das Ergebnis ist ok)

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

    If IsArray($search) Then ; nun möchte ich die Werte der Spalte in eine Ini Schreiben
    MsgBox(0,"",$search[$i][0]) ; hier sollte also Col0 nacheinander angezeigt werden!
    endif

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

    endif

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

    Next
    MsgBox(0,"","Fertig")

    [/autoit]

    _ArrayDisplay zeigt Row + Column 0 an!
    ROW beginnt bei 0

    Liebe Grüße
    Ilse :huh:

  • _ff.au3 Probleme Firefox 4

    • Ilse
    • 20. April 2011 um 11:16

    misterspeed
    habe alles nochmal neu istalliert. Klappt jetzt)
    DANKE (mal wieder...!)

    @ alle zum nachvollziehen

    • Hatte alles lauffähig auf Firefox 3.6 incl. addon
    • Machte Update auf Firefox 4.0 (alle addons wurden angezeigt, außer MozRepl)

    Habe das Menü eingeblendet bei Firefox 4.0 MozRepl war nicht zu sehen.
    Also habe ich es neu installiert (Beta 2)
    Und jetzt läuft das ganze endlich.

    Liebe Grüße
    Ilse ;)

  • _ff.au3 Probleme Firefox 4

    • Ilse
    • 19. April 2011 um 21:03

    So, habe das in der Console entdeckt!

    [autoit]


    _FFConnect ==> Timeout: TCPConnect Error: 10061
    _FFConnect ==> General Error: Timeout: Can not connect to FireFox/MozRepl on: 127.0.0.1:4242
    +>20:58:00 AutoIT3.exe ended.rc:0
    >Exit code: 0 Time: 85.520

    [/autoit]
    • Wie kann man das in Firefox 4 einstellen!
    • Wo kann ich die MozRepl Downloaden?


    In Firefox 3 Datei Extras...ok, aber FIREFOX 4 ???
    Ich hatte mal MozRepl. für Firefox 3 installiert,
    danach das Update gemacht!

    Grüße
    Ilse ;)

  • _ff.au3 Probleme Firefox 4

    • Ilse
    • 19. April 2011 um 19:37

    Hallo Misterspeed,

    ... habe viel probiert bis ich gepostet habe.

    Zitat

    Dein Fehler liegt sicher wieder an deinem Array

    Kann nicht sein, denn mit dem IE werden Tabs geladen!
    Jeder Arrayinhalt ist eine korrekte WebAdresse.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Zitat

    Allgemein könntest du die URL auch gleich im Tab laden, anstatt openurl zu nutzen.

    Habe ich auch probiert, geht nicht!

    Und, die Console liefert keine Fehlermeldungen!

    Was mir aufgefallen ist:

    [autoit]


    For $i = 0 To UBound($aResults) - 1
    MsgBox(0,"",$aResults[$i][0])
    Next

    [/autoit]

    Der Loop arbeitet korrekt!
    Sobald ich aber FF.au3 ins Spiel bringe hängt das ganze.
    Wenn ich _ffstart() eintrage

    [autoit]


    _ffstart(); Firefox wird leer gestartet, ab dann passiert nichts.
    For $i = 0 To UBound($aResults) - 1
    MsgBox(0,"",$aResults[$i][0])
    Next

    [/autoit]

    Mache ich z.B. so etwas:

    [autoit]


    If _FFConnect(Default, Default, 3000) Then
    ; open a page
    MsgBox(0,"",$aResults[$i][0])

    Sleep(3000)

    If _FFDisConnect() Then ToolTip("Meldung...")

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

    Sleep(3000)
    Else
    MsgBox(64, "", "Keine Verbindung zu Firefox!")
    EndIf

    [/autoit]

    dann bekomme ich die Meldung (Keine Verbindung zu Firefox)
    Seltsam, Firefox ist geöffnet, online...
    Es klappt nicht.

    Kann es vielleicht an der MozRep... Firefox 4 liegen?
    Aber, dann müsste doch schon gar nicht Firefox gestartet werden.

    Grüße
    Ilse ;)

    Bilder

    • autoit.jpg
      • 7,74 kB
      • 246 × 142
  • _ff.au3 Probleme Firefox 4

    • Ilse
    • 19. April 2011 um 17:31

    Hallo,

    ich probiere schon die ganze Zeit
    das zum laufen zu bringen.

    [autoit]


    _FFStart("http://www.google.de") ; Firefox wird gestartet OK!

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

    ;If _FFIsConnected() Then
    For $i = 0 To UBound($aResults) - 1
    MsgBox(4096, "Meine Zelle ist:", $aResults[$i][0]) ; Msgbox mit Adresse wird nach "einiger Zeit" angezeigt!
    _FFOpenURL($aResults[$i][0],true) ; Ab hier passiert nichts mehr!
    _FFTabAdd()
    ;_FFTabAdd($aResults[$i][0])
    Next
    ;EndIf

    [/autoit]

    Also, der Loop zeigt alle Adressen nacheinander an..
    Ich wollte daß dann jede Seite in Firefox einen TAB erhält.
    Wie gesagt, Firefox wird gestartet, die Adressen werden auch nacheinander angezeigt...
    Habe ff3 included...
    Muß ich bei Version 4 von Firefox etwas beachten?


    Grüße
    Ilse ;)

  • Array Lese Problem

    • Ilse
    • 19. April 2011 um 14:12

    @ alle

    habt alle etwas Nachsehen mit mir.

    Sobald ich Arrays in meinem Code habe
    fange ich immer tierisch an zu schwimmen. :S

    Manche Sachen kann ich mir wirklich nicht merken.
    Aber versprochen:
    Ich arbeite täglich daran.

    Liebe Grüße
    Ilse ;)

  • Array Lese Problem

    • Ilse
    • 19. April 2011 um 13:00

    Guten Morgen zusammen,

    ich brauche nochmal Beistand mit diesen Arrays!
    Ich fasse mich auch ganz kurz:

    _ArrayDisplay($aResults)
    zeigt alles prima an:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Wenn ich diese Zeilen, Spalten...lesen will, dann klappt das nicht!

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

    For $i = 1 To UBound($aResults[0])
    MsgBox(0,"Meine Zelle ist:",$aResults[1][2])
    next

    [/autoit]


    Die Fehlermeldung lautet

    Spoiler anzeigen


    Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
    For $i = 1 To UBound($aResults[0])
    For $i = 1 To UBound(^ ERROR


    Grüße
    Ilse ;)

    Dateien

    autoit.jpg 30,31 kB – 0 Downloads
  • Editfeld Subscript used with non-Array variable

    • Ilse
    • 18. April 2011 um 17:37

    he Bugfix,

    ...du wirst mir langsam "unheimlich" :huh:
    DANKE!
    ...natürlich auch an TheLuBu 1000 Dank!

    Liebe Grüße
    Ilse ;)

  • Editfeld Subscript used with non-Array variable

    • Ilse
    • 18. April 2011 um 16:22

    Einfacher Test Ziel-Edit
    ...diesen Text ins Ziel Edit eintragen

    [autoit]


    1
    2
    3
    4
    Ilse
    5

    [/autoit]

    So sollte es aussehen:

    [autoit]


    1
    2
    3
    4
    Ilse
    Dieser Code wurde eingefügt
    5

    [/autoit]

    der Code

    [autoit]


    For $i = 1 To UBound($aZielRead,1)-1
    $search = StringinStr($aZielRead[$i],"ilse", 1) ;String wird gesucht
    If $search <> 0 Then
    $Search += StringLen("ilse")
    _GUICtrlEdit_InsertText($Ziel, @CRLF& "Dieser Code wird eingefügt", $search) ; fügt den Text hinter dem gefundenen ein
    Else
    EndIf
    next

    [/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™