TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
[Builder6] Sygnalizacja świetlna, niemam pomysłu ja zrobic przełanczanie stateł :/ , GesTee 29/03/05 01:06 A wiec tak:
Mam juz proste 2 drogi i prozizoryczne statła i teraz sazadnicza sprawa jak przy z timerem zrobic by
Shape1-zielony to Shape6-czerwony
Shape4-zielony to shape3-czerwony
Shape1-zielony i Shape2-pomaranczowy to Shape5-pomaranczowy
itd prosta sygnalizacja świetlna tylko musze to timerem zrobic
ponirzej zamieszczam kod i jakies moje kombinacje na wpół zasypiajac nak klawa co robiłem ;/
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Canvas->Pen->Width=75;
Canvas->MoveTo(300,50);
Canvas->LineTo(300,400);
Canvas->MoveTo(50,300);
Canvas->LineTo(500,300);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
// swiatla pionowe |
Shape1->Visible=True;
Shape1->Shape=stEllipse;
Shape1->Left=350;
Shape1->Top=100;
Shape1->Width=50;
Shape1->Height=50;
Shape1->Brush->Color=0x808080;
Shape2->Visible=True;
Shape2->Shape=stEllipse;
Shape2->Left=350;
Shape2->Top=150;
Shape2->Width=50;
Shape2->Height=50;
Shape2->Brush->Color=0x808080;
Shape3->Visible=True;
Shape3->Shape=stEllipse;
Shape3->Left=350;
Shape3->Top=200;
Shape3->Width=50;
Shape3->Height=50;
Shape3->Brush->Color=0x808080;
// swiatla poziome ---
Shape4->Visible=True;
Shape4->Shape=stEllipse;
Shape4->Left=100;
Shape4->Top=200;
Shape4->Width=50;
Shape4->Height=50;
Shape4->Brush->Color=0x808080;
Shape5->Visible=True;
Shape5->Shape=stEllipse;
Shape5->Left=150;
Shape5->Top=200;
Shape5->Width=50;
Shape5->Height=50;
Shape5->Brush->Color=0x808080;
Shape6->Visible=True;
Shape6->Shape=stEllipse;
Shape6->Left=200;
Shape6->Top=200;
Shape6->Width=50;
Shape6->Height=50;
Shape6->Brush->Color=0x808080;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Timer1->Enabled=False;
Shape1->Visible=False;
Shape2->Visible=False;
Shape3->Visible=False;
Shape4->Visible=False;
Shape5->Visible=False;
Shape6->Visible=False;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Timer1->Enabled=True;
}
//---------------------------------------------------------------------------
;
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
// I TU QWA PIES POGRZEBANY
/*
char z,p,c,a,b;
Shape1->Brush->Color=a;
Shape6->Brush->Color=b;
z=clGreen;
p=clOrange;
c=clRed;
if (a=z}{
Shape1->Brush->Color=clGreen;
Shape6->Brush->Color=clRed;
}
*/
}
//---------------------------------------------------------------------------
pewnie cos robie całkowicie zle albo bład jest niewielki niewiem dokładnie bo znam sie na tym niebardzo ;) i dlatego prosze o pomoc
jedno co wiem to cał czas mam komunikat ze nimoge przypisac zmiennje char albi tez int co Color i to mnie juz zwodzi bo niby jak mam to inaczej uzyskac w hexach jest tosamo :/
za wszelki porpowiedzi i podady z góry dzieki:) - pewnie chodzi o to, zeby zmienne, ktore zadeklarowales jako char z,p,c,a,b; , bwana 29/03/05 06:35
zadeklarowac jako TColor z,p,c,a,b;
z typem TColor strzelam na oslep, ale zaloze sie, ze w Builderze jest specjalny typ zmiennych dedykowany kolorom.
PS. Strasznie ciezko sie czyta tego Twojego posta."you don't need your smile when I cut
your throat" - [;..;] , GesTee 29/03/05 12:00
niestety musze przyznac ze samemu mi sie to ciezko czyta :/ Troche zmeczenie mi daje w kość i literki sie gubią ;/
TColor jak dałęm to dalej jest ze proba przypisania int. Juz przewertowałem chyba cały manual i niemam pomysłu :/:) - byc moze wiec chodzi o to ze przypisujesz stale (te wartosci zapisane szesnastkowo) do , bwana 30/03/05 06:10
zmiennych typu TColor. Niewykluczone, ze istnieje jakas funkcja typu MakeColor (lub metoda np. TColor.CreateRGBColor) ktora nalezy uzyc do przypisywania konkretnego koloru do zmiennej. Oczywiscie z nazwami metod/funkcji strzelam znowu, ale moze?
chodzi mi konkretnie o te zapisy:
Shape1->Brush->Color=0x808080;
ktore, byc moze powinny wygladac:
Shape1->Brush->Color=TColor.CreateRGBColor(0x80,0x80,0x80);"you don't need your smile when I cut
your throat" - [;..;] , GesTee 30/03/05 23:06
mam rozwiązanie :)
kolezka mi powiedział co i jak ze robi sie to jako automat moore'a
nalezało lekko zmodyfikowac Unit.h oraz podaje kod moze ktos bedzie kiedys szukał na boardzie :)
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
stan=1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Canvas->Pen->Width=50;
Canvas->MoveTo(300,50);
Canvas->LineTo(300,400);
Canvas->MoveTo(50,300);
Canvas->LineTo(500,300);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Shape1->Visible=True;
Shape2->Visible=True;
Shape3->Visible=True;
Shape4->Visible=True;
Shape5->Visible=True;
Shape6->Visible=True;
Shape1->Shape=stEllipse;
Shape1->Left=350;
Shape1->Top=100;
Shape1->Width=50;
Shape1->Height=50;
Shape2->Shape=stEllipse;
Shape2->Left=350;
Shape2->Top=150;
Shape2->Width=50;
Shape2->Height=50;
Shape3->Shape=stEllipse;
Shape3->Left=350;
Shape3->Top=200;
Shape3->Width=50;
Shape3->Height=50;
Shape4->Shape=stEllipse;
Shape4->Left=100;
Shape4->Top=200;
Shape4->Width=50;
Shape4->Height=50;
Shape5->Shape=stEllipse;
Shape5->Left=150;
Shape5->Top=200;
Shape5->Width=50;
Shape5->Height=50;
Shape6->Shape=stEllipse;
Shape6->Left=200;
Shape6->Top=200;
Shape6->Width=50;
Shape6->Height=50;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Shape1->Brush->Color=clGreen;
Shape2->Brush->Color=clYellow;
Shape3->Brush->Color=clRed;
Shape4->Brush->Color=clGreen;
Shape5->Brush->Color=clYellow;
Shape6->Brush->Color=clRed;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Shape1->Brush->Color=clWhite;
Shape2->Brush->Color=clWhite;
Shape3->Brush->Color=clWhite;
Shape4->Brush->Color=clWhite;
Shape5->Brush->Color=clWhite;
Shape6->Brush->Color=clWhite;
switch (stan) {
case 1:
Shape1->Brush->Color=clGreen;
Shape6->Brush->Color=clRed;
break;
case 2:
Shape2->Brush->Color=clYellow;
Shape5->Brush->Color=clYellow;
Shape6->Brush->Color=clRed;
break;
case 3:
Shape3->Brush->Color=clRed;
Shape4->Brush->Color=clGreen;
break;
case 4:
Shape2->Brush->Color=clYellow;
Shape3->Brush->Color=clRed;
Shape5->Brush->Color=clYellow;
stan=0;
break;
default:
stan=0;
}
stan++;
/*
Shape1->Brush->Color=clGreen;
Shape2->Brush->Color=clYellow;
Shape3->Brush->Color=clRed;
Shape4->Brush->Color=clGreen;
Shape5->Brush->Color=clYellow;
Shape6->Brush->Color=clRed;
*/
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Shape1->Visible=False;
Shape2->Visible=False;
Shape3->Visible=False;
Shape4->Visible=False;
Shape5->Visible=False;
Shape6->Visible=False;
}
//---------------------------------------------------------------------------:)
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|