|
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 - Devilcpc
1
« en: Miércoles 22 de Noviembre de 2006, 03:51 »
Disculpen mi idiotez, problema solucionado, se me escaparon dos "=" por copiarlo de otro lado, era asi: Punt[i+1][j+1]->Brush->Color==clYellow; y funciona perfecto... asi q MUCHAS GRACIAS a todos los q me ayudaron
2
« en: Miércoles 22 de Noviembre de 2006, 03:41 »
OK investigando un poco creo q llegue a comprender el uso e hice esto char aux[15]=""; strncpy(aux,Archivo->Strings[0].c_str(),14); Label21->Caption= aux; for( int i = 0; i <= 39; i++ ) { strncpy(aux,Archivo->Strings[i].c_str(),14); for( int j = 0; j <= 13; j++ ) { if (aux[j] == '0') Punt[i+1][j+1]->Brush->Color==clWhite; else if (aux[j] == '1') Punt[i+1][j+1]->Brush->Color==clRed; else if (aux[j] == '2') Punt[i+1][j+1]->Brush->Color==clLime; else if (aux[j] == '3') Punt[i+1][j+1]->Brush->Color==clYellow; } }
Me guarda bien la cadena en aux, eso lo veo cuando la muestro en el label21, pero no me realiza ninguna de las acciones de los if, o sea, nunca se dan como correcto, el punto seguro esta en la comparacion, pero no se me ocurre porq...
3
« en: Miércoles 22 de Noviembre de 2006, 02:44 »
Me podrias explicar un poquito mas q es esa funcion o q hace? es q tengo el builder instalado sin ayuda asi q no puedo verlo...
Gracias
4
« en: Miércoles 22 de Noviembre de 2006, 01:03 »
Gracias por la respuesta, el problema es q yo a la cadena la tengo en un AnsiString llamado Contenido, y cuando quiero hacer lo siguiente: me dice: [C++ Error] Programador2.cpp(3930): E2034 Cannot convert 'AnsiString *' to 'char *'
5
« en: Martes 21 de Noviembre de 2006, 23:08 »
Viendo q mi duda se fue mucho de lo q era el titulo de mi otra discusion aca lo pongo en un tema nuevo:
estoy frente a un pequeño problema, tengo un conjunto de numeros guardados en un string, ej: 012013001231 y quisiera saber como puedo hacer para leerlo uno por uno...
por ejemplo si el primero es un 0 hacer algo, si es un 1 otra cosa, etc, y despues pasar al segundo y asi sucesivamente...
Desde ya muchas gracias
Saludos
Adrian
6
« en: Martes 21 de Noviembre de 2006, 19:53 »
No importa, ya me las arregle para hacer andar todo y funciona perfecto ahora estoy frente a un pequeño problema, tengo un conjunto de numeros guardados en un string, ej: 012013001231 y quisiera saber como puedo hacer para leerlo uno por uno... por ejemplo si el primero es un 0 hacer algo, si es un 1 otra cosa, etc, y despues pasar al segundo y asi sucesivamente... ya se como hacer para identificar el numero, pero no se me ocurre como ahcer para analizar todos los numeros por separados...
7
« en: Martes 21 de Noviembre de 2006, 19:17 »
Listo, lo hice andar, jeje, lo puse en el evento OnCanClose del SaveDialog y solamente esta parte Label1->Caption = Guardar->FileName; Sin el if, y parece funcionar correcto, cualquier cosa les aviso, gracias...
8
« en: Martes 21 de Noviembre de 2006, 19:13 »
Perdona mi inexperiencia, pero lo q yo quiero (para empezar) es obtener la ruta del archivo, o sea q cuando se abra la ventana, se eliga donde se quiere guardar, se ponga el nombre y se presione guardar obtenga la ruta, al precionar cancelar q no pase nada. Lo q estoy haciendo segun lo q me pusiste es por ahora copiar la ruta en un label para probar si funciona de esta manera if (Guardar->Execute()){ Label1->Caption = Guardar->FileName; }
Lo q me sucede es q no encuentro en q evento poner ese codiga para q funcione bien, si lo pongo en el Close del SaveDialog funciona mal, al igual q en todos los q probe...
9
« en: Martes 21 de Noviembre de 2006, 16:16 »
Revisando un poco en el foro encontre otra forma de manejar archivos que parece mas facil q con el Fopen: TStringList *Archivo = new TStringList(); //Puedes ir añadiendo linea a linea la informacion en el archivo Archivo->Append( "primera linea" ); Archivo->Append( "segunda linea" ); Archivo->Append( "tercera linea" ); //Guardar le archivo Archivo->SaveToFile( "c:\\Carpeta\\Prueba.txt" ); //Para abrir el archivo Archivo->LoadFromFile( "c:\\Carpeta\\Prueba.txt" ); //Para leer todo el archivo Archivo->Text; //te lo da como AnsiString todo el contenido del archivo //Para leer linea a linea Archivo->Strings[0]; //Primera linea Archivo->Strings[1]; //Segunda llinea Archivo->Strings[2]; //Tercera linea //Liberar memoris delete Archivo;
Ahora el tema seria de como cambio el nombre del archivo en la instruccion: Archivo->LoadFromFile( "c:\\Carpeta\\Prueba.txt" ); O si con el explorador al presionar el boton abrir te devuelve la ruta del archivo directamente.... Cualquier cosa que no entiendan diganmen y tratare de explicarles...
10
« en: Martes 21 de Noviembre de 2006, 15:34 »
Ok, gracias por la informacion Pude hacer q cuando toque el boton abrir se me abra el explorador, le puse un filtro y funciona justo como deseo, ahora mi duda es donde me devuelve la ruta, o sea, cuando yo selecciono donde quiero guardarlo es decir, si yo en la ventana eligo guardarlo en una carpeta y con un determinado nombre, ya sea: C:\XXX\YYY\Archivo.zzz cuando presiono el boton guardar no pasa nada y no puedo encontrar el evento q maneja cuando se presiona el boton, y tambien quisiera saber como puedo obtener la ruta elegida asi despues trabajo con el Fopen.
Gracias de nuevo
Adrian
11
« en: Martes 21 de Noviembre de 2006, 02:37 »
Buenas
Estoy haciendo un programa y ahora quiero poder guardar y abrir informacion, la idea es la siguiente: q cuando se ponga guardar pueda crear un archivo y llenarlo de 1 o 0 de acuerdo a lo q se haya hecho en el programa, y q cuando ponga para abrir un archivo, lo lea y de acuerdo a los 1 y 0 me haga unos cambios en el programa...
Por eso lo q necesitaria saber es como abro y escribo un archivo, tambien si se puede poner un boton q te habra la ventana para buscar el archivo a abrir o donde guardarlo como hace la mayoria de los programas...
Desde ya muchas gracias
Adrian
12
« en: Jueves 5 de Octubre de 2006, 20:02 »
Ok gracias por el codigo, ahora me voy a poner a probarlo y despues te comento si me funciono Saludos Adrian
13
« en: Jueves 5 de Octubre de 2006, 17:58 »
Hola por que no intentas con un MaskEdit, y asi te evitas de validaciones, Saludos!! y como hago eso? Me fije si era una propiedad del Edit pero no puedo encontrarla...
14
« en: Jueves 5 de Octubre de 2006, 14:30 »
Buenas
tengo una pequeña duda...
tengo un AnsiString que posee un numero binario, ej: 10101111 y quisiera pasarlo a su correspondiente equivalente en Hexadecimal, ej: AF.
Queria saber si hay alguna funcion para pasarlo directamente, algo como: BinToHex (Numero); o tengo q hacerlo yo?
en fin... si alguien tiene idea q por favor me diga
gracias
Adrian
15
« en: Jueves 28 de Septiembre de 2006, 22:03 »
buenas
Se q es una duda muy boluda, pero hace años q no uso el builder y me olvide como exportaba el .exe, pq cuando le paso a alguien el .exe q me genera automaticamente al compilar les aparece un erro q falta el archivo vcl60, o algo asi... pero a mi me funciona bien
Saludos
Adrian
16
« en: Miércoles 27 de Septiembre de 2006, 20:00 »
Aca esta la foto q no pude adjuntarla en el anterior
17
« en: Miércoles 27 de Septiembre de 2006, 19:53 »
Bueno, por empezar quiero decir q ya esta funcionando barbaro el programa, muchas gracias, se los voy a adjuntar por si a alguien le interesa verlo... Lo q quiero saber es como poder identificar si se presiona el boton derecho o izq del mousse, pq con ambos me hace la misma funcion y quisiera hacer 2 cosas separadas... en cuanto al cartel q quiero hacer es un poco complicado de explicar... soy estudiante de 4° año de la carrera ing electronica en argentina y este año tengo una materia que se llama tecncias digitales 2 y nos piden q realizemos un proyecto final bueno, a mi se me habia ocurrido hacer un cartel giratorio, o sea, es una columna de leds la cual gira a gran velocidad con un motor (alrededor de 1500 RPM) y al ir girando los leds se prenden y apagan para formar palabras ya q la retine del ojo retiene la imagen nosotros vemos la palabra completa en internet hay varios ejemplos, pero la gran mayoria son relojes, no carteles, a continuacion les voy a dejar algunas paginas para q vean de lo q me refiero: http://www3.sympatico.ca/surfin.dude/creat...pclk/blick.html http://hem.bredband.net/robinstridh/avr/rot_led/index.html http://zuiderzeemuseum.netfirms.com/url5.p...iam/william.htm yo me adelante y empeze a probar con un microcontrolador que poseo es un Basic Stamps q se programa en basic, lo cual es muy facil, pero a pesar de q ya pude escribir algunas palabras me encontre con muchas limitaciones y dificultades de este micro lo cual lo hace inutil, pero me sirve para ir probando hasta q me interiorize mas con los intel o los pics Tambien poco algunas fotos de un prototipo q hice para ver si funcionaba la idea...
18
« en: Martes 26 de Septiembre de 2006, 20:23 »
JAJAJAJA Leyendo el mensaje q puse me di cuenta el error donde decia Punt[1][0] = Shape1; era: Punt[1][1] = Shape1; ahora funciona perfecto esa parte , es hora de ir agregando las otras cosas Cualquier cosa aviso, gracias
19
« en: Martes 26 de Septiembre de 2006, 20:15 »
Muchisimas gracias a todos por responder, especialmente a vatoicc que le dio justo en el clavo Aclaro q soy un poco como nuevo en todo esto del builder, se de C, pero esto de orientado a objetos es nuevo apra mi, pero algo me als ingenio resulta que yo, para explicar mas facil resumi un poco lo q tengo q hacer... yo tengo una matriz de 14 filas y como 40 columnas de leds (Shapes), q al hacerles click tienen q pasar primero a rojo, despues a verde, despues a amarillo, y de nuevo a blanco... eso lo pude hacer barbaro gracias a lo q vos me dijiste de la sig forma (aclaro q al principio estaba pegando el mismo codigo a todos los leds ) TShape *Punt = (TShape *)Sender; if( Punt->Brush->Color == clWhite ) Punt->Brush->Color = clRed; else if( Punt->Brush->Color == clRed ) Punt->Brush->Color = clLime; else if( Punt->Brush->Color == clLime ) Punt->Brush->Color = clYellow; else if( Punt->Brush->Color == clYellow ) Punt->Brush->Color = clWhite;
Mejor acalro un poco mas para q pienso utilixar esto: Resulta que estoy haciendo un cartel electronico con un microcontrolador PIC, y quiero hacer este programa para q pueda hacer ciertos dibujos y que me genere el codigo para poner en el pic, asi q en el memo tendria q combinar algunas lineas de programacion con algunos 1 o 0 dependiendo del color de los leds, esa aprte creo q me la puedo ingeniar... Ahora la parte que me pusiste vos para el memo trate de modificarla de acuerdo a lo que yo necesitaba (para probar deje q me ponga 1 si es rojo y 0 si es otro color y unicamente en la primer columna) lo deje de la siguiente forma: TShape *Punt[40][14]; Punt[1][0] = Shape1; Punt[1][2] = Shape2; Punt[1][3] = Shape3; Punt[1][4] = Shape4; Punt[1][5] = Shape5; Punt[1][6] = Shape6; Punt[1][7] = Shape7; Punt[1][8] = Shape8; Punt[1][9] = Shape9; Punt[1][10] = Shape10; Punt[1][11] = Shape11; Punt[1][12] = Shape12; Punt[1][13] = Shape13; Punt[1][14] = Shape14; AnsiString Linea = ""; for( int j = 1; j <= 14; j++ ) if( Punt[1][j]->Brush->Color == clRed ) Linea += "1"; else Linea += "0"; Memo1->Lines->Append( Linea );
Cuando lo ejecuto no me da ningun error, los leds se ponen de los colores perfectos pero cuando presiono el boton me da un error de: "Debugger Exception Notification" Project2.exe raised exception class EaccessViolation with message 'Access violation at adres......' y sigue y ahi se me cuelga todo si me pudieras solucionar ese ultimo problema creo q ya lo tengo Gracias de nuevo...
20
« en: Martes 26 de Septiembre de 2006, 14:47 »
Hola Tengo una duda que "tratare" de explicar a continuacion Tengo un Form el cual contiene muchos circulos (creados como imagenes), uno al lado del otro, los cuales son llamados: Led1, Led2, .... , etc. Abajo tengo un memo Lo q yo quiero hacer es q cuando se pulse un boton, en el memo se escriba 1 o 0 dependiendo si el color del circulo es rojo o blanco... Se me habia ocurrido hacerlo con un for, seria algo asi: For (i=0; i<=N; i++){ if (Ledi->Brush->Color==clRed) memo1->(AGREGAR 1) else memo1->(AGREGAR 0) } Pero estoy seguro que eso no va a funcionar, pero tengo mas o menos la idea, me falta saber como puedo hacer esa parte de "Ledi" para que sea Led1, Led2, ... y tampoco se como agregar un 1 o un 0 al memo... si alguien me puede explicar esas dos cosas q lo haga por favor Gracias Saludos Adrian
21
« en: Jueves 13 de Enero de 2005, 04:00 »
justamente ese es el problema, yo manejo un campo de una tabla con formato float, y el valor de la tabla es diferente al valor q tiene una variable tipo float cuando le guardo el valor de la tabla, me da una diferencia en el 4 decimal mas o menos, y pense q lo podia corregir poniendole una presicion al float de 2 decimales, igual ya lo solucione de otra forma, peroi no queda muy prolijo...
22
« en: Lunes 10 de Enero de 2005, 19:35 »
gracias por las respuestas
pero estaba buscando a ver si hay alguna forma q el float se guarde directamente con 2 decimales, ya q no le pongo yo el valor sino q lo toma el programa por su cuenta...
23
« en: Jueves 6 de Enero de 2005, 03:34 »
buenas
estaba haciendo un programita q me estaba funcionando perfecto pero de repente cuando lo ejecuto me da un error al compilarlo q dice:
ListIindex out of bounds (1073896545)
alguien sabe a q se debe el error???
24
« en: Miércoles 5 de Enero de 2005, 22:47 »
buenas
el tema es sencillo, tengo una variable tipo float q despues la imprimo utilizando un label, pero este me lo imprime como con 15 decimales, pero quiero fijarle una precisionde un solo decimal...
supongo q no es muy complicado, pero yo estoy acostumbrado al C q utilizaba el %.2f
25
« en: Lunes 20 de Diciembre de 2004, 19:34 »
hola
queria saber como hacer para tomar letra por letra, pero q no sea con el evento onKeyPress, ya q tengo un memo, y despues le pego un texto, y al tocar un boton quiero q me tomo letra por letra ese texto y me lo modifique
tambien otras dudas q tengo es como hacer para poner el cursos al final del texto q este escrito, al principio o en una posicion fijada (ej: en el tercer caracter).
Saludos
|
|
|