Delphi 7 Borland
Decision on Turbo Pascal and Delphi

Home - Structure - Archive - Friend

Переделать TLabel в URL

Создано Срд-09-Апр-2008 in 22:23 category Delphi - Ссылка

Приложение содержит ссылку, которая позволяет запускать Браузер и сразу перейти по указанному в ссылке адресу. Процесс создания URL заключается в переделке компоненты TLabel в URL.


Следующие 3 шага показывают как переделать TLabel в URL.

Шаг 1 Установите в свойствах шрифта подчёркивание и цвет ссылки.

Шаг 2 Установите свойства курсора. Когда мышка попадает на URL, то курсор должен превращаться в ручку.

Шаг 3 Записываем событие OnClick для ссылки. Когда пользователь нажимает на ссылку, то запускается браузер, который автоматически переходит на заданный адрес. Однако этого мало! Нужно будет добавить в приложение ещё одну строчку

Та самая строчка:

ShellExecute(0,'open',pChar(URL),NIL,NIL,SW_SHOWNORMAL);


Пример приложения :

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ShellAPI;
type
TForm1 = class(TForm)
URLLabel: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure URLLabelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.URLLabelClick(Sender: TObject);
Const
URL : String = 'http://blogs.cetki.com/Arch1S';
begin
ShellExecute(0,'open',pChar(URL),NIL,NIL,SW_SHOWNORMAL);
end;
end.

Преобразование BMP в JPEG

Создано Пнд-07-Апр-2008 in 17:17 category Delphi - Ссылка

Допустим, Image1 - компонент TImage, содержащий растровое изображение. Используйте следующий фрагмент кода для конвертации вашего изображения в JPEG-файл:

var
MyJpeg: TJpegImage;
Image1: TImage;
begin
Image1:= TImage.Create;
MyJpeg:= TJpegImage.Create;
Image1.LoadFromFile('TestImage.BMP');
MyJpeg.Assign(Image1.Picture.Bitmap);
MyJpeg.SaveToFile('MyJPEGImage.JPG');
end;

Прозрачность окна

Создано Чтв-03-Апр-2008 in 15:51 category Delphi - Ссылка

property AlphaBlend:  Boolean;

property AlphaBlendValue:  Byte;

Свойство AlphaBlend указывает, следует ли (значение True) выводить форму в полупрозрачном режиме, а свойство AlphaBlendValue задает степень ее непрозрачности целочисленным значением от 0 (полностью прозрачна) до 255 (полностью непрозрачна).

 

Атрибуты прозрачности устанавливаются не только для окна, но и для всех элементов управления, которые в нем расположены. Причем при значениях непрозрачности, больших нуля, сохраняется возможность взаимодействия с окном и визуальными компонентами в полном объеме, даже когда окна не видно на экране (например, когда свойство AlphaBlendValue имеет значение 1).

 

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

 

Также предусмотрена возможность полной прозрачности точек формы, имеющих один цвет, задаваемый свойством TransparentColorValue:

property TransparentColorValue: TColor;

Все точки формы, которые имеют заданный этим свойством цвет, могут быть полностью прозрачны, причем не только визуально, но также и для событий, связанных с манипуляциями мышью. Для включения такого поведения окна предназначено свойство TransparentColor:

property TransparentColor: Boolean;

Показано окно, в котором находится визуальный компонент Shape, отображающий эллипс белого цвета. Белый цвет также установлен в качестве значения свойства TransparentColorValue формы, а свойству TransparentColor присвоено значение True. При выводе формы над приложением Microsoft Word пользователь имеет возможность видеть часть окна редактора сквозь область компонента, имеющую белый цвет. Также при щелчке мышью в эту область, активным станет приложение MS Word.

 

Заметим, что подпись формы «Form1», выведенная белым цветом, также является прозрачной. Возможность использования «прозрачного цвета» для формы позволяет легко создавать окна приложений непрямоугольной формы. Для этого следует присвоить одинаковые цвета форме (с помощью свойства Color) и свойству TransparentColorValue, расположив при этом на форме изображение, в котором не используется такой цвет. В результате область, занятая изображением, будет выводиться на экран, а остальная часть окна будет скрыта. При изменениях в изображении, происходящих во время выполнения программы, соответствующим образом будет изменяться форма окна. И, наконец, отметим, что полупрозрачность формы и полная прозрачность ее цвета не исключают друг друга, что позволяет реализовывать различные графические эффекты, например, плавную потерю видимости окна, имеющего непрямоугольную форму.

 


Простая база данных (запись в файл)

Создано Пнд-25-Фев-2008 in 14:45 category Delphi - Ссылка

unit pogoda_;

interface

uses

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit; // дата

Edit2: TEdit; // температура

Button1: TButton; // кнопка Добавить

Label1: TLabe1;

Label2: TLabe1;

procedure FormActivate(Sender: TObject);

procedure ButtonlClick(Sender: TObject);

procedure FormClose(Sender: TObject;

var Action: TCloseAction); private

{ Private declarations } public

{ Public declarations } end;

var

Form1: TForm1;

implementation

{$R *.dfm}

const

DBNAME = 'a:\pogoda. db';

var

db: TextFile; // файл — база данных

procedure TForm1.FormActivate(Sender: TObject);

begin

AssignFile(db, DBNAME);. {$I-}

Append(db); if IOResult = 0 then

begin

Edit1.Text := DateToStr(Date); // получить текущую дату

Edit2.SetFocus; // курсор в поле Edit2

end

else begin

Rewrite(db); if IOResult <> 0 then begin

// сделать недоступными поля ввода // и командную кнопку

Edit1.Enabled := False; Edit2.Enabled := False;

Buttonl.Enabled := False; ShowMessage('Ошибка создания '+DBNAME);

end;

end;

end;

// щелчок на кнопке Добавить

procedure TForml.Button1Click(Sender: TObject);

begin

if (Length(edit1.text)=0) or (Length(edit2.text)=0)

then ShowMessage('Ошибка ввода данных.'

+#13+'Bce поля должны быть заполнены.')

else writeln(db, editl.text,' ',edit2.text);

end;

// Событие OnClose возникает при закрытии формы

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

CloseFile(db); // закрыть файл БД

end;

end.

 


Бинарный поиск в массиве

Создано Вск-17-Фев-2008 in 15:21 category Delphi - Ссылка

unit b_found_;

interface

uses

Windows, Messages, SysUtils, Classes,

Graphics, Controls, Forms, Dialogs, StdCtrls, Grids;

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

Label3: TLabel;

CheckBox1: TCheckBox;

StringGrid1: TStringGrid;

Editl: TEdit;

procedure ButtonlClick(Sender: TObject);

procedure StringGridlKeyPress(Sender: TObject; var Key: Char);

procedure EditlKeyPress(Sender: TObject; var Key: Char); private

{Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

{ Бинарным поиск в массиве }

procedure TForm1.Button1Click(Sender: TObject);

const

SIZE=10; var

a:array[1..SIZE] of integer; { массив )

obr:integer; { образец для поиска}

verh:integer; { верхняя граница поиска }

niz: integer; { нижняя граница поиска }

sred:integer; { номер среднего элемента )

found:boolean; { TRUE — совпадение образца с элементом массива }

n:integer; / число сравнений с образцом }

i:integer;

begin

// ввод массива и образца

for i:=l to SIZE do

a[i]:=StrToInt(StringGridl.Cells[i-l,0] ) ;

obr := StrToInt(Editl.text);

// поиск verh:=1;

niz:=SIZE; n:=0;

found:=FALSE; labels.caption:='';

if CheckBoxl.State = cbChecked

then Labels.caption: ='verh'+#9+'niz'#9'sred' #13;

// бинарный поиск в массиве repeat

sred:=Trunc ( (niz-verh) /2)+verh; if CheckBox1.Checked

then Labels.caption:=label3.caption +IntToStr(yerh) + #9

+IntToStr(niz) + #9 +IntToStr(sred) + #13; n:=n+1;

if a[sred] = obr then found:=TRUE else

if obr < a[sred]

then niz:=sred-1 else verh:=sred+1;

until (verh > niz) or found;

if found

then labels.caption:=label3.caption

+'Совпадение с элементом номер '

+ IntToStr(sred)+#13 + 'Сравнений '

+ IntToStr(n)

else label3.caption:=label3.caption

+'Образец в массиве не найден.';

end;

// нажатие клавиши в ячейке StringGrid

procedure TForml.StringGridlKeyPress(Sender: TObject; var Key: Char),

begin

if Key = #13 then // нажата клавиша <Enter>

if StringGrid1.Col < StringGridl.ColCount - 1

then // курсор в следующую ячейку таблицы

StringGridl.Col := StringGrid1.Col +1

else // курсор в поле Editl, в поле ввода образца

Editl.SetFocus;

end;

// нажатие клавиши в поле Editl

procedure TForm1.Edit1KeyPress(Sender: TObject;. var Key: Char);

begin

if Key = #13 // нажата клавиша <Enter>

then // сделать активной командную кнопку

Button1.SetFocus;

end;

end.


< Последняя страница :: Следующая страница > ©Arch1S, 2007-2008, авторские права защищены
Windows Intel Ubuntu Gnome Nvidia Firefox