samedi 3 novembre 2007
Installer ruby sur Win32 pour utiliser les objects OLE sur une plateforme windows, un jeu d'enfant.
Téléchargement : http://rubyforge.org/frs/download.php/27227/ruby186-26_rc2.exe
Dans le but de piloter une application excel, j'ai du faire quelques recherches afin de mettre en place une plateforme windows(Vista)/ruby pour réaliser une application de facturation avec générant de pdf, etc...
Un exemple vaut mieux que de longs discours...
Télécharger le binaire ci-dessus. Une fois terminé, procéder à l'installation de ruby. A la fin de celui-ci, ouvrir un shell windows et tester les commandes suivantes :
$ irb
$irb> require "win32ole"
$irb> ie = WIN32OLE.new('InternetExplorer.Application')
$irb> ie.visible = true
$irb> ie.Navigate('http://www.kakesa.net', 1)
$irb> ie.quit
$irb> exit
Ceci n'est qu'un avant goût de ce qu'on peut réaliser avec cette technologie, que j'ai finalement reconnu la puissance malgré mes rétissances lorsque que j'ai du commencer ce projet.
Pour le début de mon projet un code de test avec excel donnerais basiquement ceci :
$ irb $irb> require "win32ole" $irb> xls = Win32OLE.new "Excel.Application" $irb> xls.Visible = true $irb> xls.quit $irb> exit
On a ouvert Excel en ruby, y a plus qu'a chargé un fichier, puis récupérer des données externe tel que (données dans une base MySQL) puis les traiter dans le doc Excel...
Téléchargement : http://dev.mysql.com/downloads/mysql/5.0.html#win32, choisissez : Windows ZIP/Setup.EXE (x86).
Comment se connecter à une base de données MySQL ?
Tout d'abord récupérer sur le site de MySQL AB l'installeur automatique du serveur MySQL, lancer l'installation, lancer ensuite le wizard de configuration disponible dans "Tous les programmes/MySQL..." afin de définir l'utilisateur "root" ainsi que son mot de passe etc...
Ensuite nou pouvons installer le connecteur ruby de mysql :
$ gem search mysql --remote $ gem install mysql
Le choix 1 devrait convenir....
Testons maintenant :
$ irb $irb> require "mysql" $irb> dbh = Mysql.real_connect "localhost", "login", "mdp", "db" $irb> puts dbh.get_server_info $irb> res = dbh.query "SHOW DATABASES" $irb> while row = res.fetch_row do $irb> puts row.to_s $irb> end $irb> exit
Testons maintenant de quoi générer du PDF :
$ gem search pdf --remote $ gem install pdf-writer
Accepter les dépendances proposées. Il ne reste plusqu'à tester cette fonctionnalité.
$ irb --simple-prompt >> require "pdf/writer" >> pdf = PDF::Writer.new >> pdf.select_font "Times-Roman" >> pdf.text "Hello GEET (GEek ETna)" >> pdf.text "Hello GEET (GEek ETna)", :font_size => 72, :justification => :center >> pdf.save_as "hello_geet.pdf" >> exit $ "c:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe" hello_geet.pdf
Magnifique, nous sommes prêt à réaliser notre application de facturation.
Quelle puissance !!!
Programmation - samedi 3 novembre 2007
Tags : programmation
, ruby
, windows