![]() |
|
![]() ![]() ![]() |
|
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
но если кто-то доработает твой код до того, что тебе нужно ты получается тоже не поймешь и придется объяснять тебе нужно кому-то потом объяснить, что написано? или главное чтоб экспорт происходил? эту процедуру можно немножко доработать и использовать ее в любом проекте без изменений а понимание придет позже ну постарайся: var - переменные, const - константы и т.д. ![]() -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
Yantarik |
|
||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
А мне не нужно позже. Я хочу ПОНИМАТЬ, а не тупо списывать. ![]() Чтобы при необходимости я могла все, что нужно/захочется исправить. Что такое переменные и константы я знаю ![]() Я могу тебе написать все, что мне не понятно по твоему скрипту ![]()
Откуда взялись эти числа? Почему именно они?
Что делает это? (и сразу зачем оно нужно) и откуда взялась crHourGlass? Какое у нее значение?
Эти два тоже не понятны. Опять же откуда берутся значения после знака присвоить?
Это я так понимаю переход на новый столец? (остальное потом. думаю. что на первый раз хватит) И ГЛАВНЫЙ вопрос: ты сказал, что на больших таблицах он будет тормозить. Как ты думаешь сколько ему потребуется времени, чтобы обработать около 80.000 строк с 30-40 столбцами(в которых приемущественно строки(не цифры)) ? ![]() |
||||||||
|
|||||||||
pseud |
|
||||||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
делай раз: 1. запусти Excel 2. сервис -> макрос -> редактор VisualBasic 3. View -> ObjectBrowser 4. Во второй комбобокс вбей xlWBATWorksheet, бинокль, изучи (внизу описано) 5. вбей xlContinuous - изучи эти говорящие константы я ввел именно для понимания, а мог ведь просто передать цифири
делай два: экспорт наш может длиться очень долго - покажем как юзеру на это время ЧасикиСтеклянные (HourGlass)
это свойства COM объекта, о которых дельфи ничего не знает, а мы только догадываемся. если у тебя еще открыт VisualBasic, то поковыряв его еще немножко, ты все поймешь. Впринципе в дельфи есть страничка Servers где висят объекты, которые предоставляют эти непонятности в более понятным способом. Но я их не юзал. все переменные говорящие iRowsCount - количесвто строк в Excel файле если уберешь строку
то пару секунд -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
||||||
|
|||||||
Yantarik |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
Const xlWBATWorksheet = -4167 (&HFFFFEFB9)
Member of Excel.XlWBATemplate Единственное, что я из этого поняла, что это какая-то константа в Экселе ![]() А почему у нее такое значение? Const xlContinuous = 1 Member of Excel.XlLineStyle вообще непонятное число... Зачем вводить константу равную 1? Если название этой константы в 12 раз длинее цифры 1? ![]() Как же он тогда поймет, что написано?
О чем говорит XL?
Что значит данная строчка? Еще: Я не вижу, где я должа прописать свою базу. И у меня в базе не одна таблица а около 30... И путь к эксель-файла тоже не вижу. :(((( |
||||
|
|||||
pseud |
|
||||||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
а потому, что другие значения заняты другими константами
ты соврала тебе понятней так?
или так?
все переменные и константы должны быть говорящие, чтоб ты сама или кто-то после тебя могли быстро разобраться в коде. xlContinuous: xl - приставка, говорящая что мы работаем с Excel Continuous - (англ.) непрерывный. а о чем скажет цифра 1???????????? никак не поймет просто попытается вызвать указанные тобой методы если ты ошиблась хоть в одной буковке - получешь Error говорящая приставка (см.выше) - говорящая не для Delphi - ей до лампочки - говорящая для программиста iColumnsCount (говорящая переменная) i - Integer Columns - колонки Count - количество ADOQuery1 - это компонент куда ты отобрала свои данные по SQL Одним заходом? А при обычном открытии Excel ты видишь новый файл а пути его не видишь. Мы в фоне все экспортим и открываем эксель. При попытке закрыть эксель спросит - сохранить? Можно конечно и программно сохранить. -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
||||||
|
|||||||
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
Отвлеченно:
Из-за чего может вылетать ошибка: "Операция не допускается, если объект открыт" На всякий случай: при запуске кода файл успевается открыться, а до строчки закрытия файла он не доходит. Я делаю программ ресет... То есть получается, что я его не закрываю при повторном перезапуске... Идия закрыть файл в самом начале почему-то не работает(наверное и не должна)... |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
отвлеченно не стоит новый вопрос = новая тема да и из описания ничего не понял - код - место ошибки это работа с файлами? если да то новый вопрос причем не в эту ветку или все тот же экспорт в Excel -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
Все та же работа с Excel. Я нажимаю F9, программа начинает выполняться. В процессе выполнения открывается файл(экселевский), потом зацикливается. Я ее останавливаю, что-то правлю, (когда понимаю, в чем ошибка) и запускаю заново. И после этого он выдает такую ошибку. |
|||
|
||||
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
По поводу твоего кода.
1. Я так и не поняла, как мне прописать свою базу? ADOQuery1 описывается как TADODataSet? 2. При выполнении выскакивает пустая форма. Откуда она берется? p.s. я так полагаю, чтобы для меня переменные были говорящими надо где-то с полгода программить. ![]() Поняла, что в название переменных/констант вы вкладываете их сущность. И не поняла, зачем константа равная единице. |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
какой метод используешь? тот что я написал? или свой? предположу: ошибка происходит из-за аварийного завершения проги, т.к. объект Excel остается подвисший и при следующей попытке его создать - еррор. Ctrl+Alt+Del - Диспетчер задач - закл.Процессы - видим висящий EXCEL.EXE - убей его а вообще чтоб такого не происходило необходима конструкция
Добавлено через 9 минут и 44 секунды ты в своем примере используешь ADODataSetSource это я полагаю DataSet в который отобраны данные для экспорта можешь использовать его же тогда в моем коде все места ADOQuery1 замени на ADODataSetSource видимо надо с нуля:
-------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
||||
|
||||
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
Ты, наверное повесишься, но я не знаю, как это делается ![]() Я изучала Паскаль, в Дельфи делала только то, что руками пишется(как в Паскале) и все визуальные возможности я только потихоньку узнаю и радуюсь. ![]() Если, конечно, понимаю как это работает и чем мне в этом плюс ![]() |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
:(
найди хоть какую-нить книгу по дельфи, хоть по дельфи 1 и немножко полистай, а лучше множко ну или в инете побросай компонентики, пожмякай их таким основам я не возьмусь обучать не осилю раз у вас на работе дельфи, то должен найтись человек, который сможет тебе основы преподать -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
Знать Дельфи и преродать(=объяснить) - это ж разные вещи.
![]() Да и я не все понимаю. Книг тоже много, но я пока не нашла не одной, которая мне была бы понятна ![]() Может это у меня мохг как-то не так устроен? ![]() Ладно, с основами я как-нибудь сама. Потихоньку... А что за пустое окно выскакивает при выполнении твоей программы? откуда оно? |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
при создании нового проекта в дельфи, автоматом создается одна форма TForm1 поэтому при запуске проекта (F9) ты ее и увидишь на нее и надо кинуть ту самую кнопочку настоятельно рекомендую найти книгу по дельфи, что-то типа "Для чайников" "За Х дней" В них обычно не очень-то с толковостью, но хотя бы поймешь, как простой проект накидать А вообще рекомендую авторов Стив Тейксейра и Ксавье Пачеко -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |