AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Was nervt euch so, während der Programmierung oder so allgemein
Thema durchsuchen
Ansicht
Themen-Optionen

Was nervt euch so, während der Programmierung oder so allgemein

Ein Thema von himitsu · begonnen am 26. Jun 2010 · letzter Beitrag vom 3. Mai 2013
 
Benutzerbild von himitsu
himitsu
Online

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

AW: Was nervt euch so, wärend der Programmierung oder so allgemein

  Alt 3. Nov 2011, 21:14
Mir ist grade die krankeste Idee gekommen, für einen Code:
Delphi-Quellcode:
for i in(function:TArray<Integer>var i:Integer;begin SetLength(Result,5);for i:=0to 4do Result[i]:=i*10;end)()do
  ShowMessage(Variant(i));
Eigentlich sollte es doch nervig sein, wenn wunderschöner Delphi-Code urplötzlich wie eine C-Krankheit aussieht, oder etwa nicht?

PS: Das ist die Kurzfassung einer for i := 0 to 40 step 10 do -Schleife ... falls man es, aus welchen Gründen auch immer, tatsächlich nicht erkennen sollt.



Delphi-Quellcode:
var
  i2: integer;


for i2 in (function: TArray<Integer>
           var
             i: Integer;
           begin
             SetLength(Result, 5);
             for i := 0 to 4 do
               Result[i] := i * 10;
           end)() do
  ShowMessage(IntToStr(i2));
Ich geb's zu, am Ende hab ich es dann doch noch so gelöst.
Delphi-Quellcode:
var
  i, i2: integer;

for i := 0 to 4 do begin
  i2 := i * 10;
  ShowMessage(IntToStr(i2));
end;
Oder wenigstens so
Delphi-Quellcode:
for i in TArray<Integer>.Create(0, 10, 20, 30, 40) do
  ShowMessage(IntToStr(i));
Ich hoffe jetzt wendet niemand genervt dem Delphi den Rücken zu und wanders zu QBasic ab.


Aber wirklich nervig ist eigentlich, daß TArray<Integer> und array of Integer nicht kompatibel sind, obwohl TArray<T> auch nur ein array of T ist

Delphi-Quellcode:
var
  G: TArray<Integer>;
  D: array of Integer;

D := G; // [DCC Fehler] U.pas(56): E2010 Inkompatible Typen: 'TArray<System.Integer>' und 'Dynamic array'
Aber OK, man soll sich ja nicht so aufregen ... an der sonst so kranken Vererbungsreihe der Generics liegt es dieses Mal nicht direkt.
Delphi-Quellcode:
var
  X: array of Integer;
  D: array of Integer;

X := D; // [DCC Fehler] U.pas(56): E2008 Inkompatible Typen
Denn der Witz ist, daß das sonst so typsichere/strenge Delphi durch die Generics "scheinbar" total verweichlicht wird.
Delphi-Quellcode:
var
  X: TArray<Integer>;
  D: TArray<Integer>;

X := D; // denn das geht zumindestens ^_^
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 3. Nov 2011 um 21:44 Uhr)
 
 


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:

(?)

LinkBack to this Thread

Erstellt von For Type Datum
Untitled document This thread Refback 7. Nov 2011 09:54

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:55 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