Registriert seit: 18. Feb 2005
286 Beiträge
Delphi 2010 Enterprise
|
Re: String alle X Zeichen splitten
28. Mär 2009, 22:24
Ein Ansatz, im Blindflug getippt:
Delphi-Quellcode:
program Demo;
{$AppType Console}
uses
SysUtils, Classes;
type
EOutOfBounds = class( Exception);
function SplitStr( var Str: String; const X: Integer): String;
begin
if (X < 1) or (X > Length(Str)) then
raise EOutOfBounds.CreateFmt(' SplitStr: X nicht in [%d..%d].',[1,Length(Str)]);
Result:=Copy(Str,1,X);
Str:=Copy(Str,X+1,Length(Str)-X);
end;
procedure SplitStrAll(Str: String; const X: Integer; const StringList: TStringList);
begin
StringList.Clear;
while Length(Str) > X do
StringList.Add(SplitStr(Str,X));
if Lengh(Str) > 0 then
StringList.Add(Str);
end;
procedure WriteStringList( const StringList: TStringList);
var
Index: Integer;
begin
with StringList do
for Index:= 0 to Count-1 do
WriteLn(Items[ Index]);
end;
var
Str: String;
StringList: TStringList;
begin
Str:=' 0123456789';
StringList:=TStringList.Create;
try
SplitStrAll(Str,3,StringList):
WriteStringList(StringList);
finally
StringList.Free;
end;
WriteLn(' Enter drücken...');
ReadLn;
end.
Eventuell sind noch einige Tippfehler drin...
Viel Spaß beim Lernen!
"Es gibt keine schlimmere Lüge als die Wahrheit, die von denen, die sie hören, missverstanden wird."
|