Конференция "KOL" » Предлагаю добавить в KOL
 
  • Dy1 (01.09.10 14:00) [0]
    Понадобилось мне красиво вывести i64. В КОЛ такой функции не обнаружил и написал (содрал :) ) свою:

    function Int64_2Ths(I: i64; Separator1k: AnsiString): AnsiString;
    var  S: AnsiString;
    begin
     S := Int64_2Str(I); // возвращает ansistring
     Result := '';
     while S <> '' do
     begin
       if Result <> '' then
         Result := Separator1k + Result;
       Result := CopyTail(S, 3) + Result;
       S := Copy(S, 1, Length(S) - 3);
     end;
     if Copy(Result,1, Length(Separator1k) + 1) = '-' + Separator1k then
       Result := '-' + CopyEnd( Result, 3 );
    end;



    Было бы неплохо, если бы кто-нибудь исправил Int64_2Str для KOLString, сам я редко использую юникод.
  • Dy1 (01.09.10 14:03) [1]
    function S2DWord(S: PAnsiChar): cardinal;
    begin
     Result := 0;
     if S = '' then Exit;
     if S^ = '+' then
       Inc(S);
     while S^ in['0'..'9']do
     begin
       Result := Result * 10 + cardinal(S^) - cardinal('0');
       Inc(S);
     end;
    end;

    function Str2DWord(const Value: AnsiString): cardinal;
    begin
     Result := S2DWord( PAnsiChar(Value));
    end;

 
Конференция "KOL" » Предлагаю добавить в KOL
Есть новые Нет новых   [134430   +4][b:0][p:0.001]