![]() |
Re: Berechnungstool 2.1.1
.. vielleicht könntest Du dem User ja die Möglichkeit geben,
den LED Typ aus einer Combobox auszuwählen. Der getroffenen Auswahl entsprechend kannst Du dann die zugehörigen Datenfelder anzeigen. Grüße Klaus |
Re: Berechnungstool 2.1.1
Da habe ich auch schon dran gedacht aber bin noch nicht mit der Box zurecht gekommen.
Das ich die Spannungen über den if Befehlen machen sollte hätte ich aber auch selber drauf kommen müßen ich trottel. Ja die Oberfläche ist schon fertig in meinen gedanken. Aber da komme ich erst später zu. |
Re: Berechnungstool 2.1.1
Wie kann man das denn in der ComboBox machen?? Ich habe es mal gerade angeschaut aber wie bekomme ich eine liste mit der Farbauswahl da rein???
|
Re: Berechnungstool 2.1.1
Zitat:
die Liste kannst Du zur Designzeit im ObjectInspector einfügen. Es gibt dort für die Combobox den Eintrag items. Wenn Du die Liste zur Laufzeit füllen willst, sollte das so gehen:
Delphi-Quellcode:
Oder wenn Du die Listeeinträge einzeln eintragen willst
combobox1.items.loadfromFile('fileName');
(wenn Du sie z.B. aus einem IniFile einliest) geht das so:
Delphi-Quellcode:
Wenn Du wissen willst welcher Eintrag ausgewählt wurde,
combobox1.items.add('eintrag);
hilft Dir:
Delphi-Quellcode:
Grüße
i := combobox1.ItemIndex
Klaus |
Re: Berechnungstool 2.1.1
Was dann wirklich cool wäre: Setze die Schrift-Farbe der einzelnen Einträge auf die Farbe der entsprechenden LED, also so, dass jeder Eintrag eine andere Schriftfarbe bekommt. Stichwort hierfür wäre z.B. "OwnerDraw", einfach mal in der DP suchen. Aber mach das (wenn überhaupt) erst dann, wenn der Rest funktioniert, also erstmal schauen, dass alles so geht, wie du dir das vorstellts.
mfg |
Re: Berechnungstool 2.1.1
Ja mit der Farbe habe ich auch schon gespielt und werde das auch warscheinlich mit einbauen.
Werde mal schauen ob ich das mit der CoboBox hin bekomme. |
Re: Berechnungstool 2.1.1
Zitat:
|
Re: Berechnungstool 2.1.1
Zitat:
|
Re: Berechnungstool 2.1.1
Und bitte ändere noch den Titel des Threads, damit man weiß, um was es geht.
|
Re: Tool zum Berechnen von LED Vorwiderstand u.s.w
.. so das ist alles noch ein wenig statisch.
Aber es zeigt das Prinzip gan gut auf: Als erstes habe ich zwei neue Typen erstellt:
Delphi-Quellcode:
Eine Variable vom Tyo TLEDList angelegt:
TLEDProperties = record
color: String; mcdValues : TStringList; end; // dynamisches Array vom Typ TLEDProperties TLEDList = Array of TLEDProperties;
Delphi-Quellcode:
Im FormCreate die LEDList initialisiert:
private
{ Private declarations } LEDList : TLEDList;
Delphi-Quellcode:
Die Werte ließen sich im Prinzip auch aus einer Datei (iniFile, xml) auslesen.
procedure TForm1.FormCreate(Sender: TObject);
begin // die Länge des dyn. Array auf die Anzahl der Einträge in der ComboBox anpassen setLength(LEDList,ComboBox1.Items.Count); LEDList[0].color:='rot'; LEDList[0].mcdValues := TStringList.Create; LEDList[0].mcdValues.add('15'); LEDList[0].mcdValues.add('20'); LEDList[1].color:='grün'; LEDList[1].mcdValues := TStringList.Create; LEDList[1].mcdValues.add('15'); LEDList[1].mcdValues.add('25'); LEDList[1].mcdValues.add('50'); LEDList[2].color:='blau'; LEDList[2].mcdValues := TStringList.Create; LEDList[2].mcdValues.add('100'); end; Wenn ein Wert aus der ComboBox ausgewählt wird:
Delphi-Quellcode:
Auf meiner Form haben sich eine ComboBox und eine Radiogroup befunden.
procedure TForm1.ComboBox1Change(Sender: TObject);
var i : Byte; begin // radioGroup1.Caption := ComboBox1.Items[ComboBox1.itemIndex]; // das obige ist ist dem untenstehende equivalent // das obige bringt Nachteile wenn du die Combobox1 mal nach Auswahlbox umbenennst radioGroup1.Caption := (sender as TComboBox).Items[(sender as TComboBox).itemIndex]; radioGroup1.Items.Clear; // iterierere durch die mcdValues StringList und füge für jeden Eintrag // einen Eintrag in die RadioGroup ein. for i:= 0 to LEDList[(sender as TComboBox).ItemIndex].mcdValues.Count -1 do begin radioGroup1.Items.Add(LEDList[(sender as TComboBox).itemIndex].mcd[i]); end; end; Ach ja, und nicht vergessen die StringListen wieder freizugeben. Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 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-2025 by Thomas Breitkreuz