Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Botones de una alerta (msgbox)

Estas en el tema de Botones de una alerta (msgbox) en el foro de Visual Basic clásico en Foros del Web. Estoy tratando de hacer q lo q se escriba en un textbox, se agregue a un listbox al presionar en un boton. Eso, si el ...
  #1 (permalink)  
Antiguo 25/11/2005, 01:57
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 9 meses
Puntos: 0
Exclamación Botones de una alerta (msgbox)

Estoy tratando de hacer q lo q se escriba en un textbox, se agregue a un listbox al presionar en un boton. Eso, si el usuario responde que 'si' en el msgbox (al apretar en el boton), pero.. no puedo hacer eso, este es mi codigo:
Dim Respuesta As String
Respuesta = MsgBox(¿Seguro que desa añadir el texto a la lista?, 291, Pregunta)
If Respuesta = 6 Then
Lista.AddItem Texto.Text
End If


Me dice q hay error... "Se esperaba separador de lista o )".. q tengo mal en ese codigo?
  #2 (permalink)  
Antiguo 25/11/2005, 02:20
Avatar de linkskillful  
Fecha de Ingreso: noviembre-2005
Mensajes: 53
Antigüedad: 18 años, 5 meses
Puntos: 0
Pues mi amigo, probé tu codigo y hay unos errores de sintaxis, mira como me funciono a mi:

Private Sub Command1_Click()
Dim Respuesta As String
Respuesta = MsgBox("¿Seguro que desa añadir el texto a la lista?", 291, "Pregunta")
If Respuesta = 6 Then
Lista.AddItem Texto.Text
End If
End Sub

Lo que esta en rojo es la correcion.

salu2
  #3 (permalink)  
Antiguo 25/11/2005, 05:18
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
dim mnsaje as string

mensaje = msgbox ("desea agregarlo?",vbyesno,"mensaje")

if mensaje = vbyes then

'aca haces si le das al boton si

else
'aca se apreto el boton no
msbox "nose agrego"
end if

salu2 y espero te sriva bye bye
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #4 (permalink)  
Antiguo 25/11/2005, 10:26
Avatar de hernanmdq  
Fecha de Ingreso: julio-2005
Ubicación: Argentina - Entre Rios
Mensajes: 167
Antigüedad: 18 años, 9 meses
Puntos: 1
Cita:
Iniciado por linkskillful
Respuesta = MsgBox("¿Seguro que desa añadir el texto a la lista?", 291, "Pregunta")
Lo que esta en rojo es la correcion.
Como bien te indica LinkSkillFul debes tener cuidado de respeta los tipos en las funciones. Para que sea string debe estar entre "comillas dobles". Salu2
__________________
| Codigo Geek | Blog de Cine |
  #5 (permalink)  
Antiguo 25/11/2005, 12:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación

Cita:
Iniciado por leoj90
Estoy tratando de hacer q lo q se escriba en un textbox, se agregue a un listbox al presionar en un boton. Eso, si el usuario responde que 'si' en el msgbox (al apretar en el boton), pero.. no puedo hacer eso, este es mi codigo:
Dim Respuesta As String
Respuesta = MsgBox(¿Seguro que desa añadir el texto a la lista?, 291, Pregunta)
If Respuesta = 6 Then
Lista.AddItem Texto.Text
End If

Me dice q hay error... "Se esperaba separador de lista o )".. q tengo mal en ese codigo?
A éste tío sí q' le falta unas buenas lecciones de vb... Los String van entre comillas como ya te explicaron... Además, en vés de
Código:
Respuesta As String 
Debes ponerle Respuesta as vbMsgBoxResult o por lo menos un Integer ¿no?....
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 25/11/2005, 17:37
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 9 meses
Puntos: 0
Cita:
Iniciado por aldo1982
dim mnsaje as string

mensaje = msgbox ("desea agregarlo?",vbyesno,"mensaje")

if mensaje = vbyes then

'aca haces si le das al boton si

else
'aca se apreto el boton no
msbox "nose agrego"
end if
Dim mensaje As String

mensaje = MsgBox("desea agregarlo?", vbYesNo, "mensaje")

If mensaje = vbYes Then

Texto.BackColor = vbRed

Else
'aca se apreto el boton no
MsgBox "nose agrego"
End If

"Uso no valido de la propiedad" y me selecciona el 2do MsgBox.

Cita:
Iniciado por David el Grande
A éste tío sí q' le falta unas buenas lecciones de vb... Los String van entre comillas como ya te explicaron... Además, en vés de
Código:
Respuesta As String 
Debes ponerle Respuesta as vbMsgBoxResult o por lo menos un Integer ¿no?....
Por eso pregunto, apenas empiezo con vb.
  #7 (permalink)  
Antiguo 25/11/2005, 22:12
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 7 meses
Puntos: 1
Cita:
Dim mensaje As String
mensaje = MsgBox("¿desea agregarlo?", vbYesNo, "mensaje")
If mensaje = vbYes Then
Texto.BackColor = vbRed
Else
'aca se apreto el boton no
MsgBox "no se agrego"
End If
Es este todo el codigo que utilizas?, porque no hay ningun error en el. Si es que hay mas codigo postealo, talves en el resto del codigo es que esta el error.
Y como ya menciono David cambia la declaracion de la variable mensaje:
Código:
Dim mensaje As Integer
' o bien
Dim mensaje As VbMsgBoxResult
A pesar de que la declaras como String, no da ningun error, pero hay que declarar cada variable segun el tipo de datos o el resultado que almacenara.

Saludos
  #8 (permalink)  
Antiguo 26/11/2005, 21:51
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 9 meses
Puntos: 0
Haber, algo raro pasa... en este manual q estoy viendo, para poner los botones (si, no, cancelar...) dice q se suman los valores y se pone el resultado (como lo puse en el 1er codigo):
MsgBox("desea agregarlo?", 291, "Pregunta")

Ahora, en otro manual (aprenda vb como si estuviera en 1ero) dice q se pone la suma, algo asi:
MsgBox("desea agregarlo?", 3 + 32 + 256, "Pregunta")

Ahora, aldo lo puso en codigo de vb:
MsgBox("desea agregarlo?", vbYesNo, "Pregunta")

Entonces, cual es el correcto? Porq me parece q ese es el error.

La variable ya la cambié como dijo david (Dim mensaje As VbMsgBoxResult).. y sigue el mismo problema, este es el codigo q tengo:
Dim mensaje As VbMsgBoxResult

mensaje = MsgBox("desea agregarlo?", vbYesNo, "Pregunta")

If mensaje = vbYes Then

Texto.Text = "No se agrego"
Else
MsgBox ("nose agrego")
End If
  #9 (permalink)  
Antiguo 26/11/2005, 22:14
Avatar de EternalWitness  
Fecha de Ingreso: agosto-2005
Mensajes: 146
Antigüedad: 18 años, 8 meses
Puntos: 2
pues esta raro, yo copie el codigo ese y me compila bien
__________________
PRIMERA REGLA PARA ESCRIBIR POSTS:
piensa, piensa, escribe, piensa otra vez, envia
  #10 (permalink)  
Antiguo 26/11/2005, 22:24
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 9 meses
Puntos: 0
Mmm, es q por mi sigo con el manual, pero no me gusta no tener claras las cosas...

Será problema de la instalación o no va por alli y va por el codigo?
Porq ya me desesperé.
  #11 (permalink)  
Antiguo 27/11/2005, 03:30
Avatar de linkskillful  
Fecha de Ingreso: noviembre-2005
Mensajes: 53
Antigüedad: 18 años, 5 meses
Puntos: 0
Haber, no se cual sera el problema pero puedes probar asi:


Dim mensaje As VbMsgBoxResult

mensaje = MsgBox("desea agregarlo?", vbYesNo, "Pregunta")

Select Case mensaje
Case Is = vbYes
Texto.Text = "No se agrego"
Case Is = vbNo
MsgBox "nose agrego"
End Select
  #12 (permalink)  
Antiguo 27/11/2005, 09:38
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 7 meses
Puntos: 1
Pues lo ideal es que uses el Enum, que te da Visual Basic despues de que pones la coma del primer argumento; ojo porque estos Enum se pueden sumar y resulta mucho mas facil.



En lugar de estarte complicando la vida con numeros, eso dejalo para otros lenguajes (Fox, c, c++), Visual Basic, te facilita la vida con estos Enums.

Saludos
  #13 (permalink)  
Antiguo 29/11/2005, 03:09
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 9 meses
Puntos: 0
Ya lo solucioné, no les digo como porq me van a pegar ... problema de principiante.
--------------------------------------------------------
Uf, ahora otro problema, para no abrir otro tema lo pongo aqui.

Ahora, tengo un boton y un listbox, al apretar en el boton se abre un InputBox, lo q escriba en el se agregara al listbox, si pongo cancelar se mostrará un msgbox... como hago eso?

Dim Nuevo As Integer
Nuevo = InputBox("Escribe un texto para añadir", "Texto nuevo")
If Nuevo = vbYes Then
Lista.AddItem Nuevo
Else
MsgBox "No se insertó"
End If


Se q está mal el vbyes, pero... q pongo en vez de ese?

Última edición por leoj90; 29/11/2005 a las 03:36
  #14 (permalink)  
Antiguo 29/11/2005, 09:44
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 7 meses
Puntos: 1
Bueno, antes que nada un InputBox devuelve un String, y si le das clic al boton cancelar del Inputbox, este devolvera una cadena vacia (""), entonces por ahi podria ir la condicion que necesitas.
Código:
Dim Nuevo As String
Nuevo = InputBox("Escribe un texto para añadir", "Texto nuevo")
If Nuevo <> "" Then
    Lista.AddItem Nuevo
Else
    MsgBox "No se insertó"
End If
  #15 (permalink)  
Antiguo 29/11/2005, 10:05
 
Fecha de Ingreso: septiembre-2005
Mensajes: 76
Antigüedad: 18 años, 7 meses
Puntos: 0
no puedo creer tanto quilombo por unas comillas.. jeje
__________________
Buby Systems
  #16 (permalink)  
Antiguo 29/11/2005, 14:08
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 9 meses
Puntos: 0
Eso no se me habia ocurrido. Gracias jc_moty a todos los de+!

Otra vez me pasó lo mismo, gggg... eso q me dijo jc_moty estaba unas lineas mas adelante, todo por ansioso.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:32.