File Manager for PicoMite
Author | Message | ||||
twofingers Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1456 |
Hi Vadim, thanks for the last version and thanks for "spying" ![]() Something to look at again ... BTW: the USB-keyboard+console no longer works in FM123! ![]() Here comes the newest unofficial version: fm1184.zip New: - DeleteDir included - CopyDir included (As Matthias suggested.) It works quite satisfactorily. But not perfectly. For example, the source and target directories for copying must not be identical. It is still a test version, without warranty. I would like to have more dialog functions and feedback from the new functions (for example a progress bar), without making the whole thing too complicated. On the other hand, I don't want to change the design too much. You can tell me if you like it and if you adopt something from the suggestion. Now all that's missing is multi select ... ![]() Kind regards Michael Edited 2025-02-03 03:12 by twofingers |
||||
javavi![]() Guru ![]() Joined: 01/10/2023 Location: UkrainePosts: 402 |
Speeded up sorting by name by disabling additional readings when forming a list of files. Yes, I made a USB keyboard, but the console seems to have fallen off, I haven't figured out how to make it universal yet. And why, I think a separate version of FM should be made for the console. I am watching with interest the implementation of the function of copying/moving a folder with files, I will have to do this too. I think that multiple selection can be made simultaneously with coloring files by type by introducing one additional array. |
||||
twofingers Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1456 |
Hi Vadim, Yes, that's how I imagined it. But it could also be very complicated ... Sure? I didn't notice it, unfortunately. But I only work with file lists of around 100 files. By console I mean Picomites 2 with HDMI, connected to the PC via USB and Teraterm. Unfortunately, that doesn't work anymore with your latest version. Just for information. I'm curious to hear what other suggestions you have. ![]() Kind regards Michael |
||||
twofingers Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1456 |
Hi Vadim, minor improvements and error management regarding CopyDir and DeleteDir. fm1186.zip I am considering whether a file compare and a directory compare would be useful. Kind regards Michael |
||||
javavi![]() Guru ![]() Joined: 01/10/2023 Location: UkrainePosts: 402 |
I think that we need to maintain a balance between the most necessary functionality and the desire to expand it. Perhaps it will be possible to make a menu for calling user extensions that the FM will call with the currently selected files. Maybe somehow it will be possible to create a universal mechanism for calling such functions. I want to free the F2 button and move the file renaming function to the F6 function by simply creating a name change field. But I don't know if this will be convenient for users? If nothing gets in the way, I'll do it over the weekend. Edited 2025-02-05 21:51 by javavi |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7341 |
I think you have a very good point. IMHO it's probably better to call in "helper" applications as and when needed than make the main program too bloated. That's if such a system is possible, of course. |
||||
Amnesie Guru ![]() Joined: 30/06/2020 Location: GermanyPosts: 503 |
Absolutely! For me the File Manager already is a big help and it even looks amazing ![]() Greetings Daniel |
||||
twofingers Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1456 |
Hi Vadim, I have put together the keys of the original NC4: F1=Help F2=Menue F3=View F4=Edit F5=Copy F6=Rename/Move F7=MkDir F8=Delete F9=Function (calls up a command line with menus at the top) F10=Exit ALT+F-Key: F1=Left F2=Right F3=View2 F4=Edit F5=Compress F6=DeCompress F7=Find (file) F8=Batch F9=EGA (Video Mode) F10=Tree Moving F2 should be OK IMHO. Perhaps the F keys could be expanded to 10? EXIT with F10 would probably be a better solution. Regards Michael |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4722 |
Peter would want to implement the file manager inside MMBasic when it was a stable closed program. Calling "helpers" may inviolate that. My personal opinion is that the core function should be to manage files in the file system (*). I am not sure what helper functions are needed, but an ascii table is not among what I would see key for a file manager. Most functions that are now in the F9 menu I would also range in the category "information", and not "file managing". But opinions are individual, you may think different. Volhout (*) = primary functions = view/browse folders, move/copy/delete files between panes. secondar functions = view/listen/edit file content tertiary functions = file/folder compare I am still using fm 1.12, and I like it. Will try newer ones soon. |
||||
vegipete![]() Guru ![]() Joined: 29/01/2013 Location: CanadaPosts: 1118 |
Please try to make key commands consistent with the built in editor and anywhere else in MMBasic, wherever possible. |
||||
twofingers Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1456 |
Hi Vadim, here is the latest test version of your FM with some changes by me: fm1190.zip The FM file is crunched. If anyone needs the formatted version, please let me know. Let me know how you like the changes. I didn't like the built-in LIST command, so I replaced it with a more convenient version, which is also capable of storing small text snippets. FREEPINS has been replaced by LIST PINS (needs v6.00.02). As for the criticism from some users regarding the large number of functions. I think there is a misunderstanding. My suggestions are only for Vadim (and interested parties). Everyone is free to use only the official version. For me, the FM is a Swiss Army knife (like the original NC) and I want to show Vadim what you can do with it... or better not. I still plan to write a merge function, similar to the F7 function in the CMM2 editor, which I miss for PicoMites. But that will be a separate program. Regards Michael Edited 2025-02-10 04:44 by twofingers |
||||
javavi![]() Guru ![]() Joined: 01/10/2023 Location: UkrainePosts: 402 |
Hi Michael, I am currently working on the basic version of File Manager 1.25, maybe it will even be version 1.3 I want to organize the code a little and ideally bring it to some API so that it would be easy to make extensions. I consider all your developments to be very useful for the further development and improvement of FM I really appreciate your efforts in this direction, thank you. Regards Vadim Edited 2025-02-10 04:11 by javavi |
||||
twofingers Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1456 |
Sounds promising. ![]() Thanks for the encouragement! ![]() I just saw that I destroyed the screen saver. fm1191.zip Kind regards Michael |
||||
twofingers Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1456 |
Hi Vadim, here comes the latest test version. fm01979a.zip This version is now much faster in displaying the file list because "GetFList" has been reworked! Multiselect is almost finished, but not yet released. Please note that this test version of FM is configured to work together with DiskInfo ("di.bas" accessible with F12 when a folder is selected). What's new? A MERGE function to insert smaller text files (snippets) into larger ones. The "snippets" can be created with the text viewer, for example. The merge module will be moved out later. At the moment it is called with F11 or Alt-F9. A file "merged.txt" is created. The file to be inserted must have the name "0snippet.cut". I have written a new input routine that I think is much more convenient. The overwrite function is activated with the "INSERT" key, the cursor then changes color from white to red. If the function is aborted with Esc, the return value of Maxlen is -1 '* Supported keys: '* left arrow, right arrow '* Enter '* Esc '* Home '* End '* Del '* Ins '* Backspace '* all ASCII chars (char 32-126) I have also found some of my stupid mistakes, but see for yourself. ![]() I am considering using a separate name for my test versions so that I don't conflict with your version numbers, e.g. fx... What do you think? Best regards Michael EDIT: Here is another smaller version of the text viewer (LIST). Maybe you can use it sometime? I like the larger version better. Sub TtView(FName$) Const LinesPP = 37'lines per page Local string LN$ Local lineCount Close #1 Open FName$ For INPUT As #1 If Lof(#1) Then Do CLS lineCount = 0 Do Until Eof(#1) On error ignore If LN$ ="" Then Line Input #1,LN$ If MM.Errno>0 Then cprint(38,MM.ErrMsg$) mywait Close #1 Exit Sub EndIf EndIf Print Left$(LN$,80) LN$ =Mid$(LN$,81) Inc lineCount Loop Until lineCount+1 > LinesPP If getKey("-")=27 Then Close #1:Exit Sub Loop While Not Eof(#1) EndIf Close #1 End Sub Function getKey(msg$,ln) As integer If msg$="-" Then msg$="Press any key!" EndIf If ln=0 Then ln=39 cprint(ln,msg$) Do :getKey=Asc(Inkey$):Loop While getKey=0 End Functio Sub CPrint(line%,msg$,cl) Print @((Int(80-cl)/2)*FW,line%*FH)Space$(cl); Print @((Int(80-Len(msg$))/2)*FW,line%*FH)msg$; End Sub Edited 2025-03-03 00:40 by twofingers |
||||
twofingers Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1456 |
Hi Vadim. I haven't heard from you in a while. I hope you're well! In this test version I have implemented multiple file selection. fm01998.zip I have included the "DiskInfo" (di.bas) tool as a demonstration of the cooperation between two programs. I wrote DiskInfo so that I can check the new functions (e.g. DirCopy). Files are selected individually with the space bar. File groups are selected/unselected with "+" and "-" using wildcards (actually RegEx). The selection is reversed with "#". I hope that these keys are suitable for all keyboards. Selected files can be copied (F5) and deleted (F8) together. Group copying/deleting is automatically active if there are files selected for the panel. I have not enabled the selection of folders because I think that is too risky. In this test version the maximum number of files/folders is 300 (RMax). If more files exist in a folder, an error message appears and the program aborts. This could be solved even more elegantly...) From my point of view, according to my needs, the program is now quite complete. I tested it for several days. The program should also be reviewed again to optimize it in terms of speed and memory consumption. I would also like the cursor to jump to certain files when I enter an initial letter. BTW: On my USB keyboard (serial console) I now get reasonable keyboard values with Inkey$ for Shift-F3-F10 (179-186) with V6.0002b14. If you have any questions or suggestions, I would be happy to read them. Of course, suggestions and error reports from interested users are also welcome. Kind regards Michael |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4722 |
Hi Michael, I haven't tested extensively, but what I have tried so far all worked. Nice release. Tested on 6.00.02b14 on PicoMite VGA 2040. I do hope javavi is well. It is amazing what destroyed world he is living in, and still manages to contribute to the forum. Keep breathing javavi... Volhout |
||||
twofingers Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1456 |
Thanks for the feedback, Harm! I admire the brave people in Ukraine too, our worries are peanuts compared to that. I hope Vadim is doing well. Best regards Michael |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4722 |
Hi Michael, Just tried your fm01998 on the new picomite 6.00.02b16 (2040 VGA design) and (through console port attached keyboard) you cannot select folders anymore. This worked on b14, but not on b16. In filemanager you select a folder with <enter>. Maybe the key is not handled well. But I can type <enter> through console port (i.e. to start the filemanager), and that works okay. Regards, Volhout Edited 2025-03-07 01:15 by Volhout |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 9805 |
Out of interest please try this PicoMiteRP2040VGAV6.00.02b16.zip |
||||
twofingers Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1456 |
@Harm, Thanks for the message. I don't see any problem. I'm absolutely certain that Peter will fix it quickly. The keyboard query is very simple in my version (inkey$), so not much can go wrong. However, I don't have a Pico 1 ((2040 ) with a screen to test. Kind regards MIchael |
||||