Stream öffnen?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Nikke_94

Betreff: Stream öffnen?

BeitragSo, Jun 20, 2010 12:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
Ich habe eine warscheinlich blöde Frage Very Happy Und zwar. Wie öffne ich einen Stream einer Datei. Zum Beispiel habe ich einen Downloadlink, der DIREKT zu einer TXT Datei führt, wenn ich das aber mit ReadFile mache sagt der immer: Stream does not exist!
Das ist der Link:
http://docs.google.com/feeds/d...Format=txt
Und wie bringe ich mein Programm dann dazu das Dokument auch anzuzeigen?
Danke schonmal im Vorraus =)
MFG
Nikke_94
 

Sterbendes Lüftlein

BeitragSo, Jun 20, 2010 12:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt
 

Nikke_94

Betreff: Stream does not exist

BeitragSo, Jun 20, 2010 12:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kann das Programm starten, aber sobald ich auf den Button klicke, der den Programmteil anzeigen soll und das Dokument darstellen soll, kommt:
"Stream does not exist"
Und das Programm beendet sich

Starwar

BeitragSo, Jun 20, 2010 12:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Du willst die Datei aus dem Internet laden? Das geht mit Textdateien so:
Code: [AUSKLAPPEN]
Print anfrage$("www.blitzforum.de","/upload/file.php?id=6566")
WaitKey

Function anfrage$(server$, site$)
   tcp = OpenTCPStream(server$,80)
   If Not tcp Then Return "-- No Connection"
   
   WriteLine tcp,"GET "+site$+" HTTP/1.1"
   WriteLine tcp,"Host: "+server$
   WriteLine tcp,"User-Agent: Ich"
   WriteLine tcp,"Connection: close"
   WriteLine tcp,"Accept: */*"
   WriteLine tcp, Chr$(10)
   
   Local start=False
   txt$=""
   
   lin$ = ReadLine(tcp)
   ;TODO: Andere Statusmeldungen behandeln
   If Not Instr(lin$,"200") Then Return "-- "+lin$
   
   Repeat
      txt$ = txt$ + ReadLine(tcp) + Chr(10)
   Until Eof(tcp)
   
   CloseTCPStream(tcp)
   Return txt$
End Function

Du kannst die Ausgabe natürlich auch Zeilenweise auslesen oder in eine Datei speichern.
Bitte lege immer deinen Code bei, damit wir sehen können was Sache ist.
MFG

EDIT: Du siehst, wenn die ersten beiden Zeichen "--" sind, ist ein Fehler aufgetreten.
Bei "ReadLine(tcp)" wird zeilenweise Text gelsen. Einfach mal mit meinem Code rumspielen und lernen an welcher STelle was gemacht wird, das will ich dir nicht vorkauen. Bitte kein Copy&Paste!
 

Nikke_94

Betreff: Problem

BeitragSo, Jun 20, 2010 13:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe scheinbar --No Connection.
Also funktioniert was mit der TCP Verbindung nicht?!? Oder?!? Was kann ich da tun?
Hier mal mein Code
Zitat:
Print anfrage$("http://docs.google.com","/feeds/download/documents/Export?docID=ddqsstpz_15d6k44rgr&exportFormat=txt")
WaitKey
Function anfrage$(server$, site$)
tcp = OpenTCPStream(server$,80)
If Not tcp Then Return "-- No Connection"

WriteLine tcp,"GET "+site$+" HTTP/1.1"
WriteLine tcp,"Host: "+server$
WriteLine tcp,"User-Agent: Ich"
WriteLine tcp,"Connection: close"
WriteLine tcp,"Accept: */*"
WriteLine tcp, Chr$(10)

Local start=False
txt$="file"

lin$ = ReadLine(tcp)
;TODO: Andere Statusmeldungen behandeln
If Not Instr(lin$,"200") Then Return "-- "+lin$

Repeat
txt$ = txt$ + ReadLine(tcp) + Chr(10)
Until Eof(tcp)

Starwar

BeitragSo, Jun 20, 2010 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
ohne http:// Wink
 

Nikke_94

BeitragSo, Jun 20, 2010 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt habe ich:
-- HTTP/1.1 302 Moved Temporarily
?!?
Verwirrung? Weil ich kann die Datei über den Link downloaden!

Starwar

BeitragSo, Jun 20, 2010 13:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Es kann sein, dass Google jeden Link Zeit- oder Klickbeschränkt machst. Suche nach einem Permalink oder lese weitere Zeilen aus dem Stream. Möglicherweise steht das eine neue URL (die musst du dann aber automatisiert auslesen, da diese auch nicht Permanent sein wird)
Statuscodes
Permalink
MFG

EDIT:
Zitat:
<HTML>
<HEAD>
<TITLE>Moved Temporarily</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Temporarily</H1>
The document has moved <A HREF="https://www.google.com/accounts/ServiceLogin?service=writely&amp;passive=1209600&amp;continue=http%3A%2F%2Fdocs.google.com%2Ffee
wnload%2Fdocuments%2FExport%3FdocID%3Dddqsstpz_15d6k44rgr%26exportFormat%3Dtxt&amp;ltmpl=homepage">here</A>.
</BODY>
</HTML>

Hier ist die kompellte Antower vom Server, die du erhälst wenn du weiterhin ausliest. Dort findest du ja den neuen Link. Aber denk dran ihn automatisiert auszulesen!
Es sieht so aus als bräuchtest du einen Cookie von Google um auf die Datei zugreifen zu können.
Du solltest dir lieber die Google Docs API angucken:
hier oder von Anfang an
 

Nikke_94

Betreff: EDIT

BeitragSo, Jun 20, 2010 13:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Link den ich benutzt habe ist ja von dieser Seite sozusagen. Also aufgrund der Infos auf der Seite habe ich den Link ja gemacht Wink Ich nehme einfach mal den angegebenen Link und schaue wie lange der "haltbar" ist

EDIT:
Wioe muss ich den Link jetzt lesen? Very Happy

Starwar

BeitragSo, Jun 20, 2010 13:36
Antworten mit Zitat
Benutzer-Profile anzeigen
String-Manipulation: Instr,Replace,Mid,...
Aber 2 Dinge werden dir Probleme machen:
1. Google verlangt ein Login(Cookie)
2. Es handelt sich um eine HTTPS-Verbindung.
Du kommst um die API sicherlich nicht rum.
MFG
 

Nikke_94

Betreff: Wäre es nich einfacher..

BeitragSo, Jun 20, 2010 13:40
Antworten mit Zitat
Benutzer-Profile anzeigen
wäre es nicht einfacher diesen Link zu nehmen und eine Art HTML Browser in das Program zu zeichnen oder einzufügen?
http://docs.google.com/View?id=ddqsstpz_15d6k44rgr

Starwar

BeitragSo, Jun 20, 2010 13:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du BlitzPlus hast kannst du CreateHTMLView benutzen. Sonst wirst du wohl versuchen müssen den Links zu folgen. Was anscheinend doch geht... Rolling Eyes
Probiers einfach aus Wink
MFG
 

Nikke_94

Betreff: Soo

BeitragSo, Jun 20, 2010 13:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin einfach auf die Grandiose Idee gekommen eine Automatische Speicherung auf meinem Webserver zusätzlich anzuleiern. Jetzt habe ich folgenden Code und ich bekomme nur die Daten angezeigt wann das Dokument bearbeitet wurde und dann steht da noch was von Apache:
Code: [AUSKLAPPEN]
   Text 450,38,"Hier sollen mal die aktuellen Haus-"
   Text 450,53,"aufgaben stehen"
   
   Print anfrage$("caroiserv.de","/vertretung/Vertretungsplan.txt")
    WaitKey
    Function anfrage$(server$, site$)
    tcp = OpenTCPStream(server$,80)
    If Not tcp Then Return "-- No Connection"
   
    WriteLine tcp,"GET "+site$+" HTTP/1.1"
    WriteLine tcp,"Host: "+server$
    WriteLine tcp,"User-Agent: Ich"
    WriteLine tcp,"Connection: close"
    WriteLine tcp,"Accept: */*"
    WriteLine tcp, Chr$(10)
   
    Local start=False
    txt$="file"
   
    lin$ = ReadLine(tcp)
    ;TODO: Andere Statusmeldungen behandeln
    If Not Instr(lin$,"200") Then Return "-- "+lin$
   
    Repeat
      txt$ = txt$ + ReadLine(tcp) + Chr(10)
    Until Eof(tcp)
   
    CloseTCPStream(tcp)
    Return txt$
   file=ReadFile("file")
   Line = ReadLine(file)
   Repeat
   Print Line
   Until Line = "20"
   End Function
   WaitMouse

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group