• Sábado 18 de Mayo de 2024, 10:43

Mostrar Mensajes

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


Mensajes - mamex

Páginas: 1 2 [3] 4
51
Visual Basic 6.0 e inferiores / Re: Se Me Ha Olvidado
« en: Martes 16 de Enero de 2007, 20:19 »
Hola que tal, mira para poder separar cada elemento, cuya separación es una coma yo desarrollé ésta función, y cada elemento lo mete en un collection, que es lo que te regresa la función. Espero y te sirva.

Código: Text
  1.  
  2. 'De un string, que tiene elementos separados por comas, los saca y los mete en un collection
  3. Public Function separaElementosPorComa(texto As String) As Collection
  4.     Dim inic As Integer, coma As Integer
  5.     Dim a As Collection
  6.     Dim elemento As String
  7.     Set a = New Collection
  8.     inic = 0
  9.     coma = 1
  10.     While coma <> 0
  11.         coma = InStr(inic + 1, texto, ",")
  12.         'Si encontró la coma
  13.         If coma > 0 Then
  14.             elemento = Trim(Mid(texto, inic + 1, coma - inic - 1))
  15.         Else
  16.             elemento = Trim(Mid(texto, inic + 1, Len(texto) - inic))
  17.         End If
  18.         If elemento <> "" Then a.Add elemento
  19.         inic = coma + 1
  20.     Wend
  21.     Set separaElementosPorComa = a
  22. End Function
  23.  
  24.  

A ésta parte no te entendí
Citar
para yo por cada numero y haga un proceso igual pero le envio como parametro el numero que acabo de obtener ... como elaboro ese proceso ....   :(

52
Visual Basic 6.0 e inferiores / Resaltar Fechas Especificas En Un Calendario
« en: Lunes 15 de Enero de 2007, 23:17 »
Hola que tal, tengo un pequeño problema, el cual no se como resolverlo, por eso estoy aki, jejeje. Bueno, mi problema es que tengo que resaltar días específicos en un calendario, por ejemplo, los dias festivos. Ya sea de otro color, de otra fuente, o con alguna marca en especial.
Espero y me ayuden informandome que control puedo usar y que métodos o propiedades debo usar.
Y si se puede con el control dtPicker de preferencia.

Muchas gracias anticipadamente, espero y me respondan pronto.

53
Visual Basic para principiantes / Re: Combo
« en: Martes 26 de Diciembre de 2006, 21:28 »
Que tal Llaneta, la referencia la agregas desde el menú Proyecto -> Referencias. Buscas la Referencia Microsoft Activex Data Objects 2.5 Library, u otra versión. La palomeas, y le das aceptar.

54
Bases de Datos / Re: Ingreso De Horas Y Fechas En Vb 6.0
« en: Sábado 23 de Diciembre de 2006, 03:32 »
Puedes probar con otra manera, por ejemplo, yo creo un recordset, despues agrego un nuevo registro, y guardo los datos.
Debes agregar la referencia Microsoft Activex Data Objects 2.5 Library para que te acepte el recordset

'Funcion para guardar los datos
Código: Text
  1.  
  2. private sub guardarDatos
  3.     Dim rs as recordset
  4.     set rs = crearConsulta("miBaseDeDatos.mdb","Select hora,fecha from llamada")
  5.     rs.addNew
  6.     rs.fields!hora = time
  7.     rs.fields!fecha = date
  8.     rs.update  
  9. end sub
  10.  
  11.  

Y aqui está la funcion para crear el recordset
Código: Text
  1.  
  2. 'Crea una consulta y la regresa como un recordset
  3. Public Function crearConsulta(baseDeDatos As String, sql As String) As Recordset
  4.     Dim bd As Connection, rs As Recordset
  5.     Set bd = New Connection
  6.     Set rs = New Recordset
  7.     'Genera la cadena de conexión
  8.     bd.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
  9.         baseDeDatos & ";Persist Security Info=False"
  10.     'Abre la base de datos
  11.     bd.Open
  12.     'Se la asigna al recordset
  13.     rs.Open sql, bd, adOpenKeyset, adLockOptimistic
  14.     If rs.recordCount > 0 Then _
  15.         rs.MoveFirst
  16.     'Regresa el recordset
  17.     Set crearConsulta = rs
  18. End Function
  19.  
  20.  

55
Visual Basic para principiantes / Re: Combo
« en: Viernes 22 de Diciembre de 2006, 21:03 »
Mira, para llenar combos, uso el método siguiente: primero creo un recordset con una consulta sobre una base de datos de access, despues mando a llamar a la funcion llenarComboRs()  y le mando el recordset creado anteriormente, y después el combo al que le voy a meter los datos. Espero y te sirva.
Para que el código te sirva, deberas agregar la siguiente referencia a tu proyecto:
Microsoft Activex Data Objects 2.5 Library


Las funciones que debes agregar:
Código: Text
  1.  
  2. 'Crea una consulta y la regresa como un recordset
  3. Public Function crearConsulta(baseDeDatos As String, sql As String) As Recordset
  4.     Dim bd As Connection, rs As Recordset
  5.     Set bd = New Connection
  6.     Set rs = New Recordset
  7.     'Genera la cadena de conexión
  8.     bd.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
  9.         baseDeDatos & ";Persist Security Info=False"
  10.     'Abre la base de datos
  11.     bd.Open
  12.     'Se la asigna al recordset
  13.     rs.Open sql, bd, adOpenKeyset, adLockOptimistic
  14.     If rs.recordCount > 0 Then _
  15.         rs.MoveFirst
  16.     'Regresa el recordset
  17.     Set crearConsulta = rs
  18. End Function
  19.  
  20. 'Llena un comboBox con un campo de un recordset
  21. Public Sub LlenarComboRs(rs As Recordset, Campo As Integer, combo As Object)
  22.     Dim aux As Long
  23.     'Limpia el combo
  24.     combo.Clear
  25.     'Si esta situado en un registro
  26.     If rs.recordCount > 0 Then
  27.         With rs
  28.             'Guarda la posicion en la k esta el recordset
  29.             aux = .AbsolutePosition
  30.             'Se mueve al primero para ir uno por uno hasta el final
  31.             .MoveFirst
  32.             While (Not .EOF)
  33.                 'Agrega el elemento al combo y pasa al siguiente
  34.                 combo.AddItem .Fields(Campo)
  35.                 .MoveNext
  36.             Wend
  37.             'Se regresa al primero, y despues al que estaba cuando se llamó la función
  38.             .MoveFirst
  39.             .Move aux - 1
  40.         End With
  41.     End If
  42.     combo.Text = "Seleccione"
  43. End Sub
  44.  
  45.  

'Y en el evento gotFocus (aunque yo te recomiendo en el evento dropDown)
'mandas a llamar al recordset, y despues a llenarCombo
Código: Text
  1.  
  2. Private Sub Combo1_GotFocus()
  3.     Dim rs As Recordset
  4.     'Este es un ejemplo, debes cambiar el nombre de tu BD y tu consulta
  5.     Set rs = crearConsulta("C:\Consultorio\systech.mdb", "Select nombre from pacientes")
  6.     'El segundo parametro (en este caso 0) es el numero del campo del recordset
  7.     LlenarComboRs rs, 0, Combo1
  8. End Sub
  9.  
  10.  

56
Bases de Datos / Re: Ingreso De Horas Y Fechas En Vb 6.0
« en: Viernes 22 de Diciembre de 2006, 20:36 »
Pues el código que yo puse, primero lo  probé, y me guardó los datos sin mayor problema.     :)

57
Bases de Datos / Re: Ingreso De Horas Y Fechas En Vb 6.0
« en: Viernes 22 de Diciembre de 2006, 01:10 »
Que tipo de base de datos es?, que objeto usas?

58
Visual Basic 6.0 e inferiores / Re: Texto Seleccionado Data Grid En Vb 6.0
« en: Viernes 22 de Diciembre de 2006, 01:03 »
Código: Text
  1.  
  2. Msgbox datagrid1.text
  3.  
  4.  

59
Bases de Datos / Re: Ingreso De Horas Y Fechas En Vb 6.0
« en: Jueves 21 de Diciembre de 2006, 22:48 »
Te faltó meter entre comillas simples, los valores (date, time). Va de la siguiente manera:

