Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit schleife bei ner ComboBox1 (https://www.delphipraxis.net/92815-problem-mit-schleife-bei-ner-combobox1.html)

MarkusReisser 26. Mai 2007 15:28


Problem mit schleife bei ner ComboBox1
 
heyho,

ich hab da grad eben mal nen problem...

wollte gerne ne combobox nutzen... das geht auch. hab itemindex 0 und 1 benutzt. jedem item index, hab ich bestimmte prozeduren zugeschrieben.

der combobox an sich habe ich den text "bitte ja oder nein wählen" zugewiesen.

nun wollte ich aber gerne eine abfrage machen, wenn jmd nicht ja oder nein ausgewählt hat (also itemindex 0 oder 1) sondern "bitte ja oder nein wählen" stehen bleibt, dann soll er auch was ausführen... nur leider weiß ich nicht, wie ich das umsetzen kann....

bei mir siehts zur zeit so aus:

Delphi-Quellcode:
if form1.ComboBox1.ItemIndex=0
then begin
grundkuse;
leistungskuse;
preufungen;
abinote;
end;
Delphi-Quellcode:
if form1.ComboBox1.ItemIndex=1
then begin
grundkuse;
leistungskuse;
preufungen;
abinote;
end;
mit "case of" konnt ich das irgentwie nicht umsetzen, deswegen hab ich "if" genommen.

doch wie mach ich das nun, dass er auch etwas bestimmtes macht, wenn die combobox auf dem text "bitte ja oder nein wählen" stehen bleibt?

so hier gehts leider nicht:

Delphi-Quellcode:
if form1.ComboBox1.text='bitte ja oder nein wählen'
then begin
  Form2.show;
  Form1.hide;
end;
schonmal danke im vorraus

mkinzler 26. Mai 2007 15:30

Re: Problem mit schleife bei ner ComboBox1
 
Warum soll das mit case nicht gehen?
Delphi-Quellcode:
case form1.ComboBox1.ItemIndex of ...

DeddyH 26. Mai 2007 15:31

Re: Problem mit schleife bei ner ComboBox1
 
Hallo, das sollte aber schon mit case funktionieren.
Delphi-Quellcode:
case ComboBox1.ItemIndex of
  0: machwas;
  1: machwasanderes;
  else machwasduwillst;
end;

marabu 26. Mai 2007 15:42

Re: Problem mit schleife bei ner ComboBox1
 
Herzlich willkommen in der Delphi-PRAXiS, MarkusReisser.

Wenn du deine ComboBox mit dem Style csDopDown betreibst, dann funktioniert es so:

Delphi-Quellcode:
begin
  with ComboBox do
    case Items.IndexOf(Text) of
      0: {ja} ;
      1: {nein} ;
    else {keine Auswahl}
    end;
end;
So wird aber auch die Eingabe von Jein zugelassen. Du kannst den Style auf csDropDownList umstellen und deinen Auswahltext als Item aufnehmen, aber du könntest auch ein anderes Control verwenden.

Freundliche Grüße vom marabu

MarkusReisser 26. Mai 2007 15:51

Re: Problem mit schleife bei ner ComboBox1
 
danke euch allen :)

aber wenn ich es so mache, dann kommt folgende meldung:

Zitat:

[Fehler] Unit1.pas(683): Konstantenausdruck erwartet
[Fehler] Unit1.pas(684): Konstantenausdruck erwartet
Delphi-Quellcode:
case ComboBox1.ItemIndex of
  0: grundkuse; leistungskuse; preufungen; abinote;
  1: grundkuse; leistungskuse; preufungen; abinote;
  else Form2.show; Form1.hide;
end;
wo genau is denn dabei der fehler? . das hatte ich vorhin gemeint (wo ich gesagt habe, dass es mit "case of" nicht gehen will)

danke schonmal

Klaus01 26. Mai 2007 15:53

Re: Problem mit schleife bei ner ComboBox1
 
c
Delphi-Quellcode:
ase ComboBox1.ItemIndex of
  0: begin
       grundkuse; leistungskuse; preufungen; abinote;
     end;
  1: begin
       grundkuse; leistungskuse; preufungen; abinote;
     end;
  else
    begin
      Form2.show; Form1.hide;
    end;
end;
Grüße
Klaus

mkinzler 26. Mai 2007 15:53

Re: Problem mit schleife bei ner ComboBox1
 
Nhat nichts mit dem Case sondern den fehlenden begin..end Blöcken zu tun:

Delphi-Quellcode:
0: begin
    grundkuse; leistungskuse; preufungen; abinote;
   end;

MarkusReisser 26. Mai 2007 16:04

Re: Problem mit schleife bei ner ComboBox1
 
Liste der Anhänge anzeigen (Anzahl: 1)
hallo,

danke schonmal.

ich habe mit dem prinzip oben einen fehler verhindern wollen. ich habe das programm mal hochgeladen und würde mich sehr freuen, wenn da vllt jmd helfen könnte.

und zwar ist das ein notenrechner fürs abi. wenn ich aber nicht auswähle, ob das seminarfach eingebracht werden soll oder nicht, dann stürzt das programm ab, wenn ich auf berechnen klicke. (ich denke deshalb, weil ihm da dann was zum rechnen fehlt).

deswegen wollt ich mittels dem case of ne neue form anzeigen lassen, wo ich darauf hinweise, dass man ja oder nein noch auswählen soll.

aber leider gehts damit imermnoch nicht :(

könnte mir da vllt jmd helfen? so sehr kenn ich mich leider nicht mit delphi aus :/

würde mich sehr freuen und danke schonmal für die hilfe

mit freundlichen grüßen

mkinzler 26. Mai 2007 16:12

Re: Problem mit schleife bei ner ComboBox1
 
Ich habe mir dein Programm noch nicht genau angesehen, habe aber schon einige allgemeine Anmerkungen:
-Lass in Methode den Name der Instanz weg (Form1)
-Mache die freien Funktionen zu Methoden

Klaus01 26. Mai 2007 16:19

Re: Problem mit schleife bei ner ComboBox1
 
Habe folgendes in Deiner Unit1 geändert:

Delphi-Quellcode:
case ComboBox1.ItemIndex of
  0: begin
       grundkuse; leistungskuse; preufungen; abinote;
     end;
  1: begin
       grundkuse; leistungskuse; preufungen; abinote;
     end;
  else
    begin
      Form1.hide;                // zuerst Form1. verstecken
      Form2.showModal;           // Form2 modal darstellen
      Form1.show;
    end;
end;
In der Unit2:
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin
  Form2.Close;
end;
Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:32 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz