Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONVERTISSEUR ?URO-FRANCS


Information sur la source

Catégorie :Divers Classé sous : convertisseur, euros, francs Niveau : Débutant Date de création : 25/03/2004 Vu / téléchargé: 2 467 / 200

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

Description

convertisseur complet:
gere la gestion des deux zero apres la virgule(roundto)
bloc le clavier (editkeytext)
utlise des variable pour selectionner les editText
utlisitation  dun label pour lancer une url sur le net
traitement de fichier help avec racourcci sur exe
form sous xp(xpman dans les uses)
fome a propos
modification du taux de change (form2)
bouton tspeedbutton pour donner de la couleur a votre txt.
Voila jai essaye de le faire simple et fonctionnel pour les utilisateurs et quelque explication dans le pas.
@++++++++
bopi
 

Source

  • unit Unit1;
  • interface
  • uses
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • Dialogs, ComCtrls, StdCtrls, xpman, shellapi, math, Menus, Buttons;
  • type
  • TMain = class(TForm)
  • MainMenu1: TMainMenu;
  • Fichiers1: TMenuItem;
  • Apropos1: TMenuItem;
  • Apropos2: TMenuItem;
  • N1: TMenuItem;
  • Lisezmoi1: TMenuItem;
  • Quitter1: TMenuItem;
  • Edit2: TEdit;
  • Label1: TLabel;
  • StatusBar1: TStatusBar;
  • Label2: TLabel;
  • Label3: TLabel;
  • SpeedButton1: TSpeedButton;
  • Edit1: TEdit;
  • Quitter2: TMenuItem;
  • SpeedButton2: TSpeedButton;
  • Label4: TLabel;
  • PopupMenu1: TPopupMenu;
  • QU1: TMenuItem;
  • procedure SpeedButton1Click(Sender: TObject);
  • procedure Quitter2Click(Sender: TObject);
  • procedure Quitter1Click(Sender: TObject);
  • procedure Edit1Change(Sender: TObject);
  • procedure Edit2Change(Sender: TObject);
  • procedure SpeedButton2Click(Sender: TObject);
  • procedure Lisezmoi1Click(Sender: TObject);
  • procedure Label4Click(Sender: TObject);
  • procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  • procedure Edit2KeyPress(Sender: TObject; var Key: Char);
  • procedure QU1Click(Sender: TObject);
  • procedure Apropos2Click(Sender: TObject);
  • private
  • public
  • convstr:string;
  • end;
  • var
  • Main: TMain;
  • resultat:string;
  • { Variable permettant de connaître l'Edit que l'on modifie}
  • ChampEditer:Integer;
  • { J'ai rajouter une test supplémentaire pour savoir quel Edit on modifie pour
  • éviter que l'un provoque l'événement OnChange par rapport à l'autre.
  • }
  • implementation
  • uses Unit2, Unit3;
  • {$R *.dfm}
  • procedure TMain.Edit1KeyPress(Sender: TObject; var Key: Char);
  • begin
  • If Not(Key in ['0'..'9',#8,',','.']) Then Key := #0;
  • { Indique au programme que l'on modifie l'Edit1}
  • ChampEditer:=1;
  • end;
  • procedure TMain.Edit2KeyPress(Sender: TObject; var Key: Char);
  • begin
  • If Not(Key in ['0'..'9',#8,',','.']) Then Key := #0;
  • { Indique au programme que l'on modifie l'Edit2}
  • ChampEditer:=2;
  • end;
  • procedure TMain.SpeedButton1Click(Sender: TObject);
  • begin
  • close;
  • end;
  • procedure TMain.Quitter2Click(Sender: TObject);
  • begin
  • close;
  • end;
  • procedure TMain.Quitter1Click(Sender: TObject);
  • begin
  • Form2.show;
  • end;
  • procedure TMain.Edit1Change(Sender: TObject);
  • var
  • ch:char;
  • x:integer;
  • begin
  • {ici convertion du point en virgule}
  • if edit1.text<>'' then begin
  • convstr:=edit1.text;
  • x:=1;
  • while (convstr[x]<>'')do
  • begin
  • if convstr [x]='.'then
  • begin
  • ch:=(',');
  • convstr[x]:=ch;
  • end;
  • x:=x+1
  • end;
  • { On test si on modifie Edit2 car ce qui suit ne doit pas être exécuter du fait
  • que l'événement OnChange va s'exécuter vers Edit2 car on envoi le résulat vers
  • Edit2, donc changement de la valeur de Edit2}
  • if ChampEditer<>2 then
  • begin
  • { On teste si la longueur est vide pour mettre à zéro la valeur de Edit2.
  • Cela est plus propre et évite que le programme conserve la dernière conversion
  • effectuée.}
  • if length(edit1.Text)=0 then edit2.Text:='';
  • if edit1.text<>''then
  • begin
  • resultat:=floattostr(strtofloat(convstr)*strtofloat( form2.edit1.Text));
  • resultat:=floattostr(roundto(strtofloat(resultat),-2));//ROUNDTO CONVERTI LES DEUX CHIFFRES APRES LA VIRGULE(ne pas oublier de mettre math dans uses}
  • edit2.Text:=resultat;
  • end;
  • end;
  • end;
  • end;
  • procedure TMain.Edit2Change(Sender: TObject);
  • var
  • ch:char;
  • x:integer;
  • begin
  • if edit2.text<>'' then begin
  • convstr:=edit2.text;
  • x:=1;
  • while (convstr[x]<>'')do
  • begin
  • if convstr[x]='.'then
  • begin
  • ch:=(',');
  • convstr[x]:=ch;
  • end;
  • x:=x+1
  • end;
  • { On test si on modifie Edit1 car ce qui suit ne doit pas être exécuter du fait
  • que l'événement OnChange va s'exécuter vers Edit1 car on envoi le résulat vers
  • Edit1, donc changement de la valeur de Edit1}
  • if ChampEditer<>1 then
  • begin
  • { On teste si la longueur est vide pour mettre à zéro la valeur de Edit1.
  • Cela est plus propre et évite que le programme conserve la dernière conversion
  • effectuée.}
  • if length(edit2.Text)=0 then edit1.Text:='';
  • if edit2.text<>'' then
  • begin
  • resultat:=floattostr(strtofloat(convstr)/strtofloat( form2.edit1.Text));
  • resultat:=floattostr (roundto(strtofloat(resultat),-2));
  • edit1.Text:=resultat;
  • end;
  • end;
  • end;
  • end ;
  • procedure TMain.SpeedButton2Click(Sender: TObject);
  • begin
  • edit2.TEXT:='';
  • Edit1.text:='';
  • end;
  • procedure TMain.Lisezmoi1Click(Sender: TObject);
  • begin
  • application.ShowMainForm:=false;
  • aboutbox.show;
  • end;
  • procedure TMain.Label4Click(Sender: TObject);
  • begin
  • ShellExecute(0,nil,'http://www.delphi.com',nil,nil,sw_maximize);
  • end;
  • procedure TMain.QU1Click(Sender: TObject);
  • begin
  • Application.helpjump('sommaire');
  • end;
  • procedure TMain.Apropos2Click(Sender: TObject);
  • begin
  • ShellExecute(Handle,'open','EURO_FRANC.HLP',nil,nil,SW_SHOWDEFAULT );
  • end;
  • end.
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, xpman, shellapi, math, Menus, Buttons;

type
  TMain = class(TForm)
    MainMenu1: TMainMenu;
    Fichiers1: TMenuItem;
    Apropos1: TMenuItem;
    Apropos2: TMenuItem;
    N1: TMenuItem;
    Lisezmoi1: TMenuItem;
    Quitter1: TMenuItem;
    Edit2: TEdit;
    Label1: TLabel;
    StatusBar1: TStatusBar;
    Label2: TLabel;
    Label3: TLabel;
    SpeedButton1: TSpeedButton;
    Edit1: TEdit;
    Quitter2: TMenuItem;
    SpeedButton2: TSpeedButton;
    Label4: TLabel;
    PopupMenu1: TPopupMenu;
    QU1: TMenuItem;
    procedure SpeedButton1Click(Sender: TObject);
    procedure Quitter2Click(Sender: TObject);
    procedure Quitter1Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure Lisezmoi1Click(Sender: TObject);
    procedure Label4Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char); 
    procedure QU1Click(Sender: TObject);
    procedure Apropos2Click(Sender: TObject);
  private

  public
  convstr:string;
  end;
var
Main: TMain;
resultat:string;
{ Variable permettant de connaître l'Edit que l'on modifie}
ChampEditer:Integer;

{ J'ai rajouter une test supplémentaire pour savoir quel Edit on modifie pour
éviter que l'un provoque l'événement OnChange par rapport à l'autre.
}

implementation

uses Unit2, Unit3;

{$R *.dfm}

procedure TMain.Edit1KeyPress(Sender: TObject; var Key: Char);
  begin  
    If Not(Key in ['0'..'9',#8,',','.']) Then Key := #0;
  { Indique au programme que l'on modifie l'Edit1}
  ChampEditer:=1;
  end;

procedure TMain.Edit2KeyPress(Sender: TObject; var Key: Char);
 begin
     If Not(Key in ['0'..'9',#8,',','.']) Then Key := #0;
  { Indique au programme que l'on modifie l'Edit2}
  ChampEditer:=2;
  end;
procedure TMain.SpeedButton1Click(Sender: TObject);
begin
close;
end;

procedure TMain.Quitter2Click(Sender: TObject);
begin
 close;
end;

procedure TMain.Quitter1Click(Sender: TObject);
begin
  Form2.show;
end;

procedure TMain.Edit1Change(Sender: TObject);
var
ch:char;
x:integer;
begin
{ici convertion du point en virgule}
if edit1.text<>'' then begin
convstr:=edit1.text;
x:=1;
while (convstr[x]<>'')do
begin
if convstr  [x]='.'then
begin
ch:=(',');
convstr[x]:=ch;
end;
x:=x+1
end;
{ On test si on modifie Edit2 car ce qui suit ne doit pas être exécuter du fait
que l'événement OnChange va s'exécuter vers Edit2 car on envoi le résulat vers
Edit2, donc changement de la valeur de Edit2}
if ChampEditer<>2 then
  begin
  { On teste si la longueur est vide pour mettre à zéro la valeur de Edit2.
  Cela est plus propre et évite que le programme conserve la dernière conversion
  effectuée.}
  if length(edit1.Text)=0 then edit2.Text:='';
  if edit1.text<>''then
  begin
    resultat:=floattostr(strtofloat(convstr)*strtofloat( form2.edit1.Text));
    resultat:=floattostr(roundto(strtofloat(resultat),-2));//ROUNDTO CONVERTI LES DEUX CHIFFRES APRES LA VIRGULE(ne pas oublier de mettre math dans uses}
    edit2.Text:=resultat;
  end;
  end;
  end;
  end;
procedure TMain.Edit2Change(Sender: TObject);
var
ch:char;
x:integer;
begin
if edit2.text<>'' then begin
convstr:=edit2.text;
x:=1;
while (convstr[x]<>'')do
begin
if convstr[x]='.'then
begin
ch:=(',');
convstr[x]:=ch;
end;
x:=x+1
end;
{ On test si on modifie Edit1 car ce qui suit ne doit pas être exécuter du fait
que l'événement OnChange va s'exécuter vers Edit1 car on envoi le résulat vers
Edit1, donc changement de la valeur de Edit1}
if ChampEditer<>1 then
  begin
  { On teste si la longueur est vide pour mettre à zéro la valeur de Edit1.
  Cela est plus propre et évite que le programme conserve la dernière conversion
  effectuée.}
  if length(edit2.Text)=0 then edit1.Text:='';
  if edit2.text<>'' then
  begin
    resultat:=floattostr(strtofloat(convstr)/strtofloat( form2.edit1.Text));
    resultat:=floattostr (roundto(strtofloat(resultat),-2));
    edit1.Text:=resultat;

end;
end;
end;
end ;
procedure TMain.SpeedButton2Click(Sender: TObject);
begin
 edit2.TEXT:='';
 Edit1.text:='';
end;
procedure TMain.Lisezmoi1Click(Sender: TObject);
begin
application.ShowMainForm:=false;
aboutbox.show;
end;

procedure TMain.Label4Click(Sender: TObject);
begin
ShellExecute(0,nil,'http://www.delphi.com',nil,nil,sw_maximize);
end;

procedure TMain.QU1Click(Sender: TObject);
begin
Application.helpjump('sommaire');
end;

procedure TMain.Apropos2Click(Sender: TObject);
begin
ShellExecute(Handle,'open','EURO_FRANC.HLP',nil,nil,SW_SHOWDEFAULT );
end;

end.

Conclusion

Ceci est mon logiciel fini ,je pense que sa peut s ameliorer sur le fonctionnent ,si vous avez des astuces plus simple,envoier moi vos sources theobulck@msn.com,sinon pas de bug connu,merci
@++++++++++bopi
 

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

CONVERTISSEUR VB -> DELPHI [ par Antoine ] Salut !Quelqu'un peut-il me dire où je peux télécharger un convertisseur permettant de traduire le langage Visual Basic en delphi ? Merci beaucoup ! Convertisseur euro/franc ; franc/euro [ par Zangdar ] sur http://zangdar.free.fr/site/programme/convertisseur.v1.2.exe @++http://www.zangdar.fr.stPs : Ca serait vachement sympas de cliquer sur mabannière convertisseur [ par OlivierAfpaRoubaix ] Bonjour , je cherche un source c#,un add pour visual studio ou delphi pour convertir un code delphi vers c#, et inversement . Merci d'avance.Olivier. Convertisseur... [ par MAsterC ] Bonjour à tous!Je voudrai savoir si en Delphi il exite un fonction ou autre pour convertir un fichier .AVI vers un fichier .MPG?Merci d'avance. MAster convertisseur octet [ par Maniaxman ] salut, j'aimerais cr&#233;er un programme qui permet convertir un octet, en kilo, en mega, en giga, etc. et qu'il puisse le faire dans tous les sens, convertisseur mp3-> wav et vice versa [ par nekinox ] Bonjour &#224; tousAlors voila...mon projet est le suivant : cr&#233;er un convertisseur qui permettrait ceci :j'ai chez moi des wav, avec un premier SUM dans SQL [ par codial ] Bonjour,j'ai &#233;crit une requ&#234;te avec la fonction SUM:&nbsp;&nbsp;&nbsp;&nbsp; monSql:= 'SELECT Import.* , sum(Euros) Total_Euros FROM Import Port serie N°6 dans Delphi 4 [ par froggy666 ] Bonjour, voila j'ai un gros probl&#232;me, j'ai achet&#233; un convertisseur rs232/USB pour pouvoir utiliser un lecteur de carte a puce, jusque la auc Pour l'amour du ciel, je ne sais pas encore comment...? [ par new2000 ] POUR L'AMOUR DU CIEL, PRIERE DE BIEN VOULOIR REPONDRE A MA PREOCCUPATION. QUE FAIRE???Juste une idée pratique comme dans notre quotidien:j'ai une tabl comment faire un convertisseur de date [ par loupgaroux ] slt all je cherche comment faire un convertisseur de date en hexa donc en gros un convertisseur decimal to hexa  ex 25/01/2007 = 22 39  et l'inverse 


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.