Page 1 sur 1
[R] Convertisseur de monnaies
Posté : sam. 01 mai 2010 19:45
par pierrotm777
Bonjour,
J'ai trouvé sur le site autoit us ce petit script de conversion d'unités:
► Afficher le texte
Code : Tout sélectionner
#include <inet.au3>
#include <array.au3>
$convert = _GoogleUnitConvert(.03,'kilowatts hour', 'joules')
MsgBox(0,'Kilowatts Hour to Joules', '.03 Kilowatts Hour = ' & $convert & ' Joules')
MsgBox(0,'Gallons to Liters', '10 Gallons = ' &_GoogleUnitConvert(10, 'gallons', 'liters')& ' Liters')
$convert = _GoogleUnitConvert(10,'usd', 'eur')
MsgBox(0,'Dollars to Euros', '10 dollar = ' & $convert & ' euro')
MsgBox(0,'Dollars to Euros', '10 Dollar = ' &_GoogleUnitConvert(10, 'kilowatts hour', 'joules')& ' Euros')
Func _GoogleUnitConvert($sValue, $sFrom, $sTo)
Local $sSource
$sSource = _INetGetSource("http://www.google.com/search?q=" & $sValue & "%20" & StringLower($sFrom) & "%20in%20" & StringLower($sTo))
If @error Then Return SetError(1)
$sSource = StringRegExp($sSource, '<h2(.*?)More about calculator.</a>', 1)
$sSource = StringRegExp($sSource[0], '=\s(.*?)\s[a-z]*(\s?[a-z]*?)</b>', 1)
Return StringReplace($sSource[0], Chr(160), '')
EndFunc ;==>_GoogleUnitConvert
Je pensais convertir des monnaies mais le script me donne une erreur.
Hors il semblerait qu'en remplaçant $sValue $sFrom et $sTo par 10 , usd pour dollar et eur pour euro cela fonctionne.
pour exemple, toutes ces lignes fonctionnent sauf la dernière:
► Afficher le texte
Code : Tout sélectionner
$convert = _GoogleUnitConvert(.03,'metre', 'mile')
;MsgBox(0,'Kilowatts Hour to Joules', '.03 Kilowatts Hour = ' & $convert & ' Joules')
MsgBox(0,'Gallons to Liters', '1 miles = ' &_GoogleUnitConvert(1, 'mile', 'metre')& ' metre')
MsgBox(0,'Gallons to Liters', '100 centimetre = ' &_GoogleUnitConvert(100, 'centimetre', 'metre')& ' metre')
MsgBox(0,'Gallons to Liters', '1 kilomètre = ' &_GoogleUnitConvert(1, 'kilometer', 'metre')& ' metre')
MsgBox(0,'Gallons to Liters', '100 mils = ' &_GoogleUnitConvert(100, 'mils', 'centimetre')& ' centimetre')
MsgBox(0,'Gallons to Liters', '1 inch = ' &_GoogleUnitConvert(1, 'inch', 'mils')& ' mils')
MsgBox(0,'Gallons to Liters', '1 kilo gramme = ' &_GoogleUnitConvert(1, 'kilo gramme', 'gramme')& ' gramme')
MsgBox(0,'Gallons to Liters', '1 dollar = ' &_GoogleUnitConvert(1, 'dollar', 'euro')& ' euro')
Merci de votre aide
Re: [..] Convertisseur de monnaies
Posté : sam. 01 mai 2010 23:32
par Tlem
Voici la solution :
► Afficher le texte
Code : Tout sélectionner
#include <inet.au3>
#include <array.au3>
MsgBox(0,'', '1 Kilowatts Hour = ' &_GoogleUnitConvert(1, 'Kilowatts Hour', 'Joules')& ' Joules')
MsgBox(0,'', '1 miles = ' &_GoogleUnitConvert(1, 'mile', 'metre')& ' metre')
MsgBox(0,'', '100 centimetre = ' &_GoogleUnitConvert(100, 'centimetre', 'metre')& ' metre')
MsgBox(0,'', '1 kilomètre = ' &_GoogleUnitConvert(1, 'kilometer', 'metre')& ' metre')
MsgBox(0,'', '100 mils = ' &_GoogleUnitConvert(100, 'mils', 'centimetre')& ' centimetre')
MsgBox(0,'', '1 inch = ' &_GoogleUnitConvert(1, 'inch', 'mils')& ' mils')
MsgBox(0,'', '1 kilo gramme = ' &_GoogleUnitConvert(1, 'kilo gramme', 'gramme')& ' gramme')
MsgBox(0,'', '1 dollar = ' &_GoogleUnitConvert(1, 'dollar', 'euro')& ' euro')
Func _GoogleUnitConvert($sValue, $sFrom, $sTo)
Local $sSource
$sSource = _INetGetSource("http://www.google.com/search?q=" & $sValue & "%20" & StringLower($sFrom) & "%20in%20" & StringLower($sTo))
If @error Then Return SetError(1)
$sSource = StringRegExp($sSource, '<h2(.*?)<b>(.*?)</b></h2>', 1)
$sSource = StringRegExp($sSource[1], '=\s(.*?)\s[a-z]*(\s?[a-z]*?)', 1)
Return StringReplace($sSource[0], Chr(160), '')
EndFunc ;==>_GoogleUnitConvert
Il est aussi possible de gérer les unités en Français en remplaçant
google.com par
google.fr.

Re: [..] Convertisseur de monnaies
Posté : dim. 02 mai 2010 09:20
par pierrotm777
Merci Tlem,
Efficace comme d'habitude!
Histoire de ne pas mourir idiot, pourriez vous me dire ce qui n'allait pas dans cette ligne modifiée ?
Re: [R] Convertisseur de monnaies
Posté : dim. 02 mai 2010 13:10
par Tlem
Sur le premier filtrage
StringRegExp(), il y avais comme référence le texte '
More about calculator', or lorsque vous faites certaines autres conversion, ce n'est plus le même texte, donc le filtrage échoue et provoque le plantage pour le deuxième filtrage ...

Re: [R] Convertisseur de monnaies
Posté : dim. 02 mai 2010 13:19
par pierrotm777
Merci beaucoup !