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