Attribute VB_Name = "ModExporte" Option Explicit 'Conexão que seja usado em todo o Processo 'Private conn As New ADODB.Connection 'Objeto Utilizado para retornar a posicao 'em que seja colocado o nó virtual e os vétices das rede(linhas) Private tb As New TeDatabase 'Variavel que guardará o layer_id dos NOS(Watercomponents) Private layer_id As Integer Public intLinhaCod As Integer 'indicador de linha para tratamento de erro Public Cancelar As Boolean 'FUNÇÕES PARA LER E GRAVAR NO ARQUIVO .INI------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nsize As Long, ByVal lpFileName As String) As Long Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 'Lê as informações do arquivo de inicialização do GeoSan 'Arquivo=nome do arquivo ini 'Secao=O que esta entre [] 'Entrada=nome do que se encontra antes do sinal de igual ' Public Function ReadINI(Secao As String, Entrada As String, Arquivo As String) Dim retlen As String Dim Ret As String Ret = String$(255, 0) retlen = GetPrivateProfileString(Secao, Entrada, "", Ret, Len(Ret), Arquivo) Ret = Left$(Ret, retlen) ReadINI = Ret End Function Public Function DistanceBetween(ByVal X1 As Double, ByVal Y1 As Double, ByVal X2 As Double, ByVal Y2 As Double) As Double ' Calculate the distance between two points, given their X/Y coordinates. ' The short version... DistanceBetween = Sqr((Abs(X2 - X1) ^ 2) + (Abs(Y2 - Y1) ^ 2)) End Function Public Function GetLayerID(LayerName_ As String) As Integer Dim Rs As ADODB.Recordset Set Rs = conn.Execute("SELECT LAYER_ID FROM TE_LAYER WHERE UPPER(name) ='" & UCase(LayerName_) & "'") If Rs.EOF = False Then GetLayerID = Rs(0).Value Else MsgBox "Não Localizado o Layer " & UCase(LayerName_) End End If Rs.Close Set Rs = Nothing End Function Public Function FunDecripta(ByVal strDecripta As String) As String Dim IntTam As Integer Dim i As Integer Dim letra, nStr As String IntTam = Len(strDecripta) nStr = "" 'desconsidera os os numeros de HH-MM-SS strDecripta = Mid(strDecripta, 6, 5) & Mid(strDecripta, 16, 5) & Mid(strDecripta, 26, 5) & _ Mid(strDecripta, 36, 5) & Mid(strDecripta, 46, 5) & Mid(strDecripta, 56, 200) i = 1 Do While Not i = IntTam - 29 letra = Mid(strDecripta, i, 5) Select Case letra Case "14334" nStr = nStr & "a" Case "14212" nStr = nStr & "A" Case "24334" nStr = nStr & "á" Case "24134" nStr = nStr & "â" Case "24234" nStr = nStr & "ã" Case "24314" nStr = nStr & "à" Case "24324" nStr = nStr & "b" Case "14223" nStr = nStr & "B" Case "11211" nStr = nStr & "ç" Case "11311" nStr = nStr & "Ç" Case "13334" nStr = nStr & "c" Case "14324" nStr = nStr & "C" Case "24344" nStr = nStr & "d" Case "14444" nStr = nStr & "D" Case "12314" nStr = nStr & "e" Case "21111" nStr = nStr & "E" Case "24321" nStr = nStr & "é" Case "32314" nStr = nStr & "ê" Case "31314" nStr = nStr & "f" Case "21311" nStr = nStr & "F" Case "32134" nStr = nStr & "g" Case "21341" nStr = nStr & "G" Case "31324" nStr = nStr & "h" Case "22111" nStr = nStr & "H" Case "32124" nStr = nStr & "i" Case "21112" nStr = nStr & "I" Case "31334" nStr = nStr & "í" Case "32333" nStr = nStr & "ì" Case "11314" nStr = nStr & "j" Case "23122" nStr = nStr & "J" Case "33134" nStr = nStr & "k" Case "23411" nStr = nStr & "K" Case "33314" nStr = nStr & "l" Case "32222" nStr = nStr & "L" Case "43423" nStr = nStr & "m" Case "32111" nStr = nStr & "M" Case "42423" nStr = nStr & "n" Case "33221" nStr = nStr & "N" Case "43234" nStr = nStr & "o" Case "33233" nStr = nStr & "O" Case "42444" nStr = nStr & "ô" Case "43223" nStr = nStr & "õ" Case "42433" nStr = nStr & "ò" Case "43231" nStr = nStr & "ó" Case "22223" nStr = nStr & "p" Case "33444" nStr = nStr & "P" Case "43233" nStr = nStr & "q" Case "34442" nStr = nStr & "Q" Case "43421" nStr = nStr & "r" Case "34332" nStr = nStr & "R" Case "13443" nStr = nStr & "s" Case "34222" nStr = nStr & "S" Case "44444" nStr = nStr & "t" Case "34112" nStr = nStr & "T" Case "13444" nStr = nStr & "u" Case "41311" nStr = nStr & "U" Case "11111" nStr = nStr & "ú" Case "13243" nStr = nStr & "ù" Case "11115" nStr = nStr & "û" Case "13241" nStr = nStr & "v" Case "41222" nStr = nStr & "V" Case "12443" nStr = nStr & "x" Case "41133" nStr = nStr & "X" Case "13244" nStr = nStr & "y" Case "42231" nStr = nStr & "Y" Case "13441" nStr = nStr & "w" Case "42222" nStr = nStr & "W" Case "11313" nStr = nStr & "z" Case "42213" nStr = nStr & "Z" Case "11312" nStr = nStr & "@" Case "11114" nStr = nStr & "%" Case "12341" nStr = nStr & "&" Case "13343" nStr = nStr & "*" Case "12342" nStr = nStr & "(" Case "13344" nStr = nStr & ")" Case "12333" nStr = nStr & "$" Case "23334" nStr = nStr & "!" Case "13331" nStr = nStr & "#" Case "21242" nStr = nStr & "?" Case "22313" nStr = nStr & "1" Case "23424" nStr = nStr & "2" Case "24131" nStr = nStr & "3" Case "41414" nStr = nStr & "4" Case "22314" nStr = nStr & "5" Case "23423" nStr = nStr & "6" Case "44134" nStr = nStr & "7" Case "21241" nStr = nStr & "8" Case "22312" nStr = nStr & "9" Case "23231" nStr = nStr & "0" Case "34123" nStr = nStr & " " Case "14121" nStr = nStr & "_" Case "14144" nStr = nStr & "/" Case "12131" nStr = nStr & "\" Case "12124" nStr = nStr & "-" Case "21421" nStr = nStr & ";" Case "21321" nStr = nStr & ":" Case "14431" nStr = nStr & "," Case "13421" nStr = nStr & "." Case "11213" nStr = nStr & "+" Case "11212" nStr = nStr & "=" Case Else MsgBox "Código de criptografia inválido!" 'mStrDeCriptografa = "" Exit Function End Select i = i + 5 Loop FunDecripta = nStr 'mStrDeCriptografa = nStr Exit Function End Function