new line?

Blitz3D Forums/Blitz3D Beginners Area/new line?

jhocking(Posted 2004) [#1]
Is there a way to define new lines in strings? Like how in C you type /n


dmaz(Posted 2004) [#2]
chr$(13)

string$ = "line1" + chr$(13) + "line2"

ok... wait that doesn't work! it really should of. the windows/dos newline trigger is chr$(13)+chr$(10). that didn't work either.


wizzlefish(Posted 2004) [#3]
Print "Hi"
Print ""
Print "Hi"


big10p(Posted 2004) [#4]
What dmaz says does work in as much as you can create a string with a carriage return/newline character in it, but displaying them in blitz is another matter, as it seems print/write/text only work with printable characters.


cermit(Posted 2004) [#5]
Try this, its a simple function that does what you need (i think). I saw DarkLordz do this with a bitmap font, it was quiet nice.

; Set Graphics ;
Graphics 640, 480, 16, 2
SetBuffer BackBuffer()

; My String ;
my_string$ = "BlitzBasic" + Chr(13) + "-=Rulez=-" + Chr(13) + Chr(13) + "By Cermit!"

; Main Loop ;
Repeat

; Random Color ;
Color Rnd(255), Rnd(255), Rnd(255)

; Draw Your String ;
DrawText(my_string$, 240, 210)

; Loop End ;
Flip
Cls
Until KeyHit(1)
End

; Draw Text Function ;
Function DrawText(my_str$, x, y)
Local char$, lines, offset = 1
For s = 1 To Len(my_str$)
char$ = Mid$(my_str$, s, 1)
If Asc(char$) = 13 Then
Text x, y + lines * 14, Mid$(my_str$, offset, s - offset)
offset = s + 1
lines = lines + 1
EndIf
Next
Text x, y + lines * 14, Mid$(my_str$, offset, s - offset)
End Function


Updated the code, i found a little bug. Oh yes, i took credit for it too! :D


RiverRatt(Posted 2004) [#6]
Well what how about
Print "hello world":Print "goodbye world"
WaitKey
End



big10p(Posted 2004) [#7]
Uh?


jhocking(Posted 2004) [#8]
Cermit/Darklordz's approach will do. Just spreading it out over multiple Print commands won't work because I want to store some text of arbitrary length in a string variable and have it display correctly. So I'll use that DrawText command instead of simply calling Text.