AGB  ·  Datenschutz  ·  Impressum  







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

zeit vor den log

Ein Thema von glkgereon · begonnen am 6. Sep 2004 · letzter Beitrag vom 7. Sep 2004
Antwort Antwort
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#1

zeit vor den log

  Alt 6. Sep 2004, 16:59
hi

ich will mir einen log basteln, hier erst ma mein code:

Delphi-Quellcode:
procedure TForm1.memo_LogChange(Sender: TObject);
var a:integer;
begin
a:=memo_log.Lines.Count-1;
memo_log.Lines[a]:=datetimetostr(now)+': '+memo_log.Lines[a];
end;
also einfach ne memo, wo ich im onchange-ereignis die zeit davor tue

nun wird aber gechanget, er setzt datum davor, und dann isses ja wieder anders und er machts nochmal und so weiter bis zu nem stack overflow (also ne endlosschleife: ändern -> onchange -> ändern -> onchange...)

kann man das verhindern?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: zeit vor den log

  Alt 6. Sep 2004, 17:01
Hi!

Nimm dir eine globale Variable, meinetwegen aender. Dann prüfst du ob aender=true, wenn ja, dann machst du es, dann setzt du aender grad auf false.
Und dann gehst du in nem Timer hin (z.b. alle 5 Sekunden) und setzt aender wieder auf true.

Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#3

Re: zeit vor den log

  Alt 6. Sep 2004, 17:03
setz doch schon beim reinschreiben ins memo die zeit davor, so mach ichs auch.

gruss
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#4

Re: zeit vor den log

  Alt 6. Sep 2004, 17:07
ich hab aber keinen bock jetzt an 10 verschiedenen stellen das zu machen

ausserdem fänd ichs einfach besser und man könnt mal ne compo drauss machen....
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.183 Beiträge
 
Delphi 12 Athens
 
#5

Re: zeit vor den log

  Alt 6. Sep 2004, 17:29
du könntest zwar 'ne Globale Variable verwenden
Delphi-Quellcode:
var LogChange: Boolean = False;

procedure TForm1.memo_LogChange(Sender: TObject);
var a:integer;
begin
  If LogChange Then Exit;
  LogChange := True;
  a:=memo_log.Lines.Count-1;
  memo_log.Lines[a]:=datetimetostr(now)+': '+memo_log.Lines[a];
  LogChange := False;
end;
, oder etwas vom Memo misshandeln
Delphi-Quellcode:
procedure TForm1.memo_LogChange(Sender: TObject);
var a:integer;
begin
  If memo_log.Tag <> 0 Then Exit;
  memo_log.Tag := 1;
  a:=memo_log.Lines.Count-1;
  memo_log.Lines[a]:=datetimetostr(now)+': '+memo_log.Lines[a];
  memo_log.Tag := 0;
end;
und somit dieses verhindern, oder du machst 'ne Prozedure
Delphi-Quellcode:
Procedure AddLog(S: String);
  Begin
    memo_log.Lines.Add(datetimetostr(now) + ': ' + S;
  End;
und verwendest diese überall, wo ein Ereignis eingetragen wird.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#6

Re: zeit vor den log

  Alt 6. Sep 2004, 17:39
danke, funzt

wozu is denn dieses tag?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.183 Beiträge
 
Delphi 12 Athens
 
#7

Re: zeit vor den log

  Alt 6. Sep 2004, 17:58
aus der OH

Zitat von Die OH:
Die Eigenschaft Tag speichert eine Ganzzahl als Teil der Komponente.

Delphi-Syntax:

property Tag: Longint;

C++ Syntax:

__property int Tag = {read=FTag, write=FTag, default=0};

Beschreibung

Tag hat keine vordefinierte Bedeutung. Die Eigenschaft Tag steht zur freien Benutzung durch Entwickler zur Verfügung. Sie können in dieser Eigenschaft zusätzliche Informationen über die Komponente in Form einer Ganzzahl speichern oder die Eigenschaft in einen 32-Bit-Wert, wie z.B. in eine Komponentenreferenz oder einen Zeiger, umgewandelt werden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: zeit vor den log

  Alt 7. Sep 2004, 06:37
Zitat von glkbkk:
...nun wird aber gechanget,....
Warum nicht einfach das .OnChange während der Änderung abschalten?
Delphi-Quellcode:
procedure TForm1.memo_logChange(Sender: TObject);
var
  onchange : TNotifyEvent;
  a : Integer;
begin
  onChange := (Sender As TMemo).OnChange; // "Merken" der Onchange-Procedure
  (Sender As TMemo).OnChange := nil; // OnChange abschalten
  a:=memo_log.Lines.Count-1;
  memo_log.Lines[a]:=datetimetostr(now)+': '+memo_log.Lines[a];
  (Sender As TMemo).OnChange := onChange; // OnChange-Procedure wieder zuweisen.
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#9

Re: zeit vor den log

  Alt 7. Sep 2004, 19:55
ginge auch..

bin aber froh dasses mit tag funzt

trotzdem danke für die idee
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:46 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