![]() |
ampel programmieren
Liste der Anhänge anzeigen (Anzahl: 1)
kann mal jemand bei der ampel hier helfen?
Delphi-Quellcode:
unit ampel;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Shape1: TShape; sh_red: TShape; sh_yellow: TShape; sh_green: TShape; switch: TButton; procedure switchClick(Sender: TObject); private { Private-Deklarationen} public { Public-Deklarationen} end; var Form1: TForm1; implementation {$R *.DFM} Procedure wait(Time:Integer); Var x:Dword; Begin Time := Time * 20; x := GetTickCount ; While x - time < GetTickCount do Application.ProcessMessages; End; procedure TForm1.switchClick(Sender: TObject); begin wait(3); sh_green.Visible := false; sh_yellow.Visible := true; wait(3); sh_yellow.Visible := false; sh_red.Visible := true; wait(3); sh_yellow.Visible := true; wait(3); sh_red.Visible := false; sh_yellow.Visible := false; sh_green.Visible := true; end; end. |
Re: ampel programmieren
Delphi-Quellcode:
application.progessApplication (schlagt mich ich bin zu müede und kan ndas wort application nicht mehr schreiben ^^) fehlt da immer nach den schaltungen hischreiben und wuppi ;)
wait(3);
sh_green.Visible := false; sh_yellow.Visible := true; wait(3); sh_yellow.Visible := false; sh_red.Visible := true; wait(3); sh_yellow.Visible := true; wait(3); sh_red.Visible := false; sh_yellow.Visible := false; sh_green.Visible := true; |
Re: ampel programmieren
mhh irgentwas funzt da nicht. gibts noch andere wege?
|
Re: ampel programmieren
Zitat:
Zitat:
es wäre sehr hilfreich wenn Du uns sagen würdest wo das Problem liegt bzw. was denn nicht funktioniert. |
Re: ampel programmieren
:wall: :wall: :wall: :wall: :wall: die ampel schaltet garnet erst um. das ist das problem. :wall:
|
Re: ampel programmieren
Delphi-Quellcode:
nur mal so zu darübernachdenken,
Procedure wait(Time:Integer);
Var x:Dword; Begin Time := Time * 20; x := GetTickCount ; While x - time < GetTickCount do Application.ProcessMessages; End; GetTickCount gibt Dir die Anzahl der Millisekunden seit dem Start des Computers aus. (Aus der Hilfe: GetTickCount is a Cardinal function used to retrieve the number of milliseconds since the computer was started.) Die ziehst von dieser Zahl x*20 Millisekunden ab, was eine sehr kurze Zeitdauer ist. Deine switch Methode wird in 240ms durchlaufen, da brauchst Du ein schnelles Auge. Grüße Klaus |
Re: ampel programmieren
Delphi-Quellcode:
//EDIT: GELB richtig!
Procedure wait(const Time:Integer);
var x: Cardinal; Begin x := GetTickCount+Time*400 ; while GetTickCount<X do Application.ProcessMessages; End; procedure TForm1.Zustand(const AMode: Word); procedure _Set (AC1,AC2,AC3: TColor); begin sh_red.Brush.Color := AC1; sh_Yellow.Brush.Color := AC2; sh_Green.Brush.Color := AC3; end; begin case AMode of 0: _Set (clRed,$408080,clGreen); // ROT 1: _Set (clRed,clYellow,clGreen); // Rot-Gelb 2: _Set (clMaroon,$408080,clLime); // Grün 3: _Set (clMaroon,clYellow,clGreen); // Gelb end; end; procedure TForm1.switchClick(Sender: TObject); begin Zustand (0); wait(3); Zustand (1); wait(3); Zustand (2); wait(3); Zustand (3); wait(3); Zustand (0); end; |
Re: ampel programmieren
wo soll der zustand definiert werden?
[Warnung] ampel.pas(34): Vorzeichenbehaftete und -lose Typen werden kombiniert - beide Operanden werden erweitert [Fehler] ampel.pas(39): Undefinierter Bezeichner: 'Zustand' [Fehler] ampel.pas(39): '=' erwartet, aber ')' gefunden [Fehler] ampel.pas(42): Undefinierter Bezeichner: 'sh_red' [Fehler] ampel.pas(43): Undefinierter Bezeichner: 'sh_Yellow' [Fehler] ampel.pas(44): Undefinierter Bezeichner: 'sh_Green' [Fehler] ampel.pas(57): Undefinierter Bezeichner: 'Zustand' [Fataler Fehler] Project1.dpr(5): Verwendete Unit 'ampel.pas' kann nicht compiliert werden |
Re: ampel programmieren
in Tform1
Grundlagen wären nicht schlecht! :wink: |
Re: ampel programmieren
also als variable. oder wie??? das geht nämlich nicht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz