Jump to content

JohnLM

Members
  • Content Count

    359
  • Joined

  • Last visited

Posts posted by JohnLM


  1. Fail...

     

    @ FPiette - in win10, the Control Panel is on the desktop. 

     

    The way I determine two distinct folder locations (and file/app kind/type/etc) is to bring up the app's Properties and select [open folder location].  From there I can look at the file size, date, and so on. 

     

    1. using your suggestion to use the old 'control panel' is to press Win+R, enter 'control' and it opens the Control Panel

    2. When I right-click on its icon in the Taskbar and then right-click on the menu item 'Control Panel' to pull up the Properties, the Target location points to the Desktop. 

    3. I get the same results when I select/click on [open file location] it opens Explorer to the desktop and points to 'Control Panel'. 

     

    Note, I've also tried win+R and enter 'control.exe' and received the same results. 

     

    So it appears the there is only one control panel version in win10 enterprise. 

     


  2. update... i've also tried adding a new user account. . . 

     

    1. create a restore point

     

    2. add a new user account via CMD prompt(s): 

     

    net user user2 password_xxxxx /add

    net localgroup administrators user2 /add

     

    3. restart

     

    4. log into new user2 account 

     

    5. access the Settings app, failed

     

    I have the same situation as posted above, the Settings dialog box with the gear pops up and closes. 


  3. @ fpiette - the following are the specs: 

     

    Windows 10 Enterprise [10.0.19045.3693 as of 11/16/2023] 

    Chuwi Hi10 X 10.1" / 128GB SSD / 6GB Ram / 1920x1200 pixels tablet

    Intel Celeron N4120 (Gemini Lake) 1.10GHz 4-cores cpu with UDH Graphics 600

    BIOS: UEFI 

     

    * I purchased the tablet Sept/2023, but did not open and use it until 11/11/2023.  Windows ver was at 10.01.19045.3570 and during that time right up to 11/15. 

    * Then, I activated Windows on 11/16. 

    * And then it proceeded to upgrade to 22H2, which I believe is the final version for win10. 

    * Shortly after that, is when I discovered that I could no longer launch the Settings app. 

     


  4. After receiving my windows activation key for my new tablet, and after it "upgraded" my windows 10, to "Windows 10 2022 Update | Version 22H2" I was no longer able to access the windows sytem settings app.  It sometimes pops up as a blank blue dialogbox with the familiar gear in the center, and then closes. 

     

    For instance, when I right-click the desktop, and select 'Display settings' 

     

    1886445842_IM-right-clickmenu-displaysettings.png.0485d0bfe226f7e3189be62520c824bb.png

     

    I get this error message (after the blue dialog box with the gear pops up and closes).

     

    204185949_IM-ms-settingsdisplay-errormessage.thumb.png.597e15794afbe9d436ad0e4b0eaec8e5.png

     

    "This file does not have an app associated with it for performing this action.  Please install an
    app or, if one is already installed, create an association in the Default Apps Settings page."

     

    Or, when I try to open the Settings app directly, or Windows key+I, or from any place or method of activating Settings, I get this (below) and then it closes in a second or two. 

     

    1112349931_IM-settingsappbluedialogboxwithgear.thumb.png.70a4c4c02b86e19ba627031e9792df85.png

     

     

    The following are things I have tried, I believe are all that I have tried so far: 

     

    1. open cmd and enter - sfc /scannow

     

    2. open cmd and enter - Dism /Online /Cleanup-Image /CheckHealth

     

    3. open cmd and enter - Dism /Online /Cleanup-Image /ScanHealth

     

    4. open cmd and enter - Dism /Online /Cleanup-Image /RestoreHealth

     

    5. open powershell and enter - 

    * PowerShell -ExecutionPolicy Unrestricted -Command "& {$manifest = (Get-AppxPackage *immersivecontrolpanel*).InstallLocation + '\AppxManifest.xml' ; Add-AppxPackage -DisableDevelopmentMode -Register $manifest}"

     

    6. open powershell and enter -

    * Get-AppXPackage -AllUsers -Name windows.immersivecontrolpanel | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml” -Verbose}

     

    7. open powershell and enter -

    * Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml" -verbose}


    I've also tried a few of the registry hacks but they did not help. 

     

    So now I am wondering what else can I do.  Something in the 22H2 messed up the Settings's app's association. And I can't run a Settings Repair because I have to be in Settings to do that. 

     

    Does anyone else have suggestions for me to try.  I can create a system restore point and then try your suggestion(s). 

     

    TIA

     

     


  5. @ Alexander S - Thanks for your reply. I will look into your second suggestion. 

     

    ** The TControlList ** 

     

    I checked out the TControlList and found a video by Alister and he gave a brief tutorial using a TClientDataset.  I copied to code snippet from the screen in the video and tried and it worked. It was a nice output. I just need to play around with it to get a better feel for my needs and what I may use it for in the future.  So thanks, Alister. 

     

     

     


  6. For some time I was wondering how I could create a nice output from data I have. 

     

    One day I was looking at some learning video or website--I can't remember.  And I saw how some easily create an output that included text and images.  If I recall, he used HTML at the time, but I'm not sure since it was a long time ago. 

     

    Then, today, I was looking at some items in the GetIt portion of the welcome screen.  Then, moments later I decided to click on the 'getit package manager' and that's when it hit me, again, the idea of creating a custom output view similar to that.  

     

    So, I was wondering if I could create something similar in Delphi with the built-in components I already have--be it HTML code (howto) or a combination of components already in Delphi, for VCL and FMX/Mobile.

     

    image.thumb.png.468f7277d69e85c30901bf708f2184ea.png

    * This D12 getit pkg mgr snippet taking from my tablet and down-resized 1920x1200, 50% 

    * notice the output on the right side pane area, that is the design output I am seeking to create

     

    Does anyone have any suggestions on how I can proceed in this endeavor?

     

    What are your methods?

     

    TIA

     


  7. I use these little-known keyboard secrets...

     

    On my laptop, I use shift+insert 

     

    On my bluetooth keyboard, since I don't have the [insert] key, I use CTRL+Shift+V

     

    Both methods work for me in XE7, 11.2 and on my laptop with windows 7

     

    And on my Chuwi Hi10X win10 tablet, these methods work in 11.2 and 12.0 using a bluetooth keyboard with Ctrl+Shift+V 

     

     


  8. update..

     

    I've also compiled the test app in Delphi 11 and 12 on my Chuwi Hi10X tablet.  11.2 works fine, but 12.0 hit or miss.  Sometimes the machine locks up, other times the window (the memo) is blank. Makes no sense to me, but I'm late for work and will have to figure it out later. 


  9. I have updated the source code to include the time info (in the sec 4 portions of the source code, in the previous post above). 

     

    Here is a demo of the final output: 

     

       1/27/2016  12:11:27 AM | Project2.cfg                   | I:\delphi\d7\Activity List\ver01
       1/27/2016  12:11:27 AM | Project2.dof                   | I:\delphi\d7\Activity List\ver01
       1/27/2016  12:11:27 AM | Project2.dpr                   | I:\delphi\d7\Activity List\ver01
       1/27/2016  12:11:27 AM | Project2.exe                   | I:\delphi\d7\Activity List\ver01
       1/27/2016  12:11:27 AM | Project2.res                   | I:\delphi\d7\Activity List\ver01
       1/27/2016  12:11:27 AM | Unit1.dcu                      | I:\delphi\d7\Activity List\ver01
       1/27/2016  12:11:27 AM | Unit1.ddp                      | I:\delphi\d7\Activity List\ver01
       1/27/2016  12:11:27 AM | Unit1.dfm                      | I:\delphi\d7\Activity List\ver01
       1/27/2016  12:11:27 AM | Unit1.pas                      | I:\delphi\d7\Activity List\ver01
       1/27/2016  12:11:28 AM | Unit1.~ddp                     | I:\delphi\d7\Activity List\ver01
       1/27/2016  12:11:28 AM | Unit1.~dfm                     | I:\delphi\d7\Activity List\ver01
       1/27/2016  12:11:28 AM | Unit1.~pas                     | I:\delphi\d7\Activity List\ver01
       1/27/2016  12:11:32 AM | Project1.dof                   | I:\delphi\d7\hdd serial\v01
       1/27/2016  12:11:32 AM | Project1.dpr                   | I:\delphi\d7\hdd serial\v01
       1/27/2016  12:11:32 AM | hdd.s.exe                      | I:\delphi\d7\hdd serial\v01
       1/27/2016  12:11:33 AM | Project1.res                   | I:\delphi\d7\hdd serial\v01
       1/27/2016  12:11:33 AM | Unit1.dcu                      | I:\delphi\d7\hdd serial\v01
       1/27/2016  12:11:33 AM | Unit1.dfm                      | I:\delphi\d7\hdd serial\v01
       1/27/2016  12:11:33 AM | Unit1.pas                      | I:\delphi\d7\hdd serial\v01
       1/27/2016  12:11:33 AM | Unit1.~dfm                     | I:\delphi\d7\hdd serial\v01
       1/27/2016  12:11:33 AM | Unit1.~pas                     | I:\delphi\d7\hdd serial\v01
       7/10/2016  11:10:03 PM | Unit2.fmx.~1~                  | I:\delphi\xe7\FMX\fishfacts\v01\__history
       7/10/2016  11:10:03 PM | Unit2.vlb                      | I:\delphi\xe7\FMX\fishfacts\v01
       7/10/2016  11:10:08 PM | Project1.dpr                   | I:\delphi\xe7\FMX\fishfacts\v01
       7/10/2016  11:10:08 PM | Project1.dproj                 | I:\delphi\xe7\FMX\fishfacts\v01
       7/10/2016  11:10:24 PM | Unit2.dcu                      | I:\delphi\xe7\FMX\fishfacts\v01\Win32\Debug
       7/10/2016  11:10:24 PM | Project1.exe                   | I:\delphi\xe7\FMX\fishfacts\v01\Win32\Debug
       7/10/2016  11:10:23 PM | Project1.res                   | I:\delphi\xe7\FMX\fishfacts\v01
       7/10/2016  11:10:03 PM | Unit2.pas                      | I:\delphi\xe7\FMX\fishfacts\v01
       7/10/2016  11:10:03 PM | Unit2.fmx                      | I:\delphi\xe7\FMX\fishfacts\v01
       7/10/2016  11:10:08 PM | Project1.dproj.local           | I:\delphi\xe7\FMX\fishfacts\v01
       7/10/2016  11:17:48 PM | Project1.identcache            | I:\delphi\xe7\FMX\fishfacts\v01
       9/16/2017  11:15:18 PM | readme_KEEP.txt                | I:\delphi\xe7\FMX\fishfacts\v01
      11/13/2016   1:00:08 PM | data_Notes20161113sun1259pm.zi | I:\delphi\misc
       1/13/2019   1:47:50 PM | data_Notes20190113sun0139pm.zi | I:\delphi\misc

     


  10. I now have the date included.  Again, this is not efficient, and with every new piece I add to the code, it gets slower, but still works. 

     

    Below is the updated source code with added functions.  Next, I will add the filename timestamp...

    uses
     strutils;
    
    // sec 1
    function GetFileCDateTime(FileName: String): TDateTime;
    begin
      GetFileCDateTime := 0;
      If (FileName <> '') and (FileExists(FileName) = True) then begin
         GetFileCDateTime := TFile.GetCreationTime(FileName);
      end;
    end;
    
    // sec 2
    function padspaceRT(S: string; Len: Integer): string;
    begin // this is my custom-made string padder, it insers spaces to a given length - its prob the slowest part and can be enhanced i'm sure. 
      s := midstr(s,1,len);
      result := S; // give it a value right away.
      while Length(Result) < Len do Result := Result + ' ';
    end;
    
    // sec 3
    function padspaceLF(S: string; Len: Integer): string;
    begin
      result := S; // give it a value right away.
      while Length(Result) < Len do Result := ' ' + Result;
    end;
    
    // sec 4
    procedure tform1.findfiles(list: tstrings);
    begin
      list.Clear;
      var sw := TStopwatch.StartNew;
      var fname, fdate, ftime: string;
      var FileARR := TDirectory.GetFiles(eb1.text, '*', TSearchOption.soAllDirectories);
      var DateARR := tdirectory.GetCreationTime(eb1.Text);
      for fname in fileARR do begin
        fdate := datetostr(getfilecdatetime(fname));
        ftime := timetostr(getfilecdatetime(fname));
        list.Add(padspaceLF(fdate,12) + ' ' + padspaceLF(ftime,12) + ' | ' + padspaceRT(tpath.GetFileName(fname),30) +' | ' + TPath.GetDirectoryName(fname));
      end;
      st1.Caption := Format('%d Files, %d ms, (%f s) ', [Length(FileARR), sw.ElapsedMilliseconds, sw.ElapsedMilliseconds / 1000]);
    end;
    
    // sec 5
    procedure TForm1.btnPullClick(Sender: TObject);
    begin
      m1.Lines.Clear; // tmemo 
      m1.Lines.BeginUpdate; // for speed but prob not necessary
      try
        findfiles(m1.Lines);
      except
        on E: Exception do
          Writeln(E.ClassName, ': ', E.Message);
      end;
      m1.Lines.EndUpdate;
    end;

     


  11. After some mods and additions to the code I managed to get the filenames and folder names to display.  The only problem I am having is with getting the date, mod date, and time. 

     

    I believe it is TDirectory.GetCreationDate() 

     

    My updated code snippet, below.  I'm sure it can be enhanced better and/or less, but it works. 

     

    uses
     strutils;
    
    function padspaceRT(S: string; Len: Integer): string;
    begin // this is my custom-made string padder, it insers spaces to a given length - its prob the slowest part and can be enhanced i'm sure. 
      s := midstr(s,1,len);
      result := S; // give it a value right away.
      while Length(Result) < Len do Result := Result + ' ';
    end;
    
    procedure tform1.findfiles(list: tstrings);
    begin   list.Clear;
      var sw := TStopwatch.StartNew;
      var fname: string;
      var FileARR := TDirectory.GetFiles(eb1.text, '*', TSearchOption.soAllDirectories);
      var DateARR := tdirectory.GetCreationTime(eb1.Text);
      for fname in fileARR do
      begin
        list.Add(padspaceRT(tpath.GetFileName(fname),30) +' -- ' + TPath.GetDirectoryName(fname));
      end;
      list.add(Format('%d Files, %d ms', [Length(FileARR), sw.ElapsedMilliseconds]));
    end;
    
    procedure TForm1.btnPullClick(Sender: TObject);
    begin
      m1.Lines.Clear; // tmemo 
      m1.Lines.BeginUpdate; // for speed but prob not necessary
      try
        findfiles(m1.Lines);
      except
        on E: Exception do
          Writeln(E.ClassName, ': ', E.Message);
      end;
      m1.Lines.EndUpdate;
    end;

     


  12. I've been at this since I first wrote this topic, but I did not receive a notification of a reply.  Anyway. 

     

    I've found the params that I used to use and tried them.  They work okay, but rethinking this project idea I decided to go the delphi route and I've been searching around for old code that I once tried before and had it working then but I can't find it.  It was a project I started about 7 years ago and lost code snippet I was working on.  All I have is the incomplete app.

     

    Now I am re-researching old and new code snippets via google and found several so far.  But I've had mixed results with them.  I want to include the recursive portion.  That was the hardest part for me to understand back then, and now I want to try and figure it out again and get working.  In one of the example recursive snippet I found via google, I entered c:\windows as the search path to recursive folder lookup and it took over 15 minutes to complete and give me 126,504 files.  I will do further searches for more efficient code snippets in this area. Next time I will test on a smaller set of recursive folders. 


  13. Specs: win10, delphi 12, VCL app design

     

    I am searching for the best or optimum way of pulling all filenames (and folder names) from my current tablet. The hdd is an SSD. 

     

    In the past, I used to use a dos command and run dir c:\*.* /A x y z >h:\cdrive.txt and save that as a text file to archive. But its been a long time since I've performed this and can't remember the exact parameters I used to use. That was windows XP and early windows 7 desktop pc. 

     

    Now I want to do the same in a dos window, but I see the command seems to have changed and/or new ones added since. This is windows 10 now. 

     

    I would use Delphi command instead but I'm not savy in that area. So I want to continue doing it the dos way if possible, or I would like to try both methods: dos and delphi. 

     

    The reason I've used the dos method is because it is the fastest. There was a command to turn off screen updates and it would fly, 1, 2, 3 and it was done. 

     

    TIA


  14. Success !!

     

    I now have both Delphi 11 and 12 installed on my new Windows 10 tablet.  Both are up and running without conflicts or issues. 

     

    Tablet Specs:  Chuwi Hi10 X 10.1 in, 128GB SSD 6GB RAM Windows 10, 1920x1200, Intel Celeron N4120 (Gemini Lak) 4-core cpu. 

     

    Known issues: 

    *1 BSOD - Stop Code:  MEMORY MANAGEMENT

    *2 BSOD - IRQL NOT LESS OR EQUAL 

     

    (blue screen of death) 

    I've mainly only been getting issues showing *2 

     

     

     

×