Topic: Как вывести в TableGrid список файлов из директория?

Есть функция GetFilesList, которая получает список файлов из директория с результатом в виде одной строки. Каким образом вывести этот список в TableGrid с отображением по одному файлу на каждой строке таблицы?

Re: Как вывести в TableGrid список файлов из директория?

Скачайте пожалуйста последнюю бета версию 3.5
https://www.dropbox.com/s/f3j4kfpnttm1o … b.zip?dl=0



Пример

procedure FillGridFiles(Grid: TdbStringGridEx; path: string);
var
    sl: TStringList;
    i,c: integer;
    NxTextColumn: TNxTextColumn;
begin
    sl := TStringList.Create;
    sl.Text := GetFilesList(path);

    Grid.Columns.Clear;
    try
        Grid.Columns.Add(TNxTextColumn);
    except
    end;
    Grid.Columns[0].Color := clWhite;

    c := sl.Count-1;
    for i := 0 to c do
    begin
        Grid.AddRow;
        Grid.Cells[0, Grid.RowCount-1] := sl[i];
    end;
    sl.Free;
end;


procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    FillGridFiles(Form1.TableGrid1, 'C:\Backup');
end;
Dmitry.

Re: Как вывести в TableGrid список файлов из директория?

Шикарно работает ! Спасибо !

Re: Как вывести в TableGrid список файлов из директория?

Здравствуйте! По примеру выше создаю в гриде список файлов директории. Как правильно сделать "распознавание" имени файла (в имени указываются данные о материале, размерах, количестве изделий, имени заказчика)  для рассчетов и учета?

Re: Как вывести в TableGrid список файлов из директория?

collagen wrote:

Здравствуйте! По примеру выше создаю в гриде список файлов директории. Как правильно сделать "распознавание" имени файла (в имени указываются данные о материале, размерах, количестве изделий, имени заказчика)  для рассчетов и учета?

Приветствую.


В скриптах предусмотрены функции для работы со строками, такие как Pos, Copy, SplitString


Приведите примеры имен файлов, чтобы я смог дать конкретный совет.

Dmitry.

Re: Как вывести в TableGrid список файлов из директория?

baner1copy100x100klient
oracal5copy150x200rezka_zakazchuk
holst1copy123x345pokypatel

1. Считываем имена файлов из директории (отдельная папка для отчета за месяц), проверяем их на соответствие расширению (tif).
2. Распознаем материал, размер, количество, дополнительные услуги.
3. Распознаем клиента (отключаемая опция).
4. Рассчитываем стоимость каждой позиции (за месяц).
5. Сохраняем в xls-файлы для каждого клиента (или для всех сразу).

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

Буду благодарен за любую оказанную помощь.

Re: Как вывести в TableGrid список файлов из директория?

Можно ли, чтобы в файлах был какой либо разделитель между данными? Например

baner1copy_100x100_klient
Dmitry.

8 (edited by collagen 2017-12-26 22:38:23)

Re: Как вывести в TableGrid список файлов из директория?

С разделителями не получается, хотя мы их используем, но в "чужих" файлах правильной расстановки разделителей добится невозможно. В проекте имя будет упрощатся до буквенно-циферного вида.
Возник вопрос - при переборе символов названия (тип  string) как отличить букву от цифры (желательно скриптом)?
P.S. Вопрос снят - ValidInt () прекрасно справляется)

Re: Как вывести в TableGrid список файлов из директория?

Решение найдено и опробовано. Выкладываю на суд сообщества))) Даже не знаю, способно ли оно выдержать критику, но... может кому сгодится, а может кто советом поможет...
Столкнулся с интересным моментом - вводим имя файла ЛАТИНИЦЕЙ, а почему-то, в некоторых случаях, X между цифрами не распознается...

Post's attachments

Attachment icon Облік друку.zip 1.09 mb, 390 downloads since 2018-01-02 

Re: Как вывести в TableGrid список файлов из директория?

Возник вопрос. При обработке иногда возникает необходимость измененить название файла/ов (если в названии есть ошибка). Данные с названиями, типом ошибки и местом нахождения вынесены в грид. Создан компонент DBFile, но напрямую (через dbFileName) им управлять не получается (хотя правая кнопка активна, ReadOnly в false).
Существует ли возможность скриптом показать в папке файл (с выделением или с активированным переименованием)? Интересует реализация через shell.

Re: Как вывести в TableGrid список файлов из директория?

Открыть папку с выделенным файлом можно так

OpenFile('/select, "d:\filename.jpg"', 'explorer.exe'); 

Также есть функция RenameFile, с помощью которой можете создать желаемый диалог переименования файла.

Dmitry.

Re: Как вывести в TableGrid список файлов из директория?

Превосходно работает. Спасибо.
С компонентом DBFile были моменты, поскольку у многих тестовых файлах в названиях были пробелы, которые убирались при добавлении в грид. Соответственно, компонент не мог их найти.