TextAreaLen( textarea[,units] )

BlitzPlus Forums/BlitzPlus Programming/TextAreaLen( textarea[,units] )

Lazze(Posted 2004) [#1]
what is the point in TextAreaLen( textarea[,units] )? well ofcourse it tells the length in chars of the text, but it according to the manual it should also be able to tell how many lines there are. It does'nt! It counts words!

Lazze


Cold Harbour(Posted 2004) [#2]
No, if you use '2' as the units it counts the number of lines. Actually quite handy. Essential even.


Lazze(Posted 2004) [#3]
testtext$="This is just a test to test the meaining of TextAreaLen"

win=CreateWindow("test",20,40,800,600,Desktop(),7)
panel=CreatePanel(0,0,800,600,win,0)
txt=CreateTextArea(10,10,200,200,panel,1)
canvas=CreateCanvas(220,10,200,200,panel)
SetBuffer CanvasBuffer(canvas)
ClsColor 255,255,255
Cls
Color 0,0,0
SetTextAreaText txt,testtext$
LockTextArea txt
lines1=TextAreaLen(txt,1)
lines2=TextAreaLen(txt,2)

Notify "TextAreaLen(txt,1): "+lines1+"    TextAreaLen(txt,2): "+lines2  
While WaitEvent()<>$803
Wend


this gives me
TextAreaLen(txt,1): 55 TextAreaLen(txt,2): 45

Actually I was wrong. It does'nt count words - it counts characters except "space". Thats still not lines though, in my oppinion.

Lazze


MattVonFat(Posted 2004) [#4]
When i ran that i got 2 as the number of lines


Lazze(Posted 2004) [#5]
Strange!!! What version are you using? - I'm using v.1.39

Lazze


MattVonFat(Posted 2004) [#6]
Same - i have all the updates installed.


Lazze(Posted 2004) [#7]
That's really weird. Maybe we need a second (or third) opinion on this :o) I suppose it uses API or something like that. Could it be the Windows versions that makes the difference?
The reason I needed it was to use it as a wordwrapper for text printed on a canvas. I could write a function to do this, but using TextArea would be easier - or so i thought :o)

Lazze