TDrawList

Iz SDMS
Redakcija dne 10:34, 11. november 2014 od Aleš Trtnik (pogovor | prispevki)
(prim) ← Starejša redakcija | poglejte trenutno redakcijo (prim) | Novejša redakcija → (prim)
Jump to navigationJump to search

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.