elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  problema con CommonDialog
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con CommonDialog  (Leído 1,866 veces)
vivachapas


Desconectado Desconectado

Mensajes: 612



Ver Perfil
problema con CommonDialog
« en: 28 Diciembre 2007, 21:56 pm »

bueno... hice un programa... envia archivos del cliente al servidor.. pero mi problema es este... cuando busco un archivo y se muestra el commondialog, si yo no pongo abrir y pongo cancelar tira un error y se cierra el programa...

les dejo parte del code:
CommonDialog = CD

Código:
If WS.State = 7 Then
    CD.ShowOpen
    RutArchivo = CD.FileName
    Open RutArchivo For Binary As #1
    EnvArchivo = Input(LOF(1), 1)
    Close #1
    EnvTam = Len(EnvArchivo)
    WS.SendData "Archivo|" & RutArchivo & "|" & EnvTam
    Form1.Caption = "Share - Esperando que acepte el archivo"
    Color (3)
    Exit Sub
End If

probe con CD.CancelError = true , desp con False y no se q mas hacer... probe con If etc... en google hay un ejemplo pero con el show font, y no lo termine de entender... si alguno me dice como hacer se lo agraderia


En línea

GroK


Desconectado Desconectado

Mensajes: 681


...I have become comfortably numb...


Ver Perfil
Re: problema con CommonDialog
« Respuesta #1 en: 28 Diciembre 2007, 22:12 pm »

La forma mas facil (que no la mas elegante) es:

Código
  1. On Error Goto Error
  2. If WS.State = 7 Then
  3.    CD.ShowOpen
  4.    RutArchivo = CD.FileName
  5.    Open RutArchivo For Binary As #1
  6.    EnvArchivo = Input(LOF(1), 1)
  7.    Close #1
  8.    EnvTam = Len(EnvArchivo)
  9.    WS.SendData "Archivo|" & RutArchivo & "|" & EnvTam
  10.    Form1.Caption = "Share - Esperando que acepte el archivo"
  11.    Color (3)
  12. :Error
  13. Exit Sub
  14. End If
  15.  

Saludos


En línea

"I put on my Hendrix album and my son said 'Dad, who's that?' and i said 'Well son, that's God' "- Robert Plant

vivachapas


Desconectado Desconectado

Mensajes: 612



Ver Perfil
Re: problema con CommonDialog
« Respuesta #2 en: 29 Diciembre 2007, 02:07 am »

si esa es la q tenia xD pero... mas abajo cuando recibe el archivo... para poner asi tengo q modificarlo al code xD

otra cosita... en una parte del code tengo dos InpuBox, pero si se cancela uno... se sigue con el codigo como si hubiese aceptado.. y en el caso de no poner nada va al error

el code es

Código:
Private Sub Command2_Click()
On Error GoTo Peor
Puerto = InputBox("Ingrese Puerto para Escuchar:", "Share Escuchar", "200")
If Puerto = vbCancel Then
Exit Sub
End If
WS.Close
WC.Close
WC.LocalPort = Puerto
WC.Listen
Command1.Enabled = False
Form1.Caption = "Share - Esperando Conexión"
Color (3)
Exit Sub

Peor:
MsgBox "Error, verifique que los datos ingresados sean correctos.", vbCritical, "Share Error"
End Sub

pense q seria como el msgbox... pero se ve q no xD jejej alguna idea de como hacerlo? aca no puedo usar el On Error Goto xq lo use para el caso de q en el puerto pongan una palabra...
En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: problema con CommonDialog
« Respuesta #3 en: 30 Diciembre 2007, 02:49 am »

Citar
si yo no pongo abrir y pongo cancelar tira un error y se cierra el programa...

 Para evitar que se cierre al cancelar, yo hacia esto:

Código:
Private Sub Command1_Click()
On Error Resume Next

    With CommonDialog1
        .CancelError = True 'Esto hará que VB devuelva un error al pulsar Cancelar
        .ShowOpen 'Muestra el cuadro de diálogo Abrir
       
        'Si no se ha producido ningún error, es que NO se ha pulsado Cancelar
        If Err.Number = 0 Then
            'Aqui tu code
        End If
    End With
   
   
    '-------------------------->> Control de Errores <<------------------------------
    'Es buena costumbre volver a ponerlo a cero... así dejamos de detectar errores
    Err = 0 'cancelamos el error/ 0 es que no hay error
    On Local Error GoTo 0 'sirve si queremos dejar de detectar errores
End Sub

 Saludos! ¡quizas sirva de algo! voy rápido y no me da tiempo de leer más... :rolleyes:
En línea

vivachapas


Desconectado Desconectado

Mensajes: 612



Ver Perfil
Re: problema con CommonDialog
« Respuesta #4 en: 30 Diciembre 2007, 06:00 am »

jja si barbaro muchas gracias :DD: ;)
En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: problema con CommonDialog
« Respuesta #5 en: 30 Diciembre 2007, 20:07 pm »

 Hola... con un poco más de tiempo...

Citar
pense q seria como el msgbox... pero se ve q no xD jejej alguna idea de como hacerlo? aca no puedo usar el On Error Goto xq lo use para el caso de q en el puerto pongan una palabra...

 Al parecer, no!

Código
  1. Puerto = InputBox("Ingrese Puerto para Escuchar:", "Share Escuchar", "200")
  2. If Puerto = vbCancel Then' <--- ???
  3.   Exit Sub
  4. End If

 Cuando se presiona el botón Cancelar o se cierra el imputBox usando la X, el programa devuelve una cadena de caracteres igual a 0, por lo tanto --> Puerto = "" y la comparación deberia ser:
Código
  1. If Puerto <> "" Then
  2.   'Hago algo...
  3. End If
  4.  
  5. 'ó asi:
  6.  
  7. If Puerto = "" Then
  8.   'Hago algo...
  9. End If

 Usando tu code, yo lo haria asi:

Código
  1. Option Explicit
  2. '----------------------------------- _
  3.  Controlando entradas de un ImputBox _
  4. ------------------------------------
  5.  
  6. Private Sub Form_Load()
  7. Dim Puerto As String 'Almacenará el puerto de escucha
  8.  
  9. Repetir: 'Repetir hasta que se presione cancelar, se cierre la ventanita "X" ó hasta _
  10. que el valor devuelto sea valido
  11.  
  12.    'Almacenamos el valor
  13.    Puerto = InputBox("Ingrese Puerto para Escuchar:", "Share Escuchar", "200")
  14.  
  15.    'Si "Puerto" tiene algun valor, es porque NO se ha cancelado
  16.    If Puerto <> "" Then
  17.        'En ese caso, verificamos que sea un valor de puerto válido, sino repetimos
  18.        If IsNumeric(Puerto) Then
  19.            'Tu code
  20.            WS.Close 'Cerrando el socket
  21.            WC.Close
  22.  
  23.            WC.LocalPort = Puerto 'Asignando puerto
  24.            WC.Listen 'Escuchando...
  25.            Command1.Enabled = False
  26.            Form1.Caption = "Share - Esperando Conexión"
  27.            Color (3)
  28.        Else
  29.            GoTo Repetir
  30.        End If
  31.    Else
  32.        'Si cancelamos, nos vamos... :-[
  33.        MsgBox "¡Se cancelo!...", vbInformation, "Share Escuchar"
  34.        Exit Sub
  35.    End If
  36.  
  37.    'Mostramos el número de puerto...
  38.    MsgBox "El número de puerto introducido es el '" & Puerto & "'"
  39. End Sub

 Saludos! espero que te sea de utilidad...  :P
« Última modificación: 5 Abril 2008, 13:29 pm por cΔssiΔnі » En línea

vivachapas


Desconectado Desconectado

Mensajes: 612



Ver Perfil
Re: problema con CommonDialog
« Respuesta #6 en: 30 Diciembre 2007, 22:10 pm »

jaja muchas gracias!! re bien explicado :P jeje

ahroa estoy haciendo graficos para darle una mejor forma y apariencia.. luego le pongo la transpariencia y va a quedar de 10 ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda commondialog y texto en picturebox
Programación Visual Basic
soru13 0 1,793 Último mensaje 17 Abril 2011, 20:43 pm
por soru13
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines