border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU
  #1 (permalink)  
Antiguo 19-03-2005, 14:57:01
Avatar de Claudia
Gran Participación en el Foro
 
Registrado: ene 2005
Ubicación: Lima
Posts: 490
Claudia Valoración +2
Contactar con Claudia a través de MSN Contactar con Claudia a través de Yahoo
Predeterminado Como se utiliza el DoEvents

Hola a todos me gustaria saber que es lo k exactamente hace el DoEvents
__________________
Claudia Rossmery Chumpitaz Torres
Responder Con Cita
  #2 (permalink)  
Antiguo 19-03-2005, 15:13:10
Avatar de acalanto
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.308
acalanto ha deshabilitado la reputación
Predeterminado

En VB60 se utiliza simplemente DOEVENTS. Este comando lo que hace es forzar al propio SO a que termine o ejecute todo aquello que tiene pendiente (No olvides que Windows es multitarea y el sistema y procesador gestionan su tiempo para atender todas las solicitudes).

No tienes que buscar 'tres pies al gato', simplemente lo utilizas cuando generes un proceso demasiado extenso que pueda bloquear otros procesos o cuando sospeches que otros procesos pueden estar bloqueando tu aplicación.

Por ejemplo
Código:
for i = 1 to 10000000000000000
    'aquí mi código que hace cosas
    ....
    ....
    ....
   if (i mod 1000) then DOEVENTS 
next i
Así cada 1000 pasos del bucle, te aseguras que tu aplicación no blequea otras tareas pendientes.


Espero haberme explicado con claridad y que respondas si lo has comprendido.....
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #3 (permalink)  
Antiguo 19-03-2005, 15:51:39
Avatar de Claudia
Gran Participación en el Foro
 
Registrado: ene 2005
Ubicación: Lima
Posts: 490
Claudia Valoración +2
Contactar con Claudia a través de MSN Contactar con Claudia a través de Yahoo
Predeterminado

Hola Acalanto :smt009 si te digo k entendi seria la peor mentira k he dicho en mi vida la verdad k aun no entiendo como utilizar el doevents

Este es el codigo k utilizo para imprimir y sinceramente no tengo la menor idea de donde poner el doevents
Haciendo un seguimiento al programa lo unico k pude observar k el valor de mi variable xcod que guarda el numero de orden a imprimir no se pierde en ningun momento sin embargo si antes de imprimir entro a otro formulario y hago consultas a pesar k el xcod me muestra el valor de la variable que yo elegi me imprime otra cosa y aun no entiendo por k :smt017

Código:
If rsOst.RecordCount > 0 Then
xcod = rsOst!num_ost
    
    If xcod = "" Then
    MsgBox "Seleccione Orden a Imprimir"
    End If

Set rsOstX = New ADODB.Recordset
rsOstX.CursorLocation = adUseClient
rsOstX.CursorType = adOpenDynamic
rsOstX.LockType = adLockBatchOptimistic
csql = "Select * from cliente where num_ost = " & ChrW(39) & xcod & ChrW(39)
rsOstX.Open csql, CN
If rsOstX!s_boleta = "1" Then
DataReport3.Sections("Sección1").Controls.item("etiqueta2").Visible = True
DataReport3.Sections("Sección1").Controls.item("etiqueta2").Caption = "Sin Boleta"
DataReport3.Sections("Sección1").Controls.item("txtcampo23").Visible = False

Else
DataReport3.Sections("Sección1").Controls.item("etiqueta2").Visible = False
DataReport3.Sections("Sección1").Controls.item("txtcampo23").Visible = True
End If
If MsgBox("Desea Imprimir  registro ...", 36, "Imprimir") = 7 Then
       Exit Sub
       Else
       DataReport3.Refresh
       DataEnvironment1.rscmdordengrupo.Filter = "num_ost = '" & xcod & "'" & "and cod_cia = '" & codcia & " '" & "and cod_ano = '" & codano & "'"
       DataReport3.PrintReport , rptRangeFromTo, 1, 1
       If DataEnvironment1.rscmdordengrupo.State Then    
       DataEnvironment1.rscmdordengrupo.Close
       frm1120_3_1.Refresh
       End If
Else
 cmdimprimir.Enabled = False
End If
__________________
Claudia Rossmery Chumpitaz Torres
Responder Con Cita
  #4 (permalink)  
Antiguo 19-03-2005, 16:05:49
Avatar de Claudia
Gran Participación en el Foro
 
Registrado: ene 2005
Ubicación: Lima
Posts: 490
Claudia Valoración +2
Contactar con Claudia a través de MSN Contactar con Claudia a través de Yahoo
Predeterminado

ya se cual es el problema

Código:
If rsOst.RecordCount > 0 Then 
xcod = rsOst!num_ost 
    
    If xcod = "" Then 
    MsgBox "Seleccione Orden a Imprimir" 
    End If 

Set rsOstX = New ADODB.Recordset 
rsOstX.CursorLocation = adUseClient 
rsOstX.CursorType = adOpenDynamic 
rsOstX.LockType = adLockBatchOptimistic 
csql = "Select * from cliente where num_ost = " & ChrW(39) & xcod & ChrW(39) 
rsOstX.Open csql, CN 
If rsOstX!s_boleta = "1" Then 
DataReport3.Sections("Sección1").Controls.item("etiqueta2").Visible = True 
DataReport3.Sections("Sección1").Controls.item("etiqueta2").Caption = "Sin Boleta" 
DataReport3.Sections("Sección1").Controls.item("txtcampo23").Visible = False 

Else 
DataReport3.Sections("Sección1").Controls.item("etiqueta2").Visible = False 
DataReport3.Sections("Sección1").Controls.item("txtcampo23").Visible = True 
End If 
If MsgBox("Desea Imprimir  registro ...", 36, "Imprimir") = 7 Then 
       Exit Sub 
       Else 
       DataReport3.Refresh  ***Esto es lo k esta demas y hace k se    malogre mi impresio
       DataEnvironment1.rscmdordengrupo.Filter = "num_ost = '" & xcod & "'" & "and cod_cia = '" & codcia & " '" & "and cod_ano = '" & codano & "'" 
       DataReport3.PrintReport , rptRangeFromTo, 1, 1 
       If DataEnvironment1.rscmdordengrupo.State Then    
       DataEnvironment1.rscmdordengrupo.Close 
       frm1120_3_1.Refresh 
       End If 
Else 
 cmdimprimir.Enabled = False 
End If
Definitivamente hoy no es mi dia, aun keda pendiente lo de entender el doevents
__________________
Claudia Rossmery Chumpitaz Torres
Responder Con Cita
  #5 (permalink)  
Antiguo 19-03-2005, 17:47:57
Avatar de acalanto
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.308
acalanto ha deshabilitado la reputación
Predeterminado

Si refrescas el DATAREPORT3 antes que el DATAENVIRONMENT del que se alimenta, pues es lógico que te muestre cualquier cosa menos lo que esperas.

DoEvents, como ya te he dicho, lo puedes poner allí donde quieras, en cualquier punto del código y a cualquier hra, no hace daño, no etorpece y no afecta a el código escrito, simplemente, cuando lo solicitas, Windows mira en sus tareas pendientes de ejecutar -Por ejemplo outlook puede estar recibiendo un correo, tu dataenvironment acabando de hacer una consulta y el explorer cargandio una página-, las finaliza y libera los recursos ocupados del sistema.

Puedes ponerlo donde quieras.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #6 (permalink)  
Antiguo 21-03-2005, 13:42:03
Avatar de Claudia
Gran Participación en el Foro
 
Registrado: ene 2005
Ubicación: Lima
Posts: 490
Claudia Valoración +2
Contactar con Claudia a través de MSN Contactar con Claudia a través de Yahoo
Predeterminado

Gracias Acalanto por la respuesta felizmente me di cuenta del temendo error que tenia en cuando al DoEvents no importa donde lo ponga antes de enviar mi consulta al datareport o despues no hay diferencia???
__________________
Claudia Rossmery Chumpitaz Torres
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Alguien utiliza estos componentes para Net? Ronald_Leon_Madrid ComponentONE Suite 7 15-06-2005 23:19:57
Como se utiliza la instruccion Format() Juan Francisco Visual Basic 6.00 2 27-05-2005 03:24:59
Problemas con una funcion doevents grid Visual Basic.NET 2003 & 2005 1 16-04-2005 11:33:13


La franja horaria es GMT. Ahora son las 07:37:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right