sábado, 13 de março de 2021

FMX - convertendo numeral em cardinal II

OBS: Esta versão veio para melhorar 
alguns detalhes na interface gráfica.

Para definir um valor a objetos ou seres de qualquer espécie,
ou ainda qualquer coisa física que se encontra em nosso contexto,
utilizamos a palavra Numeral.
Podemos dizer que os numerais são os mesmos cardinais
porém quando se escreve são escritos
através de algarismos arábicos ou o menos usados romanos.
Os números cardinais expressam quantidade ou contagem exatas
de objetos, seres de qualquer espécie ou coisas físicas
existente em nosso contexto diário,
mas quando precisamos escrevê-los,
são escritos pelo seu nome propriamente dito,
ou como muitos dizem por ( extenso ).
A primeira versão deste programa, foi criada 
por mim mesmo em linguagem C, com os resultados
imprimidos na tela do CMD do windows.
Depois criamos uma versão em Java (texto),
e outra em JavaFx.
Agora criamos uma versão para rodar numa interface
gráfica do C++ builder, e se manteve bem fiel
a primeira versão criada em C, as poucas alterações
foram aplicadas somente nos comandos utilizados
pelos componentes da janela gráfica.
O interessante deste programa é que ele não utiliza
nenhum recurso avançado nem do C e nem do C++,
mesmo assim, eu me lembro que na criação da primeira versão,
me deu bastante trabalho na organização dos códigos. 
Limitamos o programa a imprimir resultados de até,
9999 (Nove Mil Novecentos e Noventa e Nove),
mas nada impede isto ser expandido para valores
muito acima disto, sem nenhuma dificuldade.

Assista agora o programa funcionando no vídeo:




 //---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click ( TObject *Sender ) {;

   Close ( );

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate ( TObject *Sender ) {

   Label_Manual ( Sender );

   Text2 -> Visible = false;

//pos X, pos Y, Width, Height, Size, Bool, Color,String

T_Text ( 50, 35, 500, 20, 17, true, 3, "FMX - CONVERTENDO NUMERAL EM CARDINAL II" );

T_Rect_2 ( 60, 280, 165, 20 );

T_Text ( 40, 280, 200, 20, 13, true, 0, "Número entre 0 e 10000" );

}

//---------------------------------------------------------------------------

domingo, 7 de março de 2021

FMX - convertendo numeral em cardinal


Para definir um valor a objetos ou seres de qualquer espécie,
ou ainda qualquer coisa física que se encontra em nosso contexto,
utilizamos a palavra Numeral.
Podemos dizer que os numerais são os mesmos cardinais
porém quando se escreve são escritos
através de algarismos arábicos ou o menos usados romanos.
Os números cardinais expressam quantidade ou contagem exatas
de objetos, seres de qualquer espécie ou coisas físicas
existente em nosso contexto diário,
mas quando precisamos escrevê-los,
são escritos pelo seu nome propriamente dito,
ou como muitos dizem por ( extenso ).
A primeira versão deste programa, foi criada 
por mim mesmo em linguagem C, com os resultados
imprimidos na tela do CMD do windows.
Depois criamos uma versão em Java (texto),
e outra em JavaFx.
Agora criamos uma versão para rodar numa interface
gráfica do C++ builder, e se manteve bem fiel
a primeira versão criada em C, as poucas alterações
foram aplicadas somente nos comandos utilizados
pelos componentes da janela gráfica.
O interessante deste programa é que ele não utiliza
nenhum recurso avançado nem do C e nem do C++,
mesmo assim, eu me lembro que na criação da primeira versão,
me deu bastante trabalho na organização dos códigos. 
Limitamos o programa a imprimir resultados de até,
9999 (Nove Mil Novecentos e Noventa e Nove),
mas nada impede isto ser expandido para valores
muito acima disto, sem nenhuma dificuldade.
Assista agora o programa funcionando no vídeo:




