Текущий архив: 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.46 MB
Время: 0.004 c