Informacion para Todos
miércoles, 14 de abril de 2010
Ejemplo con el control FlowLayoutPanel
http://msdn.microsoft.com/es-es/library/zah8ywcc(VS.80).aspx
y bueno en este ejemplo agregare los controles mensionados. En el evento Click del boton agregar esta este codigo
Private Sub cmdagregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdagregar.Click
Dim Milabel As New Label
Milabel.Name = "MiLabel"
Milabel.Text = "MiLabel"
Milabel.Width = 100
Dim MiTexbox As New TextBox
MiTexbox.Name = "MiTexbox"
MiTexbox.Text = "MiTexbox"
MiTexbox.Width = 100
Dim MiButton As New Button
MiButton.Name = "MiButton"
MiButton.Text = "MiButton"
MiButton.Width = 100
Dim MiGroupbox As New GroupBox
MiGroupbox.Name = "MiGroupbox"
MiGroupbox.Text = "MiGroupbox"
MiGroupbox.Width = 100
Dim MiPictureBox As New PictureBox
MiPictureBox.Name = "MiTexbox"
MiPictureBox.ImageLocation = Application.StartupPath + "\images.jpg"
MiPictureBox.Width = 200
MiPictureBox.Height = 150
MiPictureBox.SizeMode = PictureBoxSizeMode.StretchImage
FlowLayoutPanel1.Controls.Add(Milabel)
FlowLayoutPanel1.Controls.Add(MiTexbox)
FlowLayoutPanel1.Controls.Add(MiPictureBox)
FlowLayoutPanel1.Controls.Add(MiButton)
FlowLayoutPanel1.Controls.Add(MiGroupbox)
End Sub
y en esta imagen es como tiene que mostrar los controles que se han agregado al control FlowLayoutPanel
Preguntas o comentarios, en este blog :D
Saludos
Victor Altamirano Vasquez
jueves, 8 de abril de 2010
Reportes en Excel en Visual Basic
en este codigo lo que hace es cojer un archivo de excel abrirlo y llenar los datos que necesito como mi reporte. Para esto utilizo 3 dll que son:
-Interop.Microsoft.Office.Core.dll
-Microsoft.Office.Interop.Excel.dll
-Microsoft.Vbe.Interop.dll
con estas 3 dll son con las que e realizado la aplicacion
y el codigo completo es el siguiente:
Imports Microsoft.Office.Interop
---------------------------------------------------------------------------------
Dim ruta As String = Application.StartupPath + "\rptpermiso.xls"
Dim excelApp As New Excel.Application()
Dim excelBook As Excel.Workbook = excelApp.Workbooks.Open(ruta)
Dim excelWorksheet As Excel.Worksheet = _
CType(excelBook.Worksheets(1), Excel.Worksheet)
excelApp.Visible = True
With excelWorksheet
.Name = "REPORTE DE PERMISOS"
.Tab.ColorIndex = 24
.Range("C" & 6).Value = "Este es Mi Reporte"
.Range("C" & 6).Font.Bold = True
.Range("C" & 6).Font.Size = "18"
.Range("C" & 6).Font.Name = "Monotype Corsiva"
.Range("C" & 6).Cells.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
End With
-------------------------------------------------------------------------------------
Preguntas o Comentarios ponganlo en mi Blog :D
Saludos
Victor Altamirano Vasquez
Leer archivos ini en Visual Studio - VB
antes de empresar. Les dire en que caso me ah pasado y que al usar archivos ini me ayudado a solucionar el problema
1. Cuando desarrollamos una aplicacion que se conecta a una base de datos, en nuestra aplicacion ponemos la cadena de conexion en donde espesicifamos el nombre del servidor, usuario y clave que es lo mas comun entonces cuando instalamos nuestra aplicacion en el cliente el nombre del servidor donde esta la base de datos no es el mismo que el nombre del servidor que se esta trabajando y ensima nuestra aplicacion esta como instalador y no podria modificarse en ese momento entonces aqui podria donde use arhivos ini donde entre al archivo y modifique el nombre del servidor a donde se quiere conectar la aplicacion y resolvi el problema :D
bueno ahora mostrare el codigo de en donde lee el archivo ini
Public Class Dcini
'Funciones de la API de Windows
Private Declare Function GetPrivateProfileStringKey Lib "kernel32" Alias _
"GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal _
lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString _
As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
Private Declare Function GetPrivateProfileStringNullKey Lib "kernel32" _
Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Integer, ByVal lpDefault As String, ByVal _
lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName _
As String) As Integer
Private Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Object, ByVal lpString As Object, ByVal lpFileName As String) As Long
Public Function LeerINI(ByVal sINIFile As String, ByVal sSection As String, ByVal sKey As String, ByVal sDefault As String) As String
Dim sTemp As String '* 256
Dim nLength As Integer
sTemp = Space$(256)
nLength = GetPrivateProfileStringKey(sSection, sKey, sDefault, sTemp, 255, sINIFile)
LeerINI = Left$(sTemp, nLength)
End Function
Public Sub EscribirINI(ByVal sINIFile As String, ByVal sSection As String, ByVal sKey As String, ByVal sValue As String)
Dim n As Integer
Dim sTemp As String
sTemp = sValue
For n = 1 To Len(sValue)
If Mid$(sValue, n, 1) = vbCr Or Mid$(sValue, n, 1) = vbLf Then
Mid$(sValue, n) = ""
End If
Next n
n = WritePrivateProfileString(sSection, sKey, sTemp, sINIFile)
End Sub
End Class
Esta es mi clase donde esta el codigo de leer y escribir arhivos ini entonces desde mi aplicacion windows llamae a mi clase
dim objdcini As New CMPServicios.Dcini
Dim ServidorDB As String
ServidorDB = Me.objdcini.LeerINI(Application.StartupPath & "\Sistema.ini", "sistema", "servidor", "?")
y esto es lo que tiene mi arhivo ini que se llama Sistema.ini
Entonces
-Application.StartupPath & "\Sistema.ini" : Obtengo la ruta donde esta mi archivo ini que lo agrege a la carpeta debug de mi aplicacion y ahi mismo agrego el archivo
-sistema: es el nombre que esta en corchetes en el arhivo ini que se llama sistema.ini
-servidor: es el nombre que esta en el archivo ini, en donde almacena el nombre MIPC
y como resultado tiene que aparecer en la aplicacion el nombre MIPC que esta guardado en el archivo ini
Pegruntas o Comentarios ponganlo en mi Blog :D
Saludos
Victor Altamirano Vasquez
viernes, 12 de marzo de 2010
Abrir cualquier archivo en Visual Studio
este es el codigo
dim ruta as String
ruta = application.startupPath + "\archivo.doc"
Process.start(ruta)
y listo
Saludos
Victor Altamirano Vasquez
jueves, 17 de diciembre de 2009
Como establecer un Font en C# y Visual Basic.NET
en mi post de "Ejemplo con la Clase FontDialog" alguien pregunto como filtrar las fuentes TrueType y bueno buscando que era encontre un codigo donde establecemos la fuente para nuestas aplicaciones.
Este es el codigo en Visual Basic.NET
Label1.Font = new Font("IDAutomationSHC39S", 12, FontStyle.Regular)
En C# es asi
Label1.Font = new Font("IDAutomationSHC39S", 12, FontStyle.Regular);
Preguntas porfavor dejen sus comentarios
Saludos
Victor Altamirano V.
viernes, 11 de diciembre de 2009
Ejemplo con la Clase FontDialog
Para ello el FontDialog tiene el tamaño de letra, la fuente y estilo de fuente y eso nos ayudara a elegir lo que nosotros deseamos en nuestra aplicacion
Entonces tenemos este formulario
en este formulario cuando demos click en el boton OK nos aparecerá esta pantalla
el codigo de esta aplicacion es el siguiente que esta en el evento Click del boton OK
FontDialog fdialog = new FontDialog();
DialogResult resuldialog;
resuldialog = fdialog.ShowDialog();
if (resuldialog == System.Windows.Forms.DialogResult.OK ){
this.Font = fdialog.Font;
}
Preguntas porfavor dejen sus comentarios
Saludos
Victor Altamirano V.
lunes, 9 de febrero de 2009
Reportes en Excel en C#
en este codigo lo que hace es cojer un archivo de excel abrirlo y llenar los datos que necesito como mi reporte. Para esto utilizo 3 dll que son:
-Interop.Microsoft.Office.Core.dll
-Microsoft.Office.Interop.Excel.dll
-Microsoft.Vbe.Interop.dll
con estas 3 dll son con las que e realizado la aplicacion
y el codigo completo es el siguiente:
----------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Office = Microsoft.Office.Core;
using Excel = Microsoft.Office.Interop.Excel;
namespace excel
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private static object vk_missing = System.Reflection.Missing.Value;
private static object vk_visible = true;
private static object vk_false = false;
private static object vk_true = true;
#region OPEN WORKBOOK VARIABLES
private object vk_update_links = 0;
private object vk_read_only = vk_true;
private object vk_format = 1;
private object vk_password = vk_missing;
private object vk_write_res_password = vk_missing;
private object vk_ignore_read_only_recommend = vk_true;
private object vk_origin = vk_missing;
private object vk_delimiter = vk_missing;
private object vk_editable = vk_false;
private object vk_notify = vk_false;
private object vk_converter = vk_missing;
private object vk_add_to_mru = vk_false;
private object vk_local = vk_false;
private object vk_corrupt_load = vk_false;
#endregion
private void button1_Click(object sender, EventArgs e)
{
String ruta = Application.StartupPath + @"\rptalumnototal.xls";
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook excelBook = excelApp.Workbooks.Open(ruta, vk_update_links, vk_read_only, vk_format, vk_password,
vk_write_res_password, vk_ignore_read_only_recommend, vk_origin,
vk_delimiter, vk_editable, vk_notify, vk_converter, vk_add_to_mru,
vk_local, vk_corrupt_load);
Microsoft.Office.Interop.Excel.Worksheet excelWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)excelBook.Worksheets.get_Item(1);
excelApp.Visible = true;
excelWorksheet.Cells[8,"C"] = "Dato 1";
excelWorksheet.Cells[9, "C"] = "Dato 2";
Excel.Range rango = excelWorksheet.get_Range(excelWorksheet.Cells[8, "C"], excelWorksheet.Cells[9, "C"]);
rango.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
rango.Font.Bold = true;
rango.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;
}
}
}
----------------------------------------------------------------------------------
el rptalumnototal.xls es el nombre de mi archivo que estoy usando como plantilla para mi reporte claro que se puede hacer se crea uno nuevo solo que en esta ocacion la e utilizado asi
Tambien en el codigo se encuentra dar al centro a los datos y darle el borde a las celdas donde estan los datos que le e agreago como para que se vea mucho mejor el Reporte :D. Preguntas a mi correo ppe_16@hotmail.com
Muchas gracias hasta otra oportunidad bye
Saludos
Victor Altamirano Vasquez
domingo, 4 de enero de 2009
Limpiar Texbox dentro de un GroupBox en Visual Basic
en este codigo es limpiar los texbox que esten dentro de un GroupBox y el codigo que e utilizado esta dentro de una Clase llamada Funciones; el codigo es el Siguiente
-----------------------------------------------------------------------------------
Public Sub Limpiar(ByVal Grupo As Windows.Forms.GroupBox)
Dim miControl As Object
For Each miControl In Grupo.Controls
If miControl.GetType Is GetType(System.Windows.Forms.TextBox) Then
miControl.Clear()
End If
System.Windows.Forms.Application.DoEvents()
Next
End Sub
----------------------------------------------------------------------------------
Ahora para llamarlo desde mi formulario se hace de la siguiente forma:
------------------------------------------------------------------------------
dim objfunciones as new Funciones
objfunciones.Limpiar(Me.GroupBox1)
----------------------------------------------------------------------------
En el procedimiento tengo que mandarle el GroupBox que deseo que limpie y Listo :D
Prenguntas escriban en los Comentarios :D
Salu2
miércoles, 12 de marzo de 2008
Llenar listview con datos del SQLServer
View=Details
FullRowSelect=true
Gridlines=True
una ves hecho esto se pone el codigo que tiene como valor 1 listview que va a llenar la lista y luego un SqlDataReader que es el resultado de de la consulta
Public Sub CargarLisView(ByVal lvLista As System.Windows.Forms.ListView, ByVal Registro As SqlClient.SqlDataReader)
Try
Dim Columnas As Integer
Dim ItemProducto As System.Windows.Forms.ListViewItem
Dim I As Integer
lvLista.Columns.Clear()
Columnas = Registro.FieldCount
For I = 0 To Columnas - 1
lvLista.Columns.Add(Registro.GetName(I), 100, 0)
Next
lvLista.Items.Clear()
Do While Registro.Read
ItemProducto = lvLista.Items.Add(Registro(0))
For I = 1 To Columnas - 1
If TypeOf (Registro(I)) Is Date Then
ItemProducto.SubItems.Add(CStr(Registro(I)))
Else
If TypeOf (Registro(I)) Is String Then
ItemProducto.SubItems.Add(Registro(I))
Else
ItemProducto.SubItems.Add(Str(Registro(I)))
End If
End If
Next
Loop
Registro.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Preguntas dejen su comentario que podre contestar a sus preguntas o dudas
Salu2
Victor Altamirano
viernes, 29 de febrero de 2008
Cargar datos de SQL Server a Combobox en Visual Studio
Public Sub CargarCombo(ByVal consulta As String, ByVal myCombo As Object, ByVal conexion As SqlClient.SqlConnection)
Dim DataSet1 As New DataSet
Dim TablaProveedor As DataTable
Dim DAProveedor As New SqlClient.SqlDataAdapter(consulta , conexion )
DAProveedor.Fill(DataSet1, "Proveedor")
TablaProveedor = DataSet1.Tables("Proveedor")
myCombo.DataSource = TablaProveedor
myCombo.ValueMember = TablaProveedor.Columns(0).ColumnName
myCombo.DisplayMember = TablaProveedor.Columns(1).ColumnName
End Sub
consultas dejen su Comentario k diario las reviso ......Salu2
Victor Altamirano
martes, 4 de diciembre de 2007
Guardar Foto en una Base de Datos SQL SERVER 2000 o 2005 , utilizando .NET 2005 - PARTE 2
--------------------------------------------------------------------------------
Try
Dim Imagen As System.Drawing.Image
Dim Tamanio As Integer
Me.OpenFileDialog1.ShowDialog()
Me.PBFoto.Image = Imagen.FromFile(Me.OpenFileDialog1.FileName)
Me.PBFoto.Show()
Tamanio = Len(Me.OpenFileDialog1.FileName)
Me.fotografia = Me.OpenFileDialog1.FileName
MsgBox(fotografia)
Catch ex As Exception
End Try
----------------------------------------------------------------------------------------
el msgbox es para poder observar la ruta que e obtenido al buscar la Foto
y para guardar a la Base de Datos manda como parametro el "FOTOGRAFIA" donde se a obtenido la Ruta
y ahora para buscar la Foto y mostar en el Picture Box es de la Siguiente manera
Me.PBFoto.Image = Image.FromFile(FOTOGRAFIA)
El PBFoto es el nombre de mi control PictureBox con la propiedad image es donde carga la foto al PiictureBox y FOTOGRAFIA es donde esta la Ruta de la fotografia
Saludos..........Victor Altamirano V.
sábado, 24 de noviembre de 2007
Guardar Foto en una Base de Datos SQL SERVER 2000 o 2005 , utilizando .NET 2005 - PARTE 1
Para guardar una foto se puede hacer de 3 Formas
1º Es guardando la Foto en la Misma Base de Datos que esta ( Solo para imagenes de Formato BMP )
Este es el Formularios en que se va a trabajar . En el formulario hay una varible que se llama "curFileName " de un tipo String que va debajo del "PUBLIC CLASS" del Formulario. Que se pone asi Public curFileName As String = "" . Y luego en la parte Genera importamos unas clases que nos permitira utilzar el codigo que son
Imports System.IO
Imports System.Text
-Hay un boton que dice Cargar en ese Boton va el Siguiente Codigo
Dim openDlg As OpenFileDialog = New OpenFileDialog()
openDlg.Filter = "Todos los Archivos bmp *.bmp"
Dim filter As String = openDlg.Filter
openDlg.Title = "Abrir los Archivos Bmp"
If (openDlg.ShowDialog() = Windows.Forms.DialogResult.OK) Then
picFoto.ImageLocation = openDlg.FileName
curFileName = openDlg.FileName
Else
Exit Sub
End If
-luego en el Boton Grabar Ingresamos el codigo para que pueda guardar los datos y la foto a la Base de Datos SQL SERVER
Dim fsFoto As FileStream
fsFoto = New FileStream(curFileName, FileMode.Open)
Dim fiFoto As FileInfo = New FileInfo(curFileName)
Dim Temp As Long = fiFoto.Length
Dim lung As Long = Convert.ToInt32(Temp)
Dim picture(lung) As Byte
fsFoto.Read(picture, 0, lung)
fsFoto.Close()
Dim comando As New SqlClient.SqlCommand
Dim parametro As New SqlClient.SqlParameter
comando.Connection = MDISistema.cnn
comando.CommandType = CommandType.StoredProcedure
comando.CommandText = "guardarpersonal"
parametro = comando.Parameters.Add("@Codigo", SqlDbType.Char, 10)
parametro.Value = Me.txtcodigo.Text.Trim
parametro = comando.Parameters.Add("@Apellido", SqlDbType.VarChar, 50)
parametro.Value = Me.txtapellido.Text.Trim
parametro = comando.Parameters.Add("@Nombre", SqlDbType.VarChar, 50)
parametro.Value = Me.txtnombre.Text.Trim
parametro = comando.Parameters.Add("@Direccion", SqlDbType.VarChar, 50)
parametro.Value = Me.txtdireccion.Text.Trim
parametro = comando.Parameters.Add("@Telefono", SqlDbType.Char, 10)
parametro.Value = Me.txttelefono.Text.Trim
parametro = comando.Parameters.Add("@Foto", SqlDbType.Image)
parametro.Value = picture
parametro = comando.Parameters.Add("@Codtipo", SqlDbType.Char, 10)
parametro.Value = Me.cbotipo.SelectedValue
comando.ExecuteNonQuery()
bueno en las primeras lineas de codigo son las que permiten que la foto se conbierta en Byte para luego en Byte Guardar la Imagen en la Base de Datos y el resultado de la conversion lo guarda el la varible que se llama " picture " que le mando a la Base de Datos àra que Guarde
Bueno en el siguiente codigo nos permite buscar la imagen en la Base de Datos SQL SERVER y luego mostrarlo en el control PictureBox y es el Siguiente
Public Sub CargarImagen(ByVal codigo As String)
Try
''Cargar(Fotografia)
Dim daFoto As New SqlClient.SqlDataAdapter("exec buscarfoto '" & codigo & "'", MDISistema.cnn)
Dim dsFoto As New DataSet()
daFoto.Fill(dsFoto)
Dim bits As Byte() = CType(dsFoto.Tables(0).Rows(0).Item(0), Byte())
Dim memorybits As New MemoryStream(bits)
Dim bitmap As New Bitmap(memorybits)
picFoto.Image = bitmap
dsFoto.Dispose()
daFoto.Dispose()
Catch EX As Exception
MessageBox.Show(EX.Message) ', "No se puede mostrar fotografia", MessageBoxButtons.OK, MessageBoxIcon.Information)
picFoto.Image = Nothing
picFoto.Refresh()
End Try
End Sub
En el SqlClient.SqlDataAdapter pongo mi Store Procedure y el parametro lo mando en el codigo y listo me carga la foto en el PictureBox la Foto guardada en la Base de Datos :D
Saludos........ Victor Altamirano V.
lunes, 28 de mayo de 2007
CONECCION DE .NET 2005 A MYSQL
1º Antes de realizar la coneccion se tiene que instalar un driver que nos va a servar para poder realizar la conección y ese driver lo pueden descargar de este link: http://victoraltamirano.iespana.es/
2º una ves instalado el driver se crea una nuevo proyecto windows form asi:
- el codigo es el siguiente:
Imports MySQLDriverCS
Public Class Frminicio
Public Shared cnn As MySQLDriverCS.MySQLConnection
Private Sub cmdingresar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdingresar.Click
Dim myConString = New MySQLDriverCS.MySQLConnectionString("localhost", "sencico", "root","")
cnn.Open()
End Sub
End Class
8º cnn = New MySQLDriverCS.MySQLConnection(myConString.AsString) al cnn se referencia a la coneccion del mysq junto con la cadena donde va la conecion para la base de datos mysql