' 20100207 sans déclalage des point superposés ni affichage diametre ' 20100226 prise en charge de l'heure sur 5 ou 8 caractères automatiquement ' 20100226 interception de la ligne texte reçu : en prévision de multi-points ' telephones multiples. ' 2 do ' faire compatible ligne sujet ou corps .... ' premier point! ' par flavigny@free.fr, 20100228-1200 ' reprise des emails de LogsmJava ' ' paramètres: ' paramètres à ajuster: Version="20100228-1200" racine="0642419118-lelac" mobile="0642419118,0643214680" ' on pourrait mettre un S! 'HHMMdebut="0000-00-00 00:00:00" HHMMdebut="2010-03-02 16:00:00" 'HHMMFIN ="9999-00-00 24:00:00" HHMMFIN="2010-99-28 10:37:07" enteteloc="XYDateHeure:" enteteloc="LOC: " compatiblesujet=true ' a faire actuiellement inutilise! prtinput=true ' V0.0074 non compatible aves ce programme ' demande à modifier routine interception des variables 'fichierboite="C:\Users\adminpo\Application Data\Thunderbird\Profiles\jn9iose8.default\Mail\pop.inrets.fr\!!!!!!!!!!!!!!!LoGsmJava" 'Logsm="_V1.0006_" ' version capture (à trouver dans la ligne Subject: ) 'fichierboite="C:\Users\adminpo\AppData\Roaming\Thunderbird\Profiles\jn9iose8.default\Mail\pop.inrets.fr\!!!!!!!!!!!!!!!!!!!!!!!x" Logsm="_V1.0015_" ' version capture (à trouver dans la ligne Subject: ) fichierboite="C:\Users\adminpo\AppData\Roaming\Thunderbird\Profiles\jn9iose8.default\Mail\pop.inrets.fr\!!!!!!!!!!!!!!!!!!2010" ' autres variables dim ladatepre ladatepre="" dim linetrie dim li linetrie="" ' linetot=true ' gestion on error HORS SERVICE, toute erreur est fatale pendant le développement! ' on error resume next on error goto 0 ' dim fs set fs=createobject("scripting.filesystemobject") dim mbox ' glisser/déposer en panne à voir ... 'dim args 'Set args = Wscript.Arguments 'if args.count =1 then 'mbox=args(0) 'else 'mbox=inputbox("nom du fichier boite au format mbox") 'end if ' 'if mbox="" then mbox=inputbox("nom du fichier boite au format mbox") ' extraire de nom du fichier dim ptvus ptvus=0 dim lilus lilus=0 dim fi dim fo 'mbox=racine & ".txt" mbox=fichierboite nomfi=racine & ".kml" set fi=fs.opentextfile(mbox ,1) set fo=fs.createtextfile(nomfi,true) 'msgbox "mbox: " & mbox & " " & len(mbox) & vbcrlf & "nomfi: " & nomfi & " " & len(nomfi) & vbcrlf & "mobile: " & mobile '' copier le debut prologue dim trouve trouve=false while not fi.atendofstream pre=nu ' je ne sais à quoi sert ? dupplique ? li=fi.readline() ' msgbox li lilus=lilus+1 ' c'est seulement à la ligne de fin que l'on démarre, obsolete ' on peut supprimer cette complication fin="par " findemail= (left(li,len(fin))=fin) if (findemail and (not vudetail)) or mid(li,1,len(enteteloc))=enteteloc then vudetail=true ' pour ne pas sortir en fin ' intercepter localisation et date (sauf si demarre sur findemail) if not findemail then ladateheure=right(li,19) else ' msgbox "sujet: " & vbcrlf & li & vbcrlf & ladateheure end if if (ladateheure< hhmmdebut) or (ladateheure> hhmmfin) then ' msgbox numero & " REJET " & iteration & " " & xc & " " & yc & " " & x & "*" & y & vbcrlf & date & "===" & h & m else ptvus=ptvus+1 '1 ' msgbox ptvus & ":" & li & vbcrlf & subjectsave ' fut decode if prtinput then fo.writeline "<!-- " & li & "-->" ' LOC: 51 N484542 E0021714 2010-02-28 00:17:00 np=instr(li," ") li=mid(li,np+1) np=instr(li," ") li=mid(li,np+1) np=instr(li," ") yc=mid(li,1,np-1) li=mid(li,np+1) np=instr(li," ") xc=mid(li,1,np-1) ladateheure=mid(li,np+1) x= mid(xc,2,3)+mid(xc,5,2)/60+mid(xc,7,2)/3600 y= mid(yc,2,2)+mid(yc,4,2)/60+mid(yc,6,2)/3600 ' msgbox xc & " " & x & vbcrlf & yc & " " & y if mid(xc,1,1)="W" then x=-x if mid(yc,1,1)="S" then y=-y x=pt(x) y=pt(y) xo=x yo=y xq=x yq=y xp=x ' sans doute impertinent yp=y ' il faut trier ce tableau if ladateheure<>ladatepre then if (ptvus=1) or (ladateheure >= ladatepre) then linetrie=linetrie & x & "," & y & " :" & ladateheure & "|" & vbcrlf else ' trier iprevious=0 fini=false ' msgbox "placer" & ladateheure & "<" & ladatepre & " dans " & vbcrlf & right(linetrie,1000) while not fini avantdate=iprevious isearch=jnstr(linetrie,iprevious+1,":") if isearch =0 then ' fini fini=true linetrie=linetrie & x & "," & y & " :" & ladateheure & "|" & vbcrlf ' msgbox "fait zero=" & vbcrlf & linetrie else finsearch=jnstr(linetrie,isearch+1,"|") unedate=mid(linetrie,isearch,finsearch-isearch-1) ' msgbox "unedate à" & isearch & vbcrlf & unedate if unedate>ladateheure then linetrie=mid(linetrie,1,iprevious) & x & "," & y & " :" & ladateheure & "|" & mid(linetrie,iprevious+1) fini=true end if end if iprevious=finsearch wend ' fini end if ' ladateheure >= ladatepre end if ' ladateheure<> ladatepre ladatepre=ladateheure end if ' entete ou fin xpppp=xq ypppp=yq xqqqq=x yqqqq=y end if trouve=false verbe="Subject:" if left(li,len(verbe))=verbe then vudetail=false subjectsave=li 'Subject: 0643214680_0.74_3_5_xc=719_amp_pyc=531_amp__Loc=2,457778_amp__Loc=48,791944_amp_redirect=non_amp_SessionID=0643214680 2009-06-21 11:45 ' 0642419118_4_V0.94.2_C10#1\'ADcIY_2_N484638_E0022714 2009-07-15 16:14 ' filtrage selon version du programme Java émetteur if instr(li,logsm)>0 then if prtinput then fo.writeline "<!-- " & li & "-->" ' msgbox "logsm trouvé dans la ligne subject subject " & vbcrlf & li ' extraire date et heure if mid(li,len(li)-5,1)=" " then ladateheure=right(trim(li),16) & ":00" else ladateheure=right(trim(li),19) end if ' msgbox "ladateheure=" & mid(li,len(li)-5,1) &"=" & vbcrlf & ladateheure j=mid(ladateheure,1,10) ' msgbox "date 1:" & ladate & vbcrlf & "vus=" & ptvus & vbcrlf & "j=" & j & vbcrlf & "hh:mm=" & right(li,5) ' delay ' pas critique, pas de vitesse actuellement ' même jour ? ' si plusieurs d'écart ? ' si mois if (jp="") or (j=jp) then d=0 else d=-24 end if h=cdbl(mid(ladateheure,12,2)) m=cdbl(mid(ladateheure,15,2)) s=0 ' t=h+m/60+s/3600 ' msgbox "date 2 :" & ladate & vbcrlf & "vus=" & ptvus & vbcrlf & "j=" & j & vbcrlf & "hh:mm=" & h &":" & m elapse=d-tp+t tp=t jp=j li=mid(li,instr(li," ")+1) s=instr(li,"_") numero=left(li,s-1) ' filtrage selon numéro du mobile ' msgbox numero & vbcrlf & mobile ' if numero=mobile then ' liste de mobiles if instr(mobile,numero)>0 then ' msgbox "mobile" li=mid(li,s+1) s=instr(li,"_") version=left(li,s-1) li=mid(li,s+1) s=instr(li,"_") config=left(li,s-1) li=mid(li,s+1) s=instr(li,"_") iteration=left(li,s-1) li=mid(li,s+1) ' je ne sais ce qu'il manqueit s=instr(li,"_") iteration=left(li,s-1) li=mid(li,s+1) if true then s=instr(li,"_") yc=left(li,s-1) li=mid(li,s+1) s=instr(li,"_") ' amp li=mid(li,s+1) s=instr(li," ") xc=left(li,s-1) li=mid(li,s+1) s=instr(li,"_") ' amp li=mid(li,s+1) ' prise en charge double _ if left(li,1)="_" then li=mid(li,2) ' 0642419118_5_V1.0015_C100#1\'GSW_16_N484700_E0022641 2010-02-22 17:36 ' x j=mid(li,1,10) hs= mid(li,12,5) x= mid(xc,2,3)+mid(xc,5,2)/60+mid(xc,7,2)/3600 y= mid(yc,2,2)+mid(yc,4,2)/60+mid(yc,6,2)/3600 if mid(xc,1,1)="W" then x=-x if mid(yc,1,1)="S" then y=-y x=pt(x) y=pt(y) ' msgbox xc & vbcrlf & yc & vbcrlf & "li maintenant ===" & li & "===="& vbcrlf & j &vbcrlf & hs ' msgbox numero & " tire de SUBJECT " & iteration & " " & xc & " " & yc & " " & x & "*" & y & vbcrlf & x & " " & y & " " & date & " " & hs trouve=true end if ' false end if end if end if wend epilogue msgbox "termine " & ptvus & "/" & lilus fo.close ' wscript.quit ' pas de end du pp! function dms(appel,deg) ' avec . ou , ' msgbox "deg=" & deg dd=deg ii=instr(dd,".") if ii=0 then dd=deg else dd=mid(deg,1,ii-1) & "," & mid(deg,ii+1) end if on error resume next d=cint(dd-0.4999999) if err.number<>0 then if not ignorererror then msgbox appel & " erreur deg=" & deg & "=" & vbcrlf & "dd=" & dd & "=" & vbcrlf & li end if on error goto 0 m=cint((dd-d)*60-0.499999999) s=cint( (dd-d-(m/60.))*3600 - 0.49999999) dms=d & "°" & m & "'" & s & """" end function sub epilogue ' nettoyer linetrie ' ' msgbox "epilogue" l2=linetrie while (instr(l2,":")>0) and (instr(l2,"|")>0) unepunaisex=mid(l2,1,instr(l2,",")-1) l2=mid(l2,instr(l2,",")+1) unepunaisey=mid(l2,1,instr(l2,":")-1) l2=mid(l2,instr(l2,":")+1) unepunaisedh=mid(l2,1, instr(l2,"|")-1) l2=mid(l2,instr(l2,"|")+1) ' msgbox "x=" & unepunaisex & vbcrlf & "y=" & unepunaisey & vbcrlf & "à" & unepunaisedh if prtinput then fo.writeline "<!-- " & "x=" & unepunaisex & vbcrlf & "y=" & unepunaisey & vbcrlf & "à" & unepunaisedh & "-->" ' linetrie=mid(linetrie,1,instr(linetrie,":")-1) & mid(linetrie, instr(linetrie,"|")+1) fo.writeline " <Placemark>" fo.write " <description>" ' fo.write "xo=" & xo & " yo=" & yo & "<br/>" fo.write " date: " & unepunaisedh & "<br/>" ' fo.write " distance : " & ladatepre & "<br/>" fo.writeline dms(1,unepunaisex) & "*" & dms(2,unepunaisey) & "<br/>" fo.writeline "</description>" fo.writeline " <styleUrl>#default+nicon=0x467+hicon=0x477_copy0</styleUrl>" fo.writeline " <Point><coordinates>" & UNEPUNAISEX & "," & unepunaisey & "</coordinates></Point>" fo.writeline " </Placemark>" wend ' fo.writeline " </Folder>" fo.writeline " </Folder>" if linetot then while (instr(linetrie,":")>0) and (instr(linetrie,"|")>0) linetrie=mid(linetrie,1,instr(linetrie,":")-1) & mid(linetrie, instr(linetrie,"|")+1) wend fo.writeline "<Placemark><name>TrackPoints</name><description>mettre ce que lon veut </description>" ' fo.writeline "<styleUrl>#default+nicon=0x467+hicon=0x477</styleUrl> <LineString><tessellate>1</tessellate> <coordinates>" & line & "</coordinates></LineString>" fo.writeline fo.writeline "<styleUrl>#default+nicon=0x467+hicon=0x477</styleUrl> <LineString><tessellate>1</tessellate> <coordinates>" & linetrie & "</coordinates></LineString>" fo.writeline "</Placemark>" end if if prtinput then fo.writeline "<!-- EPILOGUE -->" fo.writeline "</Document>" fo.writeline "</kml>" end sub sub prologue fo.writeline "<?xml version=""1.0"" encoding=""UTF-8""?>" fo.writeline "<kml xmlns=""http://earth.google.com/kml/2.1"">" fo.writeline " <!-- version du programme: " & Version & " filtre: " & logsm & " " & mobile & " " & hhmmdebut & "à" & hhmmfin & "-->" fo.writeline "<Document>" fo.writeline " <name>" & nomfi & "</name>" fo.writeline " <Style id=""default+icon=0x467"">" fo.writeline " <IconStyle>" fo.writeline " <Icon>" fo.writeline " <href>root://icons/palette-4.png</href>" fo.writeline " <x>224</x>" fo.writeline " <y>192</y>" fo.writeline " <w>32</w>" fo.writeline " <h>32</h>" fo.writeline " </Icon>" fo.writeline " </IconStyle>" fo.writeline " <LineStyle id=""khLineStyle989_copy0; "">" fo.writeline " <color>7f0000ff</color>" fo.writeline " <width>4</width>" fo.writeline " </LineStyle>" fo.writeline " </Style>" fo.writeline " <StyleMap id=""default+nicon=0x467+hicon=0x477_copy0"">" fo.writeline " <Pair>" fo.writeline " <key>normal</key>" fo.writeline " <styleUrl>default+icon=0x467_copy0</styleUrl>" fo.writeline " </Pair>" fo.writeline " <Pair>" fo.writeline " <key>highlight</key>" fo.writeline " <styleUrl>default+icon=0x477_copy0</styleUrl>" fo.writeline " </Pair>" fo.writeline " </StyleMap>" fo.writeline " <Style id=""default+icon=0x467_copy0"">" fo.writeline " <IconStyle>" fo.writeline " <Icon>" fo.writeline " <href>root://icons/palette-3.png</href>" fo.writeline " <x>224</x>" fo.writeline " <w>32</w>" fo.writeline " <h>32</h>" fo.writeline " </Icon>" fo.writeline " </IconStyle>" fo.writeline " </Style>" fo.writeline " <StyleMap id=""default+nicon=0x467+hicon=0x477"">" fo.writeline " <Pair>" fo.writeline " <key>normal</key>" fo.writeline " <styleUrl>default+icon=0x467</styleUrl>" fo.writeline " </Pair>" fo.writeline " <Pair>" fo.writeline " <key>highlight</key>" fo.writeline " <styleUrl>default+icon=0x477</styleUrl>" fo.writeline " </Pair>" fo.writeline " </StyleMap>" fo.writeline " <Style id=""Default + Icon = 0; x477_copy0; "">" fo.writeline " <IconStyle>" fo.writeline " <scale>1.1</scale>" fo.writeline " <Icon>" fo.writeline " <href>root://icons/palette-3.png</href>" fo.writeline " <x>224</x>" fo.writeline " <w>32</w>" fo.writeline " <h>32</h>" fo.writeline " </Icon>" fo.writeline " </IconStyle>" fo.writeline " <LabelStyle>" fo.writeline " <scale>1.1</scale>" fo.writeline " </LabelStyle>" fo.writeline " </Style>" fo.writeline " <Style id=""Default+Icon=0x477"">" fo.writeline " <IconStyle>" fo.writeline " <scale>1.1</scale>" fo.writeline " <Icon>" fo.writeline " <href>root://icons/palette-4.png</href>" fo.writeline " <x>224</x>" fo.writeline " <y>224</y>" fo.writeline " <w>32</w>" fo.writeline " <h>32</h>" fo.writeline " </Icon>" fo.writeline " </IconStyle>" fo.writeline " <LabelStyle>" fo.writeline " <scale>1.1</scale>" fo.writeline " </LabelStyle>" fo.writeline " <LineStyle id=""khLineStyle989_copy1"">" fo.writeline " <color>7f0000ff</color>" fo.writeline " <width>4</width>" fo.writeline " </LineStyle>" fo.writeline " </Style>" fo.writeline " <Folder>" fo.writeline " <name>Lieux temporaires</name>" fo.writeline " <open>1</open>" fo.writeline " <Folder>" fo.writeline " <name>2007-06-09:06:22:06</name>" fo.writeline " <open>1</open>" fo.writeline " <Placemark>" fo.writeline " <name>TrackPoints</name>" fo.writeline " <description>2007-06-09:06:22:06</description>" fo.writeline " <styleUrl>#default+nicon=0x467+hicon=0x477</styleUrl>" fo.writeline " </Placemark>" end sub function pt(xy) ixy=instr(xy,",") if ixy>0 then pt=mid(xy,1,ixy-1) & "." & mid(xy,ixy+1) else pt=xy end if end function function jnstr(dans,a,quoi) www=mid(dans,a) jnstr=instr(www,quoi)+a end function