Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - seba123neo

#2141
Hola, primero algunas preguntas , ¿ porque creas la bases de datos asi con un comando ?, porque no la creas con el administrador de SQL Lite desde el mismo visual studio ? porque me parece que estan mal los tipos de datos creados ahi. para guardar la fecha usas el tipo de dato DateTime en SQL Server. cuando lo guardas lo debes guardar con la funcion Format() formatado a "yyyymmdd", y para mostrarlo en la grilla despues debes en la consulta SQL fomatear tambien la fecha asi te muestra solo la fecha y no todo con el horario.

para el boolean se usa el tipo de dato bit que es 0 o 1...que yo sepa no existe boolean. y el monto deberia ser un tipo de dato como el Double..en SQL Server debe ser algo como real.

lo mejor para trabajar con bases de datos es crear clases y no poner el select asi en los botones o demas controles, deberia ser programación en 3 capas, es lo mejor. de ultima si eso es mucho...deberias hacerte uans clases con metodos para insertar, update, delete , chequeos etc...pero en una clase..sino se desaprovecha la POO de vb net..

eso cuando carga el listview esta mal...por eso estas teniendo problemas...estas poniendo siempre el 0...yo no lo cargo asi y creo que no se carga asi estoy seguro..mirate ejemplos e internet como lo hacen..crean un objeto del tipo ListViewItem y lo cargan desde ahi, van llenando los subitems con los datos y despues a lo ultimo le ahcen el .ADD y añaden toda la fila.

saludos.
#2142
ejemplo de como ejecutar la calculadora de windows despues al minuto de apretar un boton.

Código (vb) [Seleccionar]
Option Explicit

Private Declare Function NetScheduleJobAdd Lib "netapi32.dll" (ByVal Servername As String, Buffer As Any, JobID As Long) As Long

Private Type AT_INFO
    JobTime As Long
    DaysOfMonth As Long
    DaysOfWeek As Byte
    Flags As Byte
    Command As String
End Type

Private Enum Periodicidad
    JOB_RUN_PERIODICALLY = 1&
    JOB_ADD_CURRENT_DATE = 8&
    JOB_NONINTERACTIVE = 16&
End Enum

Private Enum DiasSemana
    Lunes = 1
    Martes = 2
    Miercoles = 4
    Jueves = 8
    Viernes = 16
    Sabado = 32
    Domingo = 64
End Enum

Private Enum DiaMes
    Dia_1 = 1
    Dia_2 = 2
    Dia_3 = 4
    Dia_4 = 8
    Dia_5 = 16
    Dia_6 = 32
    Dia_7 = 64
    Dia_8 = 128
    Dia_9 = 256
    Dia_10 = 512
    Dia_11 = 1024
    Dia_12 = 2048
    Dia_13 = 4096
    Dia_14 = 8192
    Dia_15 = 16384
    Dia_16 = 32768
    Dia_17 = 65536
    Dia_18 = 131072
    Dia_19 = 262144
    Dia_20 = 524288
    Dia_21 = 1048576
    Dia_22 = 2097152
    Dia_23 = 4194304
    Dia_24 = 8388608
    Dia_25 = 16777216
    Dia_26 = 33554432
    Dia_27 = 67108864
    Dia_28 = 134217728
    Dia_29 = 268435456
    Dia_30 = 536870912
    Dia_31 = 1073741824
End Enum

Private Function AgregarTareaProgramada(pComando As String, pHorario As Date, pParametros As Periodicidad, Optional pDia As DiasSemana = 0, Optional pDiaMes As DiaMes = 0) As Long
    Dim vPropiedadesTarea As AT_INFO
    Dim vIDTarea As Long
   
    vPropiedadesTarea.Command = StrConv(pComando, vbUnicode)
    vPropiedadesTarea.Flags = pParametros
    vPropiedadesTarea.JobTime = DateDiff("s", "00:00:00", Format(pHorario, "hh:mm:ss")) * 1000
    vPropiedadesTarea.DaysOfWeek = pDia
    vPropiedadesTarea.DaysOfMonth = pDiaMes
   
    NetScheduleJobAdd vbNullString, vPropiedadesTarea, vIDTarea
   
    AgregarTareaProgramada = vIDTarea
End Function

Private Sub Command1_Click()
    Call AgregarTareaProgramada("C:\WINDOWS\System32\calc.exe", DateAdd("n", 1, Now), JOB_ADD_CURRENT_DATE)
End Sub


saludos.
#2143
Hola, podes probar con la api NetScheduleJobAdd de netpi32.dll.

saludos.
#2144
Cita de: xassiz en 11 Octubre 2009, 12:57 PM
No explico nada?

no, no explicaste nada

Cita de: xassiz en 11 Octubre 2009, 12:57 PM
Me fui a Referencias, marque MSN API Type Library y cuando le doy a aceptar me salio un messagebox con ese error..

Error al cargar biblioteca DLL

ahora si explicaste porque te aparece y cuando ¿ tan dificil era ?

fijate cuando seleccionas para agregar esa libreria abajo te aparece un path donde esta la mimsa, te debe aparecer una ruta como Archivos de Programa\Messenger\msmsgs.exe, fijate si en esa ruta tenes el messeger viejo version 4 y algo que viene por defecto con el windows XP...si no tenes ese messenger instalado o por alguna razon se desinstalo no vas a poder usar la api, de ultima te lo podes bajar de microsoft e instalarlo, si tenes XP lo debes tener, salvo que estes usando algun windows horrible como el UE modificado que no lo traiga.

saludos.
#2145
Cita de: olve en 11 Octubre 2009, 02:31 AM
No me explique, aver si ahora si 


Hwndl = FindWindow(vbNullString, "Alberto Olvera")

LsTexto1 = FindWindowEx(Hwndl, 0, vbNullString, "Text1") ' contenido string de Text1 en el exe2

En el objeto Text1 del exe2, si le asigno a la propiedad text nada(text1.text = "")no encuentra el Hwndl

a q se debe ????


espero ser claro

no puede ser, yo lo pruebo, borro todo lo que hay en los textbox del exe2 y me manda los datos igual...
#2146
Hola, dentro del For Each deberias chequear que sea del tipo de control que vos queres asi no pasa por todos...con TypeOf()..algo asi:

Código (vb) [Seleccionar]
    Dim vControl As Control
   
    For Each vControl In Me.Controls
        If TypeOf vControl Is CheckBox Then
           'aca el codigo
        End If
    Next


saludos.
#2147
si, ese codigo esta malo, a mi me paso lo mismo una vez, proba este por lo que veo es el mejor con api's, te dice si un array ha sido inicilizado o no, y es muy corto el codigo:

CopyMemory: Determining Array Initialization State and Dimensions

saludos.
#2148
Cita de: xassiz en 10 Octubre 2009, 23:07 PM
Error al cargar biblioteca DLL

Que pasa?

imposible responder...no explicas nada...la proxima un post asi sin ganas y te lo borro.
#2149
si como te dijeron, posiciona el cursor en la propiedad picture y dale suprimir.
#2150
Hola, para saber si un array esta inicializado hay varias formas, te dejo algunas, probalas si te sirven:

Código (vb) [Seleccionar]
Private Sub Form_Load()
    Dim ArrayPrueba() As String
    Dim CadenaPrueba As String
   
    CadenaPrueba = "hola,como,va"
   
    If ((Not ArrayPrueba) = -1) Then
        MsgBox "No esta Inicializado"
    Else
        MsgBox "Si esta Inicializado"
    End If
   
    ArrayPrueba = Split(CadenaPrueba, ",")
   
    If ((Not ArrayPrueba) = -1) Then
        MsgBox "No esta Inicializado"
    Else
        MsgBox "Si esta Inicializado"
    End If
End Sub


otra con la api CopyMemory...

Código (vb) [Seleccionar]
Option Explicit

Private Const VT_BYREF = &H4000
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpDest As Any, lpSource As Any, ByVal cBytes As Long)

Private Sub Form_Load()
    Dim ArrayPrueba() As String
    Dim CadenaPrueba As String
   
    CadenaPrueba = "hola,como,va"
    MsgBox ArrayEstaDimensionado(ArrayPrueba)

    ArrayPrueba = Split(CadenaPrueba, ",")
    MsgBox ArrayEstaDimensionado(ArrayPrueba)
End Sub

Private Function ArrayEstaDimensionado(ByVal pArray As Variant) As Boolean
    Dim lp As Long, VType As Integer
    If Not IsArray(pArray) Then Exit Function
    Dim nDims As Integer
    CopyMemory ByVal VarPtr(VType), ByVal VarPtr(pArray), 2
    CopyMemory ByVal VarPtr(lp), ByVal (VarPtr(pArray) + 8), 4
    If lp = 0 Then Exit Function
    If (VType And VT_BYREF) <> 0 Then
        CopyMemory ByVal VarPtr(lp), ByVal lp, 4
    End If
    If lp = 0 Then Exit Function
    CopyMemory nDims, ByVal lp, 2
    ArrayEstaDimensionado = CBool(nDims)
End Function


y con la misma api + ArrPtr...

Código (vb) [Seleccionar]
Option Explicit

Private Declare Function ArrPtr Lib "msvbvm60" Alias "VarPtr" (arr() As Any) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Private Sub Form_Load()
    Dim ArrayPrueba() As String
    Dim CadenaPrueba As String
   
    CadenaPrueba = "hola,como,va"
    MsgBox ArrayEstaDimensionado(ArrayPrueba)

    ArrayPrueba = Split(CadenaPrueba, ",")
    MsgBox ArrayEstaDimensionado(ArrayPrueba)
End Sub

Private Function ArrayEstaDimensionado(pArray) As Boolean
  Dim vValorMemoria As Long
  CopyMemory vValorMemoria, ByVal VarPtr(pArray) + 8, ByVal 4
  CopyMemory vValorMemoria, ByVal vValorMemoria, ByVal 4
  ArrayEstaDimensionado = (vValorMemoria <> 0)
End Function


saludos.