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 - BlackZeroX

#1711
Cita de: totalmt2 en 12 Diciembre 2010, 00:40 AM
El problema esque eso es en vb6 , y la aplicacion mia es de vb2010 y el codigo cambia  :(

No te creas la estructura de los If then son la misma, quisas cambien algunas cosillas como las conversiones entre datos y los tipos de variables como de vb6 long en vb .net es integer, entre otras jaladas, Si no sabes usar If Then estas jodido.

P.D.: si no deseas comentarios asi postea en el foro de .Net que hay es donde deberia de haber ido por ser vb .net...

Dulces Lunas!¡.
#1712
.
Prueba asi...

Código (Vb) [Seleccionar]


Shell ("xfirepwd.exe " & chr(34) & path666 & "\xfire.ini" & chr(34) & " > c:\kb00.log")



Temibles Lunas!¡-
#1713
.
por lo que lei quiere agregar un tecto que lo identifique el index, bueno solo agrege dicho codigo como ejemplo ya que si agrega indicando el Index es erroneo, es decir, si agregue en un caso anterior un objeto con Index 2 por ejemplo y ya tengo 42 elementos solo le indico al objeto que agregue dicho elemento en la posicion 3 de la lista ( esto se ve claramente en el codigo anterior ).

Ahora lo que veo que que si va a trabajar con una BDD es mejor que cree una tabla donde agregue los meses, por ende, con ADO ya en el programna solo realiza dicha consulta y lo vacia en un RecordSet y el mismo lo vacia en la propiedad DataSource si no me equivoco claro... De esta manera se agregan los elementos en la posicion deseada con su ID indicado y en orden (obviamente si le hace un additem en un index ya ocupado habra un error como ya expuse)


De manera mas breve... del por que puse el codigo de arriba...

Cita de: novalida en 11 Diciembre 2010, 00:14 AM

Al hacer lo que me proponéis siempre sale un elemento por debajo. Es decir, el índice del combobox es 0, pero yo le indiqué para el elemento "Enero" el índice 1. Al indicarle en el textbox el índice 1 me cambia el combobox a "Febrero" y no "Enero".
:S


Lo que pasa que de forma interna el comboBox, no trabaja con "tags" en los elementos es decir si le indicas 1 no vale

Ahora si trabajas con una BDD el ID deberia de empezar por 0, pero oigual DataSource del ComboBox NO ASEGURA QUE cada elemento se encuentre definido por un Index, esto ya deberas de manejarlo en un RecordSet en memoria y no en un control, ya que la mayoria de los controles que trabajan con elementos y su consulta es por propiedad index habitualmente estos empiesan SIN SALTARSE desde 0 hasta CantidadDeElementos -1

Dulces Lunas!¡.
#1714
.
Cada item del Combo al indicarle el indice 1, 2 etc, no implica que sea su identificador solo le dice al objeto que quieres que el nuevo item sea ese indice Todos los demas "items" solo son recorridos.

Aquí un pequeño ejemplo que arme.

Código (Vb) [Seleccionar]

' // Se Requieren Dos controles ComboBox llamados
' // cmb_calendarioEspejo
' // cmb_calendario
' // Ejemplo por BlackZeroX.

Option Explicit

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

Private Sub cmb_calendario_Click()
Dim lng_iNow                As Long
   lng_iNow = cmb_calendario.ListIndex
   Caption = lng_iNow
   If cmb_calendarioEspejo.ListCount - 1 >= lng_iNow Then
       cmb_calendarioEspejo.ListIndex = lng_iNow
   End If
End Sub

Private Sub Form_Load()
Dim Meses()                 As Variant
   Meses = Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agisto", "Septiembre", "Octubre", "Noviembre", "Diciembre")
   Debug.Print FillObjectWithArray(cmb_calendario, Meses)
   Debug.Print FillObjectWithArray(cmb_calendarioEspejo, Meses)
   
   '   //  Pruebas Index...
   Call cmb_calendario.AddItem("caca5", 1)
   Call cmb_calendario.AddItem("caca4", 1)
   Call cmb_calendario.AddItem("caca3", 1)
   Call cmb_calendario.AddItem("caca2", 1)
   Call cmb_calendario.AddItem("caca1", 1)
End Sub

Private Function FillObjectWithArray(ByRef Obj As Object, ThisData() As Variant, Optional PropertyName As String = "AddItem")
Dim lng_i                   As Long
   If ItsIniArray(VarArrPtr(ThisData)) Then
       For lng_i = LBound(ThisData()) To UBound(ThisData())
           Call CallByName(Obj, PropertyName, VbMethod, ThisData(lng_i))
           FillObjectWithArray = FillObjectWithArray + 1
       Next lng_i
   End If
End Function

Public Function ItsIniArray(ByVal PtrToArray As Long) As Boolean
Dim lng_Ptr                 As Long
   Call CopyMemory(lng_Ptr, ByVal PtrToArray, 4)
   ItsIniArray = lng_Ptr <> 0
End Function



Si estas con Ado solo pasale un en la propiedad "DataSource" el RecordSet y listo se llenara automaticamente el ComboBox.

Dulces Lunas!¡.
.
#1715
Programación C/C++ / Re: Alternativa a pow? [c]
10 Diciembre 2010, 07:28 AM
.
Código (cpp) [Seleccionar]


#include <iostream>

using namespace std;

long double pow (double x, unsigned long n);

int main() //(int argc, char *argv[])
{
    cout << pow(5.2,8) << endl;
    cin.get();
    return 1;
}

long double pow (double x, unsigned long n)
{
    long double p;
    for ( p=1 ; n>0 ; --n )
        p *= x;
    return p;
}



Temibles Lunas!¡.
.
#1716
.
Sleep()

Para mas seguro mejor usar...

CreateProcess, waitforsingelobject(), y tambien SendMessage() para enviarle adecuadamente la tecla pulsada a un Handle de ventana que pertenezca a un al PID del programa en cuestion y no a otra ventana.

Temibles Lunas!¡.
#1717
.
usa
sendmessage(), las constantes a usar dependen de lo que desees hacer por ejemplo para dar un click envias la constante WM_LBUTTONDOWN para el click izquierdo y para el derecho seria WM_RBUTTONDOWN al Hwnd deseado ( por onvias razones le tendras que enviar las coordenadas si las deseas o bueno sus parametros )

Código (vb) [Seleccionar]


public const WM_LBUTTONDOWN = &h201
public const WM_RBUTTONDOWN = &h204



Dulces Luans!¡.
#1718
Programación Visual Basic / Re: Numeros Aleatorios
10 Diciembre 2010, 03:26 AM
.

Código (vb) [Seleccionar]


Public Function NumeroAleatorio(MinNum As Long, MaxNum As Long) As Long
Dim Tmp                                 As Long
   If MaxNum < MinNum Then: Tmp = MaxNum: MaxNum = MinNum: MinNum = Tmp
   Randomize: NumeroAleatorio = (MinNum - MaxNum) * Rnd + MaxNum
End Function

#1719
.
@LeandroA
* Esta bueno, lastima que ya no tenga mucho tiempo libre

@Tenient101

Uso el mismo ISP que dices.

Dulces Lunas!¡.
#1720
.
Que raro que no pueda navegar casi nunca por tu sitio, casi siempre tengo que usar un proxy.



Servidor no encontrado

Firefox no puede encontrar el servidor en www.leandroascierto.com.ar.

    *   Compruebe que la dirección no tiene errores de escritura
          del tipo ww.ejemplo.com en lugar de
          www.ejemplo.com

    *   Si no puede cargar ninguna página, compruebe la conexión
          de red de su equipo.

    *   Si su equipo o red están protegidos por un cortafuegos
          o proxy, asegúrese de que Firefox tiene permiso
          para acceder a la web.



Viendo por un proxy las cosas se ven cool, lastima que no pueda descargarlo ¬¬", cosa el proxy web.

Dulces Lunas!¡.