TAB EM STRING
boa noite amigos
eu uso muito a funcao tab() no metodo print
exemplo: Print #1, [Ô]COMEÇO[Ô] ; Tab(30); [Ô]FIM[Ô]
ate ai perfeito
mas...eu gostaria de saber como usar o tab() em uma sting...ja tentei mas deu erro
tipo:
dim str as string
str = [Ô]COMEÇO[Ô] ; Tab(30); [Ô]FIM[Ô]
daria para tabular de alguma outra forma?
eu uso muito a funcao tab() no metodo print
exemplo: Print #1, [Ô]COMEÇO[Ô] ; Tab(30); [Ô]FIM[Ô]
ate ai perfeito
mas...eu gostaria de saber como usar o tab() em uma sting...ja tentei mas deu erro
tipo:
dim str as string
str = [Ô]COMEÇO[Ô] ; Tab(30); [Ô]FIM[Ô]
daria para tabular de alguma outra forma?
Tente assim:
str = [Ô]COMEÇO[Ô] + Chr(9) + [Ô]FIM[Ô]
ou
str = [Ô]COMEÇO[Ô] + vbTab + [Ô]FIM[Ô]
str = [Ô]COMEÇO[Ô] + Chr(9) + [Ô]FIM[Ô]
ou
str = [Ô]COMEÇO[Ô] + vbTab + [Ô]FIM[Ô]
Será que String$() não resolveria?
str = [Ô]COMEÇO[Ô] + String$(30, 9) + [Ô]FIM[Ô]
para o seu caso str = [Ô]COMEÇO[Ô] + String$(30, 32) + [Ô]FIM[Ô] [ô] 32 é espaço n codigo ascii
str = [Ô]COMEÇO[Ô] + String$(30, 9) + [Ô]FIM[Ô]
para o seu caso str = [Ô]COMEÇO[Ô] + String$(30, 32) + [Ô]FIM[Ô] [ô] 32 é espaço n codigo ascii
infelizmente nenhuma das opcoes apresentadas deu certo
eu precisaria tabular tipo assim:
CODIGO DESCRIÇÃO QUANTIDADE
001 PRODUTO X 1,00
0237 PROD Y 2,00
034 PROD TESTE 3,00
precisaria que na string os campos saissem nas colunas certas...
eu precisaria tabular tipo assim:
CODIGO DESCRIÇÃO QUANTIDADE
001 PRODUTO X 1,00
0237 PROD Y 2,00
034 PROD TESTE 3,00
precisaria que na string os campos saissem nas colunas certas...
ANDY, esse código que lhe enviei funciona perfeitamente. O que acontece é que, a cada tab, ele preenche os espaços que faltam para completar o que não foi usado pelas palavras; por isso que algumas tabulações ficam pequenas, outras no tamanho correto. Isso acontece até se você dar [Ô]tabs[Ô] manualmente.
Para fazer um teste e comprovar isso por si só, execute esse código:
Para fazer um teste e comprovar isso por si só, execute esse código:
MsgBox [Ô]ID[Ô] + vbTab + [Ô]DESCRIÇÃO[Ô] + vbTab + [Ô]PRODUTO[Ô]
Jaba
funcionou mesmo, so que tem produtos que a descricao é maior, e tem produtos que a descricao é menor, dai ele nao tabula certo....:(
por exemplo
tenta ai
Dim str As String
str = [Ô]ID[Ô] + vbTab + [Ô]PRODUTO[Ô] + vbTab + [Ô]VALOR[Ô] & vbNewLine
str = str & [Ô]001[Ô] + vbTab + [Ô]caneta esferografica[Ô] + vbTab + [Ô]1,00[Ô] & vbNewLine
str = str & [Ô]123456[Ô] + vbTab + [Ô]papel[Ô] + vbTab + [Ô]21,00[Ô] & vbNewLine
str = str & [Ô]22334344[Ô] + vbTab + [Ô]Caderno 200 folhas[Ô] + vbTab + [Ô]25,00[Ô] & vbNewLine
MsgBox str
veja na mensagem como nao tabula certo....
funcionou mesmo, so que tem produtos que a descricao é maior, e tem produtos que a descricao é menor, dai ele nao tabula certo....:(
por exemplo
tenta ai
Dim str As String
str = [Ô]ID[Ô] + vbTab + [Ô]PRODUTO[Ô] + vbTab + [Ô]VALOR[Ô] & vbNewLine
str = str & [Ô]001[Ô] + vbTab + [Ô]caneta esferografica[Ô] + vbTab + [Ô]1,00[Ô] & vbNewLine
str = str & [Ô]123456[Ô] + vbTab + [Ô]papel[Ô] + vbTab + [Ô]21,00[Ô] & vbNewLine
str = str & [Ô]22334344[Ô] + vbTab + [Ô]Caderno 200 folhas[Ô] + vbTab + [Ô]25,00[Ô] & vbNewLine
MsgBox str
veja na mensagem como nao tabula certo....
Acho que se você quiser trabalhar com Tab, você vai ter que ter o tamanho dos campos fixos e preencher o que faltou com espaços em branco. Pra tu ter uma ideia, abra o notepad, digite umas 3 letras e pressione tab, você vai ver que o espaço percorrido será pequeno. Se, após isso, você pressionar tab novamente, ele dará um salto maior. Isso acontece porque por padrão o tamanho de um tab é 8 letras, e como foi digitado apenas 3 letras inicialmente, o tab preenche os 5 restantes. Sendo assim, o tamanho do seu campo terá que ser padronizado de acordo com esse tamanho. Por isso, padronize todos os seus campos para tamanhos que são divisÃveis por 8.
Ex: Você poderia colocar o tamanho do seu campo descrição 64, pois 64 é divisÃvel por 8 e preencher o que não foi utilizado com espaços em branco.
Ex: Você poderia colocar o tamanho do seu campo descrição 64, pois 64 é divisÃvel por 8 e preencher o que não foi utilizado com espaços em branco.
Tópico encerrado , respostas não são mais permitidas