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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Me ayudarian a mejorar este codigo¿?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Me ayudarian a mejorar este codigo¿?  (Leído 6,891 veces)
Murd3r3r 0f daT4

Desconectado Desconectado

Mensajes: 31


...


Ver Perfil WWW
Me ayudarian a mejorar este codigo¿?
« en: 5 Octubre 2009, 06:06 am »

Bueno ando trabajando en un proyecto para mi escuela, la idea es que hay un centro de computo con 50 PCs, la primera parte del proyecto esta enfocada a la comodidad de los alumnos.

Actualmente llegan, tienen que preguntar a la encargada si hay PCs disponibles y se anotan en un cuaderno, la idea es que haya una PC donde llegen y se muestren las PCs disponibles, hagan doble click en la que se quieren registrar, llenen un formulario. Al hacer click en Registar! se comprobará que sus apellidos y nombre coincidan con el de su N° de cuenta de ser así registra el N° de cuenta, N° de PC y hora en que se registro.

Bueno aqui pongo los codigos:

UPDATE 1: Ya empece a manejar matrices, pero aun no funciona como debería =S

principal.frm(Form1):
Código
  1. Public statuspc As Integer
  2. Private Sub Form_Load()
  3. If App.PrevInstance = True Then
  4. MsgBox "El Programa ya se esta ejecutando", 0 + 48, "Error"
  5. End
  6. End If
  7. End Sub
  8. Private Sub pc_Click(Index As Integer)
  9. statuspc = i
  10. i = statuspc
  11. If Label(i).Caption = "DISPONIBLE" Then
  12. Unload principal
  13. registro.Show
  14. Else
  15. MsgBox "Elige otra computadora, está ya esta ocupada.", vbCritical, "Error"
  16. End If
  17. End Sub
  18.  

registro.frm(Form2):
Código
  1. Private Sub Form_Load()
  2. Command1.Enabled = False
  3. End Sub
  4. Private Sub datos_Change(Index As Integer)
  5. If datos(Index).Text <> "" Then
  6. Command1.Enabled = True
  7. Else
  8. Command1.Enabled = False
  9. End If
  10. End Sub
  11. Private Sub Command1_Click()
  12. MsgBox "Registrado. Disfruta tu estancia", vbInformation, "Registro exitoso"
  13.  
  14. Call Ocuparpc
  15.  
  16. 'Registro BD
  17.  
  18. Call Limpiardatos
  19.  
  20. Unload registro
  21. principal.Show
  22. End Sub
  23. Private Sub Command2_Click()
  24. Call Limpiardatos
  25.  
  26. Unload registro
  27. principal.Show
  28. End Sub
  29.  

funciones.bas(module1):
Código
  1. Public Sub Limpiardatos()
  2. registro.datos(Index).Text = ""
  3. End Sub
  4. Function Bloquearpc()
  5.  
  6. End Function
  7. Function Ocuparpc()
  8. For i = 0 To principal.Label(Index)
  9. principal.Label(i).Caption = "NO DISPONIBLE"
  10. Next i
  11. End Function
  12.  
  13.  

Como se podran cuenta soy muy nuevo en visual basic :(, aparte aquí les dejo el source:
http://rapidshare.com/files/291290861/Centro_de_computo.rar ----> Actualizado al Update 1 ;)

De ante mano, mil gracias por su ayuda y consejos!!


« Última modificación: 10 Octubre 2009, 22:59 pm por Murd3r3r 0f daT4 » En línea

"Nothing last forever...."
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Me ayudarian a mejorar este codigo¿?
« Respuesta #1 en: 5 Octubre 2009, 13:50 pm »


Para yo los pics del principal.frm(Form1)  usaria una matriz de controles.
Yo en tu lugar en el    registro.frm(Form2)    usaria una clase para subclasificar todo esos eventos  _Change o mas facil aun una matriz de controles.
Quitaria los Sleep()  que de nada sirven solo estan de màs hasta donde puedo ver.

Solo te digo lo que veo a simple vista de lo que posteaste.

un saludo

Dulces Lunas!¡.


En línea

The Dark Shadow is my passion.
Murd3r3r 0f daT4

Desconectado Desconectado

Mensajes: 31


...


Ver Perfil WWW
Re: Me ayudarian a mejorar este codigo¿?
« Respuesta #2 en: 5 Octubre 2009, 18:49 pm »


Para yo los pics del principal.frm(Form1)  usaria una matriz de controles.
Yo en tu lugar en el    registro.frm(Form2)    usaria una clase para subclasificar todo esos eventos  _Change o mas facil aun una matriz de controles.
Quitaria los Sleep()  que de nada sirven solo estan de màs hasta donde puedo ver.

Solo te digo lo que veo a simple vista de lo que posteaste.

un saludo

Dulces Lunas!¡.

Yo tomaré en cuenta cada idea, solo que las tengo que investigar porque soy muy newbie en, programación y no entendí que quisiste decir!
En línea

"Nothing last forever...."
agus0


Desconectado Desconectado

Mensajes: 360



Ver Perfil
Re: Me ayudarian a mejorar este codigo¿?
« Respuesta #3 en: 5 Octubre 2009, 20:35 pm »

Bueno ando trabajando en un proyecto para mi escuela, la idea es que hay un centro de computo con 50 PCs, la primera parte del proyecto esta enfocada a la comodidad de los alumnos.

Actualmente llegan, tienen que preguntar a la encargada si hay PCs disponibles y se anotan en un cuaderno, la idea es que haya una PC donde llegen y se muestren las PCs disponibles, hagan doble click en la que se quieren registrar, llenen un formulario. Al hacer click en Registar! se comprobará que sus apellidos y nombre coincidan con el de su N° de cuenta de ser así registra el N° de cuenta, N° de PC y hora en que se registro.

Bueno aqui pongo los codigos:

principal.frm(Form1):
Código
  1. Public statuspc As Integer
  2.  
  3. Private Sub Form_Load()
  4. Dim running As Integer
  5. running = App.PrevInstance
  6. If running <> 0 Then
  7. MsgBox "El Programa ya se esta ejecutando", 0 + 48, "News"
  8. End
  9. End If
  10. End Sub
  11. Private Sub pc1_Click()
  12. statuspc = 1
  13. If Label1.Caption = "DISPONIBLE" Then
  14. Unload principal
  15. registro.Show
  16. Else
  17. MsgBox "Elige otra computadora, esta ya esta ocupada =(", vbCritical, "Error"
  18. End If
  19. End Sub
  20. Private Sub pc2_Click()
  21. statuspc = 2
  22. If Label2.Caption = "DISPONIBLE" Then
  23. Unload principal
  24. registro.Show
  25. Else
  26. MsgBox "Elige otra computadora, esta ya esta ocupada =(", vbCritical, "Error"
  27. End If
  28. End Sub
  29. Private Sub pc3_Click()
  30. statuspc = 3
  31. If Label3.Caption = "DISPONIBLE" Then
  32. Unload principal
  33. registro.Show
  34. Else
  35. MsgBox "Elige otra computadora, esta ya esta ocupada =(", vbCritical, "Error"
  36. End If
  37. End Sub
  38. Private Sub pc4_Click()
  39. statuspc = 4
  40. If Label4.Caption = "DISPONIBLE" Then
  41. Unload principal
  42. registro.Show
  43. Else
  44. MsgBox "Elige otra computadora, esta ya esta ocupada =(", vbCritical, "Error"
  45. End If
  46. End Sub
  47. Private Sub pc5_Click()
  48. statuspc = 5
  49. If Label5.Caption = "DISPONIBLE" Then
  50. Unload principal
  51. registro.Show
  52. Else
  53. MsgBox "Elige otra computadora, esta ya esta ocupada =(", vbCritical, "Error"
  54. End If
  55. End Sub
  56.  

registro.frm(Form2):
Código
  1. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  2. Private Sub Form_Load()
  3. Command1.Enabled = False
  4. End Sub
  5. Private Sub apellidop_Change()
  6. If apellidop.Text <> "" And apellidom.Text <> "" And nombre.Text <> "" And cuenta.Text <> "" Then
  7. Command1.Enabled = True
  8. Else
  9. Command1.Enabled = False
  10. End If
  11. End Sub
  12. Private Sub apellidom_Change()
  13. If apellidop.Text <> "" And apellidom.Text <> "" And nombre.Text <> "" And cuenta.Text <> "" Then
  14. Command1.Enabled = True
  15. Else
  16. Command1.Enabled = False
  17. End If
  18. End Sub
  19. Private Sub nombre_Change()
  20. If apellidop.Text <> "" And apellidom.Text <> "" And nombre.Text <> "" And cuenta.Text <> "" Then
  21. Command1.Enabled = True
  22. Else
  23. Command1.Enabled = False
  24. End If
  25. End Sub
  26. Private Sub cuenta_Change()
  27. If apellidop.Text <> "" And apellidom.Text <> "" And nombre.Text <> "" And cuenta.Text <> "" Then
  28. Command1.Enabled = True
  29. Else
  30. Command1.Enabled = False
  31. End If
  32. End Sub
  33. Private Sub Command1_Click()
  34. MsgBox "Registrado. Disfruta tu estancia", vbInformation, "Registro exitoso"
  35. Sleep 250
  36. Call Ocuparpc
  37. Sleep 250
  38. 'Registro BD
  39. Sleep 250
  40. apellidop.Text = ""
  41. apellidom.Text = ""
  42. nombre.Text = ""
  43. cuenta.Text = ""
  44. Sleep 250
  45. Unload registro
  46. principal.Show
  47. End Sub
  48. Private Sub Command2_Click()
  49. apellidop.Text = ""
  50. apellidom.Text = ""
  51. nombre.Text = ""
  52. cuenta.Text = ""
  53. Sleep 250
  54. Unload registro
  55. principal.Show
  56. End Sub
  57.  

funciones.bas(module1):
Código
  1. Function Limpiaregistro()
  2.  
  3. End Function
  4. Function Bloquearpc()
  5.  
  6. End Function
  7. Function Ocuparpc()
  8. Select Case principal.statuspc
  9. Case 1
  10. principal.Label1.Caption = "NO DISPONIBLE"
  11. Case 2
  12. principal.Label2.Caption = "NO DISPONIBLE"
  13. Case 3
  14. principal.Label3.Caption = "NO DISPONIBLE"
  15. Case 4
  16. principal.Label4.Caption = "NO DISPONIBLE"
  17. Case 5
  18. principal.Label5.Caption = "NO DISPONIBLE"
  19. End Select
  20. End Function
  21.  

Como se podran cuenta soy muy nuevo en visual basic :(, aparte aquí les dejo el source:
http://rapidshare.com/files/288825115/Centro_de_computo.rar

De ante mano, mil gracias por su ayuda y consejos!!


Yo le cambiaria alguinas cosas. pero me quedo una duda

vos sos el que publico de como cambiar a "NO DISPONIBLE" en www.forosdelweb.com por que ese cdigo es muy similar (Una parte) a la que le aonsegue a un usuario de FDW jaja
En línea

agus0


Desconectado Desconectado

Mensajes: 360



Ver Perfil
Re: Me ayudarian a mejorar este codigo¿?
« Respuesta #4 en: 5 Octubre 2009, 21:05 pm »

La verdad mire solo las primeras lineas por que ahora me tengo que ir a estudiar a simple vista yo reemplazaria

esto
Código:
Private Sub Form_Load()
Dim running As Integer
running = App.PrevInstance
If running <> 0 Then
MsgBox "El Programa ya se esta ejecutando", 0 + 48, "News"
End
End If
End Sub

por esto que es lo mismo pero mas corto;

Código:
Private Sub Form_Load()
If App.PrevInstance = True Then
MsgBox "El Programa ya se esta ejecutando", 0 + 48, "News"
End
End If
End Sub

Ba solo ahorras 2 lineas pero me parece innecesari crear esa variable...
En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Me ayudarian a mejorar este codigo¿?
« Respuesta #5 en: 6 Octubre 2009, 02:00 am »

Hola, ese codigo se puede achicar un 80 %, creando matrices de controles y funciones, si no sabes lo que es eso, entonces ya no es parte nuestra enseñar eso que seria lo basico, te vas a tener que leer inevitablemente un manual de visual basic.

saludos.
En línea

Murd3r3r 0f daT4

Desconectado Desconectado

Mensajes: 31


...


Ver Perfil WWW
Re: Me ayudarian a mejorar este codigo¿?
« Respuesta #6 en: 6 Octubre 2009, 04:37 am »

La verdad mire solo las primeras lineas por que ahora me tengo que ir a estudiar a simple vista yo reemplazaria

esto
Código:
Private Sub Form_Load()
Dim running As Integer
running = App.PrevInstance
If running <> 0 Then
MsgBox "El Programa ya se esta ejecutando", 0 + 48, "News"
End
End If
End Sub

por esto que es lo mismo pero mas corto;

Código:
Private Sub Form_Load()
If App.PrevInstance = True Then
MsgBox "El Programa ya se esta ejecutando", 0 + 48, "News"
End
End If
End Sub

Ba solo ahorras 2 lineas pero me parece innecesari crear esa variable...

Ok, tienes toda la razón!

@agus0

Si ese era yo!!

Hola, ese codigo se puede achicar un 80 %, creando matrices de controles y funciones, si no sabes lo que es eso, entonces ya no es parte nuestra enseñar eso que seria lo basico, te vas a tener que leer inevitablemente un manual de visual basic.

saludos.
Hoy empece a leer sobre matrices!! Vere que más hago!
En línea

"Nothing last forever...."
Murd3r3r 0f daT4

Desconectado Desconectado

Mensajes: 31


...


Ver Perfil WWW
Re: Me ayudarian a mejorar este codigo¿?
« Respuesta #7 en: 6 Octubre 2009, 05:19 am »

Ya estudiando y aplicando matrices ya mejoró, pero tengo una duda como quedaría esta parte sobre todo: principal.Label(1 To 48).Caption = "NO DISPONIBLE"

El codigo ya me quedo así:

Código
  1. Function Ocuparpc()
  2.    For i = 0 To statuspc(48)
  3.        If i = statuspc(48) Then
  4.            principal.Label(1 To 48).Caption = "NO DISPONIBLE"
  5.        End If
  6.    Next i
  7. End Function
  8.  

Esa aprte que comente arriba no funciona ni idea de como hacerla =S
« Última modificación: 6 Octubre 2009, 05:22 am por Murd3r3r 0f daT4 » En línea

"Nothing last forever...."
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Me ayudarian a mejorar este codigo¿?
« Respuesta #8 en: 6 Octubre 2009, 05:58 am »

Antes que nada debes considerar 49 Estados ya que de 0-48 hay 49

Una recomendacion statuspc() ponlo en estado boleano o tipo boolean

Código
  1. dim statuspc(48) as boolean
  2. public sub Ocuparpc()
  3.    For i = 0 To ubound(statuspc)
  4.        If statuspc(i)  Then
  5.            principal.Label(i).Caption = "DISPONIBLE"
  6.        else
  7.            principal.Label(i).Caption = "NO DISPONIBLE"
  8.        End If
  9.    Next i
  10. End sub
  11.  

Otra forma de IF(), es lo mismo que arriba

Código
  1. dim statuspc(48) as boolean
  2. public sub Ocuparpc()
  3.    For i = 0 To ubound(statuspc)
  4.        principal.Label(i).Caption = iif(statuspc(i),"DISPONIBLE","NO DISPONIBLE")
  5.    Next i
  6. End sub
  7.  

P.D.: Usa function para procesar informacion y devolver un valor y Sub para realizar procesos sin devolver ningun valor por medio del mismo.
Usa private, public, friend segùn se requiera, pero declaralos, estos definen el accceso a dichos procesos/funciones desde exterior, se comprende que si no son declarados seria private por default pero por prioridad seria mejor derarlos.

Dulces Lunas!¡.
« Última modificación: 6 Octubre 2009, 07:31 am por ░▒▓BlackZeroҖ▓▒░ » En línea

The Dark Shadow is my passion.
Murd3r3r 0f daT4

Desconectado Desconectado

Mensajes: 31


...


Ver Perfil WWW
Re: Me ayudarian a mejorar este codigo¿?
« Respuesta #9 en: 6 Octubre 2009, 06:09 am »

Antes que nada debes considerar 49 Estados ya que de 0-48 hay 49

Una recomendacion statuspc() ponlo en estado boleano o tipo boolean

Código
  1. dim statuspc(48) as boolean
  2. public sub Ocuparpc()
  3.    For i = 0 To ubound(statuspc)
  4.        If statuspc(48)  Then
  5.            principal.Label(i).Caption = "DISPONIBLE"
  6.        else
  7.            principal.Label(i).Caption = "NO DISPONIBLE"
  8.        End If
  9.    Next i
  10. End sub
  11.  

Otra forma de IF(), es lo mismo que arriba

Código
  1. dim statuspc(48) as boolean
  2. public sub Ocuparpc()
  3.    For i = 0 To ubound(statuspc)
  4.        principal.Label(i).Caption = iif(statuspc(48),"DISPONIBLE","NO DISPONIBLE")
  5.    Next i
  6. End sub
  7.  

P.D.: Usa function para procesar informacion y devolver un valor y Sub para realizar procesos sin devolver ningun valor por medio del mismo.
Usa private, public, friend segùn se requiera, pero declaralos, estos definen el accceso a dichos procesos/funciones desde exterior, se comprende que si no son declarados seria private por default pero por prioridad seria mejor derarlos.

Dulces Lunas!¡.

Pues mira que use varios codigos así pero siempre me da el mismo error =S "Method or data member not found" y me marca esta zona: .Label
En línea

"Nothing last forever...."
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda a mejorar código. C sobre Linux.
Programación C/C++
NeoB 2 2,116 Último mensaje 16 Febrero 2012, 15:59 pm
por NeoB
(SOLUCIONADO) Se puede mejorar este FOR?
.NET (C#, VB.NET, ASP)
Eleкtro 4 2,660 Último mensaje 27 Noviembre 2012, 09:51 am
por Eleкtro
¿Me ayudarían a corregir este código?
Programación C/C++
AnungUnRama 6 3,213 Último mensaje 9 Mayo 2013, 16:30 pm
por leosansan
Mejorar este código
.NET (C#, VB.NET, ASP)
Meta 1 2,072 Último mensaje 12 Diciembre 2015, 21:56 pm
por kub0x
Se puede mejorar este codigo¿?
Programación C/C++
trioper 4 2,097 Último mensaje 29 Abril 2017, 12:16 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines