Visual Basic - Variable de texto que salgan en orden

Life is soft - evento anual de software empresarial
   
Vista:

Variable de texto que salgan en orden

Publicado por Antoñito Manuel (25 intervenciones) el 16/03/2015 17:47:35
Hola a todos:

Espero que me echéis un un capote con un programilla que deseo hacer y no se como hacerlo.
Se trata de una cadena de texto, que pueden ser los meses u otro concepto, pero que solo contiene 2 o 3 letras como identificación, por ejemplo ene, feb, mar, etc o en, fe, ma, etc., pero debe salir en el orden correspondiente, puede ser un bucle, es lo que había pensado y tratando de hacerlo, no encuentro la forma de hacerlo..

Por cierto, estarían en una variable, por ejemplo m = "JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"

Espero vuestra grata colaboración y doy las gracias por ello.
Saludos.
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

Variable de texto que salgan en orden

Publicado por Juan Gilberto (278 intervenciones) el 17/03/2015 17:51:22
1
2
3
4
5
6
7
8
9
10
Dim m As String
Dim I As Integer
 
m = "JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"
 
For I = 1 To 34 Step 3
 
    MsgBox Mid(m, I, 3)
 
Next I
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

Variable de texto que salgan en orden

Publicado por Antoñito Manuel (25 intervenciones) el 17/03/2015 21:35:10
Juan Gilberto, te doy las gracias por tu respuesta y encima ha funcionado.

¿Cómo podría grabarlo en un archivo secuencial de texto?, porque cada resultado que voy consiguiendo lo voy grabando en un txt, para ir viendo lo que se va logrando, no he logrado hacerlo con esto.

Por cierto, si deseo cogerlo para seguir con el programa, como lo consigo, porque si pongo la variable m, me saldrá toda la cadena.

Gracias por todo.
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

Variable de texto que salgan en orden

Publicado por Juan Gilberto (278 intervenciones) el 18/03/2015 16:54:33
A investigar se ha dicho!
Necesitar estudiar y aprender lo siguiente:

-Como Abrir de un archivo de texto de salida
-Como Grabar datos en un archivo de texto
-Como Cerrar un archivo de texto
-Como Abrir de un archivo de texto de entrada
-Como Leer datos en un archivo de texto
-Como utilizar la funcion MID
-Como utilizar la instruccion FOR - NEXT

Intenta resolverlo por ti mismo y cuando te atores presenta el codigo y tus dudas y con gusto alguien te va a ayudar
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

Variable de texto que salgan en orden

Publicado por Antoñito Manuel (25 intervenciones) el 18/03/2015 18:47:41
Hola a todos:

Juan Gilberto, te agradezco la atención, te diré en el programa que estoy haciendo, ya inserto en un archivo de texto los resultados, pero al ponerlo en un MsgBox, los resultados, me lía, se como funciona el for next, lo he usado en muchos programas, reconozco que lío un poco, en cuanto a como utilizar la función MID, hasta creé un programa específico para mostrar el contenido que desee, indicando los ordenes de la cadena troceada, aún así, volveré a mirar lo que dices.

Gracias por todo.
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
Imágen de perfil de Megamind

Variable de texto que salgan en orden

Publicado por Megamind (121 intervenciones) el 18/03/2015 20:44:12
Hola,
Porque no usas la función Split y metes las cadenas en un listbox, con la opción sorted a True

Luego solo tendrías que recuperar el contenido del list box
Puede que funcione

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Private Sub Command1_Click()
 Dim t() As String
 Dim Cadena As String
 Dim Separador As String
 Dim Valor As Integer
 Dim Cuenta As Integer
 
 Cadena = "Mar,Jun,Ago,Sep,Ene,Jul,Oct"
 
 t = Split(Cadena, ",")
 Valor = UBound(t)
 For Cuenta = 0 To Valor
  nC = LTrim(RTrim(t(Cuenta)))
  If nC <> "" Then
  List1.AddItem nC
  End If
 Next
 
  Cadena = ""
For x = 0 To List1.ListCount - 1
  If x = List1.ListCount - 1 Then
     Separador = ""
     Else
     Separador = ", "
    End If
  List1.ListIndex = x
  Cadena = Cadena & List1.Text & Separador
 Next
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

Variable de texto que salgan en orden

Publicado por LUIS FRANCO (68 intervenciones) el 19/03/2015 02:58:24
EXCELENTE RESPUESTA MEGAMIND.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

Variable de texto que salgan en orden

Publicado por Antoñito Manuel (25 intervenciones) el 20/03/2015 19:51:15
Hola a todos:

Megamind, te agradezco tu aportación, me ha resultado, he conseguido imprimirlo en el archivo secuencial de texto, los meses y el número que corresponde en el ListBox.

Me hubiese gustado poder ponerlo de 1 a 12, no me ha salido, si le pongo uno me sale menos cantidad, es decir de 1 a 11, con los meses si le pongo el 1, sale a partir de febrero. Tampoco he conseguido hasta ahora ver o imprimir uno determinado.

Si podéis ayudarme, lo agradeceré un montón más, ya que con lo conseguido, también estoy contento.

Gracias por todo.
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
Imágen de perfil de Megamind

Variable de texto que salgan en orden

Publicado por Megamind (121 intervenciones) el 20/03/2015 21:37:28
Hola
Boy a intentar ayudarte, pero no soy muy listo, te preguntare algunas cosas para poder empezar.
* Cual es el objeto final de esta rutina?
* Como se a definido la cadena y el orden que tienen las tres letras?
* Si no va a ser siempre los meses, es posible poner una opción para tratar exclusivamente los meses?
* Cual seria la otra posible cadena
* Seria posible utilizar una base de datos para tratar las cadenas?
* Si es en vb6, puedes colgar el formulario para tener mas claro lo que quieres?
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
Imágen de perfil de Megamind

Variable de texto que salgan en orden

Publicado por Megamind (121 intervenciones) el 20/03/2015 22:31:52
Hola
Te paso una modificación del código anterior
Aquí yo voy a suponer que tú tienes la opción de seleccionar uno de los tres caracteres de la cadena

Y pretendes que al seleccionar por ejemplo Sep, te muestre el número del mes y el nombre del mes

Para eso tendremos en el formulario lo siguiente
Un Listbox (List1)
Un CommandButton (Command1)
Dos textBox ( Text1,Text2)

El Listbox tiene que tener la propiedad Sorted a False

Código en el Formulario

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Dim nC As String
 
Private Sub Form_Load()
List1.AddItem "Enero"
List1.AddItem "Febrero"
List1.AddItem "Marzo"
List1.AddItem "Abril"
List1.AddItem "Mayo"
List1.AddItem "Junio"
List1.AddItem "Julio"
List1.AddItem "Agosto"
List1.AddItem "Septiembre"
List1.AddItem "Octubre"
List1.AddItem "Nobiembre"
List1.AddItem "Diciembre"
Text1.Text = "Sep"
Text2.Text = "Septiembre"
End Sub
 
 
Private Sub Command1_Click()
Dim t() As String
Dim Cadena As String
Dim Valor As Integer
Dim Cuenta As Integer
 
Cadena = "Mar,Jun,Ago,Sep,Ene,Jul,Oct"
 
t = Split(Cadena, ",")
Valor = UBound(t)
 
For Cuenta = 0 To Valor
  nC = LTrim(RTrim(t(Cuenta)))
  If nC <> "" Then
     Call BuscaMes
  End If
Next
End Sub
 
Private Sub Text1_Click()
nC = Text1
Call BuscaMes
End Sub
 
Private Sub Text2_Click()
nC = Text2
Call BuscaMes
End Sub
 
Private Sub BuscaMes()
Dim X As Integer
 
nC = Mid(nC, 1, 3) ' Por si le hemos pasado en nombre completo
 
For X = 0 To List1.ListCount - 1
  List1.ListIndex = X
If Mid(List1.Text, 1, 3) = nC Then
 
  MsgBox "   Mes " & X + 1 & "  " & List1.Text & vbCrLf _
        & "o Mes " & X + 1 & "  " & Mid(List1.Text, 1, 3)
Exit Sub
End If
Next
End Sub
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

Variable de texto que salgan en orden

Publicado por Antoñito Manuel (25 intervenciones) el 23/03/2015 19:04:37
Hola a todos:

