USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Campo memorando
Pastor
SÃO MATEUS
ES - BRASIL
ENUNCIADA !
Postada em 16/02/2006 12:29 hs            
Galera boa tarde, tenho um campo do tipo memo na minha tabela access, que serve pra armazenar observação, ou seja texto muito grande, estou trabalhando com impressão no picturebox usando o objeto print. como faço para imprimir esse campo da mesma forma que é digitado,por exemplo com as mesmas quebras de linhas dadas no textbox ?
obrigado.
Pastor
   
Geronimo
Pontos: 2843
JOINVILLE
SC - BRASIL
ENUNCIADA !
Postada em 16/02/2006 16:20 hs            
Veja se ajuda:
Enviando para impressora um TextBox multiline 

1. insira num módulo .bas: 

Public Declare Function SetTextAlign Lib "gdi32" (ByVal hdc As Long, ByVal wFlags As Long) As Long 

Public Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wmsg As Long, ByVal wparam As Long, lparam As Any) As Long 

Public Const TA_CENTER = 0 'Alinhar a esquerda TA_CENTER = 0, alinhar no centro TA_CENTER = 6 



Public Function Multiline(text As TextBox, margemE As Integer, top As Integer, linhas As Integer) 

Dim i As Integer 

Dim ta As Long 

Dim TextLines As Long 

Dim TextBuff As String 

Dim CharRet As Long 



ta = SetTextAlign(Printer.hdc, TA_CENTER) 

Printer.CurrentY = top 

' Define o nuemro de linhas do text box 

TextLines = linhas 

' Extrai e imprime as linhas do text box 

For i = 0 To TextLines - 1 

TextBuff = Space(2000) 

Printer.CurrentX = margemE 

' Ajusta o buffer para a linha 

Mid(TextBuff, 1, 1) = Chr(79 And &HFF) 

Mid(TextBuff, 2, 1) = Chr(79  &H100) 

CharRet = SendMessage(text.hwnd, &HC4, i, ByVal TextBuff) 

Printer.Print Left(TextBuff, CharRet) 

Next i 

' Reajusta para o valor original 

ta = SetTextAlign(Printer.hdc, ta) 



End Function 



2. Crie um formulário novo com um textbox com a 
propriedade multiline=true (o textbox eu dei o nome de TxtVlrExtenso; 



3. No formulário criado, crie um botao e aplique a este botao o código: 



With Printer 

.ScaleMode = vbMillimeters 'usando milimetros 

.ScaleWidth = 210 'largura do papel(A4) 

.ScaleHeight = 297 'altura do papel(A4) 

.ScaleLeft = 0 

.ScaleTop = 0
End With

Multiline TxtVlrExtenso, 67, 125, 2


Desta forma, você pode usar a função multiline para imprimir vários 
controles de texto com mais de uma linha...

A sintaxe que você usa no caso se refere a impressão da seguinte forma:

Multiline textbox, margemsuperior, margemesquerda, numerodelinhas

"O pior inimigo que você poderá encontrar será sempre você mesmo."
   
Geronimo
Pontos: 2843
JOINVILLE
SC - BRASIL
ENUNCIADA !
Postada em 16/02/2006 16:21 hs            

"O pior inimigo que você poderá encontrar será sempre você mesmo."
   
Pastor
SÃO MATEUS
ES - BRASIL
ENUNCIADA !
Postada em 16/02/2006 20:43 hs            
o problema geronimo é que eu pego direto do banco de dados  e é um campo memo nesse caso seria mais facil pra mim conseguir interpretar a quebra de lina e quanto caracteres cada linha possui. entedeu.
mas tudo bem se suber agradeço
obrigado por enquanto.
 
Pastor
   
VACA
LIMEIRA
SP - BRASIL
ENUNCIADA !
Postada em 17/02/2006 05:54 hs            
quando for dar o insert use chr(13)+chr(10) ele faz uma qbra de linda na string ou seja:
"Adicionando" & chr(13)+chr(10) & " String Truncada"
ele vai adicionar o seguinte:
"Adicionando
String Truncada"
Espero ter ajudado

"Quando estou fraco, aí então é que sou Poderoso"
   
Pastor
SÃO MATEUS
ES - BRASIL
ENUNCIADA !
Postada em 21/02/2006 14:40 hs            
Ok galera resolvido o problema.
   
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página