Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Anweisung in if und for (https://www.delphipraxis.net/192023-anweisung-if-und.html)

luciseli 14. Mär 2017 09:32

Delphi-Version: 5

Anweisung in if und for
 
Hallo,
ich bin noch Anfänger in dem Thema und versuche gerade herauszufinden wie man mehrer Anweisungen in Schleifen oder If's baut.
Folgenden Code habe ich:

Code:
if eingabe = 1 then
     begin
          for i:= 1 to 3 do
              begin
                   test[i]:= test[i] + 1;
                   test1[i]:= test1[i] + 1;
              end;
          test[1]:= 0;
          test1[1]:= 0;
     end;
Das ganze funktioniert natürlich nicht so, ich hoffe aber auf einen Tipp wie man Anfang und Ende von schleifen oder Bedingungen am besten deklariert.
Danke im Voraus

Klaus01 14. Mär 2017 09:36

AW: Anweisung in if und for
 
.. was willst Du denn bewirken?
Funktioniert nicht so - ist eine nicht ganz so aussagekräftige Fehlermeldung.

Grüße
Klaus

himitsu 14. Mär 2017 09:40

AW: Anweisung in if und for
 
Ich versteh dein Problem irgendwie nicht.

Der Code an sich funktioniert ja,
außer dass die 1 umsonst hochgezählt wird, aber das lässt sich z.B. durch
Delphi-Quellcode:
for i := 2 to 3 do
beheben ... jenachdem was eigentlich passieren soll.

luciseli 14. Mär 2017 09:44

AW: Anweisung in if und for
 
Sorry etwas kompletter nochmal:

Code:
test[1]:= z1;
  test[2]:= z2;
  test[3]:= z3;
  test1[1]:= z1;
  test1[2]:= z4;
  test1[3]:= z5;

  if eingabe = 1 then
     begin
          for i:= 1 to 3 do
              begin
                   test[i]:= test[i] + 1;
                   test1[i]:= test1[i] + 1;
              end;
          test[1]:= 0;
          test1[1]:= 0;
     end;
  if eingabe = 2 then
     begin
          for i:= 1 to 3 do
              begin
                   test[i]:= test[i] + 1;
                   test1[i]:= test1[i] + 1;
              end;
          test[2]:= 0;
     end;
1. Sollen alle z- variablen hochzählen
2. Soll die eingegebene(eingabe) Zahl auf 0 gesetzt werden

Klaus01 14. Mär 2017 09:48

AW: Anweisung in if und for
 
.. meinst Du sowas?

Delphi-Quellcode:
          for i:= 1 to 3 do
              begin
                if i = eingabe then
                   begin
                     test[i]:= 0 ;
                     test1[i]:= 0;
                   end
                else
                  begin  
                    test[i]:= test[i] + 1;
                    test1[i]:= test1[i] + 1;
                  end;
              end;
Grüße
Klaus

Zacherl 14. Mär 2017 09:53

AW: Anweisung in if und for
 
Zitat:

Zitat von luciseli (Beitrag 1364125)
1. Sollen alle z- variablen hochzählen
2. Soll die eingegebene(eingabe) Zahl auf 0 gesetzt werden

Verstehe ich leider immer noch nicht wirklich.

Willst du tatsächlich
Delphi-Quellcode:
z1
,
Delphi-Quellcode:
z2
, .. hochzählen, oder
Delphi-Quellcode:
test[1]
,
Delphi-Quellcode:
test[2]
, etc.?

luciseli 14. Mär 2017 10:01

AW: Anweisung in if und for
 
@ Klaus01

es sollte am besten erst alle hochzählen und dann nur den einen wert der als "eingabe" deklariert ist auf null setzten

@ Zacherl

es müssen natürlich test[1] etc. hochgezählt werden da hast du recht

Also nochmal zusammengefasst:

Ich will alle werte der arrays hochzählen und danach den array wert wo z = eingabe ist zurücksetzten auf 0

Ghostwalker 14. Mär 2017 10:02

AW: Anweisung in if und for
 
oder etwa so ?

Delphi-Quellcode:
   for i := 1 to 3 do
   begin
     inc(test[i]);
     inc(test1[i]);
   end;
   test[eingabe] := 0;
   test1[eingabe] := 0;

luciseli 14. Mär 2017 11:01

AW: Anweisung in if und for
 
Super passt der Tipp mit dem inc war super. Danke an alle

a.def 14. Mär 2017 12:06

AW: Anweisung in if und for
 
Zitat:

Zitat von luciseli (Beitrag 1364149)
der Tipp mit dem inc war super. Danke an alle

Nur zwischen
Delphi-Quellcode:
test[i] := test[i] + 1;
und
Delphi-Quellcode:
inc(test[i]);
gibt es doch keinerlei Unterschied :?

Delphi-Quellcode:
var
 i: Integer;
begin
 // Das hier...
 i := 0;
 i := i + 1;
 ShowMessage(IntToStr(i));

 // ... ist dasselbe wie das hier
 i := 0;
 Inc(i);
 ShowMessage(IntToStr(i));


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 Uhr.
Seite 1 von 2  1 2      

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