AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Combobox, morgen Prüfung kleine Frage
Thema durchsuchen
Ansicht
Themen-Optionen

Combobox, morgen Prüfung kleine Frage

Ein Thema von Bamer · begonnen am 12. Mai 2014 · letzter Beitrag vom 13. Mai 2014
Antwort Antwort
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#1

AW: Combobox, morgen Prüfung kleine Frage

  Alt 12. Mai 2014, 23:42
Hallo,

Zitat:
Für eine Alternative Idee wäre ich auch zufrieden
Kann ich Dir leider nicht anbieten, da die Informationslage das nicht hergibt.
Zitat:
Weiss jemand wie ich eine onChange Funktion mache?
Vielleicht so (nur das Wesentliche):
Delphi-Quellcode:
type
  TDecode = class (TPanel)
    private
      procedure Ring1Change (Sender : TObject);
  end;

procedure TDecode.Ring1Change (Sender : TObject);
begin
  // Do what ever you want
end;

constructor TDecode.Create(AOwner: TComponent);
begin
  Ring1:= TCombobox.Create (self);
  Ring1.OnChange := Ring1Change
end;
Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Bamer

Registriert seit: 29. Nov 2012
Ort: Pforzheim
5 Beiträge
 
Delphi 7 Personal
 
#2

AW: Combobox, morgen Prüfung kleine Frage

  Alt 13. Mai 2014, 00:07
Vielen Dank für deine Hilfe Volker Z.
Ich stelle hier nochmal meinen ganzen Quellcode zur Verfügung wer vielleicht das ein oder andere darauf braucht.
Delphi-Quellcode:
unit DecodeU;

interface
uses Windows, Messages, SysUtils, Variants, Graphics, Forms,
  Dialogs, ExtCtrls, Classes, StdCtrls, Controls;



type TDecode=class(TPanel)

private
  Ring1:TCombobox;
  Ring2:TCombobox;
  Ring3:TCombobox;
  Ring4:TCombobox;
  Ausgabe:TLabel;
protected
  procedure myChange(Sender: TObject);
public
  constructor Create(AOwner:TComponent); override;
end;
const FarbString1: array[0..9] of String = ('---','braun','rot','orange','gelb','grün','blau','violett','grau','weiß');
         Wert1: array[0..9] of integer = (0,1,2,3,4,5,6,7,8,9);
         FarbString2: array[0..9] of String = ('schwarz','braun','rot','orange','gelb','grün','blau','violett','grau','weiß');
         Wert2: array[0..9] of integer = (0,10,20,30,40,50,60,70,80,90);
         FarbString3: array[0..11] of String = ('silber','gold','schwarz','braun','rot','orange','gelb','grün','blau','violett','grau','weiß');
         Wert3: array[0..11] of double = (0.01,0.1,1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000);
         FarbString4: array[0..11] of String = ('keine','silber','gold','schwarz','braun','rot','orange','gelb','grün','blau','violett','grau');
         Wert4: array[0..11] of double = (20,10,5,0,1,2,0,0,0.50,0.25,0.10,0.05);
implementation

{ TDecode }

constructor TDecode.Create(AOwner: TComponent);
var
  i:integer;
begin
  inherited Create(AOwner);
  width:=600;
  height:=200;

  Ring1:= TCombobox.create(self);
  Ring2:= TCombobox.create(self);
  Ring3:= TCombobox.create(self);
  Ring4:= TCombobox.create(self);

  self.Parent := AOwner as TWinControl;

  Ring1.Parent := Self;
  Ring1.width:=100;
  Ring1.top:=50;
  Ring1.left:=10;

  Ring2.Parent := Self;
  Ring2.width:=100;
  Ring2.top:=50;
  Ring2.left:=120;

  Ring3.Parent := Self;
  Ring3.width:=100;
  Ring3.top:=50;
  Ring3.left:=230;

  Ring4.Parent := Self;
  Ring4.width:=100;
  Ring4.top:=50;
  Ring4.left:=340;

  for i:=0 to 11 do
  begin
    if i<=9 then
    begin
      Ring1.Items.Add(FarbString1[i]);
      Ring2.Items.Add(FarbString2[i]);
    end;
    Ring3.Items.Add(FarbString3[i]);
    Ring4.Items.Add(FarbString4[i]);
  end;
  Ausgabe:= TLabel.create(self);
  Ausgabe.Parent := Self;
  Ausgabe.width:=350;
  Ausgabe.top:=150;
  Ausgabe.left:=150;

  ring1.ItemIndex := 0;
  ring2.ItemIndex := 1;
  ring3.ItemIndex := 2;
  ring4.ItemIndex := 1;

  ring1.OnChange := myChange;
  ring2.OnChange := myChange;
  ring3.OnChange := myChange;
  ring4.OnChange := myChange;
end;



procedure TDecode.myChange(Sender: TObject);
var
zwischenzahl:double;
begin
  zwischenzahl:= (Wert1[ring1.ItemIndex] + Wert2[ring2.ItemIndex]) * Wert3[ring3.ItemIndex];


  Ausgabe.Caption:=(FormatFloat('0.00',zwischenzahl) + ' Ohm Toleranz:'+ (FloatToStr (Wert4[ring4.ItemIndex]))+'%');
end;

end.
PS: Leider gibts kein Thank you Button

LG Bamer
Mathias
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:51 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