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

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


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

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

DELPHI.mastak.ru

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

Обновился дайджест по FAQ. Скачать можно здесь
Вышел очередной дайджест форумов. Скачать можно здесь
Новые компоненты   |x|
  • PGP Components for Delphi v.3.3.1 (237kb) (05.01.03 12:52)
    Обеспечивает непосредственный доступ к интерфейсу PGP из Delphi (2-7). Требует предварительно полной инсталляции PGP 6.5.X, 7.X.X или 8.Х.Х.
    Доступные возможности:
    Кодирование и декодирование (шифрование/расшифровка/подпись/проверка).
    Создание и проверка файлов с подписями.
    Импорт, экспорт, аннулирование, удаление ключей.
    Несколько функций управления ключами.
    Генерация ключей (DH/DSS, RSA).
    Некоторые утилиты.
    Новое в версии 3.2.5:
    Все события OnGetPassphrase переименованы в OnEnterPassphrase.
    Опции MIME, Armor, EyesOnly и Textmode теперь тоже используются при обычном шифровании.
    Новое в версии 3.3.1:
    Пофиксен баг в kPGPError_OutOfEntropy.
    Устранена ошибка, не позволяющая работать с файлами более 4Gb.
    Устранены несколько мелких ошибок, добавлено несколько улучшений.

    Новая версия компоненты
    С исходными текстами
    Компонента из раздела: Security: Crypting Other
    Источник: www.torry.net   Автор: Michael in der Wiesche http://home.t-online.de/home/idw.doc/PGPcomp.htm
    -= · VCL · Samples · =- [Перевел: Сергей Зинин]

  • HTTPFileDownloader v.1.1 (1036kb) (05.01.03 12:45)
    Компонент для организации загрузки файлов по протоколу HTTP (порт 80, /~user/public_html/, index files index.html, ...). Базируется на компоненте IdHTTP из библиотеки Indy.

    Новая версия компоненты
    Компонента из раздела: Internet: HTTP
    Источник: www.torry.net   Автор: Tomasz Rutkowski http://wingraph.of.pl
    -= · VCL · =- [Перевел: Сергей Зинин]

  • Icon Grabber v.1.0 (3kb) (05.01.03 12:42)
    Компонент для извлечения иконок из Exe, Dll и Ico-файдов. Exe-демо можно загрузить с домашней страницы.
    Новая версия компоненты
    С исходными текстами
    Компонента из раздела: Graphics: Icons
    Источник: www.torry.net   Автор: UtilMind Solutions http://www.appcontrols.com
    -= · VCL · Samples · =- [Перевел: Сергей Зинин]

  • MIV Skin Components v.1.0 (4kb) (05.01.03 12:41)
    При помощи этого пакета можно создавать нестандартные формы.
    Состав пакета:
    TParentSkin: главный компонент. С его помощью можно менять скины формы.
    TRoundRectSkinPart: с помощью этого компонента можно создать прямоугольную форму со скруглёнными углами.
    TPolygonSkinPart: при помощи этого компонента можно создать многоугольные формы, треугольные, в виде звезды т.д...
    TPolygonPoint: этот компонент работает только с TPoligonSkinPart.

    С исходными текстами
    Компонента из раздела: Forms: Non-rectangular
    Источник: www.torry.net   Автор: Michel Verbraak http://miv.xs4all.nl/delphi
    -= · VCL · Samples · =- [Перевел: Сергей Зинин]

  • TOpacityForm v.1.5.3 (5kb) (05.01.03 12:26)
    Компонент, позволяющий достаточно просто создать прозрачную форму.

    С исходными текстами
    Компонента из раздела: Forms: Effects
    Источник: www.torry.net   Автор: Vjacheslav Maslov
    -= · VCL · Samples · =- [Перевел: Сергей Зинин]

  • Для уменьшения объема писем здесь публикуется не весь список новых компонент, потому заглядывайте и на сайт!
Кое-что из нашей кладовки   |x|
  • IncDay dmi dmiprogrammer@mail.ru   (05.01.03 20:21)
    При создании бухгалтерской программы я столкнулся с
    необходимостью изменить значение даты (класс TDateTime) путем добавления количества дней. Но в Delphi готовой функции не оказалось. Просмотрев в Delphi7 исходный текст функции IncMonth (добавление месяцев к дате), я решил создать функцию IncDay (добавление дней к дате).
    Если у кого-то возникла подобная проблема, готов поделиться "исходником".
    »»» Скачать: исходные тексты
Лучшее из нашего FAQ   |x|
Прозрачная форма


Эта форма имет прозрачный фон !!!

unit unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
// это просто кнопка на форме - для демонстрации
protected
procedure RebuildWindowRgn;
procedure Resize; override;
public
constructor Create(AOwner: TComponent); override;
end;
var
Form1 : TForm1;
implementation
// ресурс этой формы
{$R *.DFM}

{ Прозрачная форма }
constructor TForm1.Create(AOwner: TComponent);
begin
inherited;
// убираем сколлбары, чтобы не мешались
// при изменении размеров формы
HorzScrollBar.Visible:= False;
VertScrollBar.Visible:= False;
// строим новый регион
RebuildWindowRgn;
end;

procedure TFo! rm1.Resize;
begin
inherited;
// строим новый регион
RebuildWindowRgn;
end;

procedure TForm1.RebuildWindowRgn;
var
FullRgn, Rgn: THandle;
ClientX, ClientY, I: Integer;
begin
// определяем относительные координаты клиенской части
ClientX:= (Width - ClientWidth) div 2;
ClientY:= Height - ClientHeight - ClientX;
// создаем регион для всей формы
FullRgn:= CreateRectRgn(0, 0, Width, Height);
// создаем регион для клиентской части формы
// и вычитаем его из FullRgn
Rgn:= CreateRectRgn(ClientX, ClientY, ClientX + ClientWidth, ClientY +
ClientHeight);
CombineRgn(FullRgn, FullRgn, Rgn, rgn_Diff);
// теперь добавляем к FullRgn регионы каждого контрольного элемента
for I:= 0 to ControlCount -1 do
with Controls[I] do begin
Rgn:= CreateRectRgn(ClientX + Left, ClientY + Top, ClientX + Left +
Width, ClientY + ! Top + Height);
CombineRgn(FullRgn, FullRgn, Rgn, rgn_Or);
end;
// устанавливаем новый регион окна
SetWindowRgn(Handle, FullRgn, True);
end;
end.


А как Вам понравится эта форма ?

unit rgnu;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, Menus;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
rTitleBar : THandle;
Center : TPoint;
CapY : Integer;
Circum : Double;
SB1 : TSpeedButton;
RL, RR : Double;
procedure TitleBar(Act : Boolean);
procedure WMNCHITTEST(var Msg: TWMNCHitTest); message WM_NCHITTEST;
procedure WMNCACTIVATE(var Msg: TWMNCACTIVATE);
message WM_NCACTIVATE;
procedure WMSetText(var Msg: TWMSetText);
message WM_SETTEXT;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

CONST
TitlColors : ARRAY[Boolean] OF TColor =
(clInactiveCaption, clActiveCaption);
TxtColors : ARRAY[Boolean] OF TColor =
(clInactiveCaptionText, clCaptionText);

procedure TForm1.FormCreate(Sender: TObject);
VAR
rTemp, rTemp2 : THandle;
Vertices : ARRAY[0..2] OF TPoint;
X, Y : INteger;
begin
Caption := 'OOOH! Doughnuts!';
BorderStyle := bsNone; {required}
IF Width > Height THEN Width := Height
ELSE Height := Width; {harder to calc if width <> height}
Center := Point(Width DIV 2, Height DIV 2);
Ca! pY := GetSystemMetrics(SM_CYCAPTION)+8;
rTemp := CreateEllipticRgn(0, 0, Width, Height);
rTemp2 := CreateEllipticRgn((Width DIV 4), (Height DIV 4),
3*(Width DIV 4), 3*(Height DIV 4));
CombineRgn(rTemp, rTemp, rTemp2, RGN_DIFF);
SetWindowRgn(Handle, rTemp, True);
DeleteObject(rTemp2);
rTitleBar := CreateEllipticRgn(4, 4, Width-4, Height-4);
rTemp := CreateEllipticRgn(CapY, CapY, Width-CapY, Height-CapY);
CombineRgn(rTitleBar, rTitleBar, rTemp, RGN_DIFF);
Vertices[0] := Point(0,0);
Vertices[1] := Point(Width, 0);
Vertices[2] := Point(Width DIV 2, Height DIV 2);
rTemp := CreatePolygonRgn(Vertices, 3, ALTERNATE);
CombineRgn(rTitleBar, rTitleBar, rTemp, RGN_AND);
DeleteObject(rTemp);
RL := ArcTan(Width / Height);
RR := -RL + (22 / Center.X);
X := Center.X-Round((Center.X-1-(CapY DIV 2))*Sin(RR));
Y := Center.Y-Round((Center.Y-1-(CapY DIV 2))*Cos(RR));
SB1 := TSpeedButton.Create(! Self);
WITH SB1 DO
BEGIN
Parent := Self;
Left := X;
Top := Y;
Width := 14;
Height := 14;
OnClick := Button1Click;
Caption := 'X';
Font.Style := [fsBold];
END;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
End;

procedure TForm1.WMNCHITTEST(var Msg: TWMNCHitTest);
begin
Inherited;
WITH Msg DO
WITH ScreenToClient(Point(XPos,YPos)) DO
IF PtInRegion(rTitleBar, X, Y) AND
(NOT PtInRect(SB1.BoundsRect, Point(X,Y))) THEN
Result := htCaption;
end;

procedure TForm1.WMNCActivate(var Msg: TWMncActivate);
begin
Inherited;
TitleBar(Msg.Active);
end;

procedure TForm1.WMSetText(var Msg: TWMSetText)! ;
begin
Inherited;
TitleBar(Active);
end;

procedure TForm1.TitleBar(Act: Boolean);
VAR
TF : TLogFont;
R : Double;
N, X, Y : Integer;
begin
IF Center.X = 0 THEN Exit;
WITH Canvas DO
begin
Brush.Style := bsSolid;
Brush.Color := TitlColors[Act];
PaintRgn(Handle, rTitleBar);
R := RL;
Brush.Color := TitlColors[Act];
Font.Name := 'Arial';
Font.Size := 12;
Font.Color := TxtColors[Act];
Font.Style := [fsBold];
GetObject(Font.Handle, SizeOf(TLogFont), @TF);
FOR N := 1 TO Length(Caption) DO
BEGIN
X := Center.X-Round((Center.X-6)*Sin(R));
Y := Center.Y-Round((Center.Y-6)*Cos(R));
TF.lfEscapement := Round(R * 1800 / pi);
Font.Handle := CreateFontIndirect(TF);
T! extOut(X, Y, Caption[N]);
R := R - (((TextWidth(Caption[N]))+2) / Center.X);
IF R < RR THEN Break;
END;
Font.Name := 'MS Sans Serif';
Font.Size := 8;
Font.Color := clWindowText;
Font.Style := [];
end;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
WITH Canvas DO
BEGIN
Pen.Color := clBlack;
Brush.Style := bsClear;
Pen.Width := 1;
Pen.Color := clWhite;
Arc(1, 1, Width-1, Height-1, Width, 0, 0, Height);
Arc((Width DIV 4)-1, (Height DIV 4)-1,
3*(Width DIV 4)+1, 3*(Height DIV 4)+1, 0, Height, Width, 0);
Pen.Color := clBlack;
Arc(1, 1, Width-1, Height-1, 0, Height, Width, 0);
Arc((Width DIV 4)-1, (Height DIV 4)-1,
3*(Width DIV 4)+1, 3*(Height DIV 4)+1, Width, 0, 0, Height);
TitleBar(Active); END;
end;

end.


»»» Прислать свои комментарии

Обсуждается в конференциях   |x|
У нас большой выбор статей   |x|
Электронная почта Интернет
Поскольку электронная почта необычно популярна, существует множество документов на эту тему. Вместо того чтобы рассматривать все эти документы, мы лучше обрисуем несколько ключевых и самых важных моментов.
После прочтения данной статьи вы узнаете ключевые моменты протокола SMTP и будете ориентироваться в многочисленных “почтовых” RFC.
Новинки книжного рынка   |x|
Delphi 6 и Kylix для программиста
В этой книге на практических примерах рассмотрены все возможности среды Delphi 6. Читательузнает, как создавать многоуровневые программы для работы с базами данных, Интернет-системы и сетевые распределенные приложения на основе технологий СОМ и CORBA. Рассмотрены механизмы преобразования XML-данных и приемы разработки служб WebServices. В большинстве случаев программист может обойтись визуальными средствами Delphi.Характер авторских работ С. Бобровского традиционно отличается тем, что они не только служат фундаментальными руководствами по новым технологиям программирования, но и представляют собой удобные справочники, полезные каждому программисту, независимо от уровня его подготовки.
Автор: Бобровский С.
Другие сайты о DELPHI   |x|
Programming Nest
Сайт посвященный программингу, содержит в себе много различных программ и их исходников. Будет полезен и интересен каждому, профессионалу или совсем делитанту.

» Оценка сайта: 2
Опрос населения :)
Как вы нашли наш сайт?
»»» Поисковая система
»»» Рассылка
»»» Ссылка с другого сайта
»»» Через каталог сайтов
»»» Друг посоветовал
»»» Случайно
Журнал "RSDN Magazine"  |x|

Дорогие друзья! Мы рады представить вам новый совместный проект сайтов www.rsdn.ru, delphi.mastak.ru и www.optim.ru - профессиональный журнал для программистов RSDN Magazine.
Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
На сайте выложен анонс пилотного выпуска журнала, вступительное слово от редакции.

Для души

Хокку дня
В роще бамбука
Вспомню родной Мухосранск
Горько заплачу...

Афоризмы
Иногда даже слепая курица может найти себе зернышко....

Фраза дня
"По белому, белому полю я шел, проклиная весь свет. И думал: скорей бы на волю, в наш офис, где есть интернет!" //Рома Воронежский

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

И на закуску коротенький анекдот
В концертный зал врывается отряд полицейских с пистолетами "наголо". Все в ужасе, пианист (дрожащим голосом):
- В чём дело??
Полицейские:
- Нам сообщили, здесь издеваются над каким-то Бахом...

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


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

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


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

В избранное