Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Est ce que vous avez un bout de code pour extraire tous les datawindow ainsi que tous les champs de mon application PB? je veux préparer une liste exhaustive des dw et des champs pour les traduires
Hors ligne
Avec ce tools tu peux utiliser ca par exemple
pbperl115 extractdw.pl
contenu de extractdw.pl :
use Powerbuilder qw(:all); my $ds = Create(datastore); foreach my $lib( glob <C:/Dev/powerbuilder/dwdebugmachine/*.pbl>){ $lib=~s!/!\\!g; print "$lib\n"; AddToLibraryList( $lib ); foreach my $entry (split /\n/, LibraryDirectory( $lib, 'dirdatawindow!') ){ my $dw = (split /\t/, $entry)[0]; print "* $dw\n"; $ds->dataobject($dw); print(" - (#$_) ", $ds->Describe("#${_}.name"),"\n") for 1..$ds->Describe('datawindow.column.count'); } }
ce qui donne par exemple :
C:\Dev\powerbuilder\dwdebugmachine\dwdebugmachine115.pbl * dw_template_1 - (#1) col_id - (#2) col_label - (#3) col_dec - (#4) col_date * dw_template_2 - (#1) col_id - (#2) col_label - (#3) col_dec - (#4) col_date
ps: désolé mais c'est plus rapide pour moi que de créer un nouveau workspace/projet et cie...
Hors ligne
Hors ligne
avez-vous essayé de créer une application powerbuilder avec plusieur langues si oui avec quelle technique vous avez fait le changement de langues (en passant par la base de données ou en utilisant des fichiers XML)
Hors ligne
La base de donnée, ou alors une datawindow external avec les données embedded (share data dans l'onglet data)
Hors ligne
et ça sera pas lourd en passant par la base de données
Hors ligne
En fait je fais une mise en cache de toute les traductions dans une datastore au démarrage de l'application, ensuite je ne fait qu'interroger la datastore.
Hors ligne
bon truc comme ça le client ne va pas tirer les cheuveux chaque fois qu'il ouvre un écran
Hors ligne