Netcad Gelişmiş Nokta Adı Değiştirme (Netcad Makro)

Makro Hakkında:

Nokta adında bul değiştir işlemi, noktaya değer ekleme, noktanın başına veya noktanın sonuna metin ekleme işlevlerinin bir arada bulunduğu gelişmiş nokta adı değiştirme işlemi yapmaya yarar.

Uyarılar:

  • Yapılan işlemde önceki nokta isimleri korunmayacaktır.
  • Bu işlem seçtiğiniz tabakadaki tüm noktalara uygulanır.
  • Nokta adına sayısal değer ekleme işlemi sadece alan adı sayısal değer olan noktalara uygulanır.
  • Yapılan İşlemde Öncelikle Nokta İsmine Sayısal Değer Ekleme, Ardından Önce Başına, Sonra Sonuna Değer Ekleme ve en son Bul Değiştir işlemleri yapılır. Metin Ekleme en fazla 3 karakter sınırındadır.
  • NETCADDE NOKTA SAYISI EN FAZLA 10 KARAKTERDİR.
  • Bu işlemde geri alma işlemi tek tek yapılmaktadır. Bu nedenle ciddi anlamda yapacağınız değişikliklerde geri alma işleminiz çok uzun sürebilir.
  • Bu makroda Kilitli olan tabakalardaki objelerde işlem görecektir. Bu nedenle işlem görmek istemediğiniz tabakaları kilitlemek yerine kapatınız.
  • Netcad makrolarında hiçbir metni veya karakteri değiştirmeyiniz. Aksi halde makro işlevsiz hale gelebilir veya hatalı işlev ile karşılaşabilirsiniz.

İndirme Linkleri:

İndirme Linki-1: Google Drive ( Harita Akademi )

Makro Açık Kaynak Kodu:

'' www.sabangul.com.tr Web Sayfasından İndirilmiştir
' Şaban GÜL , Harita Mühendisi
' Her Türlü Hata, İstek ve Öneriler İçin 
' haritaakademi@gmail.com veya sagulnet@gmail.com
' adresine durumu anlatan bir e-posta gönderiniz.

Sub Main

Dim i
 dim obj
 dim regpoly
 dim bd ,bd2
 dim sagul,sagul2
 dim sabangul1,sabangul2,sabangul3,sabangul4,sabangul5
 with Netcad

set BD2 = Netcad.NewBDialog("Gelişmiş Nokta İsmi Değiştirme" [Harita Akademi, Şaban GÜL])
 BD2.PutPrompt "Yapılan İşlemde Öncelikle Nokta İsmine Sayısal Değer Ekleme"
 BD2.PutPrompt "Ardından Önce Başına, Sonra Sonuna Değer Ekleme ve en son "
 BD2.PutPrompt "Bul Değiştir işlemleri yapılır. Metin Ekleme en fazla 3 karakter sınırındadır"
 BD2.PutPrompt " "
 BD2.PutPrompt "NETCADDE NOKTA SAYISI EN FAZLA 10 KARAKTERDİR."
 BD2.PutPrompt " "

BD2.GetCombo "tabaka", "İşlem Görecek Tabaka Seçiniz: ", "0", 0
 for i = 1 to .numlayers-1
 BD2.AddCombo .LayerNameOf(i)
 next

BD2.GetCheck "tabaka2", "Tüm Tabakalarda İşlem Yapılsın",0

BD2.PutPrompt " "
 BD2.PutPrompt "Devam Etmek İçin Tamam Butonuna Basınız."
 if BD2.showmodal then

else
 exit sub
 end if



set BD = Netcad.NewBDialog("Gelişmiş Nokta İsmi Değiştirme" [Harita Akademi, Şaban GÜL])

BD.PutPrompt "Bir Noktanın Başına ve Sonuna Metin Ekleme"
 BD.Getstring "elifyaren1","Başına Ekle:","", 3
 BD.Getstring "elifyaren2","Sonuna Ekle:","", 3
 BD.PutPrompt " "
 BD.PutPrompt "Bir Noktanın Adında Bul Değiştir Yapma"
 BD.Getstring "elifyaren3","Eski Metin:","", 50
 BD.Getstring "elifyaren4","Yeni Metin:","", 50
 BD.PutPrompt " "
 BD.Getinteger "item","Nokta İsmine Sayısal Değer Ekle/Çıkart:",0



sagul=BD2.ValueByName("tabaka")
 sagul2= BD2.ValueByName("tabaka2")
 if BD.showmodal then

sabangul1= BD.ValueByName("elifyaren1")
 sabangul2= BD.ValueByName("elifyaren2")
 sabangul3= BD.ValueByName("elifyaren3")
 sabangul4= BD.ValueByName("elifyaren4")
 sabangul5= BD.ValueByName("item")
 if sagul2=1 then
 .SetFilter nothing, ARRAY(), ARRAY(opoint)
 else
 .SetFilter nothing, ARRAY(.FOUNDLAYER(sagul)), ARRAY(opoint)
 end if

on error resume next
 DO
 SET OBJ=.GETNEXTOBJECT

IF OBJ IS NOTHING THEN
 EXIT DO
 ELSE
 END IF

if sabangul5=0 then
 else
 obj.pname=obj.pname+sabangul5
 end if

obj.pname= sabangul1 & obj.pname
 obj.pname=obj.pname & sabangul2

obj.pname=replace(obj.pname,sabangul3,sabangul4)



.PUTOBJECT .CUROBJPOS,OBJ



LOOP



end if

.netcadcommand("REGEN")

end with

End Sub
 

Yazar: Şaban GÜL

Amacımız herkese yardımcı olabilmek. Haritacılık ile sınırlı kalmayıp birçok sektöre girmeye RAMAK kaldı :)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.