|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - neg1414
Páginas: [1]
1
« en: Jueves 20 de Mayo de 2010, 18:00 »
Buenas: Lo que intento es descomponer un numero en todos sus sumatorios pero siendo la primera cifra siempre la misma, es decir por ejempol Numero 11,Primera cifra 6 6-1-1-1-1-1 6-1-1-1-1-2 6-1-1-2-1 6-1-1-3 ...... ....... 6-2-1-1-1 6-2-2-1 6-2-3 ..... ..... 6-5 He creado el siguiente algoritmo recursivo (en C) Principal() { Sumandos(11,1,6,"6 "); } Sumandos(int Nv,int i,int Sum,AnsiString s) { if(Sum==Nv) { Mostrar(s); } for (int a=Sum;a<Nv; a++) { Sumandos(Nv,i++,Sum+i,s+IntToStr(i)+" "); } }
Pero el resultado solo es: 6 1 1 1 1 1 6 1 1 1 2 6 1 1 3 6 1 2 2 6 1 4 6 2 3 6 5 Me faltan combinaciones ejp 6-2-2-1 Alguna idea Gracias
2
« en: Sábado 25 de Abril de 2009, 13:37 »
Buenas.. MI problema es el siguiente Tengo dos clases : clase1, Clase2 En la primera clase creo un array booleano de 3 elementos Clase1 { bool VectorOPadre[3]; }
Este vector lo paso como parametro a un procedimiento de la clase2 Clase2 { ProcedEnClase2(VectorPadre); }
En la clase 2 el procedimiento recibe el vectorPadre como parametro,lo modifica y al ser un paso por referencia esos cambios se plasman en VectorPadre una vez vuelvo a Clase1; Clase2 { ProcedEnClase2(bool Vect[]); { Vect[0]=true; Vect[1]=true; Vect[2]=true; } } Hasta aqui todo bien mi problema surge cuando, En la clase2 trabajo con el vector pasado desde clase1 en otros procediminetos,Obviamente me da un error por que la variable pasada es Local,solo puedo trabajar con ella en el procedimiento que la recibe como parametro.. Como solucion pense en crear una vector booleano variable Goblal Clase2 { bool VectorGlobal[3] } Inicializarlo apuntando este a la direccion de comienzo del Vector pasado como referencia (VectorPadre) con lo cual al modificar el VectorGlobal estory modificando VectorPadre.He probado con ProcedEnClase2(bool Vect[]); { VectorGlobal=Vect;
VectorGlobal=&Vect
*VectorGlobal=&Vect } No hay Manera Laguna Idea Gracias
3
« en: Sábado 29 de Noviembre de 2008, 12:22 »
Buenas, mi problema es el siguiente: Desde un Form1 accedo a otro Form2 mediante la forma modal: TForm2 * prueba; prueba = new TForm2(this); //Mostramos el Formulario como modal switch (prueba->ShowModal()) { case mrOk: break; }
En el evento Activate del Form2 (dependiendo de una condicion)este debe de redimensionarse (hacerse mas pequeño), pero no lo hace. Supongo que tiene que ver con el acceso modal pero no consigo solucionarlo Alguna Idea. Gracias
4
« en: Jueves 13 de Noviembre de 2008, 12:40 »
Mi Pregunta es si es posible evitar que un elemento "refresque" su imagen (Supongo que sera evitar que se ejecute el evento ONPaint) Por ejemplo creo que al salir del evento KeyDown se repinta la Imagen del componente y me gustaria evitarlo.
Gracias.
5
« en: Martes 21 de Octubre de 2008, 15:53 »
Buenas:
Tengo un programa que al iniciarse muestra en pantalla un menu (Form Principal),El caso es que en el evento Form Activate el programa lee una gran cantidad de datos de un archivo, lo que le lleva un monton de tiempo.....Esto produce que del formulario menu se muestre en principio una parte (los bordes) y al rato (una vez leidos los datos del archivo) el resto del form (las opciones menu).
Es posible hacer que lea primero todos los datos y despues muestro el form completo .
Espero que me haya explicado Bien.
Gracias.
6
« en: Domingo 5 de Octubre de 2008, 09:53 »
Buenas (Haber si me explico)
He creado un componente Timagen. En este componente se cargaran tres imagenes.
1. La imagen predeterminada.
2. Se cargara esta imagen cuando se pulse el boton Izquierdo del boton y se mostrara mientras siga pulsado el boton izquierdo del raton
3. Se cargar esta imagen cuando se deje de pulsar le boton Izquierdo del Raton
Lo intente con el evento MouseDown pero al pulsar el boton izquierdo del raton me carga directamente la 3 imagen aunque mantenga el boton del raton pusado.
Alguna Idea Gracias.
7
« en: Miércoles 23 de Julio de 2008, 09:08 »
Estoy mostrando texto usando el objeto TCanvas de la forma:
Canvas->TextOut(x,y,"Text").
El texto me lo muestra,el problema radica en que el texto mostrado contiene un fondo Blanco....Cada letra esta rodeada de un contorno cuadrado blanco. (Las letras no tienen fondo transparente) Como puedo solucionarlo....
Gracias.
PosdTdata: el tipo letra que uso es Arial..
8
« en: Miércoles 18 de Junio de 2008, 18:05 »
En fase e diseño eh colocado varios tedit con un tamaño bastante pequeño (13x14).Una vez colocados todos Guardo y salgo. Cuando viuelvo a carga el programa, el tamaño de los TEdits me ha cambiado son mas grandes Alguna Idea.......
Gracias
Nota: Si copio un Tedit con el tamaño pequeño y lo pego en el form el nuevo se muestra con un tamaño mayor (justamente el tamaño en el que me aparecen todos al cargar de nuevo el programa)
9
« en: Jueves 29 de Mayo de 2008, 19:08 »
Buenas: Dentro de un Listbox cuyos elementos estan ordenados alfabeticamente al pulsar una tecla alfanumerica el item que me selecciona es siempre el segundo del grupo de items que empiezen por la tecla pulsada..nunca el primero (a mi os aseguro que me pasa) . Alguien sabe porque y como puedo hacer que la posicion sea el primeros del grupo de items que empiezen por la tecla pulsada. TStringList *Lista = New TStringList Lista->Add("A") Lista->Add("AB") Lista->Add("AC") Lista->Add("B") Lista->Add("BA") Lista->Add("C") ... Lista->Sorted; for (int i=0;i<Lista>Count;i++) { ListBox1 ->Items->Text = Lista->Text }
Gracias.
10
« en: Jueves 6 de Marzo de 2008, 20:33 »
Buenas, Haber si me explico: Tengo una serie de datos que he guardado de la forma siguiente struct Datos{ short Dato1; short Dato2; short Dato3; short Dato4; } Datos Coleccion[5]; ]
con ella debo de calcular todas la combianciones posibles entre sus datos de la forma short Combinaciones[NumCombinaciones][5] //Subgeneris Combinaciones[0].[0] = Coleccion[0].Dato1; Combinaciones[0].[1] = Coleccion[1].Dato1; Combinaciones[0].[2] = Coleccion[2].Dato1; Combinaciones[0].[3] = Coleccion[3].Dato1; Combinaciones[0].[4] = Coleccion[4].Dato1; Combinaciones[1].[0] = Coleccion[0].Dato1; Combinaciones[1].[1] = Coleccion[1].Dato1; Combinaciones[1].[2] = Coleccion[2].Dato1; Combinaciones[1].[3] = Coleccion[3].Dato1; Combinaciones[1].[4] = Coleccion[4].[b]Dato2;[/b] Combinaciones[2].[0] = Coleccion[0].Dato1; Combinaciones[2].[1] = Coleccion[1].Dato1; Combinaciones[2].[2] = Coleccion[2].Dato1; Combinaciones[2].[3] = Coleccion[3].Dato1; Combinaciones[2].[4] = Coleccion[4].[b]Dato3;[/b] Asi Sucesivamente hasta completar todas las Combinaciones Combinaciones[1024].[0] = Coleccion[0].[b]Dato4;[/b] Combinaciones[1024].[1] = Coleccion[1].[b]Dato4;[/b] Combinaciones[1024].[2] = Coleccion[2].[b]Dato4;[/b] Combinaciones[1024].[3] = Coleccion[3].[b]Dato4;[/b] Combinaciones[1024].[4] = Coleccion[4].[b]Dato4;[/b]
Para realizar estas operaciones solo se me ocurre mediante bucles Anidados (uno por cada coleccion en total 5) pero surge aqui un problema: No se APRIORI cuantas colecciones tendran datos por lo cual puede que no necesitare los 5 bucles anidados: Si solo hay tres colecciones la dimension Combinaciones es: Combinaciones[64][5] y solo necesitare 3 bucles. Hay algun algoritmo que solucione este problema Gracias espero haberme explicado bien.
11
« en: Jueves 13 de Diciembre de 2007, 16:00 »
Buenas
Dentro de una Calse dreado un tipo que viene a ser una Tabla de enteros de la forma
class MiTabla;
private:
typedef int TTabla[14][14];
He creado una funcion que me devolvera un dato de este tipo
public:
TTabla *LeerTabla()
Hata Aqui todo bien.....
El problema surge a la hora de implementar la funcion
TTabla *MiTabla::LeerTabla() { }
Me da error "Declaration syntax error"
He probado con TTabla **LeerTabla() TTabla **MiTabla::LeerTabla() idem
Alguna Idea
Gracias
12
« en: Miércoles 5 de Diciembre de 2007, 15:43 »
Buenas
El caso es que tengo varios Componentes del mismo tipo a los que he denominado de la forma:
TComponent1 TComponent2 TComponent3 ....... TComponent40
Segun la eleccion del usuario se ejecuta un metodo "CambiarCaption" en la que se llama a un procedimiento propio del Componente (la mima llamada para cada componente)
CambiarCaption() { TComponent1->Procedimiento(); TComponent2->Procedimiento(); TComponent3->Procedimiento(); ............................. TComponent40->Procedimiento();
} Mi pregunta es la siguiente: Al ser el procedimiento a ejecutar igual para todos los Componentes seria posible Evitar la tediosa operacion de ir enumerando uno a uno todos los componentes con su respectiva llamada y hacerlo de una manera mas comoda
Gracias
13
« en: Miércoles 24 de Octubre de 2007, 17:14 »
Buenas :
Estoy intentando crear mi primer componente VCL (VISUAL) lo derivo de la clase customControl (sera interactivo con el usuario) El caso es que lo "creo" logrando que me aparezca en la paleta Standard el icono correspondiente. se supone que al anadirlo en un form en principio deberia de aparecer un rectangulo (de 100x150) con borde "ES SOLO UNA PRUEBA " pero na de na.
os dejo el codigo del componente haber si me podeis ayudar
#ifndef ComponenteH #define ComponenteH //--------------------------------------------------------------------------- #include <SysUtils.hpp> #include <Classes.hpp> #include <Controls.hpp> #include <Forms.hpp> #include <StdCtrls.hpp>
//--------------------------------------------------------------------------- class PACKAGE TComponente : public TCustomControl {
private:
TCanvas *FCanvas; //Para Dibujar
//Mensaje de Windows solicitando el Tamano del control void __fastcall CNMeasureItem(TWMMeasureItem& Mensaje);
//Mensaje de Windows solicitando el tamano del control void __fastcall CNDrawItem(TWMDrawItem& Mensaje);
BEGIN_MESSAGE_MAP MESSAGE_HANDLER(CN_MEASUREITEM,TWMMeasureItem,CNMeasureItem); MESSAGE_HANDLER(CN_DRAWITEM,TWMDrawItem,CNDrawItem); END_MESSAGE_MAP(TCustomControl);
protected:
//Parametros para la creacion del Compnente void __fastcall Parametros (TCreateParams &Parametro);
//Cambio el estado del Componente void __fastcall EstadComponent (bool ADefault);
public: __fastcall TCeldaResultados(TComponent* Owner);
__published:
}; //---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Componente.h" #pragma package(smart_init)
static inline void ValidCtrCheck(TComponente *) { new TCeldaResultados(NULL); }
//--------------------------------------------------------------------------- __fastcall TComponente ::TComponente (TComponent* Owner) : TCustomControl(Owner) { FCanvas = new TCanvas; //Creamos el objeto camvas }
//--------------------------------------------------------------------------- //Fijamos una serie de parametros antes de crear el componente
void __fastcall TComponente ::Parametros (TCreateParams &Parametro) { Parametro.Width =100; Parametro.Height =150; //Indicamos que el control va a ser definido por el rogramador Parametro.Style = Parametro.Style | BS_OWNERDRAW; }
//--------------------------------------------------------------------------- //Cada vez que Windows necesita dibujar el componente //BS_OWNERDRAW envia este mensaje,solicitando las dimensiones
void __fastcall TComponente ::CNMeasureItem(TWMMeasureItem& Mensaje) { //Facilitamos la anchura y altura del control Mensaje.MeasureItemStruct->itemWidth = Width; Mensaje.MeasureItemStruct->itemHeight = Height; }
//--------------------------------------------------------------------------- //Cada vez que halla que dibujar el control se llamara a este metodo
void __fastcall TComponente ::CNDrawItem(TWMDrawItem& Mensaje) {
RECT Area; char Texto[256]; strncpy(Texto,Caption.c_str(),255); //Copiamos el titulo del boton Area = ClientRect; //Obtenemos el area de Trabajo
// Tomar el color normal del borde FCanvas->Pen->Color = clWindowFrame;
//El Handle de FCanvas sera el que nos permita dibujar FCanvas->Handle = Mensaje.DrawItemStruct->hDC;
//Anchura del Lapiz FCanvas->Pen->Width =2;
//Estilo lapiz continuo FCanvas->Pen->Style = psSolid;
//Relleno solido FCanvas->Brush->Style = bsSolid;
//color FCanvas->Brush->Color=clBtnFace;
//Dibujamos un contorno FCanvas->Rectangle(10,10,20,20);
//Cuando Hallamos terminado Handle debe de ser cero FCanvas->Handle = 0; }
//--------------------------------------------------------------------------- //Al cambiar el estado del componente
void __fastcall TComponente ::EstadComponent (bool ADefault); { Refresh(); //Redibujar }
//--------------------------------------------------------------------------- namespace Componente { void __fastcall PACKAGE Register() { TComponentClass classes[1] = {__classid(TCeldaResultados)}; RegisterComponents("Standard", classes, 0); } }
Gracias
14
« en: Lunes 17 de Septiembre de 2007, 11:51 »
Como puedo saber si en un componente UpDown se ha pulsado la flecha arriba o la flecha abajo
Gracias
15
« en: Sábado 25 de Agosto de 2007, 19:06 »
Buenas
Como puedo modificar por elemplo el tercer item de un TstringList (modificar su texto)
Gracias
16
« en: Martes 14 de Agosto de 2007, 18:13 »
Buenas:
Como se puede alinear el Texto de un Edit a la derecha en tiempo de Ejecucion
Gracias
17
« en: Viernes 10 de Agosto de 2007, 18:14 »
Buenas : Al crear un nuevo Componenente VCL tomando como base otro ya existente se puede modificar tanto sus propiedades como eventos, mi pregunta es si ademas se puede cambiar su aspecto visual. Por ejemplo el tipico cuadrado de un CheckBox convertirlo en un circulo......
Si es posible me gustaria saber como
Gracias
18
« en: Domingo 15 de Julio de 2007, 10:43 »
Buenas
LLevo cierto tiempo queriendo cambiar el color de un item de un listbox en tiempo de ejecucion y no lo logro
La idea es que al selecionar un item de un ListBox este se "Inhabilita" una de las consecuencias es que cambie de color..
Para ello he creado un vector booleano con numero de elmentos igual al de items asi cada vez que se selecciona un Item pongo la posicion que se corresponde en el vector a false. (Hata aqui todo bien)
En el Evento DrawItem he puesto la siguiente condicion:
if (VectorSeleccionados[Listbox1->ItemIndex] = false) { Listbox1->Canvas->Brush->Color = static_cast(....); }
Al compilar pone error : Style of funtion definition is now obsolete
He probado con:
Listbox1->Canvas->Font->color = clGreen ;
no me da error pero no hace nada de nada.
Espero que me podais ayudar Gracias.
Responder Con Cita
19
« en: Viernes 8 de Junio de 2007, 17:02 »
Buenas:
Tengo una Estructura (en realidad es un Objeto pero para el caso es lo mismo ) de la forma
struct ejemplo { AnsiString Nombre; short edad; int dni; ............................ ................
}
El caso es que creo un archivo binario para guardar los datos. Los guardo no me da nigun error.
Mi problema es cuando quiero leer los datos del archivo, todos me los lee perfectamente(los ha guardado correctamente) excepto los declarados con el tipo AnsiString que me devuelve "" (nulo)
Cual es el problema: No puedo guardar un dato del tipo AnsiString directamente en un archivo binario?
Si es asi que debo hacer si no quiero cambiar el tipo.
Espero Haberme explicado bien
gracias
20
« en: Lunes 7 de Mayo de 2007, 17:47 »
Hola
Quiero crear un form que tiene un MainMenu tipico: Archivo,Editar,Ver....Al crearlo la posicion del menu es siempre (o eso creo) en la misma posicion: cordenada origen (0,0) del Form. Yo como soy un poco raro lo que quiero es que sobre el MainMenu esten una serie de opciones (botton,Label...). Mi pregunta es la siguiente Es posible Hacer lo que deseo (Posicionar el Main Menu donde yo quiero)
Espero haberme explicado bien
Gracias
Páginas: [1]
|
|
|