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

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


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

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

DELPHIMASTER.ru

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

Кое-что из нашей кладовки   |x|
  • Будильник v 1.2 i-s-v i-s-v@list.ru   (03.08.03 02:11)
    Еще один будильник
    - работа с потоками (звуки системного динамика не подтормаживают систему)
    - изменились часы
    - улучшился дизайн
    - и т.д. и т.п.
    Будут замечания, советы и т.д. - мыльте.
    »»» Скачать: исходные тексты демонстрационный EXE файл посмотреть скриншот
  • xTrayIcon M_A_R_T m_a_r_t@mail.ru   (03.08.03 00:44)
    Предназначен для работы с пиктограммой индикаторной
    области панели задач. Другими словами помещает иконку в Tray.

    Свойства:

    Active - если установлен true тогда компонент появляется в Tray, если False - удаляется из Tray;
    Hint - Текст подсказки, появляется при наведении курсора на иконку;
    Icon - Собственно сама иконка;
    PopupMenu - выпадающее меню, появляется при нажатии правой кнопкой мыши по иконке.

    События:

    OnClick - при клике на иконке (левой кнопкой мыши);
    OnDblClick - двойной клик.
    »»» Скачать: исходные тексты (3кб)
  • DFDR 1.0 aga vlader2002@mail.ru   (03.08.03 08:52)
    Программа для чтения дайджестов форума Мастеров Делфи. Сохраняет стандартный стиль страниц(кнопки перехода, отделение топиков и т.д.). Есть возможность написания плагинов для...
    »»» Скачать: исходные тексты (604кб)
  • Будильник v 1.2 i-s-v i-s-v@list.ru   (03.08.03 02:22)
    Еще один Будильник
    - работа с потоками (звуки динамика не тормозят систему)
    - улучшился дизайн
    - улучшились часы
    - и т.д. и т.п.
    Будут замучания, советы и т.д. - мыльте
    »»» Скачать: исходные тексты демонстрационный EXE файл посмотреть скриншот
Лучшее из нашего 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|
Повторное использование форм в Delphi
Каждый раз, приступая к разработке нового проекта, я ловлю себя на мысли, что когда-то я уже делал подобные формы. Поэтому я решил поделиться несколькими мыслями о повторном использовании форм в Delphi. Я не претендую на авторство описанных ниже методов, однако я еще не встречал статьи, где данный вопрос был освещен достаточно полно...
Новинки книжного рынка   |x|
Windows для профессионалов. Создание эффективных Win32-пpилoжeний с учетом специфики 64-разрядной версии Windows (+ CD-ROM)
Это издание — практически новая книга, посвященная программированию серьезных приложений на Microsoft Visual C++ в операционных системах Windows 2000 (32- и 64-разрядных версиях) и Windows 98 с использованием функций Windows API. Состоит из 27 глав, двух приложений и предметного указателя. Гораздо глубже, чем в предыдущих изданиях рассматриваются такие темы, как взаимодействие с операционной системой библиотеки C/C++, программирование DLL и оптимизация кода, описываются новые механизмы и функции, появившиеся в Windows 2000, и приводится информация, специфическая для 64-разрядной Windows 2000. В этом издании автор, перейдя с языка C на C++, переработал все программы-примеры и представил ряд новых приложений, например ProcessInfo и LISWatch. Также появились совершенно новые материалы: выравнивание данных, привязка потоков к процессорам, кэш-линии процессоров, архитектура NUMA, перехват API-вызовов и др. Книга предназначена профессиональным программистам, ! владеющим языком C/C++ и имеющим опыт разработки Windows-приложений. Прилагаемый компакт-диск содержит все программы из книги (исходный код и исполняемые файлы для процессоров x86, IA-64 и Alpha).
Автор: Джеффри Рихтер
Другие сайты о DELPHI   |x|
Novarm Development Center
Программные продукты с Delphi исходниками, форумы для программеров и юзеров. Каталог программного обеспечения с системой получения полной статистики загрузок по сайтам и странам.

» Оценка сайта: 2
Опрос населения :)
Образование программиста?
»»» Высшее
»»» Незаконченное высшее
»»» Среднее специальное
»»» Среднее
Для души

Хокку дня
Молодой петушок
Кукарекнул во сне с перепугу -
Бульонный кубик приснился...

Афоризмы
Конвейер изобрёл Гильотин, Генри Форд - лишь усовершенствовал изобретение.

Фраза дня
Душа просит ананасов в шампанском, организм требует водки!

Дурацкие законы (информация предоставлена сайтом kurilka.com)
В городе Пуебло одуванчики считаются запретным растением.
В Клинтон Каунти в Огайо под угрозой штрафа запрещается прислоняться к стенам зданий общественных учреждений.

И на закуску коротенький анекдот
Катались на лифте по ночному городу.

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


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

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


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

В избранное