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

Beiträge von mm4040

  • CPU Last steigt auf 100% obwohl das GUI noch nicht arbeiten muss.

    • mm4040
    • 14. Dezember 2009 um 21:12

    ich habe das Script inzwischen wieder abgebrochen, weil es immer noch in einer zähen Art und Weise läuft, also weit über 15 Min.
    ich hoffe ich finde noch eine Vorgänger version und kann den unterschied zur jetzigen Version finden.

  • CPU Last steigt auf 100% obwohl das GUI noch nicht arbeiten muss.

    • mm4040
    • 14. Dezember 2009 um 21:00

    hoi,
    es geht tatsächlich. Jetzt steigt die CPU Last erst beim Starten des Skripts.
    Ich wundere mich nur , weil bis vor kurzen das Programm rasend schnell war. naja.....
    Jetzt benötigt es für ca 35000 Datensätze auf einmal weit mehr als 5 Min. Obwohl ich nur eine Text datein mit Zeilen zerlege.
    Kann es durch irgend ein Update (Windows ... Virenscanner ... ) auf einmal langsamer laufen ??

  • CPU Last steigt auf 100% obwohl das GUI noch nicht arbeiten muss.

    • mm4040
    • 14. Dezember 2009 um 20:46

    aber nicht lachen ...

    Spoiler anzeigen


    #include <File.au3>
    #include <Array.au3>
    #include <Date.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiEdit.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstants.au3>
    #include <GuiEdit.au3>
    #include <ProgressConstants.au3>
    #include <GUIComboBox.au3>
    ;~ #include <Math.au3>


    Opt("GUIOnEventMode", 1)
    Opt("GUICloseOnESC", 0)
    Global $logfile, $c_LCNoread, $c_IDNoread, $c_IFNoread, $aSchalen[1], $aRundenCounter
    #Region ### START Koda GUI section ### Form=D:\Software\Autoit\Scripte\Entwicklung\Koda_Form\CodeAnalyse.kxf

    $Form1_1_1 = GUICreate("CodeAnalyse", 1033, 247, 192, 124)
    GUISetFont(8, 400, 0, "Arial")
    GUISetBkColor(0x808080)
    ;~ $progressbar1 = GUICtrlCreateProgress(100,400, 200, 20)
    GUICtrlSetColor(-1, 32250); not working with Windows XP Style
    GUISetOnEvent($GUI_EVENT_CLOSE, "_GUIEvents")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "_GUIEvents")
    GUISetOnEvent($GUI_EVENT_RESTORE, "_GUIEvents")


    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 6, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x0000FF)
    $Label1 = GUICtrlCreateLabel("Pfad", 16, 32, 26, 18)
    ;~ $Pfad = GUICtrlCreateInput("", 60, 32, 425, 22)
    $Edit1 = GUICtrlCreateEdit("", 800, 32, 200, 200)
    ;~ $Pfad1 = GUICtrlCreateCombo("", 48, 24, 145, 25)

    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Input2 = GUICtrlCreateInput("", 248, 136, 217, 21);System
    $Input3 = GUICtrlCreateInput("", 472, 136, 217, 21);Datum
    $Input4 = GUICtrlCreateInput("", 24, 200, 217, 21);Leitcode
    $Input5 = GUICtrlCreateInput("", 248, 200, 217, 21);Identcode
    $Input6 = GUICtrlCreateInput("", 472, 200, 217, 21);Identifire
    $Input7 = GUICtrlCreateInput("", 24, 104, 663, 21);Statuszeile
    $Input8 = GUICtrlCreateInput("", 24, 168, 217, 21);Anzahl Datensätze
    $Input9 = GUICtrlCreateInput("", 24, 136, 217, 21);PZ Name
    $Input10 = GUICtrlCreateInput("", 248, 168, 217, 21);Norread
    GUICtrlSetColor(-1, 0xFF0000)

    $btn1 = GUICtrlCreateButton("Datenanalyse...", 520, 32, 100, 40, $BS_ICON)
    ;~ GUICtrlSetImage(-1, "shell32.dll", 23)
    GUICtrlSetOnEvent($btn1, "_checkFile")
    $btn2 = GUICtrlCreateButton("Logfile.", 650, 32, 100, 40, $BS_ICON)
    ;~ GUICtrlSetImage(-1, "shell32.dll", 23)
    GUICtrlSetOnEvent($btn2, "_openLog")
    ;Combobox füllen
    $Pfad = GUICtrlCreateCombo("", 48, 24, 245, 25)
    $var=_FileListToArray("c:\temp\","*rw.dat",1)
    ;~ _ArrayDisplay($var)
    For $i = 1 To $var[0]
    _GUICtrlComboBox_AddString($Pfad, $var[$i])
    next

    GUISetState(@SW_SHOW)


    #EndRegion ### END Koda GUI section ###
    Func _GUIEvents();==> Knöpfe Maximieren Minimieren Ende
    Select
    Case @GUI_CtrlId = $GUI_EVENT_CLOSE
    Exit
    Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE
    Case @GUI_CtrlId = $GUI_EVENT_RESTORE
    EndSelect
    EndFunc ;==>_GUIEvents
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    EndSwitch
    WEnd
    ; - Datei einlesen


    ;- Auswertung Beginn
    Func _checkFile()

    Dim $c_LCNoread = 0
    Dim $c_IDNoread = 0
    Dim $c_IFNoread = 0
    Dim $file = "c:\temp\"&GUICtrlRead($Pfad)
    Dim $fileline = _FileCountLines($file)
    Dim $aRecords
    Dim $c_Leerschale = 0
    ;-löschen der Feldinhalte
    _GUICtrlEdit_SetText($Edit1, "--- Start ---"&@crlf)
    _GUICtrlEdit_SetText($Input2, "")
    _GUICtrlEdit_SetText($Input3, "")
    _GUICtrlEdit_SetText($Input4, "")
    _GUICtrlEdit_SetText($Input5, "")
    _GUICtrlEdit_SetText($Input6, "")
    _GUICtrlEdit_SetText($Input7, "")
    _GUICtrlEdit_SetText($Input8, "")
    _GUICtrlEdit_SetText($Input9, "")
    _GUICtrlEdit_SetText($Input10, "")
    ;- starte Berechnung
    _GUICtrlEdit_InsertText($Input7, "Berechnung läuft ..... ")
    _FileReadToArray($file, $aRecords)


    $fileline = _FileCountLines($file)
    _GUICtrlEdit_InsertText($Input9, $aRecords[2])
    _GUICtrlEdit_InsertText($Input2, $aRecords[3])
    _GUICtrlEdit_InsertText($Input3, StringMid($aRecords[4], 6, 11))
    $filename = "PZ" & StringMid($aRecords[2], 7, 3) & "_SYS" & StringMid($aRecords[6], 10, 2) & "_" & StringMid($aRecords[4], 6, 11) & ".log"
    $logfile = ("c:\temp\" & $filename)
    _FileCreate($logfile)
    FileOpen($logfile, 1)
    ;~ $aRundenCounter[1]=0
    ;~ for $i = 6 to 500
    For $i = 6 To $fileline
    $str = StringSplit($aRecords[$i], ";")

    _ArrayAdd($aSchalen,$str[4])
    ;
    If $str[24] = "" And $str[43] = "" And $str[62] = "" Then
    $c_Leerschale = $c_Leerschale + 1
    _GUICtrlEdit_InsertText($Edit1, $str[1] & " Index=" & $str[4] & @CRLF)
    EndIf
    ;- Leitcode fehlt
    If $str[24] = "" Then
    $str[24] = "Code fehlt "
    $c_LCNoread = $c_LCNoread + 1

    EndIf
    ;- Identcode fehlt
    If $str[43] = "" Then
    $str[43] = "Code fehlt "
    $c_IDNoread = $c_IDNoread + 1
    EndIf
    ;- Identifire fehlt
    If $str[62] = "" Then
    $str[62] = "Code fehlt"
    $c_IFNoread = $c_IFNoread + 1
    EndIf
    ;~ _ArrayAdd($aSchalen,$str[4])
    ;~
    ; - Schreiben in Logfile

    FileWrite($logfile, "Zeit=" & $str[1] & " ;Index=" & $str[4] & ";LC=" & $str[24] &";IC=" & $str[43] & ";Code3=" & $str[62] & @CRLF)
    ;--- Runden zählen


    Next; Schleifen ende nächster Datensatz
    FileClose($logfile)
    $ReadGesamt =$fileline-6
    _GUICtrlEdit_InsertText($Input8, "Anzahl Datensätze = " & $fileline-6)
    _GUICtrlEdit_InsertText($Input4, "Anzahl ID-Code fehlt = " & $c_IDNoread& " % "&StringLeft(($c_IDNoread/$ReadGesamt)*100,5))
    _GUICtrlEdit_InsertText($Input5, "Anzahl LC-Code fehlt = " & $c_LCNoread& " % "&StringLeft(($c_LCNoread/$ReadGesamt)*100,5))
    _GUICtrlEdit_InsertText($Input6, "Anzahl IF-Code fehlt = " & $c_IFNoread& " % "&StringLeft(($c_IFNoread/$ReadGesamt)*100,5))
    _GUICtrlEdit_InsertText($Input10, "Noread = " & $c_Leerschale& " % "&StringLeft(($c_Leerschale/$ReadGesamt)*100,5))
    _GUICtrlEdit_SetText($Input7, " - Fertig - " & "Logfile unter -> " & $logfile)

    EndFunc ;==>_checkFile

    Func _openLog()
    ;~ MsgBox("","",$logfile)
    Run("uedit32.exe" & " /c " & $logfile, "", @SW_MAXIMIZE)
    EndFunc ;==>_openLog

  • CPU Last steigt auf 100% obwohl das GUI noch nicht arbeiten muss.

    • mm4040
    • 14. Dezember 2009 um 20:37

    Bin ein Neuling,
    aber habe das Problem, wenn ich mein GUI starte steigt die CPU Last gleich auf 100 % obwohl das GUI noch nichts abarbeitet bzw. einliest. Woran kann das liegen?

  • ist die Anzahl der Zeilen im Ausgabefenster begrenzt ? Control "Edit"

    • mm4040
    • 7. November 2009 um 20:28

    Hab mal ne Frage,

    ich möchte ein Logfile welches ich bearbeitet habe in einem Ausgabefenster ausgeben.
    Dazu habe ich das Control " Edit" geählt was ja auch Bildlaufleisten besitzt.
    Allerdings werden mir dort nur 356 Zeilen ausgegeben. Ich habe aber wesentlich mehr Zeilen . Gibt es noch eine Andere Möglichkeit außer in ein neues File zu schreiben ?

    Bestimmt stell ich mich wieder zu dumm an.
    Hat jemand eine IDEE ? ?(

    Habe noch was festgestellt. Wenn ich mit der Maus darin rumscroll werden weitere zeilen angezeigt. Allerdings ist das sehr unzufriedenstellend.

  • Probleme mit FileCopy

    • mm4040
    • 16. August 2009 um 11:19

    Hallo Zusammen,

    ich war gerade ein wenig überfordert mit soviel Antworten hatte ich nicht gerade gerechnet.
    Nach dem ich alle ausprobiert habe, konnte ich nur eine Richtige Lösung finden.
    Mein Dank gilt allen und besonders dem "Bug Fixer".
    Hier werden alle Inhalte der Dateien wirklich in nur eine Datei geschrieben

    Probelm gelöst. Der Sonntag ist gerettet.
    Gruss mm4040 :thumbup:

  • Probleme mit FileCopy

    • mm4040
    • 16. August 2009 um 10:38

    ja genau,

    so wie unter Dos -> da gibt es den Befehl copy *.* c:\Logfile.log
    So was simples muss es doch auch geben ? ;(
    Das Logfile will später nach Meldungen durchsuchen, und da ich nicht hundertes Files einzeln aufmachen möchte, copier ich den Inhalt aller 100 Datein einfach ein eine Datei

  • Probleme mit FileCopy

    • mm4040
    • 16. August 2009 um 10:31

    hm,
    ich glaube wir haben aneinander vorbei geredet.
    Es sollen alle Dateine(z.B txt oder log Dateien) in ein gesamtes Logfile(nicht Verzeichnis) copiert werden. Aus 50 Dateine wird dann nur noch eine Datei.
    Zu mindest unter Dos.

  • Probleme mit FileCopy

    • mm4040
    • 16. August 2009 um 10:20

    Hallo ich habe da ein Problem

    ich traue es mich ja fast nicht zu fragen, aber .... ich hab schon gesucht und nichts gefunden.

    unter Dos gibt es den Befehl copy *.* c:\Logfile.log
    d.h alle Dateien im aktuellen verzeichznis werden in ein Logfile kopiert.

    Mit dem Befehl FileCopy("c:\Log\*.*","c:\log\logfile.log",1) wird nur die letzte Datei im Verzeichnis in das Logfile kopiert.
    Ist das ein BUG ? Oder stelle ich mich zublöd an. Gibt es eine einfache Lösung für das Problem, ohne ein cmd Fenster zu öffnen ?
    Gruß mm4040

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™