Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.11.29;
Скачать: CL | DM;

Вниз

Пишу программу по перегонке данных...   Найти похожие ветки 

 
Дениска   (2009-10-13 01:19) [0]

Всем привет! Пишу программу по перегонке данных из файла *.txt в файл *.xls. Проблема такая: при компиляции вылазит ошибка: «;» пропущено, но «.» найдено, на 32-й строке (procedure TForm1. …). Ошибка появилась после того, как я добавил строку 29. Смотрел много раз, вроде бы, с орфографией везде порядок…
Советы по проге тоже очень приветствуются…

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button3: TButton;
   OpenDialog1: TOpenDialog;
   SaveDialog1: TSaveDialog;
   procedure Button3Click(Sender: TObject);
   function CreateOleObject(const ClassName:string):IDispatch;
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

function CreateOleObject(const ClassName:string):IDispatch;
var f1{файл .txt}, f2{файл .xls}: file; {rчастота, sзатухание: array [1..2001] of real; mколичество строк: integer} exl,wb,sh: OleVariant;

procedure TForm1.Button3Click(Sender: TObject);
begin
 if opendialog1.Execute then begin
   assignfile(f1,opendialog1.FileName);
   reset(f1);
   {m:=число строк в файле-8;}
   {for i=1 to m do}
   {begin}
     {r[i]:=текст строки i+7, знаки 1 - 18;}
     {s[i]:=текст строки i+7, знаки 31 - 50;}
   {end;}
   closefile(f1);
 end;
 if savedialog1.Execute then begin
   exl:=CreateOleObject(InputBox("OleStr","CreateOleObject","Excel.Application.8")) ;
   try
     wb:=exl.Workbooks.Add(savedialog1.FileName);
     sh:=wb.WorkSheets[1];
   finally
     Exl := Unassigned;
     WB := Unassigned;
     Sh := Unassigned;
   end;
   assignfile(f2,savedialog1.FileName);
   rewrite(f2);
   {for i=1 to m do}
   {begin}
     {текст ячейки (строка i+1, столбец 1):=r[i];}
     {текст ячейки (строка i+1, столбец 2):=s[i];}
   {end;}
   closefile(f2);
 end;
end;

end.

Понимаю всю детскость и нубскость вопроса, но сейчас мне очень надо в этом разобраться... Если запостил не туда, извиняюсь. Заранее благодарен.


 
Германн ©   (2009-10-13 01:49) [1]

А где begin..end; для function CreateOleObject(const ClassName:string):IDispatch;?


 
Германн ©   (2009-10-13 01:50) [2]

Кстати. "Перегоняют" обычно либо нефть, либо ...
:)


 
McSimm ©   (2009-10-13 01:51) [3]

function CreateOleObject(const ClassName:string):IDispatch;
var ...: OleVariant;

procedure TForm1.Button3Click(Sender: TObject);
...

метод класса получился вложен в функцию.
компилятор не ждет точку в описании процедуры внутри функции.


 
Lucia   (2009-10-13 07:01) [4]

А стоит ли писать программу?
Excel отлично понимает формат csv - тобишь формат с разделителями


 
Дениска   (2009-10-14 08:29) [5]

Спасибо, попробую применить! А что должно быть между begin и end?

У меня нету разделителей...


 
Anatoly Podgoretsky ©   (2009-10-14 11:31) [6]


> А что должно быть между begin и end?

Обычно код программы, но может быть и ничего.
Я думаю, что с CreateOleObject ты ошибся или ты реально хочешь написать свою реализацию функции, ну так можешь посмотреть в исходника, что Борланд туда воткнул, я думаю что ничего кроме объявления.



Страницы: 1 вся ветка

Текущий архив: 2009.11.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
1-1225831632
lemur
2008-11-04 23:47
2009.11.29
Поиск слова в RichEdit


8-1199292139
aaaone
2008-01-02 19:42
2009.11.29
полупрозрачные окна. проблема прорисовки контролов.


4-1223675599
Snap
2008-10-11 01:53
2009.11.29
Как узнать и изменить указатель следующей исполняемой инструкции


15-1253984448
@!!ex
2009-09-26 21:00
2009.11.29
Я разобрал ноутбук... как его собрать??


1-1226938293
burbuluc
2008-11-17 19:11
2009.11.29
Как выйти из ступора?