У моего сайта появился новый короткий адрес(только форвард на newff.narod.ru) - URIS.TK.
Если кто из вас хочет обзавестись аналогичным совершенно бесплатно - пишите.
Судя по последним нескольким unsubscribe'ам, стало ясно, что тема БД немного приелась.
Поэтому я решил сделать небольшой перерыв и опубликовать статью CJ о "заимствовании" иконок из других приложений.
Привет!
Я расскажу как средствами Delphi создать простой "грабер" пиктограмм(иконок) с возможность сохранения их на ЖД.
Для этого понадобиться 5 компонентов:
StringGrid (находиться на вкладке Addional).
MainMenu (Standart).
OpenDialog (Dialogs).
SaveDialog (Dialogs).
PoupMenu (Standart, его мы используем только для удобства).
Перед тем как начать работу, в опциях проекта необходимо изменить один пункт. [Project] > [Options:] > [Compiler],
Теперь ищем надпись Assignable typed constants и ставим около неё галочку.
Иконки мы(точнее программа) будем выдирать из файлов exe,dll ну и для общности ico. Итак, по порядку.
Сначала поместим на форму компонент StringGrid и изменим следующие свойства:
Свойство
Значение
Align
alClient
ColCount
4
DefaultColWidth
144
DefaultRowHeight
64
FixedRows
0
FixedCols
0
Name
Icons
Options.goRangeSelect
Flase
Теперь настроим OpenDialog и SaveDialog:
Свойство
Значение
OpenDialog1
DefaultExt
ICO
Options.ofHideReadOnly
True
Options.ofFileMustExist
True
Title
Открыть файл с иконками
SaveDialog1
DefaultExt
ICO
Options.ofOverwritePrompt
True
Options.ofHideReadOnly
True
Options.ofFileMustExist
True
Title
Сохранить иконку
Теперь настроим свойства Filter компонентов OpenDialog1 и SaveDialog1:
FilerName
Filter
OpenDialog1
Файлы с иконками
*.exe;*.dll;*.ico
Все файлы
*.*
SaveDialog1
Иконка
*.ico
Добавим три пункта меню Открыть, Сохранить, Выход. И дадим им имена Open, Save, Exit
Далее после модуля Grids, добавьте модуль ShellApi.
Введите следующий код в пунт меню Открыть:
procedure TForm1.Open1Click(Sender: TObject);
const curitem:longint=0;
Var
pname:array [0..255] of char;
fname: string[13];
N:word;
IcoH:hicon;
begin
If opendialog1.Execute then begin
fname:=ExtractFileName(opendialog1.FileName);
StrPCopy(pname, opendialog1.FileName);
N:=0;
With Icons do
Repeat
Icoh:=ExtractIcon(hInstance, pname, n);
If Icoh>1 then
Begin
Col:=CurItem mod ColCount;
If (Curitem div colCount) >=RowCount then RowCount:=RowCount+1;
Flash-Player 1.0 - Программа предназначена для просмотра swf-файлов.
Полоса прокрутки в виде синей полоски(Win 9x), поддержка WinXP-тем, асоциация swf-файлов с программой, stop/play по нажатии на выбранную кнопку в настройках, удобный интерфейс.
Все вопросы, пожелания и предложения ссылкообмена ведущему рассылки, прошу слать на e-mail: urisff@inbox.ru
Все статьи публикуются здесь только с разрешения (или рекомендации) автора.
Если вы хотите опубликовать здесь свою статью, то сделайте это, переслав её мне.
В случае, если вы будете использовать приведённые в этой рассылке материалы, не забудьте сделать ссылку на эту рассылку.