Aleksander Postado Fevereiro 6, 2008 Denunciar Share Postado Fevereiro 6, 2008 (editado) Boa tarde amigos, como devo fazer para autopreencher o restante do Edit com pontos.Por exemlo:Tenho um edit com MaxLength 100:_________________________Nome ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯Gostaria que usando o evento OnExit ficasse assim:_________________________Nome....................................¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯Grato pela atenção. Editado Fevereiro 6, 2008 por Aleksander Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 K!ko Postado Fevereiro 6, 2008 Denunciar Share Postado Fevereiro 6, 2008 (editado) Boa tarde amigos, como devo fazer para autopreencher o restante do Edit com pontos.Por exemlo:Tenho um edit com MaxLength 100:_________________________Nome ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯Gostaria que usando o evento OnExit ficasse assim:_________________________Nome....................................¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯Grato pela atenção.tenta isso... nomedocampo.text:= nomedocampo.text + '..................';no OnExit delenomedocampo se refere ao nome que você atribuiu ao componente que esta usando, no caso você mensionou um Edit.a quantidade de pontos é você quem decide.aqui funcionou. é uma maneira bem simples de fazer oque você pediu.abraço Editado Fevereiro 7, 2008 por K!ko Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Fevereiro 6, 2008 Denunciar Share Postado Fevereiro 6, 2008 como devo fazer para autopreencher o restante do Edit com pontos.vai ai o codigo para istofunction ReplicaStr(const S: string; const Len: integer): string; begin Result := ''; while Length(Result) < Len do Result := Result + S; Result := Copy(Result, 1, Len); end; procedure TForm1.Button1Click(Sender: TObject); var n : integer; begin n := edit1.MaxLength - Length(trim(edit1.text)); edit1.text := trim(edit1.text) + ReplicaStr('.',n); end;abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 Boa tarde amigos, como devo fazer para autopreencher o restante do Edit com pontos.(...)Gostaria que usando o evento OnExit ficasse assim:_________________________Nome....................................¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯Aleksander, até pode ficar legal visualmente, mas lembro que ao final, se for utilizar o conteúdo digitado apenas, terá que remover todos estes pontos. Será que vale à pena?Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Aleksander Postado Fevereiro 7, 2008 Autor Denunciar Share Postado Fevereiro 7, 2008 nomedocampo.text:= nomedocampo.text + '..................'; Olá Kiko, sua dica funciona perfeitamente no entanto o valor de ('.......') é fixo, então se o texto variar de tamanho pode não preencher totalmente o Edit ou exceder o espaço. Veja no código do Jhonas que o preenchimento é automático independente do tamanho do texto tornando-se assim mais adequado, sendo assim agradeço a você Kiko pela contribuição. Obrigado. function ReplicaStr(const S: string; const Len: integer): string; begin Result := ''; while Length(Result) < Len do Result := Result + S; Result := Copy(Result, 1, Len); end; procedure TForm1.Button1Click(Sender: TObject); var n : integer; begin n := edit1.MaxLength - Length(trim(edit1.text)); edit1.text := trim(edit1.text) + ReplicaStr('.',n); end;Jhonas, funcionou!Obrigado.Aleksander, até pode ficar legal visualmente, mas lembro que ao final, se for utilizar o conteúdo digitado apenas, terá que remover todos estes pontos. Será que vale à pena?Micheus, a finalidade do uso do texto do campo Edit é a seguinte, este texto é enviado para um arquivo de texto e o pontilhado serve para deixar as linhas todas com o mesmo tamanho mas teve um pequeno problema, não atentei para o detalhe que, alguns caracteres tem tamanhos diferentes e por isso quando uso 3 campos Edit no final da linha do arquivo de texto o alinhamento do lado direito não fica igual. Veja abaixo, apesar de ser apenas um caracatere em cada linha não ficou alinhado no final.W......A.....I.....Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 Micheus, a finalidade do uso do texto do campo Edit é a seguinte, este texto é enviado para um arquivo de texto e o pontilhado serve para deixar as linhas todas com o mesmo tamanho mas teve um pequeno problema, não atentei para o detalhe que, alguns caracteres tem tamanhos diferentes e por isso quando uso 3 campos Edit no final da linha do arquivo de texto o alinhamento do lado direito não fica igual. Veja abaixo, apesar de ser apenas um caracatere em cada linha não ficou alinhado no final.W......A.....I.....Correto. Na verdade as linhas terão o mesmo tamanho sim, pelo menos em número de caracteres. Vai do uso efetivo que você fará disso.Mas a questão visual, depende apenas da fonte que você estará utilizando. Por exemplo, se você abrir no Word ou qualquer outro editor que lhe permita modificar o tipo da fonte, basta optar por COURIER em que cada caracter tem largura fixa em número de pixels. Já se você abrir em um editor no modo caracter (tipo, editores do tempo do DOS, como o Edit.com), provavelmente não haverá problemas.Quanto a este tópico, posso considerá-lo resolvido?Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Aleksander Postado Fevereiro 8, 2008 Autor Denunciar Share Postado Fevereiro 8, 2008 Micheus, a fonte courier era a peça que faltava.Perfeito, questão resolvida.Grande abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Aleksander
Boa tarde amigos, como devo fazer para autopreencher o restante do Edit com pontos.
Por exemlo:
Tenho um edit com MaxLength 100:
_________________________
Nome
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Gostaria que usando o evento OnExit ficasse assim:
_________________________
Nome....................................
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Grato pela atenção.
Editado por AleksanderLink para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.