Visual Basic - Rellenar espacios en cadena.

Life is soft - evento anual de software empresarial
 
Vista:

Rellenar espacios en cadena.

Publicado por mgaspoz (28 intervenciones) el 10/01/2007 15:32:04
Buenas coles!

De que manera puedo detectar si dentro de dos parentecis existen dos cadenas de texto separadas por , teniendo en cuenta que la cantidad de caracteres anteriores al primer parentecis puede variar constantemente?, ejemplo

mamapapa(hdhhdh,jdjdjd) 'en este caso seria correcto

mamapapa(jdjdjd,) ' en este caso faltaria completar la segunda cadana luego de la ,

mama(dhdhd,) 'seria lo mismo que lo anterior

Gracias de antemano por su tiempo y por su ayud

P.D: Lo necesito para poder contienuar en proyecto de sistema de sueldos, la idea seria que sin importar si es suma, resta, multiplicacion, etc, inserte los valores que selecciono de un listbox en los espacios dentro de los parentecis comenzando desde el primer espacio o sea (hhfhf,

Gracias nuevamente y espero explicarme bien.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Rellenar espacios en cadena.

Publicado por Jasall (27 intervenciones) el 11/01/2007 10:52:32
Buenas, te paso un ejemplo
. Pon un text1 y un command1

Private Sub Command1_Click()

ini_p = InStr(1, Text1, "(") ' captamos la posicion del 1º parentesis
ini_c = InStr(ini_p, Text1, ",") ' captamos la posicion de la coma

If ini_c = 0 Then MsgBox "Falta Coma": Exit Sub

ref = Mid(Text1, 1, ini_p - 1) ' capto la 1º cadena
uno = Mid(Text1, ini_p + 1, ini_c - ini_p - 1) ' capto la 1ºcadena despues del parentesis
dos = Mid(Text1, ini_c + 1) ' capto la 2ºcadena despues del parentesis

If dos = ")" Then ' si dos contine parentesis es que falta informacion
dos = InputBox("Valor", "Falta Valor", 1) ' la solicito
Text1 = ref & "(" & uno & "," & dos & ")" ' modifico el texto
dos = Mid(dos, 1, Len(dos))
Else
dos = Mid(dos, 1, Len(dos) - 1)
End If

MsgBox ref & vbNewLine & uno & vbNewLine & dos
End Sub

' saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar