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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2009, 17:26   #1
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию Delphi+Excel ошибка в коде

Привествтую всех. Пожалуйста подскажите где я допустил ошибку в коде.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
XL: variant;
i: integer;
from, towhere,name,scrdir:string;
begin
from:='D:\work\Kiver\gamefiles\';
towhere:='D:\work\Kiver\FILES\';
scrdir:='D:\work\Kiver\images\';
i:=2;
opendialog1.execute;
name:=opendialog1.FileName;
  try
  XL:= CreateOLEObject('Excel.Application');
  XL.visible:=false;

  repeat
    copyfile(pchar(from+string(XL.cells[i,2].value)+'.jar'),pchar(towhere+string(XL.cells[i,1].value)+'\'+string(XL.cells[2,3].value)+'_'+string(XL.cells[i,1].value)+'.JAR'),true); // на эту часть ругается компилятор
    copyfile(pchar(from+string(XL.cells[i,2].value)+'.jad'),pchar(towhere+string(XL.cells[i,1].value)+'\'+string(XL.cells[2,3].value)+'_'+string(XL.cells[i,1].value)+'.JAD'),true);
    copyfile(pchar(scrdir+string(XL.cells[i,4].value)+'\'+'ICO.GIF'),pchar(towhere+string(XL.cells[i,1].value)+'\ICO.GIF'),true);
    copyfile(pchar(scrdir+string(XL.cells[i,4].value)+'\'+'SPLASH.GIF'),pchar(towhere+string(XL.cells[i,1].value)+'\SPLASH.GIF'),true);
    copyfile(pchar(scrdir+string(XL.cells[i,4].value)+'\'+'INGAME.GIF'),pchar(towhere+string(XL.cells[i,1].value)+'\INGAME.GIF'),true);
    copyfile(pchar(scrdir+string(XL.cells[i,4].value)+'\'+'BANNER.GIF'),pchar(towhere+string(XL.cells[i,1].value)+'\BANNER.GIF'),true);
    copyfile(pchar(scrdir+string(XL.cells[i,4].value)+'\'+'ANI.GIF'),pchar(towhere+string(XL.cells[i,1].value)+'\ANI.GIF'),true);
    inc(i);
  until XL.cells[i,2].value = '';


  finally
  XL.Quit;
  end;
end;

Ругается именно при исполнении кода, при компиляции всё вроде нормально

Последний раз редактировалось Tirendus; 28.08.2009 в 17:33.
Tirendus вне форума Ответить с цитированием
Старый 28.08.2009, 19:48   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
value)+'.JAR'),true); // на эту часть ругается компилятор
так кто всё таки ругается? Компилятор? или Ваша программа при выполнении?

думаю, что проблема в исходных данных. Ну, например, какая-то ячейка в Excel файле пустая.. или там не текст...
короче, Вам прямой путь в пошаговую отладку!
или выкладывайте xls файл, на котором программа срубается, будем смотреть...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.08.2009, 20:39   #3
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

1) ну и хороший стиль когда
не так
Код:
opendialog1.execute;
а так
Код:
if opendialog1.execute then 
begin
....

end;
2) и для всех этих действий в принципе можно написать одну функу
soleil@mmc вне форума Ответить с цитированием
Старый 29.08.2009, 18:22   #4
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

soleil@mmc
да, спасибо, стиль кода мне сейчас больше всего нужен, я как раз ради стиля кода создавал эту тему, огромное спасибо.

Serge_Bliznykov
Ругается программа, в процессе выполнения, а в экселе все ячейки заполнены правильно, проверял и перепроверял.
Tirendus вне форума Ответить с цитированием
Старый 29.08.2009, 18:47   #5
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от Tirendus Посмотреть сообщение
Ругается программа, в процессе выполнения, а в экселе все ячейки заполнены правильно, проверял и перепроверял.
вот у меня собака и она тоже ругается, но обычно сразу ясно на что или на кого
так что текст ошибки в студию (а лучше скрин)
soleil@mmc вне форума Ответить с цитированием
Старый 31.08.2009, 10:47   #6
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Спасибо за содействие, нашел в чем проблема. Нехватало этой сооовсем малонужной вещи. :-)

Код:
XL.workbooks.add
Tirendus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в коде Revival001 PHP 11 12.07.2009 19:25
Excel+ Delphi ошибка типов данных Tanuska___:) БД в Delphi 8 28.01.2009 18:04
Ошибка в коде hacknet Компоненты Delphi 12 07.12.2008 14:23
Ошибка в коде nikleb Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 10.03.2008 22:48