Русский > Разработчикам

Разработка скриптов (вопросы)

<< < (4/35) > >>

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('&#8364;', s) > 0 then
  delete(s, 1, 7);
 if pos('&#165;', 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; //Квадратные скобки

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии