Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Neuer Delphi Language Guide von Embarcadero (https://www.delphipraxis.net/145758-neuer-delphi-language-guide-von-embarcadero.html)

mkinzler 7. Jan 2010 22:39


Neuer Delphi Language Guide von Embarcadero
 
http://docwiki.embarcadero.com/RADSt...ge_Guide_Index

s.h.a.r.k 7. Jan 2010 22:46

Re: Neuer Delphi Language Guide von Embarcadero
 
Die sollten lieber mal mehr Ressourcen bzgl. der Hilfe in die Hand nehmen, wobei das an sich auch informativ ist.

Astat 7. Jan 2010 23:02

Re: Neuer Delphi Language Guide von Embarcadero
 
Zitat:

Zitat von s.h.a.r.k
Die sollten lieber mal mehr Ressourcen bzgl. der Hilfe in die Hand nehmen, wobei das an sich auch informativ ist.

Ja, auch die Installationsroutienen, Support und der vollkommen veraltete Compiler brächten dringendst eine Überarbeitung.

Astat

freak4fun 7. Jan 2010 23:11

Re: Neuer Delphi Language Guide von Embarcadero
 
Sieht doch gut aus. Kritik an anderen Punkten hat hier IMHO nichts zu suchen. ;)

Namenloser 8. Jan 2010 04:13

Re: Neuer Delphi Language Guide von Embarcadero
 
Ist ja teilweisen ganz informativ, enthält aber auch einige Ungereimtheiten. Bei manchen Code Samples halten sie z.b. ihren eigenen Style Guide nicht ein.

Und hier: http://docwiki.embarcadero.com/RADSt...g_String_Types
Zitat:

Code:
0..Length - 1   character string of element sized data

Seit wann das? Wurde das in einer neueren Version geändert? Strings gingen in Delphi doch immer von 1 bis length :gruebel:

alzaimar 8. Jan 2010 05:58

Re: Neuer Delphi Language Guide von Embarcadero
 
Du musst aber auch richtig lesen: Die Reden von Offset. Und wenn ich einen String als Zeiger ansehe, dann ist das erste Zeichen eben bei Offset 0.

Ich hab aber auch einen:
Zitat:

As a shorter alternative, the ampersand (&) operator can be used to resolve ambiguities between identifiers and Delphi language reserved words. The & prevents a keyword from being parsed as a keyword (that is, a reserved word). If you encounter a method or type that is the same name as a Delphi keyword, you can omit the namespace specification if you prefix the identifier name with an ampersand. But when you are declaring an identifier that has the same name as a keyword, you must use the &:
Delphi-Quellcode:
type
 &Type = Integer;
 // Prefix with '&' is ok.

Motto: "Wir basteln uns eine Frickelsprache".

...

Zitat:

Comments that are alike cannot be nested. For instance, {{}} will not work, but (*{}*)will. This latter form is useful for commenting out sections of code that also contain comments.
Blödsinn. Wenn ich also Code mit '(*... *)' aus kommentieren kann, der '{' enthält, dann kann ich diesen auskommentierten Code ja nicht weiter auskommentieren... Also lieber ganz sein lassen und Code mit '//' auskommentieren.

Namenloser 8. Jan 2010 06:23

Re: Neuer Delphi Language Guide von Embarcadero
 
Zitat:

Zitat von alzaimar
Du musst aber auch richtig lesen: Die Reden von Offset. Und wenn ich einen String als Zeiger ansehe, dann ist das erste Zeichen eben bei Offset 0.

Da steht aber leider nirgendwo, dass das Offset relativ zur Adresse des ersten Zeichens ist. Die Tabelle ist jedenfalls nicht gerade eindeutig.

Jaynder 8. Jan 2010 09:21

Re: Neuer Delphi Language Guide von Embarcadero
 
Zitat:

Zitat von alzaimar

Zitat:

Comments that are alike cannot be nested. For instance, {{}} will not work, but (*{}*)will. This latter form is useful for commenting out sections of code that also contain comments.
Blödsinn. Wenn ich also Code mit '(*... *)' aus kommentieren kann, der '{' enthält, dann kann ich diesen auskommentierten Code ja nicht weiter auskommentieren... Also lieber ganz sein lassen und Code mit '//' auskommentieren.

Kein Blödsinn: natürlich macht es Sinn, komplette Programmblöcke mit eingebetteten {}-Kommentaren auszukommentieren zu können!!

himitsu 8. Jan 2010 09:33

Re: Neuer Delphi Language Guide von Embarcadero
 
Zitat:

Zitat von Jaynder
Kein Blödsinn: natürlich macht es Sinn, komplette Programmblöcke mit eingebetteten }-Kommentaren auszukommentieren zu können!!

Jupp

Delphi-Quellcode:
//  {...}

