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

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


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

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

DELPHIMASTER.ru

Выпуск от 12.12.03 18:57

Кое-что из нашей кладовки   |x|
  • Получение данных из приложений, использующих консольный вывод ZHK eug_elizarov@mail.ru   (11.12.03 13:49)
    Простенький компонент на основе TThread. Позволяет вызывать программы, исполбзующие консольный вывод. Перехваченный вывод разделяется на два потока: аварийные и рабочие сообщения. И то и другое передается при помощи сообщения объекту, Handle которого передается в конструктор Create. Я написал этот модуль под себя, поэтому здесь реализован алгоритм мне удобный, а именно:
    Основная программа содержит четыре обработчика сообщений с последовательными номерами. Код первого сообщения передается в Create. Краткое писание сообщений - в модуле. Программа внешняя вызывается следующим образом:
    cmd.exe /c <ProcessName, передаваемый в Create> <ACmd из вызова проседуры RunCommand>
    Если Processed=True, то запущенная программа еще выполняется.
    TerminateProc есть смысл вызвать, если Processed=True и выполняемый процесс надо прервать. Есть вопросы - пишите на eug_elizarov@mail.ru отвечу, если смогу. Да и примерчик кину. Кстати, основа модуля лежит на форуме, я чуть-чуть подправил... :-)
    »»» Скачать: исходные тексты (2кб)
  • Моделирование элемента памяти роман roman119@yandex.ru   (12.12.03 18:40)
    Как то я получил задание "Моделирнование элемента памяти" по предмету Систематехника в моем ВУЗе.
    Не зная с чего начать, оставил сообщение на форуме - безрезультатно. Выкладываю готовую прогу. Не ищите ничего супер-пупер навороченного - это только решение полученного задание(моделирование элемента памяти).
    »»» Скачать: исходные тексты (183кб)
  • Новогодняя елка на OpenGL miek miek@narod.ru   (12.12.03 16:15)
    Демка с исходниками. KOL+MCK+KOLOGL12
    »»» Скачать: исходные тексты (17кб) демонстрационный EXE файл (28кб)
  • Sharik kosha80 files32@yandex.ru   (11.12.03 07:59)
    Программа Sharik это клиент к популярным поисковикам.
    Высокая скорость работы объясняется тем, что он не
    загружает картинки, скрипты, рекламу, флэш-ролики,  а
    только результаты поиска.
    Принцип работы - Sharik берет строку поиска,
    введенную пользователем,  обрабатывает ее и посылает
    поочередно всем поисковикам, напротив которых стоит
    галочка. Потом он разлагает ответ поисковика на
    структурные элементы. После этого он составляет свою
    таблицу релевантности, сортирует и добавляет в свой
    браузер.
    Свой механизм кэширования увеличивает скорость
    работы с повторяющимися запросами в несколько раз.

    Исходники компилиться у вас не будут, для них нужны некоторые компоненты, но основную идею вы сможете уловить. Рекомендую скачивать EXEшник.

    Буду благодарен за дельные замечания и помощь.
    PS. В Форум программы не пишите (там встроеный есть), пишите сюда или стучите мне на ICQ 150152796
    »»» Скачать: исходные тексты (62кб) демонстрационный EXE файл (557кб) посмотреть скриншот
  • Image Moder v.0.6 beta Михааааааааааааа grei@balabanovo.ru   (12.12.03 13:22)
    Два новых эффекта! Поддержка двух языков. Много нового. Теперь размер проги не 1mb, а 200kb.
    »»» Скачать: исходные тексты (174кб)
Лучшее из нашего 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: TForm1;

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|
Что в версии тебе моей...
Признайтесь, у каждого из нас когда-либо возникало желание вывести в своей программе информацию о версии файла. Неважно, в заголовок ли окна, или в файл журнала. Некоторые просто пишут версию вручную, а некоторые используют встроенную в файлы формата PE возможность заполнять блок информации о версии файла. Я расскажу о втором способе.
Новинки книжного рынка   |x|
OpenGL. Программирование компьютерной графики
Эта книга — введение в мир программирования компьютерной графики. Графические системы становятся лучше, быстрее и дешевле. Каждый год изобретается множество новых технических приемов, однако основные принципы и подходы к программированию по-прежнему остаются неизменными. Автор написал в высшей степени практичный и доступный для восприятия текст, отличающийся основательным и интегрированным подходом. Понятия тщательно определены; их математические основы разъяснены, доказана важность каждого рассмотренного понятия. Книга показывает читателю, как переводить математические представления в программный код, и демонстрирует результат. Предлагаемое новое издание предоставляет самую современную информацию в области компьютерной графики.
Автор: Хилл Ф.
Наши друзья   |x|
Сертификация специалистов
∙ Как устроиться на высокооплачиваемую работу?
  Как получить прибавку к зарплате?
  Как завоевать уважение коллег?
∙ Пройти сертификацию и продемонстрировать свой профессионализм. Подробнее…
Другие сайты о DELPHI   |x|
Мир Делфинов
Сайт посвящен программированию на Делфи, содержит в себе громадное колличество информации(исходники, книги, статьи, FAQ) Имеет форум, где можно задать вопрос и получить ответ на него, Chat, где можно ...

» Оценка сайта: 2
Опрос населения :)
Как часто вы заглядываете на наш сайт?
»»» Регулярно
»»» Раз в неделю
»»» Когда нужна помощь
»»» По почтовой рассылке
»»» Сделал стартовой страницей
Для души

Хокку дня
Знать неспроста
Повешен на ручку двери
Левый носок...

Афоризмы
Самая гнусная из неблагодарностей - это неблагодарность детей к родителям...

Фраза дня
В юности кажется, что счастье будет; в старости - что оно было

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

И на закуску коротенький анекдот
Жена мужу:
- Вынеси ведро!
- Ну вот, только присел!
- Бедненький! А что ты до этого делал?
- Лежал.

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


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

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


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

В избранное