Форум программистов, компьютерный форум, киберфорум
Наши страницы

Задержка в микроседундах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция-аналог Readkey в С# http://www.cyberforum.ru/cpp-beginners/thread20931.html
Помогите, пожалуйста: мне нужно, чтобы после вывода результатов программы в консоль, консоль не закрывалась. В C#, я знаю, пишется Console.Readkey(); а в C++ как?
C++ Как выбирать последовательности, удовлетворяющие определенным условиям? Подскажите, пожалуйста, как вот этот кусочек (в приложении) запрограммировать - очень сильно туплю... забыла написать, что r=143, l=638 чуть измененное вложение. http://www.cyberforum.ru/cpp-beginners/thread20925.html
Программа с рекурсией C++
Может не совсем по адресу. Но есть у меня одна проблема. Никак не могу сделать эту лабу. Может кто помочь? В общем нужно следующее. На Си написать программу, которая бы в массиве чисел из...
Найти все простые натуральные числа, двоичная запись которых представляет собой палиндром C++
Найти все простые натуральные числа, не превосходящие n, двоичная запись которых представляет собой палиндром, т.е. читается одинаково слева направо и справа налево.
C++ Найти максимальный по модулю элемент матрицы http://www.cyberforum.ru/cpp-beginners/thread20892.html
Задана матрица размером п х т. Найти максимальный по модулю элемент матрицы. Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент был расположен на пересечении k-й...
C++ Найти все числа Армстронга от 1 до к 1)Определить, делителем каких чисел а, в, с является число к. 2)Составить программу, которая печатает таблицу умножения натуральных чисел в десятичной системе счисления. 3)Упорядочить по... подробнее

Показать сообщение отдельно
Scout
0 / 0 / 0
Регистрация: 22.01.2009
Сообщений: 6
17.02.2009, 12:52
вот тут походая тема разбирается, правда на дельфи.

[ Системный таймер и частота процессора"] [/URL]

Добавлено через 30 минут 34 секунды
... правда сам я оттуда мало что понял. .... нужно, похоже, осваивать альтернативные языки програмирования.
хотя алгаритм понятен, но вот потоки....

Добавлено через 23 часа 5 минут 50 секунд
Цитата Сообщение от Hansik Посмотреть сообщение
Тоже столснулся с рпоблемой таймера, правда на VB... Можно узнать хотя бы результаты теста?
почитай мои сообщения в ветке таймер под VB там всё, что мне удалось нарыть и примеры и источники в архиве. Ensase, правда предлагает намного лучий вариант. но вот как использовать его в VB? я как начинающий не понял суть калибровки, не смог организовать потоки, плюс там приходится используя ф-цию апи - преобразовывать тип данных в пользовательский, понятный для VB, а это лишняя трата времени.

может, кто в дельфе сечёт сможет скомпилировать осх-файл под дельфи из [ Системный таймер и частота процессора"]

... по аналогии с vb вроде когда класс готов - всего-то нужно нажать <Создать ActiveX> и скопировать туда класс, да присоединить иконку. вроде как всё.

Добавлено через 13 минут 36 секунд
вот читата оттуда:
последний рывок.. функции разобраны, отлажены. сделан вариант через поток, все оформено в компоненту.. дело за малым: нужно сделать редактор потоков через TCollection, чтобы каждому потоку задавались свои параметры. никогда с таким не работала, не совсем представляю как это выглядит (т.е как выглядить знаю, как это туда запихнуть не совсем понятно))

Код
unit TimeDelayManager; 

interface 

uses Windows, Forms, Classes; 

type 
  TTimeDelayManager = class; 

  TTimerThread = class(TThread) 
  private 
    FOwner: TTimeDelayManager; 
  protected 
    procedure DoUserEvent; 
  public 
    constructor Create(CreateSuspended: Boolean; AOwner: TTimeDelayManager); 
  protected 
    procedure Execute; override; 
  end; 

  TTimeDelayManager = class(TComponent) 
  private 
    FHardTime: Boolean; 
    FDelay: LongWord; 
    FTimerThread: TTimerThread; 
    FOnTimer: TNotifyEvent; 
    procedure WaitPlease; 
  public 
    constructor Create(AOwner: TComponent); override; 
    procedure Start; 
    procedure StartAsThread; 
  published 
    property Delay: LongWord read FDelay write FDelay; 
    property HardTime: Boolean read FHardTime write FHardTime; 
    property OnTimer: TNotifyEvent read FOnTimer write FOnTimer; 
  end; 

procedure Register; 

implementation 

procedure Register; 
begin 
  RegisterComponents('Samples', [TTimeDelayManager]); 
end; 

{ TTimeDelayManager } 

constructor TTimeDelayManager.Create(AOwner: TComponent); 
begin 
  inherited Create(AOwner); 
  FDelay := 1000; 
  FHardTime := False; 
end; 

procedure TTimeDelayManager.WaitPlease; 
var 
  Frequency, EndTime, CurrentTime, WaitTime: Int64; 
begin 
  QueryPerformanceFrequency(Frequency); 
  WaitTime := Trunc((Frequency / 1000) * FDelay); 
  QueryPerformanceCounter(EndTime); 
  EndTime := EndTime + WaitTime; 
  repeat 
    if not FHardTime then 
      Application.ProcessMessages; 
    QueryPerformanceCounter(CurrentTime) 
  until (CurrentTime >= EndTime); 
end; 

procedure TTimeDelayManager.Start; 
begin 
  WaitPlease; 
  if Assigned(FOnTimer) then 
    FOnTimer(Self); 
end; 

procedure TTimeDelayManager.StartAsThread; 
begin 
  TTimerThread.Create(False, Self); 
end; 

{ TTimerThread } 

constructor TTimerThread.Create(CreateSuspended: Boolean; AOwner: TTimeDelayManager); 
begin 
  inherited Create(CreateSuspended); 
  FOwner := AOwner; 
end; 

procedure TTimerThread.Execute; 
begin 
  FOwner.WaitPlease; 
  Synchronize(DoUserEvent); 
end; 

procedure TTimerThread.DoUserEvent; 
begin 
  if Assigned(FOwner.FOnTimer) then 
    FOwner.FOnTimer(FOwner); 
end; 

end.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru