html datei lokal speichern...??

Whizzly

Erfahrenes Mitglied
tach alle,

aaaalso...

ich habe per shellexecute "shell32.dll" usw
und Result = ShellExecute(Me.hwnd, "Open", URL)
einen internet explorer geöffnet und manglaubteskaum : die url übergeben!

nun eiert der internet explorer aufm desktop rum, ich muss nun den QUELLCODE lokal speichern, damit ich ihn weiter bearbeiten kann...

ich hab schon eine möglichkeit per Buffer-Einlesen gefunden, doch davon hab ich garkein plan und des sieht umständlich aus. Deshalb frage ich mich, obs da nich etwas einfacher (und kürzer) geht als mit dem Buffer-gschichtl...


also ich will gaaanz stupid aus einem offenen internet explorer den Quellcode lokal speichern...


vielen dank schonmal für die zahlreiche hilfe
da whizzly
 
Nimm Dir doch einfach ein Inet-Steuerelement (Projekt -> Komponenten -> Microsoft Internet Transfer Control). Damit kannst Du dann per HTTP eine Verbindung zu dieser URL aufbauen und den Quelltext in Deinem Programm verarbeiten. Den speicherst Du dann noch lokal als Textdatei ab, und schon hast Du alles was Du brauchst. ;)
Oder Du baust in Deine eigene Anwendung eine Instanz vom Internet Explorer ein. Dazu bietet Microsoft ebenfalls ein fertiges Steuerelement (Projekt -> Komponenten -> Microsoft Internet Control).
 
thx

thx erstmal für deine Hilfe!
ich bin der kollege von whizzly (wir arbeiten zusammen an dem Prog)!

wir haben jetzt soweit das micrsoft internet transfer control aktiviert und auch schon programmiert!

nur bekommen wir jetzt bei der variante einen Laufzeitfehler 54 (falscher Dateimodus)

hier der code:
PHP:
Open "c:\personen.txt" For Output As #1
puffer = Inet1.OpenURL(URLstandard, icString)
Put #1, , puffer
close #1

der laufzeitfehler 54 titt in der Zeile
PHP:
Put #1, , puffer
auf!

WAAAAAAAAAAAAAAAAARUM??? :)
 
Put ist für Binärdateien, versucht es mal mit "Print" oder "Write". Ansonsten gibt es in der Scripting-Bibliothek von Windows (Projekt -> Verweise -> Microsoft Scripting Runtime) auch noch ein FileSystemObject und ein TextStream-Objekt, das speziell für Textdateien ausgelegt ist. ;)
 
super!!!

thx funkt jetzt!
habs mit write gemacht und klappt einwandfrei ;)!

PHP:
Open "c:\personen.txt" For Output As #1
puffer = Inet1.OpenURL("http://www.wasweisich.de", icString)
Write #1, , puffer
Close #1

des gute daran is das er den alten Inhalt sofort ersetzt wenn ich neu in die Datei reinschreibe :)

edit: mit Print funktioniert es auch!
 
Zuletzt bearbeitet von einem Moderator:
Hüüüüüüääääää

mann mann mann...
wir sind so halb am verzweifeln mal wieder...*peinlichpeinlich*

nu haben wir also mit dem inet transfer control wie oben beschrieben gebaut... leider zerhackts uns aber beim speichern der datei den quellcode... VB schreibt den code als eine zeile , da wo die zeilenumbrüche sind stehen kleine "rechtecke".
wir brauchen(!) aber die Formatierung des codes so wie sie Online
auch geschrieben wurde, halt genau so, weil auf dieser formatierung baut unser gesamter suchalgorithmus auf!

unser problem also: beim auslesen der html datei zerstört er die formatierung und schreibt alles in eine zeile!


vielen dank schonmal
is ja langsam schon peinlich :(
whizzly
 
Ich glaub, dass liegt eher daran, dass Ihr versucht die Datei mit Notepad zu öffnen. Mit Wordpad sollte die dann wieder so dargestellt werden, wie Ihr sie haben wollt.
Das kommt soweit ich weiss daher, dass Unix-Systeme ein anderes Zeichen für den Zeilenumbruch benutzen. Ich weiss aber nicht genau, welcher ASCII-Code das da ist. Wenn Ihr das rausbekommt, könnt Ihr ja auch einfach vor dem Speichern noch mit Replace alle Unix-Zeilenumbrüche durch vbNewLine (oder vbCrLf) ersetzen.
 
wau

cool mann danke

so in der art dachte ich mir das, is halt die falsche interpretation suzusagen... mitm wordpad funkt es bestens... is aber irgendwie arm weil die msdn datenbank halt sauschlau erklärt, dass der quelltext 1:1 sozusagen übergeben wird....naja egal ..
danke nochmal *zu.asphyxia.hochschau* :)

perfo
 
Der Quelltext wird ja auch 1:1 so übernommen, wie er auf dem Server liegt. Aber wie gesagt: Unix hat ein anderes Zeichen für den Zeilenumbruch.
Lad Dir z.B. mal das phpBB runter und versuch den Quelltext davon im Notepad anzusehen, da sind genau die selben Sonderzeichen drin. Mit Wordpad geht das allerdings.

Ich glaub Dir nicht, dass Du so klein bist, dass Du zu mir hoch schauen musst... :rolleyes: ;)
 
menno :-(

ach menno!
also schön langsam manifestiert sich unsere Aufgeschmissenheit :)

wir haben jetzt mal die Datei im Unicode gespeichert (also erst mit WordPad geöffnet)!
Da übersetzt er den Code dann auch so wie es sein soll doch wie können wir dem sagen das er den Code jedesmal beim schreiben in die Datei als unicode speichert?!
also das war jetzt unsere Idee mit der wir vielleicht das Problem lösen könnten.

gibt es denn die Möglichkeit den Code der in die Datei geschrieben wird dann direkt als unicode abzuspeichern?
haben schon nach "save-funktionen" usw... gesucht ----> erfolglos

und das ASCII Zeichen für Enter zu finden haben wir auch schon aufgegeben...
die replace-funktion is echt schön und gut aber können wir halt der replace funktion nicht sagen welches Zeichen er ersetzen soll weil wir eben des ASCII Zeichen ned wissen :(

WIR HABEN WIRKLICH GESUCHT (google musst heute schon schwitzen :))

PS: eigentlich müssten wir jetzt schon deinen Namen unters Programm setzen ;)
 
Zurück