Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];

Вниз

Люди!! Выручайте!! ГАРЮ!!!!   Найти похожие ветки 

 
MAXep   (2002-06-26 20:40) [0]

Чуваки!! Срочно нужена компонента - круговой Progress-bar для Delphi 6 со свойствами как у обычного progress-bar"a!!! Пажалуста если не впадлу напишите и киньте на мыло!! А если есть готовый - тем лучше!! (пол инета перерыл - не нашёл) Это вопрос моей дальнейшей учёбы в институте!! Вот иллюстрация как он должен выглядеть: m-o-m.pochtamt.ru/progress.gif


 
127.0.0.1   (2002-06-26 21:07) [1]

Чему же вас там учат :-))))


 
Song   (2002-06-27 09:01) [2]

TGauge ?


 
Johnny Smith   (2002-06-27 09:15) [3]

2MAXep (26.06.02 20:40)
Чувак! Карочи, ты знаишь, нету таково кампаненты...


 
Кулюкин Олег   (2002-06-27 09:15) [4]

TChart из штатной поставки?

См. www.torry.ru


 
Кулюкин Олег   (2002-06-27 09:19) [5]

MAXep (26.06.02 20:40)
> напишите и киньте на мыло
Анекдот вспоминается анекдот
"Вась, ты за сколько стометровку пробежишь?"
"За 100 баксов..."

Хотя к чему это я об оплате?
Вы наверное бесплатно хотите...


 
MAXep   (2002-06-27 10:10) [6]

Блин я заплочу если это так сложно! Могу по Вебмани!!! Все такие умные и хоть бы кто сделал...


 
Бурундук   (2002-06-27 11:42) [7]

Наваял минут за несколько минут, поэтому отсутствие глюков не гарантирую. Но похож.

TRingProgressBar = class(TGauge)
private
FRingWidth: Integer;
FBorderColor: TColor;
procedure SetRingWidth(const Value: Integer);
procedure SetBorderColor(const Value: TColor);
public
procedure Paint; override;
constructor Create(AOwner: TComponent); override;
published
property RingWidth: Integer read FRingWidth write SetRingWidth;
property BorderColor: TColor read FBorderColor write SetBorderColor;
end;

{ TRingProgressBar }

constructor TRingProgressBar.Create(AOwner: TComponent);
begin
inherited;
FRingWidth := 16;
Font.Size := 16;
end;

procedure TRingProgressBar.Paint;
var XAngle, YAngle, X0, Y0, PerCent, TW, TH: Integer;
Angle: Double;
R: TRect;
Text: string;
begin
with ClientRect do
begin
Canvas.Brush.Color := BackColor;
Canvas.Brush.Style := bsSolid;
Canvas.Pen.Color := BorderColor;
Canvas.Font.Assign(Font);

Canvas.Ellipse(Left, Top, Right, Bottom);

Canvas.Brush.Color := ForeColor;

PerCent := Round(Progress/MaxValue*100);
Angle := -Progress/MaxValue*2*Pi;

X0 := Round( Sin(0)*1000 ) + Width div 2;
Y0 := - Round( Cos(0)*1000 ) + Height div 2;
XAngle := Round( Sin(Angle)*1000 ) + Width div 2;
YAngle := - Round( Cos(Angle)*1000 ) + Height div 2;;

if PerCent <> 100 then
Canvas.Pie(Left, Top, Right, Bottom,
X0, Y0, XAngle, YAngle)
else
Canvas.Ellipse(Left, Top, Right, Bottom);

Canvas.Brush.Color := BackColor;
Canvas.Ellipse(Left + FRingWidth, Top + FRingWidth,
Right - FRingWidth, Bottom - FRingWidth);


Text := Format("%d %%", [PerCent]);
TW := Canvas.TextWidth(Text);
TH := Canvas.TextHeight(Text);
R := Rect(Left + Width div 2 - TW div 2 - 3, Top + Height div 2 - TH div 2 - 3,
Left + Width div 2 + TW div 2 + 3, Top + Height div 2 + TH div 2 + 3);

Canvas.Brush.Style := bsClear;
Canvas.TextRect(R, R.Left + 3, R.Top + 3, Text);
end;
end;

procedure TRingProgressBar.SetBorderColor(const Value: TColor);
begin
FBorderColor := Value;
Invalidate;
end;

procedure TRingProgressBar.SetRingWidth(const Value: Integer);
begin
FRingWidth := Value;
Invalidate;
end;


 
Бурундук   (2002-06-27 12:03) [8]

Для большей похожести:

constructor TRingProgressBar.Create(AOwner: TComponent);
begin
inherited;
FRingWidth := 13;
Font.Size := 17;
Font.Name := "Times New Roman";
Width := 90;
Height := 90;
ForeColor := clBlue;
Font.Color := clBlue;
end;


 
MAXep   (2002-06-27 12:06) [9]

Мен спасибо! Ты спас меня! Правда она не работает.. но не важно в принцыпе на экзамене это похрен главное текст показать! А ваще куда этот текст вставлять? Я жму New Component, в предке пишу TGaudge, и тот текст что там замещаю на этот.. а кода жму install он ругается уже на первой строчке...


 
Mike B.   (2002-06-27 12:36) [10]

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


 
Бурундук   (2002-06-27 12:40) [11]

Сделай отельный юнит под него, в разделе interface добавь

procedure Register;

а в разделе implementation

procedure Register;
begin
RegisterComponents("MAXep", [TRingProgressBar]);
end;

а затем не New Component, а Install Component


 
Бурундук   (2002-06-27 12:52) [12]

И uses Gauges не забудь поставить.


 
Бурундук   (2002-06-27 12:56) [13]

ЗЫ ты хоть сможешь объяснить экзаменатору, как бензин по проводам течёт?


 
MAXep   (2002-06-27 13:42) [14]

Да я делфи этот в #$%^% видел но что поделать если на ф-те "Дизайн" заставляют его учить...



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.006 c
3-81149
kaif
2002-06-28 23:17
2002.07.25
FK в IB6.0 - Firebird. Невозможно массовое удаление-добавление


1-81252
vanek
2002-07-14 18:56
2002.07.25
проги,проги,проги


14-81461
MAxiMum
2002-06-25 16:21
2002.07.25
Поддержка Font.Charset


1-81263
awaken
2002-07-15 07:55
2002.07.25
COM клиент на Delphi. Правильно ли я делаю?


1-81289
OlDemon
2002-07-12 09:35
2002.07.25
Разделитель целой и дробной части





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский