Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.12;
Скачать: CL | DM;

Вниз

как сделать лампочку   Найти похожие ветки 

 
Denver ©   (2008-09-04 09:29) [0]

как сделать в дельфи лампочку маленькую, чтобы true-зеленая, false-красная??? Заранее спасибо.


 
brother ©   (2008-09-04 09:32) [1]

отрисовать все вручную...


 
brother ©   (2008-09-04 09:34) [2]

ты бы хоть в начинающих чтоль это спросил...


 
Медвежонок Пятачок ©   (2008-09-04 09:34) [3]

а чтобы энергосберегающая получилась, что надо написать?


 
Denver ©   (2008-09-04 09:35) [4]

Это как? Типа один Image1.Visible:=true, а другой Image2.Visible:=false;

как то не серьезно. нет ли как-нибудь попроше, типа Light.Lit:=true или Light.Lit:=false?


 
Медвежонок Пятачок ©   (2008-09-04 09:44) [5]

как то не серьезно

слишком малый кпд?


 
Сергей М. ©   (2008-09-04 09:44) [6]


> как то не серьезно


Это почему ?

И чем же проще "типа Light.Lit:=true или Light.Lit:=false" ?


 
brother ©   (2008-09-04 09:47) [7]

> типа Light.Lit:=true или Light.Lit:=false?

это уже объект со всеми вытекающими последствиями) тебе оно надо?


 
Медвежонок Пятачок ©   (2008-09-04 09:51) [8]

как сделать в дельфи лампочку маленькую, чтобы true-зеленая, false-красная??? Заранее спасибо.

Я знаю как сделать. Но только большую лампочку.
И true-разбитая, а false - холодная.


 
oldman ©   (2008-09-04 10:03) [9]

ты про led1on...led3off из прилакаемых к дельфи images/buttons?

и что тебе непонятно?


 
brother ©   (2008-09-04 10:06) [10]

> led1on...led3off

думаю он сам хочет отрисовывать ? это же не лампочки ;)


 
Denver ©   (2008-09-04 10:07) [11]

Мне надо чтобы это был один объект для след.

Object.Enabled:=(Flag and Light.Lit);

где Object -это кнопка
а Flag - boolean


 
Denver ©   (2008-09-04 10:09) [12]

а битмапа у меня картинка 22*11, где 11*11 это лампочка красная, а след. 11*11 это лампочка зеленая


 
Медвежонок Пятачок ©   (2008-09-04 10:10) [13]

имаджлист тебе в руки


 
brother ©   (2008-09-04 10:19) [14]

> а битмапа у меня картинка 22*11, где 11*11 это лампочка
> красная, а след. 11*11 это лампочка зеленая

а почему ты это не сказал сразу? партизан или как? почему мы гадать должы? излагай все сразу...
создавай объект, назначай свойство, и вперед...


 
Denver ©   (2008-09-04 10:30) [15]

Тогда вопрос напрямую как мне взять часть картинки, и назначить свойство типа Lit, который я указывал до этого?


 
Ega23 ©   (2008-09-04 10:30) [16]

$100 - и ты счастливый обладатель компонента "Светофор".


 
oldman ©   (2008-09-04 10:32) [17]


> Denver ©   (04.09.08 10:30) [15]


Повесить на форму TImage размером 11х11, а картинку 22х11 двигать внутри его.


 
brother ©   (2008-09-04 10:38) [18]

что ты так к объекту прицепился а?


 
Медвежонок Пятачок ©   (2008-09-04 10:38) [19]

Тогда вопрос напрямую как мне взять часть картинки, и назначить свойство типа Lit, который я указывал до этого?

Имаджлист тебе в руки


 
Denver ©   (2008-09-04 10:42) [20]

Ega23 лично для тебя! За 100$ я Цветомузыку напишу.

oldman идея хорошая я наверное так и напишу, а как мне это привязать к булевскому значению?

brother можно в принципе и не объект, но опять же мне надо чтобы было .Lit=false или .Lit=true


 
Vlad Oshin ©   (2008-09-04 10:44) [21]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls, DB, ADODB, AppEvnts;

type
 TForm1 = class(TForm)
   Button2: TButton;
   Button3: TButton;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   NeZakolebalsja:boolean;
 end;

 tLampochka=class(tComponent)
   private
     FOn:boolean;
     Image:tImage;
     procedure OnOff(V:boolean);
     function Gorit:boolean;
   public
    Constructor UkrastUSosedaPokaUNegoVGostjahIzTualeta(aOwner:tComponent);
    Destructor PrishelSosedVGostyISdelalTakge;
    Property LOff:boolean read Gorit write OnOff;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
L:tLampochka;
begin
NeZakolebalsja:=false;
L:=tLampochka.UkrastUSosedaPokaUNegoVGostjahIzTualeta(form1);
repeat
  if L.Gorit
   then L.LOff:=false
   else L.LOff:=true;
  sleep(100);
  application.ProcessMessages;
until NeZakolebalsja;
L.PrishelSosedVGostyISdelalTakge;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  NeZakolebalsja:=true;
end;

{ tLampochka }

Constructor tLampochka.UkrastUSosedaPokaUNegoVGostjahIzTualeta(aOwner:tComponent);
begin
 inherited;
 Image:=tImage.Create(nil);
 image.Visible:=false;
 Image.Parent:=tWinControl(aOwner);
 image.Left:=1;
 image.Top:=1;
 Image.Picture.LoadFromFile("c:\1.bmp");
 image.Visible:=true;
end;

function tLampochka.Gorit: boolean;
begin
 if FOn
  then result:=true
  else result:=false;
end;

procedure tLampochka.OnOff(V:boolean);
begin
 FOn:=V;
 if FOn
  then Image.Picture.LoadFromFile("c:\1.bmp")
  else Image.Picture.LoadFromFile("c:\2.bmp");
end;

destructor tLampochka.PrishelSosedVGostyISdelalTakge;
begin
 FreeAndNil(Image);
 inherited;
end;

end.


 
brother ©   (2008-09-04 10:46) [22]

> Vlad Oshin ©   (04.09.08 10:44)

расщедрился? а как же обучение? поиск в гугле, изучение объектов итд?)


 
oldman ©   (2008-09-04 10:51) [23]


> Denver ©   (04.09.08 10:42) [20]
> oldman идея хорошая я наверное так и напишу, а как мне это
> привязать к булевскому значению?


if картинка.left := 0 then a:=true else a:=false;

и наоборот


 
Ega23 ©   (2008-09-04 10:54) [24]


> Ega23 лично для тебя! За 100$ я Цветомузыку напишу.


Поймать тебя на слове, что-ли? Чтобы думал в следующий раз, прежде чем мысль из головы извлечь. Да и за базар научился отвечать, заодно...
Даже $100 не жалко на такое, чесслово...


 
brother ©   (2008-09-04 10:57) [25]

что есть светомузыка в програмном варианте?


 
Плохиш ©   (2008-09-04 11:01) [26]


> Ega23 ©   (04.09.08 10:54) [24]

Только не забуть в договоре штраф за не выполнение предусмотреть, размером 10000$ ;-)


 
Denver ©   (2008-09-04 11:02) [27]


> Ega23

Ты бы лучше по теме базарил, а не словами умными бросался. Ты че здесь хотел, прайс-листы что-ли впаривать. Не знаешь как людям помочь, и не ... сюда соваться!


 
brother ©   (2008-09-04 11:03) [28]

> но опять же мне надо чтобы было .Lit=false или .Lit=true

это и есть обращение к свойству объекта


 
Denver ©   (2008-09-04 11:03) [29]


> Vlad Oshin

Классный вариант сейчас попробую его реализовать под себя. Спасибо!


 
Denver ©   (2008-09-04 11:04) [30]


> brother


> это и есть обращение к свойству объекта

Да мне надо чтобы это было property Lit: Boolean


 
Denver ©   (2008-09-04 11:06) [31]


> oldman

Тоже спасибо. Может и его реализую вместо варианта Vlad Oshin. Какой понравится. :)


 
Ega23 ©   (2008-09-04 11:06) [32]


> Ты бы лучше по теме базарил, а не словами умными бросался.
>  Ты че здесь хотел, прайс-листы что-ли впаривать. Не знаешь
> как людям помочь, и не ... сюда соваться!
>


Кладу на бочку $100. Даже $200 кладу. Народ меня в реале знает, не прокину.
Через неделю наблюдаю компонент "Цветомузыка". Будем ТЗ обсуждать, или ты всё-таки немножко подумаешь, почитаешь несколько раз свой вопрос, подумаешь ещё раз, прочитаешь внимательно вот это вот http://segfault.kiev.ua/smart-questions-ru.html и потом задашь свой вопрос иначе?


 
Ega23 ©   (2008-09-04 11:08) [33]


> Vlad Oshin ©   (04.09.08 10:44) [21]


У тебя ошибка. Не сильно заметная с первого взгляда (всего 1 директива и один вызов добавить надо), но товарищ проблем поимеет, если тупо передерёт.


 
Ega23 ©   (2008-09-04 11:09) [34]

if картинка.left := 0 then a:=true else a:=false;

Стыдно, девушки.... :

a := (картинка.left = 0)

:)


 
brother ©   (2008-09-04 11:10) [35]

не круто ли ты разошелся???

> [27] Denver ©   (04.09.08 11:02)


 
Vlad Oshin ©   (2008-09-04 11:11) [36]


> Ega23 ©   (04.09.08 11:08) [33]

вообще отвратительно написано
приколоться ж хотел


 
Ega23 ©   (2008-09-04 11:13) [37]


> вообще отвратительно написано


Деструктор не переопределён.


 
Ega23 ©   (2008-09-04 11:14) [38]

Ой... Он ещё и называется у тебя фиг знает как....


 
Vlad Oshin ©   (2008-09-04 11:15) [39]


> Деструктор не переопределён.

потому и надо(лучше) их называть стандартно..
тогда не забудешь и другие не будут гадать как вызвать


 
Denver ©   (2008-09-04 11:22) [40]

Все сделалось еще проще взял картинку 33*11, где первые 11*11 это красная, вторая 11*11 это зеленая, а третья 11*11 это белая. Так вот мой Lit это свойство TImage.Center, когда он false это красная, а когда true - зеленая. :)))

И без всяких заморочек!!!



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

Текущий архив: 2008.10.12;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.017 c
2-1220452724
FIL-23
2008-09-03 18:38
2008.10.12
Двойное нажатие мышкой...


2-1220510700
workbench
2008-09-04 10:45
2008.10.12
настройки proxy-сервера из браузера


15-1219053835
Vlad Oshin
2008-08-18 14:03
2008.10.12
Microsoft® Virtual PC 2007, что-то не получается сеть настроить


2-1220527371
fellow
2008-09-04 15:22
2008.10.12
форма не хочет Show поверх всех


15-1219088046
Тимохов
2008-08-18 23:34
2008.10.12
Helpdesk и работа с пользователями