![]() |
Re: Boolean-Wert ändern
Zitat:
Grüße Faux |
Re: Boolean-Wert ändern
Hi!
Nö, wieso? Bei marabu steht nachher der negierte Wert in der Variable, sodass ein aufruf mit negate(x) möglich ist. Bei 3_of_8 bewirkt negate(x) gar nix. Da müsste es dann x:=negate(x) heißen, was aber gänzlich unnötig wäre. Ciao Frederic |
Re: Boolean-Wert ändern
Zitat:
Er hat zwar keine Anleitung mitgeliefert, aber ich finde es verwirrend, wenn dann der nichtnegierte Wert zurück kommt. Grüße Faux |
Re: Boolean-Wert ändern
Hi!
Das iss richtig, aber weiter oben steht ja, dass der aufruf mit Negate(x) erfolgen solle. Imho iss aber ein Rückgabewert hier sowieso unnötig. Ciao Frederic |
Re: Boolean-Wert ändern
eine funktion für soetwas ist alles andere als sinnvoll. Durch den Aufruf einer Funktion werden erst wieder die ganzen Dinge auf den Stack gepackt, dann wird zur Funktion hingesprungen etc. Also ein recht großer Performanceverlust und das nur wegen schreibfaulheit.
|
Re: Boolean-Wert ändern
Zitat:
Ich finde das ganze Vorhaben etwas unnötig. :P Vorallem weil Negate(a); a:=not a; gleichviel, wenn nicht sogar mehr schreibaufwand ist. ;) Grüße Faux |
Re: Boolean-Wert ändern
Um hier mal einzugreifen, ich meine ja eine Prozedur und keine Funktion, da man hier wirklich keinen Rückgabewert benötigt.
Inc() ist ja schließlich auch eine Prozedur und keine Funktion !
Delphi-Quellcode:
Aber so eine Prozedur wollte ich ja gar nicht selber machen, sondern nur wissen, ob es sowas vielleicht in Delphi schon gibt.
procedure Inc(var X: Integer);
begin X := X + 1; end; //analog dazu: procedure Negate(var X: Boolean); begin X := not X; end; Da dies aber nicht der Fall zu seien scheind, habe ich bereits:
Delphi-Quellcode:
in meinem Quelltext verwendet.
X := not X;
Eine Prozedur Negate scheint dann überflüssig zu sein, genauso wie Inc() in Delphi überflüssig ist, wenn man immer
Delphi-Quellcode:
verwendet !
X := X + 1;
Da es aber Inc() bereits in Delphi gibt, hätte es ja sein können, dass es auch so was wie Negate() schon gibt. Eigentlich war ja nur das meine ursprüngliche Fragestellung ! Aber trotzdem finde ich es interessant, was sich für eine ausfürliche Diskussion aus dieser simplen Frage eintwickelt, die eigentlich lediglich mit 'Ja' oder 'Nein' zu beantworten war. |
Re: Boolean-Wert ändern
btw:
Die Inc Prozedur kann dann doch etwas mehr:
Delphi-Quellcode:
Grüße
procedure Incx(var X: Ordinal; const N: Integer = 1);
begin X := X + N; end; Faux |
Re: Boolean-Wert ändern
Hi!
Zitat:
Ciao Frederic |
Re: Boolean-Wert ändern
Ja Martin, dass ist der Mehrwert eines Forums. Ja und Nein kann man anhand der Online-Hilfe klären, aber diese Diskussionen machen ein Forum interessant.
Die von mir gezeigte Funktion speichert den alten Wert, bevor sie den neuen Wert setzt - mit einer Zeile Code. Dadurch kann in einer Zeile der vorherige Wert ausgelesen und später wieder korrekt restauriert werden. So richtig sinnvoll ist das aber erst bei Typen, die mehr als zwei diskrete Werte kennen. Dort ist eine combined access method sehr angenehm, bei Boolean nehme auch ich in der Regel einfach den NOT Operator. Ihr müsst lernen das Wesentliche zu erkennen, auch wenn ihr nicht mit der Nase darauf gestoßen werdet. Zum Thema Performanz: es dauert Jahre, bis man mit einer Programmiersprache ein Projekt in lesbarem und wartbarem Code formulieren kann. Für das Tuning kann ich Kollegen einsetzen, die die Fähigkeit lesbaren Code zu schreiben nicht besitzen. In den letzten 10 Jahren hatte ich nur zwei Projekte, bei denen explizites Tuning erforderlich war. Ihr dürft das Thema Performanz nie überbewerten. Erst muss eine Anwendung existieren, dann muss sie untersucht (Profiler) werden und dann werden die richtigen Stellen hand-optimiert - und nur die. Freundliche Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 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-2025 by Thomas Breitkreuz