If you do AdvGDrive.GetDriveInfo, you get the entire folder structure via AdvGDrive.Drive. You can then loop / check this drive structure hierarchically for folders, subfolders, files you might want to check.
procedure TForm2.SpeedButton1Click(Sender: TObject);
var
i : integer;
CI : TCloudItem;
begin
CI := TCloudItem.Create(nil);
AdvGDrive1.GetDriveInfo;
for i := 0 to AdvGDrive1.Drive.Count -1 do
begin
if (AdvGDrive1.Drive.Items.ItemType=ciFolder) and (AdvGDrive1.Drive.Items.FileName = 'primeiro') then
begin
CI.Assign(AdvGDrive1.Drive.Items);
if not AdvGDrive1.SearchFolder('segundo') then
begin
if CI.ItemType = ciFolder then
AdvGDrive1.CreateFolder(CI,'segundo'); //this code returns
// Invalid Class Typecast
end;
end;
end;
CI.Free;
end;
it's unclear how this code even compiles.
var
i,j,id: integer;
ci,ci1: TCloudItem;
fnd: boolean;
begin
AdvGDrive1.GetDriveInfo;
for i := 0 to AdvGDrive1.Drive.Count -1 do
begin
if (AdvGDrive1.Drive.Items.ItemType = ciFolder) and (AdvGDrive1.Drive.Items.FileName = 'primeiro') then
begin
ci := AdvGDrive1.Drive.Items;
fnd := false;
for j := 0 to ci.Folder.Count - 1 do
begin
if (ci.Folder.Items[j].ItemType = ciFolder) and (ci.Folder.Items[j].FileName = 'segundo') then
fnd := true;
end;
if not fnd then
begin
AdvGDrive1.CreateFolder(ci,'segundo');
end;
end;
end;
if fnd = false then
begin
ci := nil;
AdvGDrive1.CreateFolder(ci,'primeiro');
ci1 := TCloudItem(ci);
AdvGDrive1.CreateFolder(ci,'segundo');
end;
AdvGDrive1.FillTreeView(Treeview1);
Should have been:
Bruno Fierens2016-03-20 23:13:46
for j := 0 to ci.Folder.Count - 1 do //
Hi,