Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 09, 2025 18:25

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Hilfe gesucht für Übersetzung
BeitragVerfasst: Do Sep 25, 2003 14:20 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 22, 2003 19:56
Beiträge: 104
Wohnort: Lübeck, Germany
Hey Leute,,,

wer von Euch hätte Lust mich zu unterstützen meine HTML Log Dateien aus meiner Directx Engine (C++) für Delphi zu übersetzen. Wäre echt super, wenn jemand mir da helfen könnte da meine Delphi Kenntnisse nicht gerade die eines Profis sind. Ich würde die Dateien dann zum Download bereitstellen.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
Gruß Sascha
[SM3D Game Development]


WERBUNG für ein gutes Projekt
Bild


Zuletzt geändert von SM3D am Do Sep 25, 2003 18:33, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2003 14:44 
Offline
DGL Member

Registriert: Sa Aug 30, 2003 22:23
Beiträge: 36
Wohnort: Hamburg
Ich weiss jetzt nicht so recht ob du sowas meinst... :) aber so hab ich das bei mir gemacht.
Mein Log vorgang sieht so aus, das ich kans simpel ne datei öffne und dann einfach mein LogString untenran hänge und die datei wieder schliesse..
Ich denk mal du hast das bei dir nicht anders gemacht..

Code:
  1.  
  2. Procedure Log(LogText : String);
  3. var
  4.  LogFile : Textfile;
  5.  FileName : string;
  6. begin
  7.  
  8.  if Logging = True then
  9.  begin
  10.   FileName :=  ExtractFilePath(ParamStr(0))+'log.txt';
  11.   AssignFile(LogFile,FileName);
  12.   Try
  13.    Reset(LogFile);
  14.   Except
  15.    ReWrite(LogFile);
  16.   end;
  17.   Append(LogFile);
  18.   Writeln(LogFile,LogText);
  19.   CloseFile(LogFile);      
  20.  end;
  21. end;
  22.  


Die Logging Variable wird vorher auf true oder false gesetzt.. jenachdem ob man mit loggen will oder nicht..
für dein HTML kram schreibste einfach die gewünschten sachen davor und danach..

_________________
<< Ich werde Ewig leben oder beim Versuch dies zu erreichen, sterben! >>


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2003 14:53 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 22, 2003 19:56
Beiträge: 104
Wohnort: Lübeck, Germany
Ja ich habe auch schon eine Log Funktion (siehe Code unten), aber die erzeugt auch nur eine Text datei, die HTML gefällt mir aber besser, alleine schon durch die Farben usw :

Code:
  1. //==============================================================================
  2. //
  3. // SM3D OpenGL Game Engine
  4. // Copyright © 2003 Sascha Karlhoff (SM3D)
  5. //
  6. // Datei              = LOG.PAS
  7. // Version            = 1.1 (e)
  8. // Sprache            = Deutsche
  9. // Erstellt am        = 24.09.2003
  10. // Letzte Änderung am = 24.09.2003 (SK)
  11. //
  12. // INFOS:
  13. // ------
  14. // Diese Unit ist für die Log Datei Unterstützung zuständig.
  15. //
  16. //==============================================================================
  17.  
  18. //==============================================================================
  19. // Die Unit (LOG.PAS)
  20. unit Log;
  21.  
  22. // Der Interface Abschnitt
  23. interface
  24.  
  25. // Die verwendeten Units
  26. Uses
  27.     Windows,
  28.   Messages,
  29.   SysUtils;
  30.  
  31. //=== GLOBALE VARIABLEN ========================================================
  32. Var
  33.     f:TextFile;
  34.  
  35. //=== PROCEDUREN DEKLARATION ===================================================
  36. Procedure OpenLog;
  37. Procedure CloseLog;
  38. Procedure AddToLog(s:String;FinishLn:Boolean);
  39.  
  40. //=== FUNCTION DEKLARATION =====================================================
  41.  
  42.  
  43. //=== IMPLEMENTATION ===========================================================
  44. implementation
  45.  
  46. //=== PROCEDUREN ===============================================================
  47.  
  48. // Öffnen / Erstellen der Log Datei
  49. Procedure OpenLog;
  50. begin
  51.   AssignFile(f,'Log.txt');
  52.   Rewrite(f);
  53.   WriteLn(f,'================================================================');
  54.   WriteLn(f,'| SM3D OpenGL Game Engine                                      |');
  55.   WriteLn(f,'| Copyright © 2003 Sascha Karlhoff (SM3D)                      |');
  56.   WriteLn(f,'================================================================');
  57.   WriteLn(f,'');
  58.   WriteLn(f,'['+DateToStr(Date)+' - '+TimeToStr(Time)+']'+
  59.           ' = '+'Log geöffnet / erstellt...');
  60. end;
  61.  
  62. // Schliessen der Log Datei
  63. Procedure CloseLog;
  64. begin
  65.     WriteLn(f,'['+DateToStr(Date)+' - '+TimeToStr(Time)+']'+
  66.           ' = '+'Log geschlossen...');
  67.   WriteLn(f,'');
  68.   WriteLn(f,'================================================================');
  69.     CloseFile(f);
  70. end;
  71.  
  72. // Schreiben in die Log Datei
  73. Procedure AddToLog(s:String;FinishLn:Boolean);
  74. begin
  75.   s:='['+DateToStr(Date)+' - '+TimeToStr(Time)+'] = '+s;
  76.   if FinishLn then WriteLn(f,s) else Write(f,s);
  77. end;
  78.  
  79. //=== ENDE ==== ENDE === ENDE ==================================================
  80. end.
  81. //=== ENDE ==== ENDE === ENDE ==================================================


Die Ausgabe sieht dann so aus :

================================================================
| SM3D OpenGL Game Engine |
| Copyright © 2003 Sascha Karlhoff (SM3D) |
================================================================

[24.09.2003 - 15:07:30] = Log geöffnet / erstellt...
[24.09.2003 - 15:07:30] = Engine wurde initialisiert...
[24.09.2003 - 15:07:30] = OpenGL wurde initialisiert...
[24.09.2003 - 15:07:33] = Log geschlossen...

================================================================

:cry: :D Ich möchte aber meine HTML.... *G*

_________________
Gruß Sascha
[SM3D Game Development]


WERBUNG für ein gutes Projekt
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2003 14:58 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 22, 2003 19:56
Beiträge: 104
Wohnort: Lübeck, Germany
Achso und aufgerufen wird das dann (z.B. aus meiner Test Anwendung) so :

Code:
  1. // OpenGL initialisieren
  2. procedure TForm1.Button4Click(Sender: TObject);
  3. begin
  4. initSM3DOGL(); // HIER wird die LOG geöffnet bzw. erstellt falls nicht
  5.                        // vorhanden und die ersten einträge gemacht,
  6.                        //  Die Engine wird initialisiert
  7. glInit;
  8. end;
  9.  
  10. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  11. begin
  12. CloseLog; // Hier wird die LOG wieder geschlossen
  13. end;

_________________
Gruß Sascha
[SM3D Game Development]


WERBUNG für ein gutes Projekt
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2003 15:02 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 26, 2002 17:14
Beiträge: 188
Wohnort: Hannover/Lüneburg
Dann schreib doch einfach die HTML-Tags mit rein. Ist ja nicht sonderlich aufwendig...
Code:
  1. writeln('[<b>'+DateToStr(Date)+' - '+TimeToStr(Time)+'</b>] = <i>'+s+'</i><br>
So etwa, und dann das ganze mit der Endung .htm oder .html abspeichern.
Achja, am Anfang natürlich erst noch den HTML-Kopf mit
Code:
  1. <html>
  2. <head>
  3. <title>Log-Datei</title>
  4. </head>
  5. <body>
und am ende eben noch das
Code:
  1. </body>
  2. </html>
in die Datei schreiben.

_________________
Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2003 15:06 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 22, 2003 19:56
Beiträge: 104
Wohnort: Lübeck, Germany
Ja OK das mit dem HTML ist auch nicht mein Problem, sondern das z.B. die Farben abhängig vom Fehler (Rückgabewert) sind. Zum anderen möchte ich die Funktion bzw. auch Procedure mit Zeilennummer mit ausgeben, siehe Log.html oben.

Hm... am besten stelle ich die beiden (C++) Dateien wirklich mal zum Download, dann ist das glaube ich ersichtlicher, was ich meine. :wink:

_________________
Gruß Sascha
[SM3D Game Development]


WERBUNG für ein gutes Projekt
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2003 15:14 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 26, 2002 17:14
Beiträge: 188
Wohnort: Hannover/Lüneburg
Naja, Du rufst ja die Log-Routine von irgendwo fest auf. Dann übergibst du ihr einfach Zeile und den Namen der Prozedur noch als Variable. Und entsprechend des Fehlercode, den du ja auch übergeben kannst, fügst Du halt einen <font></font> Tag ein.

_________________
Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2003 15:27 
Offline
DGL Member

Registriert: Sa Aug 30, 2003 22:23
Beiträge: 36
Wohnort: Hamburg
Ich würde die Log datei aber IMMER gleich wieder schliessen, denn wenn dein programm abkachelt und die datei noch offen ist, wird nix gespeichert und die log bringt dir dann nix mehr.

_________________
<< Ich werde Ewig leben oder beim Versuch dies zu erreichen, sterben! >>


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2003 15:28 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 22, 2003 19:56
Beiträge: 104
Wohnort: Lübeck, Germany
Ja OK das wäre wohl auch eine Möglichkeit, das werde ich nach her gleich mal testen. Danke Dir.

_________________
Gruß Sascha
[SM3D Game Development]


WERBUNG für ein gutes Projekt
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2003 19:52 
Offline
DGL Member

Registriert: Mo Jan 20, 2003 20:10
Beiträge: 424
Wohnort: nähe Starnberg
Anstelle des schließen der Datei würde ich ein Flush machen, damit werden alle Daten aus dem Buffer auf die Festplatte geschrieben. Das ewige öffnen und schließen der Datei würde das protokolieren der Einträge extrem verlangsammen.

Gruß
KidPaddle

_________________
http://www.seban.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2003 21:21 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 22, 2003 19:56
Beiträge: 104
Wohnort: Lübeck, Germany
@KidPaddle,,,

ja das schliessen der Datei erfolg ohne hin erst beim verlassen des Spieles, bzw. biem herunterfahren der Engine. :wink:

_________________
Gruß Sascha
[SM3D Game Development]


WERBUNG für ein gutes Projekt
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 25, 2003 23:29 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 22, 2003 19:56
Beiträge: 104
Wohnort: Lübeck, Germany
So jetzt ist das erste Stück zum Glück erledigt :
Ich habe jetzt aus der Text Datei eine HTML gemacht, bzw. die Log Funktion mach das jetzt. :wink:

Und hier der Code :
Code:
  1. //==============================================================================
  2. //
  3. // SM3D OpenGL Game Engine
  4. // Copyright © 2003 Sascha Karlhoff (SM3D)
  5. //
  6. // Datei              = tLOG.PAS
  7. // Version            = 1.1 (e)
  8. // Sprache            = Deutsche
  9. // Erstellt am        = 24.09.2003
  10. // Letzte Änderung am = 25.09.2003 (SK)
  11. //
  12. // INFOS:
  13. // ------
  14. // Diese Unit ist für die Log Datei Unterstützung zuständig.
  15. //
  16. //==============================================================================
  17.  
  18. //==============================================================================
  19. // Die Log Unit (diese hier)
  20. unit tLog;
  21.  
  22. // Der Interface Abschnitt
  23. interface
  24.  
  25. // Die verwendeten Units
  26. Uses
  27.   SysUtils,                             //System Unterstützung (Funktionen)
  28.   Classes,                              //Klassen Unterstützung (Funktionen)
  29.   Windows;                              //Windows Unterstützung (Funktionen)
  30.  
  31. //=== GLOBALE VARIABLEN ========================================================
  32. Var
  33.     f:TextFile;                           //Die Log Datei (Text- HTML- Datei)
  34.  
  35. //=== PROCEDUREN DEKLARATION ===================================================
  36. Procedure tInitLog;                                      //Log initialisierung
  37. Procedure tExitLog;                                      //Log verlassen
  38. Procedure tWriteToLog(sLogText:String;FinishLn:Boolean); //In die Log schreiben
  39.  
  40. //=== FUNCTION DEKLARATION =====================================================
  41.  
  42. //=== IMPLEMENTATION ===========================================================
  43. implementation
  44.  
  45. //=== PROCEDUREN ===============================================================
  46.  
  47. // Öffnen / Erstellen der Log Datei (Initialisierung)
  48. Procedure tInitLog;
  49. begin
  50.   AssignFile(f,'Log.html');
  51.   Rewrite(f);
  52.   WriteLn(f,'<html><head><title>SM3D Titan Game Engine</title></head>');
  53.   WriteLn(f,'<body>');
  54.   WriteLn(f,'<tr><td><font size=3 color=#000080>==============================='
  55.           +'=================================</font></td></tr><br>');
  56.   WriteLn(f,'<tr><td><font size=5 color=#000080> SM3D OpenGL Game Engine'
  57.           +'</font></td></tr><br>');
  58.   WriteLn(f,'<tr><td><font size=3 color=#000080> Copyright © 2003'+
  59.           'Sascha Karlhoff (SM3D)</font></td></tr><br>');
  60.   WriteLn(f,'<tr><td><font size=3 color=#000080>==============================='
  61.           +'=================================</font></td></tr><br>');
  62.   WriteLn(f,'<tr><td><font size=2 color=##008080>['+DateToStr(Date)+' - '
  63.           +TimeToStr(Time)+']'+
  64.           ' = '+'Log geöffnet / erstellt...</font></td></tr><br>');
  65. end;
  66.  
  67. //------------------------------------------------------------------------------
  68. // Schliessen der Log Datei (herunter fahren)
  69. Procedure tExitLog;
  70. begin
  71.     WriteLn(f,'<tr><td><font size=2 color=##008080>['+DateToStr(Date)+' - '
  72.           +TimeToStr(Time)+']'+
  73.           ' = '+'Log geschlossen...<font></td></tr><br>');
  74.   WriteLn(f,'<tr><td><font size=3 color=#000080>==============================='
  75.           +'=================================</font></td></tr><br>');
  76.   WriteLn(f,'</body></html>');
  77.  
  78.   //Datei schliessen
  79.     CloseFile(f);
  80. end;
  81.  
  82. //------------------------------------------------------------------------------
  83. // Schreiben in die Log
  84. Procedure tWriteToLog(sLogText:String;FinishLn:Boolean);
  85. var
  86.   stLogText : String;
  87. begin
  88.   stLogText:='<tr><td><font size=2 color=#008080>['+DateToStr(Date)+' - '
  89.              +TimeToStr(Time)+']'+' = '+sLogText+'</font></td></tr><br>';
  90.   sLogText:=stLogText;
  91.   if FinishLn then WriteLn(f,sLogText) else Write(f,sLogText);
  92. end;
  93. //------------------------------------------------------------------------------
  94.  
  95. //=== ENDE ==== ENDE === ENDE ==================================================
  96. end.
  97. //=== ENDE ==== ENDE === ENDE ==================================================


Auf Anfrage stelle ich die Unit auch als Download zur Verfügung, jetzt fällen nur noch die unterscheidlichen Farben, wie z.B. in ROT bei Fehlern, aber da muß ich auch erst richtige Routinen für die Fehlerbehandlung und die Rückgabewerte schreiben, jep Delphi, ich bin zurück :D

_________________
Gruß Sascha
[SM3D Game Development]


WERBUNG für ein gutes Projekt
Bild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]