Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Userdefinierte Anordnung von Spalten in einer HTML-Datei (https://www.delphipraxis.net/122294-userdefinierte-anordnung-von-spalten-einer-html-datei.html)

Svenkan 13. Okt 2008 13:48


Userdefinierte Anordnung von Spalten in einer HTML-Datei
 
Hallo Leute!
In meinen Vertretungsplänen gibt es z.B. für die Schüler insg. 9 Spalten:

Klasse
Stunde
Art
Fach
es fehlt
es vertritt
Raum
Bemerkung
Statt

In den Optionen meines Programms können in ListBoxes die aktiven und inaktiven Spalten eingestellt und in Ihrer Reihenfolge geändert werden. Die Namen der Spalten werden dann in 2 verschiedenen Dateien gespeichert: sp_aktiv.vpl und sp_inaktiv.vpl. Dies sind ganz normale Textdateien, die Dateiendung benutze ich allerdings zur Unterscheidung in meinem Programm.
Diese Datei sieht dann z.B. so aus:

Zitat:

Klasse
Stunde
Art
Fach
es fehlt
es vertritt
Raum
Bemerkung

Bisher wurden die Spalten folgendermaßen geschrieben:


Delphi-Quellcode:
 WriteLn(Datei,'<tr class="vplan-header">');
 if order_mon='KLASSEN' then begin
  if s1 then WriteLn(Datei,'<td width='+ss1+'% class="vplan-klasse-header">'+sLineBreak+tklasse+'</td>');
  if s2 Then WriteLn(Datei,'<td width='+ss2+'% class="vplan-stunde-header">'+sLineBreak+tstunde+'</td>');
 end
 else begin
  if s2 Then WriteLn(Datei,'<td width='+ss2+'% class="vplan-stunde-header">'+sLineBreak+tstunde+'</td>');
  if s1 Then WriteLn(Datei,'<td width='+ss1+'% class="vplan-klasse-header">'+sLineBreak+tklasse+'</td>');
 end;
  if s9 Then WriteLn(Datei,'<td width='+ss9+'% class="vplan-art-header">'+sLineBreak+tentfall+'</td>');
  if s3 Then WriteLn(Datei,'<td width='+ss3+'% class="vplan-esfehlt-header">'+sLineBreak+tfehlt+'</td>');
  if s4 Then WriteLn(Datei,'<td width='+ss4+'% class="vplan-esvertritt-header">'+sLineBreak+tvertritt+'</td>');
  if s5 Then WriteLn(Datei,'<td width='+ss5+'% class="vplan-fach-header">'+sLineBreak+tfach+'</td>');
  if s10 then WriteLn(Datei,'<td width='+ss10+'% class="vplan-statt-header">'+sLineBreak+tstatt+'</td>');
  if s6 Then WriteLn(Datei,'<td width='+ss6+'% class="vplan-bemerkung-header">'+sLineBreak+tbemerkung+'</td>');
  if s7 Then WriteLn(Datei,'<td width='+ss7+'% class="vplan-raum-header">'+sLineBreak+traum+'</td>');
  WriteLn(Datei,'</tr>');

Je nach der Anordnung in der Textdatei 'sp_aktiv.vpl' sollen nun die Spalten auch im Programm erstellt werden!
Hat da jetzt jemand eine Idee, wie diese Aufgabe zu lösen ist?

J3rk 13. Okt 2008 15:23

Re: Userdefinierte Anordnung von Spalten in einer HTML-Datei
 
Indem die Werte in ein Stringgrid geladen werden ?

Svenkan 13. Okt 2008 16:47

Re: Userdefinierte Anordnung von Spalten in einer HTML-Datei
 
Etwas genauer wäre nett^^

J3rk 13. Okt 2008 17:49

Re: Userdefinierte Anordnung von Spalten in einer HTML-Datei
 
Es gibt ne Komponente die StringGrid heisst. Diese sieht aus wie eine Tabelle. Statt jetzt HTML Code zu generieren fügst du die Werte halt dort ein.

Mr_G 13. Okt 2008 18:09

Re: Userdefinierte Anordnung von Spalten in einer HTML-Datei
 
Zitat:

Zitat von J3rk
Es gibt ne Komponente die StringGrid heisst. Diese sieht aus wie eine Tabelle. Statt jetzt HTML Code zu generieren fügst du die Werte halt dort ein.

Ich denke, dass das HTML-Format bei diesem Problem Vorgabe ist.

Ich würde einfach eine Aufzählung für die Spalten definieren. Dann die Werte aus der Datei lesen und ein Array mit den dazu entsprechenden Aufzählungswerten füllen. Nun einfach ein Array mit dem Aufzählungstyp als Index mit den konkreten Werten befüllen und anhand des ersten Arrays die Ausgabe zusammenbauen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 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