HTML Dateien erzeugen

Für Fragen von Einsteigern und Programmieranfängern...
Soner
Beiträge: 724
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: HTML Dateien erzeugen

Beitrag von Soner »

Ich würde in deiner Stelle Textfile/Assign/Rewrite-Sachen nicht verwenden, das ist uralte Geschichte, aus Anfangszeit von Pascal.
Verwende für Texte TStringList(TStrings) und für Dateien TStream(TFileStream/TMemoryStream), weil diese Klassen überall in LCL verwendet werden, wenn du es einmal lernst, dann bist du auf der sicheren Seite.
Deine Webseite kannst du mit TStringList so machen:

Code: Alles auswählen

var StrList:  TStringList;
begin
  StrList:=  TStringList.Create;
  StrList.Text:='<html lang="de">'+
                '<head>'+
                '<title>Meine Seite</title>'+
                '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'+
                '<meta name="viewport" content="width=device-width, initial-scale=1">'+
                '</head>'+
                '<body>'+
                'Willkommen.'+
                '</body>'+
                '</html>';
  try
    StrList.SaveToFile(ExtractFilePath(Application.ExeName)+'mysite.html');
  except
    MessageDlg('Ein Fehler ist beim Speichern aufgetreten.'+LineEnding+'Systemfehler-Nachricht:'+LineEnding+E.Message, mtError, [mbOK],0);
  end;
  StrList.Free;

Andy Nightingale
Beiträge: 179
Registriert: Mo 13. Jan 2025, 12:11

Re: HTML Dateien erzeugen

Beitrag von Andy Nightingale »

Hallo Soner,
ich verstehe. Werde das alles einmal durchtesten. Danke dir sehr. :D

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6762
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: HTML Dateien erzeugen

Beitrag von af0815 »

Das ist eine der gefährlichsten Sachen:
ExtractFilePath(Application.ExeName)+'mysite.html'
Grundlegend, nimm nie den Pfad der Executable und lege dort was ab. Vernünftige Betriebssystem verhindern das bereits und der Benutzer macht das blödeste und arbeiten wegen solcher Sachen als Administrator. Bitte NICHT nachmachen würde man im TV bereits sagen.
Bei einer sauberen Windowsinstallation ist das Programminstallationsverzeichnis von Haus aus ReadOnly. Auch bei Linus ist das ähnlich, wenn man nicht gerade etwas im Benutzerverzeichnis installiert hat. Unter Android wird das sowieso ignoriert, dort kann man ohne Benutzerinteraktion fast gar nichts mehr speichern. Das wird großteils ohne Fehlermeldung ignoriert.

Es gibt dafür
Function GetTempDir(Global : Boolean) : String;
Function GetUserDir : String;
Function GetAppConfigDir(Global : Boolean) : String;

und noch viel mehr.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Andy Nightingale
Beiträge: 179
Registriert: Mo 13. Jan 2025, 12:11

Re: HTML Dateien erzeugen

Beitrag von Andy Nightingale »

Uiuiui ok alles doch ein wenig komplizierter als gedacht. Danke sehr.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6762
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: HTML Dateien erzeugen

Beitrag von af0815 »

Nein es ist nicht komplizierter, sondern es gibt ein paar Designregeln. Beachtet man die, wird es deswegen nicht komplizierter, sondern stabiler. Später sucht man den Fehler, warum die Datei nicht geschrieben werden kann, obwohls vor dem letzten Update doch so schön ging. Nur hat halt der BS Hersteller halt seine Regeln mal besser durchgesetzt. War schon seit den Zeiten von WfW so. Saubere Designs machen da keine Probleme, ich habs auch mal auf die harte Tour gelernt :-)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Andy Nightingale
Beiträge: 179
Registriert: Mo 13. Jan 2025, 12:11

Re: HTML Dateien erzeugen

Beitrag von Andy Nightingale »

Ok...wo finde ich denn diese Designregeln, damit ich es in Zukunft nach diesen Regeln machen kann? Grüße

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6762
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: HTML Dateien erzeugen

Beitrag von af0815 »

