AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ja nein Checkbox

Ein Thema von binio · begonnen am 9. Dez 2005 · letzter Beitrag vom 9. Dez 2005
Antwort Antwort
Benutzerbild von binio
binio

Registriert seit: 25. Nov 2005
Ort: Werl, Iserlohn, Dortmund, Hagen
85 Beiträge
 
Delphi 2006 Professional
 
#1

Ja nein Checkbox

  Alt 9. Dez 2005, 15:21
Hallo möchte eine ja nein Abfrage mit Checkboxen realisieren.
Ich weiss das es radio buttons gibt. Muss es aber für mein Projekt als Checkboxen realisieren.
Mein Problem ist nun folgendes:
Wenn ich mit der Tastatur ein der Checkboxen auswähle und <Leertaste> drücke klappt alles super.
Wenn ich jedoch mit der Maus auf eins der Checkboxen klicke kann ich auf einmal die Abfragt mit ja und Nein gleichzeitig beantworten, was ja nicht der Sinn einer Ja Nein Abfrage ist.
Mit der aktuellen Version habe ich ein Überlauf den ich nicht verstehe ja ich nur Checkboxen ändere und keine Arrays oder so fülle wo es ein Überlauf geben kann


Quellcode
Delphi-Quellcode:
procedure TForm1.checkjaKeyPress(Sender: TObject; var Key: Char);
begin
if not(checkja.Checked=true) then
  checknein.Checked:=false
else
  checknein.Checked:=true;
end;

procedure TForm1.checkneinKeyPress(Sender: TObject; var Key: Char);
begin
if not(checknein.Checked=true) then
  checkja.Checked:=false
else
  checkja.Checked:=true;
end;



procedure TForm1.checkjaClick(Sender: TObject);
begin
if (checkja.Checked=true) then
  begin
    checkja.Checked:=false;
    checknein.Checked:=true;
  end
else
  begin
    checkja.Checked:=true;
    checknein.Checked:=false;
  end;
end;

procedure TForm1.checkneinClick(Sender: TObject);
begin
if (checknein.Checked=true) then
  begin
    checknein.Checked:=false;
    checkja.Checked:=true
  end
else
  begin
    checknein.Checked:=true;
    checkja.Checked:=false;
  end;
end;

Ich hoffe Ihr könnt mir helfen
Mfg
Robert
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Ja nein Checkbox

  Alt 9. Dez 2005, 15:26
mach doch in die onChange ereignisse rein, das das jeweils andere => not cbself.checked ist(self steht für ja/nein)

EDIT: oh, gibt ja garkein OnChange.. wie dumm von mir..

EDIT2:
Versuch das mal:
Delphi-Quellcode:
procedure TtfMain.CheckBox1Click(Sender: TObject);
begin
CheckBox2.Checked:=not CheckBox1.Checked;
end;

procedure TtfMain.CheckBox2Click(Sender: TObject);
begin
CheckBox1.Checked:=not CheckBox2.Checked;
end;
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#3

Re: Ja nein Checkbox

  Alt 9. Dez 2005, 15:28
Zitat von Angel4585:
EDIT: oh, gibt ja garkein OnChange.. wie dumm von mir..
Das heisst OnClick. Aber warum nimmst du kein TRadioButton
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Ja nein Checkbox

  Alt 9. Dez 2005, 15:29
Zitat von jim_raynor:
Zitat von Angel4585:
EDIT: oh, gibt ja garkein OnChange.. wie dumm von mir..
Das heisst OnClick. Aber warum nimmst du kein TRadioButton
,

Zitat:
Muss es aber für mein Projekt als Checkboxen realisieren.
Weil er es mit Checkboxen machen muss
Michael
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Ja nein Checkbox

  Alt 9. Dez 2005, 15:30
Moin Robert,

das Zuweisen eines Wertes an die Eigenschaft Checked löst das OnClick-Ereignis aus, dadurch bekommst Du eine Endlosschleife, was dann zum Überlauf führt.
Warum müssen es unbedingt Checkboxen sein?
Damit präsentierst Du dem Anwender Controls, die sich nicht so verhalten, wie er es erwartet.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Ja nein Checkbox

  Alt 9. Dez 2005, 15:31
Hai binio,

das ist so eine kleine Stolperfalle bei den Checkboxen.

Das Ereigniss OnClick wird nicht etwa dann ausgelöst wenn man mit der Maus auf die CheckBox klickt sondern immer dann wenn sich die Eigenschaft .Checked ändert. Egal ob dies über die Maus, über die Tastatur oder im Programmcode erfolgt.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Ja nein Checkbox

  Alt 9. Dez 2005, 15:33
Also ich hab meine Version ausprobiert und die funzt, viel spass damit.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von binio
binio

Registriert seit: 25. Nov 2005
Ort: Werl, Iserlohn, Dortmund, Hagen
85 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Ja nein Checkbox

  Alt 9. Dez 2005, 15:38
Wau Jungs dankeschön gleich so viele Antworten auf einmal ;)

Ich muss es als CheckBoxen realisieren weil es für ein Blindenprojekt ist und Virgo(Software) Radio Buttons falsch an die Blinde ausgibt. Das Irritiert die Blinden und daher die Checkbox ;)

Und danke auch für die schöne Überlauf erklärung ;)
Hab das OnClick Ereigniss auch so verstanden das es nur bei Mausclicks ausgerufen wird und nicht bei jeder änderung ;)
Die hätten das OnChange nennen sollen ;)

Ok danke vielmal Ihr habt mir sehr viel Weitergeholfen ;)

Thx

Robert
  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 03:46 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