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

СообЧА. Программирование на Delphi


Служба Рассылок Subscribe.Ru
Subscribe.Ru :СообЧа программирование на дельфи !
—Сообча : программирование на дельфи

Пора делать ремонт?
Не беда!!! Заходите сюда!!!

В новый год с новыми обоями!
***Дом обоев***


Выпуск для коммерческих программ
         
 

С рождеством!
(прошедшим)

 
   
   
         

 

 В этом выпуске:

Обратите внимание на наш новогодний дизайн!

 

Рассылки Subscribe.Ru это стильно удобно, и информативно!
СообЧа (СООБщество ЧАйников). Обмен опытом, вопросы, ответы.


подпишись и подпиши друга!!!!

 Contact (Связь с Нами):

Pixel@novgorod.net + Subject:

Vcl Haunting

"Золотой Чайник"

Вопрос по дельфи N (номер версии)

Help!

 

 

Новости СЕТИ

К заголовку

****CD котый вам пригодится!!!****
Конструктор 3D игр: Этот, по сути уникальный CD , нечто среднее между языком программирования, 3д движком и лего конструктором(в том плане что можно соорудить что-либо стоящее из уже готовых "деталей"). Сам я пока обдумываю покупку данного диска, но тем, кто мечтает написать свою игру, с минимумом программирования просто обязан это купить.

Здесь можно купить диск и посмотреть пару скриншотов

Книги по Дельфи которые ВЫ ОБЯЗАНЫ ПРОЧИТАТЬ...

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

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

Новый сайт в новом году, с таким девизом я переделал наш сайт, и добавил туда 3 новых компонента, ктати о новых сайтах совсем недавно обнаружил ЗДЕСЬ ОГРОМНЫЙ СКЛЛАД VCL как бесплатных, так и коммерческих.

Новое предложение,теперь мы публикуем объявления на основе бартера, т.е. если у вас есть то, что нас интересует (преимущественно софт и серийные номера), то вы можете обменять это на X объявлений, где X зависит от ценности предложения. Помимо этого за скромную оплату 20-60 руб(без учета стоимости почтового перевода от вас к нам) я помогу оформить ваш сайт или найти апплет.

 

Ошибка в прогрессбаре

К заголовку

При использовании в компонентах свойства BorderWidth будте внимательны. В большинстве компонентов (ControlBar, ProgressBar, StatusBar, ToolBar, TrackBar и т.д.), это свойство реализовано некорректно. Можно получить забавные результаты или большие неприятности.

На рисунке(к сожалению я его не опубликовал, но могу выслать) показаны возможные варианты при использовании различных значений BorderWidth в компоненте ProgressBar. Высота компонента ProgressBar.Height = 16.

В последних двух вариантах вместо индикатора – изображение под активным окном. Не надейтесь, что компонент стал "прозрачным". Это "моментальный снимок" при создании окна.

Если есть желание, то некорректность можно исправить в ComCtrls.pas, переопределив BorderWidth.


TProgressBar = class(TWinControl)
private

FBorderWidth: TBorderWidth;

procedure SetBorderWidth(Value: TBorderWidth);

published

property BorderWidth: TBorderWidth read FBorderWidth write SetBorderWidth;



constructor TProgressBar.Create(AOwner: TComponent);
begin

FBorderWidth := inherited BorderWidth;

end;


procedure TProgressBar.SetBorderWidth(Value: TBorderWidth);
begin
if Value > (Height div 2)-3 then Exit
if Value <> inherited BorderWidth then begin
inherited BorderWidth := Value;
FBorderWidth := inherited BorderWidth;
end;
end;


 

 

Tform на основе строки

К заголовку

Обзор

В данном документе рассказывается о том, как в Delрhi можно создать экземпляр формы на основе строки, содержащей имя типа. Код примера прилагается.

На кого расчитан данный документ?

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

Создание формы на основе строки

Чтобы можно было создать экземпляр формы на основе строки, содержащей имя типа, вы должны в первую очередь зарегистрировать данный тип в Delphi. Это выполняется функцией "RegisterClass". RegisterClass описан следующим образом:

--------------------------------------------------------------------------------
procedure RegisterClass(AClass: TPersistentClass);

AClass - класс TPersistent. Другими словами, класс, который вы хотите регистрировать, в какой-то точке должен наследоваться от TPersistent. Поскольку все элементы управления Delphi, включая формы, соблюдают это требование, то проблем быть не должно. Но такой способ не пройдет, если регистрируемые классы наследуются непосредственно от TObject.

После регистрации класса, вы можете найти указатель на тип, передавая строку в FindClass. Функция возвратит ссылку на класс, которую можно использовать для создания формы. Небольшой поясняющий пример:

--------------------------------------------------------------------------------
procedure TForm1.Button2Click(Sender: TObject);
var

b : TForm;
f : TFormClass;
begin

f := TFormClass(findClass('Tform2'));
b := f.create(self);
b.show;
end;

Данный код создаст тип TForm2, который мы зарегистрировали с помощью RegisterClass.

Демонстрационный проект

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

В первой форме разместите поле редактирования и кнопку. Удалите все формы, кроме главной, из списка AutoCreate. Наконец, скопируйте приведенный ниже код в unit1, он позволит вам создавать форму по имени типа класса, введенному в поле редактирования.

--------------------------------------------------------------------------------
unit Unit1;

interface

uses

Unit2, Unit3, Unit4, Unit5, Windows, Messages,
SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type

TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin

RegisterClass(Tform2);
RegisterClass(Tform3);
RegisterClass(Tform4);
RegisterClass(Tform5);
end;

procedure TForm1.Button1Click(Sender: TObject);
var

f : Tformclass;
begin

f := tformclass(findClass(edit1.text));
with f.create(self) do
show;
end;



Zaluskiy Anton(COOLer)  и Khrapunov Kirill(Pixel)  - ведущие проекта    "Мир Delphi" (C) Pixelsoftware(Pixel)& Delphi 2000-2002(COOLer)


Озон! TopList SpyLOG RLE Banner Network
http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу
Рейтингуется SpyLog

 

Another Banner Network



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

В избранное