DiaKeyEdit, formlarda kullanıcıların kod alanı (carikarkodu, stokkartkodu) girişi yapabilmesi için kullanılan düzenlenebilir bir alan (input) nesnesidir. Metin alanına benzer görünse de, kod alanlarına özgü özellikler sunar: otomatik büyük harf dönüşümü, F8 ile sıradaki kod getirme ve numara şablonu desteği. Arka plan rengi, yazı rengi, font ve hizalama gibi görsel özelliklerinin yanında; ipucu, maksimum uzunluk, numara şablonu ve aksiyon tanımlamaları gibi etkileşimsel özellikler de destekler.

Not: DiaKeyEdit, girilen karakterleri otomatik olarak büyük harfe çevirir. F8 tuşuna basıldığında, şablon tanımlıysa sıradaki kod otomatik üretilir ve alana yazılır.

Adı Default Değerleri Amacı
🆔 Nesne ID diaKeyEdit_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şlangıç değeri veya açıklama yazısıdır.
🎨 Arka Plan Rengi ⚪ Beyaz Renk seçici Kod alanının arka plan rengini belirler.
✒️ Yazı Rengi ⚫ Siyah Renk seçici Kullanıcının girdiği metnin rengini belirler.
🔤 Font Helvetica Sistem fontları Yazının tipografisini belirler.
🔠 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.
📏 Maksimum Uzunluk 200 1–999 Girilebilecek maksimum karakter sayısını sınırlar.
📋 Şablon - Numara şablonu listesi Cari kart kodu, stok kart kodu, fiş no vb. için tanımlı numara şablonlarından birini seçer. Otomatik sıra numarası üretiminde kullanılır.
🔖 Ön Ek - Serbest metin Şablon kullanıldığında kodun başına eklenecek sabit ön ek.
⚙️ Parametreler - JSON (tarih, subekey, depokey vb.) Numara üretimi için ekran verileri (tarih, şube, depo, kasa vb.) override edilebilir.
↔️ Yatay Hizalama Sola Sol / Orta / Sağ Metnin yatay konumunu ayarlar.
↕️ Dikey Hizalama Orta Üst / Orta / Alt Metnin kutu içerisindeki dikey konumunu ayarlar.
💬 İ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.
🔒 Salt Okunur Hayır Evet / Hayır Alanın sadece okunabilir olmasını sağlar. Kullanıcı içerik değiştiremez.
🎭 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.

DiaKeyEdit 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.


🎯 Amaç Kod alanının değerini okur

📥 Parametre Yok

📤 Dönüş String değer

deger = diaKeyEdit_1.getValue()
print(deger)
# Çıktı: "Kullanıcı girişi"

🎯 Amaç Kod alanına yeni değer atar

📥 Parametre value (String)

📤 Dönüş Yok

diaKeyEdit_1.setValue("Yeni kod")
# Sonuç: "Yeni kod" görünür

🎯 Amaç Kod alanını temizler

📥 Parametre Yok

📤 Dönüş Yok

diaKeyEdit_1.clearValue()
# Sonuç: Kod alanı boş görünür


applyMaxLength(length)

Girilebilecek maksimum karakter sayısını ayarlar

# Maksimum 50 karakter
diaKeyEdit_1.applyMaxLength(50)

# Cari kart kodu için
diaKeyEdit_1.applyMaxLength(20)

setTemplate(tableName, columnName, prefix=None, date=None, templateType=None)

Şablon bilgisini set eder ve widget'ı başlatır

# Cari kart kodu şablonu
diaKeyEdit_1.setTemplate("scf_carikart", "carikartkodu", prefix="C")

# Stok kart kodu şablonu
diaKeyEdit_1.setTemplate("scf_stokkart", "stokkartkodu")


Nesne ID'sini döndürür

nesneID = diaKeyEdit_1.getId()
print(f"ID: {nesneID}")
# Çıktı: ID: diaKeyEdit_1

Nesne ID'sini değiştirir

diaKeyEdit_1.setId("carikartkodu")
# Yeni ID: carikartkodu


🖌️ Arkaplan Rengi

setBackgroundColor(color)

diaKeyEdit_1.setBackgroundColor("#F0F8FF")
diaKeyEdit_1.setBackgroundColor("lightgray")
diaKeyEdit_1.setBackgroundColor("rgb(240,248,255)")

getBackgroundColor()

renk = diaKeyEdit_1.getBackgroundColor()
print(f"Arkaplan: {renk}")
# Çıktı: Arkaplan: #F0F8FF

✒️ Yazı Rengi

setFontColor(color)

diaKeyEdit_1.setFontColor("#333333")
diaKeyEdit_1.setFontColor("darkblue")
diaKeyEdit_1.setFontColor("rgb(51,51,51)")

getFontColor()

yaziRengi = diaKeyEdit_1.getFontColor()
print(f"Yazı rengi: {yaziRengi}")
# Çıktı: Yazı rengi: #333333


setFontSize(size)

diaKeyEdit_1.setFontSize(14)

getFontSize()

boyut = diaKeyEdit_1.getFontSize()
print(f"Boyut: {boyut}")
# Çıktı: Boyut: 14px

setFont(fontName)

diaKeyEdit_1.setFont("Consolas")

getFont()

font = diaKeyEdit_1.getFont()
print(f"Font: {font}")
# Çıktı: Font: "Consolas"

setTextAlign(vAlign, hAlign)

# Ortada hizala
diaKeyEdit_1.setTextAlign("AlignVCenter", "AlignHCenter")

# Sağa hizala
diaKeyEdit_1.setTextAlign("AlignVCenter", "AlignRight")


Kalın

diaKeyEdit_1.setBold(True)
# Yazı kalınlaşır

diaKeyEdit_1.setBold(False)
# Normal yazı

İtalik

diaKeyEdit_1.setItalic(True)
# Yazı italik olur

diaKeyEdit_1.setItalic(False)
# Normal yazı

Alt Çizgi

diaKeyEdit_1.setUnderline(True)
# Altı çizili

diaKeyEdit_1.setUnderline(False)
# Çizgi yok

Üst Çizgi

diaKeyEdit_1.setLineThrough(True)
# Üstü çizili

diaKeyEdit_1.setLineThrough(False)
# Çizgi yok


🔢 Cari Kart Kodu Alanı

# Cari kart kodu girişi
diaKeyEdit_1.setTemplate("scf_carikart", "carikartkodu", prefix="C")
diaKeyEdit_1.setBackgroundColor("#FFF3CD")
diaKeyEdit_1.setFontColor("#856404")
diaKeyEdit_1.applyMaxLength(20)
diaKeyEdit_1.setFont("Consolas")

📦 Stok Kart Kodu Alanı

# Stok kart kodu girişi
diaKeyEdit_1.setTemplate("scf_stokkart", "stokkartkodu")
diaKeyEdit_1.setFont("Arial Black")
diaKeyEdit_1.setFontSize(14)
diaKeyEdit_1.setBold(True)
diaKeyEdit_1.setFontColor("#DC3545")
diaKeyEdit_1.applyMaxLength(20)


🎯 Amaç Kullanıcı kod alanındaki içeriği değiştirdiğinde tetiklenir.

📥 Parametre Yeni metin (str)

📥 Dönüş Yok

 print("Metin değişti:", newText) 

🎯 Amaç Kullanıcı Enter tuşuna bastığında tetiklenir.

📥 Parametre Yok

📥 Dönüş Yok

print("Enter tuşuna basıldı") 

🎯 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ı") 

🎯 Amaç Kod alanı odaklandığında tetiklenir.

📥 Parametre Yok

📤 Dönüş Yok

 print("Alan seçildi (focus in)") 

🎯 Amaç Kod alanı odaktan çıktığında tetiklenir.

📥 Parametre Yok

📥 Dönüş Yok

 print("Alan odaktan çıktı (focus out)")