Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Ayuda Con La Construccion De Clase "PreguntaView"
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Ayuda Con La Construccion De Clase "PreguntaView" 
 
hola gente...

esta es la clase que he añorado hace mucho pero aun no doy con la solución por falta de conocimiento (que vamos por ser tan chambom   )

he estado modificando la clase messageview y la parte gráfica queda impecable, pero el problema es que necesito que al hacer clic en cualquier boton me retorne la respuesta
que sera de tipo booleano, si apreta el botón "aceptar" sera true y si es el botón "cancelar" sera false

en si necesito que sea como la clase Message que retorna un integer

alguien me puede echar una mano con esta clase?

aquí lo que  he logrado


Link


miMsg-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: miMsg-0.0.1.tar.gz
Tamaño: 14.63 KB
Descargado: 28 veces
miMsg-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: miMsg-0.0.1.tar.gz
Tamaño: 14.63 KB
Descargado: 28 veces
miMsg-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: miMsg-0.0.1.tar.gz
Tamaño: 14.63 KB
Descargado: 28 veces

 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con La Construccion De Clase "PreguntaView" 
 
Si escribes en español en la lista de correo o en el bugtracker, no te van a hacer mucho caso... o algo peor  

La norma es el inglés, y eso no va a cambiar, me temo.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con La Construccion De Clase "PreguntaView" 
 
No entiendo el problema, ya tienes el boolean en ja1.close()...
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con La Construccion De Clase "PreguntaView" 
 
shordi escribió: [Ver mensaje]
No entiendo el problema, ya tienes el boolean en ja1.close()...



esta mal shordi, intenta usar la misma clase con varias preguntas y te darás cuenta que no esta bien....

mi idea es esta:

     if preguntaView.Open("quieres eliminar el archivo passwd?") then
        delete archivo
     else
         no hacer nada
     endif
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con La Construccion De Clase "PreguntaView" 
 
Open no retorna valor. Por tanto n=preguntaview.open(texto) no puede funcionar. Yo le añadiría una propiedad "pregunta" tipo string y lanzaría la función open() desde el evento pregunta_write.

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con La Construccion De Clase "PreguntaView" 
 
shordi escribió: [Ver mensaje]
Open no retorna valor. Por tanto n=preguntaview.open(texto) no puede funcionar. Yo le añadiría una propiedad "pregunta" tipo string y lanzaría la función open() desde el evento pregunta_write.

Saludos


no entendi  
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con La Construccion De Clase "PreguntaView" 
 
Tomado del código de tu clase:


Open es un Sub no una Function. No retorna ningún valor.
Por tanto qué esperas que se guarde en n cuando escribes:

n=preguntaview.open(texto)

 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con La Construccion De Clase "PreguntaView" 
 
el objetivo que busco es que la parte gráfica funcione como un messageview (obviamente con las modificaciones que le hice y que se ven en el vídeo que están bien)
pero en su código como un message. (aquí lo difícil   )


se invoca la clase visualizándola esperando devolver un resultado y cuando se haga clic en cualquiera de los botones devuelva el resultado (de tipo boleano o byte 0 o  1)


la clase tiene que funcionar como message

  if preguntaview.Pregunta("pregunta x") then  (el retorno puede ser de tipo boleano o byte )
    acción tras botón aceptar
 else
  acción tras botón cancelar
endif
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con La Construccion De Clase "PreguntaView" 
 


esto al parecer funciona lo estoy probando

' gambas class file

Export
Inherits UserControl

Public Const _Properties As String = "*,Animated,Separator,Respuesta"
Public Const _DefaultSize As String = "32,6"
Public Const _Group As String = "View"
Public Const _DrawWith As String = "DrawingArea"

Event Open
Event Close

Property Animated As Boolean
Property Separator As Boolean
Property Respuesta As Boolean


Private Enum ESPERA, CANCELAR, ACEPTAR

Private $sText As String
Private $hIcon As Picture
Private $hView As DrawingArea
Private $hClose As Button

Private $Aceptar As Button
Private $Respuesta As Boolean

Private $bAnimate As Boolean
Private $bSeparator As Boolean
Private $H As Integer
Private $Estado As Integer




Public Sub _new()
  
  $hView = New DrawingArea(Me) As "View"
  $hView.Background = Color.TextBackground
  $hView.Foreground = Color.TextForeground
  
  $hClose = New Button($hView) As "CloseButton"
  $hClose.H = Desktop.Scale * 4
  $hClose.AutoResize = True
  $hClose.Text = ("Cancelar")
  $hClose.Picture = Picture["icon:/small/cancel"]
  $hClose.Tag = 0
  
  $Aceptar = New Button($hView) As "Aceptar"
  $Aceptar.Height = Desktop.Scale * 4
  $Aceptar.AutoResize = True
  $Aceptar.Text = ("Aceptar")
  $Aceptar.Picture = Picture["icon:/small/apply"]
  $Aceptar.Tag = 1
  
  $Estado = ESPERA
  
  
  Me.Proxy = $hView
  
  Me.Hide
  
End

Public Sub Pregunta(pregunta As String) As Boolean
  
  Me.Open(pregunta)
  
  While $Estado = ESPERA
    Wait 0.1
    Print " esperando"
  Wend
  
  Return $Respuesta
  
End


Public Sub Open(Text As String)
  
  Dim fTime As Float
  
  $Respuesta = False
 
  $sText = Text


  Try $hIcon = Picture["icon:/32/question"]

  Me.H = 1
  Me.Show
  
  $H = Max($hIcon.H + Desktop.Scale * 2, Me.Font.RichTextHeight(Text, Me.Parent.ClientW - Desktop.Scale * 4 - $hIcon.W) + Desktop.Scale * 4)
  
  If $bAnimate Then
  
    fTime = Timer
    
    While Me.H <H> 1
      Me.H = H * (1 - Min(1, (Timer - fTime) * 8))
      Wait
    Wend
    
  Endif
  
  Me.Hide
  
  Raise Close()
  
  $sText = ""
  $hIcon = Null
  

End


Public Sub View_Arrange()
  $hClose.Move($hView.W - ($hClose.w * 2) - Desktop.Scale, ($H - $hClose.H) \ 2)
  $Aceptar.Move($hView.W - $Aceptar.w - Desktop.Scale, ($H - $hClose.H) \ 2)
End


Public Sub CloseButton_Click()
  
  $Respuesta = False
  $Estado = CANCELAR
  Print "boton cancelar clicleado"
  Close()
  
End

Public Sub Aceptar_Click()

   $Respuesta = True
   $Estado = ACEPTAR
   Print "boton aceptar clicleado"
   Close()
  
End


Public Sub View_Draw()
  
  Dim X, W As Integer
  
  W = Me.W - Desktop.Scale * 2
  
  If $hIcon Then
    Paint.DrawPicture($hIcon, Desktop.Scale, Desktop.Scale)
    X += $hIcon.W + Desktop.Scale * 3
    W -= $hIcon.W - Desktop.Scale * 2
  Endif
  
  Paint.DrawRichText($sText, X, Desktop.Scale * 2, W, Me.H - Desktop.Scale * 2, Align.TopLeft)
  
  If $bSeparator Then
    If Me.Y > 0 Then
      If IsNull(Me.Previous) Or If Not Me.Previous Is Separator Then
        Paint.FillRect(0, 0, Me.W, 1, Color.LightForeground)
      Endif
    Endif
    If Me.Y + Me.H < Me.Parent.ClientH Then
      If IsNull(Me.Next) Or If Not Me.Next Is Separator Then
        Paint.FillRect(0, Me.H - 1, Me.W, 1, Color.LightForeground)
      Endif
    Endif
  Endif
  
End

Private Function Animated_Read() As Boolean
  Return $bAnimate
End

Private Sub Animated_Write(Value As Boolean)
  $bAnimate = Value
End

Private Function Separator_Read() As Boolean
  Return $bSeparator
End

Private Sub Separator_Write(Value As Boolean)
  $bSeparator = Value
  $hView.Refresh
End

Private Function Respuesta_Read() As Boolean
  Return $Respuesta
End

Private Sub Respuesta_Write(Value As Boolean)
  $Respuesta = Value
End

 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con La Construccion De Clase "PreguntaView" 
 
V3ctor, sin mirar mucho tu código veo que tienes cosas mezcladas.  
Ahora, ante lo que pides:

Citar:

mi idea es esta:

if preguntaView.Open("quieres eliminar el archivo passwd?") then
delete archivo
else
no hacer nada
endif


Shordi te dice que Open lo tienes actualmente como un "sub" una rutina que no devuelve nada, por lo que tu idea inicial: ...

Citar:

if preguntaView.Open("quieres eliminar el archivo passwd?") then


...no funcionaría, si quieres que te devuelva un valor booleano debería ser una función "function" del estilo:


Public <PIPE> Private Function Open ( bla - bla - blah) As Boolean
'acá haces la magia o proceso
' y si se cumpla tal cosa...
Return False
'pero si ocurre otra tal cosa...
Return True

End
 


¿Como es el dicho? el bosque no te deja ver los árboles... ¿ o es al réves?... pero lo que te pasa es que estás tan metido en un GRAN problema que no lo has dividido en pequeñas partes y éstas solucionarlas de a poco.

Por cierto, esto no debería funcionar o está mal planteado:

Public Sub Pregunta(pregunta As String) As Boolean

Me.Open(pregunta)

While $Estado = ESPERA
Wait 0.1
Print " esperando"
Wend

Return $Respuesta

End
 


Saludos a todos....
 



 
vicr - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron