Delphi-PRAXiS

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

DeddyH 26. Mai 2007 16:20

Re: Problem mit schleife bei ner ComboBox1
 
Drück mal Shift-F11 und füge Unit2 Deinem Projekt hinzu.

Klaus01 26. Mai 2007 16:22

Re: Problem mit schleife bei ner ComboBox1
 
Die Unit2 steht aber im Quelltext drinnen.
Delphi-Quellcode:
var
  Form1: TForm1;

implementation

uses Unit2;
Grüße
Klaus

DeddyH 26. Mai 2007 16:25

Re: Problem mit schleife bei ner ComboBox1
 
Außerdem würde ich für eine simple Meldung kein Forumlar anlegen, sondern (Application.)MessageBox oder MessageDlg verwenden.

DeddyH 26. Mai 2007 16:25

Re: Problem mit schleife bei ner ComboBox1
 
Zitat:

Die Unit2 steht aber im Quelltext drinnen.
Aber nur in Form1, nicht in der Projekt-Datei.

Klaus01 26. Mai 2007 16:32

Re: Problem mit schleife bei ner ComboBox1
 
Zitat:

Zitat von DeddyH
Zitat:

Die Unit2 steht aber im Quelltext drinnen.
Aber nur in Form1, nicht in der Projekt-Datei.


Ja, hast recht.
Hatte sie schon mit Shift-F11 hinzugefügt.


Grüße
Klaus

MarkusReisser 26. Mai 2007 16:41

Re: Problem mit schleife bei ner ComboBox1
 
also vielen dank an alle :)

also es geht jetzt alles und hier bekommt man wirklich nen super support :)

danke danke danke

mfg

jmit 26. Mai 2007 16:55

Re: Problem mit schleife bei ner ComboBox1
 
Hallo,

wenn ich Dein Programm starte und auf den Button BERECHNEN klicke, dann bekomme ich eine Zugriffsverletzung an Adresse ...

Gruß Jörg

DeddyH 26. Mai 2007 17:19

Re: Problem mit schleife bei ner ComboBox1
 
Zitat:

Zitat von jmit
Hallo,

wenn ich Dein Programm starte und auf den Button BERECHNEN klicke, dann bekomme ich eine Zugriffsverletzung an Adresse ...

Gruß Jörg

Das hatten wir doch schon gelöst, dachte ich :gruebel:

MarkusReisser 27. Mai 2007 17:59

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

Zitat von jmit
Hallo,

wenn ich Dein Programm starte und auf den Button BERECHNEN klicke, dann bekomme ich eine Zugriffsverletzung an Adresse ...

Gruß Jörg

huhu,

also das problem wurde schon behoben von den netten usern hier ;)

hier mal der neue code im anhang ;) damit gehts :)

mfg

xxl1 27. Mai 2007 19:02

Re: Problem mit schleife bei ner ComboBox1
 
mich würde noch interessieren wo es das "seminarfach" gibt, bzw. wie man das anwenden kann und wie es genau definiert ist

MarkusReisser 27. Mai 2007 19:37

Re: Problem mit schleife bei ner ComboBox1
 
huhu,

also bei uns in thüringen muss man ne seminarfacharbeit schreiben. diese beginnt man in der 10. klasse zu schreiben und stellt man anfang 12. klasse vor. (die vorstellung heißt kolloquium)

auf die arbeit und die vorstellung und den prozess bekommt man eine note, die dann zusammengefasst werden. das ist dann die seminarfachnote.

wenn man diese note ins abi einrbingt, dann verdreifacht man die punktzahlen der schriftlichen und mündlichen abinoten und man rechnet die seminarfachnote mal 4 und rechnet das auf die gesamtpunkte.

bringt man das seminarfach nicht ein, dann vervierfacht man die punkte der schriftlichen und mündlichen abinoten.

hoffe das war verständlich *gg*

wenn nicht, dann hilft dir das kultisministerium weiter ;)

xxl1 30. Mai 2007 18:17

Re: Problem mit schleife bei ner ComboBox1
 
wie untersachiedlich die Wege zum Abitur und die Vorraussetzungen doch sein können...
Bei uns in Hessen gibts sowas nicht ;-)

Aike 30. Mai 2007 19:12

Re: Problem mit schleife bei ner ComboBox1
 
Hessen? No comment :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 Uhr.

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