quinta-feira, 8 de outubro de 2015
Tornar o fundo de uma imagem transparente em VB.NET
Private Sub form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim imagem As New Bitmap("c:\imagem.jpg")
imagem.MakeTransparent(Color.White) 'Para colocar a cor branca como transparente
picturebox1.Image = imagem 'Carrega a imagem para um PictureBox
End Sub
Dim imagem As New Bitmap("c:\imagem.jpg")
imagem.MakeTransparent(Color.White) 'Para colocar a cor branca como transparente
picturebox1.Image = imagem 'Carrega a imagem para um PictureBox
End Sub
Função em VBA no Process Book para escrever um valor em um tag
Fazer
referência á Biblioteca: PISDK 1.3
Type Library
Menu Tools --> References
Public Sub EscreveValor(NomeTag As String, Valor As Variant)
Dim srv As Server
Dim tag As PIPoint
Dim timestamp As String
Dim startTime As String
Set srv = PISDK.Servers.DefaultServer
startTime = srv.servertime
Set tag = srv.PIPoints(NomeTag)
Tag.Data.UpdateValue Valor, startTime, dmReplaceDuplicates
End Sub
Menu Tools --> References
Public Sub EscreveValor(NomeTag As String, Valor As Variant)
Dim srv As Server
Dim tag As PIPoint
Dim timestamp As String
Dim startTime As String
Set srv = PISDK.Servers.DefaultServer
startTime = srv.servertime
Set tag = srv.PIPoints(NomeTag)
Tag.Data.UpdateValue Valor, startTime, dmReplaceDuplicates
End Sub
Função em VBA no Process Book para ler o TimeStamp de um tag
Fazer referência á Biblioteca: PISDK 1.3 Type Library
Menu Tools --> References
Function LeTimeStamp(NomeDoTag As String) As String
Dim tag As PIPoint
Dim srv As Server
Dim timestamp As Variant
Set srv = Servers("TADCIPI01")
Set tag = srv.PIPoints(NomeDoTag)
timestamp = tag.Data.Snapshot.timestamp.LocalDate
LeTimeStamp = timestamp
End Function
Dim tag As PIPoint
Dim srv As Server
Dim timestamp As Variant
Set srv = Servers("TADCIPI01")
Set tag = srv.PIPoints(NomeDoTag)
timestamp = tag.Data.Snapshot.timestamp.LocalDate
LeTimeStamp = timestamp
End Function
Função em VBA no ProcessBook para ler o valor de um tag
Fazer referência á Biblioteca: PISDK 1.3 Type Library
Menu Tools --> References
Function LeValor(NomeDoTag As String) As String
Dim tag As PIPoint
Dim srv As Server
'Dim Valor As PIValues
Dim Valor As Variant
Dim timestamp As Variant
Set srv = Servers("TADCIPI01")
Set tag = srv.PIPoints(NomeDoTag)
Valor = tag.Data.Snapshot.Value
'Set Valor = Tag.Data.Snapshot.Value
If Valor <> "Bad" Then
LeDado = Valor
Else
LeDado = "-1"
End If
End Function
Dim tag As PIPoint
Dim srv As Server
'Dim Valor As PIValues
Dim Valor As Variant
Dim timestamp As Variant
Set srv = Servers("TADCIPI01")
Set tag = srv.PIPoints(NomeDoTag)
Valor = tag.Data.Snapshot.Value
'Set Valor = Tag.Data.Snapshot.Value
If Valor <> "Bad" Then
LeDado = Valor
Else
LeDado = "-1"
End If
End Function
terça-feira, 13 de janeiro de 2015
O Campo TTL do Comando PING
TTL – É um
campo existente no cabeçalho do Pacote IP que tem por finalidade evitar que o mesmo
fique rodando em loop infinito na rede.
Ele é decrementado de uma unidade por segundo toda vez que passa por uma
gateway.
“Pois bem,
há uma certa confusão com relação ao TTL que faz muita gente relaciona-lo com o
numero de saltos, visto que, ao passar por cada gateway, ao menos um valor
de TTL deve ser decrementado, ainda que o pacote não tenha ficado
por lá por 1 segundo. Entretanto, o roteador pode decrementar mais de uma
unidade TTL por segundo que este pacote tenha permanecido por lá. Assim, o
TTL realmente expressa unidades de tempo e não de saltos”
http://netfindersbrasil.blogspot.com.br/2009/12/entendendo-o-campo-ttl-time-to-live.html
O padrão de alguns sistemas operacionais para o campo TTL do Ping:
·
UNIX – Valor = 255
·
WINDOWS – Valor = 128
·
LINUX – Valor = 64
Este
campo pode ser usado por um invasor para descobrir o sistema operacional usado.
Para evitar isto, pode-se alterar o valor do TTL padrão dificultando um pouco a
vida dos invasores.
Para
alterar o o valor de TTl no Windows, é necessário alterar o registro:
1 Iniciar
– executar – regedit.exe
2 Localize
a seguinte chave:
HKEY_LOCAL_MACHINE\SYSTEM\CorrentControlSet\Services\Tcpip\Parameters
3
Localize
a DWORD chamado DefaultTTL e edite o seu valor
Se
ela não existir, Clique em Editar, Novo – Valor da Cadeia de Caracteres, depois coloque o valor desejado para o TTL.
Função Excel para retornar o último dia do mês
Function UltimoDiaDoMes(Ano As Integer, Mes As Integer) As Integer
'1) Para um ano ser bisexto, ele deve ser divisível por 4,
' não pode ser por 100, exceto se for por 400
'2) Retorna -1 se o mês for menor que 1 ou maior que 12
Dim bEbissexto As Boolean
If Ano Mod 4 = 0 Then
If Ano Mod 100 = 0 Then
If Ano Mod 400 = 0 Then
bEbissexto = True
Else
bEbissexto = False
End If
Else
bEbisexto = True
End If
Else
bEbissexto = False
End If
Select Case Mes
Case 1 'Janeiro
UltimoDiaDoMes = 31
Case 2 'Fevereiro
If bEbissexto = True Then
UltimoDiaDoMes = 29
Else
UltimoDiaDoMes = 28
End If
Case 3 'Março
UltimoDiaDoMes = 31
Case 4 'Abril
UltimoDiaDoMes = 30
Case 5 'Maio
UltimoDiaDoMes = 31
Case 6 'Junho
UltimoDiaDoMes = 30
Case 7 'Julho
UltimoDiaDoMes = 31
Case 8 'Agôsto
UltimoDiaDoMes = 31
Case 9 'Setembro
UltimoDiaDoMes = 30
Case 10 'Outubro
UltimoDiaDoMes = 31
Case 11 'Novembro
UltimoDiaDoMes = 30
Case 12 'Dezembro
UltimoDiaDoMes = 31
Case Else
UltimoDiaDoMes = -1
End Select
End Function
'1) Para um ano ser bisexto, ele deve ser divisível por 4,
' não pode ser por 100, exceto se for por 400
'2) Retorna -1 se o mês for menor que 1 ou maior que 12
Dim bEbissexto As Boolean
If Ano Mod 4 = 0 Then
If Ano Mod 100 = 0 Then
If Ano Mod 400 = 0 Then
bEbissexto = True
Else
bEbissexto = False
End If
Else
bEbisexto = True
End If
Else
bEbissexto = False
End If
Select Case Mes
Case 1 'Janeiro
UltimoDiaDoMes = 31
Case 2 'Fevereiro
If bEbissexto = True Then
UltimoDiaDoMes = 29
Else
UltimoDiaDoMes = 28
End If
Case 3 'Março
UltimoDiaDoMes = 31
Case 4 'Abril
UltimoDiaDoMes = 30
Case 5 'Maio
UltimoDiaDoMes = 31
Case 6 'Junho
UltimoDiaDoMes = 30
Case 7 'Julho
UltimoDiaDoMes = 31
Case 8 'Agôsto
UltimoDiaDoMes = 31
Case 9 'Setembro
UltimoDiaDoMes = 30
Case 10 'Outubro
UltimoDiaDoMes = 31
Case 11 'Novembro
UltimoDiaDoMes = 30
Case 12 'Dezembro
UltimoDiaDoMes = 31
Case Else
UltimoDiaDoMes = -1
End Select
End Function
sexta-feira, 9 de maio de 2014
Função em Excel para trocar vírgula por ponto
Function Virgula2Ponto(Dado As Variant, CasasDecimais As Integer) As String
Dim sDado As String
Dim dDado As Double
Dim PosicaoVirgula As Integer
dDado = Round(Dado, CasasDecimais)
sDado = CStr(dDado)
PosicaoVirgula = InStr(1, sDado, ",")
sDado = Left(sDado, PosicaoVirgula + CasasDecimais)
Virgula2Ponto = Replace(sDado, ",", ".")
End Function
Dim sDado As String
Dim dDado As Double
Dim PosicaoVirgula As Integer
dDado = Round(Dado, CasasDecimais)
sDado = CStr(dDado)
PosicaoVirgula = InStr(1, sDado, ",")
sDado = Left(sDado, PosicaoVirgula + CasasDecimais)
Virgula2Ponto = Replace(sDado, ",", ".")
End Function
Assinar:
Postagens (Atom)
