Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ReadFile FileSize aktualisiert sich nicht ???
#1
Hi ich will während eines Scriptes eine Logfile auslesen diese verändert jedoch ihre Länge.
Wenn ich mit FileSize die Länge auslese wird diese zwar richtig ausgelesen jedoch nach einmaligen auslesen nicht mehr akutaliesiert. Habe ich da was vergessen. Ich lese die FileSize im GfxMode aus.
Ich habe es mit einem Workaround hinbekommen wenn ich mit ChangeScreen kurz auf einen anderen Screen wechsle und danach wieder zurück in das Script wird die FileSize akutalisiert.
Aber das erscheint mir eher blöd.
#2
Es muesste einen parameter bei readfile geben der das neueinlesen des files erzwingt, schau mal in die doku. Hilft dieser parameter? Wenn ja dann muss das problem mit dem filesize ein bug sein.
Current stable version of LCDHype: 0.7.6
New plugin: Notepad++ Bookmark Manager
New music: Nordwise - Empire transition
#3
Sry für meine späte Antwort. Hmm also ich finde in der Dok nichts so wirklich. Als zusätzliche Parameter sind da DefaultEncoding, Delimiter und UpdateInterval genannt. also ich habe probiert mit allen Sachen mal nen bissle umher zu spielen ohne Erfolg. Er setzt einmal die Länge und danach bezieht er sich immer auf den ersten Aufrauf der FileSize. Wie gesagt wenn ich danach kurz auf einen anderen Screen wechsle und das Scirpt danach neu initialisiere funktionierts. Aber so is das mit weiteren Schleifen wie zb. für den CPU Graph blöd sad.gif
#4
Kann es sein das dir einfach die textarea fehlt und damit der text nicht aktualisiert wird?

http://lcdhype.condense.de/index.php?showtopic=5019&hl=

Ansonsten mal schauen ob im status menu irgend eine warnung oder sogar ein Fehler auftritt (nach dem start von lcdhype und auch nach dem ausführen deines scriptes). Wenn ja welche...
Current stable version of LCDHype: 0.7.6
New plugin: Notepad++ Bookmark Manager
New music: Nordwise - Empire transition
#5
Also TextArea hab ich im Script Header wie folgt gesetzt

%Graph.SetTextArea(0,0,320,240)

Ich bekomme in der Regel keine Script Fehler bzw. Abstürze mit dem Script. Wo gibt es denn so eine Status Ausgabe oder meinst sone Abbruchmeldung.

Im Script GFX Mode probiere ich mit folgendem Befehl die Länge der .txt File neu aus zu lesen.

%Assign(LogLine,%System.ReadFile(%LogPath(),FileSize))

gibt es denn so ein Script hier irgendwo im Forum, das einfach ne Logfile anzeigt in der auch gerade von einer anderen Software rumgeschrieben wird. Ich hatte mal ne Weile gesucht aber nur so Playlisten Zeug gefunden. Was dann auch sehr umständlich programmiert war.

Letzten Endes ist meine herangehenweise aber auch die einfach immer eine Zeile zu schreiben und dann bis zum Ende der FileSize entsprechend auf dem Screen die letzten 12 Zeilen auszugeben. Funktioniert auch wenn sich nur dir FileSize aktualisieren würde. Ich beobachte die Variable in sonem selbst gebastelten Error Logger aber die bleibt nach einmaligen Aufrauf gleich gross. Irgendwie checkt er nicht das auf einmal mehr Zeilen drin sind sad.gif



#6
ich meine mit status den menüpunkt "status" auf der linken seite im hauptfenster von lcdhype. da siehst in einer liste was er beim start der anwendung alles gemacht hat. schau da mal, ob da eine warnung oder ein fehler drin is.
Current stable version of LCDHype: 0.7.6
New plugin: Notepad++ Bookmark Manager
New music: Nordwise - Empire transition
#7
okay ich hab da gerade mal rein geschaut und ich bekomme 2 error meldungen.
Kein Winamp Plugin verfügbar und kein Port Treiber gefunden ohmy.gif das LCD funktioniert aber. liegt das etwa daran nee oder ??? ansonsten wird alles korrekt aufgerufen.
#8
ok, dann melde dich mal bei gelegenheit per icq oder so das wir mal ne teamviewer sitzung machen können. vieleicht seh ich was.
Current stable version of LCDHype: 0.7.6
New plugin: Notepad++ Bookmark Manager
New music: Nordwise - Empire transition
#9
Kannst du mir sagen zu welchen Zeiten du so online bist. Ich habe jetzt nen paar mal in ICQ geschaut, dich aber leider nie angetroffen sad.gif Bin aber auch wirklich nicht mehr oft in ICQ. Für so eine Teamviewer Session wäre ich auf jeden fall offen. Vielen Dank für das Angebot. Ich bereite schon mal sonen kleines Script vor das nur den FileSize Befehl benutzt, um damit schnell rumtesten zu können.
#10
eigentlich immer außer wenn ich schlafe *G*, schreib halt einfach mal was.
Current stable version of LCDHype: 0.7.6
New plugin: Notepad++ Bookmark Manager
New music: Nordwise - Empire transition
#11
QUOTE (Bailsone @ Montag, 13.Mai 2013, 11:00 Uhr)
Hi ich will während eines Scriptes eine Logfile auslesen diese verändert jedoch ihre Länge.
Wenn ich mit FileSize die Länge auslese wird diese zwar richtig ausgelesen jedoch nach einmaligen auslesen nicht mehr akutaliesiert. Habe ich da was vergessen.  Ich lese die FileSize im GfxMode aus.
Ich habe es mit einem Workaround hinbekommen wenn ich mit ChangeScreen kurz auf einen anderen Screen wechsle und danach wieder zurück in das Script wird die FileSize akutalisiert.
Aber das erscheint mir eher blöd.

