Autor
|
Tema: Visual Basic 2008 Duda (Leído 2,931 veces)
|
Anonymatrix
Desconectado
Mensajes: 47
raro, raro, raro
|
¿Cómo sería esto?: Private Sub Botón_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Botón.Click If TextBox1.Text = "Tu nombre es:" & Texto1 & "Tu apellido es:" & Texto2 Then TextBox2.Text = "Dijistes que tu nombre era:" & Texto1 & "Dijistes que tu apellido era:" & Texto2 End If End Sub
Texto1 es el texto que escribe la persona que utiliza en ese momento el programa. Texto2 es el texto que escribe la persona que utiliza en ese momento el programa.
|
|
« Última modificación: 19 Marzo 2013, 23:22 pm por Anonymatrix »
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
De donde sacaste ese codigo? Nunca especificas que es Texto1 ni Texto2
Busca algun manual de programación, te recomiendo el de elGuille
|
|
|
En línea
|
|
|
|
Anonymatrix
Desconectado
Mensajes: 47
raro, raro, raro
|
Ya lo especifiqué, un saludo.
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.878
|
Creo que a lo que raul338 se refería es que muestres la parte del código de las variables para especificar el tipo de variable que es, aparte del contenido y de las modificaciones que le hagas...
Ya queda menos, Ahora sólo falta que especifiques lo que intentas hacer...
Saludos!
|
|
« Última modificación: 20 Marzo 2013, 00:33 am por EleKtro H@cker »
|
En línea
|
|
|
|
Anonymatrix
Desconectado
Mensajes: 47
raro, raro, raro
|
Lo que intento hacer es lo siguiente:
Hay 2 TextBox y 1 Botón, en el primer TextBox tienes que escribir obligatoriamente 1 texto específico, seguidamente un texto que tú quieras y finalmente otro texto en concreto.
El TextBox es el cuadro dónde puedes escribir.
Ejemplo:
Escribo en el primer TextBox lo siguiente:
Tu nombre es:AnonTu apellido es:Anonymous
Se escribe todo junto sin espacios.
Entonces al apretar el Botón en el segundo TextBox te debería aparecer lo siguiente:
Dijistes que tu nombre era:AnonDijistes que tu apellido era:Anonymous
Espero que con este ejemplo hayais logrado comprender lo que quiero obtener.
En VB 2008 especificas que:
Tienes que escribir un texto en concreto + un texto que tú eligas escribir + otro texto en concreto, diferente al primero + otro texto que la persona que utilice el programa desee poner.
Texto obligado + Anon + Otro texto obligado + Anonymous
Anon y Anonymous son ejemplos, la persona que escriba puede poner la palabra o conjunto de palabras que quiera, incluso si envez de escribir Anon, quiere escribir Kevin David, pues puede hacerlo, aunque sean 2 palabras separadas por 1 espacio, quiero que cuente como 1 solo texto que ha elegido la persona escribir.
Ejemplo:
Texto obligado + Kevin David + Otro texto obligado diferente + Mitnick
|
|
« Última modificación: 20 Marzo 2013, 15:33 pm por Anonymatrix »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.878
|
Si no he entendido mal, quieres comprobar si el usuario ha escrito 1 texto obligatorio + una o varias palabras + 1 texto obligatorio + una o varias palabras, y luego quieres mostrar los textos obligatorios de otra forma. Eso puedes hacerlo con expresiones regulares o de la siguiente manera, Copia este form y ejecútalo (No es necesario que añadas los controles), la única parte que te interesa es la que hay antes del comentario "FINAL DEL EJEMPLO": PD: Si quieres almacenar el nombre y apellido en una variable, usa RegEX o el método Split. Public Class Form1 Dim Obligado1 As String = "Tu nombre es:", Obligado2 As String = "Tu apellido es:" Dim Obligado1_B = "Dijiste que tu nombre era:", Obligado2_B = "Dijiste que tu apellido era:" Dim Nombres As String = Nothing Private Sub TBox1_TextChanged(sender As Object, e As EventArgs) Nombres = sender.text End Sub Private Sub Button_Click(sender As Object, e As EventArgs) If Nombres Is Nothing Then MsgBox("No introduciste nada") ElseIf Not Nombres.Contains(Obligado1.ToLower) Or Not Nombres.Contains(Obligado2.ToLower) Then MsgBox("No introduciste el texto obligado") ElseIf Nombres.Contains(Obligado1.ToLower) And Nombres.Contains(Obligado2.ToLower) Then TextBox2.Text = Nombres.Replace(Obligado1.ToLower, Obligado1_B).Replace(Obligado2.ToLower, Obligado2_B) End If End Sub '// Final del ejemplo '//////////////////// '// Final del ejemplo ' Controles Dim Button As New Button Dim TextBox1 As New TextBox Dim TextBox2 As New TextBox Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Button.Text = "Comprobar" Button.Location = New Point(10, 10) TextBox1.Size = New Size(370, 20) TextBox2.Size = New Size(370, 20) TextBox1.Location = New Point(10, 40) TextBox2.Location = New Point(10, 65) AddHandler TextBox1.TextChanged, AddressOf TBox1_TextChanged AddHandler Button.Click, AddressOf Button_Click Me.Controls.Add(Button) : Me.Controls.Add(TextBox1) : Me.Controls.Add(TextBox2) Me.Size = New Point(410, 130) End Sub End Class
|
|
« Última modificación: 20 Marzo 2013, 17:28 pm por EleKtro H@cker »
|
En línea
|
|
|
|
Anonymatrix
Desconectado
Mensajes: 47
raro, raro, raro
|
Gracias electro hacker, conseguí avanzar 1 paso más gracias a ti, sin embargo me gustaría que me ayudases a corregir unos pequeños problemas que trae esto:
ElseIf Nombres.Contains(Obligado1.ToLower) And Nombres.Contains(Obligado2.ToLower) Then
Ahí dice que tiene que contener tanto el texto obligado 1 como el 2 pero a mi me gustaría estructurarlo con 1 orden ya que con ese código perfectamente puedo escribir Obligado2 antes que Obligado1 y me gustaría que no fuese así.
El órden que quiero es el siguiente:
Primero el primer texto obligado + Texto de la persona que escribe + Segundo texto obligado + Otro texto de la persona que escribe
Necesito que esté en ese orden y que si siguiese otro orden saliese alguna ventanita de adverténcia como varias que vi que pusistes.
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Si tiene que ser esos strings exactos, puedes usar IndexOf y llamandolo con obligatorio1, obligatorio2, y despues si quieres con un par de cuentas sacas el texto1 y texto2 ej: ' Debe dar 0... o un numero si hay algo antes pos1 = texto.IndexOf(obligatorio1) ' Debe dar ... 50 por ejemplo, ya que obligatorio tiene un largo de ... 30 (supongamos, ni si quiera lo cuento x'D) y son 20 caracteres que pone el usuario pos2 = texto.IndexOf(obligatorio2) ' Para saber que esta en orden se verifica If pos1 < pos2 Then 'Bien.. Else 'Incorrecto End if
Para saber cuales son texto1 haces texto.SubString(pos1 + obligatorio1.length, pos2 - pos1) y vas jugando para sacar texto2 jeje Porque no pones textboxes exclusivos para poner esos valores en lugar de estar jugando con strings?
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Visual C# 2008 e.e, Visual C++ 2008 e.e, Visual Basic 2008 Expresss edition
.NET (C#, VB.NET, ASP)
|
Xuanal
|
2
|
3,901
|
9 Octubre 2007, 04:26 am
por Meta
|
|
|
duda con Visual Basic 2008
Programación Visual Basic
|
xhc
|
4
|
1,811
|
11 Noviembre 2007, 20:51 pm
por xhc
|
|
|
traduccion de codigo visual basic 2008 a visual c++ 2008?
.NET (C#, VB.NET, ASP)
|
Nichas
|
0
|
4,294
|
22 Noviembre 2008, 17:49 pm
por Nichas
|
|
|
[[DUDA] Como poner DragDrop en Visual basic 9.0. " 2008"
Programación Visual Basic
|
GaMeouT
|
1
|
2,753
|
16 Enero 2009, 00:20 am
por seba123neo
|
|
|
Visual Basic 2008 Duda Ventanas
.NET (C#, VB.NET, ASP)
|
Anonymatrix
|
3
|
2,133
|
20 Marzo 2013, 20:40 pm
por Danyfirex
|
|