home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / Chip_2000-02_cd.bin / tema / ArcData / www / download / MULTI2~1.AVE < prev    next >
Encoding:
Text File  |  1999-12-17  |  2.1 KB  |  85 lines

  1. '------------multipoint2point-------------------------
  2. '┌Φel: p°evßdφ aktivnφ tΘma typu multipoint na tΘma typu point.
  3. 'Pou₧itφ:  po kompilaci skriptu p°idejte do menu tlaΦφtek v rozhranφ pro dokument Zobrazenφ novΘ tlaΦφtko  a jeho vlastenosti Click tento skript p°i°a∩te.  P°ed spuÜt∞nφm ud∞lejte tΘma typu multipoint aktivnφ. Atributy ka₧dΘho p°evßd∞nΘho prvku jsou p°i°azeny vÜem nov∞ vznikl²m bod∙m.
  4. mpthm = MsgBox.Choice (av.getactivedoc.getthemes, "Vyberte tΘma typu MULTIPOINT:", "")
  5. if(mpthm=nil) then return nil end
  6. aftab = mpthm.getftab
  7. ashape = aftab.findfield("shape")
  8.  
  9. if(ashape.gettype <> #FIELD_SHAPEMULTIPOINT) then
  10.  msgbox.warning("TΘma nenφ typu MULTIPOINT!","")
  11.  return nil
  12. end
  13.  
  14. if(aftab.getfields.count < 2) then
  15.  msgbox.warning("TΘma musφ mφt alespo≥ 2 pole!","")
  16.  return nil
  17. end
  18.  
  19. pfn = FileDialog.Put ("point.shp".AsFilename, "*.shp", "")
  20.  
  21. nftab = FTab.MakeNew (pfn, Point)
  22. newshape = nftab.findfield("shape")
  23.  
  24. nlist={}
  25.  
  26. for each f in aftab.getfields
  27.   if (f.GetName = "Shape") then
  28.     continue
  29.   else 
  30.    fCopy = f.Clone
  31.     nlist.Add(fCopy)
  32.   end
  33. end
  34.  
  35. nftab.SetEditable(true)
  36.  nftab.addfields(nlist)
  37.  
  38.  if (nftab.CanAddRecord) then
  39.     for each reca in aftab
  40.      mp = aftab.returnvalue(ashape,reca)
  41.      plist = mp.aslist
  42.        for each p in plist
  43.          i = nftab.AddRecord
  44.          nftab.SetValue(newshape,i,p)
  45.            for each f in nlist             
  46.              nftab.SetValue(f,i,aftab.returnvalue(aftab.findfield(f.getname),reca))
  47.            end 
  48.        end
  49.      end
  50.   else
  51.     msgbox.warning("Nelye p°idat zßznam!","")
  52.     return nil
  53.   end
  54.  
  55. nftab.SetEditable(false)
  56.  
  57. viewList = {}
  58. for each d in av.GetProject.GetDocs
  59.   if (d.Is(View)) then
  60.     viewList.Add( d )
  61.   end
  62. end
  63.   
  64. if (MsgBox.YesNo("P°idat tΘma do zobrazenφ?","", true).Not) then 
  65.   exit 
  66. end
  67.  
  68. viewList.Add("<New View>")
  69.   
  70. addToView = MsgBox.ListAsString( viewList,"Vyberte zobrazenφ", "" ) 
  71.   
  72. if (addToView <> nil) then
  73.  
  74.   if (addToView = "<New View>") then
  75.     addToView = View.Make
  76.     addToView.GetWin.Open
  77.   end
  78.   
  79.   ptheme = FTheme.Make(nfTab )
  80.   addToView.AddTheme(ptheme)
  81.  
  82.   addToView.GetWin.Activate
  83. end
  84.  
  85.