Показать полную графическую версию : [решено] перекинуть данные из Excel в прогу на Delphi
Я нашел в ru.Wikipedia.org - по теме OLE. Насколько я понял это было создано Microsoft для связывания различных данных из различных программ (в тч Adobe Flash Player) в программы семейства Microsoft. Далее ссылка идет на MSDN (Через Гогль Хром все быстро переводится на русский) В общих чертах понятно. Нужно теперь нарыть русскоязычную литературу в энтом направлении.
Так, если я правильно понял, то, Технология OLE позволяет работать с программами разработанными Только компанией Microsoft. »
Вы неправильно поняли.
Соответственно, невозможно так работать с любой программой! »
А это — правильно. Приложение должно уметь работать в качестве сервера Automation, и быть корректно зарегистрировано в реестре при своей инсталляции, дабы клиент (в данном случае — наше приложение) могло его вызывать и работать с ним.
Я нашел в ru.Wikipedia.org - по теме OLE. »
Смотреть лучше в английский версии: OLE Automation - Wikipedia, the free encyclopedia (http://en.wikipedia.org/wiki/OLE_Automation) — и ссылок куда больше, и качество их лучше.
anatoly_neo
25-04-2011, 16:05
что-то я не понимаю слегка, сделал такой цикл:
for i := 1 to 10 do
for j := 1 to 3 do
begin
sg3.cells[i - 1, j - 1] := Form4.SG1.Cells[i ,j ];
и что-то не пашет
вот еще бы хотелось понять, на что заменить в данной строке (for i := 1 to 10 do) цифру 10, чтобы таки цикл был до конца СтрингГрида (SG1)? ну и соответственно во второй строке цифру 3 (хотя ее можно не менять.)
и что то мне кажется я не то пишут вот тут - sg3.cells[i - 1, j - 1] := Form4.SG1.Cells[i ,j ]; - помогите плиз понять в чём загвоздка?
и что-то не пашет »
Что именно?
может быть нужно :
for i := 1 to 10 do
begin
for j := 1 to 3 do
begin
//что то делаем
end;
end;
на что заменить в данной строке (for i := 1 to 10 do) цифру 10 »
Form4.SG1.RowCount // Количество строк в StringGrid
ну и соответственно во второй строке цифру 3 »
Использовать количество столбцов!
что то мне кажется я не то пишут вот тут »
Поподробнее можно?)
anatoly_neo
26-04-2011, 09:17
LilLoco »
вот что у меня получилось в итоге:
begin
for i := 1 to Form4.SG1.RowCount do
begin
for j := 1 to 3 do
begin
sg3.cells[i - 1, j - 1] := Form4.SG1.Cells[i ,j ];
end;
end;
end;
но переброса данных из черновика в чистовик не произошло :(
Цитата anatoly_neo:
что то мне кажется я не то пишут вот тут »
Поподробнее можно?) »
вот мне и кажется, что где-то я ошибаюсь в том что пишу, поэтому и переброс не происходит, ткните плиз мордочкой где не так?
Сколько строк у Вас изначально в чистовике и черновике?
не произошло »
А хоть что нибудь происходит? тяжело судить о проблеме, исходя из Ваших "показаний"! Может быть какая нить ошибка, может еще что нибудь) Поясните)
anatoly_neo
26-04-2011, 09:38
Сколько строк у Вас изначально в чистовике и черновике? »
в черновике 25 строк, в чистовике 10 (по задумке, там будут отображаться только те записи, которые подходят по времени), посему и количество строк меньше
А хоть что нибудь происходит? »
происходит, открывается программа (вторая форма, типа чистовик), но таблица в ней пустая.
anatoly_neo
26-04-2011, 09:57
прикрепил два скрина для наглядности что как и куда планируется сделать, может чем то поможет :))
Держите, набросал, посмотрите и отредактируйте как Вас нужно! Вроде все работает!)
Скоро в интернете появится вся база номеров автомобилей и их владельцев :D :D :D
anatoly_neo
26-04-2011, 10:50
Скоро в интернете появится вся база номеров автомобилей и их владельцев :D :D :D »
не правда, это всего лишь презентация записи на обслуживание. :)
пытаюсь разобраться с вашим примером, спасибо
PS: подшаманил под себя то что Вы привели в примере, и... заработало :)))))))))
anatoly_neo
26-04-2011, 16:29
фух, слава богу не надо по времени вывод данных делать. за сим считаю проблему решённой. огромное спасибо LilLoco. :)))
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC