Intercambio de Código .Net VB VC#

shatal_hehc

Bovino maduro
#1
Que tal Bakunos, abro este post con el único propósito de hacer comunidad compartida, es decir para que en este post compartamos el codigo VB o VC# que creamos que pueda servirle a alguien mas, si estan de acuerdo les dejo un codigo que les va a servir seguramente.

Titulo : Run As
Problemática: Cuando una aplicación requiere permisos de administrador ya sea para escribir en carpetas protegidas o acceder a ellas etc, y el usuario que esta tratando de usarla es un usuario limitado, esta es la solucion, hay que crear una aplicación que ejecute un módulo con el siguiente código:

Código:
Imports System.Security.Principal
Imports System.Security.Permissions
Imports Microsoft.VisualBasic

    Sub Main()
        Dim runAs As New ProcessStartInfo(System.Windows.Forms.Application.StartupPath & "\NOMBRE DEL EJECUTABLE + EXTENSION")
        Dim passw As New Security.SecureString()
        Dim strUser As String =  "Usuario de perfil administrador"
        Dim strPwd As String = "Contraseña"

        runAs.UseShellExecute = False

        For i As Integer = 0 To are.Length - 1
            passw.InsertAt(i, strPwd.Chars(i))
        Next


        runAs.Domain = "Nombre del Dominio, este es opcional, si el equipo no se encuentra en dominio omitirlo"
        runAs.UserName = strUser
        runAs.Password = passw
        Try
            Process.Start(runAs)
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation)
        End Try

    End Sub
Saludos
 
#2
Hola pues yo traigo el mio es uno para convertir numero a letras, soporta hasta 999999999 como maximo.

Código:
using System;
using System.Collections.Generic;
using System.Text;
/*
 * Autor: Ing. Jose Israel Gomez Rodriguez. (Joshyba)
 *clase para convertir numero a letras
 * 1=uno
 * 100=cien
 * 1000 = mil
 * 2569 = dos mil quinientos sesenta y nueve
 * 19 = diecinueve
 */
namespace NumeroLetras
{
    public class Convertir
    {
        public Convertir()
        {
        }
        string[] NumeroBase ={
                                 "",
                                 "uno",
                                 "dos",
                                 "tres",
                                 "cuatro",
                                 "cinco",
                                 "seis",
                                 "siete",
                                 "ocho",
                                 "nueve",
                                 "diez",
                                 "once",
                                 "doce",
                                 "trece",
                                 "catorce",
                                 "quince",
                                 "dieciseis",
                                 "diecisiete",
                                 "dieciocho",
                                 "diecinueve",
                            };
        string[] NumeroBase2 = {
                                   "",
                                   "",
                                   "veinte",
                                   "treinta",
                                   "cuarenta",
                                   "ciencuenta",
                                   "sesenta",
                                   "setenta",
                                   "ochenta",
                                   "noventa"
                               };
        public string Convertir_Numero(string num)
        {
            string Resultado = "";
            int Tama_Cadena = num.Length;
            if (Tama_Cadena < 4)//3
                Resultado = Trio(Tama_Cadena,num);
            else if (Tama_Cadena < 7)//6
            {
                int millares = Tama_Cadena - 3;
                if(num.Substring(0,1)=="1" && Tama_Cadena==4)
                    Resultado = "mil " + Trio(3, num.Substring(millares, 3));
                else
                Resultado = Trio(millares, num.Substring(0, millares)) + " mil " + Trio(3, num.Substring(millares, 3));
            }
            else if (Tama_Cadena < 10)//9
            {
                int millares = Tama_Cadena - 3;
                int millon = Tama_Cadena - 6;
                if (num.Substring(0, 1) == "1" && Tama_Cadena == 7)
                {
                    if(Trio(3, num.Substring(millon, 3))=="")
                        Resultado = "un millon " + Trio(3, num.Substring(millares, 3));
                    else
                        Resultado = "millon " + Trio(3, num.Substring(millon, 3)) + " mil " + Trio(3, num.Substring(millares, 3));
                }
                else
                    Resultado = Trio(millon, num.Substring(0, millon)) + " milllones " + Trio(3, num.Substring(millon, 3)) + " mil " + Trio(3, num.Substring(millares, 3));
            }
            else if (Tama_Cadena < 13)
                Resultado = Trio(3, num.Substring(0, 3)) + " mil " + Trio(3, num.Substring(4, 3)) + " milllones " + Trio(3, num.Substring(7, 3)) + " mil " + Trio(3, num.Substring(10, 3));
            else if (Tama_Cadena < 16)
                Resultado = Trio(3, num.Substring(0, 3)) + " billones " + Trio(3, num.Substring(4, 3)) + " mil " + Trio(3, num.Substring(7, 3)) + " milllones " + Trio(3, num.Substring(10, 3)) + " mil " + Trio(3, num.Substring(13, 3));
            else if (Tama_Cadena < 19)
                Resultado = Trio(3, num.Substring(0, 3)) + " mil " + Trio(3, num.Substring(4, 3)) + " billones " + Trio(3, num.Substring(7, 3)) + " mil " + Trio(3, num.Substring(10, 3)) + " milllones " + Trio(3, num.Substring(13, 3)) + " mil " + Trio(3, num.Substring(13, 3));
            else if (Tama_Cadena < 21)
                Resultado = "";
            else if (Tama_Cadena < 24)
                Resultado = "";
            return Resultado;
        }
        string Unidades(string numx)
        {
            return NumeroBase[Convert.ToInt32(numx)];
        }
        string Decenas(string numx)
        {
            string Pre = "";
            int Num=Convert.ToInt32(numx);
            if (Num < 20)
            {
                Pre = NumeroBase[Num];
            }
            else
            {
                if (numx.Substring(0, 1) == "2")
                    Pre = NumeroBase2[2] + Unidades(numx.Substring(1, 1));
                else
                {
                    if (numx.Substring(1, 1) == "0")
                        Pre = NumeroBase2[Convert.ToInt32(numx.Substring(0, 1))];
                    else
                        Pre = NumeroBase2[Convert.ToInt32(numx.Substring(0, 1))] + " y " + Unidades(numx.Substring(1, 1));
                }
            }
            return Pre;
        }
        string Centenas(string numx)
        {
            string Pre = "";
            if (numx.Substring(0, 1) == "1")
            {
                if (numx.Substring(1, 1) == "0" && numx.Substring(2, 1) == "0")
                    Pre = "cien ";
                else
                    Pre = "ciento " + Decenas(numx.Substring(1, 2));
            }
            else if (numx.Substring(0, 1) == "0")
            {
                Pre = "" + Decenas(numx.Substring(1, 2));
            }
            else if (numx.Substring(0, 1) == "5")
            {
                Pre = "quinientos " + Decenas(numx.Substring(1, 2));
            }
            else if (numx.Substring(0, 1) == "7")
            {
                Pre = "setecientos " + Decenas(numx.Substring(1, 2));
            }
            else if (numx.Substring(0, 1) == "9")
            {
                Pre = "novecientos " + Decenas(numx.Substring(1, 2));
            }
            else
            {
                Pre = NumeroBase[Convert.ToInt32(numx.Substring(0, 1))] + "cientos " + Decenas(numx.Substring(1, 2));
            }
            return Pre;
        }
        string Trio(int cant, string Val)
        {
            string CadenaFinal = "";
            switch (cant)
            {
                case 1:CadenaFinal = Unidades(Val);
                    break;
                case 2: CadenaFinal = Decenas(Val);
                    break;
                case 3: CadenaFinal = Centenas(Val);
                    break;
            }
            return CadenaFinal;
        }
    }
}

para ver mas cosas pueden visitar mi blog Mi_Blog
 

ProfesiorX

Bovino adolescente
#4
Bueno yo tambien publico un codigo que pueden encotrar util.

¿Cuantas veces no han tenido la necesidad de exportar informacion, para poder usarla en otro programa?

Hay multiples soluciones para este problema, pero una que encuentro muy util es exportar en formato CSV (Coma Separated Value, valores separados por comas), como el siguiente ejemplo:

"Nombre", "Direccion", "Telefono"
Daniel,Sur 4,7777777
Jesus,Norte 13,8888888
Maria,Oriente 11,9999999

Bueno, pues el siguente fragmento hace precisamente esto, toma un DataTable, y lo guarda en un archivo de texto separado por comas, junto con los nombres de los campos del DataTable :)

Muchos programas pueden abrir este formato, incluse en una hoja de calculo de Excel, y este metodo es mucho mas facil que crear una funcion para exportar a una Hoja de Excell directamente, en especial si la persona no cuenta con Excel o tienen una version diferente a la que tenemos nosotros XD

Esta escrito en C# pero supongo que no es difcil adaptarlo a VB

Código:
        /// <summary>
        /// Exporta una tabla (Datatable), con los nombres de columna, en un Archivo
        /// de Valores Separados por Comas (Coma Separated Values).
        /// </summary>
        /// <param name="tabla">Tabla que contiene la infromacion a exportar.</param>
        /// <param name="nombre">Nombre del archivo en el que guardaremos los datos.</param>
        static public void ExportarCSV(DataTable tabla, string nombre)
        {
            StreamWriter writer = new StreamWriter(nombre);
            for (int i = 0; i < tabla.Columns.Count; i++)
            {
                writer.Write("\"{0}\"", tabla.Columns[i].ColumnName);
                if (i < tabla.Columns.Count - 1)
                {
                    writer.Write(",");
                }
            }
            writer.WriteLine();

            for (int i = 0; i < tabla.Rows.Count; i++)
            {
                for (int j = 0; j < tabla.Columns.Count; j++)
                {
                    writer.Write("{0}", tabla.Rows[i].ItemArray[j].ToString().TrimEnd());
                    if (j < tabla.Columns.Count - 1)
                    {
                        writer.Write(",");
                    }
                }
                writer.WriteLine();
            }
            writer.Close();
        }
 

shatal_hehc

Bovino maduro
#7
caray si muchas visitas pero muy pocos comentarios, digan al menos si creen q servira el post, nuevamente gracias a los q han aportado

saludos
 
Arriba