erste 10 Zeilen aus HTML Quelltext in Variabeln speicher?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Jean

Betreff: erste 10 Zeilen aus HTML Quelltext in Variabeln speicher?

BeitragMo, Feb 07, 2005 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo

Ich bin neu hier und habe heute zum ersten mal was mit BlitzPlus gemacht. Jedoch habe ich schon Erfahrung mit anderen Basic Versionen.
Also mein Problem ist das ich die ersten 10 Zeilen Quelltext von einer online Homepage auslesen sollte. Kann mir da jemand helfen? Ich möchte das ganze aus Gründen der Geschwindigkeit nicht über FTP machen.

Vielen Dank Jean Very Happy
 

David

BeitragMo, Feb 07, 2005 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Was für Gründe der Geschwindigkeit? Mach doch einfach eine HTTP Verbindung auf fordere dein Dokument an und les beim Ergebniss die ersten paar Zeilen raus.
Wieso also FTP? Gibt diverse Gründe sowiso davon abzuraten.

Achja, für das verbinden und auslesen von Daten über das HTTP Protokol gibts hier im Forum diverse Codeschnippsel, einfach mal suchen!

grüße
 

morszeck

BeitragMo, Feb 07, 2005 14:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Also da verstehe ich nicht so ganz was du meinst...

Poste mal den Quelltext, und erkläre bitte welche was die ersten 10 Zeilen bedeuten sollen, bzw für was du diese brauchst...

Jean

BeitragMo, Feb 07, 2005 14:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich möchte so eine Art Chat programmieren wo die Leute auf meiner Homepage mir eine Nachricht schreiben können (wird via PHP in eine Datei gespeichert). Danach soll mir mein Programm diese Nachricht anzeigen. Die Nachricht ist auf 10 Zeilen beschränkt. Kann mir nicht mal jemand einen ganz verständlichen Code posten? bitte bitte bitte bitte bitte bitte bitte bitte bitte bitte...

THX Jean
 

morszeck

BeitragMo, Feb 07, 2005 14:22
Antworten mit Zitat
Benutzer-Profile anzeigen
... also deine Frage ist mir immer noch nicht ganz klar ...

jetzt aufeinmal PHP...

Schau mal ins Code Archiv oder besser, verwende die Suche hier...
 

David

BeitragMo, Feb 07, 2005 14:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Code: [AUSKLAPPEN]

Graphics 640, 480, 32
 
 Const FILE_NAME$  = "http://www.google.de/index.html"
 Const DST_FILE$   = "c:\test.htm"
 Const BUFFER_SIZE = 65536
 
 LoadWebFile( FILE_NAME, DST_FILE )
 
 WaitKey
 End
 
 Function LoadWebFile( srcFile$, dstFile$ )
    Local TCPStream, tmpPos, dataSize, tmpBank
    Local Host$ = "", HTTPHeader$ = ""
    Local Buffer = BUFFER_SIZE
 
    If ( Left( srcFile$, 7 ) = "http://" ) srcFile$ = Right( srcFile$, Len( srcFile$ ) - 7 )
     
    tmpPos = Instr( srcFile$, "/" )
     
    If ( tmpPos ) Then
       Host$ = Left( srcFile$, tmpPos - 1 )
       srcFile = Right( srcFile$, Len( srcFile ) - tmpPos + 1 )
    Else
       Host$ = srcFile$
       srcFile$ = "/"
    End If
     
    TCPStream = OpenTCPStream( Host$, 80 )
     
    If ( Not TCPStream ) Then
       RuntimeError( "Fehler beim verbinden zu: " + Host$ )
    End If
     
    WriteLine( TCPStream, "GET " + srcFile$ + " HTTP/1.1" )
    WriteLine( TCPStream, "Host: " + Host$ )
    WriteLine( TCPStream, "Accept: */*" )
    WriteLine( TCPStream, Chr$( 10 ) )
     
    Repeat
       HTTPHeader$ = ReadLine( TCPStream )
 
       If ( Left( HTTPHeader$, 16 ) = "Content-Length: " ) Then
          dataSize = Right( HTTPHeader$, Len( HTTPHeader$ ) - 16 )
       End If
    Until HTTPHeader$ = "" Or Eof( TCPStream )   
     
    If ( dataSize > 0 )
       file = WriteFile( dstFile$ )
       tmpBank = CreateBank( Buffer )
       
       If ( Not file ) Then
          RuntimeError( "Fehler beim erstellen der Downloaddatei" )
       End If
       
       bytesReaded = 0
       
       Repeat         
          bytesRemaind = dataSize - bytesReaded
           
          If ( bytesRemaind < BUFFER_SIZE ) Then
             Buffer = bytesRemaind
          End If
             
          s = ReadBytes( tmpBank, TCPStream, 0, Buffer )
          WriteBytes( tmpBank, file, 0, s )
             
          bytesReaded = bytesReaded  + s
       Until s <> BUFFER_SIZE
       
       CloseFile( file )
       CloseTCPStream( TCPStream )
       FreeBank( tmpBank )
    End If
 End Function


Dieser Code liest eine beliebige Datei über das HTTP Protokoll ein. Kannst ja beliebig anpassen.

grüße

Jean

BeitragMo, Feb 07, 2005 14:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wie bring ich es nun fertig das ich am Schluss 10 Variablen habe?
 

David

BeitragMo, Feb 07, 2005 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Wieso 10 Variablen?? Eine tuts genauso!
Du nimmst dafür den übertragenen Text und liest Zeichen für Zeichen ein, solang bis zu 10 Zeilenumbrüche gefunden hast.

Alternativ kannst du auch "ReadLine$" nutzen. Dann ist das ganze noch ein wenig simpler.

Sorry das ich kein Beispiel senden kann, aber leider hab ich hier atm nur Linux laufen.

grüße

Jean

BeitragMo, Feb 07, 2005 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke... aber wie gesagt hab ich selber keine Ahnung von solchen Sachen da ich von QBasic umgestiegen bin... könnte mir jetzt jemand den gesamten Quelltext geben mit readline ?
 

David

BeitragMo, Feb 07, 2005 14:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Schön das du umgestiegen bist, das heist aber nicht das wir dir eine Programme schreiben. Du weist jetzt genug um es selbst hinzubekommen.
Es gibt eine Onlinehilfe, das sollte reichen.

grüße

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group