{  ... //  ... }

(*  {...}  ... //  ... *)
aber so viel Neues ist da jetzt auch nicht zu finden und vieles steht auch in der OH schon drin

alzaimar 8. Jan 2010 19:23

Re: Neuer Delphi Language Guide von Embarcadero
 
Zitat:

Zitat von Jaynder
Kein Blödsinn: natürlich macht es Sinn, komplette Programmblöcke mit eingebetteten {}-Kommentaren auszukommentieren zu können!!

Doch Blödsinn. Eine sinnfreie Erklärung, denn was ist mit Programmblöcken, die (* *) Kommentare enthalten, z.B. weil ich damit "Programmblöcke mit eingebetteten {}-Kommentaren" auskommentiert habe? :zwinker:
Zitat:

Zitat von himitsu
Jupp

Sepp. :mrgreen:
Dieser auskommentierte Code ist ein Kommentar, den ich leider leider leider nicht nochmal mit dem gleichen Trick beim Auskommentieren weiteren Codes in den Griff bekomme:
Kuktstu Jaynder, Kukstu himitsu:
Delphi-Quellcode:
SuperCode();

KleinerMist();
Mist(); { Kein guter Stil }
AuchMist();

KeinMist();
//
// 1x Auskommentieren geht -oho- ganz toll mit (* *)... also:
//
SuperCode();

KleinerMist();
(*
Mist(); { Kein guter Stil }
*)
AuchMist();

KeinMist();
// 
// 
// Wie war das? Ach ja. Mit (* *) kann man ganz prima Code auskommentieren... äh..
//(Der KleinerMist() und AuchMist() ist auch Mist... Na denne,
// Trommelwirbel....
//
SuperCode();
(* 
KleinerMist();
(*
Mist(); { Kein guter Stil }
*)
AuchMist();
*)
KeinMist();
Was soll also dieser sinnfreie Hinweis bei Embarcadero?

Wieso kann mal also keine Kommentare verschachteln? Oder mal drüber nachdenken, was man so schreibt?

himitsu 8. Jan 2010 19:28

Re: Neuer Delphi Language Guide von Embarcadero
 
man kann halt nur Kommentare unterschiedlichen Typs auskommentieren.

daß man Kommentare gleichen Typs, welche eine Endemarkierung haben, nicht verschachteln kann, sollte doch wohl klar sein. :angel2:

PS: hab schon sowas gesehn
Delphi-Quellcode:
(*$include file.inc*)
(und das mit sämtlichen Direktiven innerhalb verschiedener Projekte)

Mithrandir 8. Jan 2010 19:30

Re: Neuer Delphi Language Guide von Embarcadero
 
Und dann gibt es Kommentarzeichen für eine Zeile
Delphi-Quellcode:
//
für mehrere
Delphi-Quellcode:
{}
und "Super-Kommentari!", der sie alle bekommt
Delphi-Quellcode:
(* *)
Hätte man das bei Emba so geschrieben, hätte keiner ein Problem gehabt. :mrgreen:

Namenloser 8. Jan 2010 19:30

Re: Neuer Delphi Language Guide von Embarcadero
 
Die Formulierung, dass man auf diese Weise Kommentare verschachteln könne, stand auch schon vorher so in der OH. Sie ist ja auch soweit korrekt: Man kann damit eben genau einmal verschachteln - nirgends wird erwähnt, dass eine unendliche Verschachtelungstiefe möglich sei. Ich wüsste sowieso nicht wozu das gut sien sollte - mir hat die Lösung mit (* { } *) auch immer gereicht, und selbst das habe ich nur in schlimmen Fällen von Spaghetticode gebraucht. Aber ich glaube wir schweifen vom Thema ab :wink:

alzaimar 8. Jan 2010 19:46

Re: Neuer Delphi Language Guide von Embarcadero
 
Leute: Ich kann allgemeingültig mit (* *) keinen Code auskommentieren, sondern muss immer schauen, ob er nicht schon solche Kommentare enthält. Also wozu dann dieser Hinweis? Für Blöde? Was soll also so eine Regel?
1. Verwendet {..} wenn der auszukommentierende Code (*-Kommentare enthält.
2. Verwendet (*..*) wenn der auszukommentierende Code {-Kommentare enthält.
3. Verwendet '//' in allen anderen Fällen und auch dann, wenn ihr keinen Bock habt, den auszukommenden Code erst zu analysieren.

Na dann hätte wohl der Hinweis #3 gereicht, oder? VC# und die C#-Guidelines von MS macht es doch vor.

Zudem steht weder (1) noch (2) bei Emba, sondern:
Zitat:

Comments that are alike cannot be nested. For instance, {{}} will not work, but (*{}*)will. This latter form is useful for commenting out sections of code that also contain comments.
Und das stimmt nu mal nicht, wie auch himitsu schon bemerkt hat.

himitsu 8. Jan 2010 20:05

Re: Neuer Delphi Language Guide von Embarcadero
 
Zitat:

Zitat von alzaimar
Nö. nicht klar. Andere Programmiersprachen können das. Nicht viele, :stupid: aber trotzdem.
Außerdem geht es nicht darum, sondern um diesen ziemlich sinnfreien Tipp mit dem Auskommentieren.

Delphi-Quellcode:
(* man kann dann wohl kein { oder (* in einem Kommentar verwenden, ohne daß es Probleme gibt? *)
OK, aber sinnfrei isses dennoch.


Gut, {} zum Auskommentieren großer Blöcke macht sich eh nicht gut ... vorallem wenn der Code nur so mit Compilerdirektiven vollgestopft ist. :stupid:

Mithrandir 8. Jan 2010 20:07

Re: Neuer Delphi Language Guide von Embarcadero
 
Is' doch gut jetzt. :cheers:

Medium 8. Jan 2010 20:09

Re: Neuer Delphi Language Guide von Embarcadero
 
Schmuck ist das ja bei LUA gelöst. Dort gibt's den --[[ text ]] Kommentar, der sich imho beliebig verschachteln lässt, sprich der Compiler zählt die Anzahl der öffnenden Tokens, und nimmt so lange "Kommentar" an, bis ebensoviele geschlossene vorbei gekommen sind. Das find ich garnicht übel :)

Die Muhkuh 8. Jan 2010 20:14

Re: Neuer Delphi Language Guide von Embarcadero
 
Ich glaube, Emba meint das mit nested anders:

Delphi-Quellcode:
{ (1)
{ (2)

} (ende 2)
} (ende 1)
Das man es einfach nicht so verschachteln kann, sondern das ein Kommentare-Ende alle Kommentaranfänge einer Kommentarklasse schließt.

himitsu 8. Jan 2010 20:14

Re: Neuer Delphi Language Guide von Embarcadero
 
Zitat:

Zitat von Medium
Das find ich garnicht übel :)

und was macht man da, wenn man ]] als Text im Kommentar haben will?

*schweig*

Jaynder 8. Jan 2010 20:20

Re: Neuer Delphi Language Guide von Embarcadero
 
Zitat:

Zitat von alzaimar
Leute: Ich kann allgemeingültig mit (* *) keinen Code auskommentieren, sondern muss immer schauen, ob er nicht schon solche Kommentare enthält. Also wozu dann dieser Hinweis? Für Blöde? Was soll also so eine Regel?
1. Verwendet {..} wenn der auszukommentierende Code (*-Kommentare enthält.
2. Verwendet (*..*) wenn der auszukommentierende Code {-Kommentare enthält.
3. Verwendet '//' in allen anderen Fällen und auch dann, wenn ihr keinen Bock habt, den auszukommenden Code erst zu analysieren.

Na dann hätte wohl der Hinweis #3 gereicht, oder? VC# und die C#-Guidelines von MS macht es doch vor.

Zudem steht weder (1) noch (2) bei Emba, sondern:
Zitat:

Comments that are alike cannot be nested. For instance, {{}} will not work, but (*{}*)will. This latter form is useful for commenting out sections of code that also contain comments.
Und das stimmt nu mal nicht, wie auch himitsu schon bemerkt hat.

Sollst recht haben, wenn du nie kommentare innerhalb einer Zeile brauchst. Alle anderen (und die sind nicht alle blöd!) arbeiten jedoch strukturiert genug, um sich so eine Hierarchie zurecht gelegt zu haben. Schließlich gibt es die Block-Quote-Funktion für // in der IDE auch noch nicht so lange. Und du bist eigentlich alt genug, dass du a) auch schon mit Delphi 3 hättest arbeiten können und b) inzwischen tolerant genug für abweichende Ansichten sein solltest..

Schönes WE euch allen

Medium 8. Jan 2010 22:06

Re: Neuer Delphi Language Guide von Embarcadero
 
Zitat:

Zitat von himitsu
Zitat:

Zitat von Medium
Das find ich garnicht übel :)

und was macht man da, wenn man ]] als Text im Kommentar haben will?

*schweig*

http://phrogz.net/lua/LearningLua_FromJS.html sagt dazu:

In Lua, a multi-line comment looks like --[[ ... ]]. In 5.0, nested pairs of [[ ... ]] may occur inside the comment. In 5.1, a multi-line comment can have an arbitrary number of paired equals signs (including none) at the ends: --[===[ ... ]===]

The magic of Lua's multi-line comment is that you can enable or disable the entire multi-line comment block with the addition or subtraction of a single character:
-- This is a single line Lua comment
local jim = "This is not commented"
--[[
local foo = "This code is not active"
local bar = "Neither is this code line"
--]]

local jam = "This line is active"
---[[
local foo = "This code is ALSO active"
local bar = "because of the extra hyphen above"
--]]


:zwinker:

(Und ich sage dazu: Schade, dass man keine URL in ein equote verschachteln kann :mrgreen:)
(Aso, das mit dem Ein/Ausschalten mit einem "-" mehr ist ohne deutliches Highlighting natürlich von fragwürdiger Lesbarkeit, macht in Anbetracht der Möglichkeit von "--[==========[" als Öffner aber doch schon wieder Sinn ^^)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 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