Como faço para ficar quot;000001quot; do DBEdit ao invés d

Delphi

05/07/2005

Amigos,
como faço para adicionar zeros na frente do número em um DBEdit?


Orlando Frade

Orlando Frade

Curtidas 0

Respostas

Tnaires

Tnaires

05/07/2005

Olá
Use a função format:
Edit.Text := Format(´¬n.nd´, Edit.Text);

Substitua a letra n pelo número de dígitos
Abraços


GOSTEI 0
Tnaires

Tnaires

05/07/2005

Hmmm, me desculpe.
Não notei q vc tinha perguntado em um DBGrid.
Altere a propriedade DislpayFormat do Field correspondente à coluna do DBGrid q vc quer alterar para 00000# (coloque o número de zeros q vc deseja).


GOSTEI 0
Fabianotupa

Fabianotupa

05/07/2005

Não entendi, tb tenho essa dúvida, mas gostaria de fazer isso em um DBEdit e não em um DBGrid, tentei no DBGrid e tb não consegui mas quero fazer em um DBEdit!

Um abraço

Fabiano.


GOSTEI 0
Denis

Denis

05/07/2005

coloque a máscara 00000 na propriedade do campo. Dê um clique duplo na tabela, e mande adicionar todos os campos. E no campo que quer é só colocar as máscaras.


GOSTEI 0
Fabianotupa

Fabianotupa

05/07/2005

que propriedade? que tabela? que Campo?
não entendo!

Tenho um DBEdit que traz dados de um banco access!

poderia explicar melhor isso?

Abraço!


GOSTEI 0
Tremonti

Tremonti

05/07/2005

function LTrim(cString: String): String;
var
   Count, i: Byte;
begin
   Count := Length(cString);
   if Count > 0 then begin
      for i := 1 to Count do begin
         if cString[i] <> ´ ´ then Break;
      end;
      cString := Copy(cString,i,Count-i+1);
   end;
   LTrim := cString;
end;


function RTrim(cString: String): String;
var
   Count, i: Byte;
begin
   Count := Length(cString);
   if Count > 0 then begin
      for i := Count downto 1 do begin
         if cString[i] <> ´ ´ then Break;
      end;
      cString := Copy(cString,1,i);
   end;
   RTrim := cString;
end;

function LeftZero(cString: String; nPosicoes: Word): String;
Const
   cDigitosValidos: PChar = ´ 0123456789/´;
Var
   lDigitoNumerico: Boolean;
   nString: Integer;
begin
   cString := RTrim(LTrim(cString));
   lDigitoNumerico := True;
   nString := Length( cString );
   while nString > 0 do begin
      If StrScan(cDigitosValidos, cString[nString]) = nil then begin
         lDigitoNumerico := False;
         nString := 0
         end
      else
         Dec(nString);
   end;
   If lDigitoNumerico = True then begin
      while Length( cString ) < nPosicoes do begin
         cString := ´0´+ cString;
      end;
   end;
   LeftZero := cString;
end;

Para Usar:

Edit1.text := LeftZero(Edit1.text , 4);
//Completa com 4 zeros
 
Edit1.text := LeftZero(Edit1.text , 8);
//Completa com 8 zeros



e assim vai....


GOSTEI 0
Tnaires

Tnaires

05/07/2005

que propriedade? que tabela? que Campo? não entendo! Tenho um DBEdit que traz dados de um banco access! poderia explicar melhor isso? Abraço!

Cara, me desculpe, me enrolei demais te dando uma resposta.
A propriedade a que o Denis se refere é a DisplayFormat, no objeto TField correspondente ao DBEdit no Fields Editor (dê dois cliques no Table, ou Query, correspondente).


GOSTEI 0
Orlando Frade

Orlando Frade

05/07/2005

vlw rapaziada!!!!!


GOSTEI 0
Fabianotupa

Fabianotupa

05/07/2005

Valeu Pessoal!!

Desculpem minha ignorância :D
Consegui resolver o problema!

abraço!!!!!


GOSTEI 0
POSTAR