http://forum.delphimaster.net/cgi-bin/forum.pl?id=1549818752&n=10

Диалог - нескольких папок.


RusSun ©   (10.02.19 20:12

Всем привет.
Нужен диалог выбора нескольких папок.
Для текстовых файлов работает такой вариант.
procedure clickbutton2(dummy:pointer;Sender:PControl; var mouse:TMouseEventData);
var s: String;

begin
Dialog := NewOpenSaveDialog( '',FileFullPath('Project1.exe'), [ OSFileMustExist, OSHideReadonly, OSAllowMultiSelect, OSOverwritePrompt, OSPathMustExist ] );
dialog.Filter := '*.txt|*.txt|все|*.*';
Dialog.OpenDialog := true;

 if Dialog.Execute then //else exit;
s:=Dialog.Filename;  k:=-1;
while s <> '' do
                  begin
                        inc(k);
                        a[k]:=Trim( Parse( s, #13 ) );
                        s := Trim( s );
          end;

form.Caption:=int2str(k);
Form.Add2AutoFree(Dialog);
end;

Вопрос: как сделать для нескольких папок?


RusSun ©   (13.02.19 14:13[1]

Hi, everybody.
Need a dialog to select multiple folders.
This option works for text files.
procedure click button2(dummy: pointer;Slender: Control; var mouse:TMouseEventData);
var s: String;

begin
Dialog: = NewOpenSaveDialog ( " , FileFullPath ('Project1.exe'), [ OSFileMustExist, OSHideReadonly, OSAllowMultiSelect, OSOverwritePrompt, OSPathMustExist ] );
dialog.Filter:= '*.txt/*.txt|all/*.*';
Dialogue.OpenDialog: = true;

if Dialog.Execute then / / else exit;
s:=Dialog.Filename; k:=-1;
while s < > " do
                 begin
                       inc(k);
                       a[k]:=Trim( Parse( s, #13 ) );
                       s: = Trim( s );
         end;

form.Caption:=inttostr(k);
Forms'.Add2AutoFree (Dialogue);
end;
Q: how to do for multiple folders?


DKOL   (19.03.19 08:06[2]

Можно попробовать переделать POpenDirDialogEx, должно быть не слишком сложно


RusSun ©   (25.06.19 09:57[3]


> Можно попробовать переделать POpenDirDialogEx, должно быть
> не слишком сложно
>
>

Что-то не компилируются с текущий версией  KOL v3.23.5 или KOL v3.22


http://forum.delphimaster.net/cgi-bin/forum.pl?id=1549818752&n=10