Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Frage zur If-Clause (https://www.delphipraxis.net/64948-frage-zur-if-clause.html)

LukeGee 10. Mär 2006 10:52


Frage zur If-Clause
 
Hallo,

ich bin ein Programm am programmieren, dass die Tabs für die Gitarre für die ganzen Tonleitern anzeigt. man klickt auf ne skale, dann gibt das ding in nem label ne skale aus, diezu der ersten passt und wenn man auf des label klickt soll es den tab ausgeben. einmal funktionierts auch, aber wenn ne andre skale drin steht zeigts das an, was bei der anderen kommen sollte.

hier der code:

Delphi-Quellcode:
  if (CScale1.Caption='C')
    then
      ek.Caption:='e|-------------------------------------------------|';
      B.Caption:='B|---------------------------------10-12-13---------|';
      G.Caption:='G|--------------------------9-10-12-----------------|';
      D.Caption:='D|-----------------9-10-12--------------------------|';
      A.Caption:='A|---------8-10-12----------------------------------|';
      E.Caption:='E|-8-10-12------------------------------------------|';

  if (CScale1.Caption='D')
    then
      ek.Caption:='e|--------------------------------------------------|';
      B.Caption:='B|----------------------------------12-14-15---------|';
      G.Caption:='G|--------------------------11-12-14-----------------|';
      D.Caption:='D|-----------------11-12-14--------------------------|';
      A.Caption:='A|---------10-12-14----------------------------------|';
      E.Caption:='E|-10-12-14------------------------------------------|';
also wenn ich CScale1 n 'C' steht soll der das unten ausgeben. wenn n 'D' steht das was da drunter steht, aberwenn n D drin ist und ich klicke kommt das, was bei 'C' kommen sollte. was mach ich falsch und gibts da auch noch andre möglichkeiten das eventuell einfacher zu prograjmmieren?

MfG Lukas

Luckie 10. Mär 2006 10:57

Re: Funktion will nicht gehen...
 
Schlag mal in der Hilfe unter Delphi-Referenz durchsuchenif nach und was da über mehrere Zeilen nach einer if-Abfrage steht. das wäre das erste, wa smir dazu einfällt.

mkinzler 10. Mär 2006 11:00

Re: Funktion will nicht gehen...
 
Bei einem If wird entweder ein Befehl (wie bei dir) oder ein Sequenz ausgefüht. Soll mehr als ein Befehl ausgeführt werden muß du einen Block mit
Delphi-Quellcode:
[b]begin .. end;[/b]
bilden.

Delphi-Quellcode:
if (CScale1.Caption='C')
    then
    begin
      ek.Caption:='e|-------------------------------------------------|';
      B.Caption:='B|---------------------------------10-12-13---------|';
      G.Caption:='G|--------------------------9-10-12-----------------|';
      D.Caption:='D|-----------------9-10-12--------------------------|';
      A.Caption:='A|---------8-10-12----------------------------------|';
      E.Caption:='E|-8-10-12------------------------------------------|';
  end;
  if (CScale1.Caption='D')
    then
    begin
      ek.Caption:='e|--------------------------------------------------|';
      B.Caption:='B|----------------------------------12-14-15---------|';
      G.Caption:='G|--------------------------11-12-14-----------------|';
      D.Caption:='D|-----------------11-12-14--------------------------|';
      A.Caption:='A|---------10-12-14----------------------------------|';
      E.Caption:='E|-10-12-14------------------------------------------|';
    end;

LukeGee 10. Mär 2006 11:03

Re: Funktion will nicht gehen...
 
ahso, na dann danke. werds gleich mal probieren.

...

edit: danke, es geht!

Luckie 10. Mär 2006 11:26

Re: Funktion will nicht gehen...
 
Und jetzt noch einen aussagekräftigeren Titel für deinen Thread bitte.

TeronG 10. Mär 2006 12:15

Re: Funktion will nicht gehen...
 
Zitat:

Zitat von mkinzler
Delphi-Quellcode:
if (CScale1.Caption='C')
    then
    begin
      ek.Caption:='e|-------------------------------------------------|';
      B.Caption:='B|---------------------------------10-12-13---------|';
      G.Caption:='G|--------------------------9-10-12-----------------|';
      D.Caption:='D|-----------------9-10-12--------------------------|';
      A.Caption:='A|---------8-10-12----------------------------------|';
      E.Caption:='E|-8-10-12------------------------------------------|';
  end;
  if (CScale1.Caption='D')
    then
    begin
      ek.Caption:='e|--------------------------------------------------|';
      B.Caption:='B|----------------------------------12-14-15---------|';
      G.Caption:='G|--------------------------11-12-14-----------------|';
      D.Caption:='D|-----------------11-12-14--------------------------|';
      A.Caption:='A|---------10-12-14----------------------------------|';
      E.Caption:='E|-10-12-14------------------------------------------|';
    end;

man könnte auch noch ein else vor dem Zweiten IF einsetzen .. dann wüsste der rest nichtmehr geprüft werden sobald was gefunden wurde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:27 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