Objectivo |
Convertir numeros de Decimales a Binarios y de Binario a Decimal |
|
private string ConvertDecimalToBinary(string decimaltoconvertto) { #region Determinar el binario int pruebaByte; StringBuilder sb = new StringBuilder(); if (int.TryParse(decimaltoconvertto, out pruebaByte)) { do { if (pruebaByte % 2 == 0) { sb.Append("0"); pruebaByte = pruebaByte / 2; } else { sb.Append("1"); pruebaByte = pruebaByte / 2; } } while (pruebaByte > 0); } else { return "Valor no valido! Favor introducir un valor entre 0-255"; } #endregion Determinar el binario #region Manipular el binario // Convertir el valor en una matriz char[] binary = sb.ToString().ToArray(); // invierto el orden de los elementos char[] reversed = binary.Reverse().ToArray(); /********************************************* * Agregar codigo para manipular los bits * *********************************************/ // construir el binario ya ordenado StringBuilder sb2 = new StringBuilder(); foreach (char item in reversed) { sb2.Append(item); } #endregion Manipular el binario #region Para representar el binario con 8 bits int by; int.TryParse(sb2.ToString(), out by); return by.ToString("00000000"); #endregion Para representar el binario con 8 bits } private string ConvertBinaryToDecimal(string binarytoconvertto) { int mydecimal = 0; int f; for (int i = 0; i < binarytoconvertto.Length; i++) { if (new string(binarytoconvertto.ToCharArray().Reverse().ToArray()[i], 1) != "0") { int.TryParse(new string(binarytoconvertto.ToCharArray().Reverse().ToArray()[i], 1), out f); mydecimal += ((int)f) * ((int)Math.Pow(2, i)); } else { continue; } } return mydecimal.ToString(); } |
|
Private Function ConvertDecimalToBinary(decimaltoconvertto As String) As String '#Region "Determinar el binario" Dim pruebaByte As Integer Dim sb As New StringBuilder() If Integer.TryParse(decimaltoconvertto, pruebaByte) Then Do If pruebaByte Mod 2 = 0 Then sb.Append("0") pruebaByte = pruebaByte / 2 Else sb.Append("1") pruebaByte = pruebaByte / 2 End If Loop While pruebaByte > 0 Else Return "Valor no valido! Favor introducir un valor entre 0-255" End If '#End Region '#Region "Manipular el binario" ' Convertir el valor en una matriz Dim binary As Char() = sb.ToString().ToArray() ' invierto el orden de los elementos Dim reversed As Char() = binary.Reverse().ToArray() '******************************************** ' * Agregar codigo para manipular los bits * ' ******************************************** ' construir el binario ya ordenado Dim sb2 As New StringBuilder() For Each item As Char In reversed sb2.Append(item) Next '#End Region '#Region "Para representar el binario con 8 bits" Dim by As Integer Integer.TryParse(sb2.ToString(), by) Return by.ToString("00000000") '#End Region End Function Private Function ConvertBinaryToDecimal(binarytoconvertto As String) As String Dim mydecimal As Integer = 0 Dim f As Integer Dim i As Integer = 0 While i < binarytoconvertto.Length If New String(binarytoconvertto.ToCharArray().Reverse().ToArray()(i), 1) <> "0" Then Integer.TryParse(New String(binarytoconvertto.ToCharArray().Reverse().ToArray()(i), 1), f) mydecimal += DirectCast(f, Integer) * DirectCast(Math.Pow(2, i), Integer) Else Continue While End If System.Math.Max(System.Threading.Interlocked.Increment(i),i - 1) End While Return mydecimal.ToString() End Function |
Descripcion: |
jueves, 5 de abril de 2012
Convertir Numero entre Decimal y Binario
miércoles, 22 de febrero de 2012
Convertir numero en letra
Objetivo | |
Convertir números en su respectiva letras | |
Vista Previa | |
using System; using System.Globalization; using System.Text; using System.Text.RegularExpressions; using System.Windows.Forms; namespace ConvNumLetra { public partial class NumeroEnLetraForm : Form { private static int comas; // Cantidad de comas en el valor private static string[] digitos; // Grupon de digito en el valor private static int td = 1; #region Enu_Digitos, Enumeracion con todos los digitos contenido en un numero enum Unidad { Cero = 0, Uno = 1, Dos = 2, Tres = 3, Cuatro = 4, Cinco = 5, Seis = 6, Siente = 7, Ocho = 8, Nueve = 9 }; enum Decena { Once = 11, Dosce = 12, Trece = 13, Cotorce = 14, Quince = 15 }; enum DecenaEntero { Diez = 10, Veinte = 20, Treinta = 30, Cuarenta = 40, Cincuenta = 50, Sesenta = 60, Setenta = 70, Ochenta = 80, Noventa = 90 }; enum Centena { Cien = 100, Doscientos = 200, Trecientos = 300, Cuatrocientos = 400, Quinientos = 500, Seiscientos = 600, Seteciento = 700, Ochocientos = 800, novecientos = 900 }; enum GroupSeparator { None = 0, Mil = 1, Millones = 2, Billones = 4, Trillones = 6, Cuatrillones = 8, Quintillones = 10, Sextillones = 12, Septillones = 14, Octillones = 16, Nonillones = 18 }; #endregion Enu_Digitos, Enumeracion con todos los digitos contenido en un numero /// | |
Descarga | |
Csahrp (C#) | Visual basic (VB) |
Descripción: | |
Etiquetas:
General
Ubicación: Republica Dominicana
Santo Domingo, Dominican Republic
martes, 24 de enero de 2012
Marcar Accion Realizada en DataGridView
Objectivo |
Marcar la accion realizada en las filas del DataGridView. |
|
Requisito: |
|
Para realizar esta practica : |
|
|
|
|
|
using System; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Windows.Forms; namespace WindowsCS.Formularios { public partial class GridMarkedActionForm : Form { DataTable table = new DataTable("TB1"); public GridMarkedActionForm() { InitializeComponent(); DoColumn("ID", "System.Int32", true, true); DoColumn("NameAccion", "System.String", false, false); DoColumn("Image", "System.Byte[]", false, false); } #region Metodos de ayuda private void DoColumn(string name, string type, bool unique, bool isprimary) { DataColumn column = new DataColumn(name); column.DataType = Type.GetType(type); column.Unique = unique; table.Columns.Add(column); if (isprimary) { DataColumn[] PrimaryKeyColumns = new DataColumn[1]; PrimaryKeyColumns[0] = table.Columns[name]; table.PrimaryKey = PrimaryKeyColumns; } } public byte[] ConvertImageToByteArray(System.Drawing.Image imageIn) { MemoryStream ms = new MemoryStream(); imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Png); return ms.ToArray(); } public Image ConvertByteArrayToImage(int id) { MemoryStream ms = new MemoryStream((byte[])table.Rows.Find(id).ItemArray[2]); Image returnImage = Image.FromStream(ms); return returnImage; } public Image ConvertByteArrayToImage(byte[] byteArrayIn) { MemoryStream ms = new MemoryStream(byteArrayIn); Image returnImage = Image.FromStream(ms); return returnImage; } #endregion Metodos de ayuda #region EventHandler private void Form4_Load(object sender, EventArgs e) { // TODO: esta línea de código carga datos en la tabla 'testDataSet.T1' Puede moverla o quitarla según sea necesario. this.t1TableAdapter.Fill(this.testDataSet.T1); foreach (DataGridViewRow row in t1DataGridView.Rows) { row.Cells[0].Value = null; } } private void t1BindingNavigatorSaveItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in t1DataGridView.Rows) { if (table.Rows.Contains(row.Cells[1].Value)) { if ((table.Rows.Find((int)row.Cells[1].Value).ItemArray[1]).ToString() == "Delete") { t1BindingSource.RemoveCurrent(); } } } this.Validate(); this.t1BindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.testDataSet); foreach (DataGridViewRow row in t1DataGridView.Rows) { row.Cells[0].Value = null; } table.Clear(); } private void t1BindingSource_ListChanged(object sender, ListChangedEventArgs e) { DataRow row = table.NewRow(); switch (e.ListChangedType.ToString()) { case "ItemChanged": row["ID"] = (int)t1DataGridView.CurrentRow.Cells[1].Value; row["NameAccion"] = "Edit"; row["Image"] = ConvertImageToByteArray((System.Drawing.Image)Resource1.Edit); table.Rows.Add(row); t1DataGridView.CurrentRow.Cells[0].Value = (System.Drawing.Image)Resource1.Edit; break; case "ItemAdded": row["ID"] = (int)t1DataGridView.CurrentRow.Cells[1].Value; row["NameAccion"] = "Add"; row["Image"] = ConvertImageToByteArray((System.Drawing.Image)Resource1.Add); table.Rows.Add(row); t1DataGridView.Rows[e.NewIndex].Cells[0].Value = (System.Drawing.Image)Resource1.Add; break; // movido al evento clic del boton eliminar, con el objectivo de eliminar esta // caracteristica del bindingsource e implementarlo de forma manual. //case "ItemDeleted": // // break; /* // no implementado case "ItemMoved": break; */ default: break; } } private void t1DataGridView_Sorted(object sender, EventArgs e) { if (table.Rows.Count > 0) { foreach (DataGridViewRow row in t1DataGridView.Rows) { if (table.Rows.Contains((Convert.ToInt32(row.Cells[1].Value)))) { row.Cells[0].Value = ConvertByteArrayToImage((Convert.ToInt32(row.Cells[1].Value))); } } } } private void bindingNavigatorDeleteItem_Click_1(object sender, EventArgs e) { DataRow row = table.NewRow(); row["ID"] = (int)t1DataGridView.CurrentRow.Cells[1].Value; row["NameAccion"] = "Delete"; row["Image"] = ConvertImageToByteArray((System.Drawing.Image)Resource1.Delete); table.Rows.Add(row); t1DataGridView.CurrentRow.Cells[0].Value = (System.Drawing.Image)Resource1.Delete; } #endregion EventHandler } } |
Descripcion: |
private void DoColumn(string name, string type, bool unique, bool isprimary) { DataColumn column = new DataColumn(name); column.DataType = Type.GetType(type); column.Unique = unique; table.Columns.Add(column); if (isprimary) { DataColumn[] PrimaryKeyColumns = new DataColumn[1]; PrimaryKeyColumns[0] = table.Columns[name]; table.PrimaryKey = PrimaryKeyColumns; } } public byte[] ConvertImageToByteArray(System.Drawing.Image imageIn) { MemoryStream ms = new MemoryStream(); imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Png); return ms.ToArray(); } public Image ConvertByteArrayToImage(int id) { MemoryStream ms = new MemoryStream((byte[])table.Rows.Find(id).ItemArray[2]); Image returnImage = Image.FromStream(ms); return returnImage; } private void Form4_Load(object sender, EventArgs e) { // TODO: esta línea de código carga datos en la tabla 'testDataSet.T1' Puede moverla o quitarla según sea necesario. this.t1TableAdapter.Fill(this.testDataSet.T1); foreach (DataGridViewRow row in t1DataGridView.Rows) { row.Cells[0].Value = null; } } |
|
Suscribirse a:
Entradas (Atom)