numstart=0 then:=1;:=TKoor.Create ( TKoor(ListKoor.Items[numstart]).x,(ListKoor.Items[numstart]).y);(ListKoor,znLine,koor,numstart,ugol);(koor,Round(ugol*10),znLine,mc);.Free;;.Free;;TFormMap.DrawPanelLabel(k:Double=1) ;: integer ;, totalHeight: integer; ListLabelMap=nil then ListLabelMap:=TObjectList.Create (True) ;. Clear; (ListLabelMap, LEMest.Text, tlMest); (ListLabelMap, LEZaleg.Text, tlZaleg) ; (ListLabelMap, LEMapName.Text, tlMap) ;. Add (TLabelMap.Create (nil)); (ListLabelMap.Last) .Caption:= Масштаб raquo;+EdMashFir.Text+laquo;:raquo;+EdMashSec.Text;(ListLabelMap.Last).TypeLabel:=tlMashtab;.Color:=clWhite;.Top:=Round(PanelLabel.Top*k);.Left:=Round(PanelLabel.Left*k);i:=0 to ListLabelMap.Count - 1 do(ListLabelMap.Items[i]).Parent:=PanelLabel;(ListLabelMap.Items[i]).Alignment:=taCenter;(ListLabelMap.Items[i]).Left:=0;(ListLabelMap.Items[i]).AutoSize:=True;(ListLabelMap.Items[i]).Visible:=True;(ListLabelMap.Items[i]).Enabled:=False;TLabelMap(ListLabelMap.Items[i]).TypeLabel of:(ListLabelMap.Items[i]).Font.Size:=Round((18+delSizeLabel)*cur_step);(ListLabelMap.Items[i]).Font.Style:=[fsBold];;:(ListLabelMap.Items[i]).Font.Size:=Round((14+delSizeLabel)*cur_step);(ListLabelMap.Items[i]).Font.Style:=[fsBold];;:(ListLabelMap.Items[i]).Font.Size:=Round((12+delSizeLabel)*cur_step);(ListLabelMap.Items[i]).Font.Style:=[fsBold];;:(ListLabelMap.Items[i]).Font.Size:=Round((12+delSizeLabel)*cur_step);(ListLabelMap.Items[i]).Font.Style:=(ListLabelMap.Items[i]).Font.Style-[fsBold];;;;:=0;:=0;i:=0 to ListLabelMap.Count - 1 do (ListLabelMap.Items [i]). Top:=totalHeight; maxWidth lt; TLabel (ListLabelMap.Items [i]). Width then:=TLabel (ListLabelMap.Items [i]). Width ;: =totalHeight + TLabel (ListLabelMap.Items [i]). Height ;; i:=0 to ListLabelMap.Count - 1 do(ListLabelMap.Items[i]).Width:=maxWidth;.Width:=maxWidth;.Height:=totalHeight;;TFormMap.PanelLabelMouseDown(Sender: TObject; Button: TMouseButton ;: TShiftState; X, Y: Integer) ;, delRight, delTop, delBottom, delX, delY: Integer ;; (Sender) .Perform (WM_SYSCOMMAND, $ F012, 0);:=PanelLabel.Left - ScrollBoxWmf.HorzScrollBar.Position;:=-(PanelLabel.Left + PanelLabel.Width) +
(ScrollBoxWmf.HorzScrollBar.Position+ScrollBoxWmf.Width);:=PanelLabel.Top-ScrollBoxWmf.VertScrollBar.Position;:=-(PanelLabel.Top+PanelLabel.Height) +
(ScrollBoxWmf.VertScrollBar.Position + ScrollBoxWmf.Height);:=0;:=0; delLeft lt; 0 then:=delLeftdelRight lt; 0:=- delRight; delTop lt; 0 then:=delTopdelBottomlt;0:=-delBottom;.HorzScrollBar.Position:=ScrollBoxWmf.HorzScrollBar.Position+delX;.VertScrollBar.Position:=ScrollBoxWmf.VertScrollBar.Position+delY;;TFormMap.EdMashFirKeyPress(Sender: TObject; var Key: Char); not (Key in [ 0 .. 9 ] + [# 8]) then:=# 0 ;; TFormMap.DataSourceLayerHdrDataChange (Sender: TObject ;: TField) ;: String;.Text:=DataModuleMap.AdoDataSetLayerHdr.FieldByName ( DISPLAY_NAME ). AsString; not DataModuleMap.AdoDataSetLayerHdr.IsEmpty then:=DataModuleMap.AdoDataSetLayerHdr.FieldByName ( ID ). AsString:=- 1 raquo ;;
end;
Додаток Б
У додатку Б представлений вихідний код розроблених функцій і процедур на мові програмування Visual Basic
Public koefX, koefY As DoublemaxX, maxY, minX, minY As DoublevisNomSkv As Booleanfolder As StringlenText=4/25.4lenCentr=0.8/25.4DrawMap () Dir As StringcollFName As New Collection=ThisDocument.PathSearchFiles (idm , collFName) DrawKontur (collFName) SubSearchFiles (ByVal idm As String, Coll As Collection) i As IntegersFileName As Stringfso As FileSystemObjectfso=New FileSystemObjecti=1 To 16=folder + CStr (i) fso.FileExists (sFileName)=True Then.Add Item:=sFileNameIf=folder + lineust fso.FileExists (sFileName) Then.Add Item:=sFileNameIfSubSub ReadParamMap () xmlDoc As New MSXML.DOMDocumentiNode As IXMLDOMNode.Load (folder + option.xml ) iRoot=xmlDoc.FirstChildiNode=iRootildNodes.Item (FindIndexTag (iRoot, gran_img ))=CDbl (iNode.Attributes.getNamedItem ( right ). nodeValue)=CDbl (iNode.Attributes.getNamedItem ( left ).nodeValue)=CDbl (iNode.Attributes.getNamedItem ( top ). nodeValue)=CDbl (iNode.Attributes.getNamedItem ( bottom ). nodeValue) iNode=iRootildNodes.Item (FindIndexTag (iRoot, laquo ; nom_skv ))=CBool ??(iNode.Attributes.getNamedItem ( visible ). nodeValue)=(maxX - minX)/190=(maxY - minY)/260koefX lt; koefY Then=koefY=koefXIfSubDrawKontur (Coll As Collection) shapeObj As ShapeshapeCell As CelltipL, pos, k, pointStart, k1, NumPoint As Integerrast, koorX, koorY, predX, predY As DoubleznLine, Str As StringoGnk As New GnkoGnkVn As New GnkVnoGran As New GranoIzoPunkt As New IzolPunktoVnk As New VnkoVnkVn As New VnkVnoZam As New ZamoKoor As New KooroSkv As New SkvoHeadMap As New HeadMapoLegendMap As New LegendMapCollKoor As New CollectionshapeGroupLine, shapeGroup As ShapeshapeSelection, shapeLine, shapeText As Selection.DeselectAllshapeSelectio...