Добрый день!
В секундном скрипте делаем обработку добавления в ячейки таблицы через ScanDirectory имен файлов в директории GetProjectPath + 'User files\'.
Создание файлов через проводник системы (так как знаем, что создать через скаду нельзя) четко отображается в скаде. Есть нюансы с превышением количества файлов над количеством таблицы. Но это чуть позже разбираться будем. Сейчас 3 строки = 3 файла.
Далее через скрипт Table1_OnCellClick(выбираем имя файла) и скрипт кнопки Button1_OnClick(директория + имя файла и действие удаление файла) удаляем файл.
В проводнике наблюдаем удаление файла.
Но вот обновление таблицы через секундный скрипт не происходит. Переход на другую страницу не помогло. Такое ощущение, что не меняется ответ от ScanDirectory.
Секундный скрипт:
var
i: Integer;
pathFileLocal:string;
aList: TM_ScanDirResult;
begin
pathFileLocal := GetProjectPath + 'User files\';
aList := ScanDirectory(pathFileLocal, sdtFiles);
for i := 0 to aList.Count - 1 do
begin
Table1.Columns[0].Cells[i+1].Text := IntToStr(i);
Table1.Columns[1].Cells[i+1].Text := aList[i].Name;
end;
end.
Можете подсказать что не так?
Жду вопросов и предложений.
Здравствуйте.
Но вот обновление таблицы через секундный скрипт не происходит. Переход на другую страницу не помогло. Такое ощущение, что не меняется ответ от ScanDirectory.
При выполнении Вашего скрипта в таблице будет перезаписываться только то количество строк, сколько было найдено файлов, а в остальных строках таблицы будет сохраняться старая информация (из предыдущего заполнения таблицы). Пример скрипта с очисткой лишних строк:
var
i: Integer;
pathFileLocal: string;
aList: TM_ScanDirResult;
begin
pathFileLocal := GetProjectPath + 'User files\';
aList := ScanDirectory(pathFileLocal, sdtFiles);
for i := 1 to Table1.RowCount - 1 do
if i <= aList.Count then
begin
Table1.Columns[0].Cells[i].Text := IntToStr(i);
Table1.Columns[1].Cells[i].Text := aList[i - 1].Name;
end else
begin
Table1.Columns[0].Cells[i].Text := '';
Table1.Columns[1].Cells[i].Text := '';
end;
end.
Есть нюансы с превышением количества файлов над количеством таблицы. Но это чуть позже разбираться будем.
В скриптах нет возможности динамически добавлять/удалять строки таблицы.
В секундном скрипте
Рекомендуем задать нужный интервал выполнения скрипта (https://clck.ru/3Fkn8p), например 10 секунд, чтобы скрипт не выполнялся бесполезно каждую секунду.