Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 16.11.2018, 20:00   #1
niki7
Новичок
 
Регистрация: 16.11.2018
Сообщений: 1
Репутация: 10
По умолчанию 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 в 20:27.
niki7 вне форума   Ответить с цитированием
Старый 16.11.2018, 21:24   #2
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,762
Репутация: 2097
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка открытия файла. 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 21:06
Настроить OpenDialog для выбора папки. Alex Cones Общие вопросы Delphi 7 02.12.2009 11:24
Как запустить приложение, дождаться его исполнения и только потом выполнять код? il76 Win Api 6 19.07.2007 14:00


18:17.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru