Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String in gleichlange Teile zerlegen (chunk_split) (https://www.delphipraxis.net/47236-string-gleichlange-teile-zerlegen-chunk_split.html)

Dulcet Airman 8. Jun 2005 08:05


String in gleichlange Teile zerlegen (chunk_split)
 
in php gibts chunk-split. damit kann ich einen sting in gleichgrosse Teile zerlegen (zB indem ich jeweils #13#10 einfüge). mir geht es in dem fall wie bei php.net beschrieben um RFC 2045.
bin ein n00b und weiss nicht wie as in delphi geht...
wäre froh wenn mir jemand helfen könnte.

Boombuler 8. Jun 2005 09:57

Re: String in gleichlange Teile zerlegen (chunk_split)
 
Bau dir einfach ne rekusive Funktion, die die ersten X Buchstaben + CRLF + nächstenfunktionsaufruf zurückgibt musst nur noch vor dem neuen Aufruf die ersten X Buchstaben Abschneiden... und deine Abbruchbedingung ist einfach wenn Length(String) < X... Dann solltest du beim Abbruch der Rekusion noch das letzte CRLF entfernen und gut ist die Kiste :)

Greetz
Boombuler

marabu 8. Jun 2005 10:06

Re: String in gleichlange Teile zerlegen (chunk_split)
 
Hallo Dulcet Airman,

so oder ähnlich könnte es funktionieren:

Delphi-Quellcode:
procedure LineToText(var line: string; len: integer; sep: string);
// len ist die gewünschte Zeilenlänge
// sep ist der Zeilenende-Code, z.B. #13#10 
var
  chunks: integer;
begin
  chunks := Length(line) div len + Ord(Length(line) mod len > 0);
  while chunks > 1 do begin
    Dec(chunks);
    Insert(sep, line, Succ(chunks * len));
  end;
end;
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 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