bueno al funcion replace la conozco no se como remplasar el texto de un texbox
en texto plano previamente cargado en el que como margenes tengo este texto de aqui devajo
[ aqui.texto.centrado.a.remplazar ]
:huh: help me alguien ^^
holas
te sirve algo así?
Dim strCadena As String: strCadena = "[ aqui.texto.centrado.a.remplazar ]"
Dim strRep As String: strRep = "holasss-locos"
Dim strR As String, strL As String
Dim strOut As String
strR = Right(strCadena, 10)
strL = Left(strCadena, 10)
strOut = strL & strRep & strR
Debug.Print strCadena
Debug.Print strOut
no pero gracias eso no es lo que busco quiero remplazae el texto de un texbox
en otro texbox centrado en el texbox a remplazar tengo
[ aqui.el.texto.del.texbox.1 ]
por medio de un boton
dale la propiedad center a un text y en el boton pones la condicion para cambiar texto :)
:¬¬ o explicate mejor xD
TRIM
hmm
no se me entiende ggg
vamos a ver si esta vez :P
tengo estas cosas en mi from
boton
texbox1
texbox2
en el textbox2 tengo cargado este texto
[ aqui.texto.centrado.a.remplazar ]
ahora quiero remplazar el texto del texbox1 en el textbox2 por medio de un boton
pero que se remplace centrado y como margenes estoy usando [ ] bueno espero que estas vez me entiendan y me ayuden grascias por las respuestas recividas asta ahora :)
Si la parte central de la cadena (la que quieres rescatar) nunca va a tener espacios podes usar replace
cadena = "[ aqui.texto.centrado.a.remplazar ]"
MsgBox cadena
cadena = Replace(cadena, " ", "")
MsgBox cadena
:-(
es el que el texto que remplaze tiene que remplazarse en la mitad y los margenes mantenerce en su sitio pero bueno es igual paso de añadirle esto a mi tool :) gracias por las respuesta
Lo podes hacer calculando el Len de la cadena inicial y el len de la cadena modificada
saludos
EDIT: doy por seguro que los texbox tienen la propiedad Alignment = 2 (center)
no por que hay mas texto en el texbox2 y si lo pongo centrado lo destrozo a todo y quiero hacer esto en una linea de el texto cargado en el texbox2
andrer03, Ninguno de nosotros somos adivinos, una cosa es como pantleaste la pregunta (refiriendote a una cadena) y otra es si el texbox2 tiene mas texto o es multiline, si no explicas todo desde un principio nos "descolocas" (por lo menos a mi)
Quisiera ayudarte pero no entiendo la pregunta Saludos
Cita de: andrer03 en 1 Febrero 2009, 22:16 PM
no por que hay mas texto en el texbox2 y si lo pongo centrado lo destrozo a todo y quiero hacer esto en una linea de el texto cargado en el texbox2
Funcion:
Format()
te serviria?
es lo mas cutre que pude hacer, no me pidan mas, recien me levanto :xD
Private Sub Command1_Click()
Text1.Alignment = 0
Text1.Text = "Cambiaste el Texto"
Text1.Alignment = 2
End Sub
Private Sub Form_Load()
Text1.Alignment = 2
Text1.Text = "Holaaaaaaaaa"
End Sub
saludos.
si no es como dice seba123neo, ponele los bordes en flat (al text), y mandale corchetes con labels atras
bueno he pensado esto
[ ] ->maximo de letras q se puede ingresar entre los margenes [] es 30
un ejemplo las palabra que quiero centrar es: hola ->que tiene 4 letras
entoces calculo los espacios que tengo que añadir para que la palabra quede centrada
si el maximo de letras que permite es 30 y la palabra a remplazar tiene 4 letras
30-4=26espacios
entonces si divido 26/2 = 13espacios para la izquierda y otros 13 para la derecha
entonces quedaria asi.
[1234567890123HOLA1234567890123]
los numero que puse serian espacios
asi con espacios los margenes se mantendrian en su lugar y se centraria la palabra a remplazar con los espacios calculados para la derecha y para la izquierda
bueno compañeros no se si la lie mas o menos pero es como lo razone :) lo que no se es el codigo espero que me ayuden de nuevo ^^
Algo así ...
Dim Centrar as Integer
Dim Espacios as String
Centrar = (30 - Len(text1.text))/2
Espacios = String(Centrar," ")
text2.text = Espacios & text1.text & Espacios
Esta podría ser la base, solo tienes que agregarle un par de condicionales para evaluar si realmente deben de agregarse espacios o también si el número de lugares libres en pricipio es impar y por lo tanto no se puede dividir entre dos así como así :P
Saludos
holas
Ya que estamos
La única función que usaría yo, space.
Y tu teoría funciona bien con palabras con caracteres pares. Si tratas con '123', el resultado de los espacios es 14 osea 14*2=28 y 3 de la cadena nos queda 31. y en otros casos puede llegar a quedarte 29.
Otro detalle a destacar que cada carácter ocupa un espacio determinado y eso puede cagarte algo. Hay una fuente que todos sus caracteres ocupan lo mismo pero no me la acuerdop.
La funcion Space devuelve espacios, su cantidad es dada por su argumento.
strPrueba=Space(10)
strPrueba tendría el valor: " "
54¬u|)()5
La función space cumple la misma función que string
String(x," ") == Space(x)
Saludos :-*
gracias por tu ayuda Novlucker ya lo porobe y lo adacte con la funcion replace y funcion bien ;D
Dim Centrar As Integer
Dim Espacios As String
Centrar = (30 - Len(Text1.Text)) / 2
Espacios = String(Centrar, " ")
Text2.Text = "[" & Espacios & Text1.Text & Espacios & "]"
'titulo
largo = Len(Text2.Text)
busco = "->"
For i = 0 To largo Step 1
busco = busco & " "
Next
txt3.Text = Replace(txt3.Text, "[", " ")
txt3.Text = Replace(txt3.Text, "]", " ")
txt3 = Replace(txt3.Text, busco, "-> " & Text2.Text)
bueno con eso consegui remplazarlo donde quiero y centrado mas o menos tampoco tiene que ser al milimetro con esto me conformo :D thx for all