[Gambas-user] Text-Wrapping

Brian G brian at westwoodsvcs.com
Thu Nov 12 16:29:09 CET 2020


Hans, here is the sample text I was using to test your algorithm 

The code seems to get lost on certain combinations of text, Maybe it misses a linefeed and counts it as text... not sure 

Thank You 
Brian G 


From: "Brian" <brian at westwoodsvcs.com> 
To: "Gambas mailing list" <user at lists.gambas-basic.org> 
Sent: Thursday, November 12, 2020 7:24:53 AM 
Subject: Re: [Gambas-user] Text-Wrapping 

Hans, 
Your method outputs some strange lines for example the following original line 

Stephen, taking his ashplant from its leaningplace, followed them out and, as they went down the ladder, pulled to the slow iron door and locked it. He put the huge key in his inner pocket. 

Sample of normal wrap 

Stephen, taking his ashplant from its leaningplace, followed 
them out and, as they went down the ladder, pulled to the slow 
iron door and locked it. He put the huge key in his inner pock- 
et. 

Output from your wrap 

Stephen, taking 
his ashplant from its leaningplace, followed them out and, as they 
went down the ladder, pulled to the slow iron door and locked it. He 
put the huge key in his inner pocket. 

There are a few other strange outputs as well. 

Thank You 
Brian G 


From: "Hans Lehmann" <hans at gambas-buch.de> 
To: "Gambas mailing list" <user at lists.gambas-basic.org> 
Sent: Thursday, November 12, 2020 12:54:52 AM 
Subject: Re: [Gambas-user] Text-Wrapping 

Hello, 

after the hints in the list and with regard to the case of application (description in a RSS feed) this solution was found: 

8<---- Using Recursion ------------------------------------------------ 

' Gambas module file 

Public Sub Main() 
Dim sFile As String = File.Load("./testtext.txt") 
Print W(sFile, 70) 
End 

Private Function W(TextToWrap As String, iLength As Integer) As String 

Dim iIndex As Integer 
Dim sTL, sTR As String 
Dim aLines As String[] 

If Len(TextToWrap) <= iLength Then Return TextToWrap 
aLines = Split(TextToWrap, gb.NewLine) 
iIndex = RInStr(TextToWrap, " ", iLength) 
If iIndex = 0 Then iIndex = iLength 
sTL = RTrim(Left(TextToWrap, iIndex - 1)) 
sTR = LTrim(Right(TextToWrap, -iIndex)) 

Return sTL & gb.lf & W(sTR, iLength) 

End 

8<--------------------------------------------------------------------- 

With kind regards 

Hans 

ORIGINAL: 
Die Fehlerbehandlung beginnt mit einer Analyse von Fehlerkategorien, beschreibt die Fehleranalyse zur Entwicklungszeit eines Programms (Debugger) und verweist auf Strategien, wie Sie Fehler erkennen, abfangen und vermeiden können. 

RESULT: 
Die Fehlerbehandlung beginnt mit einer Analyse von Fehlerkategorien, 
beschreibt die Fehleranalyse zur Entwicklungszeit eines Programms 
(Debugger) und verweist auf Strategien, wie Sie Fehler erkennen, 
abfangen und vermeiden können. 


----[ http://gambaswiki.org/wiki/doc/netiquette ]---- 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20201112/ad6229dd/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sampletext
Type: application/octet-stream
Size: 40847 bytes
Desc: not available
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20201112/ad6229dd/attachment-0001.obj>


More information about the User mailing list