AGB  ·  Datenschutz  ·  Impressum  







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

0-Based Strings ab XE4

Ein Thema von Bernhard Geyer · begonnen am 22. Apr 2013 · letzter Beitrag vom 23. Apr 2013
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#21

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 20:26
Aber wir sollten das hier nicht überdiskutieren (bringt ja eh nix ).
Ganz Deiner Meinung.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#22

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 20:39
... da es eben heutzutage hauptsächlich von der Wartung von alten Projekten lebt...
Genau das ist der Punkt.

Die Abwärtskompatibilität von vorhandenem Code war immer ein riesen Plus für Delphi.
Ich hatte einige Delphi 3 Programme, die ich mit wenigen kleinen Anpassungen problemlos in XE2 weiter bearbeite konnte.
Theoretisch sollten viele TP Programme mit 1-2 Anpassungen in der Projektdatei auch noch unter XE3 funktionieren.

Dieser "Investitionsschutz", in Bezug auf investierte Arbeitszeit, war für mich ausschlaggebend, als ich mit Delphi 7 irgendwann angefangen habe kommerziell zu programmieren. Ich kann nicht verstehen, dass man nun damit beginnt, absolut grundlegende Sprachfeatures einzureißen und genau diesen Vorteil wegzuwerfen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#23

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 22:36
Ansonsten, wenn man da schon anfängt, könnte man gleich eine Delphi Language 2.0 rausbringen und mal ganz generell bei den Altlasten aufräumen... was ich mir einerseits manchmal wünschen würde,
Ist doch gemacht. Nennt sich Oxygene. Ist halt nur nicht vom gleichen Hersteller wie Delphi.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#24

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 22:38
Dann könnte man auch das Count - 1 einsparen.
wo braucht man in modernen Programmiersprache ein Count - 1?
Vermutlich wird mittlerweile ein Großteil der C#/.NET-Entwickler nicht mal wissen das man Arrays/Liste auch mit einer einfachen Schleife statt einem for each-Konstrukt durchlaufen kann
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: 0-Based Strings ab XE4

  Alt 23. Apr 2013, 06:50
Die alten Funktionen bleiben 1-Basiert, die neuen Methoden an der String-Klasse sind 0-Basiert.
Siehe auch http://docwiki.embarcadero.com/RADSt...d_Desktop_Apps
Stimmt. Die waren aber auch schon in XE3 0-Basiert. Ändert sich also nix.
bloss gut das ich das gelesen habe.

d.h. wenn ich jetzt die StringHelper bei String verwende, muss ich 1 draufaddieren? Und mir alle Quellcodestellen markieren um dann bei der Umstellung die 1 wieder weg zu machen? Oder per IFDEF?
Sven Harazim
--
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#26

AW: 0-Based Strings ab XE4

  Alt 23. Apr 2013, 07:48
Addieren und abziehen musst Du nur, wenn Du die alten und die neuen Funktionen mischst. Möchtest Du über einen kompletten String laufen, kannst Du die for...in - Schleife nutzen. Oder Du lässt Dir Dir low() und high() die jeweils korrekten Grenzen eines Strings liefern.
Wenn Du häufig auf die erste, dritte oder zwölfte Stelle eines Strings zugreifen müsst. Kannst Du Dir auch Konstanten definieren, die Dir den korrekten Index liefern: FIRST = low(s) oder THIRD = low(s)+2. Auch damit entbindest Du Dich von der Pflicht, manuell die Eins zu addieren.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#27

AW: 0-Based Strings ab XE4

  Alt 23. Apr 2013, 08:20
wo braucht man in modernen Programmiersprache ein Count - 1?
Vermutlich wird mittlerweile ein Großteil der C#/.NET-Entwickler nicht mal wissen das man Arrays/Liste auch mit einer einfachen Schleife statt einem for each-Konstrukt durchlaufen kann
Also man benötigt das schon, wenn man z.B. den Index für Berechnungen verwenden muss. Und damit dürfte der Großteil der C#/Java/usw-Entwickler schon wissen, wie man Arrays per 'for' durchläuft. Allerdings wird das in Zeiten von LINQ auch immer seltener...

...Oder Du lässt Dir Dir low() und high() die jeweils korrekten Grenzen eines Strings liefern.
Wenn Du häufig auf die erste, dritte oder zwölfte Stelle eines Strings zugreifen müsst. Kannst Du Dir auch Konstanten definieren, die Dir den korrekten Index liefern: FIRST = low(s) oder THIRD = low(s)+2...
Deine gutgemeinten Ratschläge und Tipps halte ich jetzt eher für einen Workaround als für solide Programmierung.

Der Wechsel des String-Paradigmas von 1- auf 0-basiert ist ein dermaßen harter Einschnitt, das man den konsequent gehen muss. Ohne Wenn und Aber. Die alten Programme sind dann eben nicht mehr mit XE3/XE4 kompilierbar. Oder man geht das Risiko ein und ändert den Code. Da die meisten eh nichts von automatisierten Tests halten (reiner Erfahrungswert, kein Vorwurf), wird das eine schöne Achterbahnfahrt ohne Sicherheitsgurt.

Ich habe z.B. eine sehr große Anwendung unter D6. Die werde ich nicht portieren. Der Kunde zahlt es nicht und es wäre Selbstmord. Also habe ich bis ich in Rente gehe eine VM mit D6 am Laufen.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#28

AW: 0-Based Strings ab XE4

  Alt 23. Apr 2013, 08:58
Was bedeutet diese Änderung für Entwickler von Komponenten und Bibliotheken für Delphi (und wie in meinem Fall auch Free Pascal), die Versionen ab 2009 oder älter untersützen wollen - nach Möglichkeit aus einer einzigen Codebasis?

Sind IFDEFs eine Lösung oder sieht es düsterer aus?
Michael Justin

Geändert von mjustin (23. Apr 2013 um 09:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#29

AW: 0-Based Strings ab XE4

  Alt 23. Apr 2013, 09:07
Was bedeutet diese Änderung für Entwickler von Komponenten und Bibliotheken für Delphi
Viel, viel Arbeit.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#30

AW: 0-Based Strings ab XE4

  Alt 23. Apr 2013, 10:22
Was bedeutet diese Änderung für Entwickler von Komponenten und Bibliotheken für Delphi
Viel, viel Arbeit.
Ach, echt? Dann werde ich gleich mal eine neue Kaffemaschine ordern
Michael Justin
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 05:47 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