begin process at 2012 05 25 00:40:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Foxpro

 > 

Formulaires

 > 

Général

 > 

VFox 7 Forms et read events


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

VFox 7 Forms et read events

lundi 19 janvier 2009 à 15:04:52 | VFox 7 Forms et read events

rao64

Bonjour,

j'ai utilisé Dbase puis fox à l'époque du procédural en mode texte (années 80) et je suis un peu largué dans l'environnement objet de VFP7.

J'essaie de commencer par du très simple. Un prog qui est le "main" de mon projet et qui appelle un form avec read events avant et clear events après (comme lu dans les divers post à ce sujet)

le form a été créé "à la main" sans assistant (mais pas le projet c'est peut etre la source de mon problème)
lorsque j'execute do form ça fonctionne ormalement
lorsque je lance cela depuis le PRG rien à l'cran et je dois canceler le prg.
Etonnant non ?

Merci par avance à ceux qui prendrons le temps de me lire et éventuellement de me répondre.
Peut-on trouver des tutoriaux ou une doc didactique sur l'utilisation des form sans embarquer du code hérité que l'on ne peut pas toujours controler ?

A bientot de vous lire
Fabien


mardi 20 janvier 2009 à 12:19:09 | Re : VFox 7 Forms et read events

rao64

Bonjour,

J'ai réussi à débloquer cette situation en lisant http://www.foxprofr.com/forum/sujet-GENERATION-EXECUTABLE_861029.aspx
que je n'avais pas trouvé avant.
Maintenant cela fonctionne mais j'ai d'autre problèmes ailleurs.

1/ comment changer proprement la propriété "readonly" des controles de mon form.
je pensais à une variable dont la valeur agirait sur cette propriété mais cela ne semble pas possible
j'ai aussi essayé de modifier thisform.control.readonly = .f.  en activate event du form puis en le mettant à .t. lorsque l'on clic sur le bouton modif , mais cela me renvoit de vilain message d'erreur

2/ mon projet a hérité qlq part d'un set défaut qui me plante dès que je génère un EXE. J'ai beau placer un DEFAULT dans le config.fpw il est overridé.(je place un WAIT WINDOW SYS(5) + SYS(2003)) pour vérifier sur quelle base démarre mon traitement

 J'ai cherché dans les proppriété du projet qui "pointent" bien dans le bon répertoire. J'ai aussi vérifié les propritétés de la base que néni.
Comment ce paramètre peut-il bouger  sans que le programmeur le sache ?

Merci à ceux qui prendront le temps de lire voire de répondre
Fabien
mardi 20 janvier 2009 à 17:02:58 | Re : VFox 7 Forms et read events

MichelAtoutFox

Membre Club
Bonjour,

pourquoi veux-tu changer la propriété readonly des controles de ton form? si tu veux modifier cette propriété dans du code, tu peux:
1) utiliser la méthode SETALL au niveau du container des controles (donc le form si tes controles sont directement dans le form, ou bien le container si tu les a mis dans un container, ou bien la page de pageframe...)
ou bien
2) parcourir la collection des controles du form avec une boucle FOR EACH loControl in this.controls / NEXT et tu agit sur loControl
3) parcourir le tableau des controles avec une boucle FOR i=1 to this.controlCount / ENDFOR et tu agis sur this.Controls(i)

en ce qui concerne ton SET DEFAULT et ton SET PATH, il faut comprendre que ton exe va récupérer les valeurs par défaut définies dans VFP. Il te faut déclarer tes settings explicitement dans ton code pour que ton exe les retrouve.
les settings sont (pour quasiment tous) valables uniquement pour la session de donnée courante. Donc si ton form a une session de données privée, il te faut répéter ces settings pour chaque form:
le mieux est de le faire au niveau de la classe dont vont dériver ces forms (comme ça tu ne codes ces setting qu'une seule fois). tu vas coder dans le beforeopentables du dataenvironment (ç'est là que ça doit se faire selon les règles de l'art), mais il est très fréquent de le coder dans le load du form.
mardi 20 janvier 2009 à 18:42:40 | Re : VFox 7 Forms et read events

rao64

Bonjour Michel,

Merci pour cette réponse.
Ma question était mal posée. En effet, la propriété readonly n'est peut etre pas la bonne manière de répondre à mon objectif.

En conséquence je vais commencer par expliquer ce que je cherche.
Je fais des forms super simple avec des boutons "fait main" (suivant préc. modif et quit). J'ai constaté qu'en version de base générée par le quick form, le champs de ma tables sont toujours en mode édition si je met le focus dans unb champs et que je modifie l'information.

je cherche donc une solution pour que l'accès aux champs soit interdit sauf lorsque je clic sur mon bouton modif.
Il y a sans doute une manière simple de réaliser cela. Comment le ferais tu ?

pour le set path
le data session du form est à default comme le loadevent
dans le dataenvironement; beforeopentable =default
j'ai aussi été faire un tour dans la classe générée par l'assistant projet et je n'ai pas trouvé de path ou default" en dur"
je vais continuer à passer en revue les propriétés mais je me demande aussi si je cherche au bon endroit

je comprend qu'il faille une bonne pratique pour maitriser tout ces paramètres. J'admets aussi que le @ l,c say était un peu à bout de souffle et imcompatible avec un environnement graphique.
Toutefois, je me demande vraiement si cette richesse de paramètres n'est pas un peu trop luxuriante ?
Qu'en penses tu ?

Merci pour cette réponse et merci encore su tu as le temps de lire ce post

Fabien






Cette discussion est classée dans : form, forms, events, read, vfox


Répondre à ce message

Sujets en rapport avec ce message

READ EVENTS [ par brunaux ] Bonjour à tousJ'aimerais savoir pourquoi il est conseillé quand on lance un formulaire (à partir d'un programme ou d'un formulaire) d'utiliser READ EV Read events, clear events !!!! [ par spoutnic_37 ] Aloha ,Mon probleme est certainement du a une mauvaise utilisation de read events et de clear events .J'ai accueil.prg (mon main en fait) qui lance un Hiérarchie des FOrm [ par fgones ] Bonjour,j'ai lu tous les messages déjà postés concernant et pourtant aucune des réponses apportées ne me permet de résoudre mon problème :- dans mon p vfp9 parcours de tous les controles d'une form [ par samirba ] Bonjour,je voudrais parcourir tous les objets d'un formulaire y compris les conteneurs ainsi que les objets qui s'y trouvent dedans.j'ai essayé avec c vfp9 environnement de données [ par zouheir_ali ] Bonjour,J'utilise dans une form l'environnement de données avec un  filtre sur une table(Filter), je voudrais lors de la fermeture de la form enlever vfp form [ par zouheir_ali ] Bonjour,Je voudrais à partir d'un bouton d'une form , de fermer la form active et de lancer une autre form.Merci impression de champs memo dans un "report form" [ par yj1 ] Quelqu'un peut-il me dire s'il est possible d'imprimer un champ memo dans un "repo form" et si oui comment ? je n'y suis pas arrivé ... merci d'avance Form [ par Domatreal ] SalutJe suis un novice en Visual FoxPro. J'ai la version 9.0. Je programme par plaisir. J'ai creer une forme avec laquelle j'ouvre un fichier et j'aim Ajouter une form [ par Domatreal ] Salut je cherche a avoir plusieurs forms a l'interieur d'un meme objet.Est-ce possible ? Merci Formulaire premier niveau et enfant . [ par spoutnic_37 ] aloha !!!   Je voudrais faire apparaitre des formulaires enfants dans un formulaire parent. Je parametre donc avec showWindow et mdiform.Je met dans m


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales