/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
En Ide
Fra : Henning Madsen


Dato : 11-04-08 19:50

Har prøvet alting næsten.
Opgaven er sådan:
På en Image kan der være fra 1 til ca.500 cirkler
disse har navne.
På Imagen kan der være op til ca 50 der har samme navn.
i ListBox1 og 2 har jeg lagt et navn's X og Y positioner
for et navn der er 3 af.
Medfølgende program kører udmærket, men får jo kun det ene navn's
cirkel til at blinke.

Ønskes at alle 3(op til ca. 50 stk) cirkler blinker på samme tid.
Programmet der ligger X og Y positionerne i ListBox 1 og 2 er lavet.
Er her nogen med en ide vel jeg (en lysegrøn) gerne hører fra jer.
MVH
Henning

var
Form1: TForm1;
Minutter : Integer;
implementation

{$R *.dfm}
//****************************************************
procedure TForm1.Timer1Timer(Sender: TObject);
var
A, B, T : Integer;
begin
For T := 0 To ListBox1.Items.Count -1 Do
Begin
A := StrToInt(ListBox1.Items.Strings[T]);
B := StrToInt(ListBox2.Items.Strings[T]);
End;
Minutter := Minutter + 1;
Case Minutter Of
50 : Form1.Canvas.Brush.Color := clYellow;
51 : Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
100 : Form1.Canvas.Brush.Color := clRed;
101 : Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
150 : Form1.Canvas.Brush.Color := clYellow;
151 : Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
200 : Form1.Canvas.Brush.Color := clRed;
201 : Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
250 : Form1.Canvas.Brush.Color := clYellow;
251 : Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
300 : Form1.Canvas.Brush.Color := clRed;
351 : Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
352 : Timer1.Enabled := False; //Timer1 stopper.
End;
Edit1.Text := IntToStr(Minutter); // Kun til Kontrol.
end;
//****************************************************
procedure TForm1.FormCreate(Sender: TObject);
begin
ListBox1.Items.Add(IntToStr(584));
ListBox1.Items.Add(IntToStr(597));
ListBox1.Items.Add(IntToStr(605));
ListBox2.Items.Add(IntToStr(100));
ListBox2.Items.Add(IntToStr(108));
ListBox2.Items.Add(IntToStr(115));
end;
//****************************************************
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled := True; //Timer Starter.
Minutter := 0;
end;
//****************************************************
end.



 
 
Henning Madsen (12-04-2008)
Kommentar
Fra : Henning Madsen


Dato : 12-04-08 20:14

Undskyld ulejligheden. Problemet er løst.
MVH
Henning

"Henning Madsen" <hkjeldm@mail.dk> skrev i en meddelelse
news:47ffb2e7$0$15886$edfadb0f@dtext01.news.tele.dk...
> Har prøvet alting næsten.
> Opgaven er sådan:
> På en Image kan der være fra 1 til ca.500 cirkler
> disse har navne.
> På Imagen kan der være op til ca 50 der har samme navn.
> i ListBox1 og 2 har jeg lagt et navn's X og Y positioner
> for et navn der er 3 af.
> Medfølgende program kører udmærket, men får jo kun det ene navn's
> cirkel til at blinke.
>
> Ønskes at alle 3(op til ca. 50 stk) cirkler blinker på samme tid.
> Programmet der ligger X og Y positionerne i ListBox 1 og 2 er lavet.
> Er her nogen med en ide vel jeg (en lysegrøn) gerne hører fra jer.
> MVH
> Henning
>
> var
> Form1: TForm1;
> Minutter : Integer;
> implementation
>
> {$R *.dfm}
> //****************************************************
> procedure TForm1.Timer1Timer(Sender: TObject);
> var
> A, B, T : Integer;
> begin
> For T := 0 To ListBox1.Items.Count -1 Do
> Begin
> A := StrToInt(ListBox1.Items.Strings[T]);
> B := StrToInt(ListBox2.Items.Strings[T]);
> End;
> Minutter := Minutter + 1;
> Case Minutter Of
> 50 : Form1.Canvas.Brush.Color := clYellow;
> 51 : Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
> 100 : Form1.Canvas.Brush.Color := clRed;
> 101 : Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
> 150 : Form1.Canvas.Brush.Color := clYellow;
> 151 : Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
> 200 : Form1.Canvas.Brush.Color := clRed;
> 201 : Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
> 250 : Form1.Canvas.Brush.Color := clYellow;
> 251 : Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
> 300 : Form1.Canvas.Brush.Color := clRed;
> 351 : Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
> 352 : Timer1.Enabled := False; //Timer1 stopper.
> End;
> Edit1.Text := IntToStr(Minutter); // Kun til Kontrol.
> end;
> //****************************************************
> procedure TForm1.FormCreate(Sender: TObject);
> begin
> ListBox1.Items.Add(IntToStr(584));
> ListBox1.Items.Add(IntToStr(597));
> ListBox1.Items.Add(IntToStr(605));
> ListBox2.Items.Add(IntToStr(100));
> ListBox2.Items.Add(IntToStr(108));
> ListBox2.Items.Add(IntToStr(115));
> end;
> //****************************************************
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> Timer1.Enabled := True; //Timer Starter.
> Minutter := 0;
> end;
> //****************************************************
> end.
>



Ukendt (13-04-2008)
Kommentar
Fra : Ukendt


Dato : 13-04-08 17:48


"Henning Madsen" <hkjeldm@mail.dk> skrev i en meddelelse
news:48010a13$0$2104$edfadb0f@dtext02.news.tele.dk...
> Undskyld ulejligheden. Problemet er løst.

Ja, men hvordan?



Henning Madsen (13-04-2008)
Kommentar
Fra : Henning Madsen


Dato : 13-04-08 19:26


"Vint" <vint> skrev i en meddelelse
news:48023935$0$4451$ba624c82@nntp02.dk.telia.net...
>
> "Henning Madsen" <hkjeldm@mail.dk> skrev i en meddelelse
> news:48010a13$0$2104$edfadb0f@dtext02.news.tele.dk...
>> Undskyld ulejligheden. Problemet er løst.
>
> Ja, men hvordan? Sådan (Merkeligt man roder og roder, og lige pludselig er
> løsningen der ?? og så er den jo ret sempel,
det er nok alderen der trykker).
>//*******************************************************************
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Enabled := False;
Timer1.Interval := 100;

ListBox1.Items.Add(IntToStr(500));
ListBox1.Items.Add(IntToStr(500));
ListBox1.Items.Add(IntToStr(500));
ListBox1.Items.Add(IntToStr(500));
ListBox1.Items.Add(IntToStr(500));
ListBox1.Items.Add(IntToStr(500));
ListBox2.Items.Add(IntToStr(100));
ListBox2.Items.Add(IntToStr(120));
ListBox2.Items.Add(IntToStr(140));
ListBox2.Items.Add(IntToStr(160));
ListBox2.Items.Add(IntToStr(180));
ListBox2.Items.Add(IntToStr(200));
end;
//*******************************************************************
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled := True; //Timer1 Starter.
Minutter := 0;
end;
//*******************************************************************
procedure TForm1.Timer1Timer(Sender: TObject);
var
T,A,B : Integer;
begin
Minutter := Minutter + 1;
For T := 0 To ListBox1.Items.Count -1 Do
Begin
A := StrToInt(ListBox1.Items.Strings[T]);
B := StrToInt(ListBox2.Items.Strings[T]);

If Minutter = 10 Then Form1.Canvas.Brush.Color := clYellow;
If Minutter = 11 Then Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
If Minutter = 20 Then Form1.Canvas.Brush.Color := clRed;
If Minutter = 21 Then Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
If Minutter = 30 Then Form1.Canvas.Brush.Color := clYellow;
If Minutter = 31 Then Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
If Minutter = 40 Then Form1.Canvas.Brush.Color := clRed;
If Minutter = 41 Then Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
If Minutter = 50 Then Form1.Canvas.Brush.Color := clYellow;
If Minutter = 51 Then Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
If Minutter = 60 Then Form1.Canvas.Brush.Color := clRed;
If Minutter = 61 Then Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
If Minutter = 70 Then Form1.Canvas.Brush.Color := clYellow;
If Minutter = 71 Then Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
If Minutter = 80 Then Form1.Canvas.Brush.Color := clRed;
If Minutter = 81 Then Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
If Minutter = 90 Then Form1.Canvas.Brush.Color := clYellow;
If Minutter = 91 Then Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
If Minutter = 100 Then Form1.Canvas.Brush.Color := clRed;
If Minutter = 101 Then Form1.Canvas.Ellipse(A-8,B-8,A+8,B+8);
IF Minutter = 105 Then Timer1.Enabled := False; //Timer1 stopper.
End;
Edit1.Text := IntToStr(Minutter);
end;
//*******************************************************************



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste