Forum > General

I want to re-implement File Explorer as exercise


Hello folks, I am an experienced backend web developer ( So I know OO, data type, loop, IO etc. and their implications ), but total newbie on GUI/desktop application, which is being my new page. After research, it seems Object Pascal with Lazarus would be my best choice because those well ready feature rich components and I was pretty good at TP7 when I was in high school (lol).

So I assigned myself an exercise to go though everything I should know at least, in Object Pascal and Lazarus, as stated in my subject, I want to implement my own File Explorer. Don't know if this is too vague, but my question is, could you guys advise me which component ( best if you can also point me to which component group ) would really useful for a certain step (eg. hotkey, drag drop, right click menu, ... )

Plus one more, in convention, where do we put invisible component on the GUI? eg. timer

Any advise or reading suggestion welcome, thanks in advance.

The first question - do you want to make your exercise multiplatform ?! if yes, you must try not to use code for only one platform (eg. unit windows).

Invisible components can be placed where you need it, or if the logic is more to have such things in one place - use datamodules (are like forms, without a visual face). Try to make not to much access from one for to another.

For me i use often Frames to make black boxes and use only properties and actions to communicate with a frame. With this you are able to test every frame alone. But be aware to use TFrames from the standard palette in Lazarus. This visual Editor have a lot of caveeats by design (i know the same trouble from Delphi7 too). Use frames only dynamic created. If dynamic used, they are absolute stable, only the Editor is the problem.   

I don't usually suggest copying others, but since this is not a homework level project, feel free to look at Double Commander's source code.
As for components, TShellTreeView and TShellListView from Misc tab can be of help, the rest is quite standard (TForm, TFrame, TMainMenu, TPageControl, etc.)


[0] Message Index

Go to full version