CSTR
boas
eu tenho isto em vb.6
se na tabela da bd fctlncd tiver só numeros, ele imprime o formato certo
ex:
fctlncd = 1256 fica depois 000000000001256
se for:
fctlncd = asd11 fica assim depois: asd11
mas eu preciso que o fctlncd tenha um formato de 15 digitos
alguem me ajude
eu tenho isto em vb.6
Citação:replace(format(cstr(bd.getfieldvalue(recdocs, [Ô]fctlncd[Ô])), [Ô]000000000000000[Ô]), [Ô],[Ô] [Ô][Ô])
se na tabela da bd fctlncd tiver só numeros, ele imprime o formato certo
ex:
fctlncd = 1256 fica depois 000000000001256
se for:
fctlncd = asd11 fica assim depois: asd11
mas eu preciso que o fctlncd tenha um formato de 15 digitos
alguem me ajude
Fiz uma funçao para colocar espaços a direita de uma string.
Segue
Tente dar uma adaptada a sua necessidade.
Acho que ficaria assim
Pra usar faz assim
aaa = [Ô]abc123[Ô]
aaa2 = pf_espaco(aaa, 10)
O resultado vai ser [Ô]abc1230000[Ô]
ou 0000abc123
Segue
Public Function pf_Espaco(Texto As String, Numero As Integer)
If Texto = [Ô][Ô] Then
pf_Espaco = Space(Numero)
Else
a = Numero - Len(Texto)
B = Texto
If a > 0 Then
For X = 1 To a
B = B & [Ô] [Ô]
Next
Else
B = Left(Texto, Numero)
End If
aa = Len(B)
pf_Espaco = B
End If
End Function
Tente dar uma adaptada a sua necessidade.
Acho que ficaria assim
Public Function pf_Espaco(Texto As String, Numero As Integer)
If Texto = [Ô][Ô] Then
pf_Espaco = Space(Numero)
Else
a = Numero - Len(Texto)
B = Texto
If a > 0 Then
For X = 1 To a
B = B & [Ô]0[Ô] [ô] ou b = [Ô]0[Ô] & b
Next
Else
B = Left(Texto, Numero)
End If
aa = Len(B)
pf_Espaco = B
End If
End Function
Pra usar faz assim
aaa = [Ô]abc123[Ô]
aaa2 = pf_espaco(aaa, 10)
O resultado vai ser [Ô]abc1230000[Ô]
ou 0000abc123
não está funcionando
Onde nao esta funcionando ?
Acontece algum erro?
Acontece algum erro?
Dim Variavel_1 as integer
Dim Variavel_2 as String
[ô]Conta os caracteres que veio no resultado
variavel_1 =Replace(len(fctlncd) ,[Ô] [Ô],[Ô][Ô]) [ô]Conta os caracteres sem considerar os espaços
[ô]Preenche a Variavel_2 com um quantidade de [Ô]0[Ô] faltantes para completar os 15 caracteres
for i = 1 to (15 - variavel_1) [ô]Calcula: 15 - qtd caracteres
variavel_2 = variavel_2 & [Ô]0[Ô]
next
[ô]Popula a variavel_2 com o RESULTADO do fctlncd concatenando com os ZEROS faltantes para 15 caracteres.
variavel_2 = Replace(fctlncd,[Ô] [Ô],[Ô][Ô]) & variavel_2
Dim Variavel_2 as String
[ô]Conta os caracteres que veio no resultado
variavel_1 =Replace(len(fctlncd) ,[Ô] [Ô],[Ô][Ô]) [ô]Conta os caracteres sem considerar os espaços
[ô]Preenche a Variavel_2 com um quantidade de [Ô]0[Ô] faltantes para completar os 15 caracteres
for i = 1 to (15 - variavel_1) [ô]Calcula: 15 - qtd caracteres
variavel_2 = variavel_2 & [Ô]0[Ô]
next
[ô]Popula a variavel_2 com o RESULTADO do fctlncd concatenando com os ZEROS faltantes para 15 caracteres.
variavel_2 = Replace(fctlncd,[Ô] [Ô],[Ô][Ô]) & variavel_2
Com isso os zeros ficaram a direita, se você quiser em outra posição avise.
Eu to vendo tanto codigo desnecessário
Dim Valor As String
Valor = bd.getfieldvalue(recdocs, [Ô]fctlncd[Ô])
fctlncd = String(15 - Len(Valor),[Ô]0[Ô]) & Valor
Ops!
Marcelo, o SPACE conheço, não conhecia o STRING.
Marcelo, o SPACE conheço, não conhecia o STRING.
Então Veldrame o string cria uma cadeia de caracteres, ou repetição, o que facilita diminuindo os código, porém no caso a variável deverá ser sempre uma string.
Já usei isso em C#, mas nunca pensei nisso para vb6.
Acho que esta na hora de eu rever alguns manuais....
KKKKKK.....
Acho que esta na hora de eu rever alguns manuais....
KKKKKK.....
Tópico encerrado , respostas não são mais permitidas