Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2013, 19:30   #1
lesavinok
Новичок
Джуниор
 
Регистрация: 26.12.2013
Сообщений: 1
По умолчанию delphi и excel

Код:
program zachetnaya_rabota;

uses

ComObj,ActiveX,ComCtrls,Variants;


{$APPTYPE CONSOLE}
const
s_max_index=9;

Vo_max_index=9;
dist_max_index=9;
a=10.89706 ;
t=10 ;



type
Vo_massive =array[0.. Vo_max_index] of Real;
dist_massive=array[0..dist_max_index ] of Real;


s_massive=array[0.. s_max_index] of real;



var
Vo,s:Real;
amount,b,c:integer;

smas:s_massive ;
Vomas: Vo_massive;
excellApp,sheet,di,res:OleVariant;



function


countingVo ( t,s,a:Real):Real;
begin
result:=(s+(a*sqr(t))/2)/t ;
end;

begin


Writeln('Hello!my formula is S=V0t-(at*t )/2'); // èñõîäíàÿ ôîðìóëà(â çàäàíèè)

Writeln('I need to count Vo');
Writeln('Vo=(S+(a*t*t)/2)/t'); //âûâåäåíèå èç èñõîäíîé ôîðìóëû íà÷àëüíîé ñêîðîñòè
Write('Now input your amount of your values, amount = ') ; //âîïðîñ:êàêîå êîëè÷åñòâî ðàç ïîëüçîâàòåëü çàïðàøèâàåò ðåçóëüòàò

readln(amount);
while (amount<1 ) or (amount>10) do
begin
write('your amount must be more than 1 and less than 10');
write ('input amount again ');
read(amount);

end;
writeln('now input your values ');
c:=1; //íà÷èíàåòñÿ ââîä çíà÷åíèé
for b:=0 to amount-1 do
begin


Write('input' , c,'s = ');
read(s);
smas[b]:=s;

c:=c+1;
Vo:= countingVo (s,a,t);

Vomas[b]:=Vo;

end;
writeln ('S | | Vo |');
writeln ('___________________________');
for b:=0 to amount-1 do
begin

writeln(smas[b]:3:3,' ',Vomas[b]:3:3);

end;



writeln('again');
for b:=0 to amount-1 do
begin

writeln(smas[b]:3:3,' ',Vomas[b]:3:3);

end;

CoInitialize(nil);


excellApp:= CreateOLEObject('Excel.Application');

excellApp.visible := true;
excellApp.WorkBooks.add(-4167);
excellApp.Workbooks[1].Worksheets[1].Name:='Work' ;
excellApp.DisplayAlerts := false;

excellApp.Workbooks[1].Worksheets[1]. Range['A2:A4'].Value:=

excellApp := Unassigned;

end;


readln;
Readln;
end.
___________________________________ ___________________
Как мне вывести в эксель данные массива (smas[b])?????подскажите пожалуйста очень срочно(программист я мягко сказать начинающий.В библии дельфи этого нет.В сети тоже искал.

Последний раз редактировалось Stilet; 26.12.2013 в 20:39.
lesavinok вне форума Ответить с цитированием
Старый 26.12.2013, 21:31   #2
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Как то так.
Код:
var
 VariantArray:Variant;
 i  : integer;
begin
 VariantArray := VarArrayCreate(smas, varVariant);
 for i := 0 to Length(smas) - 1 do
  VariantArray[i]:=smas[i];
 excellApp.Workbooks[1].Worksheets[1].Range['A2:A4'].Value:= VariantArray;
end;
lexaltd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi Excel (сохранение записи в Excel) Кас Алина Общие вопросы Delphi 4 28.05.2010 09:17
как при импорте из Excel в delphi узнать сколько заполненных строк в книге Excel?чтобы организовать цикл betirsolt БД в Delphi 1 17.01.2010 18:51
Delphi -- Excel koma Общие вопросы Delphi 4 24.09.2009 14:33
Delphi ->Excel->График по таблице->Delphi Avalonix БД в Delphi 2 30.10.2008 14:04
Delphi+Excel Ирисска БД в Delphi 5 18.11.2007 13:14