Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Anchor
page1
page1

2- Genel Komutlar



Değişken işlemleri Komutu (Set)
Image Added

İşlem

Kullanım

Açıklama

Örnek Kullanım

Eklendiği

 

Şekli

 

 

Sürüm

 

 

 

 

 

Değişkene

Set(değişken,

Bir değişkene değer atamak için kullanılır. Parametre olarak sabit bir değer ya da başka bir değişken verilebilir.

Set(@barkod, "B0001")

1.0

değer

değer)

 

Set(lot)

 

atama

 

 

 

 

Değişkene

Set(değişken,

Bir değişkenin alt kırılımında birden çok değer tutmak için kullanılır. Atanacak değer bölümü { } karakterleri arasında ve

Set(@stok,{"stk_kodu":1,"stk_adi":"@malzemeadi","stk_id":1})

1.0

çoklu

JSON)

geçerli JSON formatında yazılır.

Kullanım: @stok.stk_kodu

 

değer

 

JSON formatı dizileri de destekler. Dizi verildiği durumda, değişken değerleri birer satır gibi indeksli olarak kaydedilir.

Wiki Markup
Set(@firmalar,\{\["A firması", "B firması", "C firması"\]\})

 

atama

 

Eğer dizi elemanları için bir nesne tanımlanmamışsa index numarası kullanılır.

 

 

 

 

 

Kullanım: @firmalar.0

 

 

 

JSON içinde sabit metin ya da değişken kullanılabilir.

Wiki Markup
Set(@liste,\{"satirlar" : \[\{"adi": "Ali", "soyadi" : "Demir"\}, \{"adi": "Ali",

 

 

 

 

 

 

 

 

 

"soyadi" : "Demir"}]});

 

 

 

 

Kullanım: @liste.satirlar.0.adi

 


Metin

Set(değişken,

İki metni birleştirmek için kullanılır. Metinler çift tırnak içinde yazılmalıdır. Sabit metin ya da değişken yazılabilir.

birleştirme

metin1 +

 

 

metin2)

 

Aritmetik

Set(değişken,

Desteklenen işlemler: Toplama ( + ), Çıkarma ( - ), Çarpma ( - ), Bölme ( / ), Mod(%)

işlemler

sayı1 +-/*

İşlemlerde değişken kullanılacaksa, değişkenin sayı değeri olduğu varsayılır.

 

sayı2)

 

 

 

İşlemin sonucu hatalıysa, sonuç değişkeninin değeri "ERR" olur.

Stil

Set(@Style.

El terminali ekranında bilgi göstermekte kullanılan Text, ShowMessage, PopupView, TableView, MenuItem komutları

işlemleri

değişken,

için bir stil oluşturmayı sağlar. Stiller @Style nesnesi altında bir değişken olarak tanımlanır.

 

JSON)

 

Kullanılabilecek stil türleri :
color : Metin rengi - Arkaplan rengi (Telnet renk adlarıyla, çizgi işaretiyle ( - ) ayırarak)
Android için kullanılabilecek renk listesi: https://docs.microsoft.com/tr-tr/dotnet/api/xamarin.forms.color?
view=xamarin-forms
effect : Kalın/Altı çizili/Yanıp sönen (Bold-Underline-Blink birden çok seçenek çizgi işaretiyle ( - ) işaretiyle ayırarak kullanılabilir)
border : Kenarlık (Sadece Telnet için. Bu seçeneğin tanımlanması halinde, ekranda en az 3 satırlık yer kullanılır.)
None : Kenarlık yok
Single : Tek çizgi
Double: Çift çizgi
Dashed: Aralıklı çizgi
Thick : Kalın desen
size : Metin boyutu (Sadece Android için) (Kullanılabilecek değerler: 1-Minik, 2-Küçük, 3-Normal, 4-Büyük) Bu özellik kullanılmazsa varsayılan değer 2 olarak kabul edilir.
Varsayılan stil değerleri:
@Style.default.text (Varsayılan metin stili) : {"color" : "White-Black"}
@Style.default.border (Varsayılan çerçeve stili) : {"border" : "Single"}
@Style.default.title (Varsayılan başlık stili, başlık kullanan komutlar için) : {"color" : "White-Black"}
@Style.default.button1 (Varsayılan soldan 1. düğme stili, ShowMessage için) : {"color" : "Black-White"}
@Style.default.button2 (Varsayılan soldan 2. düğme stili, ShowMessage için) : {"color" : "Black-White"}
@Style.default.button3 (Varsayılan soldan 3. düğme stili, ShowMessage için ) : {"color" : "Black-White"}
@Style.default.menu (Varsayılan menü seçeneği stili ) : : {"color" : "White-Black"}
@Style.default.menuhover (Varsayılan seçili menü seçeneği stili ) : {"color" : "Black-White"}
@Style.default.columnHeader (Varsayılan tablo sütun başlıkları stili ) : : {"color" : "White-Black"}
Bu değerler oturum açıldığında üstteki değerlerle atanır, kullanıcı tarafından değiştirilebilir.

TableView/PopupView komutunun içinde gösterilen her bir alan için stil tanımlanabilir. @Style değişkenine eklenen fields alanı bu iş için kullanılır. PopupView/TableView tanımı sırasında, gösterilecek her bir alan için fields elemanı altında, alan indeks sayısına göre bir stil tanımlanabilir.


Set(@adsoyad, "Ali " + "Kaya")

1.0

Set(@barkod, "P"+"@kod")

 

Set(@sonuc,45 + 9)

1.0

Set(sayi1 - @sayi2)

 

Set(sayi % 5)

 

Set(@Style.hata, {"color" : "Black-White", "effect" : "Bold-Blink"})

1.0

Set(@Style.default.text, {"color" : "White-Red"})

Android için

 

1.2

Wiki Markup
<span style="color: #808080">Kullanım: Text(1,13, @MESAJ2,{"style":"@Style.hata"})</span>
\\
\\
Set(@Style.baslik, \{"color" : "Red-Black","effect" : "Bold-Blink", "size":"4"\}) // Android
\\
\\
Set(@Style.popup.fields.1, \{"color" : "Green", "effect" : "Bold", "size":"2"\})
\\
Set(@Style.popup.fields.2, \{"color" : "Red", "effect" : "Bold", "size":"
\\
1"\})
\\
PopupView(@liste.rows,\{"mode":"card","title":"Müşteri Listesi"," fields":\["Code|Kodu|10|L","Title|Ünvanı|20|L","City|Şehir|10|L"\], "style":"@Style.popup"\},@secim)
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="af5a3f0f-ce6d-4d60-b1e0-ae8602312b7e"><ac:parameter ac:name="">page2</ac:parameter></ac:structured-macro>\\
Metin ve Tarih Komutları
!worddava40123157ba154580c20b9f41ecd4f27.png|height=756,width=688!
\\

Komut

Kullanım Şekli

Açıklama

Adı

 

 

 

 

 

Left

Left(metin, karakter

Verilen metnin solundan itibaren belirtilen sayıda karakteri sonuç değişkenine atar.

 

sayısı, sonuç değişkeni)

 

Right

Right(metin, karakter

Verilen metnin sağından itibaren belirtilen sayıda karakteri sonuç değişkenine atar.

 

sayısı, sonuç değişkeni)

 

Mid

Mid(metin, başlangıç,

Verilen metnin başlangıç karakterinden itibaren belirtilen sayıda karakteri sonuç değişkenine atar.

 

uzunluk, sonuç

 

 

değişkeni)

 

Pos

Pos(aranan değer, json

Bir metnin ya da JSON dizisinin içinde aranan değerin bulunduğu pozisyonu sonuç değişkenine atar.

 

array ya da metin, sonuç

Metin içinde arama yapılıyorsa karakter konumunu, JSON dizisinde arama yapılıyorsa, dizinin kaçıncı

 

değişkeni)

elemanı olduğunu gösterir. JSON nesnesinde dizi adının "param" olması beklenir.

 

 

Aranan değer bulunamazsa "-1", işlem hatalıysa "ERR" sonucu döner.




TrimLeft

TrimLeft(metin,uzunluk,

Verilen metnin solundan itibaren belirtilen uzunluk kadarını siler.

 

sonuç değişkeni)

 

PadRight

PadRight(metin,

Verilen metnin sonuna, istenen karakterden belirtilen uzunlukta ekler.

 

uzunluk, karakter, sonuç

 

 

değişkeni)

 

Split

Split(metin, ayraç

Verilen metni, belirtilen karakterleri ayraç olarak olarak kullanarak parçalara böler. Verilen sonuç

 

karakteri,sonuç

değişkeninin alt kırılımlarındaki değerlere yerleştirir.

 

değişkeni)

 

SplitForm

SplitFormat(metin,

Metni verilen biçime göre değişkenlere böler.

at

biçim, sonuç değişkeni)

Biçim tanımlanırken 1-9 arası sayılar, oluşacak değişkenin alt elemanlarını temsil eder. Yani, 1 olarak

 

 

 

 

 

işaretlenmiş kısımları sonuç değişkeninin 1. alt elemanına atar.

 

 

  • karakteri sonuca dahil edilmeyecek bölümleri ifade eder.

 

 

  • karakteri başta ya da sonda kullanılır. Sonda kullanıldıysa, biçim uzunluğundan kalan kısım 10. alt

 

 

elemana atılır. Başta kullanıldıysa, metnin sağdan belirtilen biçim kadar kısmı işlenir, öncesi 10. alt

 

 

elemana atılır.





SplitRegex SplitRegex(metin, regex

Verilen metni, istenen Regular Expression ifadesine göre sonuç değişkenlerine böler.

biçimi, sonuç değişkeni)

Kullanılan Regular Expression ifadesi doğru tanımlanmalıdır.

 

 

 

Regular Expression ifadesinde kullanılan her parantez, değişkenin alt elemanı olarak çıktı verir.





Değişken. değişken.IsNumber Verilen değişkenin sayı olup olmadığını belirler. Sayı ise 0 değilse -1 değerini döner
IsNumber




Örnek Kullanım

Eklendiği

 

Sürüm

 

 

Left(@barkod,5,

1.0

@malzemekodu)

 

Right(@barkod,5,

1.0

@malzemekodu)

 

Mid(@barkod,5,4,

1.0

@malzemekodu)

 

Pos("001","P001",

1.0

@sonuc)

 

Sonuç: 2

 

Pos("K03",{"param":

 

Wiki Markup
\["K01","K02","K03"\]\},

 

@sonuc)

 

Sonuç:3

 

TrimLeft(@barkod,5,

1.0

@malzemekodu)

 

PadRight("K01",5,"0",

1.0

@sonuc)

 

Sonuç: K0100000

 

Split(@barkod, "-",

1.0

@kodlar)

 

Kullanım: @kodlar.1

 

SplitFormat

1.0

("NS140271.98",

 

"--111111-22",

 

@sonuc)

 

@sonuc.1 = 140271

 

@sonuc.2 = 98

 

SplitFormat

 

("123456999",

 

"111222*",@sonuc)

 

@sonuc.1 = 123

 

@sonuc.2 = 456

 

@sonuc.10 = 999

 

SplitRegex("SNO-AAA-

1.0

Wiki Markup
001","SNO-(\[A-Z\]\{3\})\[-.\]

 

(\d+)",@sonuc)

 

@sonuc.1 = AAA

 

@sonuc.2 = 001

 

https://regex101.com

 

/r/klWTkq/2

 

If(@kod.IsNumber="0",

1.0

Goto(Detay),Goto

 

(Hata))

 

Anchor
page3
page3
Image Added

Değişken.

değişken.IsDate

Verilen değişkenin tarih biçiminde olup olmadığını belirler. Tarih biçiminde ise 0 değilse -1 değerini

If(@kod.IsDate="0",

1.0

IsDate

 

döner

Goto(Detay),Goto

 

 

 

 

(Hata))

 

Değişken.

değişken.IsAlpha

Verilen değişkenin (harflerden ve sayılardan oluşan) alfanumerik bir değer olup olmadığını belirler.

If(@kod.IsAlpha="0",

1.0

IsAlpha

 

Biçimi uygun ise 0 değilse -1 değerini döner

Goto(Detay),Goto

 

 

 

 

(Hata))

 

Değişken.

değişken.Base64

Verilen değişkenin değerini Base64 olarak dönüştürür.

Text(1,1,

1.2

Base64

 

 

@malzemekodu.

 

 

 

 

Base64)

 

Today

Today(tarih biçimi,

Günün tarihini verilen biçime uygun olarak sonuç değişkenine atar. Kullanılabilecek tarih biçimleri için ş

Today("dd.MM.yyyy",

1.0

 

sonuç değişkeni)

u dokümana başvurulabilir.

@bugun)

 

Now

Now(tarih biçimi, sonuç

Şu anki tarih ve saat bilgisini verilen biçime uygun olarak sonuç değişkenine atar. Kullanılabilecek tarih

Now("hh:mm",@suan)

1.0

 

değişkeni)

biçimleri için şu dokümana başvurulabilir.

 

 

FormatDa

FormatDate(gün,ay,yıl,

Verilen gün/ay/yıl değerleri ile belirtilen biçimde tarih oluşturur. Eğer tarih için uygun değerler

FormatDate(1,1,2000,"

1.0

te

biçim,sonuç değişkeni)

verilmemişse geriye -1 değeri döner.

yyyy-MM-dd",@tarih)

 

FormatDa

FormatDateTime(gün,ay,

Verilen gün/ay/yıl/saat/dakika/saniye değerleri ile belirtilen biçimde tarih oluşturur. Eğer tarih için

FormatDateTime

1.0

teTime

yıl,saat, dakika, saniye,

uygun değerler verilmemişse geriye -1 değeri döner.

(1,1,2000,12,12,0,"

 

 

biçim,sonuç değişkeni)

 

yyyy-MM-dd hh:mm",

 

 

 

 

@tarih)

 

 

 

 

 

 




İşleyiş Komutları
Image Added

Komut

Kullanım Şekli

Açıklama

Örnek Kullanım

Eklendiği

Adı

 

 

 

Sürüm

 

 

 

 

 

BeginForm

BeginForm(Form adı)

Script içinde yeni bir form(bölüm) tanımı yapmak için kullanılır. Form adında Türkçe karakterler

BeginForm(Giris)

1.0

/EndForm

EndForm()

kullanılmaz.

Text(1,1,"Hoşgeldiniz")

 

 

 

 

EndForm()

 

GoForm

GoForm(Form adı)

Scriptin işleyişini belirtilen forma yönlendirir. Sonraki akış gidilen formun içinde tarif edilmelidir.

GoForm(SiparisKabul)

1.0

CallForm

CallForm(Form adı)

Scriptin işleyişini belirtilen forma yönlendirir ve gidilen formda ReturnForm() satırını

CallForm(Kontrol)

1.0

ReturnForm

ReturnForm()

gördüğünde, çağıran formda kalınan satıra geri döner.

Text(1,1,@kontrolsonucu)

 

 

 

 

BeginForm(Kontrol)

 

 

 

 

Set(@kontrolsonucu, 1+1)

 

 

 

 

ReturnForm()

 

 

 

 

EndForm()

 

SetReturnL

SetReturnLine()

Bir formun içinde scriptin işleyişini değiştirmek için kullanılır. SetReturnLine() komutunun

SetReturnLine()

1.0

ine

ReturnLine()

verildiği satır işaretlenir, form içinde başka bir yere işlem yönlendirildikten sonra ReturnLine()

if(@kontrolsonucu="",Goto(kontrol),Goto

 

ReturnLine

 

komutunu gördüğünde işaretlenmiş satıra döner.

(devam))

 

 

 

 

...

 

 

 

 

kontrol:

 

 

 

 

Set(@kontrolsonucu, 1+1)

 

 

 

 

ReturnLine()

 

KeyFunction

KeyFunction(tuş adı, komut)

Klavyedeki tuşlara komut atama yapmak için kullanılır.

KeyFunction("ESC",GoForm(SiparisKabul))

1.0


Tuş parametresi olarak, fonksiyon tuşları ya da ESC,TAB,DEL tuşları çift tırnak içinde yazılabilir.
(Ör. "F1", "TAB","ESC","DEL")
Komut parametresi olarak, basit STC komutlarının tamamı (parametresiz ya da tek parametreli)
kullanılabilir. (Ör. Goto(etiket), ClrScr(), Beep(), GoForm(form), CallForm(form))
Atanmış olan tuşların işlevi form boyunca geçerli kalır.
Goto Goto(etiket adı) Bir form içinde işleyişi belirtilen etikete yönlendirmek için kullanılır. if(@deger="1",Goto(kontrol),Goto(devam)) 1.0

Anchor
page4
page4
Image Added

CaseGoto

CaseGoto(değişken adı,

Verilen değişkenin değerine bağlı olarak belirtilen etikete gidilmesini sağlar. Değişkenin değeri ve

 

JSON)

gidilecek etiketin bilgileri JSON biçiminde tanımlanır.

If/Else

If(koşul, komut, komut)

Belirtilen koşula bağlı olarak işleyişi yönlendirir. Koşul bölümü AND/OR operatörlerini ve > < >=

/EndIf

If(koşul, komut)

<= != işaretlerini destekler.

 

 

 

 

If(koşul)

İki şekilde kullanılır:

 

 

 

 

Else()

1- Tek satırda kullanıldığında, hem koşul hem de işletilecek komutlar belirtilir.

 

EndIf()

Komut bölümlerinde parametre içermeyen ya da tek parametre içeren herhangi bir STC komutu

 

 

 

 

 

yazılabilir. Etiketlere gitme özelliği GOTO komutuyla yapılır.

 

 

2- Else ve EndIf ile birlikte kullanıldığında yapılacak işlemler ilgili kod blokları arasına yazılabilir.

 

 

İç içe If blokları oluşturulabilir.

 

 

Tek satırda, tek komut parametresiyle çalışan şekli (if,komut) 1.2 sürümüyle eklenmiştir.

For/Next

For(değişken adı, başlangıç,

Döngü ile işlem yapılmasını sağlar.

 

bitiş, artış)

Verilen değişken, döngü sırasında belirtilen artışa göre otomatik olarak değer alır. Döngü

 

Next()

 

 

 

bittiğinde, değişken silinir.

 

 

Eğer bir scriptte For komutu tanımlandıysa, Next() komutuna kadar bütün komutlar belirtilen

 

 

sayıda tekrarlanır.

 

 

İç içe FOR döngüleri oluşturulabilir.

ResetVaria

ResetVariables()

Hafızadaki değişkenleri temizler. Tüm hafıza değişkenlerini ya da sadece istenen değişkenleri

bles

ResetVariables(JSON)

boşaltabilir, istenen değişkenler hariç tutulabilir.

 

 

Bu komut, oturum boyunca geçerli olması gereken değişkenleri boşaltmaz. (Ör: @@Style)

 

 

JSON biçimindeki parametrelerde aşağıdaki anahtarlar kullanılabilir:

 

 

name : Özellikle temizlenmek istenen değişkenin adı

 

 

except : Hariç tutulacak değişkenler

 

 

Her iki anahtar için de, hem tek değer hem de bir dizi verilebilir.

LogVariabl

LogVariables()

Terminal sunucu hafızasındaki kullanıcı oturumuna ait tüm değişkenleri log tablosuna/dosyasına

es

 

json biçiminde yazar. Değişkenlerin hangi kullanıcı oturumuna ait olduğu da logda yer alır.

Print

Print(rapor adı,yazıcı sıra no,

Tanımlanmış rapor dosyalarının yazıcıdan yazdırılmasını sağlar.

 

kopya sayısı, parametreler)

Rapor adı : Kullanıcı tanımlı raporun adı

 

 

 

 

 

Yazıcı sıra no: SYS'de Yazıcı Tanımlarında yazıcıya ait sıra numarasıdır. 0 yazılırsa kullanıcıya

 

 

tanımlı yazıcı seçilir.

 

 

Kopya sayısı: Raporun kopya sayısı

 

 

parametreler: Rapor içinde kullanılan parametrelere değerlerinin gönderildiği kısım. json

 

 

formatında yazılır.

Sql

Sql(metin olarak sorgu,sonuç

Veritabanında belirtilen metin ya da rapor sorgusunu çalıştırır. Dönen değerleri sonuç

 

değişkeni)

değişkenine yazar.

 

Sql({"report": "sorgu raporu

İki şekilde kullanılabilir:

 

adı", "param1" :"değer1" },

 

 

sonuç değişkeni)

1- Metin sorgular : Sorgu metni çift tırnak içinde yazılır.

 

 

 

 

 

2- Kullanıcı tanımlı raporlar : JSON biçiminde çalıştırılacak rapor ve rapora gönderilecek

 

 

parametreler tanımlanır.

 

 

Sonuç değişkeninde aşağıdaki bilgiler bulunur:

 

 

rowCount : Sorgudan dönen kayıt sayısı

 

 

rows: Sorgudan dönen kayıtların listesi. Bu listede, 1 den başlayarak satır değerlerine ulaşılabilir.

Login

Login(kullanıcı adı, şifre)

Uygulamaya giriş yapmak için kullanılır. Sadece Telnet el terminallerinde ve gerekli olduğu

 

 

durumlarda kullanılmalıdır. Terminal parametrelerinde "kullanıcı yetkilendirmesi" özelliği açıksa,

 

 

bir işlem yapmaz.

CaseGoto(@sonuc,{"0":"LotGiris","1":" 1.0 MiktarGiris"})
If(@fisturu=1,Clrscr(),Goto(Hata)) 1.0 If(@sonuc > 5 AND @sonuc < 10,Goto(Sec), Goto(Sil))
If(@fisturu=1,Goto(Hata)) // v1.2 den itibaren
If(@sonuc=1)
Text(1,1,"HATA")
Else()
Text(1,1,"TAMAM")
EndIf()


For(@i,1,10) 1.0
Text(1,[email protected]_adi)
Next()




ResetVariables() // tüm değişkenleri boşaltır

1.0

ResetVariables({"name": "@CurrentItem"}) //

 

tek bir değişkeni boşaltır

 

Wiki Markup
ResetVariables(\{"name": \["@CurrentItem",

 

"@carisorgu"]}) // sadece belli değişkenleri

 

boşaltır

 

Wiki Markup
ResetVariables(\{ "except" : \["@carisorgu",

 

"@depo"] }) //belli değişkenler dışındakileri

 

boşaltır

 

LogVariables()

1.0

Print("Fis_Rapor",0,1, {"fis_id": @fisid,

1.0

"belge_no" : "@belgeno"})

 








Sql("SELECT COUNT(star) as SAYI from

1.0

WorkOrderLine With(NOLOCK) where

 

SlipId=@@WorkOrder.Id",@SatirSayisi)

 

Sql({"report":"LotKontrol","TrackingNumber":"

 

@LotNo"},@sonuc)

 

If(@sonuc.rowCount = 0)

 

Goto(Hata)

 

Else()

 

Text(1,1,"@sonuc.rows.1.Name")

 

EndIf()

 

Login("ali", "1")

1.0

Anchor
page5
page5
Image Added
Logout Logout() Uygulamada açık olan kullanıcı oturumunu kapatmak için kullanılır.
Http Http(metot, url, headerJSON, Script içinden REST API çağrısı yapılmasını sağlar.
bodyJSON, @sonuc)
metot : GET, POST, PUT değerlerini alır.
url: Bağlanılacak API adresinin bilgisi. http ya da https ile başlayabilir. Çalıştırılacak işlem "url query string" kullanımını içeriyorsa, ilgili parametre değerleri url içinde verilir.
headerJson : Yapılacak http isteğinin başlık bilgisi olarak gitmesi istenen bilgiler JSON biçiminde girilir. Basic authentication ya da JWT token gibi bilgiler için kullanılabilir.
bodyJSON: Http isteğine değer olarak gönderilecek bilgiler JSON biçiminde girilir.
sonuc: Yapılan isteğin sonucunda dönen bilgiler bu değişkene yazılır.
Komutun sonucunda 200 cevabı geldiğinde result değeri olarak 0, diğer durumlarda -1 değeri yazılır. Message değeri olarak verilen hata bilgisi yazılır.


Logout()

1.0

Set(@kullanicibilgi, "@kullaniciadi:@sifre")

1.2

Set(@header, {"Content-Type":"application

 

/json", "Authorization":"Basic @kullanicibilgi.

 

base64"})

 

Set(@body, {"firmno":"@firma", "sessionId":"

 

@id"})

 

Http("POST","http://server.com/api/v1

 

/token", body,@sonuc)

 

//Query string

 

Http("GET","http://server.com/api/v1/Items?

 

code=@kod", sonuc)