• Domingo 28 de Abril de 2024, 21:57

Mostrar Mensajes

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.


Mensajes - Vatoicc

Páginas: 1 [2] 3
26
C++ Builder / Re: Guardar Componentes Creados En Tiempo De Ejecución
« en: Viernes 18 de Agosto de 2006, 00:05 »
Segun lo que yo vi en clase de programacion, this es un puntero a la misma clase.

Código: Text
  1.  
  2. void Form1::CualquierFuncion(TObject *Sender) //o cualquier otro parametro
  3. {
  4.    TLabel * L;
  5.    L = new TLabel(this);    
  6. }
  7.  
  8.  

al poner this dentro de una funcion de la clase Form1 estas apuntando a Form1

Código: Text
  1.  
  2. void OtraClase::CualquierFuncion(TObject *Sender) //o cualquier otro parametro
  3. {
  4.    TLabel * L;
  5.    L = new TLabel(this);    
  6. }
  7.  
  8.  

en esa funcion de OtraClase, estas apuntando a OtraClase.

Y sobre el codigo que puso TRod

Código: Text
  1.  
  2.  Brevemente, es algo asi:
  3. TLabel * L;
  4. L = new TLabel(this);
  5. L->Name = "MiEtiqueta";
  6. L->Caption = "Hola, como estas?";
  7. L->Parent = Label1->Parent; //Label1 ya existe.
  8.  
  9.  

no es necesario tener declara Label1, pues puedes usar como Parent a Form1
Código: Text
  1.  
  2.    L->Parent = Form1;
  3.    //o
  4.    L->Parent = this;
  5.  
  6.  

27
C++ Builder / Re: Guardar Registros En C++
« en: Jueves 17 de Agosto de 2006, 04:46 »
Si estas programando en C++ builder, creo que seria mas facil usar un objeto TStringList

Código: Text
  1.  
  2.    TStringList *Archivo = new TStringList();
  3.    
  4.    //Puedes ir añadiendo linea a linea la informacion en el archivo
  5.    Archivo->Append( "primera linea" );
  6.    Archivo->Append( "segunda  linea" );
  7.    Archivo->Append( "tercera linea" );
  8.  
  9.    //Guardar le archivo
  10.    Archivo->SaveToFile( "c:\\Carpeta\\Prueba.txt" );
  11.  
  12.    //Para abrir el archivo
  13.    Archivo->LoadFromFile( "c:\\Carpeta\\Prueba.txt" );
  14.  
  15.    //Para leer todo el archivo
  16.    Archivo->Text;   //te lo da como AnsiString todo el contenido del archivo
  17.  
  18.    //Para leer linea a linea
  19.    Archivo->Strings[0];   //Primera linea
  20.    Archivo->Strings[1];   //Segunda llinea
  21.    Archivo->Strings[2];   //Tercera linea
  22.  
  23.    //Liberar memoris
  24.    delete Archivo;
  25.  
  26.  

No se si sea la sintaxis correcta, por que no lo probe :rolleyes:  pero ese seria el codigo mas o menos

28
C++ Builder / Re: Exportar Stringgrid
« en: Viernes 28 de Julio de 2006, 04:28 »
Muy buen codigo :good: , funciono muy bien. Ya lo implemente en mi aplicacion.

Gracias :hippi:

29
C++ Builder / Re: Econvert
« en: Viernes 21 de Julio de 2006, 21:05 »
Parece que no hay error en el codigo, pero una vez me paso lo mismo, todo parecia estar bien codificado, y en la ejecucion aparecia un error con los numero flotantes, no recuerdo bien el mensaje de error. Pero el problema era que no podia convertir un AnsiString a Flotante por la configuracion regional y de idioma de windows.

Lo que paso era que se intentaba introducir por un edit un numero foltante, por ejemplo:
 325.5

pero al querer usar la funcion StrToFloat marcaba error. Lo que paso era que en la configuracion regional, estaba configurado como Español de españa, y la notacion para los numeros cambia pues es coma flotante. Entonces un numero flotante era 325,5 con ',' no con '.'

Y se soluciono cambiando a Español de Mexico, en la que se usa punto flotante

Tal vez y ese no sea tu problema, pero eso fue lo que me paso, no se si me explique bien.

30
C++ Builder / Re: Cambiar Orden De Tabs En Pagecontrol
« en: Jueves 13 de Julio de 2006, 18:43 »
Necesitas que se cambien en tiempo de ejecucion? por que si no, puedes cambiar el orden en tiempo de diseño desde la ventana de Object TreeView. Pero no se si ese sea el problema que tienes

31
C++ Builder / Re: Compar Dos Arreglos, Urgente
« en: Sábado 8 de Julio de 2006, 02:03 »
no entendi bien tu duda, pero trate de describir por que te marca errores

32
C++ Builder / Re: Memo->lines->add No Quiero Que Añada Un \n
« en: Martes 4 de Julio de 2006, 19:27 »
Pues lo unico que se me ocurre es que cuando añadas la cuarta linea borres el salto de lina que se produce.

Código: Text
  1.  
  2. Memo1->Lines->Delete( Memo1->Lines->Count-1 );
  3.  
  4.  

con esa linea de codigo estaras borrando del memo la ultima linea, en tu caso seria la quinta linea que es la que esta vacia

33
C++ Builder / Re: Exportar Stringgrid
« en: Sábado 1 de Julio de 2006, 20:47 »
Pues enctre una manera indirecta de poner el contenido del StringGrid en un archivo que puede habrir Excel.

Código: Text
  1.  
  2. TStringList *File = new TStringList();
  3.    File->Clear();
  4.    for( int Row = 0; Row < StringGrid1->RowCount; Row++ )
  5.    {
  6.       AnsiString Linea = "";
  7.       for( int Col = 0; Col < StringGrid1->ColCount; Col++ )
  8.       {
  9.          Linea += StringGrid1->Cells[Col][Row]+",";
  10.       }
  11.       //Quitar la ultima ','
  12.       Linea.Delete(Linea.Length(),1);
  13.       File->Append( Linea );
  14.    }
  15.    //Guardar
  16.    File->SaveToFile( "c:\\tabla.csv" );
  17.  
  18.  

Es un archivo de texto con formato, separado por comas con extención CSV. Hasta ahora me a saco de apuros, pero lo que busco es ponerlo en un archivo XLS.

Espero y puedan ayudarme

34
C++ Builder / Re: Cargar Un Directorio En Un Combobox
« en: Sábado 1 de Julio de 2006, 05:46 »
Código: Text
  1.  
  2. //Pon la ruta que tu quieras
  3.    AnsiString RutaDir = "c:\\PDFs";
  4.  
  5.    //Te vas a auxiliar de un FileListBox de la paleta Win3.1
  6.    FileListBox1->Drive = RutaDir[1];
  7.    FileListBox1->Directory = RutaDir.Delete(1,2);
  8.    FileListBox1->Mask = "*.pdf"; //Puesdes poner cualquier otra mascara
  9.    FileListBox1->Update();
  10.  
  11.    //ya que tienes la lista de archivos, sigue pasarla al ComboBox
  12.    ComboBox1->Clear();
  13.    for( int i = 0; i < FileListBox1->Count; i++ )
  14.       ComboBox1->Items->Append( FileListBox1->Items->Strings[i] );
  15.  
  16.  

Ahora que si quieres que aparescan con todo y ruta completa, cambia el bloque del for
por esto

Código: Text
  1.  
  2. for( int i = 0; i < FileListBox1->Count; i++ )
  3.    {
  4.       FileListBox1->ItemIndex = i;
  5.       ComboBox1->Items->Append( FileListBox1->FileName );
  6.    }
  7.  
  8.  

y para que te aparescan en orden alfabetico, modifica el parametro de ComboBox

Código: Text
  1.  
  2. ComboBox1->Sorted = true;
  3.  
  4.  

zaz pues, espero que te sirva

35
C++ Builder / Exportar Stringgrid
« en: Viernes 30 de Junio de 2006, 02:03 »
Como me es posible guardar el contenido de un StringGrid en un archivo de exel?

E tratado de usar los componentes de office que trae el Builder, pero no e sabido como usarlos.

Si alguine me puede dar un norte o pasarme un ejemplo, les agradeceria mucho

36
C++ Builder / Re: Crear Imagenes (objetos) En Tiempo De Ejecucion
« en: Martes 20 de Junio de 2006, 23:42 »
Estas haciendo todo bien, creaste la imagen en memoria, y cambiaste sus propiedades bien, pero como lo puse en el codigo que te pase, no le asignaste de quien va a ser hijo, por eso no te aparece en la forma

Código: Text
  1.  
  2. void persona::persona(TObject *Sender)
  3. {
  4.   imag = new TImage( Parent ); //crear el objeto TImage
  5.   imag->parent = Parent;          //asignar de quien sera hijo
  6. }
  7.  
  8.  


Tu pusiste como Parent a Application, no lo he probado asi, pero puede funcionar,
lo que yo hago es asignarle la forma en la que quieres que aparesca
Código: Text
  1.  
  2.   imag = new TImage( Form1 ); //crear el objeto TImage
  3.   imag->parent = Form1;          //asignar de quien sera hijo
  4.  
  5.  

O si quieres que aparesca la imagen dentro de un GroupBox se lo indicas
Código: Text
  1.  
  2.   imag = new TImage( GroupBox1 ); //crear el objeto TImage
  3.   imag->parent = GroupBox1;          //asignar de quien sera hijo
  4.  
  5.  

Por que recuerda que los parametros Left y Top hacen referencia al Parent, por ejemplo, tu tienes Left 40 y Top 80, si eliges como Parent a Form1, la imangen se colocara a 40 y 80 pixeles de la ezquina superios izquierda de Form1 y si pones como Parent a GroupBox1 la imangen se colocara a 40 y 80 pixeles de la ezquina superios izquierda de GroupBox1

37
C++ Builder / Re: Crear Imagenes (objetos) En Tiempo De Ejecucion
« en: Domingo 18 de Junio de 2006, 03:46 »
Lo que pasa es que en tu estructura, solo tienes declarado un puntero, pero solo eso... un puntero es una variable que guarda una direccion de memoria al objeto al que estas apuntando. Lo que te falta es crear el objeto, para despues poder manipularlo por medio de tu puntero.

Lo mejor seria que cambiaras tu estructura por una clase, para que en el constructor pongas en codigo para crear el objeto TImage


Código: Text
  1.  
  2. class persona
  3. {
  4. private:
  5.    TImage *imag;
  6.    int a;
  7.    persona *sig;
  8. public:
  9.    void persona(TObject *Parent);
  10.    void ~persona();
  11. };
  12.  
  13. void persona::persona(TObject *Sender)
  14. {
  15.    imag = new TImage( Parent ); //crear el objeto TImage
  16.    imag->parent = Parent;          //asignar de quien sera hijo
  17. }
  18.  
  19. void ~persona()
  20. {
  21.    imag->Free();          //liberar el objeto TImage de la memoria
  22. }
  23.  
  24.  


si no quieres cambiar tu codigo, y seguir usando una estructura, tendrias que crear manualmente el objeto TImage cada que declares una nueva estructura.

nota: este codigo no esta probrado solo escribi lo que se me ocurrio, ni siquiera recuerdo si el destructor se declara de esa manera, jeje, tengo mucho que no requiero de uno

espero haber entendido bien tu duda y que esto te sirva

38
C++ Builder / Re: Cargar Fotos En Un Display
« en: Martes 6 de Junio de 2006, 20:23 »
Ok, voy a intertar eso... gracias

39
C++ Builder / Re: Cargar Fotos En Un Display
« en: Martes 6 de Junio de 2006, 19:10 »
A mi tambien me sucedio ese error, no podia cargar imagenes jpg en tiempo de ejecucion con el metodo LoadFromFile, solo funcionaba con bmp, la verdad no supe por que paso ese error, pero despues se soluciono solo, no se en que consista...

Pero mientras podrias cambiar tus imagenes a bmp

40
C++ Builder / Re: Captura De Byte En El Puerto Paralelo
« en: Jueves 1 de Junio de 2006, 22:18 »
Lo que te esta pasando es por lo que comenta GEO, unos pines son de entrada y otros de salida.

El puerto paralelo se divide en 3, puerto Datos de Estado y de Control
y cada uno es una direccion distinta

Busca en google informacion, hay mucha...

Pero como describes tu circuito, no lo estas haciendo bien, el puerto 378, es el de datos, y ahi solo puedes sacar datos, y oviamente cuando quieras leer de el, te va a dar lo que previamente escribiste o con lo que se inicio cuando encendiste la maquina...

Si quieres metar la temperatura por medio de un ADC, va a ser mas complicado, pues lo mas seguro es que tu ADC sea de 8bits, pero no por eso lo conectas al puerto de datos, no es bidireccional, tendrias que usar un registro de corrimento para cargar los 8bits de manera serie por el puerto de estado, bueno en combinacion con el de datos...

Si no tienes una idea clara de lo que te digo, pues dices que no eres electronico, mandame tu circuito, y te ayudo a hacer las modificaciones necesarias, me da güeba partir de cero jeje, y seria mas didactico para ti...


vatoicc@hotmail.com

41
C++ Builder / Re: Stringgrid Celdas Vacias.
« en: Martes 30 de Mayo de 2006, 17:54 »
jeje, el segundo for es el de j, es lo malo de copiar y pegar


for( int i = 0; i < StringGrid1->ColCount; i++ )
for( int j = 0; j < StringGrid1->RowCount; j++ )
if( StringGrid1->Cells[j].IsEmpty() )
{
StringGrid1->Cells[j] = "Algo";
break;
}

42
C++ Builder / Re: Stringgrid Celdas Vacias.
« en: Martes 30 de Mayo de 2006, 17:53 »
Tambien podrias hacer la condicion sin necesidad de declarar un AnsiString adicional

  if( StringGrid1->Cells[j].IsEmpty() )

pero creo que el for debe empezar en 0 y terminar un numero antes del total

   for( int i = 0; i < StringGrid1->ColCount; i++ )
      for( int i = 0; i < StringGrid1->RowCount; i++ )
         if( StringGrid1->Cells[j].IsEmpty() )
         {  
            StringGrid1->Cells[j] = "Algo";
            break;
         }

y el break no debe ir ahi, pues el codigo solo serviria para escribir en la primera celda si esta vacia, pero solo son detalles

43
C++ Builder / Re: Lectura De Datos En El Puerto Paralelo
« en: Martes 30 de Mayo de 2006, 17:35 »
Pues te dire...
Lo que recibes del puerto paralelo es un Byte, asi que puedes declarar una variable tipo Byte para guardar el dato que recibes del puerto.

   Byte Puerto  = PortIn(0x378);

y para ponerlo en el Edit como tu lo planteas, tendrias que usar la funcion IntToStr()

   Edit1->Text = IntToStr( Puerto );

o directamente de la funcion de entrada

   Edit1->Text = IntToStr( PortIn(0x378) );

no se si ya lo intestaste, pero asi es como me a funcionado a mi

44
C++ Builder / Re: Incrustar Un Archivo De Flash
« en: Jueves 18 de Mayo de 2006, 19:18 »
pues realmente no entendi muy bien lo que pretendes hacer, creo que quieres que tu aplicacion de flash guarde un archivo, pero no entendi si vas a corres tu animacion en builder o que tu animacion mande llamar al programa de builder, o que los dos corran a  a la par, u otras combinaciones que se me ocurren :P

Pero se me ocurre una cosa:

 Puedes hacer un programa en builder que recibe un comando de linea que sea la informacion que quieres guardar en archivo. Entonces cuando en tu animacion tengas toda la inforamcion que quieres guardar, mandes ejecutar ese programa.
Entonces en el programa de builder pones la forma invisible para que se vea que se ejecuta. Seria algo asi

void __fastcall TForm1::FormCreate(TObject *Sender)
{
   Form1->Visible = false;
   
   //Este for es nada mas de prueba para que veas en mensajes todos los pametros
   for (int i=0;i <= ParamCount();i++)
   {
      ShowMessage( ParamStr(i) ) ;
   }
   //----
   //Aqui podrias ordenar los parametros y guardarlos en archivo
   //----

   Form1->Close();
}
//---------------------------------------------------------------------------

La funcion ParamCount() te retorna cuantos parametros de linea recibio tu programa.
Y la funcion ParamStr( int ) te retorna un AnsiString de cada parametro de linea.
Entones creo que pudiera servirte de algo.
El parametro de linea es por ejemplo si ejecutas un programa desde DOS
seria asi:   c:\> ejecutable parametro1 parametro2 parametroN
Pero a lo mejor ya lo sabias.

Y por cierto, ParamStr(0) es la ruta de donde esta tu ejecutable, o sea que esa posicion la puedes despreciar, todo depende si la ocupas

Haber si te sirve....

45
C++ Builder / Manipular Otras Aplicaciones
« en: Martes 16 de Mayo de 2006, 23:56 »
Mi duda es la siguiente...

Hice un programa administrar archivos de audio, reproducirlos y poder transcribirlos en un RichEdit. Pero necesito que mi aplicacion controle otro programa que se llama mp3DirectCut, que sirve para grabar audio en MP3.

Como dicho programa tiene atajos de teclado para todas sus funciones, quisiera saber si hay algun metodo para enviar esos atajos de teclado desde mi aplicacion y que se ejecuten en el otro programa.

No se si me explique bien, pero la idea es que cuando habra mi programa, se ejecute el otro a la par y oculto, y manejarlo desde mi aplicacion.

O si alguien sabe de algun componente para grabar audio y codificarlo a MP3 me seria de gran utilidad

46
C++ Builder / Re: Mscomm
« en: Martes 16 de Mayo de 2006, 21:06 »
para el manejo del puerto serie puedes usar el ComPort de winsoft,es muy sencillo de usar.


http://www.winsoft.sk/downld.htm

Si tienes dudas de como usarlo, me dices y te mando un ejemplo que tengo

47
C++ Builder / Re: Uso De Qreport
« en: Martes 16 de Mayo de 2006, 21:03 »
mandalo tm a vatoicc@yahoo.com.mx si no es mucha molestia

48
C++ Builder / Re: ¿como Limpiar Una Imagen Del Componete Image1?
« en: Martes 16 de Mayo de 2006, 20:57 »
Pues yo tampoco e encontrado un metodo para borrar la imagen que ya tienes cargada, como el metodo clear() de un Memo, o algo parecido.

Pero podrias poner invisible la imagen, o cargar un archivo de imagen vacio... creo que es lo mas facil si lo que pretendes es que el usuario ya no vea la imagen al efectuar alguna accion

49
C/C++ / Re: Lista De Fuentes En Un Listbox O Combobox
« en: Sábado 13 de Mayo de 2006, 00:43 »
Muy buen tip, nada mas se te olvido agregar que para el ComboBox hay que modificar una propiedad

   ComboBox1->Style = csOwnerDrawVariable;

No lo e probado en el ListBox, pero es un buen tip para darle presentacion a un programa

50
C++ Builder / Re: Anclar Un Form A Una Esquina
« en: Viernes 12 de Mayo de 2006, 19:48 »
Orale.... se ve muy ingenioso... deja lo pruebo y despues te digo como me fue

Páginas: 1 [2] 3