Ir para conteúdo
Fórum Script Brasil
  • 0

Fromatfloat Com Strings


rodrigo biagioli

Pergunta

é o seguinte:: quando temos um codigo em numero e queremos que o mesmo tenha sempre 5 digitos podemos fazer da seguinte forma:

formatfloat('00000',codigo);

bom, não sei se existe um jeito melhor mas sempre faço assim.

o problema é que preciso fazer algo parecido só que num codigo que contem LETRAS.

consegui fazendu um for que concatenado '0' nele ateh preencher todos os 5 digitos,

mas me achei um ignorante ao apelar para tal codigo grotesco;

alguém pode me dizer se tem um jeito ou só na base da "programação orientada a gambiarras"?

ah!!!!!!!!!!!!!

e foi mal pelo "FROMATFLOAT" do titulo

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

kro amigo!

formatfloat('00000',codigo); 

para esse questão, você pode usar a propriedade: DisplayFormat, assim você enxuga seu código, com certeza terá algumas linhas a menos de preocupação. Basta colocar a quantidade de dígitos e o Delphi faz o resto. Pelo menos uso assim nos campos "id" das minhas tabelas. Logo, o código 1 será mostrado assim: 00001.

para a 2ª, crei que só criando uma função, que para ser sincero, nem sei por onde começar!

Link para o comentário
Compartilhar em outros sites

  • 0

ateh daria certo isso ai.

mas meu problema é que nem sempre sei a qtde de zeros que quero colocar.

entende?

pode ser que uma hora digite apenas 2 digitos e precise completar com 3, outra hora pode ser que tenha digitado 4 e falte apenas um para completar.

obs: essa função concat faz a mesma coisa que isso

s := 'ABC'+'DEF';

?

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Rodrigo,

você pode fazer uma function para isso... Qual é o tamanho total da string?

max - tamanho total que a string deve ser...Ex: 0000AB

Acho que o exemplo pode te ajudar...

function concatenar(s: string; max: integer);

var max, tam: integer;
     

begin

tam:= length(s);

while tam < max do
begin
 s:= concat("0",s); 
 tam:= tam + 1;
end;
concatenar:= s;

end;

Cara faz tempo que eu não mexo no Delphi... Não me lembro se o return da função é assim mesmo que faz (quem puder me relembrar eu agradeço...rs...rs...).

abs.

Kiko

Link para o comentário
Compartilhar em outros sites

  • 0

é assim mesmo o return (função := valor)

eu tava fazendo mais ou menos igual á sua funcao mas to uzandu um for

qtd_zeros := max - length(s);

for i := 1 to qtd_zeros do

s := '0'+s;

mas achei que tivesse alguma outra função pois achei mta ganbiarra esse código;

mas beleza vlw kiko!!!!

é assim mesmo o return (função := valor)

eu tava fazendo mais ou menos igual á sua funcao mas to uzandu um for

qtd_zeros := max - length(s);

for i := 1 to qtd_zeros do

s := '0'+s;

mas achei que tivesse alguma outra função pois achei mta ganbiarra esse código;

mas beleza vlw kiko!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

opa

na minha opinião esse código está perfeito...

gambiarra não é, que as funções que você usa do

Delphi fazem essas coisas é que você está acostumado

a utilizar funções pré-prontas de units como SysUtils,

DateUtils, StrUtils mas nada mais nada menos elas fazem

a mesma coisa só que de maneiras diferentes, e as vezes

até pior ahuauh já vi várias coisas que podiam ser otimizadas...

eu já tive esse negócio, de querer fazer tudo profissionalmente,

cada função, cada linha achando que o que eu montava era

gambiarra... no fim você acaba perdendo produtividade e aumentado

o tempo para entrega do programa... resumindo, só se fo** ehehe

abraço

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...