AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

string inkrementieren

Ein Thema von Cogito · begonnen am 1. Jun 2011 · letzter Beitrag vom 6. Jun 2011
Antwort Antwort
Namenloser

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

AW: string inkrementieren

  Alt 5. Jun 2011, 19:38
Darf ich auch noch mal?
Delphi-Quellcode:
function PadLeft(const S: AnsiString; const ResultLength: integer; const PadChar: AnsiChar = '0'): AnsiString;
begin
  if ResultLength <= 0 then
    Result := ''
  else
  begin
    SetLength(Result, ResultLength);
    if Length(S) < ResultLength then
      FillChar(Result[1], ResultLength-Length(Zahl), PadChar);
    if Length(S) > 0 then
      Move(S[1], Result[ResultLength-Length(Zahl)+1], Length(S));
  end;
end;

Geändert von Namenloser ( 5. Jun 2011 um 20:12 Uhr) Grund: Typen geändert in Ansi*, siehe unten
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: string inkrementieren

  Alt 5. Jun 2011, 20:09
Seit Delphi 2009 (Unicode) kann man nicht mehr über FillChar(Result[1], ..., PadChar); ein Char mehrfach reinschreiben, da FillChar mit Bytes und nicht mit Words (oder mehr) arbeitet.
Intern würde es schon gehn, aber es nimmt nur ein Byte vom Parameter entgegen.

Und beim Unicode würden überall auch nur 50% der Bytes koppiert/geschrieben.

So function PadLeft(const S: AnsiString; ResultLength: Integer; PadChar: AnsiChar = '0'): AnsiString; würde es aber weiterhin funktionieren.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 5. Jun 2011 um 20:11 Uhr)
  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 23:12 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