AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi problem bei checkbox und bedingungen?ausführung falsch
Thema durchsuchen
Ansicht
Themen-Optionen

problem bei checkbox und bedingungen?ausführung falsch

Ein Thema von delphineuling88 · begonnen am 18. Mär 2006 · letzter Beitrag vom 18. Mär 2006
 
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: problem bei checkbox und bedingungen?ausführung falsch

  Alt 18. Mär 2006, 19:05
Hi, und herzlich willkommen in der Delphi Praxis

Was dein Problem angeht, so denke ich liegt es einfach in dem schlechten Codestil. Nimm es nicht böse / falsch auf, aber mit dem Code den du hier gepostet hast sind Fehler (auch in anderen Programmen) nicht unwahrscheinlich. Es gibt ein paar schöne Werke zum Thema guter Codestil und natürlich gibt es auch für Delphi eine gewisse Konvention (und auch bei Delphi wird das gerne ignoriert), die besagt dass einem if immer ein begin end folgen sollte. Ist gar nicht so viel arbeit und erspart eine Menge Ärger!

Sorry, werde jetzt nicht deinen gesamten Code durchgehen, aber hier ein einfaches Beispiel wie du es umformen solltest, dann findest du bestimmt schnell deinen Fehler:

Delphi-Quellcode:
var mmh,meh,a:integer;
begin
   meh:= Random(100) + 1;
   mmh:= Random(100) + 1;
   a:= Random (100)+1;

   If (checkbox1.Checked) and (a>=90) then
     begin

       // alles was hier folgt, wird nur geprüft wenn obere Bedingung erfüllt ist.
       // ohne das begin wird nur die nächste Bedingung geprüft

      If RadioButton1.Checked Then
        begin
          If (mmh <= 100) and (mmh >25) Then
            begin
              label17.Caption := ....;
            end // If (mmh <= 100) and (mmh >25)
          else
            begin
              label17.Caption := ....;
            end; // if not ((mmh <= 100) and (mmh >25))
        end; // If RadioButton1.Checked
      
      // Wäre ohne erstes begin immer gecheckt worden, auch wenn Checkbox1.Checked = false
      If RadioButton2.Checked Then
        begin
          If mmh >= 50 Then
            begin
              label17.Caption := ...;
            end // If mmh >= 50
           else
             begin
             end; // if not (mmh >= 50)
        end; // If RadioButton2.Checked

     ....
     end; // if (checkbox1.Checked) and (a>=90)
So ist immer ganz klar, wo welcher Block endet. Ansonsten würde ich dir dringend zu besseren Namen für die Variablen raten, auch dass macht es leichter Fehler zu entdecken. Aber wie gesagt, nicht falsch auffassen, sind nur Anregungen und (fast?) alle haben mal ähnlichen Code erzeugt.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
 


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 09:19 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