Andy Nightingale hat geschrieben: Di 28. Jan 2025, 15:20 Ok...wo finde ich denn diese Designregeln, damit ich es in Zukunft nach diesen Regeln machen kann? Grüße
Windows:
Grundlagen: https://learn.microsoft.com/de-de/windo ... gn/basics/
https://learn.microsoft.com/de-de/windo ... -practices
https://learn.microsoft.com/de-de/windo ... tion-files

Ist viel und sehr spezifisch für Windows, aber andere BS haben ähnliche Vorgaben, teilweise sogar noch viel strenger durchgesetzt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Andy Nightingale
Beiträge: 179
Registriert: Mo 13. Jan 2025, 12:11

Re: HTML Dateien erzeugen

Beitrag von Andy Nightingale »

Das ist ja extrem. Was du alles an Erfahrung hast. Da brauche ich ja Jahrzehnte. :shock:

Benutzeravatar
theo
Beiträge: 10856
Registriert: Mo 11. Sep 2006, 19:01

Re: HTML Dateien erzeugen

Beitrag von theo »

Andy Nightingale hat geschrieben: Di 28. Jan 2025, 17:01 Das ist ja extrem. Was du alles an Erfahrung hast. Da brauche ich ja Jahrzehnte. :shock:
Was denkst du wieso af0815s Avatar so aussieht, wie er aussieht?
Es müssen Jahrhunderte sein! :lol: :lol: :lol:

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6762
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: HTML Dateien erzeugen

Beitrag von af0815 »

theo hat geschrieben: Di 28. Jan 2025, 17:34
Andy Nightingale hat geschrieben: Di 28. Jan 2025, 17:01 Das ist ja extrem. Was du alles an Erfahrung hast. Da brauche ich ja Jahrzehnte. :shock:
Was denkst du wieso af0815s Avatar so aussieht, wie er aussieht? :lol: :lol: :lol:
Es kommt fast hin. Programmierung beschäftigt mich seit ca. 1980. Pascal kenne ich seit den CP/M Zeiten auf 5 1/4 Disks.

Und nein, mit dem Brand in Rom habe ich nichts zu tun :-) Und der Avatar ist ein öffentliche Headscan der UNI Graz auf einer Ausstellung gewesen, ich glaube so um 2000. Leider sind die Daten im Laufe der Zeit verschwunden.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Andy Nightingale
Beiträge: 179
Registriert: Mo 13. Jan 2025, 12:11

Re: HTML Dateien erzeugen

Beitrag von Andy Nightingale »

theo hat geschrieben: Di 28. Jan 2025, 17:34
Andy Nightingale hat geschrieben: Di 28. Jan 2025, 17:01 Das ist ja extrem. Was du alles an Erfahrung hast. Da brauche ich ja Jahrzehnte. :shock:
Was denkst du wieso af0815s Avatar so aussieht, wie er aussieht?
Es müssen Jahrhunderte sein! :lol: :lol: :lol:
Cool :lol: :lol: :lol:

Andy Nightingale
Beiträge: 179
Registriert: Mo 13. Jan 2025, 12:11

Re: HTML Dateien erzeugen

Beitrag von Andy Nightingale »

af0815 hat geschrieben: Di 28. Jan 2025, 17:37
theo hat geschrieben: Di 28. Jan 2025, 17:34
Andy Nightingale hat geschrieben: Di 28. Jan 2025, 17:01 Das ist ja extrem. Was du alles an Erfahrung hast. Da brauche ich ja Jahrzehnte. :shock:
Was denkst du wieso af0815s Avatar so aussieht, wie er aussieht? :lol: :lol: :lol:
Es kommt fast hin. Programmierung beschäftigt mich seit ca. 1980. Pascal kenne ich seit den CP/M Zeiten auf 5 1/4 Disks.

Und nein, mit dem Brand in Rom habe ich nichts zu tun :-) Und der Avatar ist ein öffentliche Headscan der UNI Graz auf einer Ausstellung gewesen, ich glaube so um 2000. Leider sind die Daten im Laufe der Zeit verschwunden.
Ja das ist schon lange. Aber toll das jemand mit soviel Erfahrung da ist.

Antworten