|
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 - sonGoku
Páginas: [1]
1
« en: Miércoles 3 de Septiembre de 2008, 08:08 »
tienes que utilizar en cada fichero la directiva IFNDEF, por que si lo incluyes por mas de un camino te sale un mensaje de redeclaracion de clases.
ej. #ifndef _TGATO_ class TGato : Public TAnimal{ //Clase hija de TAnimal public: TGato(); virtual void Accept(TReaccion&); }; #endif
Suerte, ya me cuentas.
2
« en: Martes 2 de Septiembre de 2008, 14:34 »
para utilizar la base de datos sólo debes intercambiar informacion alfanumerica sobre la informacion que deseas compartir, es decir el nombre de tabla y el valor de la clave primaria de los registros que quieras referenciar. no es necesario enviar nada mas porque la informacion esta en la base de datos.
3
« en: Martes 2 de Septiembre de 2008, 14:29 »
********** Error E2316
El problema es porque la variable "TReaccion& Visitante" la tienes que pasar con un puntero para que te tome el enlace dinámico. Te quedaria asi: void TGato::Accept(TReaccion *Visitante){ Visitante->visit(this); //Error E2316 }
El otro error no se porque teda cuando cambies esto igual te compila ya bien.
Suerte, ya me cuentas
4
« en: Viernes 18 de Julio de 2008, 12:01 »
Existe una función "SelectDirectory" en la unidad FileCrt. te adjunto un ejemplo.
#include <FileCtrl.hpp> const SELDIRHELP = 1000; void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString Dir = "C:\Program Files\MyApp"; if (SelectDirectory(Dir, TSelectDirOpts() << sdAllowCreate << sdPerformCreate << sdPrompt,SELDIRHELP)) Label1->Caption = Dir; }
ya me cuentas si te ha valido.
Suerte
5
« en: Viernes 11 de Julio de 2008, 08:05 »
El problema es por el segundo parámetro debe ser unnumero alto por ejemplo 1000, fgets te devolveria 1000 caracteres omenos si encuentra un retorno de carro. Pon esta linea
fgets(linea,1000,OutFile);
suerte ya me cuentas.
6
« en: Jueves 10 de Julio de 2008, 08:11 »
En ese código te falta buscar los elementos el código deberia ser:
while (fgets(linea,sizeof(linea),OutFile) != NULL ) { c = linea[0]; if (c == "X") { indice = indice + 1; if (indice = index) { AnsiString sLinea; fgets(linea,sizeof(linea),OutFile); while (linea[0] != "X"){ sLinea = (!sLinea.Length()?AnsiString(linea):sLinea + "n"+ AnsiString(linea)); fgets(linea,sizeof(linea),OutFile); } ShowMessage(sLinea); break; } }
7
« en: Jueves 3 de Julio de 2008, 12:06 »
si el proceso de importacion los estas realizando a mano (significa recorriendo el DataSet que devuelve la consulta) puedes utilizar un metodo del tipo AnsiString que se llama "Trim" antes de escribirlo en la hoja excell resultado.
Suerte, ya me cuentas.
8
« en: Jueves 3 de Julio de 2008, 11:42 »
Debes utilizar TOpenDialog para seleccionar el fichero origen y TSaveDialog para seleccionar el fichero destino.
Una vez tengas los nombres de los dos ficheros utilizas la funcion Copyfile
Suerte
9
« en: Jueves 3 de Julio de 2008, 11:39 »
Prueba a hacer un rebuiltAll por que hay ocasiones que si utiliza componentes propios se puede liar un poco.
Asegurate que el campo FileName esta en blanco antes de llamarlo o que si contiene un fichero existe.
Si no estas seleccionando un ficheor gráfico (bmp, jpg,...) asegurate que el componente que has cogido es el TOpenDialog, por que hay otro que se llama TOpenPictureDialog que salta un error si no seleccionas una imagen.
Suerte
10
« en: Martes 1 de Julio de 2008, 09:01 »
Aqui tienes un ejemplo de creación.
Yo no lo he ejecutado pero esto te debe de funcionar.
Suerte, pon si tienes alguna duda o si funciona.
/// la variable Table1 es del tipo TTable ////////////////////////////////////////// if (!Table1->Exists) // Don't overwrite an existing table
{
Table1->Active = false; // The Table component must not be active
// First, describe the type of table and give it a name Table1->TableType = ttDBase; Table1->TableName = "c:\a.dbf";
// Next, describe the fields in the table
Table1->FieldDefs->Clear(); TFieldDef *pNewDef = Table1->AddFieldDef(); pNewDef->Name = "Field1"; pNewDef->DataType = ftInteger;
pNewDef->Required = true;
pNewDef = Table1->AddFieldDef();
pNewDef->Name = "Field2"; pNewDef->DataType = ftString;
pNewDef->Size = 30;
// Next, describe any indexes
Table1->IndexDefs->Clear(); /* the 1st index has no name because it is a Paradox primary key */ Table1->IndexDefs->Add("","Field1", TIndexOptions() <<ixPrimary << ixUnique);
Table1->IndexDefs->Add("Fld2Index","Field2", TIndexOptions() << ixCaseInsensitive);
// Now that we have specified what we want, create the table
Table1->CreateTable(); } //////////////////////////////////////////
11
« en: Viernes 13 de Junio de 2008, 11:17 »
Mira en la ayuda el ejemplo de los metodos Add,AddChild de TTreeNodes. No obstante te lo adjunto aqui.
TTreeNode *Node1; TreeView1->Items->Clear(); // remove any existing nodes // Add a root node TreeView1->Items->Add(NULL, "RootNode1");
/* Set MyTreeNode to first node in tree view and add a child node to it */ Node1 = TreeView1->Items->Item[0]; TreeView1->Items->AddChild(Node1,"ChildNode1");
// Add another root node TreeView1->Items->Add(Node1, "RootNode2");
/* Reset Node1 to RootNode2 and add a child node to it */ Node1 = TreeView1->Items->Item[2];
TreeView1->Items->AddChild(Node1,"ChildNode2");
/* Reset Node1 to ChildNode2 and add a child node to it */ Node1 = TreeView1->Items->Item[3]; TreeView1->Items->AddChild(Node1,"ChildNode2a");
/* Add another child to ChildNode2 following ChildNode2a */ TreeView1->Items->AddChild(Node1,"ChildNode2b");
// add another root node TreeView1->Items->Add(TreeView1->Items->Item[0], "RootTreeNode3");
Espero que te sirva aunque haya pasado tanto tiempo desde tu consulta.
Saludos
12
« en: Viernes 13 de Junio de 2008, 11:08 »
pon un poco más de código sobre como abres el fichero, y lees datos.
Saludos
13
« en: Miércoles 11 de Junio de 2008, 17:20 »
Una cosa que puedes hacer es borrar todos los ficheros OBJ que tengas compilados y hacer un "Rebuilt All" si utilizas componentes que no sean de la base de borland reinstala los nuevos para esa version de windows.
Suerte.
14
« en: Miércoles 11 de Junio de 2008, 11:47 »
Lo que tienes que hacer es:
AnsiString identificador= num_ansi + AnsiString(".csv"); fich(identificador.c_str(), ios::out);
de todas formas si con esto no te aclaras dime con que instruccion tratas de abrir el fichero si es del compilador(fopen,...) o si es propia tuya dime la sintaxis por lo menos.
Saludos.
15
« en: Lunes 9 de Junio de 2008, 09:29 »
El tipo AnsiString tiene un metodo que lo convierte a char* que es c_str, no se si eso te valdra.
Ejemplo
AnsiString sNombre = AnsiString("c:\\a.xls"); fopen(sNombre.c_str(),"r")
Espero que te valga
16
« en: Viernes 30 de Mayo de 2008, 13:00 »
Para visualizar las figuras que creas utilizaras algun componente visual (TImage, TBitMap, ...) casi todos los componentes tienen dos eventos: OnMouseDown, OnMouseUp. Los cuales toman como parametros las coordenadas X,Y del raton cuando pichas y sueltas. Capturando esos eventos podras pintar los elementos al tamaño que deseas.
Suerte.
17
« en: Viernes 30 de Mayo de 2008, 11:47 »
te falta alguna linea antes, debes de tener algunos includes.
He hecho una prueba y debes incluir
#include <vcl.h>
suerte, ya me cuentas.
EI: juntando mensajes, si no hay una respuesta a nuestro ultimo mensaje siempre se puede usar el boton modificar.
18
« en: Viernes 30 de Mayo de 2008, 11:35 »
Lo primero que tienes que decir es que formato esta la tabla, si es dbase debes trabajar con los componente TTable,TQuery,... y no puedes utilizar SQL, mientras si el formato es otro(Access,MySQL,...) debes trabajar con componenete como TADOTable,TADOQuery,... y si puedes utilizar SQL.
Sobre tu codigo fuente deberias hacerlo asi:
AnsiString sTexto = AnsiString("insert into Historial_detalle values ") + _ AnsiString(saldo) + AnsiString(",") + _ AnsiString(cap_pagado) + AnsiString(",") + _ AnsiString(monto_pagar) + AnsiString(",") + _ AnsiString(capital) + AnsiString(",") + _ AnsiString(cod_p) + AnsiString(",") + _ AnsiString(cod_pres) + AnsiString(")"); Qhistorico->SQL->Add(sTexto); Qhistorico->ExecSQL();
aunque no obstante es mejor hacer con TTable o TADOTable utilizando los metodos Append (añade registro en blanco),Post(salva el registro en la base de datos.)
19
« en: Viernes 30 de Mayo de 2008, 11:20 »
Pon las primeras 8 o 10 lineas para ver el codigo fuente.
20
« en: Viernes 30 de Mayo de 2008, 10:33 »
Hola, tienes que utilizar los componentes ADO(TADOQuery, TADOConnection, TADOTable, ...), todos se conectan a traves de una cadena de conexion (atributo ConnectionString) la cual te permite seleccionar el tipo de base datos que quieras.
Espero que sirva.
21
« en: Viernes 30 de Mayo de 2008, 10:26 »
El codigo que has puesto no es el correcto. La forma correcta de acerlo seria con:
// metemos los datos en la lista. ListBox1->Items->Add("A"); ListBox1->Items->Add("AB"); ListBox1->Items->Add("AC"); ListBox1->Items->Add("B"); ListBox1->Items->Add("BA"); ListBox1->Items->Add("C");
// ordenamos la lista ListBox1->Sorted = true;
el orden de las dos operaciones da igual.
Espero que te sirva
Páginas: [1]
|
|
|