Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Мастера DELPHI. Новости мира компонент, FAQ, статьи...


Информационный Канал Subscribe.Ru

Ежедневная рассылка сайта Мастера DELPHI

DELPHI.mastak.ru

Выпуск от 14.09.02 09:04

Кое-что из нашей кладовки   |x|
  • WinAmp Control v2.0 Поляков В.В.   (12.09.02 10:54)
    Программа для упраления WinAmp'ом с клавиатуры. Писалась по заказу корешка, которому хотелось приспособить пульт от Abit'овской звуковухи к WinAmp'у, поэтому умеет настраиваться под конкретные комбинации клавиш.
    »»» Скачать: исходные тексты (44кб) посмотреть скриншот
  • Слежка за юзером ¤ZDima¤   (13.09.02 22:10)
    Писал от нечего делать, вообщем она показывает когда какими прогами человек сидящий за компом пользовался, в ней нет смысла, но если подправить, то появиться...
    »»» Скачать: исходные тексты (6кб)
Лучшее из нашего FAQ   |x|
Скорость работы процессора, точный таймер
Данная тема уже обсуждалась, но у меня есть своя реализация сабжа. Начиная с Pentium MMX, Intel ввели в процессор счетчик тактов на 64 бита (Присутствуэт точно и в К6). Для того чтобы посотреть на его содержание, была введена команда "rdtsc" (подробное описание в интеловской мануале). Эту возможность можно использовать для реализации сабжа.
Посоку Делфя не вкурсе насчет rdtsc, то пришлось юзать опкод (0F31).
Привожу простенький примерчик юзания, Вы уж извините - немножко кривоват получился, да и ошибка компалера какая-то вылезла :( (V4 Bld5.104 Upd 2). Кому интересно, поделитесь своими соображениями по этому поводу. Особенно интерисует работа в режиме когда меняется частота процессора (Duty Cycle, StandBy).

Проверялось под еНТями на Пне 2 333.

// (C) 1999 ISV
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,
StdCtrls, Buttons, ExtCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Timer1: TTimer;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
Button2: TButton;
Label4: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Counter:integer; //Счетчик срабатывания таймера
Start:int64; //Начало роботы
Previous:int64; //Предыдущее значение
PStart,PStop:int64; //Для примера выч. времени
CurRate:integer; //Текущая частота проца
function GetCPUClick:int64;
function GetTime(Start,Stop:int64):double;
end;

var
Form1: TFor! m1;

implementation

{$R *.DFM}
// Функция работает на пнях ММХ или выше а
// также проверялась на К6
function TForm1.GetCPUClick:int64;
begin
asm
db 0fh,31h // Опкод для команды rdtsc
mov dword ptr result,eax
mov dword ptr result[4],edx
end;
// Не смешно :(. Без ?той штуки
// Компайлер выдает Internal error C1079
Result:=Result;
end;

// Время в секундах между старт и стоп
function TForm1.GetTime(Start,Stop:int64):double;
begin
try
result:=(Stop-Start)/CurRate
except
result:=0;
end;
end;

// Обработчик таймера считает текущую частоту, выводит ее, а также
// усредненную частоту, текущий такт с момента старта процессора.
// При постоянной частоте процессора желательно интервал брать
побольше
// 1-5с для точного! прощета частоты процессора.
procedure TForm1.Timer1Timer(Sender: TObject);
var
i:int64;
begin
i:=GetCPUClick;
if Counter=0
then Start:=i
else begin
Label2.Caption:=Format('Частота общая:
%2f',[(i-Start)/(Counter*Timer1.Interval*1000)]);
Label3.Caption:=Format('Частота текущая:
%2f',[(i-Previous)/(Timer1.Interval*1000)]);
CurRate:=Round(((i-Previous)*1000)/(Timer1.Interval));
end;
Label1.Caption:='Такты: '+IntToStr(i);
Previous:=i;
Inc(Counter);
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
Counter:=0;
end;

// Заносим стартовое время для примера
procedure TForm1.Button1Click(Sender: TObject);
begin
PStart:=GetCPUClick;
end;

// Останавливаем отсчет времени и показуем соко
// прошло секундprocedure TForm1.Button2Click(Sender: TObject);
begin
PStop:=GetCPUClick;
Label4.Caption:=Format('Время между нажатиями:
%gсек',[GetTime(PStart,PStop)])
end;

end.

»»» Прислать свои комментарии

Обсуждается в конференциях   |x|
У нас большой выбор статей   |x|
Midas и COM. Советы и Приемы
Статья показывает, как писать приложения, использующие несколько модулей, которые связываются через COM и совместно используют Midas сервер. Освещаются вопросы перемещения файлов, массивов и других структур данных c использованием COM.
Новинки книжного рынка   |x|
Самоучитель Kylix
Книга посвящена новому продукту фирмы Borland - объектно-ориентированной среде для быстрой разработки приложений под Linux. Рассматривается версия Kylix 1.0 Server Developer.
Приводятся приемы работы с графическими компонентами, принципы создания приложений баз данных и собственных компонентов.
Дается краткое описание языка программирования Object Pascal. Последняя часть книги посвящена проблеме создания межплатформенных приложений, которые работают как в среде Linux, так и в Windows.
Изложение сопровождается многочисленными примерами и фрагментами кода.Для программистов

Автор: Понамарев В.
Другие сайты о DELPHI   |x|
vtkTools company
Библиотеки для Delphi и CBuilder
PReport - генератор отчетов
vtkExport - прямой экспорт в XLS и HTML

» Оценка сайта: 3
Опрос населения :)
Стоит ли устраивать встречи программистов в реале? (пирушки :)
»»» Обязательно!
»»» Иногда можно
»»» Я туда не пойду
»»» Категорически нет
Журнал "RSDN Magazine"  |x|

Дорогие друзья! Мы рады представить вам новый совместный проект сайтов www.rsdn.ru, delphi.mastak.ru и www.optim.ru - профессиональный журнал для программистов RSDN Magazine.
Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
На сайте выложен анонс пилотного выпуска журнала, вступительное слово от редакции.

Для души

Хокку дня
Квашеной редьки отведав
Вышел пройтись самурай
И запор излечил в одночасье...

Афоризмы
Опыт сильнее логики...

Фраза дня
.. И на обломках InterNet"a напишут наши имена...

Дурацкие законы (информация предоставлена сайтом kurilka.com)
В штате Нью Йорк (США) вам грозит штраф в 25 долларов, если вы на улице будете засматриваться на женщин. Закон особенно строг по отношению к тем, кто оборачивается вслед проходящим дамам. Мужчинам, которые были пойманы на этом дважды, предписывается надевать лошадиные шоры.
В Северной Каролине (США) запрещается использовать слонов для вспашки полей.

И на закуску коротенький анекдот
Работа программиста и шамана имеет много общего - оба бормочут непонятные слова, совершают непонятные действия и не могут объяснить, как это работает.

Фотоприколы.
Начните день с хорошего настроения!
http://delphi.mastak.ru/cgi-bin/prikol.pl?id=98765


На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (delphi@mastak.com)

Добро пожаловать на сайт -= Мастера DELPHI =- 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное