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

Рассылка сайта Delphi coding

  Все выпуски  

Рассылка сайта Delphi coding Рассылка сайта Delphi coding (Выпуск №2 / 14.09.05)


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

Рассылка сайта Delphi Coding

Выпуск от 14 Сентября 2005 года. Noil.pri.ee

Приглашаються авторы статей для сотрудничества с сайтом. Подробности о том как добавить свою статью на сервер читайте здесь

На сайте Delphi Coding собрано большое количество статей, книг и различной компьютерной документации. В рассылке вы сможете увидеть последнии поступления на сайте, а также более подробно ознакомиться с некоторыми материалами.

Желаем Вам приятного чтения.


Архивы статей по различным тематикам Delphi

Delphi и XakepСкачать (Статей: 2)
Графика в DelphiСкачать (Статей: 6)
Работа с системойСкачать (Статей: 9)
Защита данныхСкачать (Статей: 2)
РазноеСкачать (Статей: 8)
Работа со звукомСкачать (Статей: 5)
АлгоритмыСкачать (Статей: 12)
WinApiСкачать (Статей: 3)
KOL и MCKСкачать (Статей: 10)
Программирование игрСкачать (Статей: 6)
Delphi и ActiveXСкачать (Статей: 4)
ОтладкаСкачать (Статей: 2)
COBRA и COMСкачать (Статей: 3)

Коллекции статей

Коллекция статей № 1Скачать (Статей: 20)
Коллекция статей № 2Скачать (Статей: 20)
Коллекция статей № 3Скачать (Статей: 20)
Коллекция статей № 4Скачать (Статей: 20)

Последнии файлы

VideoTEST в категории Мультимедиа

3D видео тест. Вращаются трёхмерные кубики. Измеряется fps... и т.д.
Написано на Delphi под OpenGL

Подробнее... Скачать


Сортировщик окон в категории Система

Сортировщик окон. Программа позволяет скрывать окна на Task Bar'е, изменять их порядок, cама скидывается в System Tray.

Подробнее... Скачать


Архивирование методом Хаффмана в категории Алгоритмы и математика

Исходники архиватора методом Хаффмана на Delphi6 с описанием алгоритма. Архивирует только один файл. Прога дописывалась в короткие сроки, поэтому написана не лучшим образом, работает медленно, но верно.

Подробнее... Скачать


Engine в категории Работа с графикой и экраном

Демонстрирует, как на OpenGL реализовать перемещение в пространстве (бежать вперёд-назад-влево-вправо, вертеть головой и т.д.)

Автор: Makarov M.M

Подробнее... Скачать


3D заставка в категории Работа с графикой и экраном

При запуске программы со стандартными параметрами, окно развернётся на весь экран. Сверху будут отображены: количество полигонов, количество текселей, количество текселей на полигон и количество кадров в секунду (fps).
Можете скинуть в папку с программой файл music.mp3 и тогда ещё будет играть музыка.

Автор: Макаров М.М
Источник: http://www.systemhalt.nm.ru

Подробнее... Скачать


Random Password Generator в категории Исходники

Random Password Generator - прога для генерации случайного пароля определённой длины из заданного набора символов. Написан на Delphi.

Источник: http://www.systemhalt.nm.ru

Подробнее... Скачать


Пример автоматической рассылки писем в категории Сетевое программирование

Пример показывает, как можно в автоматическом режиме рассылать письма одновременно несколькольким пользователям.

Email автора: bh3001@xakep.ru

Подробнее... Скачать


Пример часов в категории Пользовательский интерфейс

Довольно интересный пример реализации часов на Delphi. Поддерживает скины.

Подробнее... Скачать


Пример поиска и закрытия процесса. в категории Система

В примере закрывается EXCEL.EXE
(с небольшой доработкой можно вывести весь список процессов)
Понятную инфу по этому вопросу найти было сложно.
Может кому надо :)

Компилятор: D6

Подробнее... Скачать


OpenGL - Скайбоксы в категории Работа с графикой и экраном

Пример показывает основные принципы применения технологии скайбоксов, которая используются в таких извесных играх, как quake, halflife и unreal. Использованы текстуры из halflife, а также, чтобы придать сцене глубину и более плавное движение была добавлена перспектива.

Автор: Jan Horn

Подробнее... Скачать


Статья

Как узнать информацию о системе в Delphi

Вы, возможно, видели нестандартные дельфийские компоненты, позволяющие сделать лог системы. Сейчас мы самостоятельно реализуем что-нибудь не хуже.

Прежде всего, где хранится эта самая системная инфа? В Реестре, куда мы сможем залезть, добавив модуль Registry в раздел Uses. Версия системы, имя владельца и т.д. имеют следующий адрес:

HKEY_LOCAL_MACHINE\Software\Microsoft \Windows\CurrentVersion\Explorer

Или (для Windows NT):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \Windows NT\CurrentVersion

А информация о системных папках хранится здесь:
HKEY_CURRENT_USER\Software\Microsoft \Windows\CurrentVersion\Explorer\Shell Folders

В то же время данные о некоторых системных устройствах хранятся в файле System.ini. Значит, добавим модуль IniFiles, чтобы осуществить чтение информации из этого файла. Таким образом, если вы умеете работать с Реестром и Ini, узнать системную информацию вам будет так же просто, как сделать FORMAT C: COMPLETE из-под загрузочного диска. Изюминка в том, что наше приложение, которое эту инфорнмацию собирает и записывает в лог-файл, будет консольным, и создать его можно через File>New>Other>Console Application.

Листинг 1. program OSInfo
program OSInfo;

uses
SysUtils,
Windows,
Registry,
IniFiles; //!!

//ключи реестра, в которых будем искать информацию
const
folders = '‌Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders'‌;
WinVers = '‌Software\Microsoft\Windows\CurrentVersion'‌;

var
F: TextFile; //файл с логом
SerialNum: PDWord;
a: DWord;
i: integer;
Drive, WinDir: String;
buffer: array [0..255] of char;
ms: TMemoryStatus;

//читаем информацию из Реестра
function WinInfo(Root_Key: HKEY; Key_Open, Key_Read: string): string;
var
registry: TRegistry;
begin
//если Windows NT, открываем другой ключ
if ((GetVersion and $80000000)=0) and (Key_Open=WinVers) then
Key_Open:='‌SOFTWARE\Microsoft\Windows NT\CurrentVersion'‌;
Registry := TRegistry.Create;
try
Registry.RootKey := Root_Key;
Registry.OpenKey(Key_Open, False);
Result := Registry.ReadString(Key_Read);
finally
Registry.Free;
end;
//если ничего не найдено, выводим "невозможно определить"
if Result<>EmptyStr then Result:=Key_read+'‌: '‌+Result else Result:=Key_read+'‌: невозможно определить'‌;
end;

//читаем из System.ini
function GetDevice(Section, Ident: String): String;
var inifile: TIniFile;
begin
IniFile:=TIniFile.Create(windir+'‌\system.ini'‌);
result:=IniFile.ReadString(Section,ident,'‌неизвестное устройство'‌);
IniFile.Free;
end;

begin
//Узнаем директорию Винды. Она нам еще понадобится
GetWindowsDirectory(buffer, SizeOf(buffer));
windir:=buffer;
AssignFile(F,Windir+'‌\OSInfo.txt'‌); //Соединямся с файлом лога
ReWrite(F); //Переходим в начало файла
WriteLn(F,'‌Лог создан: '‌+DateTimeToStr(now));
WriteLn(F,'‌'‌);
//пользователь, версия ОС и т.д.
WriteLn(F,'‌ О Системе:'‌);
WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'‌RegisteredOwner'‌));
WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'‌RegisteredOrganization'‌));
WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'‌ProductID'‌));
WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'‌ProductKey'‌));
WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'‌ProductName'‌));
WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'‌Version'‌));
WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'‌VersionNumber'‌));
//Какой браузер?
WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'‌Plus! VersionNumber'‌));
WriteLn(F,'‌'‌);
WriteLn(F,'‌ Память:'‌);
WriteLn(F,'‌Доступные носители: '‌);
//Получаем информацию о дисках
for i := 0 to 25 do
if (GetLogicalDrives and (1 shl i)) <> 0 then begin
Drive:=Char(Ord('‌A'‌) + i) + '‌:'‌;
case GetDriveType(PChar(Drive)) of
DRIVE_REMOVABLE: WriteLn(F,Drive+'‌ (гибкий диск)'‌);
DRIVE_CDROM: WriteLn(F,Drive+'‌ (CD-ROM)'‌);
DRIVE_FIXED: begin
//находим серийный номер жесткого диска
new(SerialNum);
if getVolumeInformation(pChar(Drive),buffer,sizeof(buffer),SerialNum,a,a,nil,0) then
WriteLn(F,Drive+'‌ (жесткий диск, S\N '‌+Inttostr(SerialNum^)+'‌)'‌);
end;
else WriteLn(F,Drive+'‌ (неизвестный диск'‌);
end;
end;
//информация о памяти
GlobalMemoryStatus(MS);
WriteLn(F,'‌Оперативная память: '‌+FormatFloat('‌#,###" KB"'‌, MS.dwTotalPhys / 1024));
WriteLn(F,'‌Свободно на жестком диске: '‌+FormatFloat('‌#,###" байт"'‌,DiskFree(3)));
//"3" указывает на диск C:\
WriteLn(F,'‌Объем жесткого диска: '‌+FormatFloat('‌#,###" байт"'‌,DiskSize(3)));
WriteLn(F,'‌'‌);
//узнаем об устройствах из System.ini
WriteLn(F,'‌ Устройства:'‌);
WriteLn(F,'‌Клавиатура: '‌+getDevice('‌boot.description'‌,'‌keyboard.typ'‌));
WriteLn(F,'‌Мышь: '‌+getDevice('‌boot.description'‌,'‌mouse.drv'‌));
WriteLn(F,'‌Дисплей: '‌+getDevice('‌boot.description'‌,'‌display.drv'‌));
WriteLn(F,'‌Хранитель экрана: '‌+getDevice('‌boot'‌,'‌SCRNSAVE.EXE'‌));
WriteLn(F,'‌'‌);
//читаем системные папки из Реестра
WriteLn(F,'‌ Системные папки:'‌);
GetCurrentDirectory(SizeOf(buffer), buffer);
WriteLn(F,'‌Текущий каталог: '‌+buffer);

WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌Cache'‌));
WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'‌ConfigPath'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌Cookies'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌Desktop'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌Favorites'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌Fonts'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌History'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌Local AppData'‌));
WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'‌MediaPath'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌My Music'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌My Pictures'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌NetHood'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌Personal'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌PrintHood'‌));
WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'‌ProgramFilesDir'‌));
WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'‌CommonFilesDir'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌Programs'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌Recent'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌SendTo'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌Start Menu'‌));
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌StartUp'‌));
GetSystemDirectory(buffer, SizeOf(buffer));
WriteLn(F,'‌System: '‌+buffer);
GetTempPath(Sizeof(buffer),buffer);
WriteLn(F,'‌Temp: '‌+buffer);
WriteLn(F,WinInfo(HKEY_CURRENT_USER,folders,'‌Templates'‌));
WriteLn(F,WinInfo(HKEY_LOCAL_MACHINE,WinVers,'‌WallPaperDir'‌));
WriteLn(F,'‌Windows: '‌+WinDir);
Close(F); //отсоединяемся от файла
end.


Результаты сохранятся в директории Windows в файле OSInfo.txt. Чтобы ознакомиться с ними, вам достаточно открыть этот файл.

Такое приложение весит 156 кило. А если бы мы создали "нормальную" программу с формой, размер был бы в два-три раза больше.
Источник: http://delphid.dax.ru

Посетите наши форумы:

Delphi, Kylix, Pascal
Delphi - общие вопросы | WinAPI | Работа с сетью | Delphi и Multimedia | Базы данных | Работа с oc Windows | Курилка | Паскаль | Delphi.Net | Kylix

Языки программирования
C++ | Java | .NET | Ассемблер

Web Технологии
Php | Perl | Asp | Html

Програмное обеспечение
Софт для Windows | Oc Windows | Linux | BSD

Разное
Железо | Взлом и защита | Периферия | Внекомпьютерная жизнь | Объявления

Дружественные рассылки

Рассылки Subscribe.Ru
Интернет для Delphi-программиста

На этом позвольте проститься с Вами и пожелать удачи. Свои замечания и предложения отправляйте на е-майл, указанный ниже. С уважением, Виталий (NoilTeam@gmail.com)

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphicoding
Отписаться
Вспомнить пароль

В избранное