Русский > Разработчикам
Разработка скриптов (вопросы)
djek-ural:
Я уже поднимал тему возможности добавления нескольки файлов к 1 фильму , что если сделать проше , можно ли сделать скрипт который бы работал как сканер файлов но заполнял пользовательские поля , и еще сколько максимум пользовательских полей можно добавить в новой ветке 0.9.9.x
djek-ural:
Вопрос к Ностра , такой связанный с модификацией скрипта от NewSky ;
вылезает сообшение в логе
06.01.2009 17:44:55: Could not compile script: kino.psf
[Hint] (664:10): Variable 'Result' never used
[Error] (688:9): Syntax error
[Error] (688:9): Syntax error
на строке под номером 688 , записано следуюшее
pri := `` ;
переменная типа WideString
У меня есть описание ошибок для Турбо Паскаля , но там номера этой ошибки нет
Добавил:
С ней вроде бы разобрался , удалил эту строку , вылезает следуюшая
06.01.2009 19:57:18: Could not compile script: kino.psf
[Hint] (664:10): Variable 'Result' never used
[Error] (715:13): Type mismatch
копия 715 строки
pri := Tmp(i) ;
соблюдена полная орфография
nostra:
Что это за ф-ция такая Tmp() ??? Если pri - WideString, то ф-ция Tmp должна возвращать WideString, чего она очевидно не делает...
djek-ural:
Привожу пример части программы , что бы разобраться можно было , а также еще одну подпрограмму которая используется:
Для справки моя подпрограмма берет значение длительности в строковом типе , формата " 96 мин" , преобразует его в цифры , вычисляет часы и минуты , и переводит обратно в строковый формат "01:36:00" , подпрограмма вся написана , но не проходит стадию компиляции...
// Удаляет из строки все, что не является цифрой
function CheckNum(s: widestring): widestring;
var
st: widestring;
i: integer;
begin
if pos('€', s) > 0 then
delete(s, 1, 7);
if pos('¥', s) > 0 then
delete(s, 1, 6);
for i := 1 to length(s) do
if (s >= '0') and (s <= '9') then
st := st + s;
result := st;
end;
function CorrectTime ( Tmp : WideString ) : WideString ;
Var
stime , pri : WideString;
prim : Char;
i , tm , hour , min , data : Integer;
raz1 , raz2 , raz3 : Boolean ;
begin
i := 0 ;
tm := 0 ;
hour := 0 ;
min := 0 ;
raz1 := False ;
raz2 := False ;
raz3 := False ;
Tmp := CheckNum (Tmp);
if length(Tmp) = 3 then
begin
raz1 := True ;
raz2 := True ;
raz3 := True ;
end ;
if length(Tmp) = 2 then
begin
raz2 := True ;
raz3 := True ;
end ;
if length(Tmp) = 1 then
begin
raz3 := True ;
end ;
begin
for i := 1 to length(Tmp) do
if raz1 then
begin
prim := Tmp(i) ;
case prim of
`0`: tm := tm + 0 ;
`1`: tm := tm + 1*100 ;
nostra:
prim имеет тип Char, значит в выделенной строчке вероятно должно быть:
prim := Tmp; //Квадратные скобки
Навигация
Перейти к полной версии