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-alan-ad-ilk-harf-buyuk

sabangul67@gmail.com
Mayıs 17, 20254 dk okuma16 görüntülenme

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

Automatically Format Object Names in Netcad: Capitalize First Letter, Lowercase Rest! 🚀


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.

This macro formats the names (pname) of selected objects in Netcad software according to a specific pattern. It capitalizes the first letter, converts the remaining letters to lowercase, and handles Turkish characters (İ, ı, I, i) correctly. For example, “istanbul” becomes “Istanbul”. The macro takes a selection set (e.g., lines) from the user, processes each object’s name, and updates the Netcad display. It’s highly useful for ensuring data consistency and achieving a professional look. With Turkish character support, it also corrects common spelling issues in local projects.


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.

The macro consists of two main subroutines: Sub Main and HarfDuzelt. First, Sub Main retrieves a selection set (e.g., polyline objects) from the user and starts a loop to process each object individually. Each selected object is sent to the HarfDuzelt function. This function takes the object name (pname), trims spaces, converts Turkish characters (İ → i, I → ı) appropriately, and lowers all letters initially. Then, it capitalizes the first letter and adjusts the remaining letters based on the preceding character’s state (e.g., capitalizing after a space). Finally, the formatted name is assigned to the object, and the Netcad display is updated. The macro cleans up used resources (SEL, o, u) to free memory.


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 macro, object name formatting, capitalize first letter, Turkish character support, data consistency, automation, VBScript, Netcad automation, letter correction, professional data 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

Yazar

sabangul67@gmail.com

Bu yazarın yayınladığı diğer içerikleri inceleyebilirsiniz.

Tüm yazıları