Forum
Another string related problem (*solved*) - Printable Version

+- Forum (https://www.boriel.com/forum)
+-- Forum: Compilers and Computer Languages (https://www.boriel.com/forum/forumdisplay.php?fid=12)
+--- Forum: ZX Basic Compiler (https://www.boriel.com/forum/forumdisplay.php?fid=11)
+---- Forum: Bug Reports (https://www.boriel.com/forum/forumdisplay.php?fid=15)
+---- Thread: Another string related problem (*solved*) (/showthread.php?tid=588)



Another string related problem (*solved*) - LCD - 05-10-2014

Let me demonstrate this nasty bug...

Code:
sub printerPutString(x as ubyte,y as ubyte,attribute as ubyte,char$ as string)
    print at y,x;char$
end sub

sub Frame(x1 as ubyte,y1 as ubyte,width as ubyte,height as ubyte)
printerPutString(x1,y1,6,chr(35))
printerPutString(x1,y1+height,6,chr(35))
printerPutString(x1+width,y1,6,chr(35))
printerPutString(x1+width,y1+height,6,chr(35))
strg$=""
    for old=1 to width-1
        strg$=strg$+chr(33)
    next old
    printerPutString(x1+1,y1,7,strg$)
    printerPutString(x1+1,y1+height,7,strg$)
    for old=y1+1 to y1+height-1
        printerPutString(x1,old,7,chr(34))
        printerPutString(x1+width,old,7,chr(34))
    next old
end sub

Frame(15,0,16,5)

This does not work correctly, but it *should* work.
print len strg$ is 15, but in procedure the char$ length is calculated with 0 lchars.
It works if I change the code to this:

Code:
sub printerPutString(x as ubyte,y as ubyte,attribute as ubyte,char$ as string)
    print at y,x;char$
end sub

sub Frame(x1 as ubyte,y1 as ubyte,width as ubyte,height as ubyte)
    printerPutString(x1,y1,6,chr(35))
    printerPutString(x1,y1+height,6,chr(35))
    printerPutString(x1+width,y1,6,chr(35))
    printerPutString(x1+width,y1+height,6,chr(35))

    for old=x1+1 to x1+width-1
        printerPutString(old,y1,7,chr(33))
        printerPutString(old,y1+height,7,chr(33))
    next old
    for old=y1+1 to y1+height-1
        printerPutString(x1,old,7,chr(34))
        printerPutString(x1+width,old,7,chr(34))
    next old
end sub

Frame(15,0,16,5)



Re: Another string related problem - LCD - 05-19-2014

It looks like it is a problem with strings and SUB...


Re: Another string related problem - boriel - 05-20-2014

LCD Wrote:It looks like it is a problem with strings and SUB...
I see. Probably local / parameter string var$. Will check it. Thanks Smile


Re: Another string related problem - LCD - 05-20-2014

boriel Wrote:
LCD Wrote:It looks like it is a problem with strings and SUB...
I see. Probably local / parameter string var$. Will check it. Thanks Smile
No problem. Thank you for looking into it.


Re: Another string related problem - boriel - 06-08-2014

LCD Wrote:
boriel Wrote:
LCD Wrote:It looks like it is a problem with strings and SUB...
I see. Probably local / parameter string var$. Will check it. Thanks Smile
No problem. Thank you for looking into it.
I think It's fixed. Please, download Version 1.4.0-s1876, and tell me if it works.


Re: Another string related problem - LCD - 06-08-2014

boriel Wrote:I think It's fixed. Please, download Version 1.4.0-s1876, and tell me if it works.
I'm telling you that it works. Thank you!