TDrawList: Razlika med redakcijama

Iz SDMS
Jump to navigationJump to search
m
m
 
(13 vmesnih redakcij istega uporabnika ni prikazanih)
Vrstica 1: Vrstica 1:
{{Work}}
+
Razred '''TDrawList''' se uporablja za spreminjanje tematik. Spreminja se osnovne lastnosti tematike, samo listo tem, posamezno temo pa se ureja preko razreda [[TDrawItem]].  
Razred '''TDrawList''' vsebuje informacije o tematikah.
 
  
==Lastnosti tematike==
+
Spreminja se lahko:
 +
*trenutno tematiko v aplikaciji preko spremenljivke [[DrawList]],
 +
*referenco na shranjeno tematiko v izrisih, poročilih, dokumentu in maski preko lastnosti {{EL|TPrintItem|DrawList}}, {{EL|TRepItem|DrawList}}, {{EL|TDocItem|DrawList}} oz. {{EL|TFormItem|DrawList}},
 +
*trenutno tematiko v izrisih, poročilih, dokumentu in maski preko spremenljivke [[DrawList]] v [[OnPaint]] eventu,
 +
*trenutno tematiko v navigacijskem oknu aplikacije preko lastnosti {{EL|TNavigation|DrawList}} in spremenljivke [[Navigation]],
 +
*vse tematike shranjene v sistemu,
  
 +
==Urejanje tematike==
  
==Metode tematike==
+
===Count===
 +
Lastnost '''Count''' vrne število tem v tematiki.
 +
<declaration>
 +
RO Property|TDrawList.Count
 +
Result|Long|Število tem.
 +
</declaration>
 +
<source>Message ("Lastnosti tematike", "V tematiki je " + IntToStr (Drawlist.Count) + " tem.")</source>
 +
 
 +
===Items===
 +
Lastnost '''Items''' vrne določeno temo.
 +
<declaration>
 +
RO Property|TDrawList.Items
 +
Index|Long|Zaporedna številka teme. Prva tema ima številko 0.
 +
Result|TDrawItem|Referenca na temo.
 +
</declaration>
 +
<source>Dim I As Long
 +
For I = 0 To DrawList.Count - 1
 +
  DrawList.Items (I).Visible = false // Izključi vse teme iz izrisa
 +
Next</source>
 +
 
 +
===Add===
 +
Metoda '''Add''' doda novo temo na konec tematike.
 +
<declaration>
 +
Method|TDrawList.Add
 +
Result|Optional TDrawItem|Vrne referenco na novo temo.
 +
</declaration>
 +
<source>Dim DI As TDrawItem
 +
DI = DrawList.Add        // Doda novo temo na konec tematike
 +
DI.Type = dtText        // Nastavi tip teme
 +
DI.Layer = [Neka plast]  // Določi plast teme
 +
DI.Value(2) = DI.Layer.DataSets(0).Fields(0).FullName + '.AsString' // Določi polje izpisa</source>
 +
 
 +
===Insert===
 +
Metoda '''Insert''' vrine novo temo na določeno mesto v tematiki.
 +
<declaration>
 +
Method|TDrawList.Insert
 +
Index|Long|Zaporedna številka teme, pred katero bo nova tema vrinjena. Prva tema ima številko 0.
 +
Result|Optional TDrawItem|Vrne referenco na novo temo.
 +
</declaration>
 +
<source>Dim DI As TDrawItem
 +
DI = DrawList.Insert (2) // Doda novo temo na tretje mesto v tematiko         
 +
DI.Type = dtPolyLine    // Nastavi tip teme
 +
DI.Layer = [Neka plast]  // Določi plast teme</source>
 +
 
 +
===Remove===
 +
Metoda '''Remove''' izbriše določeno temo iz tematike.
 +
<declaration>
 +
Method|TDrawList.Remove
 +
Index|Long|Zaporedna številka teme, ki jo želimo odstraniti. Prva tema ima številko 0.
 +
</declaration>
 +
<source>DrawList.Remove (2)                // Izbriše tretjo temo iz tematike
 +
DrawList.Remove (DrawList.Count-1) // Izbriše zadnjo temo iz tematike</source>
 +
 
 +
===BeginUpdate===
 +
Metoda '''BeginUpdate''' prepreči osveževanje tematike med izvajanjem basica. Na koncu je treba obvezno poklicati metodo {{PL|EndUpdate}}, ki bo osvežila tematiko. Glavni namen tega je, da se prepreči utripanje tematike ob večih spremembah in pa hitrost izvajanja.
 +
<declaration>
 +
Method|TDrawList.BeginUpdate
 +
</declaration>
 +
<source>DrawList.BeginUpdate
 +
DrawList.Add
 +
...
 +
DrawList.EndUpdate</source>
 +
 
 +
===EndUpdate===
 +
Metoda '''EndUpdate''' omogoči osveževanje tematike med izvajanjem basica. Na začetku je treba poklicati metodo {{PL|BeginUpdate}}.
 +
<declaration>
 +
Method|TDrawList.EndUpdate
 +
</declaration>
 +
 
 +
==Manipulacija tematik v tematiki==
 +
 
 +
===AddList===
 +
Metoda '''AddList''' doda v tematiko vse teme iz druge tematike.
 +
<declaration>
 +
Method|TDrawList.AddList
 +
List|TDrawList|Tematika, ki jo dodajamo.
 +
</declaration>
 +
<source>DrawList.AddList ([Neka Tematika]) // Doda tematiko na konec</source>
 +
 
 +
===InsertList===
 +
Metoda '''InsertList''' vrine v tematiko vse teme iz druge tematike.
 +
<declaration>
 +
Method|TDrawList.InsertList
 +
Index|Long|Zaporedna številka teme, pred katero vrine tematiko. Prva tema ima številko 0.
 +
List|TDrawList|Tematika, ki jo dodajamo.
 +
</declaration>
 +
<source>Drawlist.InsertList (0, [Neka Tematika]) // Vrine tematiko na začetek</source>
 +
 
 +
===RemoveList===
 +
Metoda '''RemoveList''' odstrani vse teme, ki so bile dodane iz določene tematike z ukazom {{PL|AddList}} ali {{PL|InsertList}}.
 +
<declaration>
 +
Method|TDrawList.RemoveList
 +
