View Single Post
  #8  
Old 14-11-2023, 23:11
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 688
Thanks: 481
Thanked 2,547 Times in 561 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by ADMIRAL View Post
thanks for answer but it's was about metro0 script that you posted
@ADMIRAL,

after making a few changes to the code, you can make it work. however, if i'm correct, there're some aspects in the script that need further implementation. it would be better to ask the authors to complete the script.


Code:
Edit1: 

* Replace the current 'ListBoxOnChange' code with this.

procedure ListBoxOnChange(Sender: TObject);
var
  ADir: String;
begin
  if (FMXListBox[2].GetItemIndex > -1) then
  begin
    ADir := FMXEdit[1].GetText;
    StringChange(ADir, ExtractFileDrive(ADir), FMXListBox[2].GetItemText(FMXListBox[2].GetItemIndex));
    FMXLabel[197].Text(MinimizePathName(ADir, WizardForm.DirEdit.Font, WizardForm.DirEdit.Width));
    FMXEdit[1].Text(MinimizePathName(ADir, WizardForm.DirEdit.Font, WizardForm.DirEdit.Width));
    WizardForm.DirEdit.Text:= ADir;

    FMXDiskUsage.SetDir(WizardForm.DirEdit.Text);
    FMXLabel[82].Text(MbOrTb(FMXDiskUsage.FreeSpace, 1));
    FMXLabel[85].Text(MbOrTb(FMXDiskUsage.FreeSpace, 1) + ' is available from the selected drive');
    FMXArc[5].Angle(FMXDiskUsage.FreeSpace, FMXDiskUsage.TotalSpace);
  end;
end;

procedure ListBx3OnChange(Sender: TObject);
var
  ADir: WideString;
begin
  if FMXListBox[3].GetItemIndex > -1 then
  begin
    ADir:= ExtractFileDrive(FMXEdit[1].GetText) + '\' + AddBackslash(FMXListBox[3].GetItemText(FMXListBox[3].GetItemIndex)) + '{#MyAppName}';
    FMXLabel[197].Text(MinimizePathName(ADir, WizardForm.DirEdit.Font, WizardForm.DirEdit.Width));
    FMXEdit[1].Text(MinimizePathName(ADir, WizardForm.DirEdit.Font, WizardForm.DirEdit.Width));
    WizardForm.DirEdit.Text:= ADir;

    FMXDiskUsage.SetDir(WizardForm.DirEdit.Text);
    FMXLabel[82].Text(MbOrTb(FMXDiskUsage.FreeSpace, 1));
    FMXLabel[85].Text(MbOrTb(FMXDiskUsage.FreeSpace, 1) + ' is available from the selected drive');
    FMXArc[5].Angle(FMXDiskUsage.FreeSpace, FMXDiskUsage.TotalSpace);
  end;
end;

Code:
Edit2: 

* Comment out the following line in the code.

//FMXEdit[1].OnChange(@ListBoxOnChange);

Code:
Edit3: 

* Replace the ListBoxOnChange event with ListBx3OnChange for the FMXListBox[3].

FMXListBox[3].OnChange(@ListBx3OnChange);
.

Last edited by BLACKFIRE69; 14-07-2024 at 02:12.
Reply With Quote
The Following 3 Users Say Thank You to BLACKFIRE69 For This Useful Post:
ADMIRAL (15-11-2023), audiofeel (15-11-2023), hitman797 (15-11-2023)