AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein EMB DCE 12 - Bedingungen mit einen Assign-Zeichnen
Thema durchsuchen
Ansicht
Themen-Optionen

EMB DCE 12 - Bedingungen mit einen Assign-Zeichnen

Ein Thema von paule32.jk · begonnen am 9. Okt 2024 · letzter Beitrag vom 18. Nov 2024
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#1

EMB DCE 12 - Bedingungen mit einen Assign-Zeichnen

  Alt 9. Okt 2024, 16:37
Hallo,
ich habe mich schon öfters gefragt, warum bei Delphi Bedingungen/Condition's und Vergleichen der rechte Wert mit einen Assign-Zeichen (also dem ist-gleich = Zeichen) eingeleitet wird.

Für mich macht es mehr Sinn:
if foo == 42 then... zu schreiben als:
if foo = 42 then ... weil das if foo = 42 doch sehr nach Zuweisung und nicht gerade nach Vergleich anmutet.
Sind da Pläne bekannt, das zu ändern - oder ist das Historisch bedingt ?
ich mein... Alles Neu macht der Mai ...
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#2

AW: EMB DCE 12 - Bedingungen mit einen Assign-Zeichnen

  Alt 9. Okt 2024, 16:50
Hallo,
ich habe mich schon öfters gefragt, warum bei Delphi Bedingungen/Condition's und Vergleichen der rechte Wert mit einen Assign-Zeichen (also dem ist-gleich = Zeichen) eingeleitet wird.
Das ist wohl der Ur-Pascal Syntax geschuldet, mach Dir keine Hoffnung auf Änderung
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#3

AW: EMB DCE 12 - Bedingungen mit einen Assign-Zeichnen

  Alt 9. Okt 2024, 17:03
Unter Pascal ist das "=" eben kein Assign-Zeichen, sondern ein Vergleichszeichen. Zum Assign verwendet man ":=".

Aber tröste dich, wenn man von Pascal kommt, dann sieht C halt einfach nur falsch aus.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#4

AW: EMB DCE 12 - Bedingungen mit einen Assign-Zeichnen

  Alt 9. Okt 2024, 17:06
.. dann sieht C halt einfach nur falsch aus.
Soweit würde ich jetzt aber auch nicht gehen
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.444 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: EMB DCE 12 - Bedingungen mit einen Assign-Zeichnen

  Alt 9. Okt 2024, 17:14
Ich schon. Ich kam von der Schule und da gab es nur "=". Ich fand das ":=" komisch und auch das ":=".
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

AW: EMB DCE 12 - Bedingungen mit einen Assign-Zeichnen

  Alt 9. Okt 2024, 17:22
Wobei grade in C-Sprachen dieser Mist viele Probleme bereitet hat.

Logisch und Syntaktisch finde ich = garnicht schlecht.
Es entspricht auch dem, was man im Matheunterricht mal gelernt hat.

Zitat:
if (i = 132) {
Und dann wurde später in Editoren eingebaut, dass es hier eine Warnung gibt, weil man vermutlich == machen wollte, es aber dennoch der Syntax entsprach,
denn so wird erstmal die Variable überschrieben und es ergibt auch immer True.

In nicht tysicheren C-igen kann man auch gern sowas bekommen.
1 + 1 = 11
1 - 1 = 0
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 9. Okt 2024 um 17:24 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#7

AW: EMB DCE 12 - Bedingungen mit einen Assign-Zeichnen

  Alt 9. Okt 2024, 18:01
Ich schon. Ich kam von der Schule und da gab es nur "=". Ich fand das ":=" komisch und auch das ":=".
und wie findest Du "==", "===", "!=", "!==", "<>" "is" ?
Ist auch alles nicht besser

Mit würde auch "=" "==" und "!=" reichen, aber die Welt ist halt komplexer
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: EMB DCE 12 - Bedingungen mit einen Assign-Zeichnen

  Alt 9. Okt 2024, 18:21
also rein logisch und mathematisch bedeutet ja = eine Zuweisung - zum Beispiel für Variablen:
v = 2.
C = v + v.
C = 2 + 2.
C = 4.

dann gibt es noch =/= was in C/C++ != oder in Pascal <> bzw. >= or <= entspricht.
Ein:

if (var = 2) würde in C oder vielen anderen Programmiersprachen logisch "wahr" (1) ergeben,
weil zuerst der Variablen "var" der Wert 2 zugewiesen wird und die IF-Klausel dann schaut, ob der Wert der Variablen var 0 oder größer 0 ist.
Und alles was größer 0 ist (was hier der Fall ist) wird als 1 - also wahr gemätscht bzw. ausgewertet.
Das kann gefährlich werden wenn zum Beispiel auf EOF und/oder \0 geprüft werden soll.
Weil \0 zugleich das terminierende End-Byte ist - by C-Zeichketten (Pchar) wie auch beim erreichen der EOF Marke.
Beide Zeichen (also \0) haben dann unterschiedliche Bedeutungen.
Im Ascii-Zeichensatz entspricht dann \0 das lachende Smily-Zeichen, das man mit einen DOS-Eingabe-Hex-Editor zu Gesicht bekommt, wenn mit einen Hex-Editor das binäre Image einer executable betrachtet (sofern die Codepage auch auf ASCII oder UTF-8 gestellt ist).
Manche Hex-Editoren stellen auch einfach ein Leerzeichen dar - was dann auch gut verwechselt werden kann mit dem Leerzeichen 32 dez. oder 20 hex.
Dann gibt es auch noch die geniale Idee von Null-Feldern (zum Beispiel in Datenbankprogrammen)...
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet

Geändert von paule32.jk ( 9. Okt 2024 um 18:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.604 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: EMB DCE 12 - Bedingungen mit einen Assign-Zeichnen

  Alt 9. Okt 2024, 18:27
Diskutieren wir jetzt ernsthaft darüber, warum Delphi/Pascal anders ist als C/C++/Java ... ?

Dann kann man auch darüber diskutieren, warum in Pascal/Delphi/C/C++ eine Einrückung keine Bedeutung hat, wo sie doch in COBOL und Python so wichtig sind.

Will sagen: So eine Diskussion ist absolut sinnlos.
Thomas Mueller
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#10

AW: EMB DCE 12 - Bedingungen mit einen Assign-Zeichnen

  Alt 9. Okt 2024, 18:28
Will sagen: So eine Diskussion ist absolut sinnlos.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


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 08:07 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