Megamind, te ruego perdones la tardanza, aparte de otras cosas que me interesan, también es debido a mi confusión, aunque he solucionado lo de los nº de mes, ya me sale de 1 a 12 incrustando +1 al contador, en el segundo ejemplo insertado no he podido entender muy bien para que servía el mes con las 3 primeras letras, si luego no se movía, siempre era lo mismo, sólo en el MsgBox, se iban incrementando, así que también hice un pequeño ajuste y en el text1 se veía el nº del mes y en el text2 se veía el més, en este caso las 3 primeras letras, conforme iba pasando el msgbox.

En cuanto al motivo de la rutina, es pasar en un bucle no los meses, sino los planetas, que deberán pasar cuando sean calculados, pero es complicado el código, puesto que no está en visual basic, sino en GWBasic, que estoy tratando de traspasar a Visual Basic y mi lío aparte de fórmulas que no consigo entender del todo, tampoco algún código que no consigo enterarme de su función, también usa las funciones READ y DATA, que a lo mejor se pueden introducir en una base de datos, aunque sea un archivo de texto.

Contiene muchos números con muchos decimales, incluso de menos de unidad, como 0,0000000000000021345 o similar.

Posiblemente no puedas ayudar mucho a no ser que sepas GWBasic, por lo que te sería igual de engorroso, yo hice programas en los 90 y 2000, pero muchas funciones que tiene no los usé, entre los que se encuentra el READ DATA.

En cuanto vaya surgiendo cosas lo puedo ir preguntando al adaptarlo a Visual Basic.

Gracias por todo.
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
Imágen de perfil de Megamind

Variable de texto que salgan en orden

Publicado por Megamind (121 intervenciones) el 23/03/2015 20:07:08
Quieres decir que buscas la posición de un planeta según una fecha?
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

Variable de texto que salgan en orden

Publicado por Antoñito Manuel (25 intervenciones) el 23/03/2015 21:29:03
Así es, el problema es que está en GWBasic y he de trasladarlo a Visual Basic.
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
Imágen de perfil de Megamind

Variable de texto que salgan en orden

Publicado por Megamind (121 intervenciones) el 23/03/2015 21:50:22
Ok, investigare a ver si se me ocurre algo
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
Imágen de perfil de Megamind

Variable de texto que salgan en orden

Publicado por Megamind (121 intervenciones) el 24/03/2015 19:37:25
E encontrado un código, creo que en Basic, y creo que es de lo que estas intentando hacer.
A simple vista, no parece muy difícil pasarlo al Visual Basic 6

En una miradita así por encima, lo que no se es que es esta función FNFR(H)
Supongo que convierte la hora en algún formato, pero desconozco esa función
http://www.astrored.org/usuarios/xgarciaf/efemer.htm
Al final de la página
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
Imágen de perfil de LUIS FRANCO

Variable de texto que salgan en orden

Publicado por LUIS FRANCO FRANCO_LUIS776@YAHOO.ES (68 intervenciones) el 24/03/2015 20:47:44
Algo enrredada la solucion pero de que se puede se puede.
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

Variable de texto que salgan en orden

Publicado por Antoñito Manuel (25 intervenciones) el 25/03/2015 00:13:12
Muchas gracias por vuestra colaboración, esto requerirá una observación entretenida, pero pausada, la función FNR(H), parecida también aparece y tampoco he dado con el punto.

Gracias por todo.
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

Variable de texto que salgan en orden

Publicado por Antoñito Manuel (25 intervenciones) el 29/03/2015 17:55:24
Hola a todos:

Deseo que sepáis como van mis correrías con el código que me enviaste la página, que desde luego se ver muy atrayente (para mí), que después de copiar todo el código, lo probé y empezaron a salir errores, estos eran en principio de mala copia por mi parte, pero después llegó un punto en que seguía dando error, pero ya no se debía al copiar erróneamente, sino algo falta en el código.

Estaba tan ilusionado, mi gozo en un pozo, pero por otro lado indagando, he empezado a tomar contacto con el read data, e hice un pequeño programa (en GW-Basic) empezando a aclararme algo, hasta también he empezado a poder imprimir en un archivo de texto, los resultados, cosa que hasta ahora no me salía en este programa, ya en Visual Basic os comenté que sí. Por tanto sigo con el programa anterior para ver si puedo pasarlo de GW-Basic a Visual Basic.

Os agradezco vuestra colaboración, que aunque no me haya solucionado la cuestión, al avanzar por otro enfoque, me siento contento y con ánimo de conseguirlo.

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