Code morse

Description

C'est un code qui transforme une phrase en code morse. Il y a une fonction que j'ai créé qui permet de calculer le nombre de lettre dans la phrase, j'en avais trouvé aucune qui fonctionnait vraiment bien ( elle compte aussi les espaces, mais peu-être modifié facilement).
Si vous ne voulez pas télécharger de code, j'ai collé le tout ci-dessous et la fonction est a la fin.

Source / Exemple :


TForm1 *Form1;
AnsiString Phrase, Phrase2;
int NbDeLettre(AnsiString);   //Fonction qui calcul le nombre de lettre dans le string
int Nb, Long, Court;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(Edit1->Text=="")                            // Vérifie si EditBox est vide
{       Timer1->Enabled=false;
        return;
}
else
{
        Nb=0;                                    // Prend ce qu'il y a dans l'editbox
        Phrase=Edit1->Text;                      // et retourne le nb de lettre dans l'AnsiString
        Edit3->Text=NbDeLettre(Phrase);
        Timer1->Enabled=true;
}

}
//---------------------------------------------------------------------------

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

if ( Nb==Edit3->Text)                           // Si  Nb = au nombre de lettre  , timer arrete
{
        Timer1->Enabled=false;
        return;
}
else
{
        Nb++;                                          // sinon Nb augmente est passe les lettres une par une
        Phrase2 =Phrase[Nb];
}

if( Phrase2=="a")
{
        Beep(1500,500);Beep(1500,900);
}
if( Phrase2=="b")
{
        Beep(1500,900);Beep(1500,500);Beep(1500,500);Beep(1500,500);
}
if( Phrase2=="c")
{
        Beep(1500,900);Beep(1500,500);Beep(1500,900);Beep(1500,500);
}
if( Phrase2=="d")
{
        Beep(1500,900);Beep(1500,500);Beep(1500,500);
}
if( Phrase2=="e")
{
        Beep(1500,500);
}
if( Phrase2=="f")
{
        Beep(1500,500);Beep(1500,500);Beep(1500,900);Beep(1500,500);
}
if( Phrase2=="g")
{
        Beep(1500,900);Beep(1500,900);Beep(1500,500);
}
if( Phrase2=="h")
{
        Beep(1500,500);Beep(1500,500);Beep(1500,500);Beep(1500,500);
}
if( Phrase2=="i")
{
        Beep(1500,500);Beep(1500,500);
}
if( Phrase2=="j")
{
        Beep(1500,500); Beep(1500,900);Beep(1500,900);Beep(1500,900);
}
if( Phrase2=="k")
{
        Beep(1500,900); Beep(1500,500); Beep(1500,900);
}
if( Phrase2=="l")
{
        Beep(1500,500); Beep(1500,900); Beep(1500,500);Beep(1500,500);
}
if( Phrase2=="m")
{
        Beep(1500,900);Beep(1500,900);
}
if( Phrase2=="n")
{
        Beep(1500,900); Beep(1500,500);
}
if( Phrase2=="o")
{
        Beep(1500,900);Beep(1500,900);Beep(1500,900);
}
if( Phrase2=="p")
{
        Beep(1500,500);Beep(1500,900);Beep(1500,900);Beep(1500,500);
}
if( Phrase2=="q")
{
        Beep(1500,900);Beep(1500,900);Beep(1500,500); Beep(1500,900);
}
if( Phrase2=="r")
{
        Beep(1500,500); Beep(1500,900);Beep(1500,500);
}
if( Phrase2=="s")
{
        Beep(1500,500);Beep(1500,500);Beep(1500,500);
}
if( Phrase2=="t")
{
        Beep(1500,900);
}
if( Phrase2=="u")
{
        Beep(1500,500);Beep(1500,500);  Beep(1500,900);
}
if( Phrase2=="v")
{
        Beep(1500,500);Beep(1500,500);Beep(1500,500);Beep(1500,900);
}
if( Phrase2=="w")
{
        Beep(1500,500);Beep(1500,900); Beep(1500,900);
}
if( Phrase2=="x")
{
        Beep(1500,900);Beep(1500,500);Beep(1500,500);Beep(1500,900);
}
if( Phrase2=="y")
{
        Beep(1500,900);Beep(1500,500); Beep(1500,900);Beep(1500,900);
}
if( Phrase2=="z")
{
        Beep(1500,900);Beep(1500,900); Beep(1500,500);Beep(1500,500);
}
if( Phrase2=="0")
{
        Beep(1500,900);Beep(1500,900);  Beep(1500,900);Beep(1500,900);
}
if( Phrase2=="1")
{
        Beep(1500,500);Beep(1500,900);  Beep(1500,900);Beep(1500,900); Beep(1500,900);
}
if( Phrase2=="2")
{
        Beep(1500,500);Beep(1500,500);Beep(1500,900);  Beep(1500,900);   Beep(1500,900);
}
if( Phrase2=="3")
{
        Beep(1500,500);Beep(1500,500);  Beep(1500,500);Beep(1500,900);   Beep(1500,900);
}
if( Phrase2=="4")
{
        Beep(1500,500); Beep(1500,500); Beep(1500,500); Beep(1500,500);Beep(1500,900);
}
if( Phrase2=="5")
{
        Beep(1500,500); Beep(1500,500); Beep(1500,500); Beep(1500,500);  Beep(1500,500);
}
if( Phrase2=="6")
{
        Beep(1500,900);Beep(1500,500); Beep(1500,500); Beep(1500,500); Beep(1500,500);
}
if( Phrase2=="7")
{
        Beep(1500,900);Beep(1500,900);Beep(1500,500); Beep(1500,500); Beep(1500,500);
}
if( Phrase2=="8")
{
        Beep(1500,900);Beep(1500,900);Beep(1500,900);Beep(1500,500); Beep(1500,500);
}
if( Phrase2=="9")
{                                             
        Beep(1500,900);Beep(1500,900);Beep(1500,900);Beep(1500,900); Beep(1500,500);
}

}
//---------------------------------------------------------------------------
 int NbDeLettre( AnsiString x)    // Calcule le nombre de lettre dans un AnsiString
{                                // Phrase=Edit1->Text;
  AnsiString Phrase2;            // Edit2->Text= NbDeLettre( Phrase)
  int Nb2=0, Nb=0;
  x=x+".";

while(Phrase2!=".")
{
  Nb2++;
  Nb=Nb2;
  Phrase2=x[Nb2];
}
  x="";
  Phrase2="";
  Nb2=0;
  return Nb-1;
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.