Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi .csv in .html Datei umwandeln (https://www.delphipraxis.net/212675-csv-html-datei-umwandeln.html)

julchen 14. Mär 2023 13:18

.csv in .html Datei umwandeln
 
Hallo,

ich habe eine .csv-Datei, die ich in eine .html-Datei umwandeln möchte.
Die Datei habe ich bis jetzt immer aus Excel heraus in eine .pdf-Datei umgewandelt und den Kunden zur Verfügung gestellt.
Eine .html-Datei würde sich besser eignen.
Der angegebene Vorname und Nachname soll zum Link werden.

Das Problem mit meinem Code:
Es werden nur die ersten zwei Zeilen der Schleife abgearbeitet.

 
procedure TForm1.Button1Click(Sender: TObject);
var
datum: string;
i: integer;
begin
edit1.Text := datum;
Memo1.Lines.Add('<html>');
Memo1.Lines.Add('<title>Links ' + datum + '</title>');
Memo1.Lines.Add('<table>');
for i := 0 to Memo1.Lines.Count -1 do
begin
//csv: Link;Vorname;Nachname;Gruppe;Kurs;Uhrzeit
Memo1.Lines[i] := StringReplace(Memo1.Lines[i], 'https://' , '<tr><td><a href="https://' , [rfReplaceAll]); // Start Link
Memo1.Lines[i] := StringReplace(Memo1.Lines[i], ';' , '" target="_blank" >' , [rfReplaceAll]); // Blank und Link Ende
Memo1.Lines[i] := StringReplace(Memo1.Lines[i], ';' , ' ' , [rfReplaceAll]); // Leerzeichen zwischen Vorname und Nachname
Memo1.Lines[i] := StringReplace(Memo1.Lines[i], ';' , '</a></td><td>' , [rfReplaceAll]); // Spalte Name
Memo1.Lines[i] := StringReplace(Memo1.Lines[i], ';' , '</td><td>' , [rfReplaceAll]); // Splate Gruppe
Memo1.Lines[i] := StringReplace(Memo1.Lines[i], ';' , '</td><td>' , [rfReplaceAll]); // Spalte Kurs
Memo1.Lines[i] := StringReplace(Memo1.Lines[i], ';' , '</td><td>' , [rfReplaceAll]); // Spalte Uhrzeit
end;
Memo1.Lines.Add('</td></tr>');
Memo1.Lines.Add('</table>');
Memo1.Lines.Add('</html>');
end;

VG, Julia

Papaschlumpf73 14. Mär 2023 13:36

AW: .csv in .html Datei umwandeln
 
Du fügst am Anfang 3 Zeilen an Memo1 an und machst dann die Schleife für Memo1.lines. Wenn Memo1 nicht vorher schon Daten hatte, sind es halt nur 3 Zeilen. Wo kommen denn die csv-Daten ins Spiel?

julchen 14. Mär 2023 13:48

AW: .csv in .html Datei umwandeln
 
Die Daten würde ich rein kopieren oder ich öffne die Daten aus der Datei heraus.
Das ist mir im Moment noch nicht so wichtig.

Delphi.Narium 14. Mär 2023 14:29

AW: .csv in .html Datei umwandeln
 
Grober, ungetesteter, Vorschlag:
Delphi-Quellcode:
var
  sl : TStringList;
  i : Integer;
begin
  sl := TStringList.Create;
  sl.Delimiter := ';'
  for i := 0 to Memo1.Lines.Count - 1 do begin
    sl.DelimitedText := Memo1.Lines[i];
    Memo1.Lines[i] := Format('<tr><td><a "target="_blank" href="%s">%s %s</a></td><td>%s</td><td>%s</td><td>%s</td></tr>',[sl[0],sl[1],sl[2],sl[3],sl[4],sl[5]]);
  end;
  Memo1.Lines.Insert(0,'<table>');
  Memo1.Lines.Insert(0,Format('<title>Links '%s'</title>',[datum]));
  Memo1.Lines.Insert(0,'<html>');
  Memo1.Lines.Add('</table>');
  Memo1.Lines.Add('</html>');
  sl.Free;
end;


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