Autor Téma: funkce na přidání x widecharů na konec widestringu  (Přečteno 232 krát)

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2558
  • Karma: 131
    • Verze Delphi: D2007, XE3, DX10
Re:funkce na přidání x widecharů na konec widestringu
« Odpověď #15 kdy: 23-05-2019, 18:19:59 »
Není správné použít
wout := wout + win;
A to je nejaky problem otestovat, jestli nebudou fungovat standardni operace s retezci jako
Kód: Delphi [Vybrat]
  1. wout := wout + copy(win, x, y);

Offline vangog

  • Hrdina
  • ****
  • Příspěvků: 370
  • Karma: 0
    • Verze Delphi: 7
Re:funkce na přidání x widecharů na konec widestringu
« Odpověď #16 kdy: 23-05-2019, 21:24:08 »
Není správné použít
wout := wout + win;
A to je nejaky problem otestovat, jestli nebudou fungovat standardni operace s retezci jako
Kód: Delphi [Vybrat]
  1. wout := wout + copy(win, x, y);

Tak to mě nenapadlo. Otestoval jsem ty dva kódy a nový kód je rychlejší. Verze s for trvala 27-28s, tahle 26s.

Kód: Delphi [Vybrat]
  1. procedure AddChar(i:Word; var win: widestring; var wout: widestring; add: word = 0);
  2. var n: word;
  3. begin
  4.   if (add>0) then
  5.       wout := wout + copy(win, i-1+n, add);
  6.   else
  7.       wout := wout + win[i];
  8. end;
  9.