Metin (DİAText)
DİAText, formlarda kullanıcıların metin girişi yapabilmesi için kullanılan düzenlenebilir bir alan (input) nesnesidir. Bu nesne sayesinde kullanıcıdan veri toplanabilir, girilen metin üzerinde doğrulama yapılabilir ve formun tasarımına uygun görsel ayarlamalar yapılabilir. Arka plan rengi, yazı rengi, font ve hizalama gibi görsel özelliklerinin yanında; ipucu, placeholder, regex doğrulaması ve aksiyon tanımlamaları gibi etkileşimsel özellikler de destekler.
Özellikler
| Adı | Default | Değerleri | Amacı |
|---|---|---|---|
| 🆔 Nesne ID | diaText_1 | Örn: carikartkodu | Nesneye atanacak benzersiz kimliktir. Süreç tasarımında ve kod tarafında bu ID üzerinden erişim sağlanır. |
| 🏷️ Değer | - | Serbest metin | Form üzerinde kullanıcıya gösterilecek başlık veya açıklama yazısıdır. |
| 🎨 Arka Plan Rengi | ⚪ | 🟢 Yeşil / 🔵 Mavi / 🟣 Mor | Metin kutusunun arka plan rengini belirler. Görselliği artırmak veya önemli alanları vurgulamak için kullanılır. |
| ✒️ Yazı Rengi | ⚫ | 🟢 Yeşil / 🔵 Mavi / 🟣 Mor | Kullanıcının girdiği veya placeholder olarak görünen metnin rengini belirler. |
| 🔤 Font | Helvetica | Sistem fontları | Yazının tipografisini belirler. Örn: Arial, Times New Roman. |
| 🔠 Font Boyu | 12 pt | Sayısal değer | Yazının büyüklüğünü ayarlar. |
| 🔡 Font Tipi | Normal | Koyu, İtalik, Altı Çizgili, Üstü Çizgili | Metin stilini belirler. Birden fazla stil aynı anda uygulanabilir. |
| ↔️ Yatay Hizalama | Sola | Sol / Orta / Sağ | Metnin yatay konumunu ayarlar. Özellikle başlık veya etiketler için önemlidir. |
| ↕️ Dikey Hizalama | Orta | Üst / Orta / Alt | Metnin kutu içerisindeki dikey konumunu ayarlar. |
| 💬 Klavye | - | Göster / Gösterme | İnput yanında sanal klavyeyi açıp kapatmayı kontrol eder. |
| 💬 Yardımcı Metin (Placeholder) | - | Serbest metin | Alan boşken görünen açıklama yazısıdır. Kullanıcıya hangi bilgiyi girmesi gerektiğini anlatır. |
| 💬 İpucu (Tooltip) | - | Serbest metin | Alanın üzerine gelindiğinde küçük bilgi kutusu şeklinde görünen açıklamadır. |
| 👁️ Gösterim | Görünür | Görünür / Gizli | Nesnenin formda görünüp görünmeyeceğini belirler. |
| ❗ Zorunluluk | Hayır | Evet / Hayır | Kullanıcı bu alanı doldurmadan formu kaydedemez. |
| 🔒 Salt Okunur | Hayır | Evet / Hayır | Alanın sadece okunabilir olmasını sağlar. Kullanıcı içerik değiştiremez. |
| 🔑 Parola Modu | Normal | Normal / Yazarken Gizle / Yazarken Göster | Metnin parola şeklinde gizlenip gizlenmeyeceğini belirler. |
| 🧩 Regex Doğrulama | - | Regex ifadesi | Kullanıcının girdiği metni belirli bir kurala göre doğrulamak için kullanılır (örn: e-posta, telefon). |
| 🎭 Stil (CSS Sınıfı) | - | CSS sınıfı | Tasarım tarafında özel CSS sınıfları eklenerek özelleştirilmiş görsel stil uygulanabilir. |
| 🖱️ Aksiyon (Text Changed) | - | Olay bağlanabilir | Kullanıcı metin değiştirdiğinde tetiklenir. |
| 🖱️ Aksiyon (Return Pressed) | - | Olay bağlanabilir | Kullanıcı Enter tuşuna bastığında tetiklenir. |
| 🖱️ Aksiyon (Editing Finished) | - | Olay bağlanabilir | Kullanıcı yazma işlemini tamamladığında (fokus kaybı veya enter) çalışır. |
| 🖱️ Aksiyon (Focus In) | - | Olay bağlanabilir | Alan seçildiğinde tetiklenir. |
| 🖱️ Aksiyon (Focus Out) | - | Olay bağlanabilir | Alan odaktan çıktığında tetiklenir. |
Fonksiyonlar
DİAText nesnesi için kullanılabilir tüm fonksiyonlar, kullanım örnekleri ve çıktıları ile birlikte aşağıda kategorize edilmiştir. Nesne özelliklerinde yer alan aksiyon alanlarında açılan DİAScript editörü üzerinde fonksiyonlar kullanılabilir.
📝 Değer İşlemleri
📖 getValue()
🎯 Amaç Text alanının değerini okur
📥 Parametre Yok
📤 Dönüş String değer
deger = diaText_1.getValue() print(deger) # Çıktı: "Kullanıcı girişi"
✏️ setValue()
🎯 Amaç Text alanına yeni değer atar
📥 Parametre value (String)
📤 Dönüş Yok
diaText_1.setValue("Yeni metin")
# Sonuç: "Yeni metin" görünür
🗑️ clearValue()
🎯 Amaç Text alanını temizler
📥 Parametre Yok
📤 Dönüş Yok
diaText_1.clearValue() # Sonuç: Text alanı boş görünür
🔒 Giriş Kontrolü
📏 Maksimum Uzunluk
applyMaxLength(length)
Girilebilecek maksimum karakter sayısını ayarlar
# Maksimum 50 karakter diaText_1.applyMaxLength(50) # Telefon numarası için diaText_1.applyMaxLength(11)
🎭 Giriş Maskesi
applyMask(mask) / clearMask()
Belirli format zorlar
# Tarih formatı
diaText_1.applyMask("0000-00-00")
# Telefon formatı
diaText_1.applyMask("(000) 000-0000")
# Maskeyi kaldır
diaText_1.clearMask()
🔤 Metin Dönüşümü
🔠 Büyük Harf Modu
enableAlwaysUpper()
Girilen tüm harfleri otomatik büyük harfe çevirir
diaText_1.enableAlwaysUpper() # Kullanıcı "merhaba" yazsa "MERHABA" görünür
disableAlwaysUpper()
Büyük harf modunu devre dışı bırakır
diaText_1.disableAlwaysUpper() # Normal yazım moduna döner
🔐 Parola Modu
enablePasswordMode()
Girilen karakterleri gizler
diaText_1.enablePasswordMode() # Yazılan karakterler ••••• şeklinde görünür
disablePasswordMode()
Normal görünüm moduna döner
diaText_1.disablePasswordMode() # Yazılan karakterler normal görünür
🆔 Kimlik Yönetimi
🔍 getId()
Nesne ID'sini döndürür
nesneID = diaText_1.getId()
print(f"ID: {nesneID}")
# Çıktı: ID: diaText_1
🏷️ setId()
Nesne ID'sini değiştirir
diaText_1.setId("kullaniciAdiText")
# Yeni ID: kullaniciAdiText
🎨 Renk Kontrolü
🖌️ Arkaplan Rengi
setBackgroundColor(color)
# Hex kod
diaText_1.setBackgroundColor("#F0F8FF")
# Renk ismi
diaText_1.setBackgroundColor("lightgray")
# RGB
diaText_1.setBackgroundColor("rgb(240,248,255)")
getBackgroundColor()
renk = diaText_1.getBackgroundColor()
print(f"Arkaplan: {renk}")
# Çıktı: Arkaplan: #F0F8FF
✒️ Yazı Rengi
setFontColor(color)
# Farklı formatlar
diaText_1.setFontColor("#333333")
diaText_1.setFontColor("darkblue")
diaText_1.setFontColor("rgb(51,51,51)")
getFontColor()
yaziRengi = diaText_1.getFontColor()
print(f"Yazı rengi: {yaziRengi}")
# Çıktı: Yazı rengi: #333333
🔤 Font Ayarları
📏 Boyut
setFontSize(size)
diaText_1.setFontSize(14)
getFontSize()
boyut = diaText_1.getFontSize()
print(f"Boyut: {boyut}")
# Çıktı: Boyut: 14px
🔤 Tip
setFont(fontName)
diaText_1.setFont("Consolas")
getFont()
font = diaText_1.getFont()
print(f"Font: {font}")
# Çıktı: Font: "Consolas"
↔️ Hizalama
setTextAlign(vAlign, hAlign)
# Ortada hizala
diaText_1.setTextAlign("AlignVCenter", "AlignHCenter")
# Sağa hizala
diaText_1.setTextAlign("AlignVCenter", "AlignRight")
✨ Stil Efektleri
Kalın
diaText_1.setBold(True) # Yazı kalınlaşır diaText_1.setBold(False) # Normal yazı
İtalik
diaText_1.setItalic(True) # Yazı italik olur diaText_1.setItalic(False) # Normal yazı
Alt Çizgi
diaText_1.setUnderline(True) # Altı çizili diaText_1.setUnderline(False) # Çizgi yok
Üst Çizgi
diaText_1.setLineThrough(True) # Üstü çizili diaText_1.setLineThrough(False) # Çizgi yok
🚀 Kullanım Örnekleri
🔐 Parola Alanı
# Güvenli parola girişi
diaText_1.enablePasswordMode()
diaText_1.setBackgroundColor("#FFF3CD")
diaText_1.setFontColor("#856404")
diaText_1.applyMaxLength(20)
diaText_1.setFont("Consolas")
🔠 Büyük Harf Zorunlu Alan
# Kimlik/Plaka girişi
diaText_1.enableAlwaysUpper()
diaText_1.setFont("Arial Black")
diaText_1.setFontSize(16)
diaText_1.setBold(True)
diaText_1.setFontColor("#DC3545")
diaText_1.applyMaxLength(10)
🖱️ Kullanıcı Etkileşimi
🔤 Text Changed
🎯 Amaç Kullanıcı metin alanındaki içeriği değiştirdiğinde tetiklenir.
📥 Parametre Yeni metin (str)
📥 Dönüş Yok
print("Metin değişti:", newText)
↩️ Return Pressed
🎯 Amaç Kullanıcı Enter tuşuna bastığında tetiklenir.
📥 Parametre Yok
📥 Dönüş Yok
print("Enter tuşuna basıldı")
✅ Editing Finished
🎯 Amaç Kullanıcı yazma işlemini bitirdiğinde (Enter tuşu veya fokus kaybı) tetiklenir.
📥 Parametre Yok
📥 Dönüş Yok
print("Metin düzenleme tamamlandı")
👁️ Focus In
🎯 Amaç Metin alanı odaklandığında tetiklenir.
📥 Parametre Yok
📤 Dönüş Yok
print("Alan seçildi (focus in)")
👁️ Focus Out
🎯 Amaç Metin alanı odaktan çıktığında tetiklenir.
📥 Parametre Yok
📥 Dönüş Yok
print("Alan odaktan çıktı (focus out)")