List|TDrawList|Tematika, katere teme želimo odstraniti.
 +
</declaration>
 +
<source>DrawList.RemoveList ([Neka Tematika])</source>
 +
 
 +
===IsInList===
 +
Lastnost '''IsInList''' ugotavlja, če je bila v tematiko dodana neka druga tematika z ukazom {{PL|AddList}} ali {{PL|InsertList}}.
 +
<declaration>
 +
RO Property|TDrawList.IsInList
 +
List|TDrawList|Referenca na tematiko, ki je bila dodana.
 +
Result|Boolean|True, če je bila tematika dodana, sicer False.
 +
</declaration>
 +
<source>If Not Drawlist.IsInList ([Neka Tematika]) Then // preveri če je lista v tematiki
 +
  Drawlist.AddList ([Neka Tematika])            // če je ni, jo doda         
 +
EndIf</source>
 +
 
 +
===IndexOfList===
 +
Lastnost '''IndexOfList''' vrne index prve teme, ki je bila v tematiko dodana iz druge tematike z ukazom {{PL|AddList}} ali {{PL|InsertList}}.
 +
<declaration>
 +
RO Property|TDrawList.IndexOfList
 +
List|TDrawList|Referenca na tematiko, ki je bila dodana.
 +
Result|Long|Zaporedna številka prve teme, ki je bila dodana iz druge tematike. Prva tema ima številko 0. Če tematike ne najde, vrne -1.
 +
</declaration>
 +
<source>Dim I As Long
 +
I = Drawlist.IsInList ([Neka Tematika 1]) // ugotovi lokacijo prve teme tematike 1
 +
If I = -1 Then                            // če ni tematike 1
 +
  I = Drawlist.Count                      // bo dodal na konec
 +
EndIf
 +
Drawlist.InsertList (I, [Neka Tematika 2]) // vrine tematiko 2</source>
 +
 
 +
==Skupinsko spreminjanje tem==
 +
 
 +
===Operation===
 +
Metoda '''Operation''' naenkrat spremeni lastnosti vseh tem določene plasti. Operacijo določajo {{EL|Konstante|Draw List Operation Constants}}.
 +
<declaration>
 +
Method|TDrawList.Operation
 +
L|TLayer|Plast, za katero se izvede operacija. Če je Nil, so bo izvedla za vse plasti.
 +
Operation|Long|Poljubna kombinacija constant. Operacije se lahko med seboj seštevajo.
 +
</declaration>
 +
<source>DrawList.Operation (Nil, dlDisplayOff + dlHintsOff + dlLegendOff) // ugasne vse teme in zapre vse informacije in legende
 +
DrawList.Operation ([Neka plast], dlDisplayOn) // prižge določeno plast
 +
Redraw
 +
 
 +
DrawList.Operation ([Neka plast], dlLayerOff) // briše vse teme določene plasti iz tematike</source>
 +
 
 +
===OperationAlias===
 +
Metoda '''OperationAlias''' naenkrat spremeni lastnosti vseh tem z določenim dodatnim imenom. Operacijo določajo {{EL|Konstante|Draw List Operation Constants}}.
 +
<declaration>
 +
Method|TDrawList.OperationAlias
 +
Alias|String|Dodatno ime teme.
 +
Operation|Long|Poljubna kombinacija konstant. Operacije se lahko med seboj seštevajo.
 +
</declaration>
 +
<source>DrawList.OperationAlias ('DodatnoIme1', dlDisplayOn) // prižge vse teme z dodatnim imenom DodatnoIme1</source>
  
===TDrawList.DXFout===
+
==Izvoz tematike==
 +
 
 +
===SaveImage===
 +
Metoda '''SaveImage''' naredi sliko za vsebino določene tematike.
 +
<declaration>
 +
Method|TDrawList.SaveImage
 +
FileName|String|Ime datoteke kamor se slika shrani. Končnica določa format slike.
 +
Y1|Float|Koordinata levega roba okna.
 +
X1|Float|Koordinata spodnjega roba okna.
 +
Y2|Float|Koordinata desnega roba okna.
 +
X2|Float|Koordinata zgornjega roba okna.
 +
PixelDimension|Float|Velikost točke v metrih.
 +
</declaration>
 +
<source>DrawList.SaveImage ('c:\temp\slika1.png', 420000, 28000, 535000, 137000, 100)</source>
 +
 
 +
===DXFOut===
 +
Metoda '''DXFOut''' izvozi podatke vsebovane v določeni tematiki v DXF format.
 +
<declaration>
 +
Method|TDrawList.DXFOut
 +
FileName|String|Ime datoteke kamor se shrani. Končnica mora biti *.DXF.
 +
Dummy|String|Opuščen parameter.
 +
Y1|Float|Koordinata levega roba okna.
 +
X1|Float|Koordinata spodnjega roba okna.
 +
Y2|Float|Koordinata desnega roba okna.
 +
X2|Float|Koordinata zgornjega roba okna.
 +
Scale|Float|Merilo, pri katerem se izvaja izris v DXF.
 +
</declaration>
 +
<source>DrawList.DXFOut ('c:\temp\slika1.dxf', '', Left, Top, Right, Bottom, Scale)</source>
  
 
Po uvozu v Autocadu je priporočljivo zagnati ukaz REGEN, ker se šele potem pravilno upoštevajo tipi linij.
 
Po uvozu v Autocadu je priporočljivo zagnati ukaz REGEN, ker se šele potem pravilno upoštevajo tipi linij.
  
Kot ime plasti a Autocadu se uporabi dodatno ime teme, če je določeno. Če ni določeno, se uporabi ime teme, če pa tudi to ni določeno, se pa uporabi ime podatkovne plasti.
+
Kot ime plasti v Autocadu se uporabi dodatno ime teme, če je določeno. Če ni določeno, se uporabi ime teme, če pa tudi to ni določeno, se pa uporabi ime podatkovne plasti.
  
 
V DXF se izvažajo naslednji tipi tem, ostale pa se ignorirajo:
 
V DXF se izvažajo naslednji tipi tem, ostale pa se ignorirajo:
Vrstica 22: Vrstica 197:
 
**Ni krogov in lokov
 
**Ni krogov in lokov
 
**Ni simbolov na tipih linij.
 
**Ni simbolov na tipih linij.
 +
*Basic
  
==Eventi tematike==
+
==Opuščeno==
  
==Opuščene metode tematike==
+
===LayerOnOff===
 +
Metoda '''LayerOnOff''' je opuščena in se priporoča uporaba metode {{PL|Operation}}.
 +
<declaration>
 +
Method|TDrawList.LayerOnOff
 +
L|TLayer|.
 +
Operation|Long|.
 +
</declaration>
 +
 
 +
===Recreate===
 +
Metoda '''Recreate''' ponovno generira tematiko. To se uporabi v primeru, ko po določeni spremembi iz basica ta ni vidna v tematiki. Uporabi se samo na tematiki aplikacije {{EL|Spremenljivke|DrawList}}. Načeloma naj se ta metoda nebi uporabljala.
 +
<declaration>
 +
Method|TDrawList.Recreate
 +
</declaration>
 +
<source>DrawList.Recreate</source>
 +
 
 +
===ZoomToTiles===
 +
Metoda '''ZoomToTiles''' prilagodi merilo izrisa na optimalno vrednost za izris spletnih kart. To pomeni, da je en piksel na spletni karti enak enemu pikslu na ekranu. Uporabi se tema zadnje vidne spletne karte.
 +
<declaration>
 +
Method|TDrawList.ZoomToTiles
 +
</declaration>
  
==Skupne lastnosti==
+
==Skupno za objekte==
 
Lastnosti tematike se običajno nastavljajo v [[Urejevalnik tematike]], možen pa je tudi dostop do vseh podatkov preko basica.  
 
Lastnosti tematike se običajno nastavljajo v [[Urejevalnik tematike]], možen pa je tudi dostop do vseh podatkov preko basica.  
Pri spreminjanju katerikolih podatkov objekta, morate za dokončno spremembo izvesti še {{PL|TDrawlist|Store}} ukaz.
+
Pri spreminjanju katerikolih podatkov objekta, morate za dokončno spremembo izvesti še {{PL|Store}} ukaz.
<source>Dim Dl as TDrawlist
+
<source>Dim Dl as TDrawList
 
Dl = [Neka tematika]
 
Dl = [Neka tematika]
 
Message ("Lastnosti tematike",  
 
Message ("Lastnosti tematike",  
Vrstica 41: Vrstica 236:
 
   "Popravil: " + Dl.Modifier.Name + " Ob: " + DateTimeToStr (Dl.Modified) + Line +
 
   "Popravil: " + Dl.Modifier.Name + " Ob: " + DateTimeToStr (Dl.Modified) + Line +
 
   "Pravica vpogleda: " + Dl.ViewAccess.Name + Line +
 
   "Pravica vpogleda: " + Dl.ViewAccess.Name + Line +
   "Pravica urejanja: " + Dl.EditAccess.Name  
+
   "Pravica urejanja: " + Dl.EditAccess.Name + Line +
 +
  "Cela pot: " + Dl.FullName
 
)</source>
 
)</source>
  
Vrstica 47: Vrstica 243:
 
Lastnost '''Name''' določa osnovno ime objekta (opisno ime). Ker se ime lahko občasno spreminja, se sklicevanje na objekt z uporabo imena odsvetuje. Uporabljate rajši dodatno ime ali ID objekta.
 
Lastnost '''Name''' določa osnovno ime objekta (opisno ime). Ker se ime lahko občasno spreminja, se sklicevanje na objekt z uporabo imena odsvetuje. Uporabljate rajši dodatno ime ali ID objekta.
 
<declaration>
 
<declaration>
Property|TDrawlist.Name
+
Property|TDrawList.Name
 
Result|String|Ime objekta.
 
Result|String|Ime objekta.
 
</declaration>
 
</declaration>
Vrstica 54: Vrstica 250:
 
Lastnost '''Alias''' določa dodatno ime objekta ali celo več dodatnih imen. Ta lastnost se načeloma uporablja za sklice na objekt namesto osnovnega imena objekta.
 
Lastnost '''Alias''' določa dodatno ime objekta ali celo več dodatnih imen. Ta lastnost se načeloma uporablja za sklice na objekt namesto osnovnega imena objekta.
 
<declaration>
 
<declaration>
Property|TDrawlist.Alias
+
Property|TDrawList.Alias
 
Result|String|Dodatna imena. Če jih je več, morajo biti ločena s podpičjem.
 
Result|String|Dodatna imena. Če jih je več, morajo biti ločena s podpičjem.
 
</declaration>
 
</declaration>
Vrstica 61: Vrstica 257:
 
Lastnost '''Comment''' določa komentar k objektu.
 
Lastnost '''Comment''' določa komentar k objektu.
 
<declaration>
 
<declaration>
Property|TDrawlist.Comment
+
Property|TDrawList.Comment
 
Result|String|Poljuben komentar.
 
Result|String|Poljuben komentar.
 
</declaration>
 
</declaration>
Vrstica 68: Vrstica 264:
 
Lastnost '''ID''' določa unikatni identifikator objekta, ki se samodejno kreira pri kreiranju objekta in se nikdar ne spremeni.
 
Lastnost '''ID''' določa unikatni identifikator objekta, ki se samodejno kreira pri kreiranju objekta in se nikdar ne spremeni.
 
<declaration>
 
<declaration>
RO Property|TDrawlist.ID
+
RO Property|TDrawList.ID
 
Result|Long|Identifikator objekta.
 
Result|Long|Identifikator objekta.
 
</declaration>
 
</declaration>
Vrstica 75: Vrstica 271:
 
Lastnost '''Parent''' določa ime mape, v kateri se imenovani objekt nahaja.  
 
Lastnost '''Parent''' določa ime mape, v kateri se imenovani objekt nahaja.  
 
<declaration>
 
<declaration>
Property|TDrawlist.Parent
+
Property|TDrawList.Parent
 
Result|TFolder|Mapa objekta.
 
Result|TFolder|Mapa objekta.
 +
</declaration>
 +
 +
===FullName===
 +
Lastnost '''FullName''' vrne polno ime objekta, ki je sestavljeno iz imen vseh map nad objektom in imena objekta.
 +
<declaration>
 +
RO Property|TDrawList.FullName
 +
