Home / Netcad Makro / Alan Obje Adlarında İlk Harf Büyük Sonra Küçük Harf Düzenleme Makrosu (Macro for Capitalizing First Letter and Lowercasing Rest in Polyline Object Names)

Alan Obje Adlarında İlk Harf Büyük Sonra Küçük Harf Düzenleme Makrosu (Macro for Capitalizing First Letter and Lowercasing Rest in Polyline Object Names)

Netcad’de Obje Adlarını Otomatik Düzenleyin: İlk Harf Büyük, Kalanı Küçük Harf! 🚀


Bu makro, Netcad yazılımında seçilen objelerin adlarını (pname) belirli bir düzene göre formatlar. Özellikle, obje adlarındaki ilk harfi büyük yapar, kalan harfleri küçük harfe çevirir ve Türkçe karakterler (İ, ı, I, i) için doğru dönüşümleri gerçekleştirir. Örneğin, “istanbul” yazımı “Istanbul” olarak düzenlenir. Makro, kullanıcıdan bir seçim seti (örneğin, çizgiler) alır, her bir objenin adını işler ve sonucu Netcad ekranına yansıtır. Bu, veri düzenliliği sağlamak ve profesyonel bir görünüm elde etmek için oldukça kullanışlıdır. Türkçe karakter desteği sayesinde, yerel projelerde sıkça karşılaşılan yazım hatalarını da düzeltir.


Nasıl Çalışır (How Does It Work)

Makro, iki ana alt programdan oluşur: Sub Main ve HarfDuzelt. İlk olarak, Sub Main kullanıcıdan bir seçim seti (örneğin, polyline objeleri) alır ve her bir objeyi tek tek işlemek için bir döngü başlatır. Seçilen her obje, HarfDuzelt fonksiyonuna gönderilir. Bu fonksiyon, obje adını (pname) alır, boşlukları temizler, Türkçe karakterleri (İ → i, I → ı) uygun şekilde dönüştürür ve tüm harfleri önce küçük harfe çevirir. Ardından, ilk harfi büyük harfe çevirir ve kalan harfleri, önceki harfin durumuna göre düzenler. Örneğin, bir boşluktan sonraki harf büyük yapılır. Son olarak, düzenlenmiş ad objeye atanır ve Netcad ekranı güncellenir. Makro, kaynakları serbest bırakmak için kullanılan nesneleri (SEL, o, u) temizler.


Etiket ( Labels )

Netcad makro, obje adı düzenleme, ilk harf büyük, Türkçe karakter desteği, veri düzenliliği, otomasSurgical, VBScript, Netcad otomasyon, harf düzeltme, profesyonel veri formatı


📝 Netcad NVB Code

VB
Sub Main
Dim i,j,o,SEL,u
  with Netcad
     set SEL = .NewSelectionSet
     set o = .NewObject
     ' Kullanıcıdan obje seçimi alınır
     if SEL.SELECT("Başharfleri büyütülecek alanları seçiniz. [SAGULCAD]",array(opline)) then
      for i = 0 to SEL.NE-1
        j = SEL.GetSelectedObject(i, o)
          HarfDuzelt o
        .putobject j, o
       next
     SEL.RedrawAndRewind
     set u=.GetCurrentWindow
     .SetCurrentWindow u,1
     end if
     ' Kullanılan nesneler temizlenir
     set u=nothing
     set SEL = nothing
     set o = nothing
   end with
end sub

Sub HarfDuzelt(o)
dim i,str,k
o.pname=trim( o.pname)
' Türkçe karakter dönüşümleri
o.pname=Replace( o.pname,"İ","i")
o.pname=Replace( o.pname,"I","ı")
o.pname=lcase(o.pname)
o.pname=Replace( o.pname," ı"," I")
o.pname=Replace( o.pname," i"," İ")
str=left(o.pname,1)
' İlk harf için özel kontrol
if str="i" then str="İ"
if str="ı" then str="I"
   str=ucase(str)
   ' Kalan harfler için döngü
     for i=2 to len(o.pname)
       if mid(o.pname,i-1,1)<"A" then
        str=str+ucase(mid(o.pname,i,1))
       else
        str=str+mid(o.pname,i,1)
        end if
      next
 o.s=str
end sub
VB

netcad-alan-ad-ilk-harf-buyuk

⚠️ Dikkat! Netcad Makrosu Kullanımı Hakkında Bilgilendirme

Makroyu kullanmadan önce lütfen aşağıdaki uyarıları dikkatlice okuyunuz:

• Obje sayısı yüksekse işlem uzun sürebilir ve Netcad yazılımı yanıt veremez hale gelebilir.
• Bu nedenle tüm projelerinizi önceden yedeklemeniz önemle tavsiye edilir.
• Makro çalıştıktan sonra işlemi geri almak mümkün olmayabilir.
Makrolar periyodik olarak güncellenmektedir; sayfamızı takip ederek güncel sürümleri kullanmaya özen gösteriniz.

💾 Makrolar yalnızca Netcad yazılımında çalışır ve .nps formatında sunulur. Bu format düzenlenemez; özelleştirme talepleriniz için bizimle iletişime geçebilirsiniz.

✉️ Görüş, öneri ve hata bildirimleri için: sabangul67@gmail.com

⚙️ Bu makrolar Kadastro, 2B, Orman, Kamulaştırma, Değerleme, CBS, Halihazır Harita, İmar Planı, Etüt-Proje gibi birçok alanda kullanılabilir.

🔐 Makrolar e-posta eki veya sosyal medya üzerinden paylaşılmaz. Talepte bulunmanız durumunda yalnızca e-posta adresinize bilgilendirme yapılır. Makrolar yalnızca internet sitemiz üzerinden paylaşılır.

📥 Makroları indirerek kullanım sorumluluğunu kabul etmiş sayılırsınız. Oluşabilecek tüm sorunlar kullanıcı sorumluluğundadır.