Log Datei in VB einfügen

BLACKICE05

Grünschnabel
Servus ich bin seit gerade eben Angemeldet bin Tim 18 Jahre alt und mache eine Ausbildung zum IT-System-Kaufmann ich habe jetzt eine "kleine" Programmierungs- Übungsaufgabe bekommen.

So nun Stehe ich vor einem Problem die Grafische Oberfläche ist soweit fertig jetzt geht’s ans Realisieren.

Nun zu meinem Problem:

Ich soll eine Alarmanlagen Monitoring schreiben (Grafische Anzeige der Grundrisse die sind mit Grün und Rot deklariert (Grün = Unscharf und Rot = Scharf) ich habe auf unserem Server hier eine „Alarmlog.txt“ Datei

So meine Frage ist

Wie kann die diese .txt. Datei einfügen und sagen wir alle 10 sec. Aktualisiert falls sich was ändert (z.B. von Scharf auf Unscharf) das Bild dann einfach von Rot in Grün Wechselt. Ebenso haben wir 5 verschiedene Bereiche die alle extra Scharf/Entschärft werden können.

Natürlich will ich keinen ganzen Code sondern nur wie ich die .txt. Datei mit Aktualisierung einfügen kann und das dass Programm auf die Datei zugreift.

Ich hoffe ich habe das alles verständlich erklärt wenn mir jemand helfen kann wäre ich Ihm sehr dankbar.

Ich wünsche euch einen schönen Tag noch

MfG
 
hey tim,

so in etwa?



Code:
'benötigte komponenten: microsoft internet transfer control 6.0
Dim seitezumauslesen As String 'deine seite als string deklerieren
Dim datenvonseite as string
seitezumauslesen = "http://www.tutorials.de/bla.log" ' <-- deine seite
If Not Inet1.StillExecuting Then 'wenn inet1 gerade nicht benutzt wird -> soll deine aufgabe ausgeführt werden
datenvonseite = Inet1.OpenURL(seitezumauslesen) 'die textdatei vom server wird in den string "datenvonseite" ausgelesen.
End If

diesen code kannst du jetzt z.b. in einen timer kopieren, und dem timer einen passenten interval geben. (10 sekunden -> interval = 10000)
 
Zuletzt bearbeitet von einem Moderator:
Hallo Tim,

wie eine Textdatei eingelesen wird, hängt natürlich auch vom Aufbau der Datei ab (hat sie z.B. eine feste Satzlänge, sind dort Zeilen, in denen die Felder durch Komma/Tab oder was auch immer getrennt sind?).

Das was bobi geschrieben hat, betrifft das Internet, nach Deinem Problemfall gehe ich jedoch stark davon aus, dass es sich hier um einen lokalen Netzwerkserver handelt. Dazu brauchst Du natürlich kein Internet-Control.

Generelles zum Lesen und Schreiben von Dateien findest Du u.a. hier.

ronaldh
 
Einwurf von der Seite: Wie ist die Situation, wenn ich per VB-Code eine Datei zum lesen öffne (Modus sei mal egal)? Ist diese Datei dann für andere Prozesse gesperrt?

Sollte man berücksichtigen! Falls die Datei dann gesperrt ist, kann der andere Prozess (Monitoring-Prozess) nicht in die Datei schreiben, solange sie offen ist.
 
Einwurf von der Seite: Wie ist die Situation, wenn ich per VB-Code eine Datei zum lesen öffne (Modus sei mal egal)? Ist diese Datei dann für andere Prozesse gesperrt?

Sollte man berücksichtigen! Falls die Datei dann gesperrt ist, kann der andere Prozess (Monitoring-Prozess) nicht in die Datei schreiben, solange sie offen ist.

Grundsätzlich ist die Datei erstmal nicht gesperrt, wenn sie mit Open von VB aus geöffnet wird, dies muss dann explicit mit dem Lock-Befehl durchgeführt werden (dann natürlich nicht das Unlock vergessen. Lock und Unlock können auf File- und Recordebene erfolgen.

Allerdings sollte das VB-Leseprogramm damit rechnen, dass der Monitoring-Prozess die Datei beim Schreiben lockt, und darauf entsprechend reagieren. Es erfolgt dann ja ein Fehler, der abgefangen werden muss, und ein paar Sekunden später wieder ausgeführt werden muss.

Es wäre für Blackice05 natürlich auch zu prüfen, wie die Monitoring-Daten erzeugt werden. Es wäre sicherlich sinnvoll, die Datei nach dem Einlesen jedesmal zu löschen, was natürlich nur geht, wenn sie dann wieder neu erzeugt werden kann. Auf diese Weise würde man nämlich auch mitbekommen, wenn eines der Geräte nicht mehr antwortet (weil sabotiert oder defekt).

Grüsse
ronaldh
 
Grundsätzlich ist die Datei erstmal nicht gesperrt, wenn sie mit Open von VB aus geöffnet wird, dies muss dann explicit mit dem Lock-Befehl durchgeführt werden (dann natürlich nicht das Unlock vergessen. Lock und Unlock können auf File- und Recordebene erfolgen.

Allerdings sollte das VB-Leseprogramm damit rechnen, dass der Monitoring-Prozess die Datei beim Schreiben lockt, und darauf entsprechend reagieren. Es erfolgt dann ja ein Fehler, der abgefangen werden muss, und ein paar Sekunden später wieder ausgeführt werden muss.

Es wäre für Blackice05 natürlich auch zu prüfen, wie die Monitoring-Daten erzeugt werden. Es wäre sicherlich sinnvoll, die Datei nach dem Einlesen jedesmal zu löschen, was natürlich nur geht, wenn sie dann wieder neu erzeugt werden kann. Auf diese Weise würde man nämlich auch mitbekommen, wenn eines der Geräte nicht mehr antwortet (weil sabotiert oder defekt).

Grüsse
ronaldh

Hmm, dann würde ich das Ding aber nicht per direkten Schreibzugriff für den Client coden, sondern das Monitoring-Tool gleichzeitig als ActiveX-Server-EXE coden.

Dann kann er per Event-Trigger die Daten an den Client schicken ohne Gefahr zu laufen, dass ihm der Schreibprozess die Datei zu macht.
 
Zurück