Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

FAQ's de VB6

Estas en el tema de FAQ's de VB6 en el foro de Visual Basic clásico en Foros del Web. Si tenes una ruta y solo queres el nombre del archivo, esta funcion sirve para eso... Solamente se envia la ruta completa y devuelve el ...

  #181 (permalink)  
Antiguo 04/03/2009, 14:32
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 11 meses
Puntos: 19
Respuesta: FAQ's de VB6

Si tenes una ruta y solo queres el nombre del archivo, esta funcion sirve para eso...

Solamente se envia la ruta completa y devuelve el nombre del archivo.

Código vb:
Ver original
  1. '************** PROGRAMADO POR CULD *****************
  2. '****************************************************
  3. Public Function Nombre_Archivo(Ruta As String)
  4. Dim X As Integer
  5. Dim Hasta As Integer
  6.  
  7. 'Recorro de atras para adelante
  8. For X = Len(Ruta) To 1 Step -1
  9.     'separo caracter por caracter, hasta encontrar la marca que seria el \
  10.    If Mid(Ruta, X, 1) = "\" Then
  11.         'como encontre esa marca, significa que ya termino el nombre del archivo
  12.        'entonces resto el largo total de toda la ruta, menosla posicion en la que encontre
  13.        'ese resultado es el largo del nombre del archivo
  14.        Hasta = Len(Ruta) - X
  15.         Exit For
  16.     End If
  17. Next X
  18.  
  19. 'separo de derecha a izquierda la cantidad de caracteres que corresponde al nombre del archivo
  20. Nombre_Archivo = Right(Ruta, Hasta)
  21. End Function

Última edición por culd; 14/05/2010 a las 15:33
  #182 (permalink)  
Antiguo 04/03/2009, 15:35
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Respuesta: FAQ's de VB6

Otra forma de obtener el nombre del archivo a partir de la ruta:
Código vb:
Ver original
  1. Public Function Nombre_Archivo(Ruta As String)
  2. Dim Partes() As String
  3. Partes = Split(Ruta, "\")
  4. Nombre_Archivo = Partes(UBound(Partes))
  5. End Function
O también:
Código vb:
Ver original
  1. Public Function Nombre_Archivo(Ruta As String)
  2. Nombre_Archivo = Right(Ruta, Len(Ruta) - InStrRev(Ruta, "\"))
  3. End Function
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #183 (permalink)  
Antiguo 11/03/2009, 11:01
Avatar de totigo  
Fecha de Ingreso: marzo-2007
Ubicación: America
Mensajes: 103
Antigüedad: 17 años, 7 meses
Puntos: 3
De acuerdo Modificar Tamaño de una Imagen VB 6.0

Hola, a continuacion quiero compartirles las instrucciones para redimensionar el tamaño de una imagen a 640x480, la cual se carga en un control image.

Lo primero es colocar las declaracion en un modulo BAS, ejemplo module1.bas:

Código vb:
Ver original
  1. Public Const IMAGE_BITMAP = 0
  2. Public Const LR_COPYRETURNORG = &H4
  3. Public Const CF_BITMAP = 2
  4. Public Declare Function SetClipboardData Lib "user32" (ByVal wFormat As Long, ByVal hMem As Long) As Long
  5. Public Declare Function CopyImage Lib "user32" (ByVal handle As Long, ByVal imageType As Long, ByVal newWidth As Long, ByVal newHeight As Long, ByVal lFlags As Long) As Long
  6. Public Declare Function EmptyClipboard Lib "user32" () As Long
  7. Public Declare Function CloseClipboard Lib "user32" () As Long
  8. Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long

Seguidamente viene la instruccion que hace el trabajo pesado y que colocamos por ejemplo en el evento click de un boton :

controles : Boton, Image Control

Código vb:
Ver original
  1. Dim hNew2 As Long
  2.  
  3. Image1.Picture = LoadPicture("C:\Users\desarr\Desktop\foto.jpg")
  4.  
  5. hNew2 = CopyImage(Image1.Picture, IMAGE_BITMAP, Val(640), Val(480), LR_COPYRETURNORG)
  6. OpenClipboard Me.hwnd
  7. EmptyClipboard
  8. SetClipboardData CF_BITMAP, hNew2
  9. CloseClipboard
  10.  
  11. Image1.Picture = Clipboard.GetData(2)
  12. SavePicture Image1.Picture, "C:\Users\desarr\Desktop\foto2.bmp"

Hecho! redimensiona la imagen al tamaño de 640x480 (foto2.bmp), si requiere otro tamaño entonces modificalo!

Espero sea de utilidad para muchos!

Nota : la funcion SavePicture solo genera BitMaps - BMPs, hay controles OCX - DLL para generar a otros formatos como el PicFormat32.OCX
  #184 (permalink)  
Antiguo 01/05/2009, 12:35
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 11 meses
Puntos: 19
Respuesta: FAQ's de VB6

Subproceso para buscar algo en un listbox y si lo encuentra seleccionarlo

Código vb:
Ver original
  1. 'Programador por ..::][CULD][::.. a pedido de gerardo_goh
  2. '-----------------------------------------------------------------------
  3. 'Este subproceso busca una palabra en un ListBox y si la encuentra
  4. 'la selecciona
  5. '-----------------------------------------------------------------------
  6. Public Sub ListBox_buscarYseleccionar(List As ListBox, Buscar As String)
  7. Dim X As Integer
  8.  
  9. For X = 0 To List.ListCount - 1
  10.     If UCase(List.List(X)) = UCase(Buscar) Then
  11.         List.ListIndex = X
  12.         Exit Sub
  13.     End If
  14. Next X
  15. End Sub

Última edición por culd; 14/05/2010 a las 15:33
  #185 (permalink)  
Antiguo 24/05/2009, 20:42
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 11 meses
Puntos: 19
Respuesta: FAQ's de VB6

Cita:
Iniciado por alkor16 Ver Mensaje
nesesito desarrollar una aplicacion de visual basic que lea 3 valores y calcule el cuadrado del mayor y el cubo del menor y el promedio de los 3 y que los resultados se displayaran mediante mensaje en el cuadro de dialogo.

plis ayuda xD tengo una tarea urgente ayuda.
Código vb:
Ver original
  1. '-------------------------------------------------------------------------
  2. ' Desarrollado por ..::][culd][::.. a pedido de "alkor16" para ForosDelWeb
  3. '-------------------------------------------------------------------------
  4. Dim Valores(1 To 3) As Double   'Vector que va a acumular los 3 o mas valores a pedir
  5. Dim X As Integer                'Variable que voy a usar para los for
  6. Dim Aux As Double               'Variable auxiliar para el metodo burbuja
  7. Dim Termino As Boolean          'Variable de control para saber si termino el metodo burbuja
  8. Dim Cuadrado As Double          'Resultado del cuadrado del mayor
  9. Dim Cubo As Double              'Resultado del cubo del menor
  10. Dim Promedio As Double          'Promedio de los tres numeros
  11.  
  12. 'Uso un for para ir pidiendo los valores, mediante un inputbox
  13. For X = 1 To 3
  14.     Valores(X) = InputBox("Ingrese un numero")
  15. Next X
  16.  
  17. 'Esto se llama metodo burbuja (lo habran aprendido en la universidad algunos)
  18. 'Consiste en recorrer el vector/matrix y comparar el valor de la posicion actual
  19. 'con el valor siguiente.
  20. 'Se verifica si es mayor/menor y si lo es se guarda uno en una variable auxiliar
  21. 'y se reemplazan de lugar
  22. 'NOTA: Si hay cambios, significa que probablemente existan todavia numeros a modificar
  23. 'por ende se usa una variable de control en este caso un boolean.
  24. Termino = False
  25. Do While Termino = False
  26.     Termino = True                              'Asigno que termino para saber despues si realmente termino
  27.    For X = 1 To 2                              'Inicio el recorrido
  28.        If Valores(X) < Valores(X + 1) Then     'Controlo si el actual es menor que el siguiente asi subo el siguiente y bajo el actual
  29.            Aux = Valores(X)                    'Guardo en una variable auxiliar para no perderlo
  30.            Valores(X) = Valores(X + 1)         'Reemplazo
  31.            Valores(X + 1) = Aux                'Asigno el valor guardado
  32.            Termino = False                     'Como hubo un cambio asigno que no termino el metodo burbuja para dar otra ronda despues
  33.        End If
  34.     Next X
  35. Loop
  36.  
  37. 'calculo el cuadrado del mayor (si o si el mayor va a estar en el primer lugar)
  38. Cuadrado = Valores(1) ^ 2
  39. 'calculo el cubo del menor (si o si va a estar en el ultimo lugar)
  40. Cubo = Valores(3) ^ 3
  41. 'el promedio es la division de la cantidad de operandos, sobre la suma de los mismos (matematica basica)
  42. Promedio = (Valores(1) + Valores(2) + Valores(3)) / 3
  43.  
  44. 'Informo los resultados y el derecho de autor ;)
  45. MsgBox "Los numeros ingresados de mayor a menor son:" & vbNewLine _
  46. & Valores(1) & vbNewLine _
  47. & Valores(2) & vbNewLine _
  48. & Valores(3) & vbNewLine & vbNewLine _
  49. & "El cuadrado del mayor es: " & Cuadrado & vbNewLine & vbNewLine _
  50. & "El cubo del menor es: " & Cubo & vbNewLine & vbNewLine _
  51. & "El promedio de los tres es: " & Promedio & vbNewLine & vbNewLine & _
  52. "Ejemplo realizado por ..::][culd][::.. a pedido de alkor16 para ForosDelWeb"

Última edición por culd; 14/05/2010 a las 15:34
  #186 (permalink)  
Antiguo 02/09/2009, 14:08
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 11 meses
Puntos: 19
Respuesta: FAQ's de VB6

Cita:
Iniciado por gogupe Ver Mensaje
Hola a todos.

He hecho una matriz de controles de un timer

He hecho lo siguiente

load timer(0)
load timer(1)
load timer(2)

Me cargará como tantos timer como usuarios se conecten a mi sistema, hasta aquí todo bien.

El problema me lo encuentro que esto lo quiero chequear cada cierto tiempo, pero ¿como se que el control ya está cargado?, es que si no, me da el error de que el objeto ya se ha cargado

Quiero algo asi como: si timer(0) ya está cargado --> no cargar

Muchas gracias a todos
La respuesta a tu problema aca te la arme:


Código VB:
Ver original
  1. 'Programado por CULD a pedido de GUGOPE
  2. '------------------------------------------------------------------
  3. 'Esta es una funcion que tiene como parametro un objeto timer
  4. 'al que se lo quiere conocer si se encuentra cargado en tiempo de
  5. 'ejecucion... Por ejemplo si tenemos un vector de controles Timer
  6. 'y queremos conocer si un timer en particular esta cargado, se le
  7. 'envia como parametro el timer en cuestion y devuelve TRUE/FALSE
  8. '------------------------------------------------------------------
  9. 'Esto es a pedido de GUGOPE en el post:
  10. 'http://www.forosdelweb.com/f69/saber-si-control-esta-cargado-732407/
  11. '------------------------------------------------------------------
  12. Public Function EstaCargadoTimer(ElTimer As Timer) As Boolean
  13. On Error GoTo NoEstaCargado
  14. If ElTimer.Index > 0 Then
  15.     EstaCargadoTimer = True
  16. End If
  17. Exit Function
  18. NoEstaCargado:
  19. EstaCargadoTimer = False
  20. End Function
  #187 (permalink)  
Antiguo 08/09/2009, 10:37
Avatar de A.H.H  
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 17 años, 5 meses
Puntos: 4
De acuerdo Respuesta: FAQ's de VB6

ELIMINAR TEMPORALES IE, COOKIES, HISTORIAL , FORMULARIOS.........


Hola el siguiente codigo es para borrar desde vb6 los temporales de internet (ie), asi como el historial, las cookies, add-ons etc...
Sirve para internet 7 y 8 ......
Colocar en un boton lo siguiente:

Cita:
Private Sub Command1_Click()
Shell "Rundll32.exe inetcpl.cpl, ClearMyTracksByProcess 4351", vbNormalFocus
End Sub

Última edición por A.H.H; 21/02/2010 a las 09:01
  #188 (permalink)  
Antiguo 12/05/2010, 20:35
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 11 meses
Puntos: 19
Respuesta: FAQ's de VB6

Cita:
Iniciado por RocKRKO Ver Mensaje
ola ola soy algo nuevo en esto del vB6 jeje pero me encanta este foro asi que espero me ayuden miren para ustedes maestros del vB6 resultara algo facil jeje

Lo que tengo que hacer es clasificar unas entradas de datos con una matriz

Primero se piden los datos con un inputbox algo asi


Código:
Private Sub Command1_Click()
For indice = 0 To 2
    edades(indice) = InputBox("Teclea La edad de Tu Alumno", "Teclea La edad")
    If edades(indice) = "0" Then
    MsgBox "Error, Teclea una edad desde 4 en adelante ...", vbInformation, "Error"
    End If
    If edades(indice) < 4 Then
    MsgBox "No se admiten Niños Menores de 4 Años", vbInformation, "No Admitido"
    End If
    Select Case edades(indice)
    Case 4 To 6:
    For x = 0 To 2
    List1.AddItem edades(x)
    Next x
    Case 7 To 8
    For y = 0 To 2
    List2.AddItem edades(y)
    Next y
    Case 9 To 12
    For n = 0 To 2
    List3.AddItem edades(n)
    Next n
    End Select
    
Next

End Sub
Y dependiendo que edad tenga el alumno se clasificara en 4 textbox

de 4 a 6 categoria 1
de 7 y 8 categoria 2
de 9 y 10 categoria 3
de 11 en adelante categoria 4

pero tienen que aparecer en los textbox cuantos son de cada categoria pero no se como xD trate de agruparlos en un listbox poniendo el siguiente code

Código:
  For n = 0 To 2
    List3.AddItem edades(n)
    Next n
y si se clasifican pero aparecen los valores de los anteriores y valores de 0

alguien me podriia ayudar =(
Segun lo que entendi, lo que necesitas es lo siguiente:

1- El usuario ingresa edades de alumnos
2- Las edades se van guardando en un vector segun categoria de edades
3- Al finalizar muestra la informacion de cantidades segun categoria

Bueno, lo hise sin ningun objeto, osea directamente con input y msgbox, despues pone los objetos que necesites (lease texbox, listbox, o lo que prefieras)
Código vb:
Ver original
  1. '-------------------------------------------------------------------------
  2. ' Desarrollado por ..::][culd][::.. a pedido de "RocKRKO" para ForosDelWeb
  3. '-------------------------------------------------------------------------
  4.  
  5. Dim Edad As String                  'variable que maneja la informacion ingresada por el usuario
  6. Dim EdadI As Integer                'variable para la edad pero integer para trabajarla mejor
  7. Dim Categoria(1 To 4) As Integer    'vector que contiene las cantidades de alumnos segun categoria
  8.  
  9. 'Estructura repetir hasta que
  10. Do
  11.     'pido la edad al usuario
  12.    Edad = InputBox("Ingrese la edad del alumno" & vbNewLine & "Ingrese 0 o menos para finalizar", "Edad")
  13.     'verifico si es numerica
  14.    If IsNumeric(Edad) = True Then
  15.         'guardo la edad en una variable del tipo integer
  16.        EdadI = CInt(Edad)
  17.         'verifico si la edad es mayor que 0
  18.        If EdadI > 0 Then
  19.             'verifico si la edad es mayor o igual que 4
  20.            If EdadI >= 4 Then
  21.                 'estructura condicional multiple
  22.                Select Case EdadI
  23.                     Case 4 To 6:    'de 4 a 6 años sumo en la categoria 1
  24.                        Categoria(1) = Categoria(1) + 1
  25.                     Case 7 To 8:    'de 7 a 8 años sumo en la categoria 2
  26.                        Categoria(2) = Categoria(2) + 1
  27.                     Case 9 To 10:   'de 9 a 10 años sumo en la categoria 3
  28.                        Categoria(3) = Categoria(3) + 1
  29.                     Case Is >= 11:  'de 11 en adelante sumo en la categoria 4
  30.                        Categoria(4) = Categoria(4) + 1
  31.                     Case Else:      'si es otro numero le devuelvo error y no sumo nada
  32.                        MsgBox "La edad ingresada no corresponde a ninguna categoria", vbCritical
  33.                 End Select
  34.             Else
  35.                 'devuelvo el error de que es menor de 4 años
  36.                MsgBox "No se permite menores de 4 años", vbCritical
  37.             End If
  38.         End If
  39.     Else
  40.         'Asigno "1", ya que puede ser que en primera instancia ingrese una letra
  41.        'y la veriable estaria cereada y directamente el repetir finalizaria
  42.        EdadI = 1
  43.         'informo que no es un numero valido
  44.        MsgBox "No ingreso un numero valido", vbCritical
  45.     End If
  46. Loop Until EdadI <= 0
  47.  
  48. 'cuando el usuario no quiere ingresar mas muestro los resultados de las
  49. 'cantidades de alumnos segun la categoria
  50. MsgBox "Cantidad de Alumnos por Categoria" & vbNewLine & vbNewLine & _
  51. "Categoria 1: " & Categoria(1) & vbNewLine & _
  52. "Categoria 2: " & Categoria(2) & vbNewLine & _
  53. "Categoria 3: " & Categoria(3) & vbNewLine & _
  54. "Categoria 4: " & Categoria(4)
  #189 (permalink)  
Antiguo 29/03/2011, 09:24
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 11 meses
Puntos: 19
Conversor de Unidad

A pedido del amigo aca en el foro, que queria hacer un conversor similar al de una web, me tome el trabajo de hacerlo de la forma mas faicl y efectiva... Lo dejo para que abran la mente de como hacer este tipo de algoritmo matematico en pocas lineas de codigo....

Cita:
Iniciado por sergimbo Ver Mensaje
Hola! Pues resulta que estoy haciendo un conversor de unidades el cual sigue este formato:

http://elticus.com/?contenido=56&allmsg#mensajes


El boton de "Unidad" lo tengo muy claro pero el problema lo tengo con calcular.

Resulta que ese conversor tu puedes pasar de metros a pulgadas etc. pero tambien de pulgadas a metros sin importar el orden. Asi pues tu en el label correspondiente a yardas, por ejemplo, pones un numero cualquiera y te saca la equivalencia en las demas.


La cosa es, como puedo hacer que el visual basic sepa que label de esas 6 tenga algun numero? Es decir, como le digo al programa "si la label de nombre "lblyardas" tiene un numero haz estas operaciones=?

Otra cosa, como puedo hacer para que solo se pueda escribir en una label de las 6 a la vez?

Gracias por su ayuda
Lo tome como un ejercicio mental, asi que me tome el trabajo de hacerlo.

- Insertar 2 CommandButton
BUnidad
BCalcular

- Insertar una matris de TextBox (6 elementos)
txtNumero

Copiar el siguiente codigo en el Formulario:

Código vb:
Ver original
  1. Dim Medidas(0 To 5) As Double
  2.  
  3.  
  4. Private Sub BCalcular_Click()
  5. Dim Indice As Integer
  6. Dim X As Integer
  7.  
  8. For X = 0 To 5
  9.     If Trim(txtNumero(X)) <> "" Then
  10.         Indice = X
  11.         Exit For
  12.     End If
  13. Next X
  14.  
  15. For X = 0 To 5
  16.     If X <> Indice Then
  17.         txtNumero(X) = Round((CDbl(txtNumero(Indice)) * Medidas(X)) / Medidas(Indice), 5)
  18.     End If
  19. Next X
  20. End Sub
  21.  
  22. Private Sub BUnidad_Click()
  23. Dim X As Integer
  24. For X = 0 To 5
  25.     txtNumero(X).Text = Medidas(X)
  26. Next X
  27. End Sub
  28.  
  29. Private Sub Form_Load()
  30. Medidas(0) = 1
  31. Medidas(1) = 39.3701
  32. Medidas(2) = 3.28084
  33. Medidas(3) = 1.09361
  34. Medidas(4) = 0.00062
  35. Medidas(5) = 0.00055
  36. End Sub
  37.  
  38. Private Sub txtNumero_GotFocus(Index As Integer)
  39. Dim X As Integer
  40. For X = 0 To 5
  41.     txtNumero(X).Text = ""
  42. Next X
  43. End Sub
  #190 (permalink)  
Antiguo 24/05/2011, 12:06
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 11 meses
Puntos: 19
Ventana emergente estilo MSN

Segun lo que pidieron en el foro, un ejemplo sensillo de una ventana emergente al estilo del msn.

Solo tienen que crear un form, y agregar un commandbutton y un timer... Al timer ponerle ENABLED=FALSE y INTERVAL=10

Con eso pueden hacer la prueba y lograr el efecto, luego lo adaptan y mejoran como ustedes quieren.

Código vb:
Ver original
  1. Private Sub Command1_Click()
  2. Me.Top = Screen.Height
  3. Me.Left = Screen.Width - Me.Width
  4. Timer1.Enabled = True
  5. End Sub
  6.  
  7. Private Sub Timer1_Timer()
  8. If Me.Top > (Screen.Height - Me.Height) Then
  9.     Me.Top = Me.Top - 100
  10. Else
  11.     Timer1.Enabled = False
  12. End If
  13. End Sub
  #191 (permalink)  
Antiguo 25/05/2011, 07:40
 
Fecha de Ingreso: mayo-2009
Mensajes: 1
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: FAQ's de VB6

alguien sabe como hacer unas funciones para un textbox qeu acepte solo MAYUSCULAS, NUmero Enteros, Decimales Negativos, Decimales Positivos, Letras etc.
graciass. espero respuesta alguna
  #192 (permalink)  
Antiguo 24/11/2013, 03:36
Avatar de A.H.H  
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 17 años, 5 meses
Puntos: 4
Solucion al error: La libreria de objetos no esta registrada.

Solución al error en vb6 que suele dar en windows7 cuando intentas usar un objeto en componentes y lanza el error: "la biblioteca de objetos no esta registrada".

windows7

1. abrir una ventana de CMD con el botón derecho del raton y elegir abrir como administrador, asegurándose que estamos trabajando en system32.

2. escribir dentro de la ventana:

regtlib msdatsrc.tlb

Darle a enter y listo nos saldrá el siguiente mensaje:

Registration of msdatsrc.tlb successful.

Ahora ya queda la librería registrada y podemos usar todos los objetos de vb6 sin ningún problema...

Para la versión de Windows de 64 bits seguir los mismos pasos pero el directorio donde debemos ejecutar el comando es en syswow64

Parece que en algunas versiones de Windows ya no aparece el comando regtlib

Hola de nuevo!
Efectivamente en Windows 8 ya no existe el comando regtlib

puede que funcione esta otra forma de registrar la librería msdatsrc.tlb

1.- Debemos buscar en el equipo donde tenemos ubicado el archivo vb6stkit.dll
depende en que directorio lo tengamos podemos usar las siguientes líneas
de comando bien desde un archivo.bat ejecutantolo como administrador.
Bien abriendo ventana CMD como administrador o ventana ejecutar.

2.los ejemplos de líneas de comando dependiendo de donde tengamos ubicado el
archivo vb6stkit.dll y suponiendo que el archivo msdatsrc.tlb este en system32 podrían ser asi:
Cambiar solamante lo que hay entre comillas por vuestras rutas en el ordenador.
Intentar meter la línea entera de comando como administrador.

rundll32.exe "C:\Windows\SysWOW64\vb6stkit.dll",RegisterTLB "C:\Windows\System32\msdatsrc.tlb"

rundll32.exe "C:\Windows\System32\vb6stkit.dll",RegisterTLB "C:\Windows\System32\msdatsrc.tlb"


nota:
para probar esto cerrar visual basic o cualquier ventana de proyecto visual basic.
Hay que decir que después de ejecutar la línea de comando si no nos da ningún tipo de error entonces abrimos visual basic y probamos ........
si nos da error puede ser que no encuentre algunos de los archivos mencionados. entonces revisar si las rutas a los archivos coinciden......
creo que esta función también podría servir
Public Declare Function RegisterTLB Lib "vb6stkit.dll" (ByVal lpTLBName As String) As Integer

Después llamaríamos a la function con la ruta de donde tuviéramos el archivo msdatsrc.tlb

FUENTE: http://forums.codeguru.com/showthrea...ring-a-TypeLib

Última edición por A.H.H; 09/02/2015 a las 07:56
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 43 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 00:57.