OBJETO PRINTER
Ola Pessoal
Minha duvida é :
Fiz um programa mais estou com dificuldades na parte de ajustar o texto na folha
Como vcs ja devem ter reparado na imagem acima , o programa imprimi o q estiver no Text1.Text quando se clica no botão imprimir
mais na folha o texto do text1 não se ajusta automaticamente na folha
Presciso de saber o comando em que o texto não ultrapasse a largura da folha pelo objeto printer
de preferencia o mais simples possivel ou com comentarios para explicar o codigo
Obrigado
Minha duvida é :
Fiz um programa mais estou com dificuldades na parte de ajustar o texto na folha
Como vcs ja devem ter reparado na imagem acima , o programa imprimi o q estiver no Text1.Text quando se clica no botão imprimir
mais na folha o texto do text1 não se ajusta automaticamente na folha
Presciso de saber o comando em que o texto não ultrapasse a largura da folha pelo objeto printer
de preferencia o mais simples possivel ou com comentarios para explicar o codigo
Obrigado
Cara, to sem o VB6 instalado, mas vou te dar a ideia ai voce tenta implementar
TAMANHO = LEN(TXT)
LARGURA = TAMANHA DE CARACTERES DA LINHA
CONT =0
FOR CONT = 0 TO TAMANHO STEP LARGURA
PRINT.PRINTER mid(txt, cont, largura)
NEXT CONT
mais ou menos por ai tenta ai
TAMANHO = LEN(TXT)
LARGURA = TAMANHA DE CARACTERES DA LINHA
CONT =0
FOR CONT = 0 TO TAMANHO STEP LARGURA
PRINT.PRINTER mid(txt, cont, largura)
NEXT CONT
mais ou menos por ai tenta ai
NÃO DEU CERTO :/
PRESCISARIA DE UMA MANEIRA PARA DIZER :
OQ NAUM COUBER EM CIMA PASSA PRA LINHA DE BAIXO
PRESCISARIA DE UMA MANEIRA PARA DIZER :
OQ NAUM COUBER EM CIMA PASSA PRA LINHA DE BAIXO
Na realidade o caminho é seste mesmo exposto pelo colega diego, mas veja com esta alteração
bom, acredito que funcione ou pelo mens chegará perto, pois não testei.
Dim TamTexto As Integer
Dim LargLinha As Integer
Dim Resto As Integer
TamTexto = Len(Text1.Text)
LargLinha = 50[txt-color=#007100] [ô] aqui ajuste até uma Largura ideal para impressão[/txt-color]
Resto = TamTexto Mod LargLinha [txt-color=#007100][ô] é o resto da divisão do tamanho do texto com a largura da linha[/txt-color]
For F = 1 To (TamTexto - Resto) Step LargLinha
Printer.Print Mid(Text1.Text, F, LargLinha)
Next F
Printer.Print Mid(Text1.Text, (TamTexto - resto), Resto)
Printer.EndDoc
bom, acredito que funcione ou pelo mens chegará perto, pois não testei.
Vou aperfeiçoar.
Quando imprimimos, a quantidade de caracteres varia conforme o TAMANHO da fonte. Ainda mais de a fonte não possuir caracteres com o [Ô]mesmo tamanho[Ô].
Para não ultrapassar a margem DIREITA do papel, crio uma string com a linha e testo o tamanho da linha conforme os caracteres.
Quando imprimimos, a quantidade de caracteres varia conforme o TAMANHO da fonte. Ainda mais de a fonte não possuir caracteres com o [Ô]mesmo tamanho[Ô].
Para não ultrapassar a margem DIREITA do papel, crio uma string com a linha e testo o tamanho da linha conforme os caracteres.
Wpalavras = split(text1.text,[Ô] [Ô])
Wlinha = [Ô][Ô]
for Wx = 0 to ubound(Wpalavras)
Wtamlinha = printer.textwidth(Wlinha)
if Wtamlinha > 9000 then [ô]margem direita do meu relatório
printer.print Wlinha
Wlinha = [Ô][Ô]
endif
Wlinha = Wlinha + Wpalavra[Wx] + [Ô] [Ô]
next Wx
if len(Wlinha) <> 0 then
printer.print Wlinha
endif
Tópico encerrado , respostas não são mais permitidas