//----------------------------------------------------------------------------
  if ( mi == 9000 ) {
   if ( de == 0 && un == 0 ) {
str_1 = "Nove Mil";
Button3 -> Text = Form1 -> Button3 -> Text + str_1;
   } else {
str_1 = "Nove Mil e ";
Button3 -> Text = Form1 -> Button3 -> Text + str_1;
   }
              }
  if ( mi == 8000 ) {
   if ( de == 0 && un == 0 ) {
str_1 = "Oito Mil";
Button3 -> Text = Form1 -> Button3 -> Text + str_1;
   } else {
str_1 = "Oito Mil e ";
Button3 -> Text = Form1 -> Button3 -> Text + str_1;
   }
              }
//---------------------------------------------------------------------------

terça-feira, 2 de março de 2021

FMX - conversor de unidades métricas


Quando declaramos uma classe em C++,
por definição ela é privada,
isto significa que não podemos acessar,
nem suas variáveis membros,
nem suas funções membros através de outras
funções que não seja também membro da classe.
Uma classe pode possuir tantos membros privados
como públicos, isto é um modo de conseguirmos
encapsular os seus membros e funções,
para que determinados itens não sejam acessados
por outras funções que não convém.
Para tornar partes de uma classe públicas,
isto é, acessíveis a outras partes do seu programa,
você deve declará-las após a palavra reservada public.
Todas as variáveis ou funções definidas depois de public
estão disponíveis a todas as outras funções no programa.

Para mostrar na prática o uso de classes em C++,
declarei uma classe e dei-lhe o nome de: Conversor_Metrico,
esta classe possui várias funções membros públicas
e com retorno para serem utilizados nas chamadas
dos eventos dos botões correspondente.
Nossos conhecimentos e habilidades em C++, 
e no C++ Builder, nos permite criar dezenas de conversões,
em variadas áreas, isto seria dividido em várias janelas
com menus bem organizados, dando um estilo bem profissional,
mas como isto aqui é didático, não precisamos perder
muito tempo com isto, porque o caminho à percorrer é longo,
e o tempo é muito curto, quase não temos tempo para programar.
Se alguém tiver interesse no projeto basta nos solicitar,
porque disponibilizamos apenas algumas partes dos códigos,
para poder obter algum feedback positivo de preferência,
mas críticas, quando feitas com sinceridade e conhecimento
também são aceitas.




//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click ( TObject *Sender ) {;
Conversor_Metrico conv;
//METRO
if ( a == 1 ) {
   T_Rect_2 ( 160, 220, 320, 20 );
   T_Rect ( 160, 220, 200, 20 );
   //pos X, pos Y, Width, Height, Size, Bool, Color,String
   T_Text ( 170, 220, 200, 20, 16, false, 0, "De metro para metro" );
double conversor = conv.converter_0 ( x, conv.CENTIMETRO );
Edit2 -> Text = FloatToStrF ( conversor, ffFixed, 8, 1 );
}
//CENTÍMETRO
if ( a == 2 ) {
   T_Rect_2 ( 160, 220, 320, 20 );
   T_Rect ( 160, 220, 250, 20 );
   //pos X, pos Y, Width, Height, Size, Bool, Color,String
   T_Text ( 170, 220, 250, 20, 16, false, 0, "De centímetro para metro" );
double conversor = conv.converter_3 ( x, conv.METRO );
Edit2 -> Text = FloatToStrF ( conversor, ffFixed, 8, 2 );
}
//POLEGADAS
if ( a == 3 ) {
T_Rect_2 ( 160, 220, 320, 20 );
T_Rect ( 160, 220, 250, 20 );
//pos X, pos Y, Width, Height, Size, Bool, Color,String
T_Text ( 170, 220, 250, 20, 16, false, 0, "De polegadas para metro" );
double conversor = conv.converter_6 ( x, conv.POLEGADAS_2 );
Edit2 -> Text = FloatToStrF ( conversor, ffFixed, 8, 4 );
}
}
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate ( TObject *Sender ) {
   Label_Manual ( Sender );
//pos X, pos Y, Width, Height, Size, Bool, Color,String
T_Text ( 60, 15, 500, 20, 17, true, 3, "FMX - CONVERSOR DE UNIDADES MÉTRICAS" );
T_Text ( 50, 240, 300, 40, 14, true, 3,  "Por: " );
T_Text ( 120, 240, 300, 40, 14, true, 2,  "Samuel Lima" );
T_Text ( 100, 255, 300, 40, 14, true, 0,  "sa_sp10@otmail.com" );
}
//---------------------------------------------------------------------------