"We are back" « oc.at

VBS Frage

moep 10.08.2003 - 14:55 576 4
Posts

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
Howdy,

Folgendes Problem... ich bin ein absoluter Coding-newbie und würde gern mit einem VBS-Script via Samurize das Wetter vom orf auf meinen Desktop schicken lassen.

Ich hab mir jetzt aus verschiedenen scripts eines zusammengebastelt, hab aber noch ein letztes Problem damit. Ich hab schon stunden dran herumgespielt, habs aber nicht geschafft. :(

Los gehts:

Mit eine Function names TextGet sollte eigentlich dafür zuständig sein, die Temperatur aus dem Quelltext der ORF Page herauszufiltern. Das ganze sähe so aus:

Code:
GetText ("[COLOR=green]quellcode vor dem gewünschten wert"[/COLOR], "[COLOR=crimson]quellcode nach dem gewünschten wert[/COLOR]", 0)

Das funktioniert sogar - allerdings nur so lange der quellcode vor/nach dem Wert keine anführungszeichen enthält... ansonsten kommt VBS natürlich total aus dem tritt.

Ein vereinfachtes Bespiel:

Der Quelltext ist:

Code:
[COLOR=green]<td width=130 nowrap><font face="Verdana, Arial, Helvetica, sans-serif" size=-2 color=#FFFFFF><b>[/COLOR][COLOR=blue]30.7[/COLOR][COLOR=crimson]</b></font></td>[/COLOR]

Grün makiert ist hier also der code, der vor dem Wert steht, Blau ist der Wert selbst, der ausgegeben werden soll und Rot der code, der nach dem Wert steht.

Code:
Function Temperature
Temperatur = GetText ("[COLOR=green]<td width=130 nowrap><font face="Verdana, Arial, Helvetica, sans-serif" size=-2 color=#FFFFFF><b>[/COLOR]", "[COLOR=crimson]</b></font></td>[/COLOR]", 0)
end function

Tjo, das dumme VBS überreisst aber nicht, dass das zweite Anführungszeichen im Code (nach face=) nicht den "Anfangsteil" abschliesst, sondern teil des quellcodes ist.

Drum sieht das alles so aus - und das script funktioniert natürlich nicht.

Code:
Function Temperature
Temperatur = GetText ("[COLOR=green]<td width=130 nowrap><font face=[/COLOR]"Verdana, Arial, Helvetica, sans-serif" size=-2 color=#FFFFFF><b>", "[COLOR=crimson]</b></font></td>[/COLOR]", 0)
end function

Wie bring ich das Script also dazu, die Quotes innerhalb des Quellcodes zu ignorieren?

Ich hab das alles sicher extremst kompliziert hergeschrieben, aber als Newbie wüsste ich nicht, wie ich das einfacher erklären könnte. Im Grunde will ich also nur die Tags "verschachteln". Ich habe schon versucht, die "inneren" quotes gegen &qu0t; (0=o) auszutauschen - dann wurde aber der text nichtmehr erkannt.

Für jede Hilfe wär ich extremst dankbar. :)

orpheus

in a nutshell
Avatar
Registered: Mar 2002
Location: Klagenfurt
Posts: 533
keine ahnung ob das funzt :D aber probier das mal:

Temperatur = GetText ("<td width=\"130\" nowrap><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"-2\" color=\"#FFFFFF\"><b>", "</b></font></td>", 0)

hth

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
w00t, danke. Werd ich gleich ausprobieren. :)

//edit: ging leider auch nicht - VBS schliesst noch immer nach den quotes ab. hmm, ich werd mir noch einige andere wetterscripts ansehen, wie die das gelöst haben. evtl. kann ich irgendwie die quotes aus dem html file herausfiltern, bevor GetText sie absucht...

btw, hier ist das script - evtl. findet jemand einen fehler o.ä. :)

click here
Bearbeitet von am 10.08.2003, 15:35

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
wird in vb nicht das doppelte anführungszeichen durch verdopplung escaped ?

sometext = "das sind ""doppelte anführungszeichen"" "

oder auch

sometext = "das sind " & chr(34) & "doppelte anführungszeichen" & chr(34)

irreversible

oberspammer
Avatar
Registered: Mar 2001
Location: 2524
Posts: 1058
in vb funktionierts meines wissens auch mit doppelten hochkommas wie atrox gesagt hat ... obs in vbs auch so geht weiß ich nicht, nehm ich aber an
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz