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

  • Alle Dateien älter als 14Tage löschen

    • BugFix
    • 6. Januar 2008 um 17:27

    Wo der ExBerliner Recht hat, hat er Recht :).
    Ich hoffe ihr könnt bei einem alten Mann etwas Nachsicht üben. :D

  • Adresse (Ort und Straße) einlesen

    • BugFix
    • 6. Januar 2008 um 17:23

    Ich versteh nicht, warum du Strasse und Stadt in unterschiedlichen Arrays führen willst. Zusammengehörige Daten sollten auch zusammen gespeichert werden.

    Wenn du einzelne Arraydaten anzeigen möchtest, mußt du die Elemente einzeln ansprechen.

    [autoit]

    For $i = 0 To UBound($array) -1
    MsgBox(0, '', 'Wert an Position ' & $i & ': ' & $array[$i])
    Next

    [/autoit]


    Ein 2D-Array mit 2 Spalten gibst du so wieder:

    [autoit]

    For $i = 0 To UBound($array) -1
    MsgBox(0, '', 'Wert an Position ' & $i & ', Spalte 1: ' & $array[$i][0] & @CRLF & _
    'Wert an Position ' & $i & ', Spalte 2: ' & $array[$i][1])
    Next

    [/autoit]

    Hilfe zu Arrays findest du hier

  • Adresse (Ort und Straße) einlesen

    • BugFix
    • 6. Januar 2008 um 14:52

    Irgendwo ein Schreibfehler?
    Ich hatte zum Test ein Array erstellt, also nach dem Schritt _FileReadToArray() begonnen.
    Da klappte es tadellos.

    Hier mal mein funktionierendes Muster:

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    Dim $aRecords[4] = [ _
    0, _
    'BLA/KAT1/Firma1/Strasse1/Ort1 Bemerkung1 * zeit *', _
    'BLUB/KAT2/Firma2/Strasse2/Ort2 Bemerkung2 * zeit *', _
    'BLI/KAT3/Firma3/Strasse3/Ort3 Bemerkung3 * zeit *']
    Dim $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]
    Dim $aAdresse[3][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
    _ArrayDisplay($aAdresse)

    [/autoit]
  • in einer list automatisch nach unten scrollen

    • BugFix
    • 6. Januar 2008 um 14:47

    Mit

    [autoit]

    _GUICtrlListBox_SetCaretIndex ($hListBox, $Index_des_Eintrags)

    [/autoit]

    Für diese Dinge benötigst du zwingend die GUIListBox.au3 - Funktionen.

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

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™