05-10-2014, 01:00 AM
Let me demonstrate this nasty bug...
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))
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)
------------------------------------------------------------
http://lcd-one.da.ru redirector is dead
Visit my http://members.inode.at/838331/index.html home page!
http://lcd-one.da.ru redirector is dead
Visit my http://members.inode.at/838331/index.html home page!