Código: Text
  1.  
  2. strSQL = "INSERT INTO llamada(hora,fecha) VALUES('" & Time & "','" & Date & "')"
  3.  
  4.  

60
Visual Basic 6.0 e inferiores / Re: Imprimir Textbox
« en: Miércoles 20 de Diciembre de 2006, 06:49 »
Bueno, muchas gracias, pero ya lo encontré, jeje, pensé que no me entenderían, aqui les dejo el código para que lo vean.

Código: Text
  1.  
  2. ' Función del API de Windows de 32 bits de múltiple uso
  3. Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
  4.     (ByVal hWnd As Long, ByVal wMsg As Long, _
  5.     ByVal wParam As Long, ByVal lParam As Long) As Long
  6.  
  7.  
  8. Public Sub ImprimirPorLinea(qControl As TextBox, margenIzquierdo As Integer, margenSuperior As Integer)
  9.     ' Este procedimiento tomará cada línea de un textbox multiline  (23/Ene/00)
  10.     ' y lo imprimirá en la impresora predeterminada
  11.     '
  12.     ' El parámetro qControl, será el TextBox a usar, en este caso no es necesario
  13.     ' ya que sólo tenemos un TextBox, pero si se usaran varios...
  14.     ' sería un procedimiento de uso genérico...
  15.     '
  16.     Dim i As Long, k As Long
  17.     Dim L1 As Long, L2 As Long
  18.     ' Constantes para usar con SendMessage
  19.     Const EM_GETLINECOUNT = &HBA
  20.     Const EM_LINEFROMCHAR = &HC9
  21.     Const EM_LINELENGTH = &HC1
  22.     Const EM_LINEINDEX = &HBB   '--- Faltaba esta declaración       (21/Abr/00)
  23.  
  24.     ' Número de líneas del TextBox
  25.     k = SendMessage(qControl.hWnd, EM_GETLINECOUNT, 0, 0&)
  26.     Printer.ScaleLeft = margenIzquierdo * -1
  27.     Printer.ScaleTop = margenSuperior * -1
  28.    
  29.     Printer.Print ""
  30.     For i = 0 To k - 1
  31.         ' Primer carácter de la línea actual
  32.         L1 = SendMessage(qControl.hWnd, EM_LINEINDEX, i, 0&) + 1
  33.         ' Longitud de la línea actual
  34.         L2 = SendMessage(qControl.hWnd, EM_LINELENGTH, L1, 0&)
  35.         ' Imprimimos el trozo de texto que representa a una línea
  36.         Printer.Print Mid$(qControl.Text, L1, L2)
  37.     Next
  38.     ' Le indicamos que ya no hay más que imprimir
  39.     Printer.EndDoc
  40. End Sub
  41.  
  42.  

61
Visual Basic 6.0 e inferiores / Imprimir Textbox
« en: Miércoles 20 de Diciembre de 2006, 06:39 »
Disculpen, me gustaría que me ayudaran a imprimir el text de un textBox, ya pude imprimirlo con el objeto Printer, pero no como lo deseo.

Planteo mi problema: tengo un textBox con la propiedad multiline, y quiero que aparezca en la impresión igual. O sea, renglón por renglón. Espero me ayuden. Gracias.

62
Visual Basic 6.0 e inferiores / Re: Inhabilitar Textbox
« en: Domingo 17 de Diciembre de 2006, 19:00 »
Pues lo que yo he hecho, es algo parecido a lo que comentó alberto, en el evento gotfocus le paso el foco al siguiente control y listo.

Quiero inhabilitar el text1
Código: Text
  1.  
  2. 'Al evento, le paso el foco a otro control
  3. Private Sub Text1_GotFocus()
  4.     Text2.SetFocus
  5. End Sub
  6.  
  7.  

Espero y te sirva

63
Visual Basic 6.0 e inferiores / Re: Calendario Vb6
« en: Jueves 14 de Diciembre de 2006, 06:45 »
Si el calendar me ha dado muchos problemas, a veces que se quiere usar, cuando el programa ya está instalado, no aparecen los números de las fechas, en vez de eso, aparecen puntos "."

64
Visual Basic para principiantes / Re: Conexion A Una Base De Datos
« en: Martes 12 de Diciembre de 2006, 16:21 »
Pues si lo estás haciendo con un Adodc tienes que seleccionar el proveedor Microsoft Jet 4.0 OLE DB Provider

65
Visual Basic 6.0 e inferiores / Re: Apagar El Equipo
« en: Lunes 11 de Diciembre de 2006, 23:40 »
Pues mira, para apagar la pc, necesitas de una función de API, se llama InitiateSystemShutdown. Para comprobar la hora en que se puede apagar, puedes usar un timer, para que cada segundo compruebe si ya se debe apagar la pc o no.

Declaración de la función
Código: Text
  1.  
  2. 'Esta declaración copiala a un modulo bas
  3. Declare Function InitiateSystemShutdown Lib "advapi32.dll" Alias "InitiateSystemShutdownA" _
  4.     (ByVal lpMachineName As String, ByVal lpMessage As String, _
  5.     ByVal dwTimeout As Long, ByVal bForceAppsClosed As Long, _
  6.     ByVal bRebootAfterShutdown As Long) As Long
  7.  
  8.  

Comprobación de la hora de apagado, con el evento timer del control timer
Código: Text
  1.  
  2. Private Sub Timer1_Timer()
  3.     Dim nombrePC As String
  4.     Dim horaActual As String, horaApagado As String
  5.     horaActual = Format(Time, "hh:mm:ss AM/PM")
  6.     horaApagado = Format(Text1.Text, "hh:mm:ss AM/PM")'La hora de apagado está en un text
  7.     nombrePC = "\\192.168.1.102" 'Aki debes poner la IP o nombre de la computadora
  8.    'Si ya pasó la hora de apagado, psss apagala
  9.     If horaActual >= horaApagado Then
  10.         'Llamo a la función de apagado, para que se apague en 10 segundos
  11.         InitiateSystemShutdown nombrePC, "El sistema se está apagando", 10, True, False
  12.         Timer1.Enabled = False'Deshabilito el timer
  13.     End If
  14. End Sub
  15.  
  16.  

Espero te sirva, aqui debes poner tu manualmente, la ip, o el nombre de la maquina. Pero con el control winsock puedes extraer la IP de tu maquina.  :hola:

66
Bases de Datos / Re: Problemas Para Compilar Access En Vb Fuera De Mipc
« en: Miércoles 6 de Diciembre de 2006, 16:12 »
En el paquete de instalacion que te generó, hay un archivo setup.lst, abrelo con el block de notas, y busca la palabra DLLSelfRegisterEx, y a ésta borrale el Ex, para que sòlo quede DLLSelfRegister, y guarda el archivo. Y prueba instalarlo nuevamente.

67
Bases de Datos / Distinct En Data Report
« en: Domingo 3 de Diciembre de 2006, 19:00 »
Hola, como están? espero k bien. Bueno, espero que me ayuden, ya que me he atorado con un reporte que estoy haciendo. Tengo una consulta sql, y funciona a la perfección en Access y en un ado. Cuando lo paso a una conexión, para hacer un reporte, si me lo acepta. Pero al querer llamar a la conexión me marca un error. El cual se soluciona si le quito la palabra DISTINCT a mi consulta.

Consulta SQL
Código: Text
  1.  
  2. SELECT DISTINCT FechaI,FechaF,Pacientes.Nombre, Medicinas.Nombre,num FROM Medicinas INNER JOIN (Pacientes INNER JOIN (Consultas INNER JOIN Receto ON Consultas.Id = Receto.Consulta) ON Pacientes.Id = Consultas.Paciente) ON Medicinas.Id = Receto.Medicina WHERE Medicinas.Nombre= Medic and ((Consultas.Fecha) Between FechaI And FechaF)
  3.  
  4.  

Aquí me marca el error cuando la consulta de arriba tiene la palabra DISTINCT
Código: Text
  1.  
  2. dEnv1.GrandTotal1 lblFechaInicio.caption, lblFechaFin.caption, noRecetas, cmbMedicina.Text
  3.  
  4.  

Les agradecería su ayuda. Necesito usar la palabra DISTINCT, porque lo que necesito son nombres de personas, pero que no se repitan.

