Pas de problème (pb), que du PowerBuilder (PB) ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 03-04-2012 08:04:48

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

[RESOLU] InfoMaker et états

Salut à tous !

Je suis un p'tit nouveau dans le système et je susi actuellement en stage. Le but de celui-ci est de pouvoir à partir d'états Infomaker (donc .pbl) faire soit une vue web ou autre qui rafraichirait automatiquement les données de l'état (par exemple le suivi des livraisons)...

Le problème c'est que je cherche depuis un petit moment et que tout ce que je vois c'est qu'on doit faire un retrieve manuel dans InfoMaker ou dans l'application qu'on peut créer pour la mise à jour... Donc je me demandais s'il y avait possibilité d'automatiser ces retrieve, d'une façon ou d'une autre.

Si on ne peut pas, je serais obligé d'attaquer direct la base et donc faire une copie des états en web...

Je sais pas si j'ai été assez clair mais j'en découvre un peu plus chaque heure donc je pourrai peut-être vous donner plus de précisions.

D'avance merci pour vos réponses,

PiR.R

Dernière modification par piR.R (05-04-2012 08:44:44)

Hors ligne

 

#2 03-04-2012 08:25:54

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] InfoMaker et états

Bonjour et ,

Tu peux déclarer un timer de x secondes dans lequel tu refais un retrieve de ton état.


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 03-04-2012 08:28:14

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

Re: [RESOLU] InfoMaker et états

Merci !

Donc je peux ça en powerbuilder si je comprend bien ?

Hors ligne

 

#4 03-04-2012 08:32:45

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

Re: [RESOLU] InfoMaker et états

Je pose sûrement des questions bêtes mais comme je ne connais pas du tout powerbuilder et que l'entreprise où je suis se contente de faire des états avec infomaker je pars de zéro...

PowerBuilder gère donc le format pbl et les états crées par infomaker si je comprend bien ?

Hors ligne

 

#5 03-04-2012 08:47:14

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] InfoMaker et états

Bonjour,

Pour faire rapide "entre-guillemet", infomaker est une version très "light" de Powerbuilder ne permettant de travailler que sur les datawindows. Powerbuilder est l'environnement de développement complet (PBL = PowerBuilder Library).

Hors ligne

 

#6 03-04-2012 09:11:55

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

Re: [RESOLU] InfoMaker et états

C'est ce que j'ai cru comprendre, oui.

Est-ce que quelqu'un connaît un peu InfoMaker ?

Ce que je cherche en faite c'est que le retrieve de ma DataWindow se fasse automatiquement tous les x secondes par exemple. J'ai trouvé une option "Timer interval" dans les propriétés d'un DataWindow, est-ce que cette propriété permet le rafraichissement ?

Hors ligne

 

#7 03-04-2012 09:36:33

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] InfoMaker et états

Bonjour,

La réponse est non, dans l'aide en ligne :

When a computed field uses Now as its expression value, it refreshes the displayed value every time the timer interval period elapses.

Je ne vois pas d'autres solutions à ton problème que de passer par une application Powerbuilder avec un "timer".

Hors ligne

 

#8 03-04-2012 09:39:02

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] InfoMaker et états

non elle ne permet pas de provoquer un refresh automatique des données, c'est pour forcer la datawindow à mettre a jour les expressions calculés, par exemple, un compute qui affiche l'heure.


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#9 03-04-2012 09:39:11

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

Re: [RESOLU] InfoMaker et états

Effectivement, je viens de tester la chose, à part rafraîchir la fenêtre et emballer les ventilos ça fait pas grand chose...

D'accord, je vais regarder ça. Par contre je suppose qu'une licence PowerBuilder ne coûte pas la même chose qu'une InfoMaker...

Hors ligne

 

#10 03-04-2012 09:42:29

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

Re: [RESOLU] InfoMaker et états

Autre question, je pourrai bien récupérer les états pbl d'infomaker dans powerbuilder ?

(Parce qu'en fait, la personne voudrait pouvoir refaire des états par la suite et qu'ils soient eux aussi facilement "rafraichissable")

Hors ligne

 

#11 04-04-2012 08:01:15

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

Re: [RESOLU] InfoMaker et états

Je reviens à la charge mais j'ai beaucoup de mal avec PowerBuilder. Je l'ai installé hier et j'essaie de me familiariser avec cet outil ce qui n'est pas simple...

Vous m'avez dit d'inclure un timer où je ferais mon retrieve, le problème c'est qu'après avoir lu plusieurs tutoriels, je n'y comprend pas grand chose...

Où je pourrais mettre ce timer sachant que les fenêtres que j'ai sont simplement consultatives et il n'y a pas de boutons (donc pas de PowerScript, si ce n'est Default...) ?

PS: j'ai ce code dans mon Default.


Code:

forward
global transaction sqlca
global dynamicdescriptionarea sqlda
global dynamicstagingarea sqlsa
global error error
global message message
end forward

global type default from application
end type
global default default

on default.create
appname = "default"
message = create message
sqlca = create transaction
sqlda = create dynamicdescriptionarea
sqlsa = create dynamicstagingarea
error = create error
end on

on default.destroy
destroy( sqlca )
destroy( sqlda )
destroy( sqlsa )
destroy( error )
destroy( message )
end on

Du coup je ne vois pas à quoi appliquer le Retrieve...

Dernière modification par piR.R (04-04-2012 08:10:45)

Hors ligne

 

#12 04-04-2012 08:55:42

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] InfoMaker et états

piR.R a écrit:

Où je pourrais mettre ce timer sachant que les fenêtres que j'ai sont simplement consultatives et il n'y a pas de boutons (donc pas de PowerScript, si ce n'est Default...) ?

Le timer permet de déclencher périodiquement l'évènement Timer(), et pour le démarrer il suffit d'appeler la méthode Timer(période) (attention ce n'est pas la même chose ). À partir de ce moment, l'évènement se produira toute les périodes, jusqu'à la destruction de l'objet ou l'appel de la méthode Timer(0).

Pour l'appel, suivant le type d'objet on peut le mettre dans l'évènement Open() (pour une fenêtre ou une application) ou l'évènement Constructor() pour un userobject. (On peut aussi appeler le timer dans n'importe quel script mais c'était pour parler du cas où on n'a pas de bouton ou autre.)

Par exemple :

Code: pb

Timer(42)

fera que toutes les 42 secondes, l'évènement Timer() sera appelé.

Note : la période peut être un nombre décimal. Si on appelle Timer(0.5), l'appel se fait toutes les demi-secondes.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#13 04-04-2012 09:03:59

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] InfoMaker et états

piR.R a écrit:

PS: j'ai ce code dans mon Default.
[...]
Du coup je ne vois pas à quoi appliquer le Retrieve...

Ah oui, pour visualiser des données c'est un peu léger

Il faudrait au moins que l'application au démarrage ouvre (dans l'évènement open()) une fenêtre (à créer), dans laquelle il faut placer un contrôle datawindow dont le dataobject sera le nom du rapport infomaker à afficher. La fenêtre peut faire le retrieve de la dw dans son évènement open() ou dans le timer() si ça doit se rafraîchir périodiquement.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#14 04-04-2012 09:28:43

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

Re: [RESOLU] InfoMaker et états

D'accord merci pour toutes ces précisions j'y vois un peu plus clair !

Pas facile de débuter en PowerBuilder

Merci beaucoup en tout cas je te tiens au courant de l'avancement du boulot !

Hors ligne

 

#15 04-04-2012 13:17:32

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

Re: [RESOLU] InfoMaker et états

Bon visiblement ça marche ! Merci beaucoup je commence à comprendre le système de PowerBuilder après avoir ramé deux jours !

Dernière petite question, il me demande la source de données (j'utilise odbc) à chaque fois que je lance l'appli... Comment faire pour pouvoir automatiser ça ?

Hors ligne

 

#16 04-04-2012 13:49:40

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] InfoMaker et états

Bonjour,

Le plus simple, pour travailler avec powerbuilder, tu as certainement créé un dbprofile odbc dans powerbuilder. Tu édites les propriétés de ton profil de base de données et tu vas dans l'onglet preview et tu appuis sur le bouton "copy". Ensuite, tu colles le code dans programme Powerbuilder juste avant l'instruction CONNECT USING SQLCA (mettre le bon mot de passe dans PWD);

Note : je suppose que tu as utilisé l'objet transaction par défaut SQLCA

ex :

Code: pb

// Profile 
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=MYDATABASE;UID=dba;PWD=password'"
CONNECT USING SQLCA;

Hors ligne

 

#17 04-04-2012 14:22:37

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

Re: [RESOLU] InfoMaker et états

Oui j'ai déjà fait ça au niveau du login mdp et base c'est ok, mais il me demande la "source de données", un fichier .dsn

Hors ligne

 

#18 05-04-2012 07:15:15

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] InfoMaker et états

Bonjour,

Normalement, tu as dû créer un profil ODBC pour te connecter à la base de données dans le gestionnaire de source ODBC du système, donc DSN="nom de la source de données ODBC".

Hors ligne

 

#19 05-04-2012 07:34:23

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

Re: [RESOLU] InfoMaker et états

Oui j'ai bien crée un profil et tout est ok mais quand je lance mon appli, il me demande ma source de données, ce que je lui donne et tout fonctionne il n'y a pas de soucis à ce niveau là.

Le problème c'est comment faire pour qu'il aille chercher sa source de données tout seul et ne pas avoir à l'indiquer lors du lancement de l'appli.

Hors ligne

 

#20 05-04-2012 07:51:25

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] InfoMaker et états

Bonjour,

Normalement, c'est le but de cette déclaration dans ton code :

Code: pb

// Profile 
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=MYDATABASE;UID=dba;PWD=password'"
CONNECT USING SQLCA;


Tu es sur quelle système ? Attention de bien créer une source de données avec ODBC 32 bits sur les systèmes 64 bits.

Hors ligne

 

#21 05-04-2012 08:23:10

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

Re: [RESOLU] InfoMaker et états

Sous 7 64bits mais j'ai bien crée un profil en 32.

J'ai ça dans mon code :

Code:

SQLCA.DBMS="ODBC"
SQLCA.DBPARM="Connecstring='DSN=obidemo ;UID=***** ;PWD=*****'"
Connect using SQLCA;

dw_1.SetTransObject(SQLCA)

Edit:

Ma bdd s'appelle obidemo, mon serveur obilogdemo11, ma source de données obidemo dans l'admin ODBC

Edit2:

Je me suis aperçu en postant de mon erreur (bête, mais pas taper !) "ConnecString" ça aide pas... Tout est ok, excuse moi pour le dérangement...

En tout cas merci beaucoup, la réactivité est vraiment bonne sur ce forum ça donne envie de continuer !

Dernière modification par piR.R (05-04-2012 08:27:28)

Hors ligne

 

#22 05-04-2012 08:25:43

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] InfoMaker et états

piR.R a écrit:

J'ai ça dans mon code : [...] SQLCA.DBPARM="Connecstring='DSN=obilogdemo11 ;UID=***** ;PWD=*****'"

Pas trop le temps de creuser à l'instant, mais une idée comme ça : tu as essayé en virant les espaces après le dsn, login et password ?


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#23 05-04-2012 08:28:17

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

Re: [RESOLU] InfoMaker et états

J'ai edité en même temps que tu postais, merci encore ;-)

Hors ligne

 

#24 05-04-2012 08:36:44

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] InfoMaker et états

piR.R a écrit:

J'ai edité en même temps que tu postais, merci encore ;-)

Ah, oui j'avais pas vu le "ConnecString"... Faut dire qu'à cette heure (et après une partie de la nuit à jouer sur une lib PB ) j'ai encore du mal à garder les 2 yeux ouverts en même temps 

piR.R a écrit:

En tout cas merci beaucoup, la réactivité est vraiment bonne sur ce forum ça donne envie de continuer !

Bah, faut dire que des dev PB francophones il n'y en a pas tant que ça sur le web. Bon d'après le forum, il y a quelques nids où il y a beaucoup de dev PB (quelques administrations et grands organismes) mais ici c'est toujours les mêmes qu'on voit (heureusement la rareté est compensée par la qualité ).

PS: au fait si ta question de départ est résolue, pense à l'indiquer dans le titre (il faut remonter sur la question initiale, modifier et ajouter [RESOLU], en majuscules et avec les crochets).

Dernière modification par seki (05-04-2012 08:38:52)


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#25 05-04-2012 08:44:23

piR.R  
Membre
Date d'inscription: 03-04-2012
Messages: 14
Pépites: 49
Banque: 0

Re: [RESOLU] InfoMaker et états

Tu me rassures on est dans le même cas (sauf que j'étais sur de la cryptographie )

Oui c'est vrai que j'ai eu un peu de mal au départ à trouver des sources de bonne qualité mais on y arrive ! Et pis ça a beau être toujours les mêmes du moment que c'est du bon boulot !

Pas de soucis !

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22