AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Tool zum Berechnen von LED Vorwiderstand u.s.w
Thema durchsuchen
Ansicht
Themen-Optionen

Tool zum Berechnen von LED Vorwiderstand u.s.w

Ein Thema von morpheus090682 · begonnen am 24. Jan 2010 · letzter Beitrag vom 6. Feb 2010
 
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.784 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Tool zum Berechnen von LED Vorwiderstand u.s.w

  Alt 24. Jan 2010, 18:27
.. 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:
TLEDProperties = record
  color: String;
  mcdValues : TStringList;
end;

// dynamisches Array vom Typ TLEDProperties
TLEDList = Array of TLEDProperties;
Eine Variable vom Tyo TLEDList angelegt:

Delphi-Quellcode:
private
  { Private declarations }
  LEDList : TLEDList;
Im FormCreate die LEDList initialisiert:
Delphi-Quellcode:
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;
Die Werte ließen sich im Prinzip auch aus einer Datei (iniFile, xml) auslesen.

Wenn ein Wert aus der ComboBox ausgewählt wird:
Delphi-Quellcode:
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;
Auf meiner Form haben sich eine ComboBox und eine Radiogroup befunden.

Ach ja, und nicht vergessen die StringListen wieder freizugeben.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:18 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