Wednesday, July 26, 2006

ENCONTRE OTRA PAGINA DE C SHARP PERO...


Navegando y buscando que es un Add-ins o un Shared-in y como crear uno para adjuntarlo a Outlook, me encotré con una pagina muy buena, pero esta en frances, ya estoy con problemas con el ingles y ahora encuentro esta joya en frances, pretenece a una serie de paginas, creo que te inscribes en una y puedes entrar a cualquiera con esa cuenta creada. Alguna de las paginas son las siguientes:
VBFrance.com : http://www.vbfrance.com/
ASPFr.com : http://www.aspfr.com/
CPPFrance.com : http://www.cppfrance.com/
CFMFrance.com : http://www.cfmfrance.com/
PHPCS.com : http://www.phpcs.com/
JavascriptFR.com : http://www.javascriptfr.com/
DelphiFR.com : http://www.delphifr.com/
FlashKoD.com : http://www.flashkod.com/
JavaFR.com : http://www.javafr.com/
GraphFR.com : http://www.graphfr.com/
IrcFR.com : http://www.ircfr.com/
AsmFR.com : http://www.asmfr.com/
CSharpFR.com : http://www.csharpfr.com/
CodeS-SourceS.com : http://www.codes-sources.com/
PDAfr.com : http://www.pdafr.com/
SQLfr.com : http://www.sqlfr.com/
FoxproFR.com : http://www.foxprofr.com/
PythonFrance.com : http://www.pythonfrance.com/
TechnoS-SourceS.com : http://www.technos-sources.com/
Emploi.CodeS-SourceS.com : http://emploi.codes-sources.com/
Las paginas son amigables y poseen codigos para bajar, videos y otras cosas.
Eso es todo por hoy, que las disfruten...

Thursday, July 20, 2006

MARCA DE AGUA EN UN PDF

Trabajando o tratando de hacerlo en realidad, me encontre con una version evolusionada de la dll que habia comentado anteriormente esta vez se trata de iTextdotNET, esta herramienta nos permite programar sobre archivos Pdf con mayor libertad, lo puedes encontrar en la siguiente direccion:
http://www.ujihara.jp/iTextdotNET/en/
La imagen nos muestra las referencias que necesitamos para poder realizar nuestro codigo, Gnu.Classpath.Core y ItextdotNET pertenecen a una serie de Dlls que nos proporciona esta herramienta, mientras que vjslib lo encuentras en los componentes de .NET.
Ahora mostraremos el codigo para poder realizar una marca de agua, es decir una imagen detras del texto de un Pdf, puede servir para marcar tus creaciones en Pdf, dejarlos marcado como "Prohibido su reproduccion", etc. para lo que mas estimes conveniente.
primero los nameSpace considerados:

using System;
using System.Windows.Forms;
using com.lowagie.text; //Pertenecen a los Dll
using com.lowagie.text.pdf; //Pertenecen a los Dll
using System.IO;


Debes tener ademas una imagen creada, en este caso se llama watermark.jpg, la cual es utilizada para realizar la marca, esta clase hace referencia a una entrada que es el nombre del Pdf al cual se le aplicará la marca, creando uno nuevo para que quede el original y la copia con la marca.

public class Class1
{
public void MarcaPDF(string path)
{
PdfReader reader = new PdfReader(path);
int n = reader.getNumberOfPages();
Rectangle psize = reader.getPageSize(1);
float width = psize.width();
float height = psize.height();
Document document = new Document(psize, 50, 50, 50, 50);
PdfWriter writer = PdfWriter.getInstance(document, new FileStream(@"c:\Documento.pdf", FileMode.Create));
try
{
Watermark watermark = new Watermark(Image.getInstance(@"c:\watermark.jpg"), 300, 100);
document.add(watermark);
}
catch(Exception e)
{
MessageBox.Show("Are you sure you have the file 'watermark.jpg' in the right path?");
}
document.open();
PdfContentByte cb = writer.getDirectContent();
int i = 0;
int p = 0;
while (i < n)
{
document.newPage();
p++;
i++;
PdfImportedPage page1 = writer.getImportedPage(reader, i);
cb.addTemplate(page1, .5f, 0);
}
document.close();
}

}

Tuesday, July 18, 2006

BORRAR ARCHIVO CON UN SIMPLE COMANDO


Nunca pensé que algun dia iba a querer borrar un archivo, pero la necesidad es mas fuerte, es mucho mas simple de lo que creia, ¿Y para que borrar un archivo?, por que no crearlo, modificarlo, clonarlo, es mera necesidad, creo unos archivo ZIP y me quedaba afuera lo que deseaba enviar...
Bueno al grano, el codigo es el siguiente:

File.Delete(nombre_del archivo);
Puede ir la direccion o el nombre del archivo, dependerá del area de trabajo en que se desarrolla la aplicacion.
Eso es todo...

Friday, July 07, 2006

VER VALORES COMBOBOX...

En el trabajo que estoy realizando, necesitaba buscar elementos que esten dentro del comboBox, es por este motivo que nacio la necesidad de buscar una solucion, y la solución es mas simple de lo que esperaba. Primero colocamos desde el cuadro de herramientas el comboBox, luego algunos label para poder visualizar lo que estaba buscando.
El codigo va sobre el mismo comboBox, y es el siguiente:

private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
label1.Text = comboBox1.SelectedItem.ToString();
label2.Text = comboBox1.SelectedIndex.ToString();
}
Sin mas que agregar por hoy.....
espero les sirva....

LLENAR COMBOBOX DESDE BASE DE DATOS


Veremos ahora como llenar de valores un comboBox, el cual posee varias propiedades, esta ves solo usaremos "Items" y "Add", de este forma seleccionamos la posicion en donde irá el valor y luego se agraga.
Recuerda que la conexion ya existe así que solo se mostrará la parte en donde tiene relacion esta función.
La ayuda de Visual Studio .Net dice sobre este control lo siguiente:
"El control ComboBox de los formularios Windows Forms se utiliza para mostrar datos en un cuadro combinado desplegable. De forma predeterminada, el control ComboBox aparece en dos partes: la parte superior es un cuadro de texto que permite al usuario escribir un elemento de la lista. La segunda parte es un cuadro de lista que muestra una lista de elementos, de los cuales el usuario puede seleccionar uno."
El codigo es el siguiente:
comboBox1.Items.Clear();
string valorItem;
for(int i = 0; i<= (ds.Tables["Nombre_de_la_Tabla"].Rows.Count-1);i++)
{
valorItem = dv[i]["Nombre_del_Campo"].ToString();
comboBox1.Items.Add(valorItem);
}
De esta forma se llenan los campos de un comboBox1, esta vez eso es todo...

Tuesday, July 04, 2006

DATOS EN UN DATAGRID


Despues de crear una conexion, debemos comenzar a trabajar con los valores que tenemos almacenados en nuestras bases de datos.
Para ello utilizaremos varios elementos, dentro de ella una herramienta llamada DataGrid, se ubica sobre el winform y ya luego todo es codigo.
Pondremos un boton para poder efectuar esta accion.


Connection: Establece y gestiona una conexión a una fuente de datos específica. Por ejemplo, la clase OleDbConnection se conecta a fuentes de datos OLE DB.
Command: Ejecuta un comando en una fuente de datos. Por ejemplo, la clase OleDbCommand puede ejecutar instrucciones SQL en una fuente de datos OLE DB.
DataSet: Diseñado para acceder a datos con independencia de la fuente de datos. En consecuencia, podemos utilizarlo con varias y diferentes fuentes de datos, con datos XML, o para gestionar datos locales a la aplicación. El objeto DataSet contiene una colección de uno o más objetos DataTable formados por filas y columnas de datos, además de clave principal, clave foránea, restricciones e información de la relación sobre los datos en los objetos DataTable.
DataReader: Proporciona un flujo de datos eficaz, sólo-reenvío y de sólo-lectura desde una fuente de datos.
DataAdapter: Utiliza los objetos Connection, Command y DataReader implícitamente para poblar un objeto DataSet y para actualizar la fuente de datos central con los cambios efectuados en el DataSet. Por ejemplo, OleDbDataAdapter puede gestionar la interacción entre un DataSet y una a base de datos Access.

private void button1_Click(object sender, System.EventArgs e)
{
//Creacion de Dataset
DataSet ds;
DataTable dat;

string selec = "SELECT * FROM dbo.Fir_Datos";
//Se llenan las tablas virtuales
sqlC.Open();
SqlDataAdapter sda = new SqlDataAdapter(selec, Valor_Conexion);
ds = new DataSet("Nombre_DataSet");
sda.FillSchema(ds, SchemaType.Source, "Nombre_Tabla");
sda.Fill(ds,"Nombre_Tabla");
//Se almacenan los datos en una tabla para sus uso.
dat = ds.Tables["Nombre_Tabla"];
sqlC.Close();
dataGrid1.DataSource = dat;
MessageBox.Show("OK!!", "");
}