==, && und || gehn ja noch, aber ein! überliest man gerne, da lob ich mir das gute alte Not
_________________ Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
Woltan hat geschrieben:
(Wer hat sich das nur mit dem := ausgedacht *Kopschüttel*)
Ein Mathematiker (in dem Fall ein Informatiker der Mathe kann ).
Denn := steht für Definition. Und bei der Wertzuweisung definiert man die Variable ja als den Wert
Hey ho,
also ich glaube ich spar mir einen Konter hier. Ich glaube dieses Thema wurde bestimmt schon zu genüge durchgekaut.
Ich für meine begriffe mag das = lieber, weil man es einfach viel häufiger benutzt. Aber ich kann auch verstehen woher das := kommt.
Wie dem auch sein, der Thread war ja nicht dafür gedacht über die Delphi Syntax zu lästern sondern zu lernen. Und das hat er erfolgreich getan!
Danke nochmal allen beteiligten, was würde ich nur ohne diese seite hier tun?!?!? (Hab ganz viel OpenGL kram für c++ zwecke verwendet).
Rock n Roll delphigl!
cherio Woltan
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
Ach, für nen Flamewar ist es noch zu früh.
Aber ich denke, dass jeder hier so ein erfahrener Programmierer ist um zu Wissen das jede Sprache gut ist.
Von daher sind es kleine ironische Seitenhiebe
Ich programmier auch Delphi und C-Derivate (im Moment C#) und da habe ich mir so beholfen: Bei Zuweisungen denke ich explizit 'ergibt sich zu' beim Hinschreiben, bei Vergleichen denke ich 'genau gleich'. Das hilft zumindestens 90% der Verschreiber zu vermeiden
_________________ Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.
C-Slang in Delphi geht ja immernoch, da wird grundsätzlich gemeckert (er kennt eben kein == und einen Vergleich ausserhalb eines Ifs ist auch nicht erlaubt a=b).
Andersrum wirds dann kritisch. a:=b wird angemeckert, aber if(a=b){} wird ganz braun, den das ist eine korrekte Anweisung in C. Darum gabs bei uns inner Firma in den Organweisung den Passus: Bei Vergleichen mit Konstanten ist immer die Konstante zuerst zu nennen (if(1==i), nicht if(i==1)), weil sowas wird dann trotzdem bemängelt, weil 1=i eben nicht geht (einer Konstanten kann kein Wert zugewiesen werden).
_________________ Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Kann man "zuweisungen in IF-Statements" nicht direkt vom Compiler anmeckern lassen? Also Java meckert sowas eh an, aber ich glaub sowas kann man auch in den Compileroptionen einstellen....
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Manchmal sind die dinger (das muss ich leider sagen) aber doch praktisch, wenn man z.B. eine Wertzuweisung direkt auf null prüfen will. Wir pascaller brauchen dafür ne extra Zeile.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das geht ja immer noch. if(a = getKlasse() == null) ist ja ein Vergleich und keine Zuweisung. Die Operatorreihenfolge sorgt dafür, dass erst das = ausgeführt wird und dann der vergleich. (Jedenfalls soweit ich das im Kopf habe)
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Hm, ok, ich bin nicht so bewandert in C dass ich das jetzt auseinander halten konnte.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Ohje, da hab ich ja was losgetreten Und natürlich muss ich meinen Senf auch noch dazugeben. Zumal ich noch ne Delphi Frage habe ^^.
Also ich finde in einem if kann ruhig eine zuweisung geschehen. Ich finde dass man alleine sowas schreiben kann:
Code:
while(i--)...
gibt einen wesentlich mehr Freiheiten. Oder auch
Code:
if(!(pcDummy = fread(...)))
macht den Source schön Übersichtlich. Jedenfalls sieht man auf Anhieb was gemeint ist. Anm.: Das ist natürlich total subjektiv und ist nur meine Meinung. Vielleicht stehe ich ja auch ganz alleine damit da! ^^. Hier jedenfalls meine Delphifrage: Ich würde gerne eine operator in eine Klasse bringen. In C würde das soaussehen:
Code:
class C
{
public:
operator string* () {return pS;}
private:
string *pS;
};
Meine Frage an die community:
Wie funktioniert das in Delphi? (Ich weiß dass so eine Klasse keinen Sinn macht, aber es geht hier ja nur ums Prinzip.)
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
In Delphi garnicht. (oder ich habe da jahrelang was übersehen)
Nur der FreePascalCompiler bietet operatorüberladungen.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Wenn ich mich nicht irre kann das aktuelle Delphi 2006 Operatoren. Also theoretisch dann auch das TurboDelphi. Aber zwecks Kompatibilität habe ich es bisher immer gelassen. Weiß also auch nicht wie man es genau definieren müsste. Zu mal ich persönlich zwar Operatoren durchaus praktisch finde aber die können recht schnell die eigentliche Funktionalität dahinter verschleiern. Finde zu mindest ich.
Ok Danke,
ich hab auch schon danach gegoogelt und nichts wirklich informatives gefunden. Dementsprechen hab ich fast damit gerechnet, dass das nicht so ohne weiteres geht.
Ach ja, wo ist nur mein schöner C-compiler hin^^.
Nächste Frage: ich würde gerne sowas in Delphi machen:
Code:
enum E
{
e1 = 0,
e2
};
void F()
{
int i[2];
i[e1] = 5;
i[e2] = 6;
}
Leider muss ich in Delphi diesen enum immer casten:
Code:
E = (e1 = 0, e2);
procedure F();
var
i : array[0..2] of integer;
begin
i[integer(e1)] := 5;
i[integer(e2)] := 6;
end
Gibt es eine möglichkeit das zu umgehen?
Oder mache ich was falsch? Weil eigendlich ist ja so ein enum prädestiniert, um für sowas eingesetzt zu werden.
Danke schonmal im Vorraus
hab ich schon erwähnt, dass diese Community rockt?
cherio Woltan
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.