Desktop tətbiq#
alqor işlət 06-desktop.alq pəncərəni açır
alqor işlət 06-desktop.alq -- sınaq pəncərə açmadan yoxlayırNecə işlətmək#
PowerShell
alqor işlət numuneler\06-desktop.alqStudio-da: faylı açın və F5 basın. Nümunələr ilk açılışda Sənədlər\Alqor\nümunələr qovluğuna kopyalanır.
Kod#
Alqor
// Nümunə 6 — Desktop tətbiq
//
// alqor işlət 06-desktop.alq pəncərəni açır
// alqor işlət 06-desktop.alq -- sınaq pəncərə açmadan yoxlayır
gətir pəncərə
gətir pəncərə.dialoq
gətir fayl
komponent Sayğac
vəziyyət say: tam = 0
vəziyyət tarixçə: siyahı[tam] = []
hesablanan cəmi: tam
qaytar özü.tarixçə.cəm()
son
metod artır()
özü.say += 1
özü.tarixçə.əlavə(özü.say)
son
metod azalt()
özü.say -= 1
özü.tarixçə.əlavə(özü.say)
son
metod sıfırla()
əgər dialoq.təsdiqlə("Sıfırlansın?", "Tarixçə də silinəcək") onda
özü.say = 0
özü.tarixçə = []
son
son
metod saxla()
varsa yol = dialoq.faylSaxla(standartAd: "sayğac.txt") onda
fayl.yaz(yol, özü.tarixçə.çevir(mətnƏt).birləşdir("\n"))
pəncərə.bildiriş("Saxlanıldı", "Fayl: {yol}")
son
son
göstər()
qaytar <div sinif="sayğac">
<h1>{özü.say}</h1>
<div sinif="düymələr">
<button klik={özü.azalt}>-</button>
<button klik={özü.artır}>+</button>
<button klik={özü.sıfırla}>Sıfırla</button>
</div>
<p>Addım sayı: {uzunluq(özü.tarixçə)} | Cəmi: {özü.cəmi}</p>
</div>
son
son
funksiya pəncərəniQur() -> istənilən
dəyişən s = yeni Sayğac()
dəyişən p = yeni pəncərə.Pəncərə("Sayğac", 400, 300)
p.menyu([
pəncərə.menyu("Fayl", [
pəncərə.element("Saxla...", qısayol: "Ctrl+S", klik: s.saxla),
pəncərə.ayırıcı(),
pəncərə.element("Çıxış", qısayol: "Ctrl+Q",
klik: () => p.bağla())
])
])
// Xam çoxsətirli mətn: CSS-dəki `{...}` interpolyasiya sayılmır
p.üslub(x"""
.sayğac{text-align:center;padding-top:24px}
.sayğac h1{font-size:72px;margin:0}
.düymələr{display:flex;gap:8px;justify-content:center}
""")
p.məzmun(<Sayğac />)
p.mərkəzə()
qaytar p
son
// ═══════════════════════════════════════════════════════════════
// Pəncərə açmadan yoxlama — `pəncərə.sınaq`
// ═══════════════════════════════════════════════════════════════
funksiya yoxla(p: istənilən)
dəyişən s = pəncərə.sınaq.aç(p)
yaz("── Pəncərə yoxlaması ──")
yaz("Başlıq : {s.başlıq()}")
yaz("İlk vəziyyət: {s.mətn()}")
s.klik("+")
s.klik("+")
s.klik("+")
yaz("Üç dəfə + : {s.mətn()}")
s.klik("-")
yaz("Bir dəfə - : {s.mətn()}")
// Dialoqun cavabını əvvəlcədən veririk
pəncərə.sınaq.cavablar([yanlış])
s.klik("Sıfırla")
yaz("Sıfırla/xeyr: {s.mətn()}")
pəncərə.sınaq.cavablar([doğru])
s.klik("Sıfırla")
yaz("Sıfırla/bəli: {s.mətn()}")
yaz("Dialoqlar : {uzunluq(pəncərə.sınaq.jurnal())} dəfə soruşuldu")
s.klik("Çıxış")
yaz("Çıxışdan son: açıqdır = {s.açıqdır()}")
son
funksiya əsas(arqumentlər: siyahı[mətn])
dəyişən p = pəncərəniQur()
əgər "sınaq" içindədir arqumentlər onda
yoxla(p)
qaytar
son
p.göstər()
yaz("Pəncərə açıldı ({pəncərə.aparıcı()}): {p.ünvan()}")
pəncərə.işlət()
son