meillo@0: unit unit_Editor_as_BrowseDir; meillo@0: meillo@0: interface//#################################################################################### meillo@0: meillo@0: uses meillo@0: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, meillo@0: Dialogs, StdCtrls, Buttons, FileCtrl; meillo@0: meillo@0: type meillo@0: Tform_Editor_as_BrowseDir = class(TForm) meillo@0: dirlbx_1: TDirectoryListBox; meillo@0: tbx_Path: TEdit; meillo@0: btn_NewDir: TBitBtn; meillo@0: btn_Apply: TButton; meillo@0: btn_Cancel: TButton; meillo@0: dcobx_1: TDriveComboBox; meillo@0: procedure FormCreate(Sender: TObject); meillo@0: procedure FormShow(Sender: TObject); meillo@0: procedure FormClose(Sender: TObject; var Action: TCloseAction); meillo@0: procedure dcobx_1Change(Sender: TObject); meillo@0: procedure btn_NewDirClick(Sender: TObject); meillo@0: procedure btn_ApplyClick(Sender: TObject); meillo@0: procedure dirlbx_1Change(Sender: TObject); meillo@0: procedure btn_CancelClick(Sender: TObject); meillo@0: private meillo@0: { Private declarations } meillo@0: public meillo@0: { Public declarations } meillo@0: end; meillo@0: meillo@0: var meillo@0: form_Editor_as_BrowseDir: Tform_Editor_as_BrowseDir; meillo@0: meillo@0: implementation//############################################################################### meillo@0: uses unit_Editor_as, unit_Start, unit_Editor; meillo@0: {$R *.dfm}//################################################################################### meillo@0: meillo@0: //------------------------------------------------------------------------------ Form Create meillo@0: procedure Tform_Editor_as_BrowseDir.FormCreate(Sender: TObject); meillo@0: begin meillo@0: // disable autorun settings meillo@0: form_editor_as.Enabled := false; meillo@0: meillo@0: // set language meillo@0: if form_editor.englisch = true then meillo@0: begin // English meillo@0: form_editor_as_BrowseDir.Caption := 'Chose Directory'; meillo@0: btn_NewDir.Caption := 'Create new Dir'; meillo@0: btn_Apply.Caption := 'Apply Changes'; meillo@0: btn_Cancel.Caption := 'Cancel Changes'; meillo@0: end meillo@0: else meillo@0: begin // German meillo@0: form_editor_as_BrowseDir.Caption := 'Wähle ein Verzeichnis'; meillo@0: btn_NewDir.Caption := 'Ordner erstellen'; meillo@0: btn_Apply.Caption := 'Übernehmen'; meillo@0: btn_Cancel.Caption := 'Abbrechen'; meillo@0: end; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: //------------------------------------------------------------------------------ Form Show meillo@0: procedure Tform_Editor_as_BrowseDir.FormShow(Sender: TObject); meillo@0: var i : integer; meillo@0: typ : cardinal; meillo@0: begin meillo@0: { meillo@0: // dont show floppy and cdrom drives meillo@0: for i := 0 to 25 do meillo@0: begin meillo@0: typ := getdrivetype(pchar(chr(i + 65) + ':\')) ; meillo@0: if (typ = Drive_Removable) or (typ = Drive_CDRom) then meillo@0: begin meillo@0: dcobx_1.Drive := chr(i+65); // this must be avoided meillo@0: dcobx_1.Items.Delete(dcobx_1.ItemIndex); // how to delete without setting the item?? meillo@0: end; meillo@0: end; meillo@0: } meillo@0: // Init meillo@0: dcobx_1.Drive := 'c'; meillo@0: dirlbx_1.Drive := 'c'; meillo@0: tbx_path.Text := dirlbx_1.Directory; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: //------------------------------------------------------------------------------ Form Close meillo@0: procedure Tform_Editor_as_BrowseDir.FormClose(Sender: TObject; meillo@0: var Action: TCloseAction); meillo@0: begin meillo@0: // activate autorun settings meillo@0: form_editor_as.enabled := true; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: meillo@0: //############################################################################################# meillo@0: meillo@0: //------------------------------------------------------------------------------ Change Drive meillo@0: procedure Tform_Editor_as_BrowseDir.dcobx_1Change(Sender: TObject); meillo@0: begin meillo@0: dirlbx_1.Drive := dcobx_1.drive ; meillo@0: dirlbx_1.Refresh; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: //------------------------------------------------------------------------------ Change Dir meillo@0: procedure Tform_Editor_as_BrowseDir.dirlbx_1Change(Sender: TObject); meillo@0: begin meillo@0: tbx_path.Text := dirlbx_1.Directory; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: meillo@0: //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ meillo@0: meillo@0: //------------------------------------------------------------------------------ New Dir meillo@0: procedure Tform_Editor_as_BrowseDir.btn_NewDirClick(Sender: TObject); meillo@0: var NewDir : string; meillo@0: begin meillo@0: // create new dir meillo@0: if form_editor.englisch = true then meillo@0: begin // english meillo@0: if inputquery('Create new Dir','Enter the name of the new Dir', NewDir) then meillo@0: begin meillo@0: if not directoryexists(dirlbx_1.directory + '\' + NewDir) then meillo@0: begin meillo@0: mkdir(dirlbx_1.directory + '\' + NewDir); meillo@0: end; meillo@0: end; meillo@0: end meillo@0: else meillo@0: begin // German meillo@0: if inputquery('Neuen Ordner erstellen','Name des neuen Ordners', NewDir) then meillo@0: begin meillo@0: if not directoryexists(dirlbx_1.directory + '\' + NewDir) then meillo@0: begin meillo@0: mkdir(dirlbx_1.directory + '\' + NewDir); meillo@0: end; meillo@0: end; meillo@0: end; meillo@0: // go to new dir and refresh meillo@0: dirlbx_1.Directory := dirlbx_1.directory + '\' + NewDir; meillo@0: dirlbx_1.Update; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: meillo@0: //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ meillo@0: meillo@0: //------------------------------------------------------------------------------ apply meillo@0: procedure Tform_Editor_as_BrowseDir.btn_ApplyClick(Sender: TObject); meillo@0: begin meillo@0: form_editor_as.tbx_CDRootPath.Text := tbx_path.text; meillo@0: form_editor_as_browsedir.Close; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: //------------------------------------------------------------------------------ cancel meillo@0: procedure Tform_Editor_as_BrowseDir.btn_CancelClick(Sender: TObject); meillo@0: begin meillo@0: form_editor_as_browsedir.Close; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: meillo@0: end.//#########################################################################################