Urejevalnik modula

Iz SDMS
Skoči na: navigacija, iskanje

Kategorije:Razvojna orodja

edit-module.jpg

Splošno o urejevalniku modula

Moduli so 'nevidni' objekti, v katerih so določene procedure in funkcije, napisane v internem programskem jeziku SdmsBasic. Uporabljamo jih za avtomatiziranje kompleksnejših postopkov, ki bi jih želeli izvajati v okviru neke aplikacije. Sintaksa jezika je podrobno opisana v referenčnem priročniku.

Urejevalnik modula uporabljamo za ustvarjanje in spreminjanje teh modulov.

Urejevalnik modula prikličemo tako, da v raziskovalcu enostavno dvo-kliknemo na modul, ki bi ga želeli urejati. Če imamo za izbran modul dodeljeno pravico urejanja, se nam odpre urejevalnik modula.

Urejanje osnovnih lastnosti modula

Vsakemu modulu lahko določimo nekaj osnovnih lastnosti, kot so ime modula, komentar, pravice dostopa do modula, itd.

To lahko storimo v seznamu lastnosti modula, ki jih prikličemo s klikom na gumb 053.jpg, če jih še ne vidimo na ekranu.

edit-module-properties.jpg

Lastnosti modula, ki jih lahko spreminjamo, so naslednje:

  • Ime (obvezno) - vsak modul mora imeti določeno unikatno ime, prek katerega se kasneje lahko sklicujemo nanj. To ime mora biti unikatno v okviru vseh objektov v sistemu.
  • Dodatno ime (opcijsko) - modulu lahko določimo tudi dodatno ime, npr. okrajšano ime, ki ga lahko uporabimo za sklic enako kot osnovno ime. Tudi tu velja unikatnost imen v okviru vseh objektov v sistemu.
  • Komentar (opcijsko) - modulu lahko dodamo poljuben komentar.
  • Uporabljan v (opcijsko) - to lastnost lahko uporabimo za namen izvoza vseh objektov, ki se lahko uporabijo v neki aplikaciji, čeprav niso direktno uporabljeni. Vanjo vnesemo ime oz. imena aplikacij, ki uporabljajo ta modul, ločena pa so s podpičji. Lahko uporabimo tudi znak * za vse aplikacije.
  • Pravica vpogleda (opcijsko) - če želimo zaščititi modul pred uporabo nepooblaščenim osebam, določimo pravico vpogleda le tisti skupini uporabnikov, ki modul lahko uporablja.
  • Pravica urejanja (opcijsko) - če želimo zaščititi modul pred spreminjanjem oz. brisanjem s strani nepooblaščenih oseb, določimo pravico urejanja le tisti skupini uporabnikov, ki modul lahko spreminja oz. briše.

Ostale lastnosti modula so samo informativnega značaja.

Urejanje samega modula

Ko smo modulu določili osnovne lastnosti, se lahko dejansko lotimo urejanja samega modula. Če območja urejanja modula na ekranu ne vidimo, ga prikličemo s klikom na gumb 052.jpg.

edit-module-module.jpg

Vsak modul je načeloma sestavljen iz štirih neobveznih delov:

  • Definicije globalnih spremenljivk, kjer definiramo globalne spremenljivke, ki jih bomo uporabljali,
  • Procedura OnCreate, ki se avtomatsko izvede ob nalaganju modula,
  • Procedura OnDestroy, ki se avtomatsko izvede ob zapiranju modula, in
  • Poljubne procedure in funkcije, ki jih bomo uporabljali v menijih, orodjarnah, direktno iz konzole, itd.
// Definiranje globalnih spremenljiv

Dim A As String
Dim B As Long

Sub OnCreate
  ...
EndSub

Sub OnDestroy
  ...
EndSub

Sub Procedura1
  ...
EndSub

Function Funkcija1 (Par1 As String, Par2 As Boolean) As String
  ...
  Result = 'odgovor'
  ...
EndFunction

Več o programskem jeziku SdmsBasic si oglejte v poglavju Urejanje SdmsBasic kode.

Uporaba modula v aplikaciji

Če želimo modul uporabiti v neki aplikaciji, ga moramo ob zagonu te aplikacije naložiti. To storimo v proceduri OnCreate želene aplikacije:

Sub OnCreate
  ...
  ModuleList.Add ([ime modula])
  ...
EndSub




xxx to nekam drugam v urejanje kode

Primer funkcije: želite da se vam poligoni obarvajo glede na površino. V Temo- Polygon-Barva zapišete BarvaPov([Površina grafika]), kar pomeni da se vam bodo poligoni barvali, glede površino in pogoje, ki so navedeni v proceduri BarvaPov.

Function BarvaPov (P As Long) As Long
  // Izbor barve glede na površino
  Select Case P
    Case 0 .. 49 Result = Red
    Case 50 .. 99 Result = Green
    Case 100 .. 199 Result = Blue
    Case 200 .. 299 Result = Yellow
    Case 300 .. 399 Result = Purple
    Case 400 .. 499 Result = Silver
    Case 500 .. 799 Result = Maroon
    Case 800 .. 999 Result = Olive
    Case 1000 .. 1999 Result = Teal
    Case 2000 .. 999999999 Result = Aqua
    CaseElse Result = Black
  EndSelect
EndFunction

Primer funkcije: številka parcele zapisane v INKAT strukturi ima naslednjo obliko 000120003, kar je dejansko 12/1. Ker nima smisla celotno bazo predelovati, lahko za lep izpis na ekran/ploter uporabimo proceduro, ki iz zapisa 000120003 naredi zapis 12/1. Imenujmo jo ParcVPod. Iz Teme-Besedilo-Polje jo kličemo ParcVPod([PARCSTEV])

Function ParcVPod (R as String) As String
  Dim s as string
  Dim a1 as string
  Dim a2 as string

  If StrToInt (R) > 0 Then
    If Length (R) < 9 Then
      Result = R
    Else
      a1 = IntToStr(StrToInt(Copy (R,1,5)))
      a2 = IntToStr(StrToInt(Copy (R,6,4)))
      If StrToInt(a2) > 0 Then
        Result = a1 + "/" + a2
      Else
        Result = a1
      EndIF
    EndIF
  EndIf
EndFunction

Primer procedure: v dialogu dodate gumb, ki vam izpiše na tiskalnik v obliki predhodno kreiranega dialoga. Za izvedbo tega potrebujete proceduro KlikNaPrinter, ki jo kličete s parametri KlikNaPrinter ([ime plasti], "ime poročila")

// Rutina procedur za izpise na printer

Sub KlikNaPrinter(T as TLayer,ImeRep as String)
  Dim TL as TRecordList
  T.Report.Load (ImeRep)
  T.Report.ExecuteList(T.ClickedRecords)
EndSub
Osebna orodja