Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Move placement of field based on length of another field
Message
 
À
26/09/2006 09:25:56
Jay Johengen
Altamahaw-Ossipee, Caroline du Nord, États-Unis
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de rapports & Rapports
Versions des environnements
Visual FoxPro:
VFP 8 SP1
Divers
Thread ID:
01157231
Message ID:
01157255
Vues:
17
Jay,

You can put the 2 fields on top of each other and PADL the FIELD02 expression with the number of space it takes to move it away from FIELD01.


Step 1: Change FIELD02's left to be the same as FIELD01's left
Step 2: Change FIELD02's width to match its original right edge
Step 3: Change FIELD02's expression to be something like this:
    PADL(FIELD02, ExtraSpaces(FIELD01))
Step 4: Create an ExtraSpaces( ) function:
FUNCTION ExtraSpaces(lcField1Value)
   ** Font info for field 1
   lcName1 = "Arial"
   lcSize1 = 12
   lcStyle1 = "B"

   ** Font info for field 2
   lcName2 = "Arial"
   lcSize2 = 10
   lcStyle2 = "N"
   
   lnTextWidth = TXTWIDTH(lcField1Value,lcName1,lcSize1,lcStyle1)*;
            FONTMETRIC(6,lcName1,lcSize1,lcStyle1)

   lnSpaceWidth = TXTWIDTH(SPACE(1),lcName2,lcSize2,lcStyle2)*;
            FONTMETRIC(6,lcName2,lcSize2,lcStyle2)

   lnSpaces = CIELING(lnTextWidth/lnSpaceWidth)

   RETURN lnSpaces
ENDFUNC
I hope this makes sense. I can send you a sample if you need it.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform