• Advertisement

Formatage des champs dans un état

Tout ce qui concerne la version 10 de windev
**Windev est une marque déposée de Pcsoft**

Formatage des champs dans un état

Messagepar aurelien.machabert » Mer Oct 04, 2006 7:18 am

Bonjour, j'ai un état imprimant la liste des sous-traitant de mon appli.

Je voudrais que lorsque le champ est vide, une ligne en pointillé se mette afin de permettre une saisie manuelle sur papier aprés impression qui serait propre.

J'ai essayé un petit bout de code qui marche trés bien, mais le souci et que si mon résultat dépasse 1 Page, il ne marche plus à partir de la page 2...

Merci de me donner une solution a ceux que ça parlera...

Voici ma procédure qui est exécutée pendant l'initialisation de chaque champ !!!


Code: Tout sélectionner
PROCEDURE FormateChamp(NomDuChamp)
//** Déclaration des Variables **
Re_MonMultiple est un réel
Ent_NumPage est un entier
Re_XChampDebut est un réel
Re_XChampFin est un réel
Re_YChampDebut est un réel
Re_YChampFin est un réel
//** Initialisation des Variables **
Re_XChampDebut = {NomDuChamp,indChamp}..X
Re_XChampFin = {NomDuChamp,indChamp}..X + {NomDuChamp,indChamp}..Largeur
//** Initialisation des Y **
Re_YChampDebut = {NomDuChamp,indChamp}..Y
Re_YChampFin = {NomDuChamp,indChamp}..Y + {NomDuChamp,indChamp}..Hauteur
//** Initialisation du numéro de page **
Ent_NumPage = 1
//** On ajoute aux coordonnées les impressions précédentes des autres blocs **
Re_MonMultiple = (G_Ent_NbPassages + 1) / 4
TANTQUE Re_MonMultiple > 1
   Ent_NumPage++
   Re_MonMultiple = Re_MonMultiple / 4
FIN
SI Ent_NumPage = 1 ALORS
   Re_YChampDebut += (CORPS..Hauteur * G_Ent_NbPassages) + (HAUT_DE_PAGE..Hauteur * Ent_NumPage)
   Re_YChampFin += (CORPS..Hauteur * G_Ent_NbPassages) + (HAUT_DE_PAGE..Hauteur * Ent_NumPage)
SINON
   Re_YChampDebut += (CORPS..Hauteur * G_Ent_NbPassages) + (HAUT_DE_PAGE..Hauteur * Ent_NumPage) + (BAS_DE_PAGE..Hauteur * (Ent_NumPage - 1))
   Re_YChampFin += (CORPS..Hauteur * G_Ent_NbPassages) + (HAUT_DE_PAGE..Hauteur * Ent_NumPage) + (BAS_DE_PAGE..Hauteur * (Ent_NumPage - 1))
   Re_YChampDebut += (COMPLEMENT_CORPS..Hauteur * (Ent_NumPage - 1))
   Re_YChampFin +=  (COMPLEMENT_CORPS..Hauteur * (Ent_NumPage - 1))
FIN
//** On regarde si le champ à une valeur ou non **
SELON {NomDuChamp,indChamp}
   //** Champ Vide **
   CAS "" :
      //** On mets au niveau du bas du champ une ligne pointillé pour donné l'emplacement de la saisie **
      iCadre(Re_XChampDebut,Re_YChampDebut,Re_XChampFin,Re_YChampFin, 1, 0, iBleuFoncé, iPointillé, iHorizontale, iBordBas)
   //** Champ avec une donnée **
   AUTRES CAS :
      //** On ne fait rien **
FIN
aurelien.machabert
Membre Confirmé
 
Messages: 251
Inscription: Ven Avr 15, 2005 9:04 am
Localisation: Le Puy en Velay

Advertisement

Messagepar Samifred » Mer Oct 04, 2006 8:46 am

Salut, je pense qu'il faut corriger le code comme ci-dessous, à tester.
(Désolé mais les balises de soulignement ne fonctionnent pas)

Code: Tout sélectionner
SI Ent_NumPage >= 1 ALORS  [u]//Page 1 est supérieure[/u]
Re_YChampDebut += (CORPS..Hauteur * G_Ent_NbPassages) + (HAUT_DE_PAGE..Hauteur * Ent_NumPage)
   Re_YChampFin += (CORPS..Hauteur * G_Ent_NbPassages) + (HAUT_DE_PAGE..Hauteur * Ent_NumPage)
SINON
   Re_YChampDebut += (CORPS..Hauteur * G_Ent_NbPassages) + (HAUT_DE_PAGE..Hauteur * Ent_NumPage) + (BAS_DE_PAGE..Hauteur * (Ent_NumPage - 1))
   Re_YChampFin += (CORPS..Hauteur * G_Ent_NbPassages) + (HAUT_DE_PAGE..Hauteur * Ent_NumPage) + (BAS_DE_PAGE..Hauteur * (Ent_NumPage - 1))
   Re_YChampDebut += (COMPLEMENT_CORPS..Hauteur * (Ent_NumPage - 1))
   Re_YChampFin +=  (COMPLEMENT_CORPS..Hauteur * (Ent_NumPage - 1))
[u]//FIN < ce FIN en fin de procédure[/u]
//** On regarde si le champ à une valeur ou non **
SELON {NomDuChamp,indChamp}
   //** Champ Vide **
   CAS "" :
      //** On mets au niveau du bas du champ une ligne pointillé pour donné l'emplacement de la saisie **
      iCadre(Re_XChampDebut,Re_YChampDebut,Re_XChampFin,Re_YChampFin, 1, 0, iBleuFoncé, iPointillé, iHorizontale, iBordBas)
   //** Champ avec une donnée **
   AUTRES CAS :
      //** On ne fait rien **
FIN
FIN
Cordialement, en espérant que ma collaboration soit profitable. Fred Image
PS: Il est important d'indiquer, dans la question, la version WD utilisée.
Note: Pas de question par MP, merci.
Avatar de l’utilisateur
Samifred
 
Messages: 3552
Inscription: Sam Nov 26, 2005 12:16 pm
Localisation: 128.0.0.0

Messagepar aurelien.machabert » Mer Oct 04, 2006 9:37 am

Je vais vérifier ce code de ce pas !!!
aurelien.machabert
Membre Confirmé
 
Messages: 251
Inscription: Ven Avr 15, 2005 9:04 am
Localisation: Le Puy en Velay



  • Advertisement

Retourner vers Forum Windev 10

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités