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

Beiträge von TheLuBu

  • viele Texte speichern

    • TheLuBu
    • 27. April 2011 um 11:20

    Kannst du dann mit

    [autoit]


    For $i = 0 To Ubound($avArray) - 1
    If StringinStr($avArray[$i], "Hunde") Then
    Msgbox (0, "", "Quelltext Hunde gefunden")
    ElseIf StringinStr($avArray[$i], "Katzen") Then
    Msgbox (0, "", "Quelltext Katzen gefunden")

    [/autoit]

    Alternativ kannst du auch in der Quelltextdatei, wo alles zusammen gelegt ist,
    Das hier eintragen

    Code
    (MeinTRENNZEICHEN)
    Katzen
    (MeinTRENNZEICHEN)
    [Quelltext Katzen]
    (MeinTRENNZEICHEN)
    Hunde
    (MeinTRENNZEICHEN)
    [Quelltext Hunde]

    Wenn du das dann mit

    [autoit]

    Stringsplit()

    [/autoit]

    trennst, kannst du
    Wieder in ner Schleife durchgehen

    [autoit]


    For $i = 0 To Ubound($avArray) - 1
    If $avArray[$i] = "Hunde" Then
    Msgbox (0, "", "Quelltext Hunde gefunden in Arrayplatz "& $i + 1)
    ElseIf $avArray[$i] = "Katzen" Then
    Msgbox (0, "", "Quelltext Katzen gefunden in Arrayplatz "& $i + 1)

    [/autoit]
  • viele Texte speichern

    • TheLuBu
    • 27. April 2011 um 10:36

    Du könntest natürlich alle Quellcodes in eine Datei werfen und dann zwischen jedem Quellcode ein eindeutiges Trennzeichen setzen, also z.B.

    Code
    Quelltext1 bla blabla
    TheLuBuAutoit2011
    Quelltext2 bla bla bla bla
    TheLuBuAutoit2011
    Quelltext3 bla bla bla bla
    TheLuBuAutoit2011
    ....

    Diese Datei dann einfach später einlesen und mit

    [autoit]

    Stringsplit($Dateiinhalt, "TheLuBuAutoit2011", 1)

    [/autoit]


    in ein Array einlesen.

    Dabei ist wichtig, das der Text ( TheLuBuAutoit2011) nicht im Quelltext vorkommt und du bei Stringsplit hinten den parameter = 1 setzt, um den gesamten String als Trennzeichen zu nutzen

  • viele Texte speichern

    • TheLuBu
    • 27. April 2011 um 08:06

    Hallo Ilse ;)
    ich würde dir wiedermal Arrays empfehlen ;)
    1 oder mehrdimensional, wie du es halt möchtest, da isses am einfachsten die wieder rauszulesen.

  • Progressbar will einfach nicht

    • TheLuBu
    • 21. April 2011 um 13:11

    Du musst die Reihenfolge beachten ^^
    Das

    [autoit]

    InetGetInfo()

    [/autoit]

    ist nicht in der Schleife, und einige Variablen sind nur deklariert, aber ohne Werte, bevor du sie benutzt.

    Als Beispiel, du declarierst oben bereits

    [autoit]

    Local $aData = InetGetInfo($File)

    [/autoit]


    aber es ist noch gar kein $File mit dem Handle von InetGet() vorhanden.

  • Fehlende/falsche Abbruchbedingung

    • TheLuBu
    • 21. April 2011 um 09:24

    Nochmal vielleicht etwas verständlicher

    [autoit]

    If $line <> "" or $line <> "#" Then

    [/autoit]


    Wenn Deine Variable nicht leer ist, führst du die folgenden Befehele aus
    Wenn in deiner Varibale die Raute ("#") steht, ist die Variable auch nicht leer, also wird der Code ausgeführt
    Wenn deine Variable leer ist, ist sie nicht gleich der Raute ("#"), also wird der Code auch weiter ausgeführt

  • Editor und debuggen

    • TheLuBu
    • 21. April 2011 um 09:17

    Scite4Autoit, kannste dir direkt hier runterladen ;)

  • Tab Controll

    • TheLuBu
    • 21. April 2011 um 09:16

    schau dir mal
    Eigenes Tab-Register (OwnTab-UDF)
    an

  • Progressbar will einfach nicht

    • TheLuBu
    • 21. April 2011 um 08:26

    Schau dir mal die Hilfe zu

    [autoit]

    InetGetInfo()

    [/autoit]


    an, die parameter 0 und 2 sollten dir helfen.

    Das ganze in ner Schelife

    Spoiler anzeigen
    [autoit]

    While 1
    $dwlil = InetGetInfo($File, 0)
    Guictrlsetdata($GStatus, $dwlil / 1048576)
    $Time = @SEC
    $Bytes = Round(InetGetInfo($File, 0))
    While @SEC = $Time
    WEnd
    $NewBytes = Round(InetGetInfo($File, 0))
    Guictrlsetdata($Downloadgeschwindigkeit, ($NewBytes - $Bytes) / 1024 & "KB/s")
    If InetGetInfo($File, 2) Then
    If InetGetInfo($File, 3) Then
    Msgbox(16, "ERFOLG", "Datei wurde erfolgreich heruntergeladen")
    Exitloop
    Else
    Msgbox(16, "FEHLER", "Datei wurde nicht heruntergeladen")
    Exitloop
    EndIF
    EndIf
    WEnd

    [/autoit]

    Die Downloadspeed funktion habe ich ausm englischen Forum
    http://www.autoitscript.com/forum/topic/63…download-speed/

  • Fehlende/falsche Abbruchbedingung

    • TheLuBu
    • 20. April 2011 um 15:51

    Zu deiner While Schleife

    Setz mal

    [autoit]

    While 1

    [/autoit]

    oben hin
    und in Zeile 106

    [autoit]

    ;Erneutes Einlesen der nächsten Zeile
    $zeile = FileReadLine($cfg)
    If @error = - 1 Then Exitloop
    $line = Stringleft($zeile,1)

    [/autoit]

    $Zeile wird nie - 1 es sei denn, in der Zeile steht - 1. Es wird nur ein Error gesetzt, der - 1 ist, wenn das Dateieende erreicht ist

  • Spalten und Zeilen Anzahl auslesen

    • TheLuBu
    • 20. April 2011 um 15:45

    Er kann die Word Datei nicht öffnen
    Füg mal bitte

    [autoit]

    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : @ScriptDir & "\AutoIt\Test\Word"&"\Daten.doc" = ' & @ScriptDir & "\AutoIt\Test\Word"&"\Daten.doc" & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console

    [/autoit]


    vor die Zeile

    [autoit]

    $oDoc = $oWord.Documents.Open(@ScriptDir & "\AutoIt\Test\Word"&"\Daten.doc")

    [/autoit]

    ich glaube das der Pfad nicht richtig ist ;)

    P.S: Bitte benutzt

    Code
    [Autoit][/autoit]

    um deinen Code zu formatieren, ist übersichtlicher ;)

  • Spalten und Zeilen Anzahl auslesen

    • TheLuBu
    • 20. April 2011 um 15:10

    was für eine Fehlermeldung bekommst du denn?

  • Ich bekomm kein Handle von Kaspersky

    • TheLuBu
    • 20. April 2011 um 14:23

    HAst du es denn ausch schon ohne die Klassen versucht?
    Also mit

    [autoit]

    $kasperskytitle = WinGetHandle("Kaspersky Internet Security 2011")
    WinSetState ($kasperskytitle,"",@SW_HIDE )
    Sleep(3000)
    WinSetState ($kasperskytitle,"",@SW_SHOW )

    [/autoit]

    -EDIT-
    Ansonsten hast du

    [autoit]

    AutoItSetOption("WinTitleMatchMode", 4)

    [/autoit]


    am Anfang deines Scripts eingefügt? Ohne das dürfte die Fensterekennung mit Classennamen nicht funktionieren (zumindest laut Hilfedatei)

    -EDIT2 -
    Achja, der Titlename ist nicht AVP.Kaspersky... , sondern nur Kaspersky..., zumindest laut dem AutoIt Info Tool Auszug

  • Ich bekomm kein Handle von Kaspersky

    • TheLuBu
    • 20. April 2011 um 13:58
    [autoit]

    $kasperskytitle = WinGetHandle("[TITLE:Kaspersky Internet Security 2011; CLASS:AVP.MainWindow]")
    WinSetState ($kasperskytitle,"",@SW_HIDE )
    Sleep(3000)
    WinSetState ($kasperskytitle,"",@SW_SHOW )

    [/autoit]


    Probiers mal bitte mit dem Code
    Verschwindet das Fenster für 3 Sekunden und erscheint dann wieder?

  • Progressbar will einfach nicht

    • TheLuBu
    • 20. April 2011 um 13:54

    klar, kannste natürlich direkt oben in deinen Globalen Variablen = 0 setzen

  • Werte aus einer .ini Datei in eine Tabelle schreiben

    • TheLuBu
    • 20. April 2011 um 13:53

    Du kannst am Anfang

    [autoit]

    $start = FileGetTime($hFile, 0, 1)

    [/autoit]


    aufrufen und beim Beenden überprüfen, ob die Datei immernoch den selben Timestamp hat oder nicht

    [autoit]

    If $start = FileGetTime($hFile, 0, 1) Then MsgBox(16, "Speichern?", "Es wurde noch nicht gespeichert")

    [/autoit]
  • Progressbar will einfach nicht

    • TheLuBu
    • 20. April 2011 um 13:48

    Setz in Zeile 48

    [autoit]

    $iPercent = Round($aInfo[0] / $iSize * 100,2)

    [/autoit]


    mal klammern

    [autoit]

    $iPercent = Round(($aInfo[0] / $iSize) * 100,2)

    [/autoit]


    und $iSize ist beim ersten Aufruf = "" und nicht gleich 0, kann auch daran liegen

  • Editfeld Subscript used with non-Array variable

    • TheLuBu
    • 18. April 2011 um 15:54

    schau nochmal in meinen vorherigen Post, habe das (dank BugFix ;) ) verbessert ;)

  • Editfeld Subscript used with non-Array variable

    • TheLuBu
    • 18. April 2011 um 15:40

    Willst du den Text zwischen "ilse" und "" rausfinden (_Stringbetween) oder nur wissen, ob und wenn ja, an welcher stelle "Ilse" steht?
    Wenn du das Wort Ilse in dem Text suchen willst solltest du es so machen

    -EDIT- BugFix war schneller ;)
    -EDIT2- Das kommt davon, wenn man mit Kopfschmerzen vorm PC sitzt ;), jetzt sollte es stimmen

    [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& "Text", $search) ; fügt den Text hinter dem gefundenen ein
    Else
    EndIf
    next

    [/autoit]
  • IE CheckBox

    • TheLuBu
    • 18. April 2011 um 14:57

    nagut, dann probiers mal hiermit

    [autoit]

    While Not WinActive("Message from webpage")
    Sleep(100)
    WEnd
    ; hier dann der klick

    [/autoit]


    Die ID des Buttons solltest du ja mit dem Autoit Window Info Tool rausfinden.
    Dann wartet dein Script, bis die Messagebox da is und klickt sie an

  • Editfeld Subscript used with non-Array variable

    • TheLuBu
    • 18. April 2011 um 14:13

    ändere mal das bei dir ab Zeile 72

    [autoit]

    For $i = 1 To UBound($aZielRead,1)-1
    $search = _StringBetween($aZielRead[$i],"ilse","") ;String wird gesucht
    If IsArray($Search) Then
    $pos = Stringinstr($aZielRead[$i], $search[0]) ; sucht die position des strings im Text
    $pos += Stringlen($search[0]) ; addiert die Stringlänge zur gefundenen postion hinzu
    ;_GUICtrlEdit_InsertText($Ziel, "Text" @CRLF, $pos) ; fügt den Text hinter dem gefundenen ein
    ;_ArrayDisplay($search)
    _GUICtrlEdit_InsertText($Ziel, "Text", $pos) ; 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™