AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Neue Sprachfeatures in Delphi?

Ein Thema von Nathan · begonnen am 24. Okt 2018 · letzter Beitrag vom 27. Okt 2018
Antwort Antwort
Seite 1 von 2  1 2      
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.882 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 08:19
Ja es gibt viele, die sich das gewünscht haben.

Es gibt auf FB und G++ ja diverse Wunschlisten für neue Features. Dieses stand ganz oben. Aber nur weil viele ein Feature wünschen, ist es noch nicht sinnvoll:
Ein weiteres Feature, dass sich viele wünschen ist die Ersetzung von begin..end mit
Code:
{}
.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 08:28
Ein weiteres Feature, dass sich viele wünschen ist die Ersetzung von begin..end mit
Code:
{}
.
Er hat Jehova gesagt. Steinigt ihn!
Ralf Kaiser
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#3

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 08:37
Ja es gibt viele, die sich das gewünscht haben.

Es gibt auf FB und G++ ja diverse Wunschlisten für neue Features. Dieses stand ganz oben. Aber nur weil viele ein Feature wünschen, ist es noch nicht sinnvoll:
Ein weiteres Feature, dass sich viele wünschen ist die Ersetzung von begin..end mit
Code:
{}
.
Allerdings unterscheiden sich beide Anforderungen doch erheblich. Die Inlines können nachweislich (s.o.) helfen den Code schlanker und übersichtlicher zu halten. (*)

Diese Ersetzung von begin .. end kann dieses (soweit ich das sehe) nicht liefern.

Darum wurden wohl auch die Inlines realisiert (es gibt einen konkreten Nutzen ohne den alten Code zu brechen) und die {} eben nicht.

(*) Ja, mit einem Hammer kann man ganz toll Nägel in die Wand kloppen oder sich lebensgefährlich verletzen. Ist der Hammer also jetzt nützlich oder gefährlich?

Geändert von Schokohase (25. Okt 2018 um 08:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 08:42
Zumindest kann man mit einer Inline-Variablendeklaration auch eine lokale Variable initialisieren (muss dann noch nicht mal eine Konstante sein!). Das geht bisher so jedenfalls nicht ohne mindestens eine zusätzliche Zeile Code.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.882 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 08:50
Die Initialisierung bei der Deklaraion und die Verwendung von scoped Variablen für Schleifen ist positiv.
Aber die freie Dekalarationsmöglichkeit im Text (anstatt in der Var-Sektion) finde ich eher negativ.
Markus Kinzler
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
657 Beiträge
 
Delphi XE6 Enterprise
 
#6

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 10:53
Zumindest kann man mit einer Inline-Variablendeklaration auch eine lokale Variable initialisieren (muss dann noch nicht mal eine Konstante sein!). Das geht bisher so jedenfalls nicht ohne mindestens eine zusätzliche Zeile Code.
Sehe ich das aber richtig, dass das nicht so geht (wie bei globalen Variablen):
Delphi-Quellcode:
procedure Bla;
var x: integer = 3;
begin
  ...
end;
sondern halt so:
Delphi-Quellcode:
procedure Bla;
begin
  var x: integer := 3;
  ...
end;
...also noch ne neue Süntacks?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 10:56
...also noch ne neue Süntacks?
Genau darum geht es in diesem Thread ja.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
657 Beiträge
 
Delphi XE6 Enterprise
 
#8

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 11:28
Endlich eine handliche Ablösung für "with":
Statt
Delphi-Quellcode:
var cds: TClientDataSet; qry: TUniQuery;
begin
  cds := Datamodule.cds_Report;
  qry := Datamodule.qry_Sales;
  // ...viel Text...
  cds.FieldByName('bla').AsString := qry.FieldByName('bla').AsString;
schreiben wir jetzt
Delphi-Quellcode:
// ...viel Text...
begin
  var cds := Datamodule.cds_Report;
  var qry := Datamodule.qry_Sales;
  cds.FieldByName('bla').AsString := qry.FieldByName('bla').AsString;
  ...
end;

P.S.: ja, man kann auch
Datamodule.cds_Report.FieldByName('bla').AsString := Datamodule.qry_Sales.FieldByName('bla').AsString; schreiben. Breitbildschirm sei dank. Aber es gibt auch tiefer verschachtelte Fälle, und irgendwann wirds ziemlich unübersichtlich.
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.291 Beiträge
 
Delphi 12 Athens
 
#9

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 11:32
Wenn mans genau nimmt würde der var -Block zwischen procedure und begin nunmehr beinahe obsolete. Das kann doch nicht im Sinne des Erfinders sein.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.291 Beiträge
 
Delphi 12 Athens
 
#10

AW: Neue Sprachfeatures in Delphi?

  Alt 25. Okt 2018, 11:24
Sehe ich das aber richtig, dass das nicht so geht (wie bei globalen Variablen):
Delphi-Quellcode:
procedure Bla;
var x: integer = 3;
begin
  ...
end;
sondern halt so:
Delphi-Quellcode:
procedure Bla;
begin
  var x: integer := 3;
  ...
end;
...also noch ne neue Süntacks?
Woooha... Ich seh vor meinem geistigen Auge schon sowas:
Delphi-Quellcode:
function Produce: Integer;
var
  I: Integer;

  procedure SubProduce;
  var
    I: Integer;

    procedure SubSubProduce;
    begin
      for var I: Integer = 0 to 3 do begin
        // Irgendwas
      end;
      Inc(I, 17);
    end;

  begin
    Inc(I, 22);
  end;

begin
  Inc(I, 1234);
  Result := I;
end;
Bei so viel Scope braucht man bald ein Periscope
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden

Geändert von Codehunter (25. Okt 2018 um 11:26 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:20 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