Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выбор данных из таблицы Excel, по введенным параметрам 
V
    Опции темы
IamDreamer
Дата 23.2.2011, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 867
Регистрация: 6.6.2005

Репутация: нет
Всего: 7



Есть таблица в Excel с названиями станков и их параметрами (обеспечиваемая точность, размеры заготовки). В программке надо организовать выбор станков по тем же параметрам путём построчного сравнения табличных данных с данными, введёнными в поля Edit, затем вывести удовлетворившие всем условиям варианты (либо в виде текста, либо в виде таблицы). В общем, как запрос в БД.

Думаю сделать цикл, в котором значения в Edit'ах будут сравниваться со значениями в ячейках таблицы, обращаясь к ячейке с помощью

Код

Excel.Range[excel.Cells[i, j]]


Вопросы следующие:

1) Как привязать таблицу к приложению? Пробовал 
Код

...
uses ComObj;
var Excel: Variant; 
...
Excel := CreateOleObject('Excel.Application'); // на событие FormCreate
Excel.Workbooks.Open[E:\Litter\...\Станки.xls];


, но на последней команде компилятор выдал:
Цитата

[Error] Unit1.pas(40): Undeclared identifier: 'E'
[Error] Unit1.pas(40): Illegal character in input file: '\' ($5C)
[Error] Unit1.pas(40): Missing operator or semicolon
[Error] Unit1.pas(40): Illegal character in input file: '\' ($5C)
[Error] Unit1.pas(40): Illegal character in input file: 'в' ($E2)
[Error] Unit1.pas(40): Illegal character in input file: 'к' ($EA)
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'


Как правильно указать путь?.. Не должно быть кириллицы?

2) Как прописать условие для выполнения цикла до тех пор, пока не появятся пустые ячейки (чтобы была возможность вносить данные в таблицу без изменения кода)?

PM MAIL WWW Jabber   Вверх
IamDreamer
Дата 23.2.2011, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 867
Регистрация: 6.6.2005

Репутация: нет
Всего: 7



Кириллицу в пути убрал, первая ошибка та же.
PM MAIL WWW Jabber   Вверх
Keeper89
Дата 23.2.2011, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Путь нужно в кавычках ставить.


--------------------
PM MAIL WWW   Вверх
Данкинг
Дата 23.2.2011, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Цитата(Keeper89 @ 23.2.2011,  15:17)
Путь нужно в кавычках ставить.

И в круглых скобках.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
IamDreamer
Дата 23.2.2011, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 867
Регистрация: 6.6.2005

Репутация: нет
Всего: 7



Спасибо, исправил. Теперь окошко вылетает с ошибкой:
Цитата

Project raised exception class EOleSysError with message 'Недопустимая строка с указанием класса'. Process stopped. Use Step or Run to continue.

PM MAIL WWW Jabber   Вверх
IamDreamer
Дата 25.2.2011, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 867
Регистрация: 6.6.2005

Репутация: нет
Всего: 7



Цитата(IamDreamer @  23.2.2011,  18:44 Найти цитируемый пост)
Project raised exception class EOleSysError with message 'Недопустимая строка с указанием класса'. Process stopped. Use Step or Run to continue.

Как это убрать?
PM MAIL WWW Jabber   Вверх
Keeper89
Дата 25.2.2011, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



На какой строке?


--------------------
PM MAIL WWW   Вверх
IamDreamer
Дата 25.2.2011, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 867
Регистрация: 6.6.2005

Репутация: нет
Всего: 7



Код

program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run; // курсор подсвечивает эту строку
end.

PM MAIL WWW Jabber   Вверх
IamDreamer
Дата 27.2.2011, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 867
Регистрация: 6.6.2005

Репутация: нет
Всего: 7



У меня Delphi 6 и MS Office 2007. Может ли быть несовместимость?
PM MAIL WWW Jabber   Вверх
Данкинг
Дата 27.2.2011, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Всё может быть, у меня на D7 и "офисе-2003" отлично работает подобное.



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
cat512
Дата 27.2.2011, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 7
Всего: 15



Stop delphi exception включи!!! И посмотри на какой строке ошибка вылетает
PM MAIL   Вверх
IamDreamer
Дата 27.2.2011, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 867
Регистрация: 6.6.2005

Репутация: нет
Всего: 7



Цитата(cat512 @  27.2.2011,  15:50 Найти цитируемый пост)
Stop delphi exception включи

В Debugger Options галочка стоит, выключение опции приводит к тому же.

Выше приведён код, комментарием отмечена строка, на которую указывает курсор при выполнении ошибки.

UPD.: Попробовал запустить на Delphi 7. Ошибка та же, подсвечивается строка
Код

Excel := CreateOleObject('Excel.Application');


Это сообщение отредактировал(а) IamDreamer - 27.2.2011, 13:32
PM MAIL WWW Jabber   Вверх
cat512
Дата 27.2.2011, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 7
Всего: 15



Ну так ProgId НАДО ЖЕ ПРАВИЛЬНЫЙ УКАЗЫВАТЬ!!!, а не копировать код с кривых исходников!!!
У меня например стоит офис 2003. Так вот правильный ProgId для моего Exel будет 'Excel.Application.11'. Для твоего - смотри реестр поиском по ключу "Приложение Microsoft Office Excel"

Добавлено @ 14:46
А что бы таких проблем не было - лучше пользоваться VTable интерфейсами (наследниками от IUnknown)!

Это сообщение отредактировал(а) cat512 - 27.2.2011, 15:02
PM MAIL   Вверх
IamDreamer
Дата 27.2.2011, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 867
Регистрация: 6.6.2005

Репутация: нет
Всего: 7



cat512, спасибо, попробую.

P.S. Не надо столько восклицательных знаков, будьте спокойнее smile.
PM MAIL WWW Jabber   Вверх
Данкинг
Дата 27.2.2011, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Цитата(cat512 @  27.2.2011,  14:43 Найти цитируемый пост)
У меня например стоит офис 2003. Так вот правильный ProgId для моего Exel будет 'Excel.Application.11'.

У меня и с "Excel.Application" отлично работает.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0611 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.