AGB  ·  Datenschutz  ·  Impressum  







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

nur eine if-Schleife ausführen

Ein Thema von Jaegermeister1992 · begonnen am 3. Okt 2009 · letzter Beitrag vom 3. Okt 2009
Antwort Antwort
Seite 2 von 4     12 34      
Jaegermeister1992

Registriert seit: 2. Okt 2009
18 Beiträge
 
#11

Re: nur eine if-Schleife ausführen

  Alt 3. Okt 2009, 10:52
Nein mal ein Beispiel für den INhalt von C1.Items:

F-W
V-Z
G-5
B-7
Y-7
R-6
R-1

So sind natürlich mehrere If-Anweisungen erfüllt aber ich will das nur die erste die erfüllt wird aus ausgeführt wird die danach nicht mehr
  Mit Zitat antworten Zitat
Jaegermeister1992

Registriert seit: 2. Okt 2009
18 Beiträge
 
#12

Re: nur eine if-Schleife ausführen

  Alt 3. Okt 2009, 10:54
oder könnte man die For-Schleife nach erfüllen einer if ANweisung stoppen?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: nur eine if-Schleife ausführen

  Alt 3. Okt 2009, 10:55
Also du gehst in deinem Fall diese Liste durch und prüft für jede Zeile ob etwas zutrifft. Hier wäre das erste, was wahr ist "F-W" und somit der 2. if-Zweig.
Anschließend arbeitest du die Liste weiter ab. Ist das vielleicht deine Problem?

Wenn du die Schleife verlassen möchtest, falls eine Bedingung zutrifft, dann müsstest du in den if-Anweisungen mit "break" die Schleife verlassen.

Wenn ich dich immer noch falsch verstanden habe tut's mir Leid.

Grüße, Matze

Edit: Dein "Push-Beitrag" sagt mir, dass ich dich dieses mal verstanden habe.
  Mit Zitat antworten Zitat
Jaegermeister1992

Registriert seit: 2. Okt 2009
18 Beiträge
 
#14

Re: nur eine if-Schleife ausführen

  Alt 3. Okt 2009, 10:58
Danke das ist das was cih wissen wollte so müsste es gehen danke!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: nur eine if-Schleife ausführen

  Alt 3. Okt 2009, 11:01
Und für die Zukunft wäre es neben dem Versuch, die Grammatik etwas aufzupeppeln sinnvoll, wenn du gleich den richtigen Quellcode zeigen würdest. Der aus deinem Ausgangsbeitrag hatte mit deinem Problem nichts zu tun, da zum einen die Schleife fehlte und zum anderen alle Bedingungen gleich waren und somit für unnötige Verwirrung sorgten.
Also bevor du etwas falsch zu vereinfachen versuchst, zeige lieber gleich den richtigen Code.
  Mit Zitat antworten Zitat
Jaegermeister1992

Registriert seit: 2. Okt 2009
18 Beiträge
 
#16

Re: nur eine if-Schleife ausführen

  Alt 3. Okt 2009, 11:07
Geht klar
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#17

Re: nur eine if-Schleife ausführen

  Alt 3. Okt 2009, 11:17
Echt etz? (SCNR^^)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#18

Re: nur eine if-Schleife ausführen

  Alt 3. Okt 2009, 11:38
Hallo Jaegermeister1992,

Zitat:
Showmessage('Sie haben eine Vierziehen');
...was bedeutet das ? Das klingt wie eine elektronische Übersetzung aus dem Cinesischen. Ist das bei dem Spiel so ?

zum Thema: verschachtelte if Anweisungen funktionieren zwar bringen aber mit steigender Komplexität Unübersicht mit sich. Versuche das ganze mal mit case Anweisungen umzusetzen. Du bist dir später dankbar.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#19

Re: nur eine if-Schleife ausführen

  Alt 3. Okt 2009, 11:57
CASE geht mit gleichen Werten nicht
und auch bei verschachtelten IF-Anweisung ist es recht "sinnlos"


16, 8+8, 4*4 usw. ergibt alles das Selbe

CASE läßt aber nur unterschiedliche Werte zu (Fehlermeldungen wie doppeltes Case-Label wären die Folge)
und beim IF würde es zwar kompiliert werden, aber da die folgenden Bedingungen nie erreicht werden, sind sie doch eigentlich vollkommen unnütz.
$2B or not $2B
  Mit Zitat antworten Zitat
Jaegermeister1992

Registriert seit: 2. Okt 2009
18 Beiträge
 
#20

Re: nur eine if-Schleife ausführen

  Alt 3. Okt 2009, 12:14
Also das funktioniert mitlerweile recht gut nun noch eine Frage:

die selbe For.Schleife wie vorhin.
Wenn nun aber keine if Anweisung in der Schleife erfüllt wird, dann soll ... passieren
Delphi-Quellcode:
  for i:= 0 to C2.Items.Count-1 do begin
    FarbeC2:=Copy(C2.Items[i],0,1);
    ArtC2:=Copy(C2.Items[i],3,1);
    AblegenC2:= C2.Items[i];

    if (FarbeC2 = 'V') and (ArtC2 = 'Z') then begin
      Showmessage('Sie haben eine Vierzehn');
      break;
    end

    else if (FarbeC2 = 'F') and (ArtC2 = 'W') then begin
      Showmessage('Sie haben eine Farbwahl');
      break;
    end

    else if (FarbeC2 = FarbeA) and (ArtC2 = 'A') then begin
      Showmessage('Sie haben ein Aussetzen');
      break;
    end


    else if (FarbeC2 = FarbeA) and (ArtC2 = 'Z') then begin
      Showmessage('Sie haben ein Zweiziehen');
      break;
      end

    else if (FarbeC2 = FarbeA) and (ArtC2 = 'R') then begin
      Showmessage('Sie haben ein Richtungswechsel');
      break;
    end

    else if (FarbeC2 = FarbeA) or (ArtC2 = ArtA) then begin
      Ablegen.Picture.Loadfromfile('Karten/' + C2.Items[i] + '.bmp');
      Aktuell.Items.Insert(0, C2.Items[i]);
      C2.Items.Delete(i);
      AnzahlC2:=AnzahlC2-1;
      NachlegenC2;
      break;
    end
    else Showmessage('Hallo');
  end;
So habe ich mir das gedacht, aber dann macht er es nach jederm SChleifendurchlauf aber er soll es nur machen wenn die schleife durch ist und nichts passiert ist.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 18:53 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