![]() |
AW: string inkrementieren
Darf ich auch noch mal? :stupid:
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; |
AW: string inkrementieren
Seit Delphi 2009 (Unicode) kann man nicht mehr über
Delphi-Quellcode:
ein Char mehrfach reinschreiben, da FillChar mit Bytes und nicht mit Words (oder mehr) arbeitet.
FillChar(Result[1], ..., PadChar);
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
Delphi-Quellcode:
würde es aber weiterhin funktionieren. :stupid:
function PadLeft(const S: AnsiString; ResultLength: Integer; PadChar: AnsiChar = '0'): AnsiString;
|
AW: string inkrementieren
Zitat:
Ich sag immer jeder kann von jedem lernen! :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:09 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