begin process at 2012 05 27 14:38:32
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > CODE MORSE

CODE MORSE


 Information sur la source

Note :
Aucune note
Catégorie :Divers Classé sous :Code morse, nombre chaîne, nombre caractère Niveau :Débutant Date de création :21/12/2010 Date de mise à jour :22/12/2010 14:05:16 Vu / téléchargé :2 627 / 120

Auteur : SanDum

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 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

  • 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;
  • }
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;
}


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   CodeMorse
    • Pj_Code.bprTélécharger ce fichier [Réservé aux membres club]4 141 octets
    • Pj_Code.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 085 octets
    • Pj_Code.objTélécharger ce fichier [Réservé aux membres club]18 438 octets
    • Pj_Code.resTélécharger ce fichier [Réservé aux membres club]876 octets
    • Pj_Code.tdsTélécharger ce fichier [Réservé aux membres club]2 883 584 octets
    • Un_Code.~cppTélécharger ce fichier [Réservé aux membres club]5 419 octets
    • Un_Code.~ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • Un_Code.~dfmTélécharger ce fichier [Réservé aux membres club]877 octets
    • Un_Code.~hTélécharger ce fichier [Réservé aux membres club]987 octets
    • Un_Code.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 419 octets
    • Un_Code.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • Un_Code.dfmTélécharger ce fichier [Réservé aux membres club]877 octets
    • Un_Code.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier987 octets

Télécharger le zip


 Historique

22 décembre 2010 14:05:16 :
la pièce jointe ne c'était mise.

 Sources du même auteur

Source avec Zip CALCULE LES TAXES

 Sources de la même categorie

Source avec Zip KISIEL CD INFO DRIVE par kisiel0147852
Source avec une capture SUPPRESSION DES REDONDANCES DE FICHIERS par cyberntique
Source avec Zip ÉDITEUR DE RECTANGLES EN CONSOLE par seoseo
CONVERSION DE FICHIER EN FICHIER BMP par seoseo
Source avec Zip DETECTEUR EJP par idpro

Commentaires et avis

Commentaire de mogwai93 le 22/12/2010 20:59:55

tu peux faire une fonction plus évolutive :
tu as ces 2 methodes appelées X fois :
  Beep(1500,900);
  Beep(1500,500);

il te suffit de créer 2 nouvelles methodes "long" et "court" par exemple
et à l'intérieur tu places tes appels à Beep

--> ça t'évite de faire des erreurs dans les différents appels
--> dans les 2 nouvelles méthodes, tu peux y mettre ce que tu veux :
      - appel à beep
      - dessins à l'écran
      - écriture dans un fichier
      - ...

Commentaire de rclsilver02 le 17/01/2011 16:18:33

Tu peux aussi associer une lettre à une séquence de caractères (. pour court et - pour long) puis ensuite, pour chaque lettre, parcourir et jouer la séquence associée.

Cela te permet d'avoir un code plus lisible et plus facile à maintenir.

Néanmoins, bon boulot :)

Commentaire de SanDum le 19/01/2011 21:15:47

Salut
Dsl, j'ai été très occupé, je n'ai pas eu le temps de répondre à vos commentaires.
J'avais pensé faire une fonction, d'ailleurs j'ai créé une fonction pour les sons que je devais améliorer, mais quand je me suis rendu compte que je devais appeler la fonction dans tout mes if, je trouvais que cela revenais au même que d'écrire ma commande directement.
Rclsiver02, je ne suis pas sur d'avoir compris ta solution, pourrais-tu me l'expliquer une autre fois, autre ?
Merci
Grégory

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales