#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.
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
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: 343
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
Association GeoRezo.net
Hors ligne