Thema: Delphi problem mit schleife

Einzelnen Beitrag anzeigen

herrentor

Registriert seit: 29. Mai 2004
Ort: Emden
158 Beiträge
 
#19

Re: problem mit schleife

  Alt 30. Mai 2004, 04:00
endlich! was für eine schwere geburt. danke nochmal an alle die sich meiner probleme angenommen haben. allerdings hab ich noch eine frage.
das programm läuft jetzt, weil ich diesen teil geändert habe:

Code:

   case ComboBox1.ItemIndex of                       {Fallunterscheidung} 

    0: begin                                         {Rechteck} 
        A:=mass1*mass2;                              {Fläche} 
        Xs:=Lx+mass1/2;                              {Schwerpunkt auf der X-Achse} 
        Ys:=Ly+mass2/2;                              {Schwerpunkt auf der Y-Achse} 
       end;

    1: begin                                         {Dreieck} 
        A:=(mass1*mass2)/2;                          {Fläche} 
        Xs:=Lx+mass1/3;                              {Schwerpunkt auf der X-Achse} 
        Ys:=Ly+mass2/3;                              {Schwerpunkt auf der Y-Achse} 
       end;

    2: begin                                         {Kreissektor} 
       A:=pi*sqr(mass1)*mass2/360;                   {Fläche} 
       s:=2*mass1*sin(mass2/2*pi/180);               {Sehne} 
       b:=pi*mass1*mass2/180;                        {Bogenlänge} 
       Xs:=Lx;                                       {Schwerpunkt auf der X-Achse} 
       Ys:=Ly+((2/3)*(mass1*s)/b);                   {Schwerpunkt auf der Y-Achse} 
      end;

    3: begin                                         {Kreisabschnitt} 
        b:=pi*mass1*mass2/180;                       {Bogenlänge} 
        s:=2*mass1*sin(mass2/2*pi/180);              {Sehne} 
        h:=2*mass1*sqr(sin(mass2/4*pi/180));         {Bogenhöhe} 
        A:=(mass1*(b-s)+s*h)/2;                      {Fläche} 
        Xs:=Lx;                                      {Schwerpunkt auf der X-Achse} 
        Ys:=Ly+(1/12)*((s*s*s)/A);                   {Schwerpunkt auf der Y-Achse} 
       end;

    4: begin                                         {Kreis} 
        A:=pi*sqr(2*mass1)/4;                        {Fläche} 
        Xs:=Lx+0;                                    {Schwerpunkt auf der X-Achse} 
        Ys:=Ly+0;                                    {Schwerpunkt auf der Y-Achse} 
       end;

   end;
und zwar folgendermaßen:

Code:

    if Tab.Cells[1,i] = ComboBox1.Items[0] then      

       begin                                         {Rechteck}
        A:=mass1*mass2;                              {Fläche}
        Xs:=Lx+mass1/2;                              {Schwerpunkt auf der X-Achse}
        Ys:=Ly+mass2/2;                              {Schwerpunkt auf der Y-Achse}
       end;

    if Tab.Cells[1,i] = ComboBox1.Items[1] then

       begin                                         {Dreieck}
        A:=(mass1*mass2)/2;                          {Fläche}
        Xs:=Lx+mass1/3;                              {Schwerpunkt auf der X-Achse}
        Ys:=Ly+mass2/3;                              {Schwerpunkt auf der Y-Achse}
       end;

    if Tab.Cells[1,i] = ComboBox1.Items[2] then

      begin                                         {Kreissektor}
       A:=pi*sqr(mass1)*mass2/360;                   {Fläche}
       s:=2*mass1*sin(mass2/2*pi/180);               {Sehne}
       b:=pi*mass1*mass2/180;                        {Bogenlänge}
       Xs:=Lx;                                       {Schwerpunkt auf der X-Achse}
       Ys:=Ly+((2/3)*(mass1*s)/b);                   {Schwerpunkt auf der Y-Achse}
      end;

    if Tab.Cells[1,i] = ComboBox1.Items[3] then

       begin                                         {Kreisabschnitt}
        b:=pi*mass1*mass2/180;                       {Bogenlänge}
        s:=2*mass1*sin(mass2/2*pi/180);              {Sehne}
        h:=2*mass1*sqr(sin(mass2/4*pi/180));         {Bogenhöhe}
        A:=(mass1*(b-s)+s*h)/2;                      {Fläche}
        Xs:=Lx;                                      {Schwerpunkt auf der X-Achse}
        Ys:=Ly+(1/12)*((s*s*s)/A);                   {Schwerpunkt auf der Y-Achse}
       end;

    if Tab.Cells[1,i] = ComboBox1.Items[4] then

       begin                                         {Kreis}
        A:=pi*sqr(2*mass1)/4;                        {Fläche}
        Xs:=Lx+0;                                    {Schwerpunkt auf der X-Achse}
        Ys:=Ly+0;                                    {Schwerpunkt auf der Y-Achse}
       end;
wie kann ich das mit einer fallunterscheidung (case) realisieren? wie kann ich folgendes anders schreiben, so dass es akzeptiert wird?

Code:

   case Tab.Cells[1,i] = ComboBox1.ItemIndex of
  Mit Zitat antworten Zitat