|
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 - Linspire
Páginas: 1 [2] 3 4 ... 10
26
« en: Miércoles 28 de Febrero de 2007, 17:59 »
Perfecto, ahora dime, cuantos Labels y cuantos registros son, porque me imagino que el número de labels debe ser igual al número de registros. Y ahora, eso siempre será variable. Si puedes conectarte como en media hora (en lo que termino de desayunar) al messenger, mi nick es eddy_ef@hotmail.com (agregame a tu lista, yo ya estoy conectado) Mientrás estaré pensando un poco sobre el asunto.
27
« en: Miércoles 28 de Febrero de 2007, 17:37 »
Y bueno, con respecto a la otra opcion de mostrar los objetos, tengo para cada objeto que pintarlo segun dos coordenadas X,Y, que son campos de la tabla objeto.
Muchas gracias! Bueno, con respecto a lo de la imagen, eso no te lo puedo responder porque yo se muy poco de MySQL, te recomiendo postear en el foro de PHP. Y ahora, respecto a lo de mostrar la infrmación de las personas, como supongo que debe mostrarse una por una, has probado a usar los componentes de la paleta DBControls?. Creo esos pueden servirte y ahorrarte los trabajos con bucles. Y el texto citado, me podrías decir exactamente a que objetos debes dibujar con las coordenadas?
28
« en: Miércoles 28 de Febrero de 2007, 16:01 »
mmmmm, creo que estoy comenzando a entederte (je, esto de la informática es algo difícil), aunque me gustaría que me dijeras a que te refieres con una estructura y sería conveniente también ver la tabla, si podrías adjuntarla estaría muy bien.
29
« en: Miércoles 28 de Febrero de 2007, 15:57 »
Yo también quise asignarle un color a la fuente de un TButton pero no se pudo, trate de hacerlo con C++Builder 5. Tampoco pude asignarle el texto en negritas en tiempo de ejecución (espera, creo que eso si se pudo, pero cambiar el color no). Por lo tanto preferí ahorrarme de problemas y mejor use un TBitBtn, creo que es más sencillo por eso yo también lo recomiendo. Suerte!,..
30
« en: Miércoles 28 de Febrero de 2007, 15:45 »
Pues por mi parte no entiendo muy bien el problema, quizá puedas explicarte un poco mejor y pueda ayudarte en algo. Y con respecto a recorrer un DataSource, yo hice algo semejante hace poco, recorría los resultados de una consulta de la siguiente forma: void __fastcall TForm1::traer(String tobjetivo, String g, String grueso, String inv) { int i,j, piezas, k=0; String dato,x; AnsiString sql="", campo; for(i=1;i<=5;i++) { for(j=1;j<=7;j++) { k++; x=k; campo=g+x; sql="SELECT "+campo+" FROM '"+tobjetivo+"'"; Query1->SQL->Clear(); Query1->SQL->Add(sql); Query1->Open(); dato=Query1->FieldByName(campo)->AsInteger; StringGrid1->Cells[j][i]=dato; sql=""; Query1->Close(); } } Label1->Caption="Mostrando grueso "+grueso+" de Inventario\nde "+inv; }
Quizá esto pueda servirte de alguna forma. Buena suerte.
31
« en: Jueves 15 de Febrero de 2007, 20:42 »
32
« en: Viernes 2 de Febrero de 2007, 04:36 »
Podrìas recorrer la cadena con un ciclo while, o con un for, localizas la posiciòn de la coma y entonces cuentas de tres en tres, a partir de la coma hacìa atràs, y cada vez que llegues a tres entonces insertas un punto. Algo asì como AnsiString cadena="1234567,912321"; char car(`,`); int pos; pos=cadena.Pos(car); cadena=cadena.Insert( ///Y aquì no me acuerdo como va y como estoy en un cyber no tego builder. Pero supongo que ahì se tratarìa con un ciclo while. Solo que segùn me parece una vez que hayas insertado el primer punto, entones lo que tendrìas que localizar serìa su posiciòn, y etonces contar otra vez tres e ir insertando los puntos faltantes. Algo asì como: while(`.`) cadena=cadena.Insert(3,1); Espero haberte dado una idea. Suerte.
33
« en: Jueves 18 de Enero de 2007, 04:21 »
Ok, me agrada que la respuesta te haya sido de utilidad.
34
« en: Jueves 18 de Enero de 2007, 04:17 »
Perfecto, me han dado muchas ideas que estoy seguro podràn servirme, dejenme probar y ya respondo que pasa, y si logro hacerlo publicaré el código por si a alguien le es de utilidad.
35
« en: Martes 16 de Enero de 2007, 04:36 »
tal vez estè un poco de màs pero navegando encontrè esto que quizà pueda servirte. Aquí les dejo una función que suprime una linea de un StringGrid. Código: void __fastcall Form1::DeleteGridRow(TStringGrid * grid, int row) { for (row; row < grid->RowCount; row++) for (int i = 0; i < grid->ColCount; i++) grid->Cells [row] = grid->Cells[row+1] ; grid->RowCount--; } Se le pasa como parametros el StringGrid y la linea que se quiere suprimir. Lo que hace la funcion es desplazar todas las lineas un lugar hacia arriba a partir de la linea no deseada (sobreescribiendola). Luego achica el tamaño del StringGrid en un lugar.
Suerte!..
PD. No he probado el còdigo.
36
« en: Martes 16 de Enero de 2007, 04:30 »
Esto lo encontrè en una pàgina pero no lo he probado, quizà puedas probar y decir si te es ùtil. Obtener la lista de impresoras de Windows Un ejemplo que te asigna la lista de impresoras a un ComboBox que se llama Lista: Lista->Items->Assign (Printer()->Printers); La lista de impresoras está en la propiedad Printers de TPrinter. Suerte!..
37
« en: Martes 16 de Enero de 2007, 04:25 »
Creo haber entendido lo que dices, pero sucede que no tengo mucha experiencia en cuanto a lo de sistemas, podrìas darme un poco màs de informaciòn sobre como correr el comando que mencionas? Gracias por responder
38
« en: Domingo 14 de Enero de 2007, 21:54 »
Hola a todos, resulta que estuve buscando en el foro y no encontré algo relacionado (o quizá no busqué bien ), pero lo que quiero hacer es lo siguiente: Crear un ejecutable y que después de cierto tiempo, digamos, la siguiente semana o en una fecha específica se autodestruya. Algo así como un Robot, pero no tengo idea de como hacerlo, lo único que se me ocurre es crear dos aplicaciones y una de ellas que se encargue de destruir a la otra, pero no me parece muy fiable. Alguién podría ayudarme con esto? Muchas gracias de antemano.
39
« en: Viernes 12 de Enero de 2007, 04:19 »
Porqué no en lugar de cerrar la forma la ocultas con Hide(); o con Visible=false;, ?supongo que eso sería más adecuado ya que al cerrar la forma estás destruyendo también todos los objetos que tienen relación con ella.
40
« en: Viernes 12 de Enero de 2007, 04:13 »
41
« en: Jueves 11 de Enero de 2007, 04:39 »
Bueno, si la variable es tipo double entonces un nùmero puede redondearse de la siguiente forma: double numero; Label1->Caption=FormatFloat("0.000",numero); //aqui le decimos que solo queremos los primero tres decimales. Ahora bien, si tienes un nùmero así: 2,1353263E21 Lo que puedes hacer es tomar el valor de toda la cadena en una variable de tipo String y después identificar la posición del punto decimal (o de la coma) y tomar solo los primeros tres (o los que quieras nùmeros después de él), después localizas la posición de la "E" y copias lo que sigue después de ella, finalmente envías todo a otra cadena y lo muestras en algùn objeto (TLabel, TEdit) y asunto resuelto: Para ello puedes usar un ciclo while o un ciclo for. Si no entendiste ni "jota", respondeme y te mando un ejemplo (esperando haber entendido tu pregunta). Espero haber sido de ayuda. Por cierto, en mi última respuesta de ESTE POST se muestra como usar el Pos junto con el ciclo for para localizar la posición de caracteres. Por cierto, lo que mencionas quizá pueda usarse así: Label1->Caption=StrtoFloat("0.000",numero); Label1->Caption=FormatStrF("0.000",numero); pero no puedo comprobarlo porque ahorita no dispongo del compilador.
42
« en: Lunes 8 de Enero de 2007, 00:56 »
Pues bien, siguiendo el consejo de los que respondieron, me apresuré a depurar el código (que por cierto era una matriz enorme) pero antes de llegar siquiera a la mitad supuse cual fue el problema, lo analicé y finalmente pude corregirlo. Resultaba que la variable cadena tiene 5 de longitud, pero si el usuario no introducía un "número" con esa extensión entonces por defecto la variable es igual a 0, pero entonces no se puede generar el valor de las variables b y c ya que la cadena es de 1 caracter en este caso y por lo tanto los valores que deberían tomar no existen. Finalmente tal motivo publico el código por si le es de ayuda a alguien (aún hay algunos detalles que arreglar). Nota: La variable d la cambié por la variable grueso, es para hacer cálculos de volumen de la producción de madera en una aserradero. Muchas gracias a los que me respondieron, hasta pronto. String cadena, a2, b2, c2; int i, j, longitud, n; double a, b, c, grueso, ancho, largo, volumen,suma=0; for(i=1;i<=31;i++) { for(j=0;j<=31;j++) { cadena=StringGrid2->Cells[0][i]; longitud=cadena.Length(); a2=cadena.SubString(1,longitud); b2=cadena.SubString(1,longitud); b2=b2.Delete(1,2); c2=cadena.SubString(1,longitud); if(a2.IsEmpty()==true) a=0; else a=a2.Delete(2,longitud).ToDouble(); if(b2.IsEmpty()==true) b=0; else b=b2.Delete(2,2).ToDouble(); if(c2.IsEmpty()==true) c=1; else c=cadena.Delete(1,longitud-1).ToDouble(); } grueso=(b/c)+a; if(StringGrid2->Cells[1][i].IsEmpty()==true) ancho=0; else ancho=StringGrid2->Cells[1][i].ToDouble(); if(StringGrid2->Cells[2][i].IsEmpty()==true) largo=0; else largo=StringGrid2->Cells[2][i].ToDouble(); if(StringGrid2->Cells[3][i].IsEmpty()==true) n=0; else n=StringGrid2->Cells[3][i].ToDouble(); volumen=((grueso*ancho*largo)/12)*n; suma+=volumen; if(volumen==0) StringGrid2->Cells[4][i]=""; else StringGrid2->Cells[4][i]=FormatFloat("0.000",volumen); StringGrid2->Cells[5][1]=FormatFloat("0.000",suma); StringGrid2->Cells[5][i+1]=""; Edit3->Text=FormatFloat("0.000",suma); }
43
« en: Domingo 7 de Enero de 2007, 03:03 »
Ok, ya habìa depurado el còdigo pero me desesperé y lo aborte, pero ahora viendo las respuestas depuraré nuevamente y ya comentaré que ocurre. Gracias por las respuestas.
44
« en: Sábado 6 de Enero de 2007, 03:11 »
Hola amigos, hace tiempo que habìa dejado un poco de lado la programaciòn y ahora que inicié de nuevo tengo un pequeño problema en el que espero puedan ayudarme, lo que ocurre es lo siguiente (creo que serìa màs fácil entender si solo publico el código) String cadena, a2, b2, c2; int i, j, longitud; double a, b, c, d; for(i=0;i<=StringGrid2->ColCount;i++) { for(j=1;j<=StringGrid2->RowCount;j++) { if(StringGrid2->Cells[i][j].IsEmpty()==true) StringGrid2->Cells[i][j]=0; else continue; } } for(i=0;i<=StringGrid2->ColCount;i++) { for(j=1;j<=StringGrid2->RowCount;j++) { cadena=StringGrid2->Cells[0][i+1]; longitud=cadena.Length(); a2=cadena.SubString(1,longitud); a=a2.Delete(2,longitud).ToDouble(); b2=cadena.SubString(1,longitud); b2=b2.Delete(1,2); b=b2.Delete(2,2).ToDouble(); c2=cadena.SubString(1,longitud); c=cadena.Delete(1,4).ToDouble(); StringGrid2->Cells[1][i+1]=a; StringGrid2->Cells[2][i+1]=b; StringGrid2->Cells[3][i+1]=c; d=(b/c)+a; StringGrid2->Cells[4][i+1]=d; } }
El problema es con las variables b,c y d. Resulta que al ejecutar el còdigo se lanza el siguiente mensaje de error: Y como ven, según yo, en el código todo está bien escrito. Esta es la ventana de ejecución. Ya depuré el programa y todo parece estar bien, y la variable d si se calcula, pero el error continúa. alguién podría decirme que es lo que ocurre?. Agradezco de antemano la ayuda que me aporten.
45
« en: Jueves 21 de Diciembre de 2006, 04:16 »
Ok, verè si en Builder lo que dices es posible y si no pues volverè a instalar el compilador. Ja, con el trabajo que me ha costado instalarlo desde el puerto USB.
46
« en: Miércoles 20 de Diciembre de 2006, 04:52 »
Pues quizà esto no sea algo tan trascendental pero acabo de instalar el Builder 5 en Win ME y al correrlo pues cuando estoy en tiempo de diseño no se ven los "puntitos" en la forma sobre la que estoy trabajando. Pues no es algo que sea un gran problema, pero al menos estoy acostumbrado a verlos. Alguien sabe porque pasa esto y si puede resolverse? De antemano muchas gracias.
47
« en: Viernes 10 de Noviembre de 2006, 00:24 »
Si tu proyecto no es muy pesado, tal vez puedas mandármelo a unsire@gmail.com para que te lo revise y vea en donde está el error. Saludos!..
48
« en: Miércoles 25 de Octubre de 2006, 18:59 »
Primero debes declarar una variable de tipo entero, por ejemplo:
int numero; //variable de tipo entero
numero=Edit1->Text.ToInt(); //Toma el valor del Edit y lo convierte a entero
Eso es todo.
49
« en: Miércoles 25 de Octubre de 2006, 17:36 »
No se si esto pueda servirte de guía. No lo probé, es solo algo que encontré en internet. Hace tiempo que no uso el TDateTime pero me suena que se pdoian sumar y restar dias directamente. TDateTime fecha; fecha = Date() + 20; // Sumo a la fecha actual 20 dias [CODE] TimeToStr - Pasa TDateTime a AnsiString StrToTime - Pasa AnsiString a TDateTime
O sea: AnsiString t_t; t_t = TimeToStr(StrToTime(1.20.20) - StrToTime(1.30.20));
Hay dos funciones, una pa pasar de horas a AnsiString y la inversa, es decir:
Si tienes una hora en un TDateTime, puedes mostrarlo con:
TDateTime hora;
Label1->Caption = TimeToStr(hora);
y si quieres modificar una hora, lo haces con la funcion inversa:
hora = hora + StrToTime("0.30.0");
esto suma media hora
hora = hora + StrToTime("1.0.0");
esto suma una hora
es de memoria, pruebalo y si no lo miro y te lo digo.
Espero q te sirva Suerte!..
50
« en: Miércoles 18 de Octubre de 2006, 03:24 »
Mmm, jeje, pues joder, la verdad no entendí muy bien pero quizá esta ve acierto: Lo que quieres es bajar, por ejemplo la página de Google a tu disco duro, después mandar llamar el código fuente y modificarlo y posteriormente volver a ejecutarlo en el navegador con los cambios que hiciste. Estoy en lo correcto? Jaja, si estoy en lo correcto pues la verdad eso está cañon porque una página posee imagenes, scripts y demás cosas que se requieren para su correcta ejecución, no se si sepas HTML pero asi es. (jeje, yo se HTML y estoy aprendiendo PHP por mi cuenta). Quizá pudieras decirle al navegador que te guarde una página completa y entonces tal vez se podría hacer algo de lo que te propones. Si nuevamante me equivoqué entonces responde para poner a pensar un poco más a mi cerebro. jeje
Páginas: 1 [2] 3 4 ... 10
|
|
|