|
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 - saulillo
1
« en: Martes 27 de Mayo de 2008, 20:22 »
Hola, gracias por el consejo no habia pensado en reconvertirlo a string. Funciona perfectamente.
De todas maneras, alguien sabe a que se debe??
Un slaudo y gracias
2
« 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.
3
« en: Viernes 28 de Marzo de 2008, 10:13 »
Yo tampoco soy muy experto, pero para utilizar la misma variable en 2 forms distintos tienes que incluir el unit2.h en el form1 y el unit1.h en el form2.
y luego para acceder a la variable desde el form2, declaras la variable y pones
variable = Form1->variable;
Y ya esta.
Un saludo
4
« en: Viernes 29 de Febrero de 2008, 11:37 »
Ahora si lo queres limpiar en la mitad d un proceso no creo que lo que estes haciendo ste muy bien ya que nunca vas a llegar al eof() si le seguis metiendo "" y vas a tener un archivo de texto zarpado en caracteres nulos que va a parecer "vacio" pero no lo está! Suponia que esa manera me iba a dar problemas, pero tenia que probar cosas. He estado dandole vueltas y no he encontrado otra manera de hacerlo. Y tenias razón, no hace falta ponerle el trunc. Muchas gracias por la ayuda.
5
« 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.
6
« en: Viernes 22 de Febrero de 2008, 11:36 »
7
« 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
8
« 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
9
« en: Martes 29 de Enero de 2008, 19:06 »
Gracias por responder, era eso. Pensaba q lo tenia bien porque tb probe a poner && y no salia, debo de haber tocado algo mas para q ahora funcione.
Gracias.
10
« 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??
11
« en: Jueves 24 de Enero de 2008, 09:51 »
Hola,
Así de primeras se me ocurre que declares una variable booleana, la inicializas a false. Luego antes de que se ejecute el comando compruebas si el booleano esta a false (if (var==false)) y cuando se ejecute lo que quieras lo cambias a true. Así cada vez que vaya a ejecutarse tu comando comprobará la variable y como no va a ser false, no se ejecutara.
Un saludo
12
« en: Miércoles 23 de Enero de 2008, 12:26 »
Hola.
haber, si no creo mal, tienes una funcion llamada recorrer, con un bucle for. El bucle se ejecuta unas 5 veces y cada vez haces q cadena valga "hola mundo" y cadena2 "adios mundo". Si haces una traza veras q si i=0, cadena="hola mundo", cadena2="adios mundo"; i=1, cadena="hola mundo", cadena2="adios mundo"; i=2...
Si quieres q lo muestre cada vez q entres al for, tendras q poner el ListView1->Items... dentro del for.
Lo siento sino me he explicado bien, si no lo entiendes avisas e intento explicarlo mejor.
13
« en: Domingo 20 de Enero de 2008, 19:54 »
Desconozco el motivo, el caso es q funciona.
Muchas Gracias.
14
« 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.
15
« 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
16
« en: Lunes 24 de Diciembre de 2007, 17:26 »
Bueno, ya se lo q le pasaba. tenia q deshabilitar las funciones del manejor de errores, para que se encargue mi programa de tratarlas.
Aqui os dejo como se hace, por si acaso alguien lo necesita.
seleccionar Tools | Debuggber Options y abrir la carpeta OS Exceptions. Y desmarcar la casilla Integrated debugging
Un saludo.
17
« en: Lunes 24 de Diciembre de 2007, 11:08 »
no, porque cambio1 se pone en la siguiente posicion libre del ListBox2 marcada por la variable aux.
18
« en: Viernes 21 de Diciembre de 2007, 20:23 »
he cambiado un poco el codigo, ahora estoy probando con un try catch, pero creo q no lo hago bien, si podeis ayudarme... tengo esto: String cambio1; try{ cambio1 = ListBox1->Items->Strings[ListBox1->ItemIndex]; ListBox1->Items->Delete(ListBox1->ItemIndex); ListBox2->Items->Strings[aux]= cambio1; aux++; aux1--; } catch(Exception & e){ ShowMessage("Elige un componente"); }
muchas gracias
19
« 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
20
« en: Lunes 22 de Octubre de 2007, 12:10 »
ok, muchas gracias por la respuesta, creo q es lo q buscaba.
Ya te contare si me funciona bien.
21
« en: Viernes 19 de Octubre de 2007, 18:51 »
hola, gracias por contestar, pero eso no me resuelve el problema.
Lo que pasa es que puse esos terminos como ejemplo. En el archivo yo no se que me van a dar, utilizo esos para hacer el programa, entonces no puedo hacerlo como estructura.
Mi intencion es leer una parte del archivo (hasta el ; ) y eso guardarlo en una variable. En el caso de tener que guardarlo en un array, hay alguna manera de concatenar el array??
Gracias
22
« 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
23
« 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.
24
« en: Miércoles 12 de Septiembre de 2007, 19:28 »
Buenas de nuevo, gracias a los dos, ya he conseguido q funcione.
de momento con el '\n' se lo come bien, con las ' incluidas.
Gracias d nuevo.
25
« en: Sábado 8 de Septiembre de 2007, 10:56 »
Gracias por responder.
creo q entiendo lo q dices, pero tengo 2 dudas:
1. que hace f.good() ??
2. en q libreria esta?? (es por si no la tengo incluida)
|
|
|