mIRC Homepage
Posted By: quartz text buffer size in dialog - 03/02/21 04:42 PM
a few things....but something at the moment

does anyone know what the buffer size is for a multi text box in a dialog? I'm listing the contents of a folder. I've got about 800 files in the folder. each filename can be up to about 80 characters long

understandably for "text", the dialog text box is getting maxed out (at about 400 filenames or so). is there any way to increase it? using a multi-text box at the moment rather than list box
Posted By: maroon Re: text buffer size in dialog - 03/02/21 09:19 PM
There is no "multi" property for a text box, so i assume you mean including line endings to make it be on separate lines. Since there's no -a to append new text to the end of an existing text box, the limit would be how long can be the line length of the /did command, which should be in the neighborhood of $maxlenl plus small. For appending extra lines, you can squeeze a little extra text by ending the lines with $cr instead of $crlf.
Posted By: quartz Re: text buffer size in dialog - 03/02/21 09:33 PM
it's something like,,,

edit "end of file list", id, x y 500 400, multi, hsbar, vsbar, tab num

(edit box in a dialog)

and access using did -i to insert text (filename) at line 1

$maxlenl , 8192,,, I'm getting about 400 lines at say 60 chars each before the edit box doesn't update with the next filename, so my edit box is getting about 24,000 chars.....approx
Posted By: maroon Re: text buffer size in dialog - 03/02/21 11:31 PM
with a TEXT box, i'm able to get 10k chars into the box with something like:

//var %i 1 | while (%i isnum 1-100) { var %a %a $+ $base(%i,10,10,5) $+ $str(x,93) $+ $crlf | inc %i } | did -a mydialog 99 %a | //echo -a $len($did(mydialog,99))

with an EDIT box, it seems there's a limit somewhere around 30,000 data,

From doing something like the next, anything above line 600 gets dropped. For the editbox -a needs the $crlf in order to have the text display as separate lines, but -i doesn't. But when using -i, the $crlf being applied by -i seems to count as part of the data limit.

//var %i 1 | did -r mydialog 99 | while (%i isnum 1-1000) { did -a mydialog 99 $+($base(%i,10,10,5),$str(x,43),$crlf) | inc %i }

Not sure yet whether to call this a bug or not, but when I insert text into line 1, this looks normal up through line 600 when it stops inserting. However when I change the 43 into 45, it stops at an earlier line due to the extra line length, but lines 576 and 577 are joined together without a line-ending between them.

//var %i 1 | did -r mydialog 99 | while (%i isnum 1-1000) { did -i mydialog 99 1 $+($base(%i,10,10,5),$str(x,43)) | inc %i }

In case it matters, it's using control

option dbu
edit "",99,5 5 200 200, multi, hsbar, vsbar, tab num
Posted By: quartz Re: text buffer size in dialog - 04/02/21 12:05 AM
I'll go over that in a bit. ;-) but yes I'm getting to about line 400 or 500 out of the 800 filenames and it stops adding lines

I figured it was just the buffer in the edit box, and that an edit box of a dialog was never intended for more than a few 1,000 chars and 200-300 lines

but if it's something that should work (up to maybe 1,000+ lines - I won't be going ridiculous, but up to 1,000+ lines would be nice), then.......yeah cool

7.61, btw. I think there's a slightly more recent? haven't installed just yet
Posted By: maroon Re: text buffer size in dialog - 04/02/21 02:08 AM
correct, v7.62 bumped up the $maxlenl to 10kb
© mIRC Discussion Forums