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

Beiträge von LordKingPin

  • Bildsuche in Vollbildanwendung

    • LordKingPin
    • 21. August 2014 um 20:58

    Hallo AutoIt Gemeinde,

    um mein Problem besser zu verstehen und um Missverständnissen vorzubeugen bzgl. irgendwelchen Game-Bots, hole ich an dieser Stelle etwas aus:

    ich bin gerade dabei, mir einen Virtuellen Flipper zu bauen. Kann man sich vorstellen wie einen echten Flipper, nur mit LCD Monitoren :)
    Aktuell bin ich in der Phase, die Software dafür dementsprechend zum laufen zu kriegen, was auch soweit funktioniert.
    Das kann man sich wie folgt vorstellen:
    Als Frontend benutzte ich ein Programm Namens PinballX. Hier kann ich mit den Flippertasten Links und Rechts die Tische wählen und mit dem Button Start einen Tisch auswählen.
    Unter anderem soll hier das Spiel Pinball FX2 angebunden werden. Zwischen "Flipper TIsch wählen" und "Flipper Tisch wird angezeigt" soll alles automatisiert ablaufen.
    Aktuell habe ich dies bei Pinball FX2 (gibts übrigens mit einem Tisch kostenlos bei Steam) wie folgt gelösst:
    Mein Script erkennt, welcher Tisch gewählt wurde und lädt die dazu passende Steuerdatei. In dieser Datei stehen einfache Tastaturkommandos und SLeep Befehle, die wiederum im Script in einer Schleife verarbeidet werden.
    Im Ablauf bedeutet dies:
    Das Script wird durch wählen des TIsches gestartet mit dem Parameter, welcher Tisch gewählt wurde
    Daraufhin weiß das Script, welche Steuerdatei es benutzen soll
    Das Spiel Pinball FX2 wird geladen
    Mit Processexists prüfe ich, ob das Spiel geladen ist
    Wenn der Process läuft, wird die Steuerdatei ausgeführt
    In der Regel kommt zuerst ein sleep 15000 da gewartet werden muss, bis die ganzen Herstellerlogos verschwinden. Am Ende kommt dann folgendes Menü:
    [Blockierte Grafik: http://s7.directupload.net/images/140821/wyau4gjf.png]
    Hier sieht man nun die Tische.
    Mit Befehlen wie "drücke 3 mal Pfeil runter, 3mal Pfeil rechts, 2xEnter" wird dann ein Tisch gestartet und es kann gespielt werden.
    Das funktioniert auch soweit sehr gut.
    Nun folgendes Problem: Wird ein Tisch gekauft bzw. kommt ein neuer dazu kann es passieren, dass sich dieser Tisch (also das Symbol) zwischen andere rein mogelt. Dementsprechend ändert sich bei einer Anzahl X Tischen der "Tastaturweg" und diese müssen dann wieder angepasst werden. Dies würde ich gerne umgehen.
    Idee hier ist, ein Bild von jedem Tisch zu machen (Der Hintergrund muss natürlich entfernt werden), nach der Bildposition suchen zu lassen und darauf zu klicken. So würde es keine Rolle spielen, wo sich das Tisch Symbol befindet.
    Ich habe schon etwas mit ImageSearch herum gespielt, jedoch bekomme ich einfach nicht das Pinball FX2 Fenster abgegriffen.

    Und bevor die Anmerkung kommt -ich kenne die Foren Regeln:

    Zitat

    Folgende Inhalte sind absolut nicht erwünscht
    Programme, die einem Spieler bei jeglicher Art von Computerspiel (auch Einzelspieler) einen Vorteil verschaffen ("Bots")


    Ich möchte mir keinen Vorteil verschaffen, nur eine sauber Lösung für mein Flipper Cabinet bauen, nicht mehr und nicht weniger.

    Ich hoffe Ihr könnt mir weiterhelfen und freue mich auf euren Input.

    kind regards
    LordKingPin

  • leere Zeilen im Array am Ende löschen

    • LordKingPin
    • 14. Februar 2014 um 13:19
    Zitat von Schnitzel

    (Logging ist übrigens viel übersichtlicher mit _FileWriteLog)

    Wieder was gelernt :)

    Der Fehler ist um genau zu sein

    OK
    Line 12521 (File "C:\Script\Script2.exe"):
    Error: Subscript used with non-Array variable.

    Die CSV an sich hat nur ca. 5000 Zeilen +- und der Code zum leere Zeilen löschen steht im Script bei Zeile 150

    Die Dateien an sich haben immer den gleichen Aufbau. Mittlerweile speichere ich Sie sogar zwischen mit einer Laufnummer. Wenn ich nach einem Fehler exakt die Datei, die zum Zeitpunkt des Fehlers benutzt wurde, wieder in das Script einschiesse, funktionierts.

    Wie shcon gesagt: Der Fehler tritt nur sporadisch auf. Es kann 5 Tage lang alles gut gehen; dann macht es ein/zwei mal Bang und es läuft munter weiter.

    Zeile 14 liefert keinen LOG Eintrag, ergo bleibt er bei Zeile 13 hängen

    Da fällt mir gerade ein: Kann es vielleicht an den von mir eingesetzten Versionen (Programm/Includes) liegen?
    Folgende Versionen werden derzeit von mir eingesetzt:

    Spoiler anzeigen


    AutoIt v3.3.8.1
    SciTE Version 3.3.0

    array.au3
    ; #INDEX# =======================================================================================================================
    ; Title .........: Array
    ; AutoIt Version : 3.2.10++
    ; Language ......: English
    ; Description ...: Functions for manipulating arrays.
    ; Author(s) .....: JdeB, Erik Pilsits, Ultima, Dale (Klaatu) Thompson, Cephas,randallc, Gary Frost, GEOSoft,
    ; Helias Gerassimou(hgeras), Brian Keene, SolidSnake, gcriaco, LazyCoder, Tylo, David Nuttall,
    ; Adam Moore (redndahead), SmOke_N, litlmike, Valik
    ; ===============================================================================================================================

    file.au3
    ; #INDEX# =======================================================================================================================
    ; Title .........: File
    ; AutoIt Version : 3.2
    ; Language ......: English
    ; Description ...: Functions that assist with files and directories.
    ; Author(s) .....: Brian Keene, SolidSnake, erifash, Jon, JdeB, Jeremy Landes, MrCreatoR, cdkid, Valik,Erik Pilsits, Kurt, Dale
    ; Dll(s) ........: shell32.dll
    ; ===============================================================================================================================

    _csv2array.au3
    ; #FUNCTION# ===================================================================
    ; Name ..........: _CSV2Array
    ; Description ...:
    ; AutoIt Version : V3.3.0.0
    ; Syntax ........: _CSV2Array($hFile[, $cSeperator = "auto"[, $bFilterString = True[, $iColumnMode = 0]]])
    ; Parameter(s): .: $hFile - Handle for the CSV file to Read
    ; $cSeperator - Optional: (Default = "auto") : Tries to find the separator char ;) or , or TAB or | or space)
    ; | Data-seperator-char
    ; | Empty-string = Opt("GUIDataSeparatorChar")
    ; $bFilterString - Optional: (Default = True) : Removes leading and trailing " or '
    ; $iColumnMode - Optional: (Default = 0) :
    ; | 0: Sets error if lines have different columns and @extended to the csv-line number
    ; | 1: returns lines with different columns numbers comparing to the first line, too
    ; | 2: removing all columns > column numbers in the first line
    ; Return Value ..: Success - 2-dim Array
    ; Failure - 0
    ; @ERROR - 1: error file read
    ; @ERROR - 2: different number of columns / @EXTENDED = CSV-line
    ; - 3: parameter error
    ; Author(s) .....: Thorsten Willert
    ; Date ..........: Mon Dec 07 18:59:46 CET 2009
    ; ==============================================================================


    Zitat

    Weiterhin bleibt während des gesamten Vorganges die "test.csv" unangetastet von anderen Prozessen (Heißt also nicht irgendwo anders geöffnet oder wird gerade beschrieben oder ähnliches).

    Im Hintergrund läuft ein weiteres Script, das ein EMail Postfach prüft und bei Mail Eingang Anhänge in ein Verzeichnis schreibt. Erst wenn der Mailanhang komplett heruntergeladen wurde, wird die Datei in das Zielverzeichnis kopiert. Das andere Script überprüft dieses Zielverzeichnis und wenn Daten vorhanden sind legt es los. Zwischen dem Zeitpunkt "Datei ist vorhanden" und "lösche leere Zeilen" ist ein Sleep Timer von 5 Sek. eingebaut. Bzgl. Schreibgeschwindigkeit von Daten: ich sag nur SSD :D

    Für mich zum Verständnis:
    Da die Log in Zeile 10 geschrieben wird, sollte ja der _CSV2Array Vorgang erfolgreich abgeschlossen sein. Demnach sind die Daten im Array und die Datei Test.csv interessiert nicht mehr.

  • leere Zeilen im Array am Ende löschen

    • LordKingPin
    • 14. Februar 2014 um 12:02
    [autoit]


    #include <_csv2array.au3>
    #include <array.au3>
    #include <file.au3>
    ;deklariere Variablen
    global $logfile=@scriptdir&"\log.txt"
    global $Array = _CSV2Array("test.csv")

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

    _arraydisplay($array)

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

    filewriteline($LogFile,@MDAY&"."&@MON&"."&@YEAR&" "&@hour&":"&@MIN&":"&@SEC&":"&@msec&" lösche leere Zeilen in Array")
    ;~ alle leeren Zeilen am Ende des Arrays löschen
    while 1
    If $array[ubound($array)-1][1] = "" Then
    filewriteline($LogFile,@MDAY&"."&@MON&"."&@YEAR&" "&@hour&":"&@MIN&":"&@SEC&":"&@msec&" Arraygröße:"&ubound($array)-1&" Wert von $array[ubound($array)-1][1]="& $array[ubound($array)-1][1])
    filewriteline($LogFile,@MDAY&"."&@MON&"."&@YEAR&" "&@hour&":"&@MIN&":"&@SEC&":"&@msec&" lösche Zeile")
    _arraydelete($array,ubound($array))
    Else
    exitloop
    EndIf
    WEnd

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

    filewriteline($LogFile,@MDAY&"."&@MON&"."&@YEAR&" "&@hour&":"&@MIN&":"&@SEC&":"&@msec&" lösche leere Zeilen in Array FERTIG")

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

    _arraydisplay($array)

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

    global $Array="0"

    [/autoit]

    Inhalt der CSV ist z.B.

    Spoiler anzeigen


    1,2,3,4,5
    a,b,c,d,e
    b,c,d,e,f
    c,d,e,f,g
    ,,,,
    ,,,,
    ,,,,

    Wenn das Script abstürzt, dann steht im Logfile der Eintrag bei Scriptzeile 10, Logeintrag für Scriptzeile 22 fehlt, ergo liegt der Fehler irgendwo zwischen Scriptzeile 12 und 20. Wie bereits erwähnt tritt der Fehler nur sporadisch auf :( .

  • leere Zeilen im Array am Ende löschen

    • LordKingPin
    • 14. Februar 2014 um 11:18

    Hallo,

    ich habe ein Script, in dem ich CSV Dateien verarbeite. Die CSV wird mit

    [autoit]

    global $Array = _CSV2Array("test.csv")

    [/autoit]


    eingelesen.
    Da die CSV am Ende unterschiedlich viele leere Zeilen hat, wird direkt nachdem das Array erstellt wurde, folgender Code ausgeführt um diese zu löschen:

    [autoit]


    while 1
    If $array[ubound($array)-1][0] = "" Then
    _arraydelete($array,ubound($array))
    Else
    exitloop
    EndIf
    WEnd

    [/autoit]

    Das funktioniert auch so weit. Sporadisch bekomme ich jedoch den Fehler
    Error: Subscript used with non-Array variable.

    Starte ich nun das Script neu und verarbeite die gleiche Datei nochmal, bekomme ich keinen Fehler.

    Nachdem das Array verarbeitet wurde, lösche ich dieses mit $Array="0"

    Ich kann mir diesen Fehler nicht erklären.

    Bestimmt habe ich irgendwo einen Denkfehler und ich sehe es nicht :rolleyes:

  • Rechnen...

    • LordKingPin
    • 27. November 2013 um 22:13
    Zitat von Xenon

    (YEnde - YStart) * 4 + QEnde - QStart + 1


    Jetzt wo ich das so sehe: stimmt :)

    Danke für den Schupser :thumbup:

  • Rechnen...

    • LordKingPin
    • 27. November 2013 um 21:35

    Hallo zusammen,

    irgendwie stehe ich gerade auf dem Schlauch - ich habe folgende Werte:

    $Qstart=1
    $yStart=2011
    $QEnde=4
    $YEnde=2012


    Die Variable $QStart bzw Ende hat immer einen Wert zwischen 1 und 4.
    Es soll nun gezählt werden, wieviele Quartale zwischen den Start und ENdwerten liegen incl. Startwert.
    Im Beispiel oben währe dies 8.


    Beispiele:
    $Qstart=1
    $yStart=2011
    $QEnde=3
    $YEnde=2011

    Hier währen es 3.

    Qstart=1
    $yStart=2011
    $QEnde=1
    $YEnde=2013

    Hier währen es 9.

    Währe super wnen mir hier jemand auf die Sprünge helfen könnte :)

    kind regards

  • Werte ermitteln und Array automatisch befüllen

    • LordKingPin
    • 27. Oktober 2013 um 20:02

    Thats it !! Tausend Dank Friesel ! :rock::D:thumbup:

  • Werte ermitteln und Array automatisch befüllen

    • LordKingPin
    • 26. Oktober 2013 um 20:40

    Hallo AutoIt Gemeinde,

    folgende Herausforderung:
    Ich habe eine CSV mit folgendem Inhalt (Werte können abweichen, sind nur Beispielwerte):

    Spoiler anzeigen


    Datum;Wert
    25.06.2013;1000
    08.07.2013;2000
    20.07.2013;3000
    25.07.2013;4000
    04.08.2013;5000
    18.08.2013;6000
    25.08.2013;7000
    02.09.2013;8000
    27.09.2013;9000
    08.10.2013;10000


    Die CSV ist immer Datum aufsteigend sortiert. Der Wert kann von Datum zu Datum nur größer werden, nicht kleiner.

    Für allen Tagen zwischen dem ersten und dem letzten Datum sollen nun die Werte errechnet werden.
    Ich habe das ganze mal in Excel gerechnet um zu zeigen, wie das Ergebnis Array aussehen soll:

    Spoiler anzeigen


    25.06.2013;1000
    26.06.2013;1077
    27.06.2013;1154
    28.06.2013;1231
    29.06.2013;1308
    30.06.2013;1385
    01.07.2013;1462
    02.07.2013;1539
    03.07.2013;1616
    04.07.2013;1693
    05.07.2013;1770
    06.07.2013;1847
    07.07.2013;1924
    08.07.2013;2000
    09.07.2013;2083
    10.07.2013;2166
    11.07.2013;2249
    12.07.2013;2332
    13.07.2013;2415
    14.07.2013;2498
    15.07.2013;2581
    16.07.2013;2664
    17.07.2013;2747
    18.07.2013;2830
    19.07.2013;2913
    20.07.2013;3000
    21.07.2013;3200
    22.07.2013;3400
    23.07.2013;3600
    24.07.2013;3800
    25.07.2013;4000
    26.07.2013;4100
    27.07.2013;4200
    28.07.2013;4300
    29.07.2013;4400
    30.07.2013;4500
    31.07.2013;4600
    01.08.2013;4700
    02.08.2013;4800
    03.08.2013;4900
    04.08.2013;5000
    05.08.2013;5071
    06.08.2013;5142
    07.08.2013;5213
    08.08.2013;5284
    09.08.2013;5355
    10.08.2013;5426
    11.08.2013;5497
    12.08.2013;5568
    13.08.2013;5639
    14.08.2013;5710
    15.08.2013;5781
    16.08.2013;5852
    17.08.2013;5923
    18.08.2013;6000
    19.08.2013;6143
    20.08.2013;6286
    21.08.2013;6429
    22.08.2013;6572
    23.08.2013;6715
    24.08.2013;6858
    25.08.2013;7000
    26.08.2013;7125
    27.08.2013;7250
    28.08.2013;7375
    29.08.2013;7500
    30.08.2013;7625
    31.08.2013;7750
    01.09.2013;7875
    02.09.2013;8000
    03.09.2013;8040
    04.09.2013;8080
    05.09.2013;8120
    06.09.2013;8160
    07.09.2013;8200
    08.09.2013;8240
    09.09.2013;8280
    10.09.2013;8320
    11.09.2013;8360
    12.09.2013;8400
    13.09.2013;8440
    14.09.2013;8480
    15.09.2013;8520
    16.09.2013;8560
    17.09.2013;8600
    18.09.2013;8640
    19.09.2013;8680
    20.09.2013;8720
    21.09.2013;8760
    22.09.2013;8800
    23.09.2013;8840
    24.09.2013;8880
    25.09.2013;8920
    26.09.2013;8960
    27.09.2013;9000
    28.09.2013;9091
    29.09.2013;9182
    30.09.2013;9273
    01.10.2013;9364
    02.10.2013;9455
    03.10.2013;9546
    04.10.2013;9637
    05.10.2013;9728
    06.10.2013;9819
    07.10.2013;9910
    08.10.2013;10000

    Wie ich die Werte errechne ist mir bekannt; die Frage die sich mir nur stellt ist, wie ich das in AutoIt umsetze.

    Für eure Hilfe vorab besten Dank :thumbup:

  • Grösser als Problem

    • LordKingPin
    • 13. August 2013 um 12:23

    jetzt wo ich es lese: hätte ich eigentlich selbst drauf kommen können :)
    Danke für die schnelle Aufklärung :thumbup:

  • Grösser als Problem

    • LordKingPin
    • 13. August 2013 um 12:05

    Hallo AutoIt Gemeinde,

    Ich habe eine Variable, die einen Wert zwischen 1 und 999 haben kann und möchte auswerten, wenn Variable grösser als 15 dann Meldung machen, sonst ignorieren.

    Test Beispiel:

    Code
    $i1="136"
    $i2="15"
    
    
    if $i1 > $i2 Then
    	msgbox(0,"","Treffer")
    EndIf

    Allem Anschein nach vergleicht AutoIt nur die ersten 2 Ziffern von $i1 mit $i2. Wenn $i1 einen Wert zwischen 100 und 149 hat, gibt es keine Treffer.

    Jemand eine Idee wie ich das lösen kann? ?(

  • Variable mit Variable angeben

    • LordKingPin
    • 25. Juni 2013 um 12:45

    Danke für deine ausführliche Antwort
    Ich hatte bei der EVAL Anweisung einen Schreibfehler, jetzt funktionierts :)

  • Variable mit Variable angeben

    • LordKingPin
    • 25. Juni 2013 um 12:20

    Irgendwie werde ich nicht so wirklich schlau daraus....

  • Variable mit Variable angeben

    • LordKingPin
    • 25. Juni 2013 um 11:47

    Hallo AutoIt Gemeinde,

    ich stehe vor folgender Herausforderung:
    Nehmen wir an, ich habe folgende Variablen:

    $Test="FALSCH"
    $Test1="!!ZIEL!!"
    $i="1"

    Ziel ist es, das mir $Test1 in einer msgbox ausgegeben wird.
    Die Variable in der msgbox soll mit $Test und $i (=$test1) definiert werden. Ist dies technisch irgendwie möglich?

    Ein Beispiel wie es(leider) nicht funktioniert - ich hoffe ich kann damit ausdrücken, was ich meine:
    msgbox(0,"",$Test&($i))

  • GUI reagiert nicht auf Eingabe

    • LordKingPin
    • 22. Juni 2013 um 17:38

    AdlibRegister war das wa sich gesucht habe;
    einfach am Anfang des Scripts platziert und schon tut es so wie ich es will :)

    Danke !

  • GUI reagiert nicht auf Eingabe

    • LordKingPin
    • 22. Juni 2013 um 16:58

    Hallo AutoIt Gemeinde :)

    Ich bin gerade dabei mir eine GUI zu bauen. Der Wert des Labels soll in einem Zeitintervall X automatisch aktualisiert werden.
    Funktioniert auch soweit ganz gut, leider reagiert meine GUI nicht, wenn ich auf beenden oder auf das Fenster schließen Symbol klicke.
    Ich denke mal das liegt daran, das der sleep(1000) Befehl daran schuld ist.
    Mir stellt sich nun die Frage, wo ich den sleep Befehl unterkriege, so das meine GUI funktioniert und der Aktualisierungsintervall 1 sek. des Labels ist.
    Vielleicht gibt es ja auch eine bessere Alternative? :) Den HotkeySet habe ich nur als Worst Case Exit Funktion eingebaut :)

    Besten Dank für eure Unterstützung!

    Viele Grüße
    LordKingPin


    Code
    #include <GuiConstantsEx.au3>
    
    
    ;Abbruch mit Strg-Alt-a
    HotKeySet ( "^!a", "Abbruch" )
    
    
    global $i2=1
    MainGUI()
    
    
    func Abbruch()
    	Exit
    	endfunc
    
    
    Func MainGUI()
    #Region ### START Koda GUI section ### Form=
    $MainGUI = GUICreate("Test", 625, 345, 226, 155)
    global $label = GUICtrlCreateLabel("test",10,10,100,50)
    global $ExitBUtton = GUICtrlCreateButton("Beenden",10,250,70,30)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    		Case $ExitBUtton
    			Exit
    		Case Else
    			sleep(1000)
    			Filecheck()
    
    
    	EndSwitch
    WEnd
    EndFunc
    
    
    
    
    Func FileCheck()
    $i2=$i2+1
    guictrlsetdata($label,$i2)
    EndFunc
    Alles anzeigen
  • Kommentare Ausblenden

    • LordKingPin
    • 30. Dezember 2011 um 10:49

    Genau, ich meine die Kommentare im Script selbst

  • Kommentare Ausblenden

    • LordKingPin
    • 30. Dezember 2011 um 08:46

    Hallo,

    Gibt es im SciTE die Möglichkeit z.B. via tastendruck die Kommentare automatisch auszublenden?

    Die Hilfe liefert leide rkeine Antworten dieesbezüglich....

    kind regards

    LordKingPin

  • FileWriteLine wird nicht ausgeführt

    • LordKingPin
    • 28. Dezember 2011 um 15:51

    Hallo autobert,

    da gebe ich dir vollkommen Recht nur es ist leider so wie ich oben beschrieben habe. Habe die ganze Sache jetztmal temporär so gelösst das am Ende beide Dateien nochmal Gegengeprüft und gegebenfalls ergänzt werden.

    kind regards
    LordKingpin

  • FileWriteLine wird nicht ausgeführt

    • LordKingPin
    • 28. Dezember 2011 um 08:12

    Hallo,

    Bin mir gerade ein Script für interne Auswertungszwecke am basteln und habe folgendes Problem:

    Wenn Wert4 kleiner ist als WertX dann soll überprüft werden ob dieser Eintrag in der Datenbank( TXT Datei ) bereits existiert. Wenn ja, mache nichts, ansonsten schriebe Daten in 2 TXT Dateien. Wert4 kann die Wertigkeit zwischen 1 und 99 haben. Das funktioniert soweit auch Recht gut nur wenn Wert4 den Wert 8 oder 9 hat wird nur die Zeile mit FilrWrite ausgeführt und nicht die mit Filewriteline. Das ganze ist auch Rekonstruierbar: Wenn ich den Wert 8 habe und diesen manuell abändere auf z.B. 7 dann tut es so wie es soll.
    Hat jemand eine Idee woran das liegen könnte?

    [autoit]


    If $Wert4 < $WertX Then
    If StringInStr($DBRead, $Tdaten) Then
    sleep(10)
    Else
    FileWriteLine($Log, $Tdaten & @CRLF & "")
    FileWrite(@YEAR & "." & @MON & "." & @MDAY & "_Info.txt", $Tdaten & @CRLF)
    sleep(10)
    EndIf
    EndIf

    [/autoit]

    kind regards

    lordkingpin

  • CSV auswerten

    • LordKingPin
    • 23. Dezember 2011 um 11:03

    Hallo,

    Ich stehe vor einem kleinen Problem / Aufgabe.
    Ich bekomme täglich eine CSV Datei die so aus sieht (Dateiinhalt auf 4 Zeilen gekürzt):

    Group,Device,Serial Number,Location,Toner Level / Black,Toner Level / Cyan,Toner Level / Magenta,Toner Level / Yellow,
    Test > Test1,TASKalfa 500ci 5B65,QHW123,Flur 2.OG," 56%"," 36%"," 5%"," 35%",
    Test > Test2,TASKalfa 250ci 0851,QJK0Y456,Flur 1.OG," 55%"," 7%"," 90%"," 83%",
    Test > Test3,TASKalfa 400i 1F8A,QJK0Y789,Empfang," 5%",,,,

    Einmal am Tag erhalte ich eine neue Tabelle wo ich im Prinzip immer per Hand kontrolliere, welche Maschine unter 30% Toner hat.
    Dementsprechend bestelle ich den Toner und notiere mir das in einer Liste.
    Am nächsten Tag das gleiche spielchen wieder von vorn mit einer aktuellen csv nur muß ich dabei jedes mal an die Maschinen denken für die ich bereits einen Toner bestellt habe.
    Diesen Vorgang würde ich gerne automatisieren,
    so dass ich die Datei nur quasi "einlesen" muß, ein Script das kontrolliert und das Ergebniss dementsprechend in eine TXT Datei schreibt ob ein Wert unter 30% ist und wenn ja welche Maschine/Toner genau.

    Da einmal am Tag eine aktuelle Toner.csv eingelesen werden soll, sollte keine Meldung von einer Maschine/Toner kommen die am Vortag schon gemeldet wurde.
    Jedoch sobald der Wert wieder über 80% ist, darf wieder bez. dieser Maschine/Toners eine Meldung geschrieben werden.

    Soviel mal zur Theorie; in der Praxis scheitert es leider etwas :o)
    Ist so etwas mit AutoIt realisierbar?
    Bin für jede Hilfe dankbar.

    Kind regards
    LordKingPin

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™