|
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
51
« 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. 'De un string, que tiene elementos separados por comas, los saca y los mete en un collection Public Function separaElementosPorComa(texto As String) As Collection Dim inic As Integer, coma As Integer Dim a As Collection Dim elemento As String Set a = New Collection inic = 0 coma = 1 While coma <> 0 coma = InStr(inic + 1, texto, ",") 'Si encontró la coma If coma > 0 Then elemento = Trim(Mid(texto, inic + 1, coma - inic - 1)) Else elemento = Trim(Mid(texto, inic + 1, Len(texto) - inic)) End If If elemento <> "" Then a.Add elemento inic = coma + 1 Wend Set separaElementosPorComa = a End Function
A ésta parte no te entendí 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
« 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
« 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
« 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 private sub guardarDatos Dim rs as recordset set rs = crearConsulta("miBaseDeDatos.mdb","Select hora,fecha from llamada") rs.addNew rs.fields!hora = time rs.fields!fecha = date rs.update end sub
Y aqui está la funcion para crear el recordset 'Crea una consulta y la regresa como un recordset Public Function crearConsulta(baseDeDatos As String, sql As String) As Recordset Dim bd As Connection, rs As Recordset Set bd = New Connection Set rs = New Recordset 'Genera la cadena de conexión bd.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ baseDeDatos & ";Persist Security Info=False" 'Abre la base de datos bd.Open 'Se la asigna al recordset rs.Open sql, bd, adOpenKeyset, adLockOptimistic If rs.recordCount > 0 Then _ rs.MoveFirst 'Regresa el recordset Set crearConsulta = rs End Function
55
« 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: 'Crea una consulta y la regresa como un recordset Public Function crearConsulta(baseDeDatos As String, sql As String) As Recordset Dim bd As Connection, rs As Recordset Set bd = New Connection Set rs = New Recordset 'Genera la cadena de conexión bd.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ baseDeDatos & ";Persist Security Info=False" 'Abre la base de datos bd.Open 'Se la asigna al recordset rs.Open sql, bd, adOpenKeyset, adLockOptimistic If rs.recordCount > 0 Then _ rs.MoveFirst 'Regresa el recordset Set crearConsulta = rs End Function 'Llena un comboBox con un campo de un recordset Public Sub LlenarComboRs(rs As Recordset, Campo As Integer, combo As Object) Dim aux As Long 'Limpia el combo combo.Clear 'Si esta situado en un registro If rs.recordCount > 0 Then With rs 'Guarda la posicion en la k esta el recordset aux = .AbsolutePosition 'Se mueve al primero para ir uno por uno hasta el final .MoveFirst While (Not .EOF) 'Agrega el elemento al combo y pasa al siguiente combo.AddItem .Fields(Campo) .MoveNext Wend 'Se regresa al primero, y despues al que estaba cuando se llamó la función .MoveFirst .Move aux - 1 End With End If combo.Text = "Seleccione" End Sub
'Y en el evento gotFocus (aunque yo te recomiendo en el evento dropDown) 'mandas a llamar al recordset, y despues a llenarCombo Private Sub Combo1_GotFocus() Dim rs As Recordset 'Este es un ejemplo, debes cambiar el nombre de tu BD y tu consulta Set rs = crearConsulta("C:\Consultorio\systech.mdb", "Select nombre from pacientes") 'El segundo parametro (en este caso 0) es el numero del campo del recordset LlenarComboRs rs, 0, Combo1 End Sub
56
« 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
« en: Viernes 22 de Diciembre de 2006, 01:10 »
Que tipo de base de datos es?, que objeto usas?
58
« en: Viernes 22 de Diciembre de 2006, 01:03 »
59
« en: Jueves 21 de Diciembre de 2006, 22:48 »
Te faltó meter entre comillas simples, los valores (date, time). Va de la siguiente manera: strSQL = "INSERT INTO llamada(hora,fecha) VALUES('" & Time & "','" & Date & "')"
60
« 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. ' Función del API de Windows de 32 bits de múltiple uso Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hWnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, ByVal lParam As Long) As Long Public Sub ImprimirPorLinea(qControl As TextBox, margenIzquierdo As Integer, margenSuperior As Integer) ' Este procedimiento tomará cada línea de un textbox multiline (23/Ene/00) ' y lo imprimirá en la impresora predeterminada ' ' El parámetro qControl, será el TextBox a usar, en este caso no es necesario ' ya que sólo tenemos un TextBox, pero si se usaran varios... ' sería un procedimiento de uso genérico... ' Dim i As Long, k As Long Dim L1 As Long, L2 As Long ' Constantes para usar con SendMessage Const EM_GETLINECOUNT = &HBA Const EM_LINEFROMCHAR = &HC9 Const EM_LINELENGTH = &HC1 Const EM_LINEINDEX = &HBB '--- Faltaba esta declaración (21/Abr/00) ' Número de líneas del TextBox k = SendMessage(qControl.hWnd, EM_GETLINECOUNT, 0, 0&) Printer.ScaleLeft = margenIzquierdo * -1 Printer.ScaleTop = margenSuperior * -1 Printer.Print "" For i = 0 To k - 1 ' Primer carácter de la línea actual L1 = SendMessage(qControl.hWnd, EM_LINEINDEX, i, 0&) + 1 ' Longitud de la línea actual L2 = SendMessage(qControl.hWnd, EM_LINELENGTH, L1, 0&) ' Imprimimos el trozo de texto que representa a una línea Printer.Print Mid$(qControl.Text, L1, L2) Next ' Le indicamos que ya no hay más que imprimir Printer.EndDoc End Sub
61
« 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
« 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 'Al evento, le paso el foco a otro control Private Sub Text1_GotFocus() Text2.SetFocus End Sub
Espero y te sirva
63
« 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
« 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
« 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 'Esta declaración copiala a un modulo bas Declare Function InitiateSystemShutdown Lib "advapi32.dll" Alias "InitiateSystemShutdownA" _ (ByVal lpMachineName As String, ByVal lpMessage As String, _ ByVal dwTimeout As Long, ByVal bForceAppsClosed As Long, _ ByVal bRebootAfterShutdown As Long) As Long
Comprobación de la hora de apagado, con el evento timer del control timer Private Sub Timer1_Timer() Dim nombrePC As String Dim horaActual As String, horaApagado As String horaActual = Format(Time, "hh:mm:ss AM/PM") horaApagado = Format(Text1.Text, "hh:mm:ss AM/PM")'La hora de apagado está en un text nombrePC = "\\192.168.1.102" 'Aki debes poner la IP o nombre de la computadora 'Si ya pasó la hora de apagado, psss apagala If horaActual >= horaApagado Then 'Llamo a la función de apagado, para que se apague en 10 segundos InitiateSystemShutdown nombrePC, "El sistema se está apagando", 10, True, False Timer1.Enabled = False'Deshabilito el timer End If End Sub
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.
66
« 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
« 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 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)
Aquí me marca el error cuando la consulta de arriba tiene la palabra DISTINCT dEnv1.GrandTotal1 lblFechaInicio.caption, lblFechaFin.caption, noRecetas, cmbMedicina.Text
Les agradecería su ayuda. Necesito usar la palabra DISTINCT, porque lo que necesito son nombres de personas, pero que no se repitan.
68
« 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. SELECT clientes.Nombre FROM clientes WHERE clientes.Id Not In (select Cliente from deben);
Grax por todo!!
69
« 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
« 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. 'Codigo en el form2 public padre as string 'Codigo en el form1 form2.padre = "form1" form2.show 'Codigo en el form3 form2.padre = "form3" form2.show
71
« en: Viernes 24 de Noviembre de 2006, 05:50 »
Pues yo lo he hecho con el siguiente codigo: Dim Registro As Object Dim File As String 'Crea el objeto manejador del registro Set Registro = CreateObject("WScript.Shell") File = App.Path & "\" & App.EXEName & ".exe" Registro.RegWrite "HKLM\SoftWare\Microsoft\Windows\CurrentVersion\run\" & App.EXEName, File
72
« en: Domingo 19 de Noviembre de 2006, 21:50 »
Prueba este codigo, a ver si te sirve. No usé apuntadores. #include<stdio.h> #include<math.h> #include<stdlib.h> #include<string.h> #define MAXLINE 80 void main(int argc, char *argv[]){ char* nombre_fichero=argv[1]; char lineas[10][MAXLINE]; int seguir=1; int i=0; int j=0; do { gets(lineas[i]); if(lineas[i][0]!='\0') { printf("%s\n",lineas[i]); i++; } else seguir=0; }while(seguir); printf("%s\n",lineas[0]); }
73
« 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
« en: Martes 26 de Octubre de 2004, 17:38 »
Claro que te puedo ayudar pero dejame tu correo.
75
« 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.
|
|
|