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 2 von 4     12 34      
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 17:37
Dann Wenn dann irgendwann die klasischen Stringfunktionen sie Pos und Copy auf zerobased Strings umgebaut werden,
Wirds nicht. Wenn dann gibt es sie nicht mehr. Es macht keinen Sinn neben den objektoriertierten Ansatz einer Methode String.IndexOf noch die alte Funktion Pos zu haben.

Intern kann man es die Pos-Methode umschreiben auf

function Pos(const SubString, S: String): Integer;
begin
result := S.IndexOf(SubString) + 1;
end;
Windows Vista - Eine neue Erfahrung in Fehlern.

Geändert von Bernhard Geyer (22. Apr 2013 um 17:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.585 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 17:42
Da XE4 nun raus ist, können wir ja selbst reinschauen wie es konkret darin aussieht:
https://downloads.embarcadero.com/free/rad_studio
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#13

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 17:43
Intern kann man es die Pos-Methode umschreiben auf

function Pos(const SubString, S: String): Integer;
begin
result := S.IndexOf(SubString) + 1;
end;
Diese neue Pos Funktion wird es "dann" hoffentlich in den sysutils geben, genau wie alle anderen "klassischen" Stringfunktionen...

Geändert von jensw_2000 (22. Apr 2013 um 17:48 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 17:50
Da XE4 nun raus ist, können wir ja selbst reinschauen wie es konkret darin aussieht:
https://downloads.embarcadero.com/free/rad_studio
Das beste ist das es nur 50/60 € für XE3-User kostet.
Damit dürften die Aufschreie etwas kleiner werden (die zuvor wegen 500 € Mobile Pack entstanden sind)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#15

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 18:34
Welchen Unterschied macht es denn, ob der String mit 0 oder mit 1 anfängt? Ich meine, ich persönlich fände es zwar schöner, wenn Strings wie Arrays mit 0 anfangen würden, da es einheitlicher und mathematisch gesehen schöner ist, aber eigentlich ist es doch eine Frage der Konvention...
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 18:38
Naja, den Unterschied macht, dass es bisher in der Delphi Language anders war. Und die direkte Indexierung oft u.a. aus Performancegründen eingesetzt wurde.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#17

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 18:48
Naja, den Unterschied macht, dass es bisher in der Delphi Language anders war.
Ich meinte eher, dass ich keinen Grund sehe, warum man das ändern sollte. Bzw. halte ich den Aufwand für unverhältnismäßig.

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, aber wenn ich ehrlich bin, glaube ich, dass das der Untergang von Delphi wäre, da es eben heutzutage hauptsächlich von der Wartung von alten Projekten lebt...
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 18:56
Na ja, wenn man jetzt erst die Programmierung erfinden würde ich vorschlagen, in Listen, Arrays und Strings m.E. immer und überall bei 1 anfangen zu zählen.
Dann könnte man auch das Count - 1 einsparen.

Aber ich werde nicht den Versuch unternehmen, das ernsthaft durchsetzen zu wollen.
Generell 0-basiert ist dann m.E. die zweitbeste Lösung (weil eindeutig und nicht missverständlich, gerade für Neueinsteiger).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

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

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 20:04
Na ja, wenn man jetzt erst die Programmierung erfinden würde ich vorschlagen, in Listen, Arrays und Strings m.E. immer und überall bei 1 anfangen zu zählen.
Dann könnte man auch das Count - 1 einsparen.
Gerade den Count - 1 bekommste doch in jedem Lehrbuch eingebleut, war zumindest in meinen Büchern so. Und Du musst nicht immer Count-1 schreiben. Nehme einfach die Funktion Pred(), die macht das passend.

Aber ich werde nicht den Versuch unternehmen, das ernsthaft durchsetzen zu wollen.
Generell 0-basiert ist dann m.E. die zweitbeste Lösung (weil eindeutig und nicht missverständlich, gerade für Neueinsteiger).
Nee, finde ich nicht so. Ich habe bis jetzt bei jeder Schleife, wo ich irgendwas durchgegangen bin immer mit 0 angefangen zu zählen.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#20

AW: 0-Based Strings ab XE4

  Alt 22. Apr 2013, 20:25
Um die Realität abzubilden (z.B. in einem Geschäftsprozess in 10 Äpfel jeweils 2 Maden zu implementieren) würde man immer bei 1 anfangen zu zählen.
Bei 0 ist m.E. unlogisch (auch wenn man das von Anfang an lernt und sich das jetzt nicht mehr ändern lässt).
Mich hat das schon immer gestört. Aber wir sollten das hier nicht überdiskutieren (bringt ja eh nix ).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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