Page 1 of 5

QLCommander v2.2.x

Posted: Fri Mar 07, 2025 9:08 pm
by Andrew
Almost ready! QLCommander v2.2.x -
TESTERS NEEDED! (especially testers with QL network)

What's new:
  • can work with network drives
  • SMSQ/E compliant - now you can move the window on the desktop
  • faster, compiled with Turbo
  • rename directories (including all subdirectories)
  • move files/ directories/ selected files and directories
  • drive info (drive label, total size, free space, block size, sectors/block)
  • Net id
  • shows total number of files/directories on a drive/directory
  • shows number of selected files/directories
  • autocalculate the total size of selected files/directories (user can turn off this feature on slow QLs)
  • calculate directory size
  • calculate selected files/directories size
  • less user input needed when copy/delete/move/overwrite - a single ALL or QUIT for the whole process
QLCommandev22x.jpg

Re: QLCommander v2.2.x

Posted: Fri Mar 07, 2025 9:32 pm
by martyn_hill
If I may add to Andre's exciting announcement...

Andre's poured hours of care and attention in bringing some truly useful features to his Commander-like File Manager.

I've been using it myself religiously over the past few weeks to move and organise files on both QPC/SMSQe and Minerva, both locally and, of great interest to me, across the QL network. It runs rather nicely on the QL/Next...

Whilst there are other highly capable file-management apps out there, QLC is highly intuitive and simple to use and has only a few prerequisites/toolkits.

Andrei has done an amazing job of documenting QLC, too...

To my mind, QLC belongs on any QL 'distribution' and bridges an important gap for new users coming to the QL to navigate their way around our fine machine!

Well done, Andrei!

Re: QLCommander v2.2.x

Posted: Fri Mar 07, 2025 10:00 pm
by TitoxUnix
Super!!!!
I need some time to testy this but I'mvery interested in network features... the previous release hang doing backups from my QL to one Q68.

Very nice work!

Will see!!!!

Re: QLCommander v2.2.x

Posted: Fri Mar 07, 2025 10:25 pm
by Derek_Stewart
Hi,

I can perform any testing, I have all the QL hardware, emulators.

I have a QL, Q68, (QPC2, sQLux, SMSQmulator) by QLUB, Network.

I havd not built the Next QL network adapter, yet.

Re: QLCommander v2.2.x

Posted: Sat Mar 08, 2025 1:10 am
by Andrew
martyn_hill wrote: Fri Mar 07, 2025 9:32 pm If I may add to Andre's exciting announcement...
...
Thank you, Martyn!
Truth be told, I probably wouldn't have started to build a new version if it wasn't for you, your ideas and your support!
Thank you again!

Re: QLCommander v2.2.x

Posted: Sat Mar 08, 2025 10:32 am
by RalfR
Andrew wrote: Fri Mar 07, 2025 9:08 pmAlmost ready! QLCommander v2.2.x
Download.....? :D

Re: QLCommander v2.2.x

Posted: Sat Mar 08, 2025 12:11 pm
by Andrew
RalfR wrote: Sat Mar 08, 2025 10:32 am Download.....? :D
Found a bug that manifests only when compiled ... working on it :(

Re: QLCommander v2.2.x

Posted: Sun Mar 09, 2025 12:34 am
by Andrew
CRY FOR HELP
I narrowed down the problem to a single procedure, CalcDirSize, but I have no idea how to fix it. Everything works in SuperBasic, but crashes spectacularly when compiled with Turbo.
I wrote a small test program testsize_bas, so the problem is definitely the CalcDirSize procedure.
Compiled with Turbo the program iterates 5-7 times, then crashes with "Increase Dataspace". It makes no difference if I increase the dataspace to 200k :(
Compiled with QLiberator, it works!

I attached the TestSize_bas. Just change line 3200 text$="Win1_Games_" to a large directory from your system. One with with lots of subdirs - my Games dir has 41 subdirs, and some of them are 2-3 levels deep, with more tha 400 files in total.
The program uses Turbo Toolkit and also needs Per's MDInfo toolkit. It can be downloaded from: https://www.knoware.no/htm/toolkits.htm
Maybe someone can figure it out how to compile this with Turbo. I am stumped!

Re: QLCommander v2.2.x

Posted: Sun Mar 09, 2025 3:23 am
by swensont
I took a quick look at your code. As you are parsing a directory tree, you are using recursion to do down the branches of the tree. With recursion there is the overhead of the system keeping track of what is going on as the function is called multiple times. It looks like you are hitting some limit in Turbo.

I was thinking it might be the data set you are processing (the directory), but if that were the issue, I would expect failure with SB and with Qlib. But for S & G's, you might try a different drive.

If it is a stack limit, you might try testing with a drive with only a few directories and see how that works. Test a minimal case to confirm that it works in that instance. Then expend with more directories until it fails. The issue could also be the depth of the directories. You could test with a drive with, say 4 directories that have only a single depth. Then expand a bit until failure to see how far you can go.

Section 4 of the Turbo manual talks about recursion and making sure to "unravelling" the function calls and not using a GOTO or a call where there is no return. I'm not seeing that in your code.

I'm still leaning to an issue with taking up memory as the function is being recursively called. Looking again at the Turbo manual I found:
"data space can also run out if routines keep calling one another without RETuning." Maybe set data space to some large amount just to confirm if it still fails (again this is only for testing purposes).

Tim

Re: QLCommander v2.2.x

Posted: Sun Mar 09, 2025 8:24 am
by RalfR
Andrew wrote: Sun Mar 09, 2025 12:34 amCompiled with Turbo the program iterates 5-7 times, then crashes with "Increase Dataspace". It makes no difference if I increase the dataspace to 200k :(
Compiled with QLiberator, it works!
Maybe Dilwyn can help, in Q-Trans he also has to read the directories recursively.