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

Beiträge von Thomasb

  • zwei kleine Fragen

    • Thomasb
    • 11. Januar 2009 um 17:42

    Hi,

    ich stehe gerade kräftig auf dem Schlauch. Ich möchte aus eine InI mittels IniRead die variable @year ect. auslesen

    Spoiler anzeigen
    [autoit]

    InI 001=C:\Testordner\" & @year & "\test.txt"

    [/autoit]

    , damit der gesamte Dateiname im Script nicht zulang wird.(wird aus mehreren Teilen der InI zusammengesetzt). Die zweite Frage ist kann man im ToolTip den Functionnamen mit ausgeben, worin sich der ToolTip befindet?

    Danke schon mal.

    ThomasB

  • Feiertagsberechnung

    • Thomasb
    • 26. Dezember 2008 um 13:12

    hi,
    danke, ich habe es mit _filewritefromArray gelöst, da ich eine Datei benötig. ;)
    MFG ThomasB

  • Feiertagsberechnung

    • Thomasb
    • 26. Dezember 2008 um 11:41

    hi,
    danke jetzt gehts. Die Ausgabefrage habe ich auch noch nicht ganz geklärt.

  • Feiertagsberechnung

    • Thomasb
    • 26. Dezember 2008 um 11:17

    hi,
    lang ist es her das ich in Autoit etwas getan habe. Nun möchte ich gerne ein laufendes Script um die Feiertagsberechnung erweitern. Hier habe ich ein Script von Bugfix gefunden. Leider bekomme ich eine Fehlermeldung. Vllt. kann mir die jemand erklären.
    Ich bekomme diese Fehlermeldung:

    C:\Programme\AutoIt3\Include\_Feiertage(Jahr).au3(39,56) : ERROR: _Floor(): undefined function.
    $MM = 15 + $H1 - $H2 - _Floor(Int((8 * $H1 + 13) / 25))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Programme\AutoIt3\Include\_Feiertage(Jahr).au3 - 1 error(s), 0 warning(s)

    MFG ThomasB

  • Datei sortierenen und neu schreiben

    • Thomasb
    • 8. Juni 2008 um 11:25

    hi,

    danke habe es ausprobiert, sieht so aus als war das die Ursache.

    Thomasb

  • Datei sortierenen und neu schreiben

    • Thomasb
    • 8. Juni 2008 um 10:20

    hi,

    ja klar kann ich es posten, aber ob Ihr es nachstellen könnt bezweifle ich. Nur der von mir beschriebene Teil macht Probleme. Habe es mal angehängt. Vielleicht erkennt Ihr ja was.

    thomasB

  • Datei sortierenen und neu schreiben

    • Thomasb
    • 8. Juni 2008 um 09:58

    hi,

    habe nochmals einen Test gemacht im Hauptscript. Dort habe ich ein _Arraydisplay eingebaut und gesehen das schon von Anfang an nur ein bestimmter Teil eingelesen wird, obwohl die Datei mehr Zeilen hat. Wie gesagt wenn die Function separat aufgerufen wir geht es einwandfrei.

    ThomasB

  • Datei sortierenen und neu schreiben

    • Thomasb
    • 7. Juni 2008 um 17:09

    hi,

    genau das ist es ja, der identische Code wird im anderen Script auch verwendet. Es wird auch mit _sortieren aufgerufen.

    ThomasB

  • Datei sortierenen und neu schreiben

    • Thomasb
    • 7. Juni 2008 um 16:34

    hi,

    ich verzweifle langsam. Wenn der angefügte Teil meines alleine ausgeführt wird geht alles gut. Lüft es im gesamtkonstrukt dann fehlen in der Enddatei mehrere Einträge.

    Dim $FileList
    _sortieren()
    Func _sortieren()
    _FileReadToArray("E:\Rechnungslauf\" & @YEAR & "\Auslagerung\LOG\" & StringFormat("%02d", @MON - 1) & "_Mail.txt", $FileList)
    _ArraySort($FileList, 0, 1)
    If _FileWriteFromArray("E:\Rechnungslauf\" & @YEAR & "\Auslagerung\LOG\" & StringFormat("%02d", @MON - 1) & "_Mail1.txt", $FileList, 1) then _ArrayDisplay($FileList,"")
    EndFunc ;==>_sortieren

    In der Ausgangsdatei sind 1178 Zeilen. Wenn ich es so wie oben steht ausführe sind alle drin. Wenn es im Hauptscript läuft sind nur noch 1023 Zeilen drin. Was kann die Ursache sein?

    ThomasB

  • Alle Dateien älter als 14Tage löschen

    • Thomasb
    • 6. Januar 2008 um 10:41

    hi,

    ich hatte auch schon mal das Problem.

    Spoiler anzeigen
    [autoit]

    #include "string.au3"
    #include "Date.au3"
    #include "file.au3"
    #include "Array.au3"
    ;
    $folder = "D:\Transfer";Pfad zum Ordner
    ;
    $dateminustwoweeks = _DateAdd('w', -4, _NowCalcDate()) ; jetztiges Datum - x- Wochen
    $dateminustwoweeks = StringReplace($dateminustwoweeks, "/", "") ; macht ne Zahl daraus
    ;
    $AllFilesinDir = _FileListToArray($folder & "\", "*.*", 1) ; Files werden in ein Array geschrieben
    ;
    If Not IsArray($AllFilesinDir) Then Exit MsgBox(16, "Löschtool by Thomas B", "Nichts gefunden.. EXIT!", 10)
    ;
    For $i = 1 To $AllFilesinDir[0] ; Schleife für alle Dateien im Ordner
    ;$filedate = FileGetTime($AllFilesinDir[$i], 0, 0) ; liest das Dateidatum aus
    $filedate = FileGetTime($folder & "\" & $AllFilesinDir[$i], 0, 0) ; liest das Dateidatum aus
    $filedateformat = $filedate[0] & $filedate[1] & $filedate[2] ; Formatierung
    If $filedateformat > $dateminustwoweeks Then $AllFilesinDir[$i] &= "|" ; markieren der Dateien die nicht gelöscht werden sollen
    Next
    ;
    For $i = 1 To $AllFilesinDir[0]
    If StringRight($AllFilesinDir[$i], 1) <> "|" Then FileDelete($folder & "\" & $AllFilesinDir[$i]) ; löschen der Dateien mit dem Datum
    Next

    [/autoit]

    versuch es bei mir läuft es super

    ThomasB

  • Dienst

    • Thomasb
    • 4. Januar 2008 um 14:01

    hi,

    habe gestern keine Zeit mehr gehabt zum weiteren Testen. Habe jetzt erstmal eine Programm das starten soll. Leider ertönt nur der noch enthaltene Beep aber das Programm startet nicht.

    Spoiler anzeigen
    [autoit]

    #include "ServiceControl.au3"
    #include "Misc.au3"
    #include "File.au3"
    #include "date.au3"
    #include "array.au3"
    #include "string.au3"
    #NoTrayIcon ; Kann man natürlich auch noch wegmachen :)

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

    If _Singleton("MegaService", 1) = 0 Then
    MsgBox(64, "Warning", "An occurence of test is already running", 3)
    Exit
    EndIf

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

    Global $pathSrvAny = "C:\ADTG\srvany.exe"
    Global $servicename = "Dienst_Test"
    $INIFILE = "C:\ADTG\Dienst_Test.ini"
    $programm = "C:\Programme\Movie Maker\moviemk.exe"
    If Not _ServiceExists (@ComputerName, $servicename) And @Compiled Then
    _CreateService ("", $servicename, "ADTG Skript", $pathSrvAny, "LocalSystem", "", 0x110)
    RegWrite("HKLM\SYSTEM\CurrentControlSet\Services\" & $servicename & "\Parameters", "Application", "REG_SZ", @ScriptFullPath)
    EndIf

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

    While 1
    Sleep(500)
    theFunc()
    WEnd

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

    Func theFunc()
    If @HOUR = 13 And @MIN = 50 And @SEC = 00 Then ; hier mal die Zeit anpassen :)
    ;If IniRead($INIFILE, "001", "Start", "NotFound") = _NowTime() Then
    ToolTip("Skript gestartet" & " Service An(1)Aus(0) :" & _ServiceExists (@ComputerName, $servicename), 0, 0)
    Beep(500, 5000)
    Run("C:\Programme\Movie Maker\moviemk.exe")
    Else
    ToolTip("Skript inaktiv" & " Service An(1)Aus(0) :" & _ServiceExists (@ComputerName, $servicename), 0, 0)
    EndIf
    EndFunc ;=="theFunc

    [/autoit]


    Wo liegt meine Fehler oder ist es garkein Fehler von mir?

    ThomasB

  • Dienst

    • Thomasb
    • 3. Januar 2008 um 19:08

    hi,

    habe es getestet. Es läuft ganz gut aber es starten mehrer Scripts auf der Maschine. Bei meinem Versuch geht es auch, habe anstatt der Msgbox den Beep eingebaut und siehe da es geht. Allerdings ist eine recht hohe CPU Auslastung da. Habe auch das Sleep schon auf 500 hochgesetzt ohne erfolg. Was kann man noch machen?

    MFG ThomasB

    Sorry Fehler gefunden Sleep stand an der Falschen Stelle.

  • Dienst

    • Thomasb
    • 3. Januar 2008 um 16:55

    hi,

    wo komme ich die
    ServiceControl.au3
    her.

    thomas

  • Dienst

    • Thomasb
    • 3. Januar 2008 um 16:26

    Hi,

    habe seit einiger Zeit nichts gemacht. Bin scheinbar etwas eingerostet. Möchte gerne eines meiner Scripte als Dienst laufen lassen. Als Bsp habe ich mir dieses erstmal gebaut um den gesamten Prozess zu verstehen.
    Bsp.

    [autoit]

    #include
    #include
    #include
    #include
    ;
    $INIFILE = "C:\Dienst\Dienst_Test.ini"
    $x = 1
    ;
    While $x = 1
    If IniRead($INIFILE, "001", "Start", "NotFound") = @HOUR & ":" & @MIN & ":" & @SEC Then
    MsgBox(0, "Dienst_Test", "Jupp")
    Sleep(50)
    ;Sleep(60 * 60 * 1000); Laufzeit bei der Überwachung
    EndIf
    WEnd ; Ende Pseudo-S

    [/autoit]

    Wenn es in SciTE getestet wir läuft es. Wenn es als Dienst läuft geht es nicht. Wo liegt mein Fehler? SRVANY.exe & Instsrv.exe liegen im selben Verzeichniss.
    Habe das hier noch gemacht .

    Mfg ThomasB

  • Array teilen

    • Thomasb
    • 13. August 2007 um 16:42

    hi,

    danke für die tolle Hilfe das funzt.

    mfg Thomas

  • Array teilen

    • Thomasb
    • 13. August 2007 um 15:30

    hi

    Bernd
    ich habe es getestet. Er kommt aber bei der Zählung irgendwie durcheinander. Das erste Segment zeigt von 0..103 an(ist ok) dann springt er zurück auf auf Zeile 52 und so weiter.
    Habe mal meine out Datei angehängt. Vielleicht hast du ja noch ne Lösung dafür.

    Spoiler anzeigen
    [autoit]

    #include <date.au3>
    #include <misc.au3>
    #include <inet.au3>
    #include <file.au3>
    #include <array.au3>

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

    $szFileName = "R:\" & @YEAR & "\Auslagerung\Log\" & StringFormat("%02d", @MON - 1) &"out.txt"

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

    Dim $aszParam[20]

    $cLines = _FileCountLines($szFileName)

    If $cLines > 0 Then

    $cReadLines = Round($cLines/20)

    ; erst mal 19 Teile lesen
    For $index = 0 To 18
    $aszParam[$index] = StringLeft(FileReadLine($szFileName,$index*20+1),10) & ".." & StringLeft(FileReadLine($szFileName,$index*20+$cReadLines),10)
    Next

    ; und jetzt den letzten Teil
    $aszParam[19] = StringLeft(FileReadLine($szFileName,19*20+1),10) & ".." & StringLeft(FileReadLine($szFileName,$cLines),10)

    $szOutput = ""
    For $index = 0 To 19
    MsgBox(0, "", $aszParam[$index])
    $szOutput &= $index+1 & ". Teil: " & $aszParam[$index] & @CRLF
    Next

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

    ;~ MsgBox(0, "", $szOutput)
    EndIf

    [/autoit]


    mfg Thomas

    Dateien

    out.txt 26,74 kB – 346 Downloads
  • Array teilen

    • Thomasb
    • 13. August 2007 um 14:45

    hi,

    danke erstmal, ich teste jetzt erstmal

    Mfg Thomas

  • Array teilen

    • Thomasb
    • 13. August 2007 um 14:16

    hi,

    es könne bis zu 2000 Zeile in der Datei sein. Die wollte ich es wie oben schon thematisiert wurde. Es soll dann wieder so raus kommen wie oben von Bernd beschrieben.

    z.B 0000123456..0000123656 usw.

    Mfg Thomas

  • Array teilen

    • Thomasb
    • 13. August 2007 um 13:54

    hi,

    ich musste das Thema nochmal aufmachen. Das Teile durch zwei läuft ja ganz toll. Nun habe ich aber mit der Teilung durch zwanzig ein Problem. ich komme nicht recht weiter. Wie müssten die Nachfolgenden Teilsegmente aussehen. (Leider weiß ich nicht im Vorfeld wieviel Zeilen in der Datei sind.)

    Spoiler anzeigen
    [autoit]

    $cLines = _FileCountLines($szFileName)
    If $cLines > 0 Then
    $szParam1 = StringLeft(FileReadLine($szFileName,1),10) & ".." & StringLeft(FileReadLine($szFileName,Floor($cLines/20)),10)
    $szParam2 = StringLeft(FileReadLine($szFileName,Floor($cLines/20)+1),10) & ".." & StringLeft(FileReadLine($szFileName,
    Floor($cLines/20)+1); abhier weis ich nicht weiter
    ),10)

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

    MsgBox(0, "", "1. Hälfte: " & $szParam1 & @CRLF & "2. Hälfte: " & $szParam2)
    EndIf

    [/autoit]


    Kann mir jemand unter die Arme greifen?

    MFG Thomas

  • MSGBOX von externem Programm auslesen

    • Thomasb
    • 14. Juli 2007 um 22:47

    hi,

    also nun es geschieht nixxxxxxxxxx. Ich habe keine Kennung mehr was noch möglich ist. ?( :weinen: bei meinem Versuch kam 1 heraus was aber nicht stimmt. Es wurde auch in der Schleife früher aktiviert als MBS NAV war. Ich habe keinen Plan mehr.

    Ok ich habe das Problem anders über einen Zwischenschritt In Navision gelöst.
    Trotzdem danke für die Mühe.

    Thomas

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™