68
Bases de Datos / Re: Restar Tablas
« en: Domingo 3 de Diciembre de 2006, 18:53 »
Muchas gracias, por la ayuda ofrecida. Aqui tengo el código que me solucionó el problema, con una consulta SQL.

Código: Text
  1.  
  2. SELECT clientes.Nombre
  3. FROM clientes
  4. WHERE clientes.Id Not In (select Cliente from deben);
  5.  
  6.  

Grax por todo!! :D

69
Bases de Datos / Restar Tablas
« en: Viernes 1 de Diciembre de 2006, 01:26 »
Tengo una tabla clientes [id, nombre]  y otra Deben [id,cliente], quiero saber que clientes son los que no deben, es decir, los registros de la tabla clientes que no aparecen en la tabla deben. No se si sea un tipo de Join, como Left join o algo así, les agradezco su ayuda.

70
Visual Basic 6.0 e inferiores / Re: Saber Q Formulario Llamo
« en: Martes 28 de Noviembre de 2006, 07:11 »
Pues lo que haría yo es poner una variable pública en el form 2, tipo string, por decir llamada padre.  Y cuando llamo al form2, a la variable padre, le asigno el nombre del formulario que lo llamó. Entonces, en la variable padre ya tienes el nombre de su padre.

Código: Text
  1.  
  2. 'Codigo en el form2
  3. public padre as string
  4.  
  5. 'Codigo en el form1
  6. form2.padre = "form1"
  7. form2.show
  8.  
  9. 'Codigo en el form3
  10. form2.padre = "form3"
  11. form2.show
  12.  
  13.  
  14.  

71
Visual Basic 6.0 e inferiores / Re: Duda:como Poner Mi App Como Servicio De Win
« en: Viernes 24 de Noviembre de 2006, 05:50 »
Pues yo lo he hecho con el siguiente codigo:

Código: Text
  1.  
  2.     Dim Registro As Object
  3.     Dim File As String
  4.     'Crea el objeto manejador del registro
  5.     Set Registro = CreateObject("WScript.Shell")
  6.     File = App.Path & "\" & App.EXEName & ".exe"
  7.     Registro.RegWrite "HKLM\SoftWare\Microsoft\Windows\CurrentVersion\run\" & App.EXEName, File
  8.  
  9.  

72
C/C++ / Re: [c]puntero A Cadena De Caracteres
« en: Domingo 19 de Noviembre de 2006, 21:50 »
Prueba este codigo, a ver si te sirve. No usé apuntadores.

Código: Text
  1.  
  2. #include<stdio.h>
  3. #include<math.h>
  4. #include<stdlib.h>
  5. #include<string.h>
  6. #define MAXLINE 80
  7.  
  8. void main(int argc, char *argv[]){
  9.   char* nombre_fichero=argv[1];
  10.  
  11.   char lineas[10][MAXLINE];
  12.  
  13.   int seguir=1;
  14.   int i=0;
  15.   int j=0;
  16.  
  17.   do
  18.   { gets(lineas[i]);
  19.    if(lineas[i][0]!='\0')
  20.    {  printf("%s\n",lineas[i]);
  21.     i++;
  22.    }
  23.    else
  24.     seguir=0;
  25.   }while(seguir);
  26.   printf("%s\n",lineas[0]);
  27.  
  28. }
  29.  
  30.  

73
VB .NET / Re: Manual De Vb .net
« en: Lunes 30 de Octubre de 2006, 22:44 »
Hola, me gustaria también que me enviaran el manual, se los agradeceria mucho. Una opinión, deberían subirlo de nuevo.
Ahh sobre el comentario de los e-books, tambien deberian pasarlos.
Mi correo es aldair861101@gmail.com
Muchas gracias.

74
C/C++ / [Código Fuente] Re: HELp
« en: Martes 26 de Octubre de 2004, 17:38 »
Claro que te puedo ayudar pero dejame tu correo.

75
C/C++ / [Código Fuente] Re: Muy bueno
« en: Viernes 10 de Septiembre de 2004, 18:29 »
No entiendo cuando dices k te da un error cuando lo ejecutas, no se si te refieres al exe o cuando lo ejecutas desde Visual C++, pero yo lo compile desde Turbo C, asi k te sugiero que descargues este programa y lo cheques.

Páginas: 1 2 [3] 4