Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: [resolu] en panne avec les bases du basic Dim 19 Mai 2019 - 19:09 | |
| Salut Mindstorm ! Bravo pour ton "convertisseur" ! Je te donne une version de ton source que j'avais modifié pour mieux voir ce qui se passe dans les entrailles du programme. - Code:
-
REM MINDSTORM convertisseur FS
label object,imprime,raz,nouvpoint,fin dim ligne$,caractere$,lecture$ , degre$,minute$ ,mnd$ ,LatD$,LonD$,Latmd$,Lonmd$,xml$,md$ dim ai, longueur,negatif,posecriture,longecriture,m,t,Nordre,md,np,test,nl,x,y,choix dim i,w,a,xm,ym ,proph,roph,b,c,a$,b$,aa$,ab$,ac$,ad$,ae$,af$,ag$,ah$,ai$,aj$,ak$,al$,am$,an$,ao$,ap$,aq$, dim ba$,bb$,bc$,bd$,be$,bf$ dim ca$,cb$,cc$,cd$,ce$,cf$ dim lat$,lon$,alt$,pitch$,bank$,heading$,name$,scale$
DIM N_ligne% : ' numéro de ligne du fichier source en cours de traitement DIM decalage% : ' décalage de 400 pixels à droite du menu original decalage% = 400
aa$= "<?xml version="+chr$(34)+"1.0"+chr$(34)+"?>" ab$= "<FSData" ac$= " version="+chr$(34)+"9.0"+chr$(34)+"xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'" ad$= " xsi:noNamespaceSchemaLocation="+chr$(34)+"bglcomp.xsd"+chr$(34)+">" ae$= "<ModelData sourceFile="+chr$(34) af$= ".MDL"+chr$(34)+"/>"
ba$= "FSXheolienne16" :ca$="{9cab340c-b35b-465d-8393-a4f6abe8ec65}" bb$= "FSXheolienne17" :cb$="{85611a80-42b2-4696-910b-dcbd7bccad1d}" rem bc$= "silo1" :cc$="1" rem bd$= "silo2" :cd$="2" rem be$= "silo3" :ce$="3" rem bf$= "fin" :cf$="f"
Dessiner_interface_utilisateur()
Lecture_fichier_Source()
Chargement_list102()
Chargement_list104()
Ecrire_Entete_fichier_Cible()
on_click 102,object on_click 201,raz on_click 202,imprime on_click 203,nouvpoint on_click 204,fin END ' ============================================================================== nouvpoint: N_ligne% = N_ligne% + 1 WHILE N_ligne% <= COUNT(501) Ligne$=ITEM_READ$(501,N_ligne%) ITEM_SELECT 501,N_ligne% :' mise en bleu de la ligne en cours de traitement fichier source if asc(ligne$)=40 np=np+1 print_locate 100+decalage%,20:print "POINT NUMERO :":print_locate 200+decalage%,20:print np choix = rnd(3):choix=int(choix)*120 TEXT 108,STR$(choix) y=40*np-40:x=5 Nordre=1 :t=2 analyse(ligne$) exit_while end_if N_ligne% = N_ligne% + 1 end_while return ' ------------------------------------------------------------------------------ sub analyse(ligne$) print_locate x,y:print np for ai=1 to 25 caractere$ = MID$(ligne$,ai,1) if caractere$="-" or caractere$="0" or caractere$="1" or caractere$="2" or caractere$="3" or caractere$="4" or caractere$="5" or caractere$="6" or caractere$="7" or caractere$="8" or caractere$="9" lecture$=insert$(lecture$,caractere$,t) t=t+1 end_if if caractere$="." degre$=mid$(lecture$,1,t):lecture$="" t=2 if Nordre=1 LatD$=degre$ end_if if Nordre=2 LonD$=degre$ end_if end_if if caractere$="," or caractere$=")" minute$=mid$ (lecture$,1,6) if Nordre=2 traitement(md$) Lonmd$=mid$(minute$,1,7) Lon$= LonD$+" " +Lonmd$ print_x_locate 15:print Lon$ Nordre=0 end_if if Nordre=1 traitement(md$) Latmd$=mid$(minute$,1,7) Lat$= LatD$+" " +Latmd$ print_x_locate 15 :print Lat$ Nordre=2 end_if ai=ai+1 lecture$="" end_if if caractere$ = ")" TEXT 110,Lon$ TEXT 109,Lat$ exit_sub end_if next ai end_sub ' ------------------------------------------------------------------------------ sub traitement(md$) md=val(minute$):md=md/1000000*60:minute$=str$(md) md=0 end_sub ' ------------------------------------------------------------------------------ object: b$= item_index$ (102) if b$=ba$ name$=ca$ end_if b$= item_index$ (102) if b$=bb$ name$=cb$ end_if if b$=bc$ name$=cc$ end_if b$= item_index$ (102) if b$=bd$ name$=cd$ end_if if b$=be$ name$=ce$ end_if b$= item_index$ (102) if b$=bf$ name$=cf$ end_if return ' ------------------------------------------------------------------------------ imprime: alt$=text$(107) lat$=text$(109) lon$=text$(110) pitch$="0" bank$=text$ (108) heading$=text$(103) scale$=text$(106) ag$= "<sceneryObject" ah$= " lat="+chr$(34)+lat$+chr$(34)+"lon="+chr$(34)+lon$+chr$(34) ai$= " alt="+chr$(34)+alt$+chr$(34)+" pitch="+chr$(34)+pitch$+chr$(34)+" banck="+chr$(34)+bank$+chr$(34)+" heading="+chr$(34)+heading$+chr$(34) aj$= " imageComplexity="+chr$(34)+"SPARSE"+chr$(34)+" altitudeIsAgl="+chr$(34)+"TRUE"+chr$(34)+">" ak$= " <NoCrash/>" al$= " <LibraryObject name="+chr$(34)+name$+chr$(34)+" scale="+chr$(34)+scale$+chr$(34)+"/>" am$= "</SceneryObject>" ITEM_ADD 502, ag$ ITEM_ADD 502, ah$ ITEM_ADD 502, ai$ ITEM_ADD 502, aj$ ITEM_ADD 502, ak$ ITEM_ADD 502, al$ ITEM_ADD 502, am$ ITEM_ADD 502,"" return ' ------------------------------------------------------------------------------ SUB Lecture_fichier_Source() IF FILE_EXISTS("essaianalysemaps.txt")=1 FILE_LOAD 501,"essaianalysemaps.txt" ELSE ITEM_ADD 501,"Fichier non trouvé !" END_IF END_SUB ' ------------------------------------------------------------------------------ SUB Chargement_list102() item_add 102,ba$ item_add 102,bb$ END_SUB ' ------------------------------------------------------------------------------ SUB Chargement_list104() item_add 104,ca$ item_add 104,cb$ item_add 104,cc$ item_add 104,cd$ item_add 104,ce$ item_add 104,cf$ END_SUB ' ------------------------------------------------------------------------------ SUB Ecrire_Entete_fichier_Cible() ITEM_ADD 502,aa$ ITEM_ADD 502,ab$ ITEM_ADD 502,ac$ ITEM_ADD 502,ad$ ITEM_ADD 502,"" ITEM_ADD 502,ae$+ba$+af$ ITEM_ADD 502,ae$+bb$+af$ rem ITEM_ADD 502,ae$+bc$+af$ rem ITEM_ADD 502,ae$+bd$+af$ rem ITEM_ADD 502,ae$+be$+af$ rem ITEM_ADD 502,ae$+bf$+af$ ITEM_ADD 502,"" END_SUB ' ------------------------------------------------------------------------------ SUB Dessiner_interface_utilisateur() WIDTH 0,1200 HEIGHT 0,500 LEFT 0,(SCREEN_X-WIDTH(0))/2 TOP 0,(SCREEN_Y-HEIGHT(0))/2 CAPTION 0,"Données de l'objet" list 102 : left 102,20+decalage% :top 102,65 :height 102,100 :width 102,200 list 104 : TOP 104,350 : LEFT 104,200 : WIDTH 104,180 edit 103:left 103,20+decalage%:top 103,200:height 103,20:width 103,40 :check 123:left 123,230+decalage%:top 123,200 edit 106:left 106,20+decalage%:top 106,230:height 106,20:width 106,40 :check 126:left 126,230+decalage%:top 126,230 edit 107:left 107,20+decalage%:top 107,260:height 107,20:width 107,40 :check 127:left 127,230+decalage%:top 127,260 edit 108:left 108,20+decalage%:top 108,290:height 108,20:width 108,40 :check 128:left 128,230+decalage%:top 128,290 edit 109:left 109,70+decalage%:top 109,170:height 109,20:width 109,75 edit 110:left 110,240+decalage%:top 110,170:height 110,20:width 110,75 print_locate 70+decalage%,204:print "Orientation" print_locate 70+decalage%,234:print "Echelle" print_locate 70+decalage%,264:print "Altitude" print_locate 70+decalage%,294:print "banck,Choix automatique" print_locate 20+decalage%,174:print "Latitude=" print_locate 180+decalage%,174:print "Longitude=" button 201 :left 201,50+decalage%:top 201,350 :caption 201,"RAZ Données" button 202 :left 202,150+decalage%:top 202,350 :caption 202,"Impression" button 203 :left 203,260+decalage%:top 203,350 :caption 203,"Pt suivant" button 204 :left 204,150+decalage%:top 204,390 :caption 204,"FIN" LIST 501 WIDTH 501,180 HEIGHT 501,300 TOP 501,20 LEFT 501,200 MEMO 502 WIDTH 502,380 HEIGHT 502,300 TOP 502,20 LEFT 502,780 END_SUB ' ------------------------------------------------------------------------------ raz: if checked(123)=0 text 103,"" end_if if checked(126)=0 text 106,"" end_if if checked(127)=0 text 107,"" end_if if checked(128)=0 text 108,"" end_if return ' ------------------------------------------------------------------------------ fin: an$= "</FSData>" ITEM_ADD 502,an$ FILE_SAVE 502,"monfichierplacement.txt" MESSAGE "Fichier créé !" terminate RETURN
Tu en fais ce que tu veux ! En tout cas bon vol et attention aux éoliennes ! | |
|