Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Leerzeichen in String einfügen

  Alt 27. Jan 2016, 09:00
Oder mit ganz wenigen String-Kopierorgien und einem wahlfreien String den man dort einschieben kann:
Delphi-Quellcode:
function StrInsertEveryNthPos( const AStr, AInsertStr: string; APos: integer ): string;
var
  OffSet : integer;
  ResLen, ResIdx, StrIdx, InsIdx: integer;
begin
  // OffSet for ZEROBASED STRINGS
  OffSet := 1 - low( string );

  // Calculate result length

  ResLen := ( Length( AStr ) div APos );
  if Length( AStr ) mod APos = 0
  then
    Dec( ResLen );
  ResLen := Length( AInsertStr ) * ResLen;
  ResLen := ResLen + Length( AStr );

  SetLength( Result, ResLen );

  // Build result

  ResIdx := 1;

  for StrIdx := 1 to Length( AStr ) do
    begin
      Result[ ResIdx - OffSet ] := AStr[ StrIdx - OffSet ];
      Inc( ResIdx );

      // Insert the AInsertStr

      if ( StrIdx mod APos = 0 ) and ( StrIdx < Length( AStr ) )
      then
        for InsIdx := 1 to Length( AInsertStr ) do
          begin
            Result[ ResIdx - OffSet ] := AInsertStr[ InsIdx - OffSet ];
            Inc( ResIdx );
          end;
    end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat