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

Beiträge von BugFix

  • list als ausgabeconsole verwenden (wie fuege ich text hinzu?)

    • BugFix
    • 6. Januar 2008 um 14:20

    Wie maycontainnuts schon richtig erwähnte, mit GUICtrlSetData().
    Die Daten für einzelne Zeilen werden mit Seperator '|' getrennt:

    [autoit]

    GUICtrlSetData($Lst, 'Zeile1|Zeile2|Zeile3|Zeile4')

    [/autoit]

    Für das Hinzufügen von Zeilen zu bestehendem Text kannst du diese Funktion nutzen, es wird immer neu ans Ende angefügt.
    Möchtest du innerhalb der Liste auf einzelne Einträge zurückgreifen, brauchst du die Funktionen der UDF GuiListBox.au3.

  • Adresse (Ort und Straße) einlesen

    • BugFix
    • 6. Januar 2008 um 13:48

    Hi, anhand der Originaldaten, die du mir per PN geschickt hattest, zeigt sich, dass die Struktur einheitlich ist.
    KENNUNG/KATEGORIE/FIRMA/STRASSE/STADT-Bemerkung-Zeit
    Ich habe berücksichtigt, dass evtl. keine Angaben in den einzelnen Gruppen vorhanden sein können, wie in einem Muster Datensatz.
    Da Angaben für Stadt durchaus mehrere Wörter enthalten können (Bad Homburg) läßt sich Stadt nicht eindeutig selektieren. In meiner Lösung 'hängt' eine evtl. Bemerkung noch am Städtenamen, Zeit ist eleminiert.

    [autoit]

    #include <file.au3>
    Dim $aRecords, $var
    If Not _FileReadToArray("test.txt",$aRecords) Then Exit MsgBox(4096,"Fehler", "Konnte Datei nicht in Array einlesen! error: " & @error)
    Dim $aAdresse[$aRecords[0]][2]

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

    For $i = 1 To UBound($aRecords) -1
    $var = StringSplit($aRecords[$i], '/')
    If Not @error Then
    $aAdresse[$i-1][0] = $var[4] ; Strasse
    $aAdresse[$i-1][1] = StringTrimRight($var[5], StringLen($var[5])-StringInStr($var[5], '*')+1 ) ; Ort + Bemerkung
    EndIf
    Next

    [/autoit]

    EDIT: Noch mal kpl. geändert. Das RegEx Pattern funktioniert unter AutoIt leider nicht so, wie im RegExBuddy.

  • Hilfe beim Script

    • BugFix
    • 6. Januar 2008 um 12:19

    ??
    Das hatten wir doch schon mal in einem anderen Thread gelöst. *verwirrt-bin*
    Aber ist es hier nicht günstiger, statt des Quelltextes sich den Text der Seite ausgeben zu lassen? _IEBodyReadText()

  • Alle Dateien älter als 14Tage löschen

    • BugFix
    • 6. Januar 2008 um 12:14
    Zitat

    Habe irgendwo gelesen das AutoIt die Groß und klein schreibung bei den Variablen als verschiedene Variablen ansieht?!?!


    Definitiv NEIN.
    $Var = $var = $VAr = $vAr = $vaR ....

    Teste es einfach, weise einer Variablen einen Wert zu, und gib ihn mit gleichem Namen, aber anderer Schreibweise aus. Null Problemo :)

  • Adresse (Ort und Straße) einlesen

    • BugFix
    • 6. Januar 2008 um 12:03

    Hmm...
    jetzt weiß ich genau soviel, wie vorher :D.
    STR und ORT sind an derselben Position. Es ist doch egal wieviel WORTE davor sind. Wichtig ist, ob die Gruppierung durch / immer identisch ist.
    Und nach dem Ort folgt nur eine Uhrzeit? Dann gib mal genau an in welcher Schreibweise.
    Zier dich nicht wie ien alte Jungfer :rofl:, und poste mal einen Original-Datensatz (kannst die Werte ja verfälschen).

  • Adresse (Ort und Straße) einlesen

    • BugFix
    • 6. Januar 2008 um 11:47

    Also wenn die Position von STR und ORT unterschiedlich sein kann, brauchst du andere Kriterien für die Selektion.
    Was sind denn das für Daten davor und danach. Weisen die eine Struktur auf anhand der man sie eleminieren kann?
    Oder steht bei der Stadt evtl. auch die PLZ davor - dann könnte man den Ausdruck davor (STR) und den danach (ORT) selektieren.
    Besser ist, du postest mal einige dieser Einträge im Original, damit man sich ein Bild machen kann.

  • Alle Dateien älter als 14Tage löschen

    • BugFix
    • 6. Januar 2008 um 10:53

    Hi, nur nicht so kompliziert. :)

    Folgende Fehler:
    - Keine Pfadangabe bei FileGettIme
    - falsches Ausgabeformat bei FileGetTime

    So wirds was:

    [autoit]

    #include <file.au3>
    #include <date.au3>
    $path = "c:\testordner"
    $d_ListFiles = _FileListToArray($path, '*.log', 1)

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

    For $i = 1 to UBound($D_ListFiles) -1
    $d_Time = Filegettime($path & '\' & $D_Listfiles[$i],1,1)
    If _DateDiff("d",$d_Time,_NowCalcDate()) > 13 Then
    Filedelete($D_ListFiles[$i])
    EndIf
    Next

    [/autoit]
  • Adresse (Ort und Straße) einlesen

    • BugFix
    • 6. Januar 2008 um 10:30

    Hi,
    schreib doch Strasse + Stadt in ein Array:

    [autoit]

    #include <file.au3>
    Dim $aRecords, $var
    If Not _FileReadToArray("test.txt",$aRecords) Then Exit MsgBox(4096,"Fehler", "Konnte Datei nicht in Array einlesen! error: " & @error)
    Dim $aAdresse[$aRecords[0]][2]

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

    For $i = 1 To UBound($aRecords) -1
    $var = StringSplit($aRecords[$i], '/')
    If Not @error Then
    $aAdresse[$i-1][0] = $var[3] ; Strasse
    $aAdresse[$i-1][1] = $var[4] ; Stadt
    EndIf
    Next

    [/autoit]
  • script ohne speichern ausführen....

    • BugFix
    • 5. Januar 2008 um 15:51

    Dann schreib es doch einfach in eine temporäre Datei, die kannst du dann ausführen und hinterher wieder löschen.

  • Name der unterbrochenen Funktion irgendwie ermittelbar?

    • BugFix
    • 5. Januar 2008 um 15:25
    Zitat

    was muß ich dann noch in AutoIt machen, damit die beim Drücken von F1 auch geöffnet wird und vor allem die richtige Hilfe zur gewünschten Funktion?


    Wenn es über die AutoIt-Hilfe laufen soll, mußt du diese vorher mit dem HTML Workshop decompilen, deine eigenen Dateien einfügen, entsprechend indexieren (Aufpassen, dass du nichts zerschießt :P) und dann die Hilfe neu kompilieren.

  • script ohne speichern ausführen....

    • BugFix
    • 5. Januar 2008 um 15:21

    AutoIt muß ja die Skriptanweisungen irgendwoher lesen können.
    Solange du die Befehle nur in SciTE eintippst, existieren sie ja noch nicht in lesbarer Form. Erst durch das Abspeichern kann das Geschriebene auch wieder gelesen werden.

    Aber warum die Frage?
    Du mußt doch sowieso eine Datei erstellen um die Codezeilen zu schreiben - warum willst du sie nicht speichern ?? *kopf-kratz*

  • Positionserkenner bei flash

    • BugFix
    • 5. Januar 2008 um 15:16

    Flashgame, nicht Mausgesteuert - dann sehe ich hier keine Möglichkeit.

  • Name der unterbrochenen Funktion irgendwie ermittelbar?

    • BugFix
    • 5. Januar 2008 um 15:00

    Verwende HTML Workshop, ist Free: HTML Download
    Falls Du eine Hilfe zur Anwendung brauchst, melde dich nochmal.

    EDIT
    Hier gleich mal die deutsche Anleitung dazu.

  • Name der unterbrochenen Funktion irgendwie ermittelbar?

    • BugFix
    • 5. Januar 2008 um 14:15

    Eigene Calltipps hinterlegst du in der Datei: ..\SciTE\api\au3.user.calltips.api.
    Existiert diese Datei nicht, kannst du sie erstellen.
    Du schreibst dann einfach in jede Zeile einen Tipp in der Form:

    Code
    _Array2DSplit(Quell-Array, Ziel-Array, SplitIndex [, Anzahl Elemente]); #include ArrayMore.au3
  • Alles was in Klammern ist löschen...

    • BugFix
    • 5. Januar 2008 um 13:59

    Die Ergebnisse der Suche (alles was zwischen öffnender und schließender Klammer ist, aber nicht die Klammern selber, werden in einem Array gespeichert.

    [autoit]

    $Array = _StringBetween($str, '\(', '\)', -1, 1)

    [/autoit]


    Dieses Array wird jetzt Eintrag für Eintrag durchlaufen

    [autoit]

    For $i = 0 To UBound($Array) -1

    [/autoit]


    Jedes Element des Arrays ist ein gefundener Ausdruck zwischen Klammern. Dieser Ausdruck wird jetzt durch einen Leerstring ersetzt.
    Dazu werden zum gefundenen Ausdruck jetzt wieder die Klammern angefügt, damit diese mit ersetzt werden.
    Vor der öffnenden Klammer wird außerdem ein Lerzeichen mit angefügt (und somit ersetzt), weil sonst 2 Leerzeichen nebeneinander stehen würden, eines das vor und eines das nach dem Klammerausdruck im Text steht.

    [autoit]

    $str = StringReplace($str, ' (' & $Array[$i] & ')', '')
    Next

    [/autoit]
  • Name der unterbrochenen Funktion irgendwie ermittelbar?

    • BugFix
    • 5. Januar 2008 um 12:28

    Kann dir grad nicht folgen.
    Deine per HotKey aufgerufene Funktion kann doch erst dann greifen, wenn momentan dein Programm 'idlet' - also z.B. auf GUI-Msg oder ein Event wartet.
    Willst du wissen, welche Msg/Event davor aktiviert war? - Dann schreib doch für jedes Ereignis einen LOG-Eintrag in ein Logfile, das du, um es nicht überlaufen zu lassen, bei jedem Programmstart löschst.

  • Alles was in Klammern ist löschen...

    • BugFix
    • 5. Januar 2008 um 12:18

    Auch das ist kein Problem mit der Einbindung von StringRegExp in die Funktion _StringBetween():

    [autoit]

    #include <String.au3>
    $str = 'Als ein Aufklärungsschiff der Predatoren in einem entlegenen Kaff im Gebirgsstaat Colorado abstürzt, ' & _
    'steht es schlecht um die Bewohner der kleinen Gemeinde. Sheriff Morales (<a href="/mitwirk.php4?nr=81477&amp' & _
    ';channel=kino&amp;PHPSESSID=213a7e60c3cf89359b5a2a1d059c51b2">John Ortiz</a>) muss mit ansehen, wie die an ' & _
    'Bord gefangenen Aliens entkommen und alle Predatoren bis auf einen töten. Der schreitet unverdrossen zur Tat, ' & _
    'die Brut auszulöschen, bekommt es aber auch mit einem Pred-Alien-Hybriden zu tun. Im Duell der mythischen ' & _
    'Kreaturen bangt Dallas (<a href="/mitwirk.php4?nr=211317&amp;channel=kino&amp;PHPSESSID=213a7e60c3cf89359b5a2a1d059c51b2"' & _
    '>Steven Pasquale</a>) um sein Leben'
    $Array = _StringBetween($str, '\(', '\)', -1, 1)
    For $i = 0 To UBound($Array) -1
    $str = StringReplace($str, ' (' & $Array[$i] & ')', '')
    Next
    MsgBox(0, '', $str)

    [/autoit]
  • Alles was in Klammern ist löschen...

    • BugFix
    • 5. Januar 2008 um 01:37

    Das geht ganz einfach mit StringRegExpReplace()

    [autoit]

    $str = 'Ein von Menschenhand entwickeltes Virus löscht die Erdbevölkerung aus. Fieberhaft sucht der exzellente Wissenschaftler Robert Neville (<a href="/mitwirk.php4?nr=78854&amp;channel=kino">Will Smith</a>) nach einem Gegenmittel, '
    $str = StringRegExpReplace($str, '\(.*\)', '')

    [/autoit]
  • Downloader

    • BugFix
    • 4. Januar 2008 um 23:44

    Oder einfach nur:

    [autoit]

    InetGet ( "URL" [,"filename" [, reload [, background]]] )

    [/autoit]
  • Pfade in Registry

    • BugFix
    • 4. Januar 2008 um 23:39

    @Apollo 13
    Das stimmt aber nur für die Programme, die auch einen Uninstall-Eintrag hinterlegen.
    Aber ca. 90% kannst du damit abdecken.

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™