Was ist denn hieraus geworden? Wie ging es dann?

Hab nämlich auch genau das Problem.

Hab auch das Problem, dass es mir das nicht aktualisiert. Hab auf dem Rechner wo es nicht geht noch WinXP drauf.
Auf meinem Laptop mit Win7 aktualisiert es mir die Liste allerdings. Nur auf dem einen Rechner nicht mad.gif
#12
@maxe

In deinem Quote steht das derjenige das im GfxMode ausließt. Ich denke mal da fehlt ihm das %Graph.SetRefreshArea() und der Text wird einfach nicht aktualisiert. Kann das sein?
Current stable version of LCDHype: 0.7.6
New plugin: Notepad++ Bookmark Manager
New music: Nordwise - Empire transition
#13
Ich glaub eher nicht.

Die SetText.Area habe ich definiert und mal mit der Refresh.Area versucht, aber beides Mal kein Erfolg. sad.gif sad.gif

Und auf meinem Rechner mit Win7 läuft ja auch alles prima. Nur auf dem anderen Rechner noch mit WinXP eben nicht...

Hab mal folgendes Testscript schnell aufgebaut.
CODE
#Header
%CleanUp.ClearVRAM()
%Common.SetPriority(75)
%DefVar(TextPrio=5)/Prio für Gfx_Txt areas setzen/
#EndHeader

#TextMode

#EndTextMode

#GfxMode
%Param.OverlayMode()
%Param.RenderMode(Simple)
%CleanUp.TextArea(All)

%Graph.SetRefreshArea(0,0,320,240)
%Graph.SetTextArea(0,0,320,240)/Testausgaben/
%Graph.Font('Arial',8,1)
%Common.CreateNewLine(1,0,10)
'ReadFileSize: '%System.ReadFile('C:\SearchServerClient\testread.txt',FileSize)
 
/Alle Areas nur jeden X Durchlauf updaten/
%If(%TextPrio() = 5)Then{

 %Assign(TextPrio,0)
}/Klammer für TextPrio weiter oben/

%Assign(TextPrio,%Inc(%TextPrio(),1))

%Common.CreateNewLine()
'Testausgabe: '%TextPrio()

#EndGfxMode


Wenn ich jetzt auf dem einen Rechner bei der testread.txt einfach ein paar Zeilen dran hänge und das dann speicher, müsste es mir ja im Script sofort die neue Menge anzeigen. Tut es aber nicht!
#14
So, hab mal ne angepasste Version mit Debugausgaben angehängt. Wenn nun ReadFile() das erste mal im Script ausgeführt wird, sollte im Status Menü in der Log Liste ganz unten folgendes stehen:

CODE
EvaluateReadFile()
File change notification active


Wenn du dann an der Datei irgendwas änderst sollte eine bzw zwei MessageBoxen hochkommen. Wie sehen die aus?


Attached Files
.zip   lcdhype_0762_file_notification_log.zip (Size: 1,14 MB / Downloads: 46)
Current stable version of LCDHype: 0.7.6
New plugin: Notepad++ Bookmark Manager
New music: Nordwise - Empire transition
#15
Kommt nichts.

Auf meinem Rechner, wos ja auch geht, da kommen die zwei Message Boxen.
Nur auf dem anderen PC mit WinXP, wo das Readfile nicht geht, kommen die Message Boxen auch nicht.
#16
Wie sieht es mit dem Status Log aus? Steht da ein Eintrag "File change notification active"?
Current stable version of LCDHype: 0.7.6
New plugin: Notepad++ Bookmark Manager
New music: Nordwise - Empire transition
#17
ja, steht drin.

Den Eintrag schreibts aber nur rein, wenn man das Script wechselt.
Die Systematik ist bei beiden Rechnern die gleiche.
#18
Ich hab jetzt mal einen neuen Parameter reingebaut mit dem du diese "Change Notifications" auf dem betreffenden Rechner ausschalten kannst, somit läuft das Einlesen der Dateien wieder wie vorher (also bei jedem Scriptdurchlauf)

CODE
lcdhype usefilecachechangenotifications:0


Geht?


Attached Files
.zip   lcdhype_0763_use_file_cache_change_notifications_parameter.zip (Size: 1,08 MB / Downloads: 48)
Current stable version of LCDHype: 0.7.6
New plugin: Notepad++ Bookmark Manager
New music: Nordwise - Empire transition
#19
Danke für deine prompte Hilfe smile.gif
Läuft nun perfekt.


Forum Jump:


Users browsing this thread: 1 Guest(s)