AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Vorsicht! statisches Array mit Startindex>0
Thema durchsuchen
Ansicht
Themen-Optionen

Vorsicht! statisches Array mit Startindex>0

Ein Thema von Photoner · begonnen am 27. Feb 2015 · letzter Beitrag vom 1. Mär 2015
Antwort Antwort
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Vorsicht! statisches Array mit Startindex>0

  Alt 27. Feb 2015, 18:25
Delphi-Quellcode:
type
   TA : Array of Ansichar;
   TB : Array [0..200] of Ansichar;
var
  A : TA;
  B : TB;
  S : Shortstring;
begin
  S := 'Cooler Text';
  Setlength(A,201);

  Move(S[1],A,length(S));
  Move(S[1],B,length(S));
end;
Mit Deinem coolen Text mag das ja noch funktionieren, aber wenn er richtig lange cool wird ist ein
TB : Array [0..254] of Ansichar; wohl eher angebracht. Wobei ich ein [1..255] bevorzuge, weil dann der Index synchron laufen kann.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.191 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Vorsicht! statisches Array mit Startindex>0

  Alt 27. Feb 2015, 18:36
Ich habe noch nicht einmal eine ungefähre Ahnung was euer Code machen soll, aber ich bin mir sicher etwas Assembler würde ihm noch den letzten Schliff verleihen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Vorsicht! statisches Array mit Startindex>0

  Alt 27. Feb 2015, 18:46
Wobei ich ein [1..255] bevorzuge, weil dann der Index synchron laufen kann.
ShortString

Und rate mal, was passiert, wenn du mal auf einen NextGen-Compiler triffst.
> String-Indize beginnen dort bei 0

Bzw. die neuen String-Helper indizieren immer mit 0 beginnend.


Viele Dinge wurden um 2006 durch die FastCodeLibrary ersetzet.
Wenn da auch Move dabei war (so wie z.B. die Move's im FastMM), dann ist das schon optimiert und kopiert auch schonmal mit 4 bis 16 Bytes pro Loop.

Assembler ist nicht immer besser, vorallem wenn man sich selber nicht mit den Cache- und Pfadvorhersagemechianismen der "aktuellen" Prozeduren auskennt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (27. Feb 2015 um 18:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Vorsicht! statisches Array mit Startindex>0

  Alt 28. Feb 2015, 11:34

Und rate mal, was passiert, wenn du mal auf einen NextGen-Compiler triffst.
> String-Indize beginnen dort bei 0
Na dann stellt man sich eben um, ein bischen Flexibilität hat noch keinem geschadet.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.213 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Vorsicht! statisches Array mit Startindex>0

  Alt 28. Feb 2015, 12:27

Und rate mal, was passiert, wenn du mal auf einen NextGen-Compiler triffst.
> String-Indize beginnen dort bei 0
Na dann stellt man sich eben um, ein bischen Flexibilität hat noch keinem geschadet.
Da nimmt man halt die String-Helper Methoden und man hat wieder einen Quellcode für beide Welten.
Statt Flexibilität muss man halt den Quellcode (nachdem er von Pascal 1 (?) bis XE8 (WinX/OSX) ohne änderung funktionieren würde) umstellen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:29 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 by Thomas Breitkreuz