![]() |
Delphi-Version: 5
array[1..10] auf Wert prüfen?
Hallo,
ich habe beispielsweise ein "array[1..10] of boolean". Kann man die ggf. komplett auf den Wert "True" prüfen? Könnte mir vorstellen, dass dies geht. Ich mache es halt gerade so (als Beispiel):
Code:
Bestimmt ist Delphi so klug, dass dies auch einfacher geht :)
var w : array[1..10] of boolean;
... if (w[1] = true) and (w[2] = true) and ... then alles_ist_auf_true(); Michael |
AW: array[1..10] auf Wert prüfen?
Auf true solltest du nie abtesten, einfach
Delphi-Quellcode:
if w[1] and w[2] usw.
Vielleicht hilft auch eine Schleife weiter, wenn du einmal die Anzahl der zu prüfenden Objekte änderst. |
AW: array[1..10] auf Wert prüfen?
Hallo,
Delphi-Quellcode:
b:= True;
for i:= Low(w) to High(w) do begin if not w[i] then begin b:= False; break; end; end; |
AW: array[1..10] auf Wert prüfen?
Oder noch eine Variante
Delphi-Quellcode:
b:= True;
for i:= Low(w) to High(w) do b := b and w[i]; |
AW: array[1..10] auf Wert prüfen?
Oder so vielleicht?
Delphi-Quellcode:
var testFeld, jajajaFeld: Array[1..10] of Boolean;
begin ... FillChar(jajajaFeld, 10, true); if CompareMem(@jajajaFeld, @testFeld, 10) then ShowMessage('Ups'); |
AW: array[1..10] auf Wert prüfen?
Sehr gut:thumb: Das kann super als schlechtes Beispiel dienen. :oops:
|
AW: array[1..10] auf Wert prüfen?
Zitat:
|
AW: array[1..10] auf Wert prüfen?
Es verletzt mehrere Clean-Code Regeln (KISS, "Vorsicht vor Optimierungen!", POLS), ist nicht evolvierbar und fehleranfällig.
Die Varianten von hoika und Jumpy haben diese Probleme nicht. |
AW: array[1..10] auf Wert prüfen?
Danke für die Tipps.
Ich dachte ja, es gibt sowas wie "if w[1..10] = true" oder statt ".." vielleicht "-" oder "/". Aber so eine For-Schleife (3 Zeiler von @Jumpy) ist ja auch recht klein. Danke an alle. @zeras Aber wieso sollte man nicht auf "true" prüfen (if variable=true then), sprich eher nur "if variable then" nehmen? Michael |
AW: array[1..10] auf Wert prüfen?
Nimm lieber eine auf False Prüfen Variante wie diese hier, damit wird es nie zu Problemen kommen.
Zitat:
edit also auf code Ebene runtergeschraubt
Delphi-Quellcode:
Beim kompilieren hat Delphi Wert 1 für True, aber nicht alle Trues sind 1, verstehst Du was ich damit sagen will?
if not w[i] then
// if w[i] = 0 then .. if w[i] then // if w[i] > 0 then |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz