PDA

Показать полную графическую версию : [решено] перекинуть данные из Excel в прогу на Delphi


Страниц : 1 [2]

Хоф
22-04-2011, 14:14
Я нашел в ru.Wikipedia.org - по теме OLE. Насколько я понял это было создано Microsoft для связывания различных данных из различных программ (в тч Adobe Flash Player) в программы семейства Microsoft. Далее ссылка идет на MSDN (Через Гогль Хром все быстро переводится на русский) В общих чертах понятно. Нужно теперь нарыть русскоязычную литературу в энтом направлении.

Iska
22-04-2011, 18:48
Так, если я правильно понял, то, Технология 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 ]; - помогите плиз понять в чём загвоздка?

LilLoco
25-04-2011, 18:17
и что-то не пашет »
Что именно?
может быть нужно :

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:
что то мне кажется я не то пишут вот тут »
Поподробнее можно?) »

вот мне и кажется, что где-то я ошибаюсь в том что пишу, поэтому и переброс не происходит, ткните плиз мордочкой где не так?

LilLoco
26-04-2011, 09:31
Сколько строк у Вас изначально в чистовике и черновике?
не произошло »
А хоть что нибудь происходит? тяжело судить о проблеме, исходя из Ваших "показаний"! Может быть какая нить ошибка, может еще что нибудь) Поясните)

anatoly_neo
26-04-2011, 09:38
Сколько строк у Вас изначально в чистовике и черновике? »

в черновике 25 строк, в чистовике 10 (по задумке, там будут отображаться только те записи, которые подходят по времени), посему и количество строк меньше

А хоть что нибудь происходит? »

происходит, открывается программа (вторая форма, типа чистовик), но таблица в ней пустая.

anatoly_neo
26-04-2011, 09:57
прикрепил два скрина для наглядности что как и куда планируется сделать, может чем то поможет :))

LilLoco
26-04-2011, 10:11
Держите, набросал, посмотрите и отредактируйте как Вас нужно! Вроде все работает!)

Скоро в интернете появится вся база номеров автомобилей и их владельцев :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