AGB  ·  Datenschutz  ·  Impressum  







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

String an procedure übergeben

Ein Thema von smartmod · begonnen am 20. Feb 2006 · letzter Beitrag vom 20. Feb 2006
Antwort Antwort
smartmod

Registriert seit: 11. Jul 2005
26 Beiträge
 
#1

String an procedure übergeben

  Alt 20. Feb 2006, 00:08
Hallo,

ich bin eher noch in den Anfängen der Delphi Programmierung und habe ein Problem:

Ich will in einer Listbox einen Log darstellen.
Gleichzeitig soll jedesmal, wenn der Listbox ein Eintrag hinzugefügt wurde, der Eintrag auch in ein Logfile geschrieben werden. Um mir da unnötig Zeilen zu ersparen, wollte ich das so machen:

Delphi-Quellcode:
function WriteLog(LogString: String): Integer;
var
  f: TextFile;
begin
 {$IOChecks OFF}
  AssignFile(f, ExtractFilePath(ParamStr(0))+LOGFILE);
  if FileExists(ExtractFilePath(ParamStr(0))+LOGFILE) then
    Append(f)
  else
    Rewrite(f);
  Writeln(f, LogString);
  CloseFile(f);
  result := GetLastError();
 {$IOCHECKS ON}
end;

procedure LBWrite(LogText: String);

begin
    Form1.ListBox1.Items.Add(DateToStr(Now)+' '+TimeToStr(Now)+': '+LogText);
    Form1.ListBox1.TopIndex := Form1.ListBox1.Items.Count-1;
    WriteLog(DateToStr(Now)+' '+TimeToStr(Now)+': '+LogText);
end;
Die Procedure möchte ich dann mit LBWrite('Das ist der Text, der reingeschrieben wird'); aufrufen.

Das geht aber irgendwie nicht. Weiß jemand Rat? Vielen Dank schonmal!
  Mit Zitat antworten Zitat
Benutzerbild von tomaten
tomaten

Registriert seit: 19. Jun 2005
118 Beiträge
 
Delphi 2005 Architect
 
#2

Re: String an procedure übergeben

  Alt 20. Feb 2006, 00:17
Also mit "geht nicht" wird Dir kaum einer helfen können! Btw. warum machst Du nicht direkt DateTimeToStr(Now)?
  Mit Zitat antworten Zitat
smartmod

Registriert seit: 11. Jul 2005
26 Beiträge
 
#3

Re: String an procedure übergeben

  Alt 20. Feb 2006, 00:25
Hmmm... Ja hast recht, das wäre einfacher.

Geht nicht heißt: Er gibt mir folgende Fehlermeldung(en):

Zitat:
[Warning] Unit1.pas(7): W1005 Unit 'FileCtrl' is specific to a platform
[Error] Unit1.pas(41): E2065 Unsatisfied forward or external declaration: 'TForm1.LBWrite'
[Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas'
Die Procedure ist deklariert als:

procedure LBWrite(LogText: String); EDIT: Alles klar, jetzt gehts. Ich musste die Procedure nur als TForm1.LBWrite... deklarieren. Danke!
  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 13:48 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