AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wenn man sich was wünschen dürfte...

Wenn man sich was wünschen dürfte...

Ein Thema von stahli · begonnen am 17. Sep 2015 · letzter Beitrag vom 24. Sep 2015
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

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

AW: Wenn man sich was wünschen dürfte...

  Alt 18. Sep 2015, 12:18
Also ob Listen nun 0- oder 1-basiert sind, das ist mir eigentlich ziemlich egal. Stören tut mich allenthalben, dass das so inkonsistent ist. Die meisten TIrgendwasList sind 0-basiert, Strings sind 1-basiert. Ich will gar nicht wissen wie oft ich mich schon bei Copy() verheddert habe weil ich unbewusst immer 0-basiert denke.

Aber das heute noch zu ändern dürfte kaum mehr möglich sein ohne die Kompatibilität über Board zu werden. Und umschaltbar per Compilerschalter macht die Sache nur noch unsinniger.

Bzgl. Referenzen und Speicherkopien: Ich frage mich schon lange, warum es in Delphi drei Varianten gibt:
Delphi-Quellcode:
procedure Foo(A: Typ);
procedure Foo(var A: Typ);
procedure Foo(const A: Typ);
Hier dürften doch Variante 1 und 3 so ziemlich das selbe sein. So richtig schick wird das dann in diesem Fall:
Delphi-Quellcode:
procedure Foo(const A: PString);
begin
   A^:= 'XYZ';
end;

procedure Bar;
var
   B: String;
begin
   B:= 'ABC';
   ShowMessage(B); // "ABC"
   Foo(@B);
   ShowMessage(B); // "XYZ"
end;
Mir ist schon klar WARUM das funktioniert. Mich nervt nur der Stil, den man in vielen (kommerziellen) Units findet. Da wird zwischen Referenzen und Zeigern wild hin und her gecastet. Das geht sogar soweit dass man Zeiger auf Zeiger referenziert.

Bzgl. Lokalisierung stimme ich euch voll und ganz zu. Es gibt tausendundeine Möglichkeit wie man das realisieren kann. Der offizielle (Borland-) Weg über Resourcen-DLLs hat mir noch nie gefallen. Viel zu sperrig das ganze. Ich nutze dafür lieber INI-Dateien und hatte mir seinerzeit (für Delphi 7) einen eigenen INI-Parser geschrieben. Den Rest darf man dann natürlich auch "zu Fuß" machen. Am besten gehts wenn man sein Projekt von Anfang an auf MUI hin konzipiert.
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 Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Wenn man sich was wünschen dürfte...

  Alt 18. Sep 2015, 12:21
Mir ist schon klar WARUM das funktioniert.
Und es verletzt auch nicht die Regel bei const Parametern. Denn der Wert ist der Zeiger und nicht das worauf der Zeiger zeigt. Den Zeiger kann ich dort nicht verändern, aber sehr wohl das, worauf der Zeiger da zeigt.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Wenn man sich was wünschen dürfte...

  Alt 18. Sep 2015, 12:30
Bzgl. Referenzen und Speicherkopien: Ich frage mich schon lange, warum es in Delphi drei Varianten gibt:
Delphi-Quellcode:
procedure Foo(A: Typ);
procedure Foo(var A: Typ);
procedure Foo(const A: Typ);
Tatsächlich gibt es auch noch eine vierte, wenn auch seltene

procedure Foo(out A: Typ);
  Mit Zitat antworten Zitat
bernd2015
(Gast)

n/a Beiträge
 
#4

AW: Wenn man sich was wünschen dürfte...

  Alt 18. Sep 2015, 12:54
Fände es SEHR wünschenswert, wenn man sich an Beiträge angehängte Screenshots ohne Anmeldung/Registrierung ansehen könnte!
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:18 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