Visual Basic - Dar la vuelta a una cadena de palabras

Life is soft - evento anual de software empresarial
 
Vista:

Dar la vuelta a una cadena de palabras

Publicado por Arlanduskus (5 intervenciones) el 04/06/2015 22:35:12
Hola a todos, estoy intentando en visual basic, introducir una cadena de palabras de la siguiente manera:

El usuario debería de introducir una frase por ejemplo " Hola hoy hace un buen día"

Una vez introducida el programa debería guardarla en un archivo de la siguiente manera:

día
buen
un
hace
hoy
hola

La verdad es que no tengo ni idea de como podría ser, a ver si me podéis hechar una mano.
Muchas gracias.
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Dar la vuelta a una cadena de palabras

Publicado por Andres Leonardo (1798 intervenciones) el 04/06/2015 23:52:15
Y tienes algun avance???

Siempre por parte

Primero parte un form donde tengas un texto donde ingresar
segundo un boton para procesarlo
en el evento click recorrer el texto para poderlo poner en el archivo
conisderar que es invertido reccorer . pero al principio ponlo en el mismo oredn
Grabar el archivo
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

Dar la vuelta a una cadena de palabras

Publicado por Arlanduskus (5 intervenciones) el 05/06/2015 00:31:59
tenia esto de momento, pero no es exactamente lo que quiero

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
Dim objFSO, vector, frase, archivo
 
 
Dim invertida() As string * 1
Dim i As Integer
Dim jh As Integer
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set archivo = objFSO.OpenTextFile("frase.txt", 1)
 
msgbox(" ***** SCRIPT FRASE ***** ")
 
 
 
frase = inputbox("Introduce una frase: ")
 
cadena= frase
 
vector=split(cadena)
 
 
For Each elemento In vector
MsgBox(elemento)
archivo.writeline(elemento)
archivo.quit
 
Next
reves = StrReverse("VBScript")
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

Dar la vuelta a una cadena de palabras

Publicado por Arlanduskus (5 intervenciones) el 05/06/2015 00:42:11
Ahora mismo llevo esto, que me escribe en el documento, pero no me escribe de la manera que he comentado antes, al reves.

día
buen
un
hace
hoy
hola


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
'PREGUNTAR
 
 
Dim objFSO, vector
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set crearfrase= objFSO.OpenTextFile("frase.txt",8,True) 'el 8 es para añadir al archivo cosas sin borrarlo
 
Usu = inputbox("Introduce la frase: ")
cadena=Usu
 
' prova de split 
 
 
 
 
vector = Split(cadena)
for each elemento in vector
msgbox(elemento)
Next
 
crearfrase.writeline(Usu)
 
crearfrase.close
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
sin imagen de perfil

Dar la vuelta a una cadena de palabras

Publicado por Pedro Luis (56 intervenciones) el 05/06/2015 11:43:41
Usa Split
No pienso hacertelo solo una ayudita, como siempre en el inmediato.

palabras=split("Hola hoy hace un buen día")
?palabras(0)
Hola
?palabras(1)
hoy
?palabras(2)
hace
?palabras(3)
un
?palabras(4)
buen
?palabras(5)
día
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

Dar la vuelta a una cadena de palabras

Publicado por Ivan (2 intervenciones) el 07/06/2015 19:10:26
El código es este pero solamente funciona con 5 lineas, como seria con las lineas que el usuario decida, de esta forma es obligatorio 5 frases o peta..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim objFSO, vector, frase, archivo
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set archivo = objFSO.OpenTextFile("frase.txt", 2, True)
 
msgbox(" ***** SCRIPT FRASE ***** ")
 
frase = inputbox("Introduce una frase de 5 palabras: ")
 
cadena = frase
 
vector=split(cadena)
 
archivo.writeline(vector(4) + vbCrlf + vector(3) + vbCrlf + vector(2) + vbCrlf + vector(1) + vbCrlf + vector(0))   'vbCrlf hace saltos de linea
 
archivo.close
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 A. FRANCO R.

Dar la vuelta a una cadena de palabras

Publicado por LUIS A. FRANCO R. (93 intervenciones) el 08/06/2015 23:17:40
Buen dia Disfrutalo 2 casillas de texto multilinea y 1 combo


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub Form_Load()
Combo1.Clear
conta = 0
 
Dim a() As String, s As String
Dim i As Integer
s = InputBox("Ingrese la cadena de caracter")
's = StrReverse(s)
a = Split(s, " ")
 
For i = 0 To UBound(a)
Text1.Text = Text1.Text & vbCrLf & a(i)
Combo1.AddItem (a(i))
conta = conta + 1
Next i
 
Do While conta <> 0
Text2.Text = Text2.Text & vbCrLf & Combo1.List(conta - 1)
conta = conta - 1
Loop
End Sub


Sin mas por el Momento se Despide.

LUIS A FRANCO R
INGENIERO DE SISTEMAS
EMAIL: [email protected]
TLF: 0426-5821929
PIN: 79F120E2
INSTAGRAM: FRANCO776
TWITTER: @FRANCO776
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

Dar la vuelta a una cadena de palabras

Publicado por Ivan (2 intervenciones) el 09/06/2015 10:45:52
Gracias aunque no es compatible con la versión que usamos ahora, es más vieja y en el dim(a) ya da error
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 A. FRANCO R.

Dar la vuelta a una cadena de palabras

Publicado por LUIS A. FRANCO R. (93 intervenciones) el 09/06/2015 15:51:06
Ahi tienes el programa completo. si da error busca el por que. a mi me corre perfecto.


Sin mas por el Momento se Despide.

LUIS A FRANCO R
INGENIERO DE SISTEMAS
EMAIL: [email protected]
TLF: 0426-5821929
PIN: 79F120E2
INSTAGRAM: FRANCO776
TWITTER: @FRANCO776
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