Marcelo Silva wrote:

>Claro que não é só para esta função ... pois lá tem muitas outras funções ... na 
>verdade a função Trunc nem está na Unit citada que é a System.pas mas deve estar em 
>uma dll veja:
>
>function _ftruncate(Handle: Integer; Filesize: Integer): Integer; cdecl;
>  external libc name 'ftruncate';
>  
>

ftruncate não é trunc.
Se vc reparar este ftruncate, ele chama a libc, que só existe no linux.

O Trunc fica mesmo na system.pas e o código é :
asm
       { ->    FST(0)   Extended argument       }
       { <-    EDX:EAX  Result                  }

        SUB     ESP,12
        FNSTCW  [ESP].Word          // save
        FNSTCW  [ESP+2].Word        // scratch
        FWAIT
        OR      [ESP+2].Word, $0F00  // trunc toward zero, full precision
        FLDCW   [ESP+2].Word
        FISTP   qword ptr [ESP+4]
        FWAIT
        FLDCW   [ESP].Word
        POP     ECX
        POP     EAX
        POP     EDX
end;



-- 
Marcelo Almeida




-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a