![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
¿Y en qué parte tienes problemas?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
||||
|
||||
|
algo muy sencillo que se me ocurre es que uses un fuente tipo digital y uses por ejemplo un TLabel que le pongas el fondo negro y lo que escribas en el TEdit lo muestras en el TLabel en rojo y con fuente digital. Para el movimiento usas un TTimer a por ejemplo 500 milisegundos, pones una variable global int x=1, y dentro del evento del timer haces algo como: if(x>Edit1->Text->Length()) x=1; Label1->Caption = Edit1->Text->SubString(x, Edit1->Text->Length()); y con eso consegurias el efecto de movimiento de derecha a izquierda.
|
|
#3
|
||||
|
||||
|
Debes analizar el problema.
- ¿Te lo piden con displays de 7 segmentos o con matriz de led? No va a haber mucha diferencia. - En cualquiera de los dos casos, deberás numerar los led y realizar para carácter una secuencia de led encendidos para representarlo a tu gusto. Esa secuencia puede ser un simple array numérico. - Elije un control, que puede ser un simple TShape que coloreas según la secuencia de led encendidos que previamente habías establecido para él. Esos controles los tienes numerados para tal fin. -El Movimiento lo consigues cambiando las columnas del control representador. El resto es pensar si esto te sirve como comienzo y ponerse a trabajar. Saludos. |
|
#4
|
||||
|
||||
|
los componentes TMS tienen unos que son pantallas leds y son muy reales. La verdad es que me gustaria saber de algun escrito que trate la creacion de un componente visual desde 0, o sea, que no sea derivado de otro ¿Sabeis de alguno asi? Por ejemplo, para hacer el componente de leds ese supongo que no puede descender de ninguno estandar ¿No?
|
|
#5
|
||||
|
||||
|
Venga, no seas perezoso
![]() Hazlo a mano, así aprenderás. Si usas un componente ya hecho entonces no aprenderás nada.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#6
|
||||
|
||||
|
a ver, no me expliqué bien. Lo que quiero saber es como hacen para crear un componente como ese ya que lo normal es hacerlo descendiendo de uno que ya exista pero no les veo parecido con ninguno. Ademas, si añades un TEdit en el modo diseño ves un rectangulo blanco con la forma que mostrará cuando lo ejecutes, si añades uno de estos de leds ves el rectangulo con el aspecto que tendrá en ejecucion... ¿Como se hace para que muestre eso asi en modo diseño? La verdad es que no lo necesito para nada pero me pica la curiosidad, ademas, lo que explica escafandra, si fuese una pantalla de por ejemplo 15 caracteres y cada caracter se pintara en una matriz de leds de, por ejemplo, 8*8, al realizar el desplazamiento a la izquierda, ¿No se veria un parpadeo? A mi se me ocurre como realizar una matriz por ejemplo bool cadena[7][50] y dibujo con 0s y 1s el texto pero no veo una forma eficiente de dibujarlo en un TImage por ejemplo y refrescarlo sin parpadeos.
|
|
#7
|
||||
|
||||
|
Estoy haciendo una prueba y ya lo tengo terminado al 90% pero me falta un detalle y es que para facilitar el trabajo con los leds (son TShapes) he creado un array de punteros como sigue:
Código:
private: // User declarations
TShape *FilaLeds[7][60] = {{Led1,Led2,Led3,Led4,Led5,Led6,Led7,Led8,Led9,Led10,Led11,Led12,Led13,Led14,Led15,Led16,Led17,Led18,Led19,Led20,Led21,Led22,Led23,Led24,Led25,Led26,Led27,Led28,Led29,Led30,Led31,Led32,Led33,Led34,Led35,Led36,Led37,Led38,Led39,Led40,Led41,Led42,Led43,Led44,Led45,Led46,Led47,Led48,Led49,Led50,Led51,Led52,Led53,Led54,Led55,Led56,Led57,Led58,Led59,Led60},
{Led61,Led62,Led63,Led64,Led65,Led66,Led67,Led68,Led69,Led70,Led71,Led72,Led73,Led74,Led75,Led76,Led77,Led78,Led79,Led80,Led81,Led82,Led83,Led84,Led85,Led86,Led87,Led88,Led89,Led90,Led91,Led92,Led93,Led94,Led95,Led96,Led97,Led98,Led99,Led100,Led101,Led102,Led103,Led104,Led105,Led106,Led107,Led108,Led109,Led110,Led111,Led112,Led113,Led114,Led115,Led116,Led117,Led118,Led119,Led120},
{Led121,Led122,Led123,Led124,Led125,Led126,Led127,Led128,Led129,Led130,Led131,Led132,Led133,Led134,Led135,Led136,Led137,Led138,Led139,Led140,Led141,Led142,Led143,Led144,Led145,Led146,Led147,Led148,Led149,Led150,Led151,Led152,Led153,Led154,Led155,Led156,Led157,Led158,Led159,Led160,Led161,Led162,Led163,Led164,Led165,Led166,Led167,Led168,Led169,Led170,Led171,Led172,Led173,Led174,Led175,Led176,Led177,Led178,Led179,Led180},
{Led181,Led182,Led183,Led184,Led185,Led186,Led187,Led188,Led189,Led190,Led191,Led192,Led193,Led194,Led195,Led196,Led197,Led198,Led199,Led200,Led201,Led202,Led203,Led204,Led205,Led206,Led207,Led208,Led209,Led210,Led211,Led212,Led213,Led214,Led215,Led216,Led217,Led218,Led219,Led220,Led221,Led222,Led223,Led224,Led225,Led226,Led227,Led228,Led229,Led230,Led231,Led232,Led233,Led234,Led235,Led236,Led237,Led238,Led239,Led240},
{Led241,Led242,Led243,Led244,Led245,Led246,Led247,Led248,Led249,Led250,Led251,Led252,Led253,Led254,Led255,Led256,Led257,Led258,Led259,Led260,Led261,Led262,Led263,Led264,Led265,Led266,Led267,Led268,Led269,Led270,Led271,Led272,Led273,Led274,Led275,Led276,Led277,Led278,Led279,Led280,Led281,Led282,Led283,Led284,Led285,Led286,Led287,Led288,Led289,Led290,Led291,Led292,Led293,Led294,Led295,Led296,Led297,Led298,Led299,Led300},
{Led301,Led302,Led303,Led304,Led305,Led306,Led307,Led308,Led309,Led310,Led311,Led312,Led313,Led314,Led315,Led316,Led317,Led318,Led319,Led320,Led321,Led322,Led323,Led324,Led325,Led326,Led327,Led328,Led329,Led330,Led331,Led332,Led333,Led334,Led335,Led336,Led337,Led338,Led339,Led340,Led341,Led342,Led343,Led344,Led345,Led346,Led347,Led348,Led349,Led350,Led351,Led352,Led353,Led354,Led355,Led356,Led357,Led358,Led359,Led360},
{Led361,Led362,Led363,Led364,Led365,Led366,Led367,Led368,Led369,Led370,Led371,Led372,Led373,Led374,Led375,Led376,Led377,Led378,Led379,Led380,Led381,Led382,Led383,Led384,Led385,Led386,Led387,Led388,Led389,Led390,Led391,Led392,Led393,Led394,Led395,Led396,Led397,Led398,Led399,Led400,Led401,Led402,Led403,Led404,Led405,Led406,Led407,Led408,Led409,Led410,Led411,Led412,Led413,Led414,Led415,Led416,Led417,Led418,Led419,Led420}};
Edito: Tambien he probado con esto: Código:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
int contador = 1;
for(int y=0; y<7; y++)
{
for(int x=0; x<60; x++)
{
FilaLeds[y][x] = (TShape*)(AnsiString("Led"+AnsiString(contador)).c_str());
contador++;
}
}
}
//---------------------------------------------------------------------------
Última edición por aguml fecha: 14-10-2014 a las 13:19:15. |
|
#8
|
|||
|
|||
|
Cita:
|
|
#9
|
||||
|
||||
|
Lo conseguí
pero solo admito un maximo de 10 caracteres porque uso 420 TShapes a 7*6 por caracteres. Va estupendamente pero quiero ver si soy capaz de mostrar textos mas largos. |
|
#10
|
||||
|
||||
|
Amigos tengo un problema extraño, ya he conseguido que puedas meter cadenas largas y te las va rotando en una pantalla de 10 caracteres de trama de leds pero al intentar eliminar la memoria dinamica que uso para ello me da error.
Tengo esto: Código PHP:
|
|
#11
|
||||
|
||||
|
Solucionado.
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| ayuda con dudas en builder x6 | jrla | C++ Builder | 4 | 04-09-2014 02:52:02 |
| Ayuda con SQL y Builder | fedee | C++ Builder | 1 | 05-08-2011 01:26:33 |
| ayuda con c++ builder 6 | elsamurai | C++ Builder | 26 | 17-12-2010 11:16:26 |
| Ayuda con Report Builder | shany | Impresión | 9 | 16-09-2010 23:21:32 |
| Ayuda tutores de Builder | TamaraCuba | C++ Builder | 1 | 04-02-2006 14:20:33 |
|