|
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 - saulillo
Páginas: [1]
1
« en: Jueves 22 de Mayo de 2008, 21:28 »
Hola. Tengo un problema con las fechas, vereis,...
Yo pongo en Edit una fecha y pulsando un botón lo escribo en un StringGrid. El problema es que si en ese Edit pongo esta fecha 01/01/0001, al pasarlo al StringGrid me pone esto 00:00:00. Pero si en el Edit pongo la fecha de hoy (por ejemplo), sí que la escribe bien en el StringGrid.
Para comprobar que la fecha está bien escrita la convierto con StrToDate. Yo lo que quiero es que me ponga siempre la fecha.
Espero que me podais ayudar, gracias.
2
« en: Martes 26 de Febrero de 2008, 17:54 »
Hola, he estado buscando y no he encontrado solucion a mi problema. En mi programa tengo un archivo declarado como fstream y en un momento de la ejecucion necesito borrar todo lo q tiene. Borrar el archivo no, sino todo su contenido. Habia pensado poner algo asi como char dato; AnsiString dato1=""; f1.seekg(0); dato = f1.get(); while(!f1.eof()) { f1<<dato1; dato = f1.get(); }
Pero me dice q no se puede usar << en fstream con AnsiString.
3
« en: Jueves 21 de Febrero de 2008, 13:09 »
Hola, en mi programa tengo un TEdit que solo se pueden escribir numeros. Esos numeros pueden tener decimales. Estoy utilizando la funcion StrToFloat, pero solo guarda la parte entera del numero. Tengo lo siguiente numero = StrToFloat(Edit3->Text); .... ShowMessage ("minimo: "+AnsiString(numero)); ...
Si en el Edit escribo 8,9 luego muestra 8. Como simbolo decimal utilizo , si utilizo . me da error en la conversion a float, así que supongo que no es un error de puntuacion. Alguien sabe como hacerlo para que muestre 8,9?? Gracias
4
« en: Miércoles 6 de Febrero de 2008, 17:03 »
Hola nuevamente,
en mi proyecto paso un archivo a un TMemo y de momento funciona bien porque es un archivo pequeño. Pero que pasa si el archivo es muy grande?? me va a dar problemas??
Gracias
5
« en: Martes 29 de Enero de 2008, 16:50 »
Hola, en mi programa tengo 3 Forms, en el 3 tengo un StringGrid y quiero acceder a él desde el Form1, lo hace perfectamente pero hay una condicion que no se deberia de cumplir siempre y siempre se cumle. Mirar, tengo el siguiente codigo: for(aux=1;aux<=nfilas;aux++) { valor = StrToFloat(StringGrid1->Cells[colrec][aux]; for(aux1=0;aux1<=nfilas2;aux1++) { min = StrToFloat(Form3->StringGrid1->Cells[0][aux1]; max = StrToFloat(Form3->StringGrid1->Cells[1][aux1]; nuval = (Form3->StringGrid1->Cells[2][aux1]; ShowMessage("valor: "+AnsiString(valor)); if ((min <= vlaor) || (valor<=max)) { StringGrid1->Cells[ncolum][aux] = nuval; ShowMessage("min: "+AnsiString(min)); ShowMessage("max: "+AnsiString(max)); ShowMessage("nuval: "+AnsiString(nuval)); } } }
Pues bien el problema funciona bien hasta que llega al if, ahi la condicion se cumple siempre. Debo añadir que las variables min, max y valor son float, es decir, comparo 2 float y siempre se cumple la condicion. En los ShowMessage veo que las variables toman los valores correspondientes. Os pongo un ejemplo. En una de las iteraciones, valor=30, min =1, max=5. La condicion no se cumple, pero entra en el if. Alguien me puede ayudar y decirme que hago mal??
6
« en: Jueves 17 de Enero de 2008, 17:15 »
Hola amigos, en mi programa he puesto varios ShowMessage para asegurarme de q va bien. Tengo el siguiente codigo: int aux1, premio; AnsiString recoran, nuval; float min, max; recoran = Form3->recoran; min = Form3->min; max = Form3->max; nuval = Form3->nuval; for(aux1=0; aux1<ncolum; aux1++) { ShowMessage ("StringGrid[aux1][0]: " +StringGrid1->Cells[aux1][0]); if(StringGrid1->Cells[aux1][0] == recoran) { ShowMessage ("recoran: " +recoran); ShowMessage ("aux1: " +aux1); //aux1++; premio = aux1; } } ShowMessage("Premio: " +premio);
El problema esta aqui ShowMessage ("aux1: " +aux1); este solo muestra 1: nada mas, ni aux1:, ni el valor de aux1. elimina los 3 primeros caracteres. ShowMessage("Premio: " +premio); este solo muestra mio: igual q antes, lo q está entre "" menos los 3 primeros caracteres. No se si tiene algo que ver o no, pero el valor de aux1 sé que es 3, y si descomento la linea comentada (incrementar el valor de aux1), en el showmessage del premio solo muestra io:, es decir elimina los 4 primeros caracteres. Un saludo y Gracias de antemano.
7
« en: Miércoles 26 de Diciembre de 2007, 18:24 »
Hola, estaba con mi proyecto tranquilamente despues de resolver el problema anterior cuando vuelvo a ejecutar el programa y me salta el siguiente error (fichero adjunto) mientras se esta ejecutando. Tengo el siguiente codigo: #include <vcl.h> #include<math.h> #include<iostream.h> #include<fstream.h> #include<cstring.h> #include<stdlib.h> #include<stdio.h> #pragma hdrstop #include "Unit1.h" #include "Unit2.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm2 *Form2; int aux=0,aux1=0, aux3; AnsiString *cfechas; //--------------------------------------------------------------------------- __fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm2::Button2Click(TObject *Sender) //AQUI ESTA EL ERROR { int p=0;//auxiliar aux3=aux-1; cfechas = new AnsiString[aux3]; for (p=0; p<=aux3; p++) { cfechas[p]="pepe";//ListBox2->Items->Strings[p]; } Form2->Hide(); Form1->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm2::Button1Click(TObject *Sender) { int j=1, p; int ncolum = Form1->ncolum; for(p=0; p<=ncolum-1; p++) { ListBox1->Items->Strings[p] = Form1->StringGrid1->Cells[j][0]; j++; aux1++; } } //--------------------------------------------------------------------------- void __fastcall TForm2::Button3Click(TObject *Sender) { String cambio1; try { cambio1 = ListBox1->Items->Strings[ListBox1->ItemIndex]; ListBox1->Items->Delete(ListBox1->ItemIndex); ListBox2->Items->Strings[aux]= cambio1; aux++; aux1--; } catch(...) { ShowMessage("Elige un componente"); } } //--------------------------------------------------------------------------- void __fastcall TForm2::Button4Click(TObject *Sender) { String cambio2; try { cambio2 = ListBox2->Items->Strings[ListBox2->ItemIndex]; ListBox2->Items->Delete(ListBox2->ItemIndex); ListBox1->Items->Strings[aux1]=cambio2; aux--; aux1++; } catch(...) { ShowMessage("Elige un componente"); } }
Pues bien, si en el listbox2 hay cosas, al pulsar el button2, me da el error del archivo adjunto, sino hay nada, no da ningun error. He puesto un stop en la primera instruccion del button2, pero sigue saliendo, asi q no se q hacer, espero q me ayudeis. Gracias
8
« en: Miércoles 19 de Diciembre de 2007, 19:32 »
Hola, Estoy haciendo un programa y una parte de el tiene un formulario con 2 ListBox (ListBox1 y ListBox2) y tengo q mandar el q esta seleccionado de un ListBox a otro, esto lo hago cuando se pulsa un boton y lo hace bien. Mi problema sale cuando se pulsa ese boton y no hay nada seleccionado en el ListBox. Tengo este codigo: String cambio1; if (ListBox1->Items->[ListBox1->ItemIndex] == "") { ShowMessage("Elige un componente"); } else { ... }
me da el error en la linea del if, dice: 'operator==' not implemented in type 'TStrings' for arguments of type 'char' Un saludo
9
« en: Jueves 11 de Octubre de 2007, 20:38 »
Hola, buenas de nuevo. esta es mi duda:
tengo un archivo con el siguiente texto: Numero;Nombre;Fecha
Me gustaria saber si hay alguna forma de almacenar en una variable una de esas palabras y que no sea en un array. En definitiva q una variabla llamada var, valga Numero
Gracias
10
« en: Miércoles 12 de Septiembre de 2007, 19:34 »
Buenas de nuevo, una vez solucionado el problema anterior, se me plantea otra duda.
Se puede declarar un array a traves de una variable?? Me explico, tengo q guardar en el array una linea del archivo, un caracter en cada posición y no se cuantos caracteres tiene. Mediante un bucle cuento los caracteres y lo guardo en una variable, y me gustaria saber si la siguiente declaracion seria correcta:
char linea [variable];
siendo variable un entero que almacena el numero de caracteres.
gracias.
11
« en: Jueves 6 de Septiembre de 2007, 19:58 »
hola cracks de la programacion, estoy intentando hacer un programa que cuente todos los caracteres de una linea en un archivo. El problema es q no se como expresar el salto de linea para que termine mi bucle, tengo lo siguiente: char dato; int conta; //contar caracteres de la linea conta=2;//le asigno un valor para comprobar que lo graba bien al final. //f1 y f2 son los ficheros. if(!f1) cout << "Error abriendo el fichero" << endl; else { dato = f1.get(); while(dato != '/n') { f2 << dato; dato = f1.get(); } f2<<conta; }
tb he probado poniendo en lugar del /n, eol y endl, y tampoco me salia. Espero que me podais ayudar. Gracias
12
« en: Viernes 6 de Julio de 2007, 19:41 »
Hola, estoy intentando pasar un archivo en csv, a un dbgrid, pero no encuentro la manera de hacerlo, espero q me podais ayudar.
Gracias
13
« en: Jueves 10 de Mayo de 2007, 18:04 »
Hola, la ultima vez que tuve una duda, vine aquí y me la resolvisteis. Espero que ahora también podais. He puesto un OpenDialog en la aplicación, y necesito que muestre los archivos .csv. Se que deberia ser algo así, pero no me sale. OpenDialog1->Filter = "*.csv";
Pero probando con los txt pongo esto y me muestra todos los archivos. OpenDialog1->Filter = "Text files (*.txt)";
Gracias
14
« en: Miércoles 2 de Mayo de 2007, 18:47 »
Hola, estoy haciendo una aplicación en builder 6.0. La aplicación debe tener 3 formularios y me gustaria saber si hay alguna manera para que el primer formulario se cierre y muestre el siguiente.
He usado el motor de búsqueda y no he encontrado nada, si habia algun tema relacionado, pido disculpas.
Gracias
Páginas: [1]
|
|
|