Wenn dies Ihr erster Besuch hier ist,
lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen
durch. Sie müssen sich vermutlich registrieren,
bevor Sie Beiträge verfassen können. Klicken Sie oben auf 'Registrieren', um den Registrierungsprozess zu
starten. Sie können auch jetzt schon Beiträge lesen. Suchen Sie sich einfach das Forum aus, das Sie am meisten
interessiert.
Hallo,
mit Delphi ist mit Sicherheit viel oder fast alles möglich. Für die Erstellung einer Homepage empfehle ich aber den Einsatz von entsprechend höher qualifizierter Software(Homesite,Netjet oder Freeware wie Phase5 o.ä.)
:Fred Ziebel
Ich bin ebenfalls auf der Suche nach Beispielen, um eine
Hompage mit Delphi bauen zu können. Es mag ja sein
das es höher qualifizierte Software gibt, aber wenn Delphi
das nun mal kann, warum sollte man es dann nicht einmal
Versuchen ?
Mit den Beispielen in den Demos Verzeichnis konnte ich allerdings
noch nicht viel Anfangen. Das könnte bei mir auch ein Gedankliches
Problem sein, da ich die Endung htm oder html für eine
Homepage Vermisse. Bisher habe ich eine Homepage immer in zusammen
arbeit mit Word und Netscape Composer erstellt. Das gibt als
Dateiendung eben htm
Ich nutze zum Beispiel Delphi zum Erstellen von 26 Dateien, wobei jede für einen Buchstaben des Alphabet steht. In einer Datenbank pflege ich alle Stichworte, wie "UpdateSQL, TForm usw.." Jedem dieser Stichworte ist ein downloadbares Programm zugeordnet. Mit einer SQL-Abfrage und einer Schleife werden auf Knopfdruck alle Seiten neu erstellt. Das könnte ich mit keinem mir bekannten Spezialprogramm. Hier mal der Quelltext dieser Routine:
Da der Quelltext HTML-Befehle enthält, kann die Darstellung anders aussehen<br>
procedure TMain.Button3Click(Sender: TObject);<br>
var<br>
i, zaehler: integer;<br>
f1: TextFile;<br>
s, s1:string;<br>
begin<br>
{Allle HML-Dokumente von a.htm bis z.htm werden durchforstet und müssen
vorhanden sein.}<br>
for i := ord('a') to ord('z') do begin<br>
s1 := htmPfad+chr(i)+'.php';<br>
Statusbar1.Panels[2].Text := s1;<br>
Statusbar1.refresh;<br>
<br>
{Jetzt schreiben}<br>
AssignFile(F1, s1);<br>
Rewrite(f1);<br>
{Jetzt den ersten Teil schreiben.}<br>
Writeln(F1, '<!doctype html public "-//W3C//DTD HTML 4.0 PHP 4.0//EN">');<br>
//Writeln(F1, '<php>');<br>
<br>
Writeln(F1, '<head>');<br>
s := '<title>' + Chr(i) + '</title>';<br>
Writeln(F1, s);<br>
Writeln(F1, '<meta name="author" content="Klaus-Peter Fitzner">');<br>
Writeln(F1, '</head>');<br>
<br>
Writeln(F1, '<body text="#0000BF" bgcolor="#7B91A6" link=#0000DF vlink=#A00020 alink=#E06000>');<br>
Writeln(F1, '<div align="center"><font size="+3" <br><h1><b>Inhaltsverzeichnis</b></h1></font></div>');<br>
s := '<div align="Center"><h1>'+UpperCase(Chr(i))+'</h1></font></div>';<br>
Writeln(F1, s);<br>
Writeln(F1, '<a href="index.php"><b>Startseite</b></a>');<br>
Writeln(F1, '<?php');<br>
Writeln(F1, ' setlocale(LC_TIME","ge");');<br>
Writeln(F1, ' echo " Letzte Änderung: ",strftime("%A %x %H:%M", getlastmod()),"<br>";');<br>
Writeln(F1, '?>');<br>
Writeln(F1, '<hr><br>');<br>
{Für die Darstellung der Tabelle erstelle ich eine SQL-Abfrage mit
allen benötigten Daten.}<br>
with Abfrage do begin<br>
close;<br>
SQL.Clear;<br>
s := 'SELECT keyword.Keyword, dateinamen.Name, <br>dateinamen.groesse '+<br>
'FROM (dateinamen INNER JOIN datkey ON dateinamen.ID = '+<br>
'datkey.ID_Datei) INNER JOIN keyword ON '+<br>
'datkey.ID_Keyword = keyword.ID '+<br>
'WHERE UPPER(SUBSTRING(keyword.keyword FROM 1 FOR 1)) <br>= "'+UpperCase(chr(i))+'" '+<br>
'ORDER BY keyword.keyword';<br>
SQL.add(s);<br>
open;<br>
end;<br>
Append(F1);<br>
while not Abfrage.eof do begin<br>
Writeln(F1, '<table border="3" cellspacing=1 width="92%" bordercolor=#007070>');<br>
zaehler := 0;<br>
while (not Abfrage.eof) and (zaehler <= 18) do begin<br>
Writeln(F1,' <tr>');<br>
Writeln(F1,' <td width="70%"><font color=#DFDFDF>'+<br>
AbfrageKeyword.value + '</td>');<br>
Writeln(F1,' <td width="20%"><a href="delphi/tutorials/'+<br>
AbfrageName.value + '"><b>' + <br>AbfrageName.value +<br>
'</b></a></td>');<br>
Writeln(F1,' <td align="right" width="10%"><font color=#DFDFDF>'+<br>
FloatToStr(AbfrageGroesse.value)+' KB </td>');<br>
Writeln(F1,' </tr>');<br>
Flush(F1);<br>
inc(Zaehler);<br>
Abfrage.next;<br>
end;<br>
Writeln(F1, '</table>');<br>
Writeln(F1, '<hr><br>');<br>
Writeln(F1, '<a href="index.php"><b>Startseite</b></a>');<br>
Writeln(F1, '<hr><br>');<br>
end;<br>
<br>
{Jetzt den Rest schreiben.}<br>
Writeln(F1, '</body>');<br>
Writeln(F1, '</html>');<br>
Writeln(F1, '');<br>
Flush(F1);<br>
CloseFile(F1);<br>
Statusbar1.Panels[2].Text := 'Aktualisierung beendet';<br>
Statusbar1.refresh;<br>
end;<br>
end;<br>
Ich muß mich nochmal melden. Die HTML-Befehle, die ich per Delphi einfüge haben die sichtbare Darstellung hier im Forum natürlich verändert. Wer Interesse an diesem Code hat, dem schicke ich ihn gerne zu.
Die Auswirkungen dieses Codes kann man sich auf www.delphi-download.de ansehen.
Hallo Klaus - Peter.
Ich habe mir gerade die von dir genannte Hompage angesehen.
Ich verstehe aber immer noch nicht, wie du das mit einem
Button Click Ereignis bewerkstelligst.
Ganz zu Anfang deines Beispiels steht :
procedure TMain.Button3Click(Sender: TObject);
Wenn ich jetzt davon ausgehe, das dies nur das Ereignis ist,
was hinter den einzelnen Buttons steckt, so frage ich mich, wie
du die Form hinbekommen hast.
In der Adressleiste des IE sieht man zum Beispiel nicht, wie ich
es gewohnt bin, eine Index.htm Seite.
Ich kenne bei Delphi eigentlich das eigentlich so, das ich
eine Form habe und auf diese Form Buttons setze.
Beim Kompilieren erhalte ich aber, so weit ich das weiss, eine
Exe Datei. Und hier hackt es halt noch. Wie bekomme ich statt der
Exe eine Htm Datei ?
PS : Wenn das alles in Delphi geschrieben ist, auf deiner Homepage,
dann ist das doch schon nicht schlecht, was du da gemacht hast
da handelt es sich wohl um ein Missverständnis. Mit Hilfe des Delphi-Programmes werden die Dateien a.htm bis z.htm ("Allle HML-Dokumente von a.htm bis z.htm werden durchforstet und müssen vorhanden sein.") bearbeitet. HTM-Files sind ja nichts anderes als Text-Dateien.
Genau so ist es. Ich schreibe Textdateien mit der Endung *.htm (oder wie in meinem Falle *.php).
Es ist kein Ersatz für einen HTML-Editor, aber die einzige komfortable Möglichkeit, den Inhalt einer Datenbank in 26 HTML-Dokumente in nur 1 Sekunde zu bringen.
Uli, als ich deinen Hinweis las , habe ich geschmunzelt. Diesen Hinweis gab ich vor kurzem jemand anderem. Aber wenn man selbst in Nöten ist, kommt man nicht darauf. Danke für den Tip. Werde sofort korrigieren.
Comment