Result|String|Vse mape in ime objekta.
 
</declaration>
 
</declaration>
  
Vrstica 82: Vrstica 285:
 
Lastnost '''Creator''' določa uporabnika, ki je objekt ustvaril.
 
Lastnost '''Creator''' določa uporabnika, ki je objekt ustvaril.
 
<declaration>
 
<declaration>
RO Property|TDrawlist.Creator
+
RO Property|TDrawList.Creator
 
Result|TUser|Uporabnik.
 
Result|TUser|Uporabnik.
 
</declaration>
 
</declaration>
Vrstica 89: Vrstica 292:
 
Lastnost '''Created''' določa datum in čas nastanka objekta.
 
Lastnost '''Created''' določa datum in čas nastanka objekta.
 
<declaration>
 
<declaration>
RO Property|TDrawlist.Created
+
RO Property|TDrawList.Created
 
Result|DateTime|Čas nastanka objekta.
 
Result|DateTime|Čas nastanka objekta.
 
</declaration>
 
</declaration>
Vrstica 96: Vrstica 299:
 
Lastnost '''Modifier''' določa uporabnika, ki je objekt nazadnje spremenil.
 
Lastnost '''Modifier''' določa uporabnika, ki je objekt nazadnje spremenil.
 
<declaration>
 
<declaration>
RO Property|TDrawlist.Modifier
+
RO Property|TDrawList.Modifier
 
Result|TUser|Uporabnik.
 
Result|TUser|Uporabnik.
 
</declaration>
 
</declaration>
Vrstica 103: Vrstica 306:
 
Lastnost '''Modified''' določa datum in čas, ko je bil objekt nazadnje spremenjen.
 
Lastnost '''Modified''' določa datum in čas, ko je bil objekt nazadnje spremenjen.
 
<declaration>
 
<declaration>
RO Property|TDrawlist.Modified
+
RO Property|TDrawList.Modified
 
Result|DateTime|Čas zadnje spremembe objekta.
 
Result|DateTime|Čas zadnje spremembe objekta.
 
</declaration>
 
</declaration>
Vrstica 110: Vrstica 313:
 
Lastnost '''ViewAccess''' določa, katera skupina uporabnikov ima pravico uporabe objekta.
 
Lastnost '''ViewAccess''' določa, katera skupina uporabnikov ima pravico uporabe objekta.
 
<declaration>
 
<declaration>
Property|TDrawlist.ViewAccess
+
Property|TDrawList.ViewAccess
 
Result|TUserGroup|Skupina uporabnikov.
 
Result|TUserGroup|Skupina uporabnikov.
 
</declaration>
 
</declaration>
Vrstica 117: Vrstica 320:
 
Lastnost '''EditAccess''' določa, katera skupina uporabnikov ima pravico spreminjanja objekta.
 
Lastnost '''EditAccess''' določa, katera skupina uporabnikov ima pravico spreminjanja objekta.
 
<declaration>
 
<declaration>
Property|TDrawlist.EditAccess
+
Property|TDrawList.EditAccess
 
Result|TUserGroup|Skupina uporabnikov.
 
Result|TUserGroup|Skupina uporabnikov.
 
</declaration>
 
</declaration>
Vrstica 124: Vrstica 327:
 
Lastnost '''UsedIn''' določa, v katerih aplikacijah je določen objekt uporabljan. Če nastavimo vrednost UsedIn na "*", potem je objekt dosegljiv v vseh aplikacijah. Ta podatek se uporablja izključno za izvoz aplikacije v SIF.
 
Lastnost '''UsedIn''' določa, v katerih aplikacijah je določen objekt uporabljan. Če nastavimo vrednost UsedIn na "*", potem je objekt dosegljiv v vseh aplikacijah. Ta podatek se uporablja izključno za izvoz aplikacije v SIF.
 
<declaration>
 
<declaration>
Property|TDrawlist.UsedIn
+
Property|TDrawList.UsedIn
 
Result|String|Aplikacije, ki uporabljajo ta objekt. Če je navedenih več aplikacij, se le-te ločijo s podpičjem.
 
Result|String|Aplikacije, ki uporabljajo ta objekt. Če je navedenih več aplikacij, se le-te ločijo s podpičjem.
 
</declaration>
 
</declaration>
Vrstica 131: Vrstica 334:
 
Lastnost '''IsFolder''' določa, ali je dani objekt mapa ali kak drug objekt.
 
Lastnost '''IsFolder''' določa, ali je dani objekt mapa ali kak drug objekt.
 
<declaration>
 
<declaration>
RO Property|TDrawlist.IsFolder
+
RO Property|TDrawList.IsFolder
 
Result|Boolean|V danem primeru je vrednost vedno '''False'''.
 
Result|Boolean|V danem primeru je vrednost vedno '''False'''.
 
</declaration>
 
</declaration>
Vrstica 138: Vrstica 341:
 
Lastnost '''IsObject''' določa, ali je dani objekt mapa ali kak drug objekt.
 
Lastnost '''IsObject''' določa, ali je dani objekt mapa ali kak drug objekt.
 
<declaration>
 
<declaration>
RO Property|TDrawlist.IsObject
+
RO Property|TDrawList.IsObject
 
Result|Boolean|V danem primeru je vrednost vedno '''True'''.
 
Result|Boolean|V danem primeru je vrednost vedno '''True'''.
 
</declaration>
 
</declaration>
  
 
===ObjectType===
 
===ObjectType===
Lastnost '''ObjectType''' določa vrsto objekta.
+
Lastnost '''ObjectType''' določa vrsto objekta. Vrsto določajo {{EL|Konstante|Object_Types_Constants}}
 
<declaration>
 
<declaration>
RO Property|TDrawlist.ObjectType
+
RO Property|TDrawList.ObjectType
Result|Long|V danem primeru je vrednost XXX.
+
Result|Long|V danem primeru je vrednost otDrawList.
 
</declaration>
 
</declaration>
 
==Skupne metode==
 
  
 
===Edit===
 
===Edit===
 
Metoda '''Edit''' odpre urejevalnik objekta.
 
Metoda '''Edit''' odpre urejevalnik objekta.
 
<declaration>
 
<declaration>
Method|TDrawlist.Edit
+
Method|TDrawList.Edit
 
</declaration>
 
