|
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 - Jose Arriagada
1
« en: Viernes 30 de Noviembre de 2007, 17:21 »
Agregar a tu formulario, un control picture y un control commondialog... y prueba el siguiente codigo... Private Sub Picture1_DblClick() CommonDialog1.ShowOpen If Len(CommonDialog1.FileName) > 0 Then Call Cargar_Imagen(CommonDialog1.FileName) End If End Sub Public Sub Cargar_Imagen(ByVal Ruta As String) On Error GoTo control Picture1.Picture = LoadPicture(Ruta) Exit Sub control: Exit Sub End Sub Para saber mas, de como opera el control commondialog... un link... http://www.monografias.com/trabajos2/guiavb/guiavb3.shtml
2
« en: Viernes 30 de Noviembre de 2007, 17:09 »
Coloca los siguientes controles en el formulario, en las posiciones que te indico
label1 text1 text2
label2 text3 text4
command1 command2
Y ahora copia, este codigo completo en el formulario... y prueba...
Dim Matriz1(1 To 10, 1 To 10) As Double
Dim Matriz2(1 To 10, 1 To 10) As Double Dim Matriz3(1 To 10, 1 To 10) As Double
Private Sub Command1_Click() For i = 1 To Text1.Text For j = 1 To Text2.Text Matriz1(i, j) = InputBox("Ingresar valor (" & i & ":" & j & ")", "Ingreso Matriz 1") Next j Next i For i = 1 To Text3.Text For j = 1 To Text4.Text Matriz2(i, j) = InputBox("Ingresar valor (" & i & ":" & j & ")", "Ingreso Matriz 2") Next j Next i Command2.Enabled = True End Sub
Private Sub Command2_Click() msg = Empty For i = 1 To Text1.Text For j = 1 To Text4.Text For k = 1 To Text3.Text Matriz3(i, j) = Matriz3(i, j) + Matriz1(i, k) * Matriz2(k, j) Next k msg = msg & "(" & i & ":" & j & ")=" & Matriz3(i, j) & " " Next j msg = msg & vbLf Next i msg = msg & vbLf MsgBox msg End Sub
Private Sub Form_Load() Label1.Caption = "Matriz 1" Text1.Text = "" Text2.Text = "" Label2.Caption = "Matriz 2" Text3.Text = "" Text4.Text = "" Command1.Caption = "Ingresar valores..." Command2.Caption = "Calcular..." Command2.Enabled = False End Sub
Las correcciones, verificaciones y validaciones te las dejo, para que le pongas un poco de tus sesos...
3
« en: Viernes 30 de Noviembre de 2007, 16:47 »
En tu projecto VB, en las propiedades tienes las carpetas, General, Generar, Compilar, Componente, Depurar.
En General, lo que pongas en ella, lo puedes acceder desde tu aplicacion. En Generar, tienes Numero de version e Informacion de version, y en cada etiqueta tipo, puedes colocar algo en la casilla valor.
Desde tu aplicacion, puedes acceder a todos estos valores... un ejemplo...
Private Sub Command1_Click() msg = Empty msg = msg & "Comentarios=" & App.Comments & vbLf msg = msg & "Company Name=" & App.CompanyName & vbLf msg = msg & "Exe Name =" & App.EXEName & vbLf msg = msg & "File Description=" & App.FileDescription & vbLf msg = msg & "Legal Copyright=" & App.LegalCopyright & vbLf msg = msg & "Legal Trademarks=" & App.LegalTrademarks & vbLf msg = msg & "Version =" & App.Major & "." & App.Minor & "." & App.Revision & vbLf msg = msg & "Path=" & App.Path & vbLf msg = msg & "Previnstance=" & App.PrevInstance & vbLf msg = msg & "ProductName =" & App.ProductName & vbLf msg = msg & "Title=" & App.Title & vbLf msg = msg & "UnattendedApp=" & App.UnattendedApp & vbLf MsgBox msg, vbInformation, "Informacion APP" End Sub
5
« en: Viernes 30 de Noviembre de 2007, 16:38 »
Existe un control (SPREAD, de farpoint), que es una grilla (como el excel), la cual tu puedes personalizar a gusto... y puedes efectivamente, hacer lo que deseas segun tu imagen, manejando filas y columnas a discrecion del programador.
Te sugiero utilices este control, ya que permite un control mas eficiente en su codigo (totalmente transparente para ti), y sus funcionalidades son espectaculares...
Suerte
6
« en: Viernes 30 de Noviembre de 2007, 16:31 »
Para este caso, a mi me sucedio lo siguiente: - En mi PC, tenia instalado SQLServer y ademas sobre el mismo equipo desarrollaba las aplicaciones. Hasta ahi todo ok. Pero, si instalaba la aplicacion en otro PC de la RED, me aparecia el mensaje que indicas. Permisos, atributos, todo ok. Pero aun asi, no lograba entrar al servidor.
- Entonces, busque otra forma de conectarme, y funciono...
- Debes crear un DSN en cada maquina. Es decir, un ODBC que se conecte al servidor SQLServer.
- Despues, en tu aplicacion, usas la conexion ODBC para conectarte a tu base de datos, usando los mismos parametros del DSN.
Te envio ejemplo de conexion...
** Debes agregar a las referencias Microsoft ActiveX Data Objects 2.6 Library o superior.
Private Sub Command1_Click() '"DSN=midsn;UID=login;PWD=contraseña"
Dim tField As ADODB.Field Set cnn = Nothing Set rst = Nothing Set cnn = New ADODB.Connection Set rst = New ADODB.Recordset 'Mi conexion ODBC se llama Monge
cnn.Open "DSN=Monge;UID=sa;PWD=" rst.Open "SELECT * FROM pclientes", cnn, adOpenDynamic, adLockOptimistic Cont = 0 While Not rst.EOF And Cont < 10 Cont = Cont + 1 msg = Empty msg = msg & rst.Fields(0).Value & "*" msg = msg & rst.Fields(1).Value & "*" msg = msg & rst.Fields(2).Value & "*" msg = msg & rst.Fields(3).Value & vbLf Print msg rst.MoveNext Wend rst.Close cnn.Close
End Sub
7
« en: Viernes 30 de Noviembre de 2007, 16:20 »
Cuando abras el objeto EXCEL, debes indicarle que lo haga background...
oExcelApp.Visible = False
8
« en: Viernes 30 de Noviembre de 2007, 16:04 »
No subio... asi es que, aqui va el codigo...
En un MODULO:
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long Public Type NOTIFYICONDATA cbSize As Long hWnd As Long uID As Long uFlags As Long uCallbackMessage As Long hIcon As Long szTip As String * 64 End Type Global t As NOTIFYICONDATA Global Const NIM_ADD = &H0 Global Const NIM_MODIFY = &H1 Global Const NIM_DELETE = &H2 Global Const NIF_MESSAGE = &H1 Global Const NIF_ICON = &H2 Global Const NIF_TIP = &H4 Global Const WM_MOUSEMOVE = &H200
En el formulario (llamalo ARBOLITO):
Crea un menu con las siguientes propiedades: (el formato es CAPTION --> NAME)
Opciones --> mnuShell
Y dependiendo de este, los siguientes sub-menus: Apagado --> mnuOff Encendido --> mnuOn Cerrar --> mnuClose Acerca de ... --> mnuAcerca
En el formulario, coloca 3 labels, un boton llamado cmdOK, un timer1, y una matriz de controles picture (picture1), numeros del 0 al 4, y en cada uno de estos picture coloca un icono...
Dim I As Integer
Private Sub Command1_Click()
End Sub
Private Sub mnuAcerca_Click() Me.Show 'Me.WindowState = 0 End Sub
Private Sub mnuClose_Click() Shell_NotifyIcon NIM_DELETE, t End End Sub
Private Sub mnuOff_Click() mnuOff.Checked = True mnuOn.Checked = False I = 0 t.hIcon = Picture1(I).Picture t.szTip = "Felíz Navidad, les desea marianok" & Chr$(0) Shell_NotifyIcon NIM_MODIFY, t
End Sub
Private Sub mnuOn_Click() mnuOn.Checked = True mnuOff.Checked = False t.szTip = "Felíz Navidad, les desea marianok" & Chr$(0) End Sub
Private Sub OK_Click() 'Me.WindowState = 1 Me.Hide End Sub
Private Sub Picture1_MouseMove _ (Index As Integer, _ Button As Integer, _ Shift As Integer, _ X As Single, Y As Single) If Hex(X) = "1E3C" Then Arbolito.PopupMenu Arbolito.mnuShell End If
End Sub
Private Sub Form_Load()
I = 0 t.cbSize = Len(t) t.hWnd = Picture1(0).hWnd t.uID = 1& t.uFlags = NIF_MESSAGE Or _ NIF_ICON Or _ NIF_TIP t.uCallbackMessage = WM_MOUSEMOVE
t.hIcon = Picture1(I).Picture t.szTip = "Muy Felíz Navidad y Prospero Año Nuevo, les desea marianok" & Chr$(0) Shell_NotifyIcon NIM_ADD, t Me.Hide End Sub
Private Sub Timer1_Timer() If mnuOn.Checked Then Rem Call NotifyIcon_Change(, " ") I = I + 1: If I > 4 Then I = 0 t.hIcon = Picture1(I).Picture Shell_NotifyIcon NIM_MODIFY, t End If End Sub
Despues de probar esto... seguro se te ocurre como hacer lo que necesitas...
SUERTE
9
« en: Viernes 30 de Noviembre de 2007, 15:55 »
Te adjunto zip con ejemplo... espero te sirva
10
« en: Viernes 25 de Mayo de 2007, 19:32 »
Solo agregaria lo siguiente...
--> Se debe agregar una referencia a Microsoft ActiveX Data Object 2.6 Library
--> Se debe crear una conexion ODBC con el nombre "BASE"
Y todo listo...
Muchisimas gracias... me sirvio...
11
« en: Jueves 24 de Mayo de 2007, 17:55 »
Crea un formulario con: 1 control sstab1 1 textbox 4 command
y pega el siguiente codigo y prueba... espero te de una idea de lo que necesitas...
Private Sub Command1_Click() SSTab1.Tabs = Text1.Text SSTab1.TabsPerRow = Text1.Text End Sub
Private Sub Command2_Click() If SSTab1.Tab < SSTab1.Tabs Then SSTab1.Tab = SSTab1.Tab + 1 End If End Sub
Private Sub Command3_Click() If SSTab1.Tab < SSTab1.Tabs Then If SSTab1.Tab > 0 Then SSTab1.TabEnabled(SSTab1.Tab) = False If SSTab1.Tab + 1 < SSTab1.Tabs Then SSTab1.Tab = SSTab1.Tab + 1 End If Else SSTab1.TabEnabled(SSTab1.Tab) = False SSTab1.Tab = SSTab1.Tab + 1 End If End If End Sub
Private Sub Command4_Click() For i = 0 To SSTab1.Tabs - 1 SSTab1.TabEnabled(i) = True Next i End Sub
Private Sub Form_Load() SSTab1.Tabs = 6 SSTab1.TabsPerRow = 6 Text1.Text = "" Command1.Caption = "Crear pestañas" Command2.Caption = "Avanzar pestaña" Command3.Caption = "Bloquear pestaña" Command4.Caption = "Habilitar pestañas" End Sub
12
« en: Jueves 24 de Mayo de 2007, 17:22 »
Estimados,
Alguien me puede dar una idea de como mostrar todas las tablas que se encuentran en una base de datos ACCESS usando ADO.
En el siguiente codigo, abro la base de datos y despues leo una tabla definida.
Set cnn = New ADODB.Connection Set rst = New ADODB.Recordset With cnn .ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.3.51;" & _ "Data Source=C:\BASEDATOS.MDB;" .Open End With ' Indicarle de que tabla vamos a leer los datos rst.Open "SELECT * FROM empresa", cnn, adOpenDynamic, adLockOptimistic
La idea, es poder colocar en un combobox, todas las tablas que estan contenidas en la base de datos, y despues en el combobox, al hacer click, se visualizaran todos los campos y datos de la tabla seleccionada.
Gracias
13
« en: Miércoles 22 de Noviembre de 2006, 00:56 »
Tu solucion es bastante burda, por decirlo, suavemente. Pero soluciona tu problema. Que sea lo mas eficiente, es otra cosa.
Si tienes un minima nocion de gestion de base de datos, podrias haber modelo tu problema y asunto arreglado.
Por el icono del formulario, espero que no seas de CHILE, por que, deja bastante que desear tu solucion...
14
« en: Jueves 2 de Noviembre de 2006, 21:43 »
Estimados,
Tengo la siguiente situacion:
- Realice dos aplicaciones (cliente y servidor) usando winsock. - El cliente envia un dato, y el servidor lo recibe, aplica una funcion, y envia la respuesta. - Ambas aplicaciones funcionan 100% en sobre un mismo equipo y sobre equipos distintos.
Pero si llevo la aplicación Servidora a otro PC, realiza la operacion sobre el dato recibido (que es enviado por el cliente), pero al cliente le envia el dato truncado.
Si hago un debug sobre la aplicacion servidora, las variables con sus valores estan OK, el mensaje que se arma antes de ser enviado al cliente esta OK. Pero no le llega al cliente en forma completa.
Alguien tiene idea a que se puede deber?
Las aplicaciones las realice sobre VB 6.0 con SP5 y SO Windows 2000 Profesional SP4.
15
« en: Viernes 22 de Septiembre de 2006, 16:01 »
Aclaremos algunos puntos... - El codigo de barra es posible imprimirlo desde cualquier aplicacion, utilizando los controles correspondientes. - Se puede imprimir en cualquier tipo de hora, dando el tamaño que uno desee.
Por otra parte, - Existen impresoras especiales para imprimir series de codigos de barra. (bodegas, supermercados, logistica, etc) - Existen tiras de papel especial para codigos de barra, dependiendo de donde van a ser utilizados (intemperie, bajo lluvia, ambientes frios, ambientes calidos, etc)
Por tanto, debes ver que quieres y donde los vas a utilizar...
16
« en: Lunes 11 de Septiembre de 2006, 15:48 »
Para unir VB con cualquier otro programa OFFICE, solo basta con hacer una macro en el programa destino (en este caso WORD) y posteriormente ver el codigo generado por la macro (que es muy similar a VB, pero en script) y adaptar el codigo a VB 6.0
Asi es que, lo que tienes que hacer, es teniendo tu planilla excel con los datos, supongamos en cada columna (NOMBRE, CARGO, EMPRESA y DIRECCION), y haces una macro en WORD que lea el archivo de entrada EXCEL y genere las "combinaciones" de correspondencia (recuerda tener la carta matriz confeccionada), y despues ves el codigo, y listo.
Despues llevas el codigo script de la macro a VB y lo adaptas...
17
« en: Viernes 8 de Septiembre de 2006, 16:30 »
La primera parte es clara: Leer desde una planilla (facil).
Pero la segunda parte no la entendi. Podrias ser mas explicito, que es especificamente lo que deseas hacer...?...
18
« en: Viernes 1 de Septiembre de 2006, 17:10 »
Lo que puedes hacer, es en modo de diseño, dejarlo en ejecucion y cuando se produzca el error aparecera indicada en color rojo la linea que te esta arrojando el error.
Asi podras saber que parte especificamente tiene el problema, y podras al menos tener un punto de partida... lo demas, es analisis y un poco de neuronas para resolverlo...
Suerte
P.D.: Si no puedes ejecutar tu aplicacion en tiempo de diseño, entonces, la parte latosa, es que debieras colocar un control de errores y generar un archivo LOG que te registro todos los eventos que se produzcan y en que linea ocurre ello... es engorroso hacer archivos de control, pero, ni modo... hay que hacer lo que hay que hacer...
19
« en: Miércoles 9 de Agosto de 2006, 23:08 »
Estimado informatico...
Aun no conozco al "mago" que con solo leer tu requerimiento, le salga de quien sabe donde, la solucion...
No podemos ayudarte, si no nos envias mas detallado el proceso que realizas, y en que parte del codigo se te produce el error.
Deberias colocar un control de errores, y si es posible, que te envie a un archivo de errores, todas las posibles partes por donde pasa tu programa, y asi puedas saber por que se debe tu problema...
Pero asi, con tan pocos datos... ni que fueramos adivinos...
20
« en: Lunes 7 de Agosto de 2006, 16:41 »
Disculpa por ser medio lento para entender... pero podrias ser mas explicito en tu consulta... No todo el mundo tiene la capacidad de entender TU problema...
21
« en: Jueves 27 de Julio de 2006, 21:24 »
Recuerda que las "BD" traen funcionalidades que permiten administrar los accesos a los datos, sean estos en: tablas, bloques o registros...
Dependiendo de que es lo que desees realizar, y que tan complejo sea tu modelo de datos, es lo que te dira mas o menos que BD debes utilizar.
Por otro lado, cada uno de estas BD tienen gestores que permiten analizar y realizar consultas sobre los datos.
En general, mi criterio iria por lo siguiente:
- Oracle: Por su facilidad. Pero poco practico, por lo pesado y complejo de instalar - MS SQL 6.5 ó 7.0 : Facil de usar. Facil de instalar. Facil de administrar y trae todas las funcionalidades necesarias para aplicaciones de escritorio (como la que deseas generar). No requiere KEY ACCESS. - MS SQL 2000 o 2003: Facil de usar. Facil de instalar. El unico pero, es que, le eliminaron varias funcionalidades que traia la version 6.5 y 7.0. Ademas de tener que conseguir una KEY ACCESS.
22
« en: Miércoles 26 de Julio de 2006, 16:41 »
23
« en: Miércoles 19 de Julio de 2006, 17:19 »
24
« en: Jueves 6 de Julio de 2006, 15:50 »
Las propiedades adicionales a las ya mencionadas las puedes encontrar, simplemente escribiendo el objeto PRINTER seguido del punto (.), y apareceran todos los eventos y propiedades, y entre ellas, encontraras...
Printer.ColorMode Printer.Copies Printer.DeviceName Printer.DriverName Printer.Orientation Printer.Page Printer.PaperBin Printer.PaperSize Printer.PrintQuality
25
« en: Lunes 3 de Julio de 2006, 16:42 »
En un formulario,
Private Sub cmdGrabar_Click() nValorVolumen = Text1.Text If GrabarValorVolumen = True Then MsgBox "OK" End If End Sub
Private Sub cmdLeer_Click() Text2.Text = LeerValorVolumen End Sub
En un modulo .BAS
Global nValorVolumen As Double
Function LeerValorVolumen() As Double ArchivoIni = App.Path & "\volumen.ini" Open ArchivoIni For Input As #1 Input #1, nValorVolumen Close (1) LeerValorVolumen = nValorVolumen End Function
Function GrabarValorVolumen() As Boolean ArchivoIni = App.Path & "\volumen.ini" nFile = FreeFile Open ArchivoIni For Output As #nFile Print #nFile, nValorVolumen Close (nFile) End Function
|
|
|