[fpc-pascal] Directory Tree

James Richters james.richters at productionautomation.net
Wed Apr 14 13:06:03 CEST 2021


>I've removed this file. I work  both with Linux and Windows, most of the time it's ok
	I still can’t get off the Master branch on my windows machine. I deleted everything, re-forked it, re-cloned it, 
	and I still can’t check out any branch other than Master…  It’s not that important I just re-downloaded all the files
	from the github website.. but it’s tedious that way, I have to look at each file, then click on Raw then save as,
	then get rid of the .txt it wants to put at the end.. 

>I've added a few lines to handle this. 
>Conversion from datetime to string  is in TTreeData.SetdValue, and conversion from string to datetime is in TTreeData.SetValue. 
	Thank you, that works better than what I was trying to do and now it displays the way I would like and the totals also come out correct.

>I have added a gauge and a buttton to trigger the processing.
       Thanks, that works great!

>I find the execution relatively slow on Windows, I can see the progression of the gauge. 
>On Ubuntu the result appears instantly, I can't see the progression of the gauge ( and my linux machine is less powerful than my windows machine
	The real INI file has over 4000 entries in it, so it takes about 30 seconds to load, so the gauge is really helpful.


I added a Load Time edit box,  Total Run time, and total including loading needed in the report… Yay I managed to do something on my own! 
I also cleared the old tree when a new file was loaded.. so I managed to do two things 😊  
I wanted my run time to be just minutes and seconds, so I made your procedure that fixes the time format into a function and used that for my edit box as well.
Since I still can't change branches on your repository, I updated mine
https://github.com/Zaaphod/FileTree

But now I have more questions…. while I can understand the pascal code… I find that I am still a bit lost on how things work, so I really appreciate the help.

I would like the initial display of the tree to be expanded one level.. so just like I hit the + in front of M: so I thought, how hard could that be? ... 
well since I don't even see where hitting the + expands a level, and  don't know the command to expand it or how to identify that first level.. I find I'm lost again
I've been going through Code Explorer and Object Inspector trying to figure out how this might be done, but I  don't see how to find a command to expand a branch.

I also thought I would display the output in another tree in the right side of the split.. maybe a TTreeView Tree since it won't need checkboxes, and it could be just displayed already expanded all the way out.
o I thought I would start by making   function TfFileVirtualTree.Get_Checked add the nodes to TTreeView so I tried to put 
           tv_addnode_from_key_value( td.Key, td.Value);
      right before
           Formate_Liste( Result, #13#10, td.Key+' '+td.Value);

Well it couldn't find tv_addnode_from_key_value() because it's in ufFileTree.Pas  but I don't understand why it can't find it, because ufFileTRee is in the uses section of ufFileVirtualTree.
I did move     procedure tv_addnode_from_key_value( _Key, _Value: String);  from private to public..  but it still can't find it.  I'm not really sure how to get data from one of the .PAS files into the other.




More information about the fpc-pascal mailing list