</declaration>
<source></source>
+
<source>[Neka tematika].Edit</source>
  
 
===Store===
 
===Store===
 
Metoda '''Store''' dejansko shrani spremembe objekta (izvedene z SDMS Basic ukazi).
 
Metoda '''Store''' dejansko shrani spremembe objekta (izvedene z SDMS Basic ukazi).
 
<declaration>
 
<declaration>
Method|TDrawlist.Store
+
Method|TDrawList.Store
 
</declaration>
 
</declaration>
<source></source>
+
<source>[Neka tematika].Store</source>
  
 
===Duplicate===
 
===Duplicate===
 
Metoda '''Duplicate''' podvoji objekt. Ime podvojenega objekta je sestavljeno iz "Kopija " in imena originala, dodatno ime (Alias) pa je zbrisano. Objekt se kreira v isti mapi, kot je original.
 
Metoda '''Duplicate''' podvoji objekt. Ime podvojenega objekta je sestavljeno iz "Kopija " in imena originala, dodatno ime (Alias) pa je zbrisano. Objekt se kreira v isti mapi, kot je original.
 
<declaration>
 
<declaration>
Method|TDrawlist.Duplicate
+
Method|TDrawList.Duplicate
DuplicateData|Boolean|Se uporablja samo za Podatkovne plasti in Tabele. Če je nastavljeno na '''True''', se poleg same strukture objekta podvojijo tudi podatki.
+
DuplicateData|Boolean|Pri tematiki se ignorira.
Result|Optional TDrawlist|Referenca na kreiran objekt.
+
Result|Optional TDrawList|Referenca na kreiran objekt.
 
</declaration>
 
</declaration>
<source></source>
+
<source>Dim DL As TDrawList
 +
DL = [Neka tematika].Duplicate(False)
 +
DL.Name = 'Novo ime'
 +
DL.Store</source>
  
 
===SaveToNewObject===
 
===SaveToNewObject===
Metoda '''SaveToNewObject''' XXX.
+
Metoda '''SaveToNewObject''' prikaže dialog za shranjevanje objekta.
 
<declaration>
 
<declaration>
Method|TDrawlist.SaveToNewObject
+
Method|TDrawList.SaveToNewObject
Caption|String|.
+
Caption|String|Napis na dialogu.
Root|TFolder|.
+
Root|TFolder|Izhodišče za izbiro lokacije shranjevanja.
Result|Optional TDrawlist|.
+
Result|Optional TDrawList|Referenca na shranjeni objekt.
 
</declaration>
 
</declaration>
<source></source>
+
<source>DrawList.SaveToNewObject ('Shranjevanje tematike', root)</source>
  
 
===Clear===
 
===Clear===
Metoda '''Clear''' briše vse lastnosti objekta razen imena XXX.
+
Metoda '''Clear''' briše vse teme iz tematike.
 
<declaration>
 
<declaration>
Method|TDrawlist.Clear
+
Method|TDrawList.Clear
 
</declaration>
 
</declaration>
<source></source>
+
<source>Drawlist.BeginUpdate
 +
Drawlist.Clear
 +
Drawlist.AddList ([Neka tematika])
 +
Drawlist.EndUpdate
 +
Redraw</source>
  
 
===Delete===
 
===Delete===
 
Metoda '''Delete''' briše objekt iz sistema.
 
Metoda '''Delete''' briše objekt iz sistema.
 
<declaration>
 
<declaration>
Method|TDrawlist.Delete
+
Method|TDrawList.Delete
Result|Optional Boolean|XXX.
+
Result|Optional Boolean|Vrne True, če je bilo brisanje uspešno.
 
</declaration>
 
</declaration>
<source></source>
+
<source>[Neka tematika].Delete</source>
 
 
===FullName===
 
Lastnost '''FullName''' vrne polno ime objekta, ki je sestavljeno iz imeni vseh map nad objektom in imena objekta.
 
<declaration>
 
RO Property|TDrawlist.FullName
 
Result|String|XXX.
 
</declaration>
 
<source></source>
 
  
 
===SaveToFile===
 
===SaveToFile===
 
Metoda '''SaveToFile''' shrani objekt v binarni obliki v dano datoteko.
 
Metoda '''SaveToFile''' shrani objekt v binarni obliki v dano datoteko.
 
<declaration>
 
<declaration>
Method|TDrawlist.SaveToFile
+
Method|TDrawList.SaveToFile
 
FileName|String|Polno ime datoteke, v katero naj se objekt shrani.
 
FileName|String|Polno ime datoteke, v katero naj se objekt shrani.
 
</declaration>
 
</declaration>
<source></source>
+
<source>DrawList.SaveToFile ('c:\temp\Tematika.tmp')</source>
  
 
===LoadFromFile===
 
===LoadFromFile===
 
Metoda '''LoadFromFile''' naloži objekt iz datoteke v binarni obliki. Ta datoteka je predhodno nastala z ukazom '''SaveToFile'''.
 
Metoda '''LoadFromFile''' naloži objekt iz datoteke v binarni obliki. Ta datoteka je predhodno nastala z ukazom '''SaveToFile'''.
 
<declaration>
 
<declaration>
Method|TDrawlist.LoadFromFile
+
Method|TDrawList.LoadFromFile
 
FileName|String|Polno ime datoteke, iz katere naj se objekt naloži.
 
FileName|String|Polno ime datoteke, iz katere naj se objekt naloži.
Result|Optional Boolean|.
+
Result|Optional Boolean|Vrne True, če je bil objekt uspešno naložen.
 
</declaration>
 
</declaration>
<source></source>
+
<source>DrawList.LoadFromFile ('c:\temp\Tematika.tmp')</source>
  
 
===SaveToSif===
 
===SaveToSif===
 
Metoda '''SaveToSif''' shrani objekt v SIF obliki v datoteko.
 
Metoda '''SaveToSif''' shrani objekt v SIF obliki v datoteko.
 
<declaration>
 
<declaration>
Method|TDrawlist.SaveToSif
+
Method|TDrawList.SaveToSif
 
FileName|String|Polno ime datoteke, v katero naj se objekt shrani.
 
FileName|String|Polno ime datoteke, v katero naj se objekt shrani.
 
</declaration>
 
</declaration>
Vrstica 235: Vrstica 435:
 
