banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 06 November 2009 17:14

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

[APIC] Fonction ASL non trouvée, message d'erreur

Aloha,

Nous avons entamé la production d'un asl pour automatiser certains tracés.

J'évalue le fichier contenant le code suivant :

Code:

/*******************************************************************************
Utilitaire de tracé des fiches signalétiques des points de canevas

Composant TO_CAXYZ
Tracé en pdf
Ne pas oublier de vérifier les variables d'environnement du poste (gs\..\bin et gs\..\lib et l'installation de ghostscript

******************************************************************************/

/*initialisation des variables*/
Quand (Non Defini? [CANV_CPD_ListPoint]) [Donner [CANV_CPD_ListPoint] AllouerTable TypePoint 8000 ]
Donner [CANV_CPD_Nb] 0

Quand (Non Defini? [CANV_CPD_PDF])         [Donner [CANV_CPD_PDF]         AllouerTable TypeCaractere 400]
Quand (Non Defini? [CANV_CPD_PDF_FIC])         [Donner [CANV_CPD_PDF_FIC]         AllouerTable TypeCaractere 400]
Quand (Non Defini? [CANV_CPD_Imprimante])    [Donner [CANV_CPD_Imprimante]    TexteFormat("PDFCreator")]
Quand (Non Defini? [CANV_CPD_Rep_PDF])     [Donner [CANV_CPD_Rep_PDF]     AllouerTable TypeCaractere 400]
Quand (Non Defini? [CANV_CPD_TMP])         [Donner [CANV_CPD_TMP]         AllouerTable TypeCaractere 4000]
Quand (Non Defini? [CANV_CPD_NUM])         [Donner [CANV_CPD_NUM]         AllouerTable TypeCaractere 3]
Quand (Non Defini? [CANV_CPD_BUF])         [Donner [CANV_CPD_BUF]         AllouerTable TypeCaractere 4000]
Quand (Non Defini? [CANV_CPD_Composant]) [Donner [CANV_CPD_Composant] TexteFormat("TO_CAXYZ")]

Quand (Non Defini? [CANV_pszJJ]) [Donner [CANV_pszJJ] AllouerTable TypeCaractere 2]
Quand (Non Defini? [CANV_pszDD]) [Donner [CANV_pszDD] AllouerTable TypeCaractere 2]
Quand (Non Defini? [CANV_pszAAAA]) [Donner [CANV_pszAAAA] AllouerTable TypeCaractere 4]
Quand (Non Defini? [CANV_pszDate]) [Donner [CANV_pszDate] AllouerTable TypeCaractere 10]
Quand (Non Defini? [CANV_CPD_Val_Date]) [Donner [CANV_CPD_Val_Date] AllouerTable TypeCaractere 10]

Quand (Non Defini? [CANV_NUM]) [Donner [CANV_NUM] AllouerTable TypeCaractere 10]
Quand (Non Defini? [CANV_X]) [Donner [CANV_X] AllouerTable TypeCaractere 10
Quand (Non Defini? [CANV_Y]) [Donner [CANV_Y] AllouerTable TypeCaractere 10
Quand (Non Defini? [CANV_Z]) [Donner [CANV_Z] AllouerTable TypeCaractere 10
Quand (Non Defini? [CANV_DETER]) [Donner [CANV_DETER] AllouerTable TypeCaractere 200
Quand (Non Defini? [CANV_NATURE]) [Donner [CANV_NATURE] AllouerTable TypeCaractere 200
Quand (Non Defini? [CANV_COMMUNE]) [Donner [CANV_COMMUNE] AllouerTable TypeCaractere 100
Quand (Non Defini? [CANV_ADRESSE]) [Donner [CANV_ADRESSE] AllouerTable TypeCaractere 4000

/**/
Fonction [collectionner () ]
[    
/*Création de la collection des emprises à tracer d'après la sélection*/

    CollectionDetruire "Pt_canevas_a_tracer"
    CollectionCreer "Pt_canevas_a_tracer"
    CollectionAjouterObjet "Pt_canevas_a_tracer" SelectionFlot 6 "TO_CAXYZ"

]

/*fonction principale de tracé*/
Fonction [ TraceFicheCanevas ]
[
    collectionner 
    
    PourChaque [ptcanv] CollectionFlotObjet "Pt_canevas_a_tracer"
        [

            /*VerifCANV (ptcanv)*/
            REIMS_CANV_COORD (ptcanv)
            Ecrire CANV_NUM
            Ecrire CANV_X
            Ecrire CANV_Y
            Ecrire CANV_Z
/*            Ecrire CANV_NUM 
            Ecrire CANV_DETER
            Ecrire CANV_COMMUNE
            Ecrire CANV_NATURE*/ 
            
            /*Recherche du fichier gabarit de tracé*/        
            Donner [SrcFile] FichierOuvrir "\\Srvwebsig\apic47data\gdu\compose_fr\document\DIVERS\fiche_signaletique.cps" "r"
            
            /*Création du fichier de tracé*/
            Donner [TmpFile] FichierOuvrir "\\Srvwebsig\apic47data\gdu\compose_fr\document\DIVERS\fiche_signaletique_final.cpd" "w+"
        
            /*test de son existence et sinon renvoie un msg d'erreur*/
            Donner [CurPos] SrcFile
            Quand (CurPos < 0)[
                        AS_DialAlerter AdresseNulle "Ouverture du modèle CPD impossible!"
            ]
            Donner [DstFile] TmpFile 
            Quand (DstFile < 0)[
                  AS_DialAlerter AdresseNulle "Création du CPD à imprimer impossible!"
                  FichierFermer SrcFile


                  ]
            /*Ecriture du fichier cpd*/
            TantQue (CurPos != -2)[
                // lit ligne par ligne
                       Donner [CurPos] FichierLireFormat (SrcFile,"%[^\n]\n",CANV_CPD_TMP)
                    Quand (CurPos != -2)[
                                        //Ecrire CurPos
                        TexteEcrireFormat(CANV_CPD_BUF,"%s",CANV_CPD_TMP)
                        FichierEcrireFormat(DstFile,"%s\n",CANV_CPD_BUF)
                        Quand TxtPosition CANV_CPD_TMP "TexteFixe {NUM }" >= 0
                                [
                                //Ecrire "Youpi"
                                TexteEcrireFormat(CANV_CPD_BUF,"TexteFixe {PLANCHE %s} 1530 0 0 Spcp_POLICE1_1 Spcp_TRAITCONTINUFINNOIR 2",CANV_CPD_NUM)
                                FichierEcrireFormat(DstFile,"%s\n",CANV_CPD_BUF)
                                ]
                        Quand TxtPosition CANV_CPD_TMP "!Date" >= 0
                                [
                                TxtCopier CANV_CPD_Val_Date CANV_CPD_LireDate
                                //Ecrire "Youpi"
                                //TexteEcrireFormat(CANV_CPD_BUF,"TexteFixe { Copyright Communauté d'Agglomération de Reims - édité par le SGDU le %s} 230.000000 0.000000 0.000000 Spcp_POLICE1_1 Spcp_TRAITCONTINUFINNOIR",CANV_CPD_Val_Date)
                                TexteEcrireFormat(CANV_CPD_BUF,"TexteFixe { Copyright Communauté d'Agglomération de Reims - édité par la DUH le %s} 230.000000 0.000000 0.000000 Spcp_POLICE1_1 Spcp_TRAITCONTINUFINNOIR",CANV_CPD_Val_Date)
                                FichierEcrireFormat(DstFile,"%s\n",CANV_CPD_BUF)
                                //Ecrire CANV_CPD_BUF
                                ]
                        Quand TxtPosition CANV_CPD_TMP "!Project" >= 0
                                [
                                //Ecrire "Youpi"
                                TexteEcrireFormat(CANV_CPD_BUF,"ProjectionParObjet %f %f %f %f 5.000000 0.000000 Faux",X1,Y1,X2,Y2)
                                FichierEcrireFormat(DstFile,"%s\n",CANV_CPD_BUF)
                                //Ecrire CANV_CPD_BUF
                                ]
                        Quand TxtPosition CANV_CPD_TMP "!Espace" >= 0
                               [
                                TexteEcrireFormat(CANV_CPD_BUF,"Espace 500 500 40060 28676 Spcp_TRAITCONTINUFINNOIR Faux")
                                FichierEcrireFormat(DstFile,"%s\n",CANV_CPD_BUF)
                                ]
                                /*coord*/
                        Quand TxtPosition CANV_CPD_TMP "TexteFixe {X}" >= 0
                               [
                               Quand TxtLongueur CANV_X > 0 
                                                [
                                                Ecrire TexteEcrireFormat(CANV_CPD_BUF,"TexteFixe {%s}%s",CANV_X,SousTable(CANV_CPD_TMP,14,(TxtLongueur(CANV_CPD_TMP) - 15)))
                                                ]
                                FichierEcrireFormat(DstFile,"%s\n",CANV_CPD_BUF)
                                ]
                                
                        Quand TxtPosition CANV_CPD_TMP "TexteFixe {Y}" >= 0
                               [
                               Quand TxtLongueur CANV_Y > 0 
                                                [
                                                Ecrire TexteEcrireFormat(CANV_CPD_BUF,"TexteFixe {%s}%s",CANV_Y,SousTable(CANV_CPD_TMP,14,(TxtLongueur(CANV_CPD_TMP) - 15)))
                                                ]
                                FichierEcrireFormat(DstFile,"%s\n",CANV_CPD_BUF)
                                ]
                                
                        Quand TxtPosition CANV_CPD_TMP "TexteFixe {Z}" >= 0
                               [
                               Quand TxtLongueur CANV_Z > 0 
                                                [
                                                Ecrire TexteEcrireFormat(CANV_CPD_BUF,"TexteFixe {%s}%s",CANV_Z,SousTable(CANV_CPD_TMP,14,(TxtLongueur(CANV_CPD_TMP) - 15)))
                                                ]
                                FichierEcrireFormat(DstFile,"%s\n",CANV_CPD_BUF)
                                ]
                        Quand TxtPosition CANV_CPD_TMP "TexteFixe {DETER}" >= 0
                               [
                               Quand TxtLongueur CANV_DETER > 0 
                                                [
                                                Ecrire TexteEcrireFormat(CANV_CPD_BUF,"TexteFixe {%s}%s",CANV_DETER,SousTable(CANV_CPD_TMP,17,(TxtLongueur(CANV_CPD_TMP) - 16)))
                                                ]
                                FichierEcrireFormat(DstFile,"%s\n",CANV_CPD_BUF)
                                ]


                    ]
                      FichierFermer DstFile
    FichierFermer SrcFile


        ]
Ecrire "Génération Terminée !!"

]

/*fonction de récupération des coordonnées et autres attributs*/
Fonction [ REIMS_CANV_COORD (obj)]
[
    
    TxtCopier CANV_X TexteFormat("%.3f", (XPoint ObjetSymbolePoint (obj) / 1000.00))
    TxtCopier CANV_Y TexteFormat("%.3f", (YPoint ObjetSymbolePoint (obj) / 1000.00)) 
    TxtCopier CANV_Z TexteFormat("%.3f", (ZPoint ObjetSymbolePoint (obj) / 1000.00)) 
    TxtCopier CANV_NUM AFS2_ValeurVersTexte (ObjetAttributSimple (obj) "numero" )
    TxtCopier CANV_DETER AFS2_ValeurVersTexte (ObjetAttributSimple (obj) "determin" )
    TxtCopier CANV_COMMUNE AFS2_ValeurVersTexte (ObjetAttributSimple (obj) "commune" )
    TxtCopier CANV_NATURE AFS2_ValeurVersTexte (ObjetAttributSimple (obj) "material" )

]

/*vérification de la nature de l'objet sélectionné*/
Fonction [ VerifCANV (CurObj) ]
[
    Quand Non Objet? CurObj [
        AS_DialAlerter AdresseNulle "Pas d'objet géographique sélectionné !"
        Resultat 0
    ]

    Quand TxtComparer(ObjetComposant(CurObj),CANV_CPD_Composant) != 0 [
        AS_DialAlerter AdresseNulle "Le composant de l'objet géographique sélectionné n'est pas correct!"
        Resultat 0
    ]

    Resultat 1
]

/*nom de l'utilisateur*/
Fonction [CAR_LireUtilisateur ()]
[
        Resultat SessionUtiNom
]

/*fonction de lecture de la date*/
Fonction [REIMS_CANV_LireDate () var rDate,X,Y]
[
    Donner [rDate] DateSysteme
    Si (TexteLireFormat (rDate,"%2c%*c%2c%*c%4c%*s", COMPOSE_pszJJ, COMPOSE_pszDD, COMPOSE_pszAAAA)== 0)
        [
        Quand (Entier (COMPOSE_pszJJ -> 0) == 32)
            [
            Copier (COMPOSE_pszJJ : 0) '0'
            ]
        Quand (Entier (COMPOSE_pszDD -> 0) == 32)
            [
            Copier (COMPOSE_pszDD : 0) '0'
            ]
        TxtCopierN  COMPOSE_pszDate COMPOSE_pszJJ 2
        TxtAjouterN COMPOSE_pszDate "/" 1
        TxtAjouterN COMPOSE_pszDate COMPOSE_pszDD 2
        TxtAjouterN COMPOSE_pszDate "/" 1
        TxtAjouterN COMPOSE_pszDate COMPOSE_pszAAAA 4
        Resultat COMPOSE_pszDate
        ]
        [
        Resultat " "
        ]
]

et j'obtiens le message d'erreur suivant : Noyau : REIMS_CANV_COORD : Symbole inconnu, or cette fonction est bien définie dans mon asl. mad

Que faire ?

D'avance merci,


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#2 Sat 07 November 2009 16:10

christian
Participant assidu
Lieu: Isère
Date d'inscription: 20 Sep 2005
Messages: 207
Site web

Re: [APIC] Fonction ASL non trouvée, message d'erreur

Bonjour,

Il semble y avoir un probleme de syntaxe ici, non ?

Code:

/*fonction principale de tracé*/
Fonction [ TraceFicheCanevas ]
[
    collectionner 
    
    PourChaque [ptcanv] CollectionFlotObjet "Pt_canevas_a_tracer"

(Il manque un "]" dans la fonction)

Dernière modification par christian (Sat 07 November 2009 16:41)

Hors ligne

 

#3 Sun 08 November 2009 11:48

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: [APIC] Fonction ASL non trouvée, message d'erreur

effectivement, je n'ai pas fermé ma fonction principale. Je teste demain...


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#4 Mon 09 November 2009 06:42

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 347

Re: [APIC] Fonction ASL non trouvée, message d'erreur

Bonjour,

En fait, je rebondis sur ce sujet pour lancer une nouvelle discussion

Dernière modification par pyjoubert (Mon 09 November 2009 07:00)

Hors ligne

 

#5 Mon 09 November 2009 08:57

JC
Membre
Lieu: Les Clayes sous Bois
Date d'inscription: 31 Jul 2007
Messages: 332

Re: [APIC] Fonction ASL non trouvée, message d'erreur

Bonjour à tous,

Comme Pierre-Yves, je pense qu'une partie de la solution au problème de Pierre passe par un bon éditeur de texte.
Ci-dessous, la mise en évidence avec le mien d'une fonction bien fermée (crochets surlignés en bleu) et une autre qui ne l'est pas (crochet sans équivalent surligné en rouge).

La suite en réponse au fil ouvert par Pierre-Yves...            JC


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Association GeoRezo.net

Hors ligne

 

Pied de page des forums

Powered by FluxBB