![]() |
Problem mit combobox
Hallo Delphi-Praxis User
hab ein kleines problem, und zwar hab ich programm code hinter ein Combobox hinterlegt.
Delphi-Quellcode:
... usw.
procedure TForm1.ComboBox1Change(Sender: TObject);
Var I:Integer; begin case ComboBox1.ItemIndex of 0: begin ClearDigitalChannel(1); Progressbar2.Min:=0; Progressbar2.Max:=100000; for I:=0 to 100000-1 do begin Progressbar2.Position:=I; end; Case Combobox2.ItemIndex of 0: begin BG.Picture.Bitmap.LoadFromFile('WinCC Tunnelprojektierung_bearbeitet.bmp'); end; 1: begin BG.Picture.Bitmap.LoadFromFile('WinCC Tunnelprojektierung_Weströhre.bmp'); end; else begin BG.Picture.Bitmap.LoadFromFile('WinCC Tunnelprojektierung_Weströhre.bmp'); end; end; end; 1: begin nun will ich mit einem butten deisen code aufrufen. doch leider weiß ich nicht wie.
Delphi-Quellcode:
... usw.
procedure TForm1.Button6Click(Sender: TObject);
begin Case ProgressBar3.Position of 0: Begin Button4.Click; end; 2: Begin ComboBox1.ItemIndex:=1; //wenn ich das mach setzt er nur den wert, also in dem fall auf aus. Aber führt nicht die aktionen aus die ich hoben hab. ComboBox2.ItemIndex:=1; end; Warum das alles? Will von hand steuern aber auch einen automatisierten ablauf haben. hoffe ihr versteht was ich meine... Danke mfg hildi |
Re: Problem mit combobox
Delphi-Quellcode:
Button4.Click( Nil);
|
Re: Problem mit combobox
Delphi-Quellcode:
Aber leider war das keine antwort auf meine frage...
procedure TForm1.Button6Click(Sender: TObject);
begin Case ProgressBar3.Position of 0: Begin Button4.Click; //Funktioniert end; 2: Begin ComboBox1.ItemIndex:=1; //wenn ich das mach setzt er nur den wert, also in dem fall auf aus. Aber führt nicht die aktionen aus die ich hoben hab. ComboBox2.ItemIndex:=1; end;
Delphi-Quellcode:
gedacht war das ich diesen teil mit
procedure TForm1.ComboBox1Change(Sender: TObject);
Var I:Integer; begin case ComboBox1.ItemIndex of 0: begin ClearDigitalChannel(1); Progressbar2.Min:=0; Progressbar2.Max:=100000; for I:=0 to 100000-1 do begin Progressbar2.Position:=I; end; Case Combobox2.ItemIndex of 0: begin BG.Picture.Bitmap.LoadFromFile('WinCC Tunnelprojektierung_bearbeitet.bmp'); end; 1: begin BG.Picture.Bitmap.LoadFromFile('WinCC Tunnelprojektierung_Weströhre.bmp'); end; else begin BG.Picture.Bitmap.LoadFromFile('WinCC Tunnelprojektierung_Weströhre.bmp'); end; end; end; 1: begin ComboBox2.ItemIndex:=1; ausführ aber das geht nicht. |
Re: Problem mit combobox
Hallo,
trifft das vielleicht bei Dir zu? Zitat:
Klaus |
Re: Problem mit combobox
Wie genau setzt ich dieses on change ein? bin en programier noob.
|
Re: Problem mit combobox
Lies dir das Dickgedruckte durch
|
Re: Problem mit combobox
Pack den Code aus der Combobox in eine eignen Prozedur und rufe diese Im OnChange der Combobox und im OnClick Ereignis der Schaltfläche auf.
|
Re: Problem mit combobox
Nun, in dem fett gedruckten steht nichts anderes als, daß das onChange Ereignis
nur dann ausgelöst wird, wenn eine User/Benutzer etwas in der ComboBox ändert. Wenn Du aus Deinem Programm aus den Index änderst, wird das Ereignis nicht ausglöst. Vielleicht solltest Du dahingehend Dein Programmdesign einmal überdenken. Vielleicht so, daß Du die Aufgaben die in der OnChange Procedure definiert sind auslagerst in eine separate Procedure:
Delphi-Quellcode:
procedure TForm1.TuWas(Index1,Index2:Integer);
Var I:Integer; begin case Index1 of 0: begin ClearDigitalChannel(1); Progressbar2.Min:=0; Progressbar2.Max:=100000; for I:=0 to 100000-1 do begin Progressbar2.Position:=I; end; Case Index2 of 0: begin BG.Picture.Bitmap.LoadFromFile('WinCC Tunnelprojektierung_bearbeitet.bmp'); end; 1: begin BG.Picture.Bitmap.LoadFromFile('WinCC Tunnelprojektierung_Weströhre.bmp'); end; else begin BG.Picture.Bitmap.LoadFromFile('WinCC Tunnelprojektierung_Weströhre.bmp'); end; end; end; 1: begin ...
Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin tuWas((sender as TComboBox).ItemIndex,ComboBox2.ItemIndex); end;
Delphi-Quellcode:
Ist nicht das Gelbe vom Ei, aber ein Ansatz wie es anders gemacht werden könnte.
procedure TForm1.Button6Click(Sender: TObject);
begin Case ProgressBar3.Position of 0: Begin Button4.Click; end; 2: Begin ComboBox1.ItemIndex:=1; TuWas(ComboBox1.ItemIndex,ComboBox2.ItemIndex); ComboBox2.ItemIndex:=1; TuWas(ComboBox1.ItemIndex,ComboBox2.ItemIndex); end; Grüße Klaus |
Re: Problem mit combobox
Wenn du den Code ausführen möchtest, der beim Ändern der ComboBox ausgeführt wird, dann ruf diesen doch einfach von Hand auf oder hab ich jetzt etwas übersehen?
Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject); begin Case ProgressBar3.Position of 0: Begin Button4.Click; end; 2: Begin ComboBox1.ItemIndex:=1; ComboBox1Change(Sender); // oder ComboBox1Change(nil) wenn unwichtig. ComboBox2.ItemIndex:=1; end; |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:30 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