Accueil > > > CONVERTISSEUR ?URO-FRANCS
CONVERTISSEUR ?URO-FRANCS
Information sur la source
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
Sources de la même categorie
Commentaires et avis
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é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 à tousAlors voila...mon projet est le suivant : créer un convertisseur qui permettrait ceci :j'ai chez moi des wav, avec un premier
SUM dans SQL [ par codial ]
Bonjour,j'ai écrit une requête avec la fonction SUM: 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ème, j'ai acheté 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
|
Derniers Blogs
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|