Форум — Ответы ( К темам )
? | Skolotovich: TOleServer (02-12-2002 18:20:58) |
Приветствую вас господа прграмисты Вопрос такой OleServer'a сильно кривые или просто так кажется и что вместо этой дряни можно использовать без ущерба для нервов програмиста и пользователя. Заранее благодарен за ответ | |
Владимир (02-12-2002 19:06:05) | |
Да, это не просто кажется, так оно и есть. А для чего смотря, какая задача стоит ? Чего требуется конкретно ? | |
Skolotovich (02-12-2002 19:20:32) | |
задача проста как грабли есть таблица в Excel'e надо перегнать в IB просто хочу написать нормальную утилиту поетому юзать что-то вроде F1Book не хочу да и с оле надо разобраться основательно если есть нормальные компоненты или идеи как обойти гляки борландовских компонентов буду очень признателен | |
Владимир (02-12-2002 19:42:40) | |
А неужели таблица такая большая, что программой проще ? Здесь уже немного писалось о таких компонентах, "XLSRead Write v.1.35 Автор Ларс Арвидссон (Lars Arvidsson). XLSReadWrite это два компонента Delphi, TXLSRead и TXLSWrite спроектированы для доступа к XLS файлам Microsoft Excel. Нет необходимости устанавливать какие-то другие программы, в том числе Excel. TXLSRead могут читать файлы Excel 2.1, 3.0, 4.0, 5.0, 95, 97 и 2000. Вся информация из ячеек считывается, включая формулы и форматирование ячеек. TXLSWrite может записывать файлы Excel 4.0 и 5.0/ 95/ 97/ 2000. Также могут записываться формулы и форматироване ячеек. TXLSWrite записывает 100,000 ячеек менее чем за 2 секунды." Посмотрите тему XLSReadWrite2 Может чем и помогут, но думаю не очень сильно. Я видел их только trial. Не знаю, на дисках на компьютерных рынках они есть, но вскрытые или нет, не в курсе. Попробуйте найти к ним crack или может у кого есть не trial или crack ???? Пришлите, please ! | |
Skolotovich (03-12-2002 10:36:58) | |
Таблица большая полей 30 но проикол в другом мне в ближайшем будущем в любом случае придется работать с оле гонят доки и икселесы поэтому разбираться надо >Посмотрите тему XLSReadWrite2 спасибо за совет, но есть ли еще что-то стабильное работающее с оле на форуме RSDN посоветовали ftp.gasp.ru там в pub->report лежат компоненты делфы завернутые в дллку сказали что работает стабильно, но я еще не пробовал так, что ничего не скажу ссылка на вопрос http://rsdn.ru/forum/Message.aspx?mid=144532&only=1 | |
Владимир (03-12-2002 13:05:39) | |
Значит нужно менять постановку вопроса. Написать программу и сразу пусть user вводит данные в базу из вашей программы, минуя ввод данных через Excel Хотя, конечно разбираться с Excel и Word надо, заодно посмотрите пример http://rxlib.ru/WinLesson/bles1.htm в ближайшее время там появиться еще. | |
Skolotovich (03-12-2002 17:20:29) | |
Данные уже в Excel'e и давольно таки много поэтому вопрос так и ставлю Более коректно вопрос звучит так: какими средствами или компонентами базирующимися на OLE можно работать с продуктами MS Office? требования: 1. стабильность 2. документированость 3. гибкость 4. совместимость с C++Builder вот конкретно, что меня интересует | |
Владимир (03-12-2002 19:14:24) | |
В любом случае более правильно данные вводить в программе, выполнять проверки при вводе и помещать в базу данных, а уже потом, при необходимости, экспортировать их в Excel Если вам нужны только данные, то сохраняйте ваши данные в DBF формате, а из него перегоняйте в IB обычными средствами работы с таблицами баз данных. (или если вам удобнее в любом другом формате: .csv, .txt и т.д, а оттуда забирайте их своей программой) Но учтите: "Форматы файлов dBASE — DBF 2 (dBASE II), DBF 3 (dBASE III) и DBF 4 (dBASE IV) — сохраняют только текст и значения в том виде, в каком они отображаются в ячейках активного листа. Все форматирование, разметка страницы, рисунки, объекты и другие возможности Microsoft Excel утрачиваются. Данные, отображаемые в текущем представлении отчета сводной таблицы, сохраняются; все остальные данные отчета сводной таблицы утрачиваются." Про остальные файлы можно прочитать там-же — в справке к Microsoft Excel В противном случае все-таки придется потратить время на изучение OLE что-то типа // если Excel запущен — подключиться к нему try { App=Variant::GetActiveObject("Excel.Application"); } catch(...) { // Excel не запущен — запустить его try { App=Variant::CreateObject("Excel.Application"); } catch (...) { Application->MessageBox("Невозможно открыть Microsoft Excel!" "Возможно Excel не установлен на компьютере.","Ошибка",MB_OK+MB_ICONERROR); } } ............ и так далее Эта тема также обсуждалась здесь: http://www.progz.ru/viewtopic.php?t=191&view=next | |
Skolotovich (04-12-2002 11:04:13) | |
Спасибо за советы и по поводу обсуждения на форуме RSDN выход из положения нашли следующий: вместо глюковатых билдеровских компонентов, народ берет делфовские, а они работают болеее стабильно, заворачивают в дллку и юзают называется ребята пишут на билдере :-) | |
Павел (04-12-2002 12:35:22) | |
Не понял насчет делфовских компонентов. Может поясните ? Разве в делфи есть какие-то компоненты для работы с Excel, которых нет в Билдере ? Они разве чем-то отличаются от билдеровских Ведь вроде как везде написано, что и Дельфи и Билдер используют одну библиотеку VCL и какким же образом они работают более стабильно ? Это вам программисты на делфи такое рассказали, что их компоненты работают более стабильно ? И что мешает заворачивать в дллку билдеровские компоненты и юзать ? | |
Skolotovich (05-12-2002 14:03:36) | |
Уважаемый Павел Я саи долго писал на делфе и только недавно перешол на билдер (5-й) и мое впечатление негативное -- такое ощущение, что все криво делфа работает гораздо красевее и стабильнее --- ЭТО УТВЕРЖДЕНИЕ!!!! предисловие к ответу на ваши вопросы : у паскаля специфика языка другая, а я очень сомневаюсь, что они писали универсальные, межязыковые компоненты ответ на ваши вопросы прост: делфовская вцл оптимизированая под паскаль БУДЕТ глючить под с++биледер | |
Павел (05-12-2002 22:18:45) | |
Тогда мне все ясно. (Переход Паскаль-Си) Очень разные языки, когда-то я писал на Паскале, потом перешел на С Сначала было сложно, пока не въехал в С++, теперь понимаю насколько мощный и красивый язык. Так что спорить что лучше, С или Паскаль не стоит, кому что больше по душе, мне — С++ — Вам — Паскаль. Отличные программы можно писать и на том и на другом. И глюков я думаю везде хватает. Насчет работы с .xls: скачал и поставил XLSReadWrite2 правда они trial (сайт http://axolot.com/components/index.htm) Очень понравились, работу с .xls может облегчить конкретно, хотя конечно если уже написана библиотека своих часто используемых функций по работе с Excel через OLE, то ничего конечно этого особо сильно не нужно. | |
Skolotovich (06-12-2002 10:18:48) | |
Перейдем опять к старым баранам (саюжу собствено) при работе с функциями предпросмотра, чтения из ячейки, запись в ячейку и т.д. кричит "Interface not supported" что это? этим оно хочет сказать, что не поддерживает интерфейс на котором я пишу? у тех людей кто давал дллку все работает нормально может это то, что я сижу за вин2к сервер? P.S. Я человек дотошный -- пока проблему не решу не успокоюсь :-) | |
Павел (06-12-2002 12:55:03) | |
>>при работе с функциями предпросмотра, чтения из ячейки, запись в ячейку и >>т.д. кричит "Interface not supported" Ну это лучше спросить у людей, кто давал dll-ку (это же наверное их функции ) Может неправильно подключаете dll или точнее идет неправильное обращение к их функциям ? Из-за Win2k быть не должно. | |
Skolotovich (06-12-2002 16:49:22) | |
уже в принципе разобрался это у меня с непревычки, после делфы, руки не так стали еще не совсем уверенно в билдере орентируюсь |