|
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 - Brroz
Páginas: 1 2 [3] 4 5 ... 43
51
« en: Miércoles 9 de Marzo de 2005, 16:51 »
Hola xcenro.
No sé si comprendería muy bien lo que necesitas, porque... ¿por qué no usar un formulario en el que se muestre la información que tu quieras?
Me resulta tan evidente que por eso digo que no sé si te habré comprendido bien...
Chao.
53
« en: Miércoles 9 de Marzo de 2005, 16:36 »
Hola widark.
Si esto lo quieres hacer desde word, en principio no sé como hacerlo... probablemente usando las correspondientes funciones del api se pueda. Ahora no recuerdo cuales (enumPrinters creo que era, o algo así). Tal vez deberías postear esto en el foro de VBA.
Si te vale desde Vb, es muy sencillo: enumera todos los miembros de la colección Printers.
Chau.
54
« en: Miércoles 9 de Marzo de 2005, 16:30 »
Hola none123. con el MaskedBox el cual me resulto muy util hasta q descubri q no posee la principal caracteistica del text box --> NO SE LE PUEDE AGREGAR TEXT
A un MaskedBox SÍ le puedes establecer un texto mediante su propiedad TEXT, pero eso sí, el formato del texto ha de ser exactamente igual al que corresponde a la máscara. Por ejemplo: MaskEdBox1.Mask = "###.###.###.####" 'Esto funciona MaskEdBox1.Text = Format("1234567890123", "###.###.###.####") 'Esto también MaskEdBox1.Text = "123.456.789.0123" 'Esto peta MaskEdBox1.Text = "1234567890123"
Tampoco estaría mal optar por varios textbox juntitos y alineados y separados por un punto... Chao.
55
« en: Miércoles 9 de Marzo de 2005, 16:15 »
Gracias de nuevo a vosotr@s amigüit@s... os recuerdo que participar en el foro también me aporta a mi beneficios (¡y no económicos, claro!). Por otro lado, tampoco es para tanto... hay otra mucha gente válida y competente por aquí resolviendo muchas cuestiones... ArKaNtOs: http://foros.solocodigo.com/index.php?showtopic=7778por ahí explicaba lo del avatar. Radical: rpg, cobol, cl, basic, un poquito (casi ná) c/c++, otro poquito de java, algo con netdata y html... en fin unas cosillas por aquí y otras por allá. La mayor parte de mi experiencia en informática ha sido en el área de sistemas, normalmente con plataformas as400 (iSeries, vale). Aunque siempre he tenido que hacer algunos programillas, programar, programar, lo que se dice a programar aplicaciones de verdad, me dedico tan solo desde hace unos pocos años. Chao.
56
« en: Miércoles 9 de Marzo de 2005, 15:57 »
Hola Roxii.
Lamento no haber podido responder antes...
Aquí dejo adjunto un zip con lo siguiente:
1 proyecto Exe ActiveX Compila este proyecto en tu pc para probar el tema.
2 proyectos Exe estándard. Compila los dos proyectos comprobando que tengan una referencia al proyecto anterior
3 Ejecutables compilados. No te serviran de mucho, ya que el exe activex no estará registrado en tu máquina, pero bueno.
Una vez que tengas los tres proyectos compilados, ejecuta LanzarDemo.Exe. Aparecerá el formulario del exe activeX. Luego ejecuta Ejecutable1 y ... ¡Chan!
Espero que algo similar a esto sea lo que necesitas.
Chau.
58
« en: Miércoles 2 de Marzo de 2005, 16:00 »
Hola Guval. Lo que necesitas es algo así: Por ejemplo en un formulario con un textbox (Text1) con Multiline = True y un commandbutton (command1). Option Explicit Option Base 0 Private iEstatica(5) As Integer Private iDinamica() As Integer Private Sub Form_Load() LoadEstatica LoadDinamica End Sub Private Sub LoadEstatica() Dim iIdx As Integer For iIdx = 0 To 4 iEstatica(iIdx) = iIdx + 1 Next iIdx End Sub Private Sub LoadDinamica() ReDim iDinamica(22) Dim iIdx As Integer For iIdx = 0 To 21 iDinamica(iIdx) = iIdx + 6 Next iIdx End Sub Private Sub Command1_Click() Text1.Text = "" Dim sEstatica As String, sDinamica As String Dim iBound As Integer, iCount As Integer Dim iIdx As Integer, iFrom As Integer, iIdx2 As Integer iBound = UBound(iDinamica) - 1 iCount = 4 Do Until iCount = 0 sEstatica = "" For iIdx = 0 To iCount sEstatica = sEstatica & iEstatica(iIdx) & " " Next iIdx For iIdx = 0 To 3 - iCount sEstatica = sEstatica & iDinamica(iIdx) & " " Next iIdx iFrom = 4 - iCount For iIdx = iFrom To iBound sDinamica = "" iIdx2 = iIdx Do sDinamica = sDinamica & iDinamica(iIdx2) & " " iIdx2 = iIdx2 + 1 Loop Until iIdx2 > 4 - iCount Text1.Text = Text1.Text & sEstatica & sDinamica & vbCrLf iFrom = iFrom + 1 Next iIdx iCount = iCount - 1 Loop End Sub
No te acostumbres a pedir y que te lo den todo hecho. Tu problema me huele a ejercicio estudiantil... para la próxima intenta aportar algo de tu parte o por lo menos cuentanos lo que habías intentado y probado. Adiós.
59
« en: Martes 1 de Marzo de 2005, 12:19 »
Gracias por tus felicitaciones Rober... la verdad, creo que voy a acabar con el ego por las nubes...
Mi relación con solocodigo es simbiótica: participar en los foros tiene para mi las siguientes ventajas:
-Se aprende de la propia experiencia y de la de los demás.
-Sirve como cambio de actividad. Cuando llevo cierto tiempo programando en un mismo tema, intelectualmente es un respiro poder atender en solocodigo otro asunto que no tiene nada que ver con lo que estaba haciendo, aunque a veces (siempre intento que las menos) la carga de trabajo no permita tomarse ese respiro.
- Vale como entrenamiento para la resolución de problemas, tanto propios como de usuario (aunque cada vez estén más lejos los tiempos en que empecé a currar en esto como operador y mi día a día era pelear con usuarios).
- Y por supuesto, permite plantear dudas que me puedan surgir.
Por estos motivos, yo también tengo cosas que agradecer a solocodigo y a todos los foreros participantes.
¡Moitas gracias companheir@s!
60
« en: Lunes 28 de Febrero de 2005, 15:15 »
Hola MATAO.
Una vez que el formulario deja de tener el enfoque también deja de recibir cualquier posible pulsación de teclas que el usuario realice.
Mediante VB me temo que no es posible hacer lo que pretendes... a no ser, claro, que el foco lo tuviera otro objeto que tu pudieses controlar.
Suerte.
61
« en: Lunes 28 de Febrero de 2005, 15:14 »
Hola MATAO.
Una vez que el formulario deja de tener el enfoque también deja de recibir cualquier posible pulsación de teclas que el usuario realice.
Mediante VB me temo que no es posible hacer lo que pretendes... a no ser, claro, que el foco lo tuviera otro objeto que tu pudieses controlar.
Suerte.
62
« en: Lunes 28 de Febrero de 2005, 15:06 »
Hola none123 Lo que le digo a roxii que pienso supongo que también te lo puedes aplicar tu: http://foros.solocodigo.com/index.php?showtopic=13730Como es un tema muy general y tendrías que estudiar tu caso particular para buscar la mejor solución a tus necesidades... poner un ejemplo de código de esto (sobre todo de todas las posibilidades) es algo trabajoso y que da mucha pereza. Suerte.
63
« en: Lunes 28 de Febrero de 2005, 14:59 »
Hola maestro. Tu código debería ser algo así, optimizaciones aparte: Private Sub CmdAlterna01_Click() Dim iIdx As Integer If cmdHardware.Caption = "Usuario Actual" Then cmdHardware.Caption = "Todos los usuarios" For iIdx = 0 To 2 Select Case Check1(iIdx).Tag Case 8 Check1(iIdx).Enabled = True Case 9 Check1(iIdx).Enabled = False Case 10 Check1(iIdx).Enabled = True End Select Next iIdx ElseIf cmdHardware.Caption = "Todos los usuarios" Then cmdHardware.Caption = "Usuario Actual" For iIdx = 0 To 2 Select Case Check1(iIdx).Tag Case 8 Check1(iIdx).Enabled = False Case 9 Check1(iIdx).Enabled = True Case 10 Check1(iIdx).Enabled = True End Select Next iIdx End If End Sub
Estabas usando la variable 'index', que no sé dónde la tendrías declarada, supongo que con valor 0, por lo que sólo te funcionaba con un check. Chao.
64
« en: Viernes 25 de Febrero de 2005, 13:45 »
Hola roxii.
Si tu aplicación fuese de tipo exe activeX, Otros programas podrían acceder a ella a través de instancias a alguna de sus clases: Podrías, por ejemplo, tener en tu exe actX una clase pública que manejara ciertos parámetros de tu aplicación y por otro lado, un programa que mediante GetObject obtuviera una instancia de esa clase de forma que pudiese manejar esos parámetros.
No sé si me habré explicado muy bien... para hacerte otra idea piensa en el programa excel.exe: es un exe activeX y puedes desde otro programa rellenar una hoja del libro que tengas abierto.
También podrías crear otra forma interesante de comunicación entre aplicaciones usando sockets. O incluso de una forma más chapucera mediante archivos o bases de datos,
Por otra parte, si a tu aplicación principal no le interesa obtener ningún resultado después de la ejecución del pluggin, la cosa queda tremendamente simplificada: bastaría con que llames al programa pasándole como parámetro el valor que necesites. Recibe el parámetro mediante Command y actua en consecuencia.
Suerte.
65
« en: Viernes 25 de Febrero de 2005, 13:28 »
Hola sori.
No sé si con un datagrid puedes hacer esas cosas, pero por si te sirve o animas a cambiar, con un MsFlexGrid sí que puedes. Las propiedades que te interesan son: - FixedCols - CellBackColor - CellForeColor
Eso sí, tendrías que rellenar el grid a pedal.
Chao.
66
« en: Viernes 25 de Febrero de 2005, 13:16 »
Verás ebolo...
En un principio yo tampoco me dí cuenta del detalle, pero el 'if' puede fallar porque en un textbox multiline, puede haber líneas que no acaben con retorno de carro y nueva línea: si escribiendo en el textbox llegas al final de la línea, automáticamente sigues escribiendo en la siguiente, y sin haber añadido un cr+lf. Osea, tienes una nueva línea que no podrías localizar ya que el texto no incluye en esa posición el correspondiente salto. De ahí que necesites enviar mensajes al control para obtener el número de líneas y donde empiezan.
Espero haberme explicado bien.
Chao.
67
« en: Jueves 24 de Febrero de 2005, 17:21 »
Hola. Prueba con la función así: Public Function ImprimirXLinea(qControl As TextBox) As String Const EM_GETLINECOUNT = &HBA Const EM_LINEINDEX = &HBB Const EM_LINELENGTH = &HC1 Dim lLinesCount As Long, lFirstChr As Long, lLineLen As Long lLinesCount = SendMessage(qControl.hwnd, EM_GETLINECOUNT, 0&, 0&) Dim sTextoI As String sTextoI = Replace(qControl.Text, vbCrLf, "") Dim lIdx As Long, iIni As Integer iIni = 1 For lIdx = 0 To lLinesCount - 1 lFirstChr = SendMessage(qControl.hwnd, EM_LINEINDEX, lIdx, 0&) + iIni lLineLen = SendMessage(qControl.hwnd, EM_LINELENGTH, lFirstChr, 0&) ImprimirXLinea = ImprimirXLinea & Left(sTextoI, lLineLen) & "\n" sTextoI = Mid(sTextoI, lLineLen + 1) iIni = 0 Next lIdx End Function
Chao.
68
« en: Jueves 24 de Febrero de 2005, 16:29 »
Hola. Igual no se os ocurrió usar como alternativa la función Split. Haz una prueba pasando el texto del textbox a esta función para ver cómo funciona: Private Sub Dividir(Byval Texto As String) Dim var1 As Variant var1 = Split(Texto, vbCrLf) Dim i1 As Integer For i1 = 0 To Ubound(var1) MsgBox var1(i1) Next i1 End Sub
...Desdee luego que la solución de ebolo es más directa en cuanto ya prepara el texto para ser grabado en la bd (sustituyendo cr + lf por '/n'), pero bueno, por tener en cuenta posibilidades... Chao.
69
« en: Jueves 24 de Febrero de 2005, 16:19 »
Hola. ¿Y no podrías utilizar FileCopy en vez de complicarte la vida? De todas formas se puede hacer abriendo origen y destino como binary y leer de un lado y escribir en otro. Resumidamente algo así: Public Sub Copiar(byval Origen as string, byval Destino as string) As Boolean On Error goto Err_Copiar Dim iCanalI as Integer Dim iCanalO as integer iCanalI = FreeFile Open Origen For Binary As iCanalI iCanalO = FreeFile Open Destino For Binary As iCanalO Dim byt1() As Byte Redim byt1(LOF(iCanalI)) Get iCanalI, ,byt1 Put iCanalO, ,byt1 Copiar = True Exit_Copiar: On Error Resume Next Close iCanalI Close iCanalO Exit Function Err_Copiar: MsgBox Err.Description, vbcritical,"Copiar" End Function
A este simple código convendría añadirle comprobación de la existencia de los archivos y si el tamaño del archivo a copiar es muy grande implementar un buffer realizando varias lecturas y escrituras... de todas formas yo no me complicaría lo más mínimo y usaría el método FileCopy. Suerte.
70
« en: Jueves 24 de Febrero de 2005, 16:07 »
Hola walljust.
En principio no tienes que hacer nada especial a la hora de compilar...
Añade una entrada en el registro a la clave HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices o en HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run con una descripción y la línea de comando necesaria para el llamar a tu programa.
También podrías usar una una tarea programada para lanzar tu aplicación.
Chao.
71
« en: Miércoles 23 de Febrero de 2005, 17:27 »
Hola.
¿Qué tal algo así? [Code] Public Function TransformarNumero(Byval Num as double) As String TransformarNumero = Replace(CStr(Num), ",", "") TransformarNumero = Replace(TransformarNumero, ".", "") End Function [Code]
Chao.
72
« en: Miércoles 23 de Febrero de 2005, 17:22 »
Hola DiabloRojo. En el archivo hosts (o lmhosts, o similar) se almacena la equivalencia entre un nombre de host y su dirección IP, de forma que te puedes referir al host mediante un nombre, cosa que es más amigable que usar una ip. Mapear una unidad de red consiste en asignar una letra de unidad de tu equipo a un recurso en la red. Puedes conseguir esto mediante NET USE, o a mano, desde el explorador de archivos, menú Herramientas>Conectar a unidad de red... Con respecto al comenteario sobre hacer la aplicación como tipo IIS o DHTML; he leído algo al respecto pero me decanto por VB 6.0 que es lo que conozco mejor.
Hablo de una aplicación de este tipo, pero por supuesto hecha con vb. Los proyectos de este estilo tienen la ventaja de que puedes crear una aplicación para internet valiéndote de tus conocimientos de vb, pudiendo separar por un lado el diseño web y por otro programación vb pura. suerte.
73
« en: Miércoles 23 de Febrero de 2005, 17:11 »
Hola como les contaba a alguno estaba creando una mini agenda y ya solucione el apartado para buscar una ficha pero ahora tengo otro para añadir una ficha
... Pues eso, utiliza el 'apartado' para buscar una ficha, ¿no? Adeus.
74
« en: Sábado 19 de Febrero de 2005, 10:29 »
Hola demonio. Crea en el servidor un recurso compartido y aloja allí la base de datos. Otorga los correspondientes permisos a los usuarios. En cada uno de los equipos instalas la aplicación. Haz parametrizable la elección de la base de datos con la que conectarse y establece ese valor apuntando a la bd en el recurso compartido del servidor. Te puedes referir a la bd de alguna de estas formas: 'Se necesita una entrada en archivo host, lmhost o servidor de nombres de dominio \\NombreHost\Carpeta\Archivo.bd \\999.999.999.999\Carpeta\Archivo.bd 'Necesitas tener mapeada una unidad de red con el recurso compartido. X:\Carpeta\Archivo.bd
Te en cuenta al realizar las conexiones y demás los bloqueos de registros, aperturas, etc. Puede haber varios usuarios trabajando simultaneamente sobre un mismo registro... y eso has de tenerlo en cuenta al diseñar tu aplicación. También podrías crear una aplicación tipo ISS o DHTML... Eso así a grandes rasgos. Suerte.
Páginas: 1 2 [3] 4 5 ... 43
|
|
|