![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Привет, всем!
Вот нашел у вас на сайте КОД программы. Хотел скомпилировать ее с помощью Free Pascal, но столкнулся с ошибкой: >>ИЗОБРАЖЕНИЕ<< Что это может быть и как исправить? Заранее спасибо!!! Последний раз редактировалось Danik007, 23.01.2010 в 16:17. |
|
#2
|
||||
|
||||
|
Нет у меня FreeePascal, но предположу, что:
Данный пример был сделан в Дельфи. Попробуйте убрать директиву: {$APPTYPE CONSOLE} |
|
#3
|
||||
|
||||
|
Хотя скорее всего пробема в том, что у вас образовался разрыв в 21 строке.
|
|
#5
|
||||
|
||||
|
Попробуйте убрать приведение строк к PChar().
|
|
#6
|
||||
|
||||
|
Вы предлогаете сделать так:
Код:
program BackTime;
uses ShellApi,Windows,SysUtils;
var Today:TDateTime;
bkTime, bkProgram: String;
Interval, j: SmallInt;
begin
Today:=Date; // фиксируем реальную дату
if ParamCount<>3
then
begin // если параметры не заданы то печатаем подсказку
WriteLn(output,'BackTime (c)DSKalugin@rambler.ru');
WriteLn(output,'---------------------');
WriteLn(output,'BackTime.exe T I P');
WriteLn(output,'T - Date;');
WriteLn(output,'I - Interval, [sec];');
WriteLn(output,'P - Program');
WriteLn(output,'---------------------');
WriteLn(output,'Example:');
WriteLn(output,'BackTime.exe 04.01.2000 15 "C:\Program Files\program.exe"');
end
else
begin
// 1й параметр - дата
bkTime:=ParamStr(1);
// 2й параметр - интервал в секундах
Interval:=StrToInt(ParamStr(2));
// 3й параметр - полный путь к программе
bkProgram:=ParamStr(3);
// установка необходимой даты
WinExec('cmd /c date '+bkTime, SW_HIDE);
// запуск программы
ShellExecute(0, 'open', bkProgram, nil, nil, SW_SHOW);
j:=0;
while j<Interval do
begin // задержка в секундах
sleep(1000);
inc(j);
end;
// восстанавливаем реальную дату
WinExec('cmd /c date '+DateToStr(Today), SW_HIDE);
end
end. Я не понимаю почему она не работает, FreeePascal поддерживает тип PChar от этом свидетельствует СТРАНИЧКА на их сайте. |
|
#7
|
|||
|
|||
|
Может и поддержтвает, но не может автоматически конвертировать "короткую" строку в этот тип. Посмотри по справке функцию конвертации...
|
|
#8
|
||||
|
||||
|
2 lmikle
Спасибо за подсказку! Ответ был найден здесь. В начало кода надо было просто добавить {$H+} и он начал компилироваться!!! Теперь есть другой вопрос (дабы не создавать новой темы) как вытащит компилятор и нужные библиотеки из FreeePascal. Последний раз редактировалось Danik007, 23.01.2010 в 21:41. |
|
#9
|
|||
|
|||
|
А зачем??? возьми любой компонент с pascal-скриптом.
|
|
#10
|
||||
|
||||
|
Просто в своем проекте я использую компилятор (и пока что от DELPHI) и мне не хотелось бы нарушать права, а для этого мне нужен FreeePascal.
Цитата:
Как это понять? Вы имеете ввиду компонент для VCL в DELPHI? Но тогда мне нужен компонент не с Pascal скриптом, а что-то по-мощнее, так как Pascal не работает с библиотеками ShellApi,Windows,SysUtils. ![]() |
|
#11
|
|||
|
|||
|
Все работает.
Посмотри FastScript, кстати, его даже устанавливать не надо. А то, чего там не хватает - легко туда добавляется. |
|
#12
|
||||
|
||||
|
FastScript - платный, и если честно я даже не знаю как им пользоваться и поможет ли он в решении моих задач. Может вы знаете какую-то бесплатную альтернативу (или где можно взять вылеченный FastScript)
.P.S. На форуме есть понятие репутации, но нету "+" с помощью которых ее можно подымать или я что-то проглядел? Последний раз редактировалось Danik007, 24.01.2010 в 12:40. |
|
#13
|
||||
|
||||
|
Весы справа у отвечающего видите?
|
|
#14
|
|||
|
|||
|
Вообще-то, найти исходники при известном упорстве не составляет сложности. Еще неплохой подобный компонент был в пакете RALib.
А вообще, порой на torry.ru - там много чего интересного... |