Beste Tweakwindows,
Ik ben bezig met een nieuwslezer voor RSS feeds maar nu wil ik tekst na zoveel tekens afbreken naar ... . Ik heb google en verschillende code sites afgezocht maar elke keer krijg ik het afbreken van text naar een nieuwe regel en net dat het verandert in ....
Zouden jullie mij hiermee kunnen helpen. Het is bedoelt voor Visual Basic 2008.
20 augustus 2009 17:59
nickk
Hmm,
Het is misschien niet helemaal wat je wilt (tekens afbreken na x tekens 'automatisch'), maar misschien heb je dit al geprobeerd:
Ok? dat had ik al geprobeerd sorry maar het probleem is dat ik niet weet hoelang de tekst is en wat de tekst is omdat hte uit een xml gelezen word. En overigens is dat voor een nieuwe regel volgensmij.
20 augustus 2009 18:32
matthijsk
Wil je de code eens plaatsen die je hebt om de tekst uit te lezen uit het XML bestand, dan zal ik daar een aanpassing in maken zodat de tekst wordt afgebroken.
22 augustus 2009 12:24
renssies
Ok? hier de code. Dit laad niet het nieuws uit een rss maar twitterberichten maar het is de zelfde code.
[code] Dim twitterfeed As New XmlDocument
On Error GoTo 6
twitterfeed.Load("http://search.twitter.com/search.rss?q=from:Simlicious")
Dim tweettext As XmlNodeList = twitterfeed.GetElementsByTagName("description")
''Tweet1tekst is een label en is ook de tekst die ik dus na x aantal tekens wil veranderen naar ...
Tweet1tekst.Text = tweettext(1).InnerText[/code]
22 augustus 2009 15:00
matthijsk
Is Tweet1tekst een textbox? Als dat zo is dan kun je heel simpel de property "Multiline" op true zetten, dan past hij het namelijk zelf aan. En als het een label is dan wordt het het volgende:
Ik heb de code hier geschreven dus je moet zelf, indien noodzakelijk, de fouten er nog even uithalen. en ik werk meestal in C# en niet in VB maar als het goed is zou het moeten werken.
[code]
dim strTweet as string
strTweet = tweettext(1).InnerText
if strTweet.length > 100 then
dim intLineBrakes as int = (tweettext(1).InnerText.length / 100)
dim intLineBrakesRound as int = intLinebrakes.Remove(1, (intLineBrakes.length - 1)
dim intCurLineBrake as int = 1
while intCurLineBrake < intLineBrakesRound
strTweet.insert((intCurLineBrake * 100), "\n")
intCurLineBrake = intCurLineBrake + 1
end while
end if
[/code]
22 augustus 2009 16:04
renssies
[quote=137487]De code lijkt me goed maar hij kent int niet. Ik dacht dat je met int integer bedoelde maae dat werkt ook niet.
En inderdaad het is een label
22 augustus 2009 16:15
matthijsk
int moet integer worden maar vervang dat label toch gewoon door een richtextbox en zet die op readonly is het probleem ook opgelost.
22 augustus 2009 17:15
renssies
[quote=137489] Ja dacht ik ook aan maar dat gaat niet. De richtextbox moet dan transparant zijn en daar heb ik niks voor gevonden. Voor een label wel. En ik wil zoieso voor de tweet die je aanklikt een klein venstertje laten openen met de hele tweet.
22 augustus 2009 17:41
matthijsk
Een richtextbox kan inderdaad niet transparant zijn, maar als je een venstertje wilt laten openen gebruik dan bijvoorbeeld MessageBox(tweettext(1).InnerText)