Jump to content

Remover Caracter de String


Diego Fernandes
 Share

Recommended Posts

Olá a todos...

pensem em colocar o título como "Limitar String" mas não é bem isso que quero.

Fiz um modulo de impressão tipo relatório, onde há colunas e linhas, porem

em algumas colunas o texto costuma ultrapassar seu limite assim pensei

como limitar remover o excesso de carácter de uma string.

exemplo: (super resumido) rsrs

Dim Fonte as Font =  New Font("Arial", 8)

Dim colTamanho(0) as integer = 0
Dim colTamanho(1) as integer = 40
Dim colTamanho(2) as integer = 170
Dim colTamanho(3) as integer = 185
Dim colTamanho(4) as integer = 30

while dr.reader
  dados(0) = dr("id")
  dados(1) = dr("nome_fantasia")
  dados(2) = dr("empresa")
  dados(3) = dr("valor")
  dados(4) = dr("desconto")

  for x = 0 to dados.count
     e.Graphics.DrawString(dados(x), fonte, , colTamanho(x), posicaoDaLinha, New StringFormat())
  end for

end while

Resumidamente: o nome_fantasia e empresa poderia remover seu caracteres excedente.

Obrigado a todos.

Edited by thoga31
Tags code + GeSHi
Link to comment
Share on other sites

textbox.maxlenght =1

isto é para limitar o numero de textos que pode ser escritos

if textbox1.lenght = 6 then
Msgbox("Erro")

Este é para o caso se o numero de carateres no texto for 6

Edited by bids

Ajude-me?

Link to comment
Share on other sites

se só queres limitar na "impressão" podes usar o Substring, o primeiro numero é o inicio e o segundo e o nr de caracteres....

	    Dim s As String = "sexta feira"
    MsgBox(s.Substring(0, 3))

ou o left

MsgBox(Microsoft.VisualBasic.Left(s, 3))
Link to comment
Share on other sites

Podes e deves usar um rectângulo para desenhar o texto:

e.Graphics.DrawString(Texto, Font, Brush, RectangleF)

Assim o texto que não couber dentro do RectangleF será excluído.

E para saberes o espaço necessário para esse Texto ser escrito todo usando várias linhas, usa uma variante da função e.Graphics.MeasureString, que devolve um rectângulo.

A partir da altura desse rectângulo saberás onde colocar o próximo registo.

O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.