Archief - [PROG]VBscript Volgende regel

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Oct

Legacy Member
Vorige week vond ik bij toeval het volgende programma: Samurize.

Hiermee kun je dmv vbscriptjes allerlei tekst op je bureaublad zetten.

Zoals je kan zien op mijn bureaublad staan de laatste nieuws items van Tweakers erop. Hiervoor heb ik gebruik gemaakt van het volgende script:

Code:
' version 1.03

Function GetNews(headline,url)
	Dim intCnt, txt
	txt = ""
	set source = CreateObject("MSXML2.DOMDocument")
	source.async = false
	source.validateOnParse = false
	source.resolveExternals = false
	source.load(url)
	If source.parseError.errorCode <> 0 Then
		parseRss = source.parseError.errorCode
		exit function
	End if
	set baseEl = source.documentElement.selectSingleNode("channel")
	set titleEl = baseEl.selectSingleNode("title")

	if NOT titleEl is Nothing then
		Set objLst = source.getElementsByTagName("item")
		Set objHdl = objLst.item(headline)
		if len(getText("title", objHdl)) > 38 then
			title="- " & left(getText("title", objHdl),36) & "..."
		else
			title="- " & getText("title", objHdl)
		end if
		strLink = "%l" & getText("link", objHdl)
		[COLOR="Red"]strDesc = "%tt" & stripHTML(getText("description", objHdl))[/COLOR]
		txt = title & strLink & strDesc & chr(10) 
	End If
	GetNews = txt
End Function

private function getText(ttg, xmlObj)
	set xEl = xmlObj.selectSingleNode(ttg)
	if not xEl is Nothing then
		getText=xEl.text
	else
		getText=""
	end if
end function

private Function stripHTML(s)
	Dim re
	Set re = New RegExp
	re.Pattern = "<[^>]*>"
	re.Global = True
	StripHTML = re.Replace(s, "")
End Function

De rode lijn bepaalt wat er in de tekstballon komt als je met je muis over de titel gaat.

Nu heb ik die lijn code aangepast naar dit:

Code:
strDesc = "%tt" & stripHTML(getText("title", objHdl)) & stripHTML(getText("description", objHdl))

Zoals je hier kan zien komt de titel dan in de ballon te staan, net voor de rest van het artikel.

Maar, ik zou de inhoud van het artikel 2 regels lager willen. Zodat je duidelijk het verschil kan zien tussen de titel en het artikel. Indien mogelijk zou ik de titel ook in het vet willen.

Ik heb al geprobeerd met er document.write("<br>") en andere varianten aan toe te voegen, steeds zonder succes.

Iemand een beter idee?

Alvast bedankt voor de hulp.

Tyfius

Legacy Member
Ik ben geen expert, maar ik veronderstel via vbCrLf:
Code:
strDesc = "%tt" & stripHTML(getText("title", objHdl)) & vbCrLf & vbCrLf & stripHTML(getText("description", objHdl))

Wover

Legacy Member
Ja, ofwel vbNewLine, hangt een beetje af van met wat soort VB je werkt ;), hoewel cvCrlf nog wel een tijdje zal werken naast vbNewLine ;).

Oct

Legacy Member
Tyfius zei:
Ik ben geen expert, maar ik veronderstel via vbCrLf:
Code:
strDesc = "%tt" & stripHTML(getText("title", objHdl)) & vbCrLf & vbCrLf & stripHTML(getText("description", objHdl))

Heel erg bedankt, dit werkte perfect.

Nu nog iemand een idee hoe ik die titel in het vet kan zetten? Als het dan al mogelijk is...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan