Lampiran b (coding)
Click here to load reader
-
Upload
irsan-widyawan -
Category
Engineering
-
view
248 -
download
3
Transcript of Lampiran b (coding)
Form MainPrivate Sub Chem_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path & "\Database.mdb"
CrystalReport1.WindowTitle = "Chemical Analyses"
CrystalReport1.ReportFileName = App.path & "\Rpt\Chemanal.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
'With CrystalReport1
'.DataFiles(0) = App.path & "\Database.mdb"
'.DiscardSavedData = True
'.WindowState = crptMaximized
'.SelectionFormula = ""
'.Action = 1
'End With
End Sub
Private Sub Form_Load()
Dim dc As New DataConnection
dc.Database = (App.path & "\Nangapinoh")
If dc.Connect Then
Dim L1 As MapObjects2.MapLayer
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("kalimantan")
L1.Symbol.Color = moCyan
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("lembar_nangapinoh")
L1.Symbol.Color = moGreen
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("sungai")
L1.Symbol.Color = moRed
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("titik_pengamatan")
L1.Symbol.Color = moBlack
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("analisis_kimia")
L1.Symbol.Color = moMagenta
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("fossil_determination")
L1.Symbol.Color = moBrown
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("K-Ar_Geochronology")
L1.Symbol.Color = moBlue
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("pan-concentrates")
L1.Symbol.Color = moYellow
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("sampel_batuan")
L1.Symbol.Color = moGray
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("stream-sediments")
L1.Symbol.Color = moPurple
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("thin_section")
L1.Symbol.Color = moOrange
mapDisp.Layers.Add L1
Else
MsgBox "direktori peta tidak ditemukan"
End If
Dim i As Integer
frmIntro.Show vbModal
'Me.Top = 0
'Me.Left = 0
barGraphics.Visible = False
strMapUnits = "Tidak Diketahui"
Dim tl As MapObjects2.TrackingLayer
Set tl = mapDisp.TrackingLayer
With tl
.SymbolCount = 3
.Symbol(0).SymbolType = moPointSymbol
.Symbol(0).Style = moTriangleMarker
.Symbol(0).Color = moRed
.Symbol(0).Size = 4
.Symbol(1).SymbolType = moLineSymbol
.Symbol(1).Style = moSolidLine
.Symbol(1).Color = moRed
.Symbol(1).Size = 2
.Symbol(2).SymbolType = moFillSymbol
.Symbol(2).Style = moTransparentFill
.Symbol(2).OutlineColor = moRed
.Symbol(2).Size = 2
End With
picMapTip.ZOrder 0
lblMapTip.ZOrder 0
picSplitter.BackColor = frmMain.BackColor
legMapDisp.ZOrder 0
mapDisp.ZOrder
m_mapTip.Initialize mapDisp, tmrMapTip, picMapTip, lblMapTip
Call DataLoader
'Link legend to the Map control
legMapDisp.setMapSource mapDisp
legMapDisp.LoadLegend True
legMapDisp.ShowAllLegend
legMapDisp.Active(0) = True
BarState = ""
lblCalendar = Format(Date, "D MMMM YYYY")
End Sub
Private Sub Form_Resize()
'This procedure resizes the map when the form is resized.
Dim border As Double, sideBorder As Double
Dim topBorder As Double, statusbarHeight As Double
border = 30
topBorder = 480
sideBorder = mapDisp.Left
statusbarHeight = 400
mapDisp.Top = topBorder
mapDisp.Left = sideBorder
If ScaleHeight > topBorder + border + statusbarHeight Then
mapDisp.Height = ScaleHeight - topBorder - border - statusbarHeight
picSplitter.Height = mapDisp.Height
End If
If ScaleWidth > (border * 2) + sideBorder Then
mapDisp.Width = ScaleWidth - (border * 2) - sideBorder
End If
'ngatur ukuran legenda
'legMapDisp.Height = mapDisp.Height
Dim lPanelLeft As Long, lPanelTop As Long
lPanelTop = sbrStatus.Top + 60
lPanelLeft = sbrStatus.Panels(3).Left
chkTipLayer.Move lPanelLeft + 60, lPanelTop + 30
cboTipField.Move lPanelLeft + sbrStatus.Panels(3).Width - cboTipField.Width - 30, lPanelTop
cboTipLayer.Move cboTipField.Left - cboTipLayer.Width - 30, lPanelTop
End Sub
Private Sub Form_Unload(Cancel As Integer)
SDECon.Disconnect
End
End Sub
Private Sub barDisplay_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim bKey As String
bKey = Button.Key
Call doTask(bKey)
BarState = bKey
End Sub
Public Sub doTask(buttonKey As String)
If frmIdentify.Visible Then
Unload frmIdentify
End If
If mapDisp.Layers.Count > 0 And legMapDisp.getActiveLayer > -1 Then
Set g_ActiveLayer = mapDisp.Layers(legMapDisp.getActiveLayer)
Else
Set g_ActiveLayer = Nothing
End If
Select Case buttonKey
Case "Print"
frmPrint.Show
frmPrint.ZOrder 0
Case "Map Properties"
frmMapProperties.Show
frmMapProperties.ZOrder 0
Case "Find"
frmFind.Show
frmFind.ZOrder 0
If g_ActiveLayer Is Nothing Then
MsgBox "Tidak ada layer yang aktif.", vbCritical
Exit Sub
End If
'If InStr(g_ActiveLayer.Tag, "[SHAPEFIL") = 0 Then
'MsgBox "Layer aktif bukanlah shapefile.", vbCritical
'Exit Sub
'End If
Case "Full Extent"
mapDisp.Extent = mapDisp.FullExtent
Case "Layer Extent"
If g_ActiveLayer Is Nothing Then
MsgBox "Tidak ada layer yang aktif.", vbCritical
Exit Sub
End If
mapDisp.Extent = g_ActiveLayer.Extent
Case "Graphics"
barGraphics.Visible = True
barGraphics.ZOrder 0
barGraphics.Refresh
mapDisp.MousePointer = moCross
Case "Zoom In"
If barGraphics.Visible = True Then barGraphics.Visible = False
mapDisp.MousePointer = moZoomIn
Case "Zoom Out"
If barGraphics.Visible = True Then barGraphics.Visible = False
mapDisp.MousePointer = moZoomOut
Case "Pan"
If barGraphics.Visible = True Then barGraphics.Visible = False
mapDisp.MousePointer = moPan
Case "Identify"
If barGraphics.Visible = True Then barGraphics.Visible = False
mapDisp.MousePointer = moIdentify
Case "Hitung Luas"
If barGraphics.Visible = True Then barGraphics.Visible = False
mapDisp.MousePointer = moCross
Dim Pl As MapObjects2.Polygon
Set Pl = mapDisp.TrackPolygon
mapDisp.TrackingLayer.AddEvent Pl, 1
MsgBox "Luas area = " & Pl.Area * 2.5 * 2.5 & " Km2"
mapDisp.TrackingLayer.ClearEvents
Case "Hitung Jarak"
If barGraphics.Visible = True Then barGraphics.Visible = False
mapDisp.MousePointer = moCross
Dim Ln As MapObjects2.Line
Set Ln = mapDisp.TrackLine
mapDisp.TrackingLayer.AddEvent Ln, 0
MsgBox "Panjang jarak = " & Ln.Length * 2.5 & " Km"
mapDisp.TrackingLayer.ClearEvents
Case "Export Peta"
mapDisp.ExportMap moExportEMF, App.path & "\peta.emf", 1
legMapDisp.ExportToBmp App.path & "\legenda.bmp"
Case "About"
Dim datax As String
Dim szOtherStuffx As String
Dim szOtherStuffy As String
szOtherStuffx = "20030110 - nawaydiW nasrI"
szOtherStuffy = "honipagnaN GIS - rihkA saguT"
datax = StrReverse(szOtherStuffy) & Chr(13) & StrReverse(szOtherStuffx)
ShellAbout Me.hWnd, App.Title, datax, ByVal 0&
End Select
End Sub
Private Sub Fossils_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path & "\Database.mdb"
CrystalReport1.WindowTitle = "Fossil Determinations"
CrystalReport1.ReportFileName = App.path & "\Rpt\Fossdet.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
End Sub
Private Sub Geochronology_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path & "\Database.mdb"
CrystalReport1.WindowTitle = "K-Ar Geochronology"
CrystalReport1.ReportFileName = App.path & "\Rpt\Kargeo.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
End Sub
Private Sub Pan_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path & "\Database.mdb"
CrystalReport1.WindowTitle = "Pan-Concentrates"
CrystalReport1.ReportFileName = App.path & "\Rpt\Pan.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
End Sub
Private Sub Stream_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path & "\Database.mdb"
CrystalReport1.WindowTitle = "Stream-Sedimets"
CrystalReport1.ReportFileName = App.path & "\Rpt\Stream.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
End Sub
Private Sub legMapDisp_LayerDblClick(Index As Integer)
Set g_ActiveLayer = mapDisp.Layers(Index)
If g_ActiveLayer.LayerType = moImageLayer Then
MsgBox "Sorry, you cannot set properties for an image layer." & _
vbCrLf & "Try setting properties for a layer with vector data."
Exit Sub
End If
frmLayerSymbol.Show vbModal
End Sub
Private Sub mnuEdit_Find_Click()
End Sub
Private Sub mnuEdit_Peta_Click()
'Shell untuk manggil executable---vbNormalFocus untuk mokusin prog yg dipanggil
Shell "C:\ESRI\AV_GIS30\ARCVIEW\BIN32\arcview.exe D:\Irsan_Punya\Tugas_Akhir_(My_1st_Masterpiece)\Aplikasi\SIG_Nangapinoh\nangapinoh.apr", vbNormalFocus
End Sub
Private Sub mnuFile_Export_Click()
Call doTask("Export Peta")
End Sub
Private Sub mnuHelp_Petunjuk_Click()
Shell "Notepad D:\Irsan_Punya\Tugas_Akhir_(My_1st_Masterpiece)\Aplikasi\SIG_Nangapinoh\Help.txt", vbNormalFocus
End Sub
Private Sub mnuSearch_Peta_Click()
Call doTask("Find")
End Sub
Private Sub mnuTools_HitJarak_Click()
barDisplay.Buttons("Jarak").Value = 1
Call doTask("Hitung Jarak")
End Sub
Private Sub mnuTools_HitLuas_Click()
barDisplay.Buttons("Luas").Value = 1
Call doTask("Hitung Luas")
Private Sub picSplitter_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
picSplitter.ZOrder 0
picSplitter.BackColor = 8421504 'dark-gray
picSplitter.Refresh
End Sub
Private Sub picSplitter_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
picSplitter.Left = picSplitter.Left + X - 50
If picSplitter.Left > MIN_LEGEND_WIDTH Then
picSplitter.Refresh
frmMain.Refresh
Else
picSplitter.Left = MIN_LEGEND_WIDTH
picSplitter_MouseUp Button, Shift, X, Y
End If
End If
End Sub
Private Sub picSplitter_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
picSplitter.BackColor = frmMain.BackColor
legMapDisp.Width = legMapDisp.Left + picSplitter.Left
mapDisp.Left = picSplitter.Left + picSplitter.Width
mapDisp.Width = frmMain.Width - legMapDisp.Width - picSplitter.Width - 180
picSplitter.ZOrder 1
End Sub
Private Sub legMapDisp_AfterSetLayerVisible(Index As Integer, isVisible As Boolean)
mapDisp.Refresh
End Sub
Private Sub mapDisp_AfterTrackingLayerDraw(ByVal hDC As StdOle.OLE_HANDLE)
Dim i As Long
If collGtextStrings.Count > 0 Then
For i = 1 To collGtextStrings.Count
mapDisp.DrawText collGtextStrings(i), collGtextPoints(i), symGtext
Next
End If
Select Case BarState
Case "Graphics"
mapDisp.MousePointer = moCross
Case "Spatial Select"
mapDisp.MousePointer = moArrow
Case "Zoom In"
mapDisp.MousePointer = moZoomIn
Case "Zoom Out"
mapDisp.MousePointer = moZoomOut
Case "Pan"
mapDisp.MousePointer = moPan
Case "Identify"
mapDisp.MousePointer = moIdentify
Case "Jarak"
mapDisp.MousePointer = moCross
Case "Luas"
mapDisp.MousePointer = moCross
Case Else
mapDisp.MousePointer = moDefault
End Select
End Sub
Private Sub mapdisp_BeforeLayerDraw(ByVal Index As Integer, ByVal hDC As StdOle.OLE_HANDLE)
mapDisp.MousePointer = moHourglass
If Index = mapDisp.Layers.Count - 1 Then
updateScale
End If
End Sub
Private Sub mapDisp_DragFiles(ByVal fileNames As Object, ByVal X As Single, ByVal Y As Single, ByVal state As Integer, dropValid As Boolean)
If fileNames.Count > 0 Then
dropValid = True
End If
End Sub
Private Sub mapDisp_DropFiles(ByVal fileNames As Object, ByVal X As Single, ByVal Y As Single)
Dim dcx As New MapObjects2.DataConnection
Dim shpfile As Variant
Dim i As Integer
Dim ml As MapObjects2.MapLayer
shpfile = (Dir(fileNames.Item(0), vbDirectory))
shpfile = CStr(Left(shpfile, Len(shpfile) - 4))
dcx.Database = Left(fileNames.Item(0), Len(fileNames.Item(0)) - Len(shpfile) - 5)
If dcx.Connect Then
For i = 0 To fileNames.Count - 1
Set ml = New MapObjects2.MapLayer
shpfile = Dir(fileNames.Item(i), vbDirectory)
shpfile = CStr(Left(shpfile, Len(shpfile) - 4))
Set ml.GeoDataset = dcx.FindGeoDataset(shpfile)
mapDisp.Layers.Add ml
legMapDisp.LoadLegend
Next i
Dim ptcoll As New Collection
Dim linecoll As New Collection
Dim polycoll As New Collection
Dim imagecoll As New Collection
For i = 0 To mapDisp.Layers.Count - 1
If mapDisp.Layers(i).LayerType = moImageLayer Then
imagecoll.Add mapDisp.Layers(i)
ElseIf mapDisp.Layers(i).LayerType = moMapLayer Then
Select Case mapDisp.Layers(i).shapeType
Case moShapeTypePoint
ptcoll.Add mapDisp.Layers(i)
Case moShapeTypeLine
linecoll.Add mapDisp.Layers(i)
Case moShapeTypePolygon
polycoll.Add mapDisp.Layers(i)
End Select
End If
Next i
mapDisp.Layers.Clear
Dim p As MapObjects2.MapLayer
For Each p In polycoll
mapDisp.Layers.Add p
Next p
Dim l As MapObjects2.MapLayer
For Each l In linecoll
mapDisp.Layers.Add l
Next l
For Each p In ptcoll
mapDisp.Layers.Add p
Next p
Dim im As MapObjects2.ImageLayer
For Each im In imagecoll
mapDisp.Layers.Add im
Next im
End If
mapDisp.Extent = mapDisp.FullExtent
mapDisp.Refresh
End Sub
Private Sub mapDisp_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim curRectangle As Rectangle
If barDisplay.Buttons.Item("Zoom In").Value = 1 Then
Set curRectangle = mapDisp.TrackRectangle
Set mapDisp.Extent = curRectangle
ElseIf barDisplay.Buttons("Zoom Out").Value = 1 Then
Dim Loc As New Point
Set Loc = mapDisp.ToMapPoint(X, Y)
Dim MapWidth As Double, MapHeight As Double
Set curRectangle = mapDisp.Extent
MapWidth = mapDisp.Extent.Width
MapHeight = mapDisp.Extent.Height
curRectangle.Right = Loc.X + MapWidth
curRectangle.Left = Loc.X - MapWidth
curRectangle.Top = Loc.Y + MapHeight
curRectangle.Bottom = Loc.Y - MapHeight
Set mapDisp.Extent = curRectangle
ElseIf barDisplay.Buttons("Pan").Value = 1 Then
mapDisp.Pan
ElseIf barDisplay.Buttons("Identify").Value = 1 Then
Call frmIdentify.Identify(X, Y)
frmIdentify.ZOrder 0
ElseIf barDisplay.Buttons("Jarak").Value = 1 Then
Dim Ln As MapObjects2.Line
Set Ln = mapDisp.TrackLine
mapDisp.TrackingLayer.AddEvent Ln, 0
MsgBox "Panjang jarak =" & Ln.Length * 25 & " Km"
mapDisp.TrackingLayer.ClearEvents
ElseIf barDisplay.Buttons("Luas").Value = 1 Then
Dim Pl As MapObjects2.Polygon
Set Pl = mapDisp.TrackPolygon
mapDisp.TrackingLayer.AddEvent Pl, 1
MsgBox "Luas area ini=" & Pl.Area * 25 * 25 & " Km2"
mapDisp.TrackingLayer.ClearEvents
If barGraphics.Visible Then
Dim tl As MapObjects2.TrackingLayer
Set tl = mapDisp.TrackingLayer
tl.SymbolCount = 3
mapDisp.TrackingLayer.Refresh True
End If
End If
End Sub
Private Sub mapDisp_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim p As MapObjects2.Point
Set p = mapDisp.ToMapPoint(X, Y)
sbrStatus.Panels(2).text = "Long:" & p.X & " Lat:" & p.Y If chkTipLayer.Value = 1 And cboTipLayer.ListCount > 0 Then
m_mapTip.MouseMove X, Y
End If
End Sub
Private Sub mnuClearGraphics_Click()
mapDisp.TrackingLayer.ClearEvents
Set collGtextStrings = New VBA.Collection
Set collGtextPoints = New VBA.Collection
mapDisp.TrackingLayer.Refresh True
End Sub
Private Sub mnuTools_MapProperties_Click()
Call doTask("Map Properties")
End Sub
Private Sub mnuFile_PrintPeta_Click()
Call doTask("Print")
End Sub
Private Sub mnuHelp_About_Click()
Call doTask("About")
End Sub
Private Sub mnuHelp_Summary_Click()
Call doTask("Summary")
End Sub
Private Sub mnuTools_FullExtent_Click()
Call doTask("Full Extent")
End Sub
Private Sub mnuTools_Identify_Click()
barDisplay.Buttons("Identify").Value = 1
Call doTask("Identify")
End Sub
Private Sub mnuTools_Pan_Click()
barDisplay.Buttons("Pan").Value = 1
Call doTask("Pan")
End Sub
Private Sub mnuTools_ZoomIn_Click()
barDisplay.Buttons("Zoom In").Value = 1
Call doTask("Zoom In")
End Sub
Private Sub mnuTools_ZoomOut_Click()
barDisplay.Buttons("Zoom Out").Value = 1
Call doTask("Zoom Out")
End Sub
Private Sub mnuAddLayer_Click()
Call AddFile
If chkTipLayer.Value = 1 Then refreshMapTips
End Sub
Private Sub mnuLegendEditor_Click()
Dim Index As Integer
Index = legMapDisp.getActiveLayer
If Index = -1 Then
MsgBox "Tidak ada layer yang aktif.", vbExclamation, "Warning"
Exit Sub
End If
Set g_ActiveLayer = mapDisp.Layers(Index)
If mapDisp.Layers(Index).LayerType = moImageLayer Then
MsgBox "Sorry, you cannot set properties for an image layer.", _
vbCritical, "Stop"
Exit Sub
End If
frmLayerSymbol.Show vbModal
End Sub
Private Sub mnuRemoveAllLayers_Click()
mapDisp.Layers.Clear
Call updateScale
legMapDisp.LoadLegend
frmMain.Refresh
If frmMain.chkTipLayer.Value = 1 Then refreshMapTips
End Sub
Private Sub mnuRemoveLayer_Click()
Dim Index As Long
Index = legMapDisp.getActiveLayer
If Index <> -1 Then
mapDisp.Layers.Remove Index
legMapDisp.LoadLegend 'Refresh legend
Else
MsgBox "Tidak ada layer yang aktif.", vbExclamation, "Peringatan"
Exit Sub
End If
If frmMain.chkTipLayer.Value = 1 Then refreshMapTips
End Sub
Private Sub Rock_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path & "\Database.mdb"
CrystalReport1.WindowTitle = "Rock Samples"
CrystalReport1.ReportFileName = App.path & "\Rpt\Rocksamp.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
End Sub
Private Sub Thin_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path & "\Database.mdb"
CrystalReport1.WindowTitle = "Thin Section"
CrystalReport1.ReportFileName = App.path & "\Rpt\Thinsect.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
End Sub
Private Sub addShapeFile(basepath As String, shpfile As String)
Dim dCon As New DataConnection
Dim gSet As GeoDataset
Dim strShapefileType As String
dCon.Database = basepath
If dCon.Connect Then
shpfile = GetFirstToken(shpfile, ".")
Set gSet = dCon.FindGeoDataset(shpfile)
If gSet Is Nothing Then
MsgBox "Error opening shapefile " & shpfile, vbCritical
If mapDisp.Layers.Count = 0 Then
sbrStatus.Panels(1).text = "Tidak Ada Skala"
Exit Sub
End If
If strMapUnits = "Unknown" Then
sbrStatus.Panels(1) = "Tidak Ada Satuan Peta"
Exit Sub
End If
Select Case strMapUnits
Case "Decimal Degrees": convFactor = INCH2DEGREES
Case "Meters": convFactor = INCH2METERS
Case "Feet": convFactor = INCH2FEET
End Select
mapScreenWidth = mapDisp.Width / 1440
mapExtentWidth = mapDisp.Extent.Width * convFactor
mapScale = Int(mapExtentWidth / mapScreenWidth)
sbrStatus.Panels(1).text = "SKALA 1 : " & Format(mapScale, "#,000")
End Sub
Form LoginPrivate Sub cmdOK_Click()
Dim rc As New ADODB.Recordset
If Cmb1.text = "" Then
MsgBox "Jabatan Isi Terlebih Dahulu", vbInformation, "Pesan"
ElseIf Text2.text = "" And UCase(Cmb1) = "ADMIN" Then
MsgBox "Password Isi Terlebih Dahulu", vbInformation, "Pesan"
Else
If UCase(Cmb1) = "ADMIN" Then
rc.Open "select * from usher where jabatan='" & Cmb1 & "'and password='" & Text2 & "'", db
If rc.EOF = False Then
Unload Me
frmMain.Show
'frmMain.mnuFile.Enabled = False
Else
MsgBox "Password Anda Salah!", vbCritical, "Peringatan!"
Cmb1 = ""
Text2 = ""
Cmb1.SetFocus
End If
Else
Unload Me
frmMain.Show
frmMain.mnuInput.Enabled = False
frmMain.mnuEdit.Enabled = False
frmMain.mnuTools_User.Enabled = False
frmMain.mnuSearch_Data.Enabled = False
End If
End If
End Sub
Private Sub Form_Load()
Dim topCorner As Integer
Dim leftCorner As Integer
Dim i As Integer
If frmIntro.WindowState <> 0 Then Exit Sub
picMO.Picture = LoadPicture(App.path & "\bitmaps\logo.bmp")
Cmb1.AddItem "admin"
Cmb1.AddItem "user"
Text2.PasswordChar = "*"
Left = (Screen.Width - Width) \ 2
Top = (Screen.Height - Height) \ 2
End Sub
Form Edit UserPrivate Sub cmdSimpan_Click()
If rc.state = 1 Then rc.Close
rc.Open "SELECT * FROM Usher WHERE password='" & txtlama & "'", db
If rc.EOF = True Then
MsgBox "Data tidak ada!", vbCritical, "PESAN"
txtlama = ""
txtbaru = ""
txtlama.SetFocus
Else
db.Execute "UPDATE usher SET usher.[jabatan]='admin',usher.[password]='" & txtbaru & "' WHERE usher.[password]='" & txtlama & "';"
MsgBox "Data telah terupdate!", vbInformation, "PESAN"
End If
End Sub
Private Sub Form_Load()
txtlama = ""
txtbaru = ""
txtlama.TabIndex = 0
End Sub
Form Map PropertiesPrivate Sub cboMapUnits_Click()
frmMain.strMapUnits = cboMapUnits.List(cboMapUnits.ListIndex)
frmMain.updateScale
End Sub
Private Sub CmdAddLayer_Click()
frmMain.AddFile
If frmMain.chkTipLayer.Value = 1 Then frmMain.refreshMapTips
End Sub
Private Sub cmdOK_Click()
Unload Me
End Sub
Private Sub Form_Load()
Me.Top = frmMain.Top
If (Me.Height + frmMain.Top + frmMain.Height) > Screen.Height Then
Me.Top = Screen.Height - Me.Height
Else
Me.Top = frmMain.Top + frmMain.Height
End If
Select Case frmMain.mapDisp.ScrollBars
Case True: chkScrollbars.Value = 1
Case False: chkScrollbars.Value = 0
End Select
chkAppearance.Value = frmMain.mapDisp.Appearance
cboBorderStyle.ListIndex = frmMain.mapDisp.BorderStyle
Select Case frmMain.strMapUnits
Case "Unknown": cboMapUnits.ListIndex = 0
Case "Decimal Degrees": cboMapUnits.ListIndex = 1
Case "Meters": cboMapUnits.ListIndex = 2
Case "Feet": cboMapUnits.ListIndex = 3
End Select
picMapBackColor.BackColor = frmMain.mapDisp.BackColor
Left = (Screen.Width - Width) \ 2
Top = (Screen.Height - Height) \ 2
End Sub
Private Sub cboBorderStyle_Click()
Dim status As Integer
status = Left(cboBorderStyle.text, 1)
frmMain.mapDisp.BorderStyle = status
End Sub
Private Sub chkAppearance_Click()
If chkAppearance.Value = 1 Then
frmMain.mapDisp.Appearance = mo3D
ElseIf chkAppearance.Value = 0 Then
frmMain.mapDisp.Appearance = moFlat
End If
End Sub
Private Sub chkScrollbars_Click()
If chkScrollbars.Value = 0 Then
frmMain.mapDisp.ScrollBars = False
ElseIf chkScrollbars.Value = 1 Then
frmMain.mapDisp.ScrollBars = True
End If
End Sub
Private Sub picMapBackColor_Click()
CommonDialog1.ShowColor
picMapBackColor.BackColor = CommonDialog1.Color
frmMain.mapDisp.BackColor = picMapBackColor.BackColor
End Sub
Form IdentifySub Identify(X As Single, Y As Single)
Dim curCount As Long, layerCount As Long, layer_c As Long
Dim Loc As New MapObjects2.Point
Dim theTol As Double
Dim featCount As Long, fCount As Long
Dim aLayer As Object
Dim recs As MapObjects2.Recordset
Dim aName As String, theItem As String
Dim aField As Object
layer_c = frmMain.mapDisp.Layers.Count
ReDim layerName(layer_c)
ReDim Recs2(layer_c)
Screen.MousePointer = 11
cboIDList.Clear
lstFeatList.Clear
lblFeatFound.Caption = "Proses Mencari . . ."
lblTheme.Caption = "Theme:"
lblShapeType.Caption = "Shape:"
Set Loc = frmMain.mapDisp.ToMapPoint(X, Y)
Dim xStr As String, yStr As String
If Loc.X > 1000 Or Loc.Y > 1000 Then
xStr = Int(Loc.X): yStr = Int(Loc.Y)
Else
xStr = Loc.X: yStr = Loc.Y
End If
lblLocation.Caption = "Lokasi : (" & xStr & "," + yStr + ")"
featCount = 0
layerCount = -1
theTol = frmMain.mapDisp.ToMapDistance(SEARCHTOLPIXELS * Screen.TwipsPerPixelX)
For Each aLayer In frmMain.mapDisp.Layers
If aLayer.Visible And aLayer.LayerType = moMapLayer Then
Set recs = aLayer.SearchByDistance(Loc, theTol, "")
layerCount = layerCount + 1
layerName(layerCount) = aLayer.Name
Set Recs2(layerCount) = recs
curCount = -1
If recs.Count <> 0 Then
aName = "Featureid"
For Each aField In recs.Fields
If aField.Type = moString Then
aName = aField.Name
Exit For
End If
Next
End If
While Not recs.EOF
ReDim Preserve layerNum(2, featCount + 1)
curCount = curCount + 1
layerNum(1, featCount) = layerCount
layerNum(2, featCount) = curCount
featCount = featCount + 1
theItem = recs(aName).ValueAsString
If theItem = "" Then
cboIDList.AddItem recs("FeatureId").ValueAsString
Else
cboIDList.AddItem theItem
End If
recs.MoveNext
Wend
End If
Next aLayer