HTML Generator in C++ (Dateien editieren, speichern und anzeigen)
-
Naja Indy ist halt schon fertig(FtpDaten eintragen, verbinden und dann uploaden mit ner funktion) wärend du mit Clientsocket alles nochmal selber erfinden müsstest(man lernt mehr dadurch, fehlersuche geht schneller weil man genau weiss was passiert dauert aber länger bis das fertig ist, daher nicht unbedingt effizient
aber wenn du sowas nie machst wrist du auch nie erfahren wie das ftp Protokoll funktioniert).
Und wieso Richedit? Mach das doch so in der Art:
generier eine Textdatei namens temp1.txt und tippe einen Text oder eine Htmldatei die ein oder mehrmals {$Name} enthält// Form enthält 1 Memo(Memo1) und 1 Button(Button1) bool generate_htm(char* schablone, char* output) { bool retval = false; ifstream htm_template(schablone, ios::binary); if(htm_template) { string inhalt; while(!htm_template.eof()) { char zwischen; if(htm_template.get(zwischen)) { inhalt += zwischen; } } htm_template.close(); inhalt = StringReplace(inhalt.c_str(), "{$Name}", rand(), TReplaceFlags() << rfReplaceAll << rfIgnoreCase).c_str(); Form1->Memo1->Text = inhalt.c_str();// nur zum anschauen, das memo wird nicht benötigt damit der kram funzt ofstream htm_output(output, ios::binary | ios::trunc); if(htm_output) { htm_output.write(inhalt.c_str(), inhalt.length()); retval = true; } } else ShowMessage("Fehler beim Öffnen der Templatedatei"); return retval; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { generate_htm("temp1.htm", "output1.htm"); } //---------------------------------------------------------------------------
[ Dieser Beitrag wurde am 18.06.2003 um 10:50 Uhr von dreaddy editiert. ]
-
Aufjedenfall ein genialer Code, viel kürzer und effizienter als mein Newbie-Code, aber es funzt trotzdem soweit, dass er mir jetzt die HTML Datei auf Platte erstellt. :p (werd sicher mal nebenbei deinen Code analysieren, also danke noch mal, deine Schreibarbeit war net umsonst) Mein momentanes Problem ist, dass ich gar keine Indy-Komponenten bei mir installiert habe, bzw. sie nicht finden kann..
..so ein Mist...aber warum sollte alles ohne Probleme funktionieren, ich meine, immerhin programmieren wir ja!!
Kannst du mir/jemand weiter helfen?
*tiefineurerschuldstehundmichnochmalsbedank*
Mario A.
-
Die war eh nicht umsonst weil ich die für mich selber auch benutze.
Ich wollt dich halt nur erstmal selber bauen lassen :p .
Und Indy Komponenten sind ab BCB 6.0 gleich mit dabei, wenn du den noch nicht hast lad sie bei http://www.indyproject.org/ runter.
-
So, nu sind die ganzen Indy Kompnenten installiert und werden ordnungsgemäß angezeigt. Leider habe ich überhaupt keine Ahnung und auch nach ewiger Suche habe ich keine wirklich guten Hinweise gefunden, um die FTP Übertragung zum laufen zu bringen. Ich habe folgenden Quelltext:
IdFTP1->Host="www.heute-schon-spaß-gehabt.de"; IdFTP1->User="willspass"; IdFTP1->Password="drin"; IdFTP1->Put(OpenDialog1->FileName, ExtractFileName(OpenDialog1->FileName), OpenDialog1->Execute());
Als Fehlermeldung erhalte ich:
Im Projekt ist eine Exception der Klasse EIdConnClosedGracefully aufgetreten. Meldung: Die Verbindung wurde erfolgreich geschlossen. Proßez wurde angehalten....Muß ich bei diesem IndyFTP noch nen Pfad angeben oder irgendwas beachten? Ich will übrigens nur diese eine (HTML-)Datei übertragen.
-
Ich fürchte da bin ich dann auch am Ende :d
hab ehrlichgesagt noch nie mit Indy gearbeitet.
Beim BCB ist aber ein Beispiel bei das eine Datei auf einen FTP uploaded, das kannich dir gern schicken wenn du mir deine mail verrätst.
Ansonsten kann ich dir beim Indy nimmer weiterhelfen.
-
(jeder, der sich für diesen thread interessiert hat glück, werde, wenn alles klappt mit meinem prog, die lösung des problems hier weiterhin posten => bin ich nicht nett?
MfG. Mario A. (aka Nivada)
-
so, wenn der proxy hier vernünftig funzt sollte die mail innerhalb der nächsten 3 minuten da sein
-
Also erst mal vielen Dank, geniales Script was scheinbar genau das darstellt, was ich realisieren möchte. Ich hatte es vorher mit dem IdFTP probiert, dass schien das richtige zu sein, aber TrivialFTP sagt mir ja nu überhaupt nix. Da steht auch nirgends was von Eigenschaften á la Username und Passwort, frag ich mich wie ich da ne Datei uploaden, bzw. download soll!?
Mario A.
-
hm.. ich seh auch grad das das Ding nicht FTP sondern TFTP ist... wusste garnet das es sowas gibt oops
Aber ein FTP Beispiel ist da net bei =["Trivial FTP is an extremely lightweight and simple UDP-Based file transfer protocol that is normally used read and write files from/to a remote server. TFTP cannot list directories, and currently has no provisions for user authentication."
-
Diskussion wird hiermit beendet, da sie doch zu sehr vom Thema abweicht.
Weitere Infos unter:
[url]http://www.c-plusplus.net/ubb/cgi-bin/ultimatebb.cgi?ubb=get_topic&f=2&t=014541
[/url]MfG. Mario A. (Nivada)