Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2018, 19:00   #1
niki7
Новичок
Джуниор
 
Регистрация: 16.11.2018
Сообщений: 1
По умолчанию OpenDialog во время выбора файла продолжает выполнять код

В Delphi не силён хотелось бы узнать как во время выбора файла (Excel файла) прервать на время работу кода. Если вместо OpenDialog прописать путь к файлу все работает как надо

Код:
procedure TForm1.Button3Click(Sender: TObject);
const
xlCellTypeLastCell = $0000000B;
var
ExcelApp, ExcelSheet: OLEVariant;
MyMass: Variant;
x, y: Integer;
begin
with OpenDialog1 do
  if Execute then
    ExcelApp.WorkBooks.Add(FileName);

// открытие листа книги
ExcelSheet := ExcelApp.Workbooks[1].WorkSheets[1];

// выделение последней задействованной ячейки на листе
ExcelSheet.Cells.SpecialCells(xlCellTypeLastCell).Activate;

// получение значений размера выбранного диапазона
x := ExcelApp.ActiveCell.Row;
y := ExcelApp.ActiveCell.Column;

// присвоение массиву диапазона ячеек на листе
MyMass := ExcelApp.Range['A1', ExcelApp.Cells.Item[X, Y]].Value;
// назначение размера StringGrid по размеру полученного диапазона ячеек
StringGrid1.RowCount := x;
StringGrid1.ColCount := y;

// заполнение таблицы StringGrid значениями массива
for x := 1 to StringGrid1.ColCount do
for y := 1 to StringGrid1.RowCount do
StringGrid1.Cells[x-1, y-1] := MyMass[y, x];

// закрытие книги и очистка переменных
ExcelApp.Quit;
ExcelApp := Unassigned;
ExcelSheet := Unassigned;
end;
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 16.11.2018 в 19:27.
niki7 вне форума Ответить с цитированием
Старый 16.11.2018, 20:24   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

if Execute then
begin
<все что хотите делать с этим файлом>
[весь код]
end;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка открытия файла. opendialog hemn6vyr Общие вопросы Delphi 3 06.03.2013 17:23
Закрытие файла из OpenDialog, подсчет символов в файле disaer Общие вопросы C/C++ 2 24.09.2010 11:10
Копирование файла при помощи OpenDialog (ошибка) sashahttp Win Api 3 02.02.2010 20:06
Настроить OpenDialog для выбора папки. Alex Cones Общие вопросы Delphi 7 02.12.2009 10:24
Как запустить приложение, дождаться его исполнения и только потом выполнять код? il76 Win Api 6 19.07.2007 14:00