AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Textdatei zur Anzeige bringen

Ein Thema von DanielBodensee · begonnen am 1. Mai 2004 · letzter Beitrag vom 2. Mai 2004
Antwort Antwort
Seite 1 von 2  1 2      
DanielBodensee

Registriert seit: 25. Apr 2004
10 Beiträge
 
#1

Textdatei zur Anzeige bringen

  Alt 1. Mai 2004, 15:32
Hallo,

ich muss von meinem Programm aus ein anderes Programm im Hintergrund starten, dass selber eine LOG-Datei schreibt.

Zum einen, wie kann ich mit Delphi3 ein Programm im Hintergrund starten (WinExec soll ja out sein) ohne das es sichtbar wird?

Wie kann ich die Logdatei ständig in einem TMemo anzeigen wenn die Datei schon mal 1,5MB groß werden kann? TScrollBox?

Unter Unix kann ich mir mit tail immer aktuell die neuen Zeilen welche in die LOG-Datei geschrieben werden anzeigen lassen. Kann ich unter Delphi3 gleiches machen bzw eben ein Memofeld mit Scroll-Leisten aktuell versorgen?

Wäre für Eure Tipps sehr dankbar, irgendwie finde ich nicht das richtige in der Hilfe...

Gruss,
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#2

Re: Textdatei zur Anzeige bringen

  Alt 1. Mai 2004, 15:38
Mit Hier im Forum suchenShellExecute kannst du ein Programm starten. Soviel ich weiß, gibt es einen ShowWindow-Befehl (oder wie das heißt):
Code:
SW_HIDE
Damit müsstest du das Fenster im Hintergrund starten können!
Simon Praetorius
Gruß
S2B
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: Textdatei zur Anzeige bringen

  Alt 1. Mai 2004, 15:48
Zitat von W32 SDK:
ShellExecute(

HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
);
Als ersten Parameter gibst du Application.Handle an
Als zweiten PChar("open")
Als dritten PChar(<Programmpfad)
Als vierten nil, außer wenn du Parameter brauchst
Als fünften PChar(ExtractFilePath(Application.ExeName))
Und als letzten SW_HIDE
Bedenke aber dass der Benutzer das zweite Programm nicht sieht, und folgedessen auch nicht so einfach beenden kannst, deshalb bist du für das Beenden des zweiten Programms zuständig.
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
DanielBodensee

Registriert seit: 25. Apr 2004
10 Beiträge
 
#4

Re: Textdatei zur Anzeige bringen

  Alt 1. Mai 2004, 16:02
Hi,

erst mal vielen Dank für Eure Tips.

Wie aber kann ich das Logfile in meinem Programm über z.Bsp. TMemo so anzeigen, dass auch die weiteren Zeilen die in das LOG-File geschrieben werden aktuell angezeigt werden?

Ich kann es nur so erklären was ich will:
Unter UNIX kann man mit Type wie unter DOS etc eine Textdatei anzeigen lassen. Mit dem Parameter -t oder -tail wird die Datei angezeigt und sobald ein neuer Eintrag hinzukommt, wird auch der gleich angezeigt.

Kann man das auch ohne ständig die Datei schliesen und wieder öffnen zu müßen anzeigen?

Gruss,
Daniel


PS: Beschreibe das evtl etwas umständlich, sind meine ersten Schritte in Delphi 3
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#5

Re: Textdatei zur Anzeige bringen

  Alt 1. Mai 2004, 16:05
Vielleicht mit Hier im Forum suchenAssignFile die Zeile in die Datei schreiben und die Zeile auch gleichzeitig ins Memo schreiben?
Simon Praetorius
Gruß
S2B
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#6

Re: Textdatei zur Anzeige bringen

  Alt 1. Mai 2004, 16:07
Wichtig ist, dass du andere Operationen auf die Datei zulässt. Dies geschieht nach AssignFile mit
FileMode := fmShareDenyNone; Anschließend musst du die Dateigröße speichern, und in einem Timer überprüfen, ob sich diese geändert hat. Ist dies der Fall, musst du nur noch die letzten Zeilen ausgeben. Ob Seek auch bei Textdateien funktioniert weiß ich allerdings nicht.
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Textdatei zur Anzeige bringen

  Alt 1. Mai 2004, 16:08
Die große Frage ist:
Ist das Programm das die LOG-Datei erzeugt von dir bzw. kanns Du an diesem etwas ändern?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
DanielBodensee

Registriert seit: 25. Apr 2004
10 Beiträge
 
#8

Re: Textdatei zur Anzeige bringen

  Alt 1. Mai 2004, 16:31
Hallo,

leider wir die LOG-Datei von einem Programm geschrieben, auf das ich keinen Einfluß habe, kann daher leider nichts ändern.

Noch eine andere Frage:
Wenn ich das Programm im Hintergrund gestartet habe, muß ich dieses ja dann auch beenden wenn ich mein Programm schließe. Wie bekomme ich mit, dass das von mir gestartete Programm beendet ist?

Gruss,
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#9

Re: Textdatei zur Anzeige bringen

  Alt 1. Mai 2004, 16:34
OnClose der Form, oder?
Simon Praetorius
Gruß
S2B
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#10

Re: Textdatei zur Anzeige bringen

  Alt 1. Mai 2004, 16:36
Zitat von S2B:
OnClose der Form, oder?
Er hat gesagt, dass es sich um ein Fremdprogramm handelt, ich glaube nicht dass er da eine OnClose bekommt. Du kannst die eine Prozessliste holen und nachschauen, ob ein Prozess noch läuft. Schau mal in der Suche nach, vor kurzem war hier sowas..
Lies dir das hier durch, da könntest du was finden:
http://www.delphipraxis.net/internal...ct.php?t=24268
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz