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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.044 c
1-1199986299
MaX
2008-01-10 20:31
2008.10.12
Юникод в делфи


6-1193993911
Artik
2007-11-02 11:58
2008.10.12
Запуск программ по сети.


15-1219373522
Slider007
2008-08-22 06:52
2008.10.12
С днем рождения ! 22 августа 2008 пятница


15-1219090059
Alien1769
2008-08-19 00:07
2008.10.12
pppoe


2-1220193371
dars73
2008-08-31 18:36
2008.10.12
Округление чисел





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский