1 (edited by grial 2014-06-02 14:05:09)

Topic: Помогите примером скрипта

Подскажите, можно ли с помощью скрипта сделать такое:

1) По нажатию на кнопку вызвать диалог выбора папки.
2) Скрипт получает путь к этой папке и далее в цикле (пока не будут обработаны все файлы в этой папке):
a) Берет очередной файл (например JPG), смотрит есть ли он уже в базе (точнее не сам файл в базе, а запись с именем этого файла).
б) Если уже такая запись про этот файл есть (или файл не JPG), то берет смотрит следующий файл.
в) Заносит имя файла в таблицу базы данных.
г) Если не все файлы в папке просмотрены, то переход на пункт (a)
3) Конец работы скрипта.

т.е. нужно грубо говоря занести автоматически список имен файлов определенного типа в таблицу базы данных.
Для моей задачи это было бы идеально. Таким скриптом получается  "черновая" заготовка базы с уже заполнеными именами файлов, в которой потом необходимые поля описания к каждому из файлов делались бы вручную.

Если такое можно сделать, приведите пожалуйста пример скрипта.

Заранее спасибо.

Re: Помогите примером скрипта

К сожалению в текущей версии у скрипта нет возможности выбрать папку и получить все файлы из папки, но спасибо за идею, записал, думаю с ближайшее время реализую такую возможность.

Dmitry.

Re: Помогите примером скрипта

DriveSoft wrote:

К сожалению в текущей версии у скрипта нет возможности выбрать папку и получить все файлы из папки, но спасибо за идею, записал, думаю с ближайшее время реализую такую возможность.

Большое спасибо. Будем ожидать.
Вопрос в догонку: если я правильно понял, у скрипта сейчас совсем нет никаких файловых функций пусть даже без всяких красивостей в виде диалоговых окон?

Re: Помогите примером скрипта

Есть, так например можно сохранять настройки

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
   ini: TIniFile;
   s: string;
begin
     ini := TiniFile.Create('d:\file.ini');
     ini.WriteString('SectionName', 'ValueName', 'value');
     s := ini.ReadString('SectionName', 'ValueName', 'default value');
     ShowMessage(s);
     ini.Free;
end;

а так выбрать файл

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
   OpenDialog: TOpenDialog;
begin
     OpenDialog := TOpenDialog.Create(Form1);
     if OpenDialog.Execute then ShowMessage(OpenDialog.FileName);
     OpenDialog.Free;
end;
Dmitry.