Metoda '''SaveToSifAppend''' doda objekt v obstoječo SIF datoteko.
 
Metoda '''SaveToSifAppend''' doda objekt v obstoječo SIF datoteko.
 
<declaration>
 
<declaration>
Method|TDrawlist.SaveToSifAppend
+
Method|TDrawList.SaveToSifAppend
 
FileName|String|Polno ime datoteke, v katero naj se objekt doda.
 
FileName|String|Polno ime datoteke, v katero naj se objekt doda.
 
</declaration>
 
</declaration>
Vrstica 243: Vrstica 443:
 
Metoda '''SaveToXml''' shrani objekt v XML obliki v datoteko.
 
Metoda '''SaveToXml''' shrani objekt v XML obliki v datoteko.
 
<declaration>
 
<declaration>
Method|TDrawlist.SaveToXml
+
Method|TDrawList.SaveToXml
 
FileName|String|Polno ime datoteke, v katero naj se objekt shrani.
 
FileName|String|Polno ime datoteke, v katero naj se objekt shrani.
 
</declaration>
 
</declaration>

Trenutna redakcija s časom 10:34, 11. november 2014

Razred TDrawList se uporablja za spreminjanje tematik. Spreminja se osnovne lastnosti tematike, samo listo tem, posamezno temo pa se ureja preko razreda TDrawItem.

Spreminja se lahko:

Urejanje tematike

Count

Lastnost Count vrne število tem v tematiki.

RO Property TDrawList.Count As Long
ResultLongŠtevilo tem.
Message ("Lastnosti tematike", "V tematiki je " + IntToStr (Drawlist.Count) + " tem.")

Items

Lastnost Items vrne določeno temo.

RO Property TDrawList.Items (Index As Long) As TDrawItem
IndexLongZaporedna številka teme. Prva tema ima številko 0.
ResultTDrawItemReferenca na temo.
Dim I As Long
For I = 0 To DrawList.Count - 1
  DrawList.Items (I).Visible = false // Izključi vse teme iz izrisa
Next

Add

Metoda Add doda novo temo na konec tematike.

Method TDrawList.Add As TDrawItem
ResultOptional TDrawItemVrne referenco na novo temo.
Dim DI As TDrawItem
DI = DrawList.Add        // Doda novo temo na konec tematike
DI.Type = dtText         // Nastavi tip teme
DI.Layer = [Neka plast]  // Določi plast teme
DI.Value(2) = DI.Layer.DataSets(0).Fields(0).FullName + '.AsString' // Določi polje izpisa

Insert

Metoda Insert vrine novo temo na določeno mesto v tematiki.

Method TDrawList.Insert (Index As Long) As TDrawItem
IndexLongZaporedna številka teme, pred katero bo nova tema vrinjena. Prva tema ima številko 0.
ResultOptional TDrawItemVrne referenco na novo temo.
Dim DI As TDrawItem
DI = DrawList.Insert (2) // Doda novo temo na tretje mesto v tematiko          
DI.Type = dtPolyLine     // Nastavi tip teme
DI.Layer = [Neka plast]  // Določi plast teme

Remove

Metoda Remove izbriše določeno temo iz tematike.

Method TDrawList.Remove (Index As Long)
IndexLongZaporedna številka teme, ki jo želimo odstraniti. Prva tema ima številko 0.
DrawList.Remove (2)                // Izbriše tretjo temo iz tematike
DrawList.Remove (DrawList.Count-1) // Izbriše zadnjo temo iz tematike

BeginUpdate

Metoda BeginUpdate prepreči osveževanje tematike med izvajanjem basica. Na koncu je treba obvezno poklicati metodo EndUpdate, ki bo osvežila tematiko. Glavni namen tega je, da se prepreči utripanje tematike ob večih spremembah in pa hitrost izvajanja.

Method TDrawList.BeginUpdate
DrawList.BeginUpdate
DrawList.Add
...
DrawList.EndUpdate

EndUpdate

Metoda EndUpdate omogoči osveževanje tematike med izvajanjem basica. Na začetku je treba poklicati metodo BeginUpdate.

Method TDrawList.EndUpdate

Manipulacija tematik v tematiki

AddList

Metoda AddList doda v tematiko vse teme iz druge tematike.

Method TDrawList.AddList (List As TDrawList)
ListTDrawListTematika, ki jo dodajamo.
DrawList.AddList ([Neka Tematika]) // Doda tematiko na konec

InsertList

Metoda InsertList vrine v tematiko vse teme iz druge tematike.

Method TDrawList.InsertList (Index As Long, List As TDrawList)
IndexLongZaporedna številka teme, pred katero vrine tematiko. Prva tema ima številko 0.
ListTDrawListTematika, ki jo dodajamo.
Drawlist.InsertList (0, [Neka Tematika]) // Vrine tematiko na začetek

RemoveList

Metoda RemoveList odstrani vse teme, ki so bile dodane iz določene tematike z ukazom AddList ali InsertList.

Method TDrawList.RemoveList (List As TDrawList)
ListTDrawListTematika, katere teme želimo odstraniti.
DrawList.RemoveList ([Neka Tematika])

IsInList

Lastnost IsInList ugotavlja, če je bila v tematiko dodana neka druga tematika z ukazom AddList ali InsertList.

RO Property TDrawList.IsInList (List As TDrawList) As Boolean
ListTDrawListReferenca na tematiko, ki je bila dodana.
ResultBooleanTrue, če je bila tematika dodana, sicer False.
If Not Drawlist.IsInList ([Neka Tematika]) Then // preveri če je lista v tematiki
  Drawlist.AddList ([Neka Tematika])            // če je ni, jo doda          
EndIf

IndexOfList

Lastnost IndexOfList vrne index prve teme, ki je bila v tematiko dodana iz druge tematike z ukazom AddList ali InsertList.

RO Property TDrawList.IndexOfList (List As TDrawList) As Long
ListTDrawListReferenca na tematiko, ki je bila dodana.
ResultLongZaporedna številka prve teme, ki je bila dodana iz druge tematike. Prva tema ima številko 0. Če tematike ne najde, vrne -1.
Dim I As Long
I = Drawlist.IsInList ([Neka Tematika 1]) // ugotovi lokacijo prve teme tematike 1
If I = -1 Then                            // če ni tematike 1
  I = Drawlist.Count                      // bo dodal na konec
