![]() |
Delphi-Version: 5
C Code - ? Operator nach Delphi übersetzen
wie müsste ich folgenden C Code richtig übersetzen
Code:
mein Versuch
return (0 == melody) ? 0 : ((boosts & (1 << voice_nr)) ? sample : THREEQUARTERS(sample));
Delphi-Quellcode:
was natürlich quark ist
if 0 = melody then result := 0 else result := ((boosts and (1 shl voice_nr))) else result := sample else result := THREEQUARTERS(sample));
|
AW: C Code - ? Operator nach Delphi übersetzen
So vielleicht?
Delphi-Quellcode:
if melody=0 then
return 0 else if boosts and 1 shl voice_nr <> 0 then return sample else return threequaters(sample); |
AW: C Code - ? Operator nach Delphi übersetzen
Hatte es auch grad hinbekommen nachdem ich den Code Formatiert hatte:oops: Danke Trotzdem
|
AW: C Code - ? Operator nach Delphi übersetzen
Da hatte ich erst heute wieder eine Diskussion drüber. Der ternäre Operator war das allererste was ich meinen ersten Tagen Delphi "vermisst" hatte. Mittlerweile bin ich froh, dass es die Sprache einem so schwer macht, unübersichtlichen Code zu schreiben :wink:
Ich meine - Wie lang braucht man um diese schon fast typische Zeile C-Code zu durchblicken. Und wie lang beim Delphi-Pendant. |
AW: C Code - ? Operator nach Delphi übersetzen
Zitat:
Du hast mit modernen Programmiersprachen viel mehr Möglichkeiten, als umsichtiger und guter Programmierer kompakten Code zu schreiben, der leicht verständlich ist. Wer es mit dem '?' übertreibt, ist halt ein schlechter Programmierer. In Delphi kann man die größte Grütze schreiben, die keine Sau mehr versteht. Es reicht schon eine Methode mit mehr als 50 Zeilen oder Klassen mit zu vielen Methoden, oder gar keine Klassen, sondern rein prozeduralen Code. Delphi bietet das ja, quasi als Ausgleich zum fehlenden '?' :mrgreen: Delphi ist ein Relikt. Leider. Aber darum geht es hier ja nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 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