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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2010, 19:04   #1
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию missing operator or semicolon - Как получить секунды [Delphi]

Решил перевести милисекунды в секунды, но появилась ошибка с которой столкнулся впервые
Код:
type
  BOT = class(TThread)
    FUrl: String;
  private
    FHTTP: TIdHTTP;
  zz: Integer;
  protected
    public
    h: Integer;
    procedure DoAnything;
  end;

function msectosec(msec) : integer;
begin
msectosec := Trunc(msec/1000);
end;

function SetTimeOutJS(Str: String): Integer;
var
  I: Integer;
  S: String;
begin
  S := '")'',';
  I := Pos(S, Str);
  if I > 0 then
  begin
    S := Copy(Str, I + Length(S), Length(Str));
    I := Pos(')', S);
    if I > 0 then
    begin
      S := Trim(Copy(S, 1, I - 1));
      I := StrToIntDef(S, -1);
      if I > 0 then
        Result := I
      else
        Result := 0;
    end;
  end;
end;

procedure BOT.Execute;
var 
Otvet1: String;
  secundiy: Integer;
  begin
      Otvet1 := FHTTP.get('http://' + FUrl + Ur);
      h := SetTimeOutJS(Otvet1);
      zz := secundiy(h);//тут вылетает missing operator or semicolon  
end;
bulldog5293 вне форума Ответить с цитированием
Старый 09.12.2010, 20:37   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Что-то не понятно, что это такое:

Код:
zz := secundiy(h);//тут вылетает missing operator or semicolon
а само secundiy описано как: var secundiy: Integer;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.12.2010, 21:31   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
var
Otvet1: String; secundiy: Integer;
Цитата:
Код:
zz := secundiy(h);//
Переменная целого типа? Какие круглые скобки? Что это за абракадабра?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.12.2010, 22:03   #4
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Цитата:
Что-то не понятно, что это такое:
Код:
zz := secundiy(h);//тут вылетает missing operator or semicolon
Я думал что так получится милисекунды в секунды перевести
Цитата:
а само secundiy описано как: var secundiy: Integer;
а как его ещё описывать?

Цитата:
Переменная целого типа? Какие круглые скобки? Что это за абракадабра?!
целого
Цитата:
Какие круглые скобки?
А толку что с круглыми что без

Последний раз редактировалось Stilet; 10.12.2010 в 09:56.
bulldog5293 вне форума Ответить с цитированием
Старый 09.12.2010, 23:34   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Книжку в руки возьмите - и всего делов-то.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 10.12.2010, 08:57   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
А толку что с круглыми что без
это точно!
Когда не понимаешь, что делаешь, тут уж точно - толку нет..

ЧТО за целое число находится в h
(для отладки и понимания Выведите его значение после присвоения,
например, через ShowMessage(' h = '+IntToStr(h)); )

ЧТО Вы хотите сделать с этим числом, чтобы получить число в переменной ZZ?

приведите ответ с КОНКРЕТНЫМИ числами.
Тогда получите КОНКРЕТНЫЙ ответ.


успехов в учёбе.



___
тема явно учебная. переношу из раздела Delphi в раздел "Помощь студентам"
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.12.2010, 12:39   #7
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
Zz:=h*1000;
переведет секунды h в миллисекунды zz
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 10.12.2010 в 12:42.
Mad_Cat вне форума Ответить с цитированием
Старый 10.12.2010, 13:24   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Код:
Zz:=h*1000;
переведет секунды h в миллисекунды zz
не переведёт.
Обратите на тип данных h
Это целое число.
значит, скорее всего, там находится целое число миллисекунд.
ну-ка, например, 2350 миллисекунд по какой формуле можно перевести в секунды?...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.12.2010, 16:30   #9
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
не переведёт.
с чего бы это?
1 Сек=1000 мСек==> h Сек =h*1000 мСек
Цитата:
ну-ка,
не запрягали(

2bulldog5293
напиши
Код:
zz:=h div 1000;
- это переведет h миллисекунд в zz секунд
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибкa "missing operator or semicolon" Дим@@ Помощь студентам 3 11.11.2010 15:14
ошибка: no match for ‘operator<<’ in ‘std::operator<< [with _Traits = std::char_traits<char> Critter Общие вопросы C/C++ 5 08.08.2010 23:38
как задать интервал таймера меньше секунды Marsel737 Общие вопросы Delphi 3 19.03.2010 14:37
Как перевести тики процессора (getTickCount) в секунды? TwiX Общие вопросы Delphi 6 12.11.2009 22:38
Как в delphi начать проигрывание видеофайла скажем с 10-ой секунды...? big_big Мультимедиа в Delphi 0 05.08.2009 11:45