EndIf
Drawlist.InsertList (I, [Neka Tematika 2]) // vrine tematiko 2

Skupinsko spreminjanje tem

Operation

Metoda Operation naenkrat spremeni lastnosti vseh tem določene plasti. Operacijo določajo Konstante.Draw List Operation Constants.

Method TDrawList.Operation (L As TLayer, Operation As Long)
LTLayerPlast, za katero se izvede operacija. Če je Nil, so bo izvedla za vse plasti.
OperationLongPoljubna kombinacija constant. Operacije se lahko med seboj seštevajo.
DrawList.Operation (Nil, dlDisplayOff + dlHintsOff + dlLegendOff) // ugasne vse teme in zapre vse informacije in legende
DrawList.Operation ([Neka plast], dlDisplayOn) // prižge določeno plast
Redraw

DrawList.Operation ([Neka plast], dlLayerOff) // briše vse teme določene plasti iz tematike

OperationAlias

Metoda OperationAlias naenkrat spremeni lastnosti vseh tem z določenim dodatnim imenom. Operacijo določajo Konstante.Draw List Operation Constants.

Method TDrawList.OperationAlias (Alias As String, Operation As Long)
AliasStringDodatno ime teme.
OperationLongPoljubna kombinacija konstant. Operacije se lahko med seboj seštevajo.
DrawList.OperationAlias ('DodatnoIme1', dlDisplayOn) // prižge vse teme z dodatnim imenom DodatnoIme1

Izvoz tematike

SaveImage

Metoda SaveImage naredi sliko za vsebino določene tematike.

Method TDrawList.SaveImage (FileName As String, Y1, X1, Y2, X2, PixelDimension As Float)
FileNameStringIme datoteke kamor se slika shrani. Končnica določa format slike.
Y1FloatKoordinata levega roba okna.
X1FloatKoordinata spodnjega roba okna.
Y2FloatKoordinata desnega roba okna.
X2FloatKoordinata zgornjega roba okna.
PixelDimensionFloatVelikost točke v metrih.
DrawList.SaveImage ('c:\temp\slika1.png', 420000, 28000, 535000, 137000, 100)

DXFOut

Metoda DXFOut izvozi podatke vsebovane v določeni tematiki v DXF format.

Method TDrawList.DXFOut (FileName, Dummy As String, Y1, X1, Y2, X2, Scale As Float)
FileNameStringIme datoteke kamor se shrani. Končnica mora biti *.DXF.
DummyStringOpuščen parameter.
Y1FloatKoordinata levega roba okna.
X1FloatKoordinata spodnjega roba okna.
Y2FloatKoordinata desnega roba okna.
X2FloatKoordinata zgornjega roba okna.
ScaleFloatMerilo, pri katerem se izvaja izris v DXF.
DrawList.DXFOut ('c:\temp\slika1.dxf', '', Left, Top, Right, Bottom, Scale)

Po uvozu v Autocadu je priporočljivo zagnati ukaz REGEN, ker se šele potem pravilno upoštevajo tipi linij.

Kot ime plasti v Autocadu se uporabi dodatno ime teme, če je določeno. Če ni določeno, se uporabi ime teme, če pa tudi to ni določeno, se pa uporabi ime podatkovne plasti.

V DXF se izvažajo naslednji tipi tem, ostale pa se ignorirajo:

  • Simbol
    • Ni polnjenja pri simbolih.
  • Besedilo
    • Ni ozadja, okvira in sence.
    • Ni omejitve na dolžino teksta.
  • Linija
    • Ni krogov in lokov
    • Ni simbolov na tipih linij.
  • Basic

Opuščeno

LayerOnOff

Metoda LayerOnOff je opuščena in se priporoča uporaba metode Operation.

Method TDrawList.LayerOnOff (L As TLayer, Operation As Long)
LTLayer.
OperationLong.

Recreate

Metoda Recreate ponovno generira tematiko. To se uporabi v primeru, ko po določeni spremembi iz basica ta ni vidna v tematiki. Uporabi se samo na tematiki aplikacije Spremenljivke.DrawList. Načeloma naj se ta metoda nebi uporabljala.

Method TDrawList.Recreate
DrawList.Recreate

ZoomToTiles

Metoda ZoomToTiles prilagodi merilo izrisa na optimalno vrednost za izris spletnih kart. To pomeni, da je en piksel na spletni karti enak enemu pikslu na ekranu. Uporabi se tema zadnje vidne spletne karte.

Method TDrawList.ZoomToTiles

Skupno za objekte

Lastnosti tematike se običajno nastavljajo v Urejevalnik tematike, možen pa je tudi dostop do vseh podatkov preko basica. Pri spreminjanju katerikolih podatkov objekta, morate za dokončno spremembo izvesti še Store ukaz.

Dim Dl as TDrawList
Dl = [Neka tematika]
Message ("Lastnosti tematike", 
  "Ime: " + Dl.Name + Line +
  "Dodatna imena: " + Dl.Alias + Line +
  "Komentar: " + Dl.Comment + Line +
  "ID: $" + IntToHex (Dl.ID) + Line +
  "Mapa: " + Dl.Parent.Name + Line +
  "Naredil: " + Dl.Creator.Name + " Ob: " + DateTimeToStr (Dl.Created) + Line +
  "Popravil: " + Dl.Modifier.Name + " Ob: " + DateTimeToStr (Dl.Modified) + Line +
  "Pravica vpogleda: " + Dl.ViewAccess.Name + Line +
  "Pravica urejanja: " + Dl.EditAccess.Name + Line +
  "Cela pot: " + Dl.FullName
)

Name

Lastnost Name določa osnovno ime objekta (opisno ime). Ker se ime lahko občasno spreminja, se sklicevanje na objekt z uporabo imena odsvetuje. Uporabljate rajši dodatno ime ali ID objekta.

Property TDrawList.Name As String
ResultStringIme objekta.

Alias

Lastnost Alias določa dodatno ime objekta ali celo več dodatnih imen. Ta lastnost se načeloma uporablja za sklice na objekt namesto osnovnega imena objekta.

Property TDrawList.Alias As String
ResultStringDodatna imena. Če jih je več, morajo biti ločena s podpičjem.

Comment

Lastnost Comment določa komentar k objektu.

Property TDrawList.Comment As String
ResultStringPoljuben komentar.

ID

Lastnost ID določa unikatni identifikator objekta, ki se samodejno kreira pri kreiranju objekta in se nikdar ne spremeni.

RO Property TDrawList.ID As Long
ResultLongIdentifikator objekta.

Parent

Lastnost Parent določa ime mape, v kateri se imenovani objekt nahaja.

Property TDrawList.Parent As TFolder
ResultTFolderMapa objekta.

FullName

Lastnost FullName vrne polno ime objekta, ki je sestavljeno iz imen vseh map nad objektom in imena objekta.

RO Property TDrawList.FullName As String
ResultStringVse mape in ime objekta.

Creator

Lastnost Creator določa uporabnika, ki je objekt ustvaril.

RO Property TDrawList.Creator As TUser
ResultTUserUporabnik.

Created

Lastnost Created določa datum in čas nastanka objekta.

RO Property TDrawList.Created As DateTime
ResultDateTimeČas nastanka objekta.

Modifier

Lastnost Modifier določa uporabnika, ki je objekt nazadnje spremenil.

RO Property TDrawList.Modifier As TUser
ResultTUserUporabnik.

Modified

Lastnost Modified določa datum in čas, ko je bil objekt nazadnje spremenjen.

RO Property TDrawList.Modified As DateTime
ResultDateTimeČas zadnje spremembe objekta.

ViewAccess

Lastnost ViewAccess določa, katera skupina uporabnikov ima pravico uporabe objekta.

Property TDrawList.ViewAccess As TUserGroup
ResultTUserGroupSkupina uporabnikov.

EditAccess

Lastnost EditAccess določa, katera skupina uporabnikov ima pravico spreminjanja objekta.

Property TDrawList.EditAccess As TUserGroup
ResultTUserGroupSkupina uporabnikov.

UsedIn

Lastnost UsedIn določa, v katerih aplikacijah je določen objekt uporabljan. Če nastavimo vrednost UsedIn na "*", potem je objekt dosegljiv v vseh aplikacijah. Ta podatek se uporablja izključno za izvoz aplikacije v SIF.

Property TDrawList.UsedIn As String
ResultStringAplikacije, ki uporabljajo ta objekt. Če je navedenih več aplikacij, se le-te ločijo s podpičjem.

IsFolder

Lastnost IsFolder določa, ali je dani objekt mapa ali kak drug objekt.

RO Property TDrawList.IsFolder As Boolean
ResultBooleanV danem primeru je vrednost vedno False.

IsObject

Lastnost IsObject določa, ali je dani objekt mapa ali kak drug objekt.

RO Property TDrawList.IsObject As Boolean
ResultBooleanV danem primeru je vrednost vedno True.

ObjectType

Lastnost ObjectType določa vrsto objekta. Vrsto določajo Konstante.Object_Types_Constants

RO Property TDrawList.ObjectType As Long
ResultLongV danem primeru je vrednost otDrawList.

Edit

Metoda Edit odpre urejevalnik objekta.

Method TDrawList.Edit
[Neka tematika].Edit

Store

Metoda Store dejansko shrani spremembe objekta (izvedene z SDMS Basic ukazi).

Method TDrawList.Store
[Neka tematika].Store

Duplicate

Metoda Duplicate podvoji objekt. Ime podvojenega objekta je sestavljeno iz "Kopija " in imena originala, dodatno ime (Alias) pa je zbrisano. Objekt se kreira v isti mapi, kot je original.

Method TDrawList.Duplicate (DuplicateData As Boolean) As TDrawList
DuplicateDataBooleanPri tematiki se ignorira.
ResultOptional TDrawListReferenca na kreiran objekt.
Dim DL As TDrawList
DL = [Neka tematika].Duplicate(False)
DL.Name = 'Novo ime'
DL.Store

SaveToNewObject

Metoda SaveToNewObject prikaže dialog za shranjevanje objekta.

Method TDrawList.SaveToNewObject (Caption As String, Root As TFolder) As TDrawList
CaptionStringNapis na dialogu.
RootTFolderIzhodišče za izbiro lokacije shranjevanja.
ResultOptional TDrawListReferenca na shranjeni objekt.
DrawList.SaveToNewObject ('Shranjevanje tematike', root)

Clear

Metoda Clear briše vse teme iz tematike.

Method TDrawList.Clear
Drawlist.BeginUpdate
Drawlist.Clear
Drawlist.AddList ([Neka tematika]) 
Drawlist.EndUpdate
Redraw

Delete

Metoda Delete briše objekt iz sistema.

Method TDrawList.Delete As Boolean
ResultOptional BooleanVrne True, če je bilo brisanje uspešno.
[Neka tematika].Delete

SaveToFile

Metoda SaveToFile shrani objekt v binarni obliki v dano datoteko.

Method TDrawList.SaveToFile (FileName As String)
FileNameStringPolno ime datoteke, v katero naj se objekt shrani.
DrawList.SaveToFile ('c:\temp\Tematika.tmp')

LoadFromFile

Metoda LoadFromFile naloži objekt iz datoteke v binarni obliki. Ta datoteka je predhodno nastala z ukazom SaveToFile.

Method TDrawList.LoadFromFile (FileName As String) As Boolean
FileNameStringPolno ime datoteke, iz katere naj se objekt naloži.
ResultOptional BooleanVrne True, če je bil objekt uspešno naložen.
DrawList.LoadFromFile ('c:\temp\Tematika.tmp')

SaveToSif

Metoda SaveToSif shrani objekt v SIF obliki v datoteko.

Method TDrawList.SaveToSif (FileName As String)
FileNameStringPolno ime datoteke, v katero naj se objekt shrani.

SaveToSifAppend

Metoda SaveToSifAppend doda objekt v obstoječo SIF datoteko.

Method TDrawList.SaveToSifAppend (FileName As String)
FileNameStringPolno ime datoteke, v katero naj se objekt doda.

SaveToXml

Metoda SaveToXml shrani objekt v XML obliki v datoteko.

Method TDrawList.SaveToXml (FileName As String)
FileNameStringPolno ime datoteke, v katero naj se objekt shrani.