Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Shapes "rund" machen
judomichi - So 27.02.11 11:09
Titel: Shapes "rund" machen
Hallo,
ich habe mich heute hier angemeldet, weil ich denke, das ich hier viele Informationen und Antworten auf meine Fragen bekomme. Wir habe gerade in der Schule mit Delphi (6) Programmierung begonnen. Um zu Hause zu üben habe ich eine alte 6er Version installiert und auch noch auf dem Flohmarkt ein Buch "Delphi 5 lernen" für 1 Euro gekauft.
Die Basiskenntnisse habe ich eigentlich ganz gut drauf, aber jetzt komme ich nicht weiter:
Wir sollen eine Ampelschaltung simulieren. Das habe ich auch fertig. Nur jetzt stören die quadratischen (Edit) Objekte, die ich genommen habe. Würde lieber Kreise nutzen. Die kann ich als Objekt genauso wenig finden, wie z.B. Quadrate, Linien u.s.w.
Ich will statische Objekte in meiner Form haben, denen ich lediglich andere Farben im Programm zuordnen möchte.
Die Sache mit Canvas ist mir (noch) ein wenig zu hoch. Aber wenn es gar nicht anders geht muss ich da wohl ran. Gibt es keine Komponenten "Kreis", die ich wie einen Button in die Form ziehen kann???
Moderiert von
Kha: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am So 27.02.2011 um 11:20
Moderiert von
Narses: Titel geändert, war: "Vorstellung und gleich eine Frage".
haentschman - So 27.02.11 11:16
Hallo und willkommen...
schau dir mal Shape an.
judomichi - So 27.02.11 12:00
{ Kommando zurück! Ich habe in den Objekteigenschaften von TShape gefunden das man Shape als stCircle definieren kann. Und damit ist mein problem gelöst!
Vielen Dank für Eure Antworten!}
Ok, danke für den Hinweis! Wenn ich nach Shape suche finde ich da einen Thread der sich mit einer Ampelsteuerung befasst. Das muss ich mir mal genauer ansehen.
Meine Ampelschaltung (nicht mit Timer sondern mit "Schalten" Button funktioniert schon einwandfrei. Für die Ampeln habe ich Shapes genutzt. Nur das die halt quadratisch (20x20) sind und nicht rund. Jetzt nuss ich mal sehen wie ich ein Shape rund bekomme.
Hier mein Source, vielleicht umstendlich, aber wir sollten mit eigenen Prozeduren arbeiten:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type TForm1 = class(TForm) Label1: TLabel; Shape1: TShape; Shape2: TShape; Button2: TButton; Button1: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Edit8: TEdit; Edit9: TEdit; Edit10: TEdit; Edit11: TEdit; Edit12: TEdit; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure v_rot(); procedure v_gruen(); procedure v_gelb(); procedure v_rot_del(); procedure v_gruen_del(); procedure v_gelb_del(); procedure h_rot(); procedure h_gruen(); procedure h_gelb(); procedure h_rot_del(); procedure h_gruen_del(); procedure h_gelb_del();
private public flag : integer; end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject); begin
case flag of 1: begin; v_rot(); v_gelb(); v_gruen_del(); h_rot_del(); h_gelb(); h_gruen_del(); flag := 4; end; 3: begin; v_rot(); v_gelb_del(); v_gruen_del(); h_rot_del(); h_gelb_del(); h_gruen(); flag := 1; end; 4: begin; v_rot_del(); v_gelb_del(); v_gruen(); h_rot(); h_gelb_del(); h_gruen_del(); flag := 5; end; 5: begin; v_rot_del(); v_gelb(); v_gruen_del(); h_rot(); h_gelb(); h_gruen_del(); flag := 3; end; else begin v_rot(); v_gelb_del(); v_gruen_del(); h_gruen(); h_rot_del(); h_gelb_del(); flag := 1; end; end;
end;
procedure tform1.v_rot(); begin; edit1.color := clred; edit4.color := clred; end;
procedure tform1.v_gelb(); begin; edit2.color := clyellow; edit5.color := clyellow; end;
procedure tform1.v_gruen(); begin; edit3.color := cllime; edit6.color := cllime; end;
procedure tform1.v_rot_del(); begin; edit1.color := clmenu; edit4.color := clmenu; end;
procedure tform1.v_gelb_del(); begin; edit2.color := clmenu; edit5.color := clmenu; end;
procedure tform1.v_gruen_del(); begin; edit3.color := clmenu; edit6.color := clmenu; end;
procedure tform1.h_rot(); begin; edit7.color := clred; edit10.color := clred; end;
procedure tform1.h_gelb(); begin; edit8.color := clyellow; edit11.color := clyellow; end;
procedure tform1.h_gruen(); begin; edit9.color := cllime; edit12.color := cllime; end;
procedure tform1.h_rot_del(); begin; edit7.color := clmenu; edit10.color := clmenu; end;
procedure tform1.h_gelb_del(); begin; edit8.color := clmenu; edit11.color := clmenu; end;
procedure tform1.h_gruen_del(); begin; edit9.color := clmenu; edit12.color := clmenu; end;
procedure TForm1.Button1Click(Sender: TObject); begin close; end;
end. |
Moderiert von
Kha: Delphi-Tags hinzugefügt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!