AGB  ·  Datenschutz  ·  Impressum  







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

IF Abfrage

Ein Thema von Stillmatic · begonnen am 6. Jun 2007 · letzter Beitrag vom 7. Jun 2007
Antwort Antwort
Seite 2 von 2     12   
s-off
(Gast)

n/a Beiträge
 
#11

Re: IF Abfrage

  Alt 6. Jun 2007, 22:16
Du hast in Deiner Abfrage 8 Bedingungen, zusammengefasst in 4*2 welche mit OR verknüpft sind.
Sprich, wenn eine Deiner 4 Bedingungen zutrifft, dann wird der Rest ausgeführt.

Und dabei ist es ganz egal, ob das die erste, zweite, dritte oder vierte Bedingung ist.

So, wie der Code dort steht, werden auf jeden Fall alle Bedingungen geprüft, bis eine True ergibt.

Edit: zu prüfenden Ausdruck markieren und mit STRG+F7 auswerten.
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#12

Re: IF Abfrage

  Alt 6. Jun 2007, 22:28
genau: nenn uns doch mal bitte die variablenwerte für

Merkmal, ID, Temp1.ID, Temp2.ID, Temp1.Name, Temp2.Name, Temp1.Typ, Temp2.Typ, Temp1.Kategorie, Temp2.Kategorie
  Mit Zitat antworten Zitat
Stillmatic

Registriert seit: 25. Apr 2007
110 Beiträge
 
#13

Re: IF Abfrage

  Alt 6. Jun 2007, 22:39
Ich werde es nochmal Probieren zu erklären!

Ich will mit dieser Abfrage erreichen

Delphi-Quellcode:
if ((Merkmal = ID) and (Temp1.ID < Temp2.ID))
      or ((Merkmal = N) and (Temp1.Name < Temp2.Name))
      or ((Merkmal = T) and (Temp1.Typ < Temp2.Typ))
      or ((Merkmal = K) and (Temp1.Kategorie < Temp2.Kategorie))then
das je nach dem was Merkmal für einen Wert beeinhaltet, ein BubbleSort realisiert wird!
Das wirkliche Tauschen der position in der Datei wird erst in dem then Teil ausgeführt, da es ja bei allen(also egal welchen Wert Merkmal hatt) das selbe ist!
Nur die Abfragen nach den Abfragen welchen Wert Merkmal beeinhaltet ist für die unterschiedlichen Fälle anders!

Aber der Code oben, funktioniert bei mir nicht und ich verstehe nicht warum(habe das so schon öffters gemacht)??
Welche sagen es liegt am Delphi Compiler andere sagen es muss so laufen.

Tut es aber nicht, das Problem liegt ganz klar da, das als erstes geprüft wird ob Merkmal = N ist (ist es aber nicht) und dann testet er den ersten or Teil überhaupt nicht mehr.....TELL MI WHY (bin schon min. 10 mal mit dem debugger durch--> keine Idee!!)



@computer-glossar.de

ID := 1,2,3,4....
Name:= String[50]
Typ:=(CD,DVD)
Kategorie:= (Film,Musik,Software,SonstigeDaten)

Da liegt aber auch nicht der Fehler, er müsste ja zumindest mal den Ausdruck auswerten tut er aber net!
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#14

Re: IF Abfrage

  Alt 7. Jun 2007, 02:11
Moin!

Wenn Du das machst:
Delphi-Quellcode:
If ((Merkmal = ID) and (Temp1.ID < Temp2.ID)) then
   ShowMessage('1');
If ((Merkmal = N) and (Temp1.Name < Temp2.Name)) then
   ShowMessage('2');
If ((Merkmal = T) and (Temp1.Typ < Temp2.Typ)) then
   ShowMessage('3');
If ((Merkmal = K) and (Temp1.Kategorie < Temp2.Kategorie)) then
   ShowMessage('4');
Welche Meldungen bekommst Du?
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 22:23 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