VB6: Text aus einer Website auslesen

Hi,

ich arbeite an einem Programm, das an einem Punkt eine Information aus folgender Webseite auslesen soll:

[0 oder 1]

Das Programm soll also die 1 oder 0 lesen und dann damit arbeiten können (also in eine Variable speichern).

Geht das?

Vielen Dank im Voraus

–WhiteAvenger

Hallo,

ich arbeite an einem Programm, das an einem Punkt eine
Information aus folgender Webseite auslesen soll:

[0 oder 1]

und das steht schon in einer Variablen? Text z.B. …

Das Programm soll also die 1 oder 0 lesen und dann damit
arbeiten können (also in eine Variable speichern).

Geht das?

klar geht das.

Option Explicit

Private Sub Command1\_Click()
 Dim Txt As String
 Dim Wert As Byte
 'Ich schreib zum Test in die Variable Txt,
 'was bei Dir auch darin steht.

 Txt = "" & vbCrLf & \_
 "" & vbCrLf & \_
 "[0 oder 1]" & vbCrLf & \_
 "" & vbCrLf & \_
 ""

 Wert = Val(Mid(Txt, InStr(Txt, "") + 7, 1))
 MsgBox Wert 'oder was Du auch immer mit dem Wert vor hast.
 'wenn hinter , vor der Zahl kein Zeilenvorschub kommt,
 'wenn da ein leerzeichen ist.. aus der 7 mal eine 8 machen
 'aus der 1 eine 2 ... da darfst Du experimentieren
End Sub

Gruß, Rainer

Hallo,

und das steht schon in einer Variablen? Text z.B. …

Das Programm soll also die 1 oder 0 lesen und dann damit
arbeiten können (also in eine Variable speichern).

Geht das?

klar geht das.

Option Explicit

Private Sub Command1_Click()
Dim Txt As String
Dim Wert As Byte
'Ich schreib zum Test in die Variable Txt,
'was bei Dir auch darin steht.

Txt = „“ & vbCrLf & _
„“ & vbCrLf & _
„[0 oder 1]“ & vbCrLf & _
„“ & vbCrLf & _
„“

Wert = Val(Mid(Txt, InStr(Txt, „“) + 7, 1))
MsgBox Wert 'oder was Du auch immer mit dem Wert vor
hast.
'wenn hinter , vor der Zahl kein
Zeilenvorschub kommt,
'wenn da ein leerzeichen ist… aus der 7 mal eine 8 machen
'aus der 1 eine 2 … da darfst Du experimentieren
End Sub

Gruß, Rainer

Hallo Rainer,

Da hast du was ganz arg missverstanden, vielleicht habe ich mich da falsch ausgedrückt:

Das Programm soll im Internet auf eine vordefinierte Seite gehen, die den Inhalt hat, den ich oben angegeben habe.
Diese Seite soll das Programm dann auslesen und verarbeiten.

Der Zweck der Sache ist, dass ich so jederzeit und von überall aus bestimmen kann, wie sich das Programm verhält, weil es jedesmal eine Seite ausliest, die ich bearbeiten kann.

z.B.
Die Seite ist http://www.meineseite.de/index.htm
Der Inhalt:

1

Auf der Seite ist also nur eine 1.

Das Programm soll das jetzt auslesen und, weil es eine 1 ausgelesen hat, sagen wir mal den Notepad starten.

So.

Ich logge mich jetzt in meinen FTP-Server ein (ich bin am anderen Ende der Welt) und ändere den Seiteninhalt von www.meineseite.de/index.htm auf 0 um.

Wenn man jetzt das Programm startet, liest das Programm, dass auf der Webseite eine 0 ist, und startet jetzt statt dem Notepad den Taschenrechner.

Das sind jetzt nur Beispiele, das Programm wäre so wie im Beispiel eher sinnlos, aber so oder so ähnlich soll es funktionieren. Es geht mir nicht darum, den Notepad oder den Taschenrechner zu starten, sondern je nach Inhalt der vordefinierten Seite eine bestimmte Aktion ausführt.

Ich hoffe, das war jetzt nicht mehr so missverständlich.

Gruß, WhiteAvenger

Hallo WhiteAvenger,

Da hast du was ganz arg missverstanden, vielleicht habe ich
mich da falsch ausgedrückt:

hmmm, ich hab’s wohl immer noch nicht verstanden.

Das Programm soll im Internet auf eine vordefinierte Seite
gehen, die den Inhalt hat, den ich oben angegeben habe.
Diese Seite soll das Programm dann auslesen und verarbeiten.

Ja, hab ich so verstanden.

Der Zweck der Sache ist, dass ich so jederzeit und von überall
aus bestimmen kann, wie sich das Programm verhält, weil es
jedesmal eine Seite ausliest, die ich bearbeiten kann.

Ja, auch das habe ich so verstanden.

z.B.
Die Seite ist http://www.meineseite.de/index.htm
Der Inhalt:

1

Auf der Seite ist also nur eine 1.

Ja, wenn Du aber die Seite mit VB liest, steht im empfangenen String:

1

… und den Teil, der das liest, hast Du schon. Oder war das der Teil, den ich falsch verstanden habe?

Wenn Du in dem String die Zahl suchen willst, mußt Du da nach etwas suchen, was immer gleich ist, zum Beispiel. Die Suche wird dann die Position von ’

Hallo Rainer,

… und den Teil, der das liest, hast Du schon. Oder war das
der Teil, den ich falsch verstanden habe?

Genau! Ich suche eine Methode, mit der ich die Seite auslesen kann!

hmmm, ich habe wieder das Selbe verstanden. Du liest eine
Website aus, bekommst einen String, der an einer genau
definierten Stelle eine Zahl enthält, wertest Die aus und das
Programm soll dann abhängig davon, welche Zahl gefunden wurde
reagieren. was habe ich falsch verstanden? Suchst Du den Weg,
die Website zu lesen?

Ja!

Wenn ja, muß ich danach erst suchen,
hab’ ich noch nicht gemacht. Ich weiß aber wo ich suchen muss
und finde das schnell.

Bitte mach das.

Danke

WhiteAvenger

Hallo WhiteAvenger,

ahhh, OK, ich habe mir von http.//www.activevb.de ein Beispiel geladen und ganz geringfügig verändert, das macht jetzt schon, was Du willst. Die Adresse mußt Du natürlich anpassen, auf meiner Seite wird da etwas länger eine 1 stehen bleiben. :smile:

'Dieser Source stammt von http://www.activevb.de
'und kann frei verwendet werden, wurde verändert.

'--------- Anfang Formular "Form1" alias Form1.frm ---------
' Steuerelement: Windows Socket "Winsock1"
' Steuerelement: Schaltfläche "Command1"

Option Explicit

Private Sub Command1\_Click()
 Command1.Enabled = False
 MousePointer = vbHourglass
 DoEvents
 Winsock1.RemoteHost = "winhome.de"
 Winsock1.RemotePort = 80
 Winsock1.Connect
End Sub

Private Sub Winsock1\_Close()
 Command1.Enabled = True
 MousePointer = vbDefault
End Sub

Private Sub Winsock1\_Connect()
 Dim Cmd$, URL$

 URL = "http://www.winhome.de/index.html"
 Cmd = "GET " & URL & " HTTP/1.0" & vbCrLf & "Accept: \*/\*" & \_
 vbCrLf & "Accept: text/html" & vbCrLf & vbCrLf

 Winsock1.SendData Cmd
End Sub

Private Sub Winsock1\_DataArrival(ByVal bytesTotal As Long)
 Dim Data$
 Dim Zahl As Byte
 Winsock1.GetData Data, vbString
 Zahl = Val(Mid(Data, InStr(Data, "

[RESOLVED] - [ERLEDIGT]
Wow, das macht genau das, was ich wollte.
Seltsamerweise liest VB6 meine Webseite scheinbar anders aus als deine, aber nachdem ich das -3 auf -2 gesetzt habe, funktioniert alles.

Vielen Dank, Rainer!

Hallo,

Wow, das macht genau das, was ich wollte.

schön. :smile:

Seltsamerweise liest VB6 meine Webseite scheinbar anders aus
als deine, aber nachdem ich das -3 auf -2 gesetzt habe,
funktioniert alles.

Das hängt am Inhalt der Datei, ich hab’s mir schnell von meinem Sohn schreiben lassen, mit html kenne ich mich nicht aus.

Ich entferne die Datei dann wieder von meiner Seite.

Gruß, Rainer

Seltsamerweise liest VB6 meine Webseite scheinbar anders aus
als deine, aber nachdem ich das -3 auf -2 gesetzt habe,
funktioniert alles.

Das hängt am Inhalt der Datei, ich hab’s mir schnell von
meinem Sohn schreiben lassen, mit html kenne ich mich nicht
aus.

Das wage ich zu bezweifeln, ich hatte den Inhalt der Seite 1:1 von deiner kopiert…

Aber egal, hauptsache, es funktioniert.

Danke nochmals

Gruß

WhiteAvenger