Еще один будильник - работа с потоками (звуки системного динамика не подтормаживают систему) - изменились часы - улучшился дизайн - и т.д. и т.п. Будут замечания, советы и т.д. - мыльте.
»»» Скачать: исходные текстыдемонстрационный EXE файлпосмотреть скриншот
Предназначен для работы с пиктограммой индикаторной области панели задач. Другими словами помещает иконку в Tray.
Свойства:
Active - если установлен true тогда компонент появляется в Tray, если False - удаляется из Tray; Hint - Текст подсказки, появляется при наведении курсора на иконку; Icon - Собственно сама иконка; PopupMenu - выпадающее меню, появляется при нажатии правой кнопкой мыши по иконке.
События:
OnClick - при клике на иконке (левой кнопкой мыши); OnDblClick - двойной клик.
»»» Скачать: исходные тексты (3кб)
Программа для чтения дайджестов форума Мастеров Делфи. Сохраняет стандартный стиль страниц(кнопки перехода, отделение топиков и т.д.). Есть возможность написания плагинов для...
»»» Скачать: исходные тексты (604кб)
Еще один Будильник - работа с потоками (звуки динамика не тормозят систему) - улучшился дизайн - улучшились часы - и т.д. и т.п. Будут замучания, советы и т.д. - мыльте
»»» Скачать: исходные текстыдемонстрационный EXE файлпосмотреть скриншот
Скорость работы процессора, точный таймер
Данная тема уже обсуждалась, но у меня есть своя реализация сабжа. Начиная с Pentium MMX, Intel ввели в процессор счетчик тактов на 64 бита (Присутствуэт точно и в К6). Для того чтобы посотреть на его содержание, была введена команда "rdtsc" (подробное описание в интеловской мануале). Эту возможность можно использовать для реализации сабжа. Посоку Делфя не вкурсе насчет rdtsc, то пришлось юзать опкод (0F31). Привожу простенький примерчик юзания, Вы уж извините - немножко кривоват получился, да и ошибка компалера какая-то вылезла :( (V4 Bld5.104 Upd 2). Кому интересно, поделитесь своими соображениями по этому поводу. Особенно интерисует работа в режиме когда меняется частота процессора (Duty Cycle, StandBy).
{$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 elsebegin 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;
Передача файлов между двумя модемами.
Требуется организовать соединение 2-х модемов с последующим автоматическим обменом файлами. Может кто когда делал ...
Повторное использование форм в Delphi
Каждый раз, приступая к разработке нового проекта, я ловлю себя на мысли, что когда-то я уже делал подобные формы. Поэтому я решил поделиться несколькими мыслями о повторном использовании форм в Delphi. Я не претендую на авторство описанных ниже методов, однако я еще не встречал статьи, где данный вопрос был освещен достаточно полно...
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).
Автор: Джеффри Рихтер
Novarm Development Center Программные продукты с Delphi исходниками, форумы для программеров и юзеров. Каталог программного обеспечения с системой получения полной статистики загрузок по сайтам и странам.
» Оценка сайта: 2
Хокку дня
Молодой петушок Кукарекнул во сне с перепугу - Бульонный кубик приснился...
Афоризмы
Конвейер изобрёл Гильотин, Генри Форд - лишь усовершенствовал изобретение.
Фраза дня
Душа просит ананасов в шампанском, организм требует водки!
Дурацкие законы (информация предоставлена сайтом kurilka.com)
В городе Пуебло одуванчики считаются запретным растением.
В Клинтон Каунти в Огайо под угрозой штрафа запрещается прислоняться к стенам зданий общественных учреждений.
И на закуску коротенький анекдот
Катались на лифте по ночному городу.