• Domingo 28 de Febrero de 2021, 23:02

Mensajes recientes

Páginas: 1 ... 8 9 [10]
91
C++ Builder / archivo DLL en base de datos
« Último mensaje por Ana_22 en Viernes 6 de Julio de 2018, 16:27 »
Buen día. Necesito descargar un archivo DLL de una base de datos por medio de un componente IBTable y copiarlo en otro archivo DLL creado dinámicamente con un TFileStream. El problema es que la funcion para copiar CopyFrom de TFileStream pide compo parámetro un stream, y el archivo DLL de la base de datos lo obtengo en formato BlobStream y no se como convertirlo a Stream... O BUSCARLE OTRA SOLUCIÓN PARA PODER COPIAR EL ARCHIVO DE LA BD AL CREADO DINÁMICAMENTE.
Código C++...
archivo = IBTableAplic->CreateBlobStream(IBTableAplicARCHIVO, bmRead);
TFileStream *fs= new TFileStream((cPath+cNomArch), fmCreate);
fs->CopyFrom( archivo, IBTableAplicARCHIVO->Size);
92
Clarion / Browse
« Último mensaje por Marco Py en Martes 3 de Julio de 2018, 15:04 »
Buenas, tengo una aplicacion con C10 y firebird 3.0.
En una ventana hago una consulta y cargo en una tabla auxiliar los datos generados por el select.
En el evento SetQueueRecord procedure, virtual, ejecuto unas sentencias, pero lo vuelve muy lento porque lo hace para todas las filas del archivo.
Mi consulta es como puedo hacer para que solo lo ejecute para la fila seleccionada.

A esta consulta me respondieron lo siguiente:

Este código sirve para refrescar un browse de una queue (El renglon Iluminado)
select(?NombreList,pointer(NombreQueue))
.... acá va tu código


! Este código sirve para refrescar un browse de un Archivo (El renglon Iluminado)
! SIEMPRE QUE EL CAMPO POR EL QUE SE VA A LEER ESTÉ EN EL BROWSE
select(?Browse:1,pointer(Queue:Browse:1))
.... acá va tu código

! Traigo los datos del registro iluminado de QResumen
! Leo el Registro Iluminado
! En EL SELECT DEL BOTON

GET(QResumen,CHOICE(?List1))
IF ERRORCODE() THEN Message('No lee registro').
... Acá va tu código

Pero no me dijeron en que punto embebido deber ir, asi que se me pueden orientar un poco en este sentido, desde ya gracias.
93
C# / Re: Sobre Árboles en C#
« Último mensaje por bugmenot2 en Viernes 29 de Junio de 2018, 16:55 »
using System;


namespace ejemplo{
   
public class NodoT
    {
        public NodoT NodoIzquierdo;
        public int Informacion;
        public NodoT NodoDerecho;
        //Constructor
        public NodoT()
        {
            this.NodoIzquierdo=null;
            this.Informacion=0;
            this.NodoDerecho=null;
        }
    }
    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    class Class1
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
//            ClearConsole ClearMyConsole = new ClearConsole();
            int Opcion=0;
            NodoT Raiz=null;
            int Dato;
            do
            {
                Opcion=Menu();
                switch(Opcion)
                {
                    case 1: Console.Write("Valor del Nuevo Nodo: ");
                            Dato=int.Parse(Console.ReadLine());
                            if(Raiz==null)
                            {
                                NodoT NuevoNodo=new NodoT();
                                NuevoNodo.Informacion=Dato;
                                Raiz=NuevoNodo;
                            }
                            else
                            {
                                Insertar(Raiz, Dato);
                            }
//                            ClearMyConsole.Clear();
                            Console.Clear();
                            break;
                            //Recorrido en Pre Orden del Arbol
                    case 2: RecorridoPreorden(Raiz);
                            Console.WriteLine("Fin del Recorrido,...");
                            Console.ReadLine();
//                            ClearMyConsole.Clear();
                            Console.Clear();
                            break;
                            //Recorrido en Post Orden del Arbol
                    case 3: RecorridoPostorden(Raiz);
                            Console.WriteLine("Fin del Recorrido,...");
                            Console.ReadLine();
//                            ClearMyConsole.Clear();
                            Console.Clear();
                            break;
                            //Recorrido en In Orden del Arbol
                    case 4: RecorridoInorden(Raiz);
                            Console.WriteLine("Fin del Recorrido,...");
                            Console.ReadLine();
//                            ClearMyConsole.Clear();
                            Console.Clear();
                            break;
                    case 5: Console.Write("Teclee el Dato a Buscar: ");
                            Dato=int.Parse(Console.ReadLine());
                            if(Raiz!=null)
                            {
                                BuscarNodo(Raiz, Dato);
                            }
                            else
                            {
                                Console.WriteLine("ERROR, Arbol Vacio....");
                            }                           
//                            ClearMyConsole.Clear();
                            Console.Clear();
                            break;
                    case 6: Console.Write("Teclee el Dato a Eliminar: ");
                            Dato=int.Parse(Console.ReadLine());
                            if(Raiz!=null)
                            {
                                EliminarNodo(ref Raiz, Dato);
                            }
                            else
                            {
                                Console.WriteLine("ERROR, Arbol Vacio....");
                            }   
//                            ClearMyConsole.Clear();
                            Console.Clear();
                            break;
                    case 7: Finalizar();
                            break;
                }
            }while(Opcion!=7);
 
        }
        static int Menu()
        {
//            ClearConsole ClearMyConsole = new ClearConsole();
            int Resultado=0;
            do
            {
                Console.WriteLine("MENU DE ARBOLES");
                Console.WriteLine("");
                Console.WriteLine("1.- Registrar un Nuevo Nodo");
                Console.WriteLine("2.- Recorrido en Pre-orden");
                Console.WriteLine("3.- Recorrido en Post-orden");
                Console.WriteLine("4.- Recorrido en In-orden");
                Console.WriteLine("5.- Buscar un Nodo");
                Console.WriteLine("6.- Eliminar un Nodo");
                Console.WriteLine("7.- Finalizar el Programa");
                Console.WriteLine("");
                Console.Write("Teclee la Opcion Deseada: ");
                Resultado=int.Parse(Console.ReadLine());
                Console.WriteLine("");
                if(Resultado<1||Resultado>7)
                {
                    Console.WriteLine("ERROR, Opcion Invalida....");
                    Console.ReadLine();
                    Console.WriteLine("");
                }
//                ClearMyConsole.Clear();
                Console.Clear();
            }while(Resultado<1||Resultado>7);
            return Resultado;
        }
        //Insertar en un arbol binario
        static void Insertar(NodoT Raiz, int Dato)
        {
            if(Dato<Raiz.Informacion)
            {
                if(Raiz.NodoIzquierdo==null)
                {
                    NodoT NuevoNodo=new NodoT();
                    NuevoNodo.Informacion=Dato;
                    Raiz.NodoIzquierdo=NuevoNodo;
                }
                else
                {
                    //Llamada recursiva
                    Insertar(Raiz.NodoIzquierdo, Dato);
                }
            }
            else//Buscar por el lado derecho
            {
                if(Dato>Raiz.Informacion)
                {
                    if(Raiz.NodoDerecho==null)
                    {
                        NodoT NuevoNodo=new NodoT();
                        NuevoNodo.Informacion=Dato;
                        Raiz.NodoDerecho=NuevoNodo;
                    }
                    else
                    {
                        //Llamada recursiva por el lado derecho
                        Insertar(Raiz.NodoDerecho, Dato);
                    }
                }
                else
                {
                    //El Nodo existe en el Arbol
                    Console.WriteLine("Nodo Existente, Imposible Insertar...");
                    Console.ReadLine();
                }
            }
        }
        //Metodo de recorrido en Pre-Orden
        static void RecorridoPreorden(NodoT Raiz)
        {
            if(Raiz!=null)
            {
                Console.Write("{0}, ",Raiz.Informacion);
                RecorridoPreorden(Raiz.NodoIzquierdo);
                RecorridoPreorden(Raiz.NodoDerecho);
            }
        }
        //Metodo de recorrido en In-Orden
        static void RecorridoInorden(NodoT Raiz)
        {
            if(Raiz!=null)
            {
                RecorridoInorden(Raiz.NodoIzquierdo);
                Console.Write("{0}, ",Raiz.Informacion);               
                RecorridoInorden(Raiz.NodoDerecho);
            }
        }
        //Metodo de recorrido en Post-Orden
        static void RecorridoPostorden(NodoT Raiz)
        {
            if(Raiz!=null)
            {
                RecorridoPostorden(Raiz.NodoIzquierdo);                             
                RecorridoPostorden(Raiz.NodoDerecho);
                Console.Write("{0}, ",Raiz.Informacion);
            }
        }
        //Metodo de Buscar un nodo
        static void BuscarNodo(NodoT Raiz, int Dato)
        {
            if(Dato<Raiz.Informacion)
            {
                //Buscar por el Sub-Arbol izquierdo
                if(Raiz.NodoIzquierdo==null)
                {
                    Console.WriteLine("ERROR, No se encuentra el Nodo...");
                    Console.ReadLine();
                }
                else
                {
                    BuscarNodo(Raiz.NodoIzquierdo, Dato);
                }
            }
            else
            {
                if(Dato>Raiz.Informacion)
                {
                    //Buscar por el Sub-Arbol derecho
                    if(Raiz.NodoDerecho==null)
                    {
                        Console.WriteLine("ERROR, No se encuentra el Nodo...");
                        Console.ReadLine();
                    }
                    else
                    {
                        BuscarNodo(Raiz.NodoDerecho, Dato);
                    }
                }
                else
                {
                    //El nodo se encontro
                    Console.WriteLine("Nodo Localizado en el Arbol...");
                    Console.ReadLine();
                }
            }
        }
        //Metodo de Eliminar
        static void EliminarNodo(ref NodoT Raiz, int Dato)
        {
            if(Raiz!=null)
            {
                if(Dato<Raiz.Informacion)
                {
                    EliminarNodo(ref Raiz.NodoIzquierdo, Dato);
                }
                else
                {
                    if(Dato>Raiz.Informacion)
                    {
                        EliminarNodo(ref Raiz.NodoDerecho, Dato);
                    }
                    else
                    {
                        //Si lo Encontro
                        NodoT NodoEliminar=Raiz;
                        if(NodoEliminar.NodoDerecho==null)
                        {
                            Raiz=NodoEliminar.NodoIzquierdo;
                        }
                        else
                        {
                            if(NodoEliminar.NodoIzquierdo==null)
                            {
                                Raiz=NodoEliminar.NodoDerecho;
                            }
                            else
                            {
                                NodoT AuxiliarNodo=null;
                                NodoT Auxiliar=Raiz.NodoIzquierdo;
                                bool Bandera=false;
                                while(Auxiliar.NodoDerecho!=null)
                                {
                                    AuxiliarNodo=Auxiliar;
                                    Auxiliar=Auxiliar.NodoDerecho;
                                    Bandera=true;
                                }
                                Raiz.Informacion=Auxiliar.Informacion;
                                NodoEliminar=Auxiliar;
                                if(Bandera==true)
                                {
                                    AuxiliarNodo.NodoDerecho=Auxiliar.NodoIzquierdo;
                                }
                                else
                                {
                                    Raiz.NodoIzquierdo=Auxiliar.NodoIzquierdo;
                                }
                            }
                        }
                    }
                }               
            }
            else
            {
                Console.WriteLine("ERROR, EL Nodo no se Encuentra en el Arbol...");
                Console.ReadLine();
            }
        }
        //Metodo de Finalizacion
        static void Finalizar()
        {
            Console.WriteLine("Fin del Programa, presione una tecla para continuar,...");
            Console.ReadLine();
        }
    }
}
94
Cobol / READ EN COBOL
« Último mensaje por mcastro en Jueves 28 de Junio de 2018, 15:34 »
Buenos dias. Me gustaría saber si el nombre del archivo en una instrucción READ o WRITE de Cobol puede ser una variable.
Me gustaría crear una única rutina para leer y escribir pasándole como parámetros el nombre del archivo y el modo de abrirlo en el caso del READ. Trabajo con OpenCobolIde. Gracias de antemano por su colaboración.
95
Perl / Salió Perl v5.28.0
« Último mensaje por explorer en Sábado 23 de Junio de 2018, 19:03 »
Ya tenemos nueva versión de Perl, la v5.28  :jumpie:

Perl 5.28.0 representa, aproximadamente, 13 meses de desarrollo desde Perl 5.26.0 y contiene aproximadamente 730 000 líneas modificadas en 2200 archivos por parte de 77 autores.

Novedades de esta versión.
96
VBA / No puedo utilizar Load Label en PictureBox
« Último mensaje por Fran1946 en Martes 19 de Junio de 2018, 19:09 »
Hola a todos:

Esta pregunta parece obvia y simple, pero me está volviendo loco..
Tengo un proyecto con 14 Forms, en el principal (Main) tengo un PictureBox donde se grafican lineas, círculos,etc.
Hasta aquí todo correcto, pero este PictureBox, contiene imágenes, TextBox, y ListBox.
Todo funciona OK, pero he tenido que poner 30 Labels que necesito en tiempo de diseño, por que si pongo solo una, por ejemplo Label1 con índice 0 Label1(0), y luego cargo mas en tiempo de ejecución con un For-Next, Load Label1(i), etc, me sale un error "Uso no válido de la propiedad" y no me explico por que.
En el resto de los Foms si me deja hacerlo, y no me lo explico.

Alguna ayuda?

Gracias.
97
Dudas informáticas / Duda con las licencia Zlib y GLP
« Último mensaje por JorgeCMPD en Lunes 18 de Junio de 2018, 18:23 »
¿Puedo crear un software(en c++) con la licencia que yo quiera usando librerías con licencia GLP o Zlib. O el programa por extensión de la librería tiene que tener su misma licencia.

otra cosa
        ¿es obligatorio subir el código fuente del programa ?
98
C++ Builder / Re:Como podria insertar un documento en la tabla
« Último mensaje por chenech en Miércoles 16 de Mayo de 2018, 17:53 »
OpenDialog->FileName te devuelve el nombre del archivo, por eso al insertar eso te graba el nombre,
debes crear un campo blob en la base de datos y y cargar el archivo a un Stream, luego este asignarlo al parámetro, de esta formap puedes guardar un jpg, doc, binarios, texto, etc, algo así:

Código: [Seleccionar]
   QInsertar->SQL->Clear();
   Insert = "INSERT INTO registros (descripcion) VALUES (:pdescripcion)";
  TFileStream *fStream = new TFileStream(OpenDialog->FileName, fmOpenRead);
  QInsertar>ParamByName("DOCUMENTO")->AsStream = fStream;
  delete fStream;
  QInsertar->Parameters->ParamByName("pdescripcion")->Value = Direccion;
99
PHP / Re:Consulta - Control de asistencia Turnos 24hs
« Último mensaje por F_Tanori en Miércoles 16 de Mayo de 2018, 09:18 »
Hola

¿Cual es el problema?, se supone que la fecha de salida siempre seria mayor a la fecha de entrada ¿no?, puedes poner ejemplos y la tabla donde insertas (estructura)

Saludos
100
Programadores para microcontroladores / PIC 16F8877A
« Último mensaje por isalv en Martes 15 de Mayo de 2018, 01:23 »
Hola a todos soy estudiante de electrónica y me gustaría saber si podrían ayudarme con la programación de LCD y teclado matricial en MPLAB X con el PIC 16F877A... Les agradezco infinitamente cualquier respuesta gracias!! Abrazos!! : :gracias: :ayuda:
Páginas: 1 ... 8 9 [10]