CSTR

FILIPA 10/10/2012 12:24:02
#411712
boas

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
FBGSYSTEMS 10/10/2012 12:31:59
#411713
Fiz uma funçao para colocar espaços a direita de uma string.

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
FILIPA 10/10/2012 12:50:44
#411714
não está funcionando
FBGSYSTEMS 10/10/2012 12:51:43
#411715
Onde nao esta funcionando ?
Acontece algum erro?
VELDRAME 10/10/2012 17:46:25
#411764
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

VELDRAME 10/10/2012 17:48:05
#411765
Com isso os zeros ficaram a direita, se você quiser em outra posição avise.
MARCELO.TREZE 10/10/2012 20:28:13
#411771
Eu to vendo tanto codigo desnecessário

Dim Valor As String
Valor = bd.getfieldvalue(recdocs, [Ô]fctlncd[Ô])
fctlncd = String(15 - Len(Valor),[Ô]0[Ô]) & Valor




VELDRAME 11/10/2012 09:09:26
#411793
Ops!
Marcelo, o SPACE conheço, não conhecia o STRING.
MARCELO.TREZE 11/10/2012 09:28:58
#411798
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.

VELDRAME 11/10/2012 09:32:31
#411799
Já usei isso em C#, mas nunca pensei nisso para vb6.
Acho que esta na hora de eu rever alguns manuais....
KKKKKK.....
Tópico encerrado , respostas não são mais permitidas