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.

14.02.2024 Tarihli Duyurumuz: Bu sayfadaki makrolarımız 10 yıl önce hazırlanmış olup artık desteklenmemekte ve daha geliştirilmiş versiyonu SAGULCAD modülü ile yine ücretsiz sunulmaktadır. Aşağıda verilen Bağlantılar hala çalışmaktadır fakat en geç 31.12.2025 tarihinde kaldırılması planlanmaktadır. Aynı makroyu SAGULCAD modülü içerisinde bulabileceğinizi unutmayınız. Lütfen aşağıdaki makroları kullanmayınız.

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
 

No responses yet

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir