terça-feira, 20 de outubro de 2015

Função em Excel para transformar um número em binário com até 32 bits

Public Function NumTo32Bits(Numero As String) As String
    Dim Valor As Double
    Dim Resto(31) As Double
    Dim Dividendo(31) As Long
    Dim iContador As Integer
    Dim Aux As String
   
   
    'Verifica se o número pode ser convertido
    If IsNumeric(Numero) Then
        Valor = CDbl(Numero)
    Else
        NumTo32Bits = "Valor incompatível"
        Exit Function
    End If
   
    'Efetua a conversão
    For iContador = 0 To 31
        Resto(iContador) = Valor - (Int(Valor / 2) * 2)
        Dividendo(iContador) = Fix(Valor / 2)
        Valor = Dividendo(iContador)
    Next
   
    'Pega os bits na ordem inversa e retorna
    For iContador = 31 To 0 Step -1
        Aux = Aux & Resto(iContador)
    Next iContador
   
    NumTo32Bits = Aux
   
End Function

quinta-feira, 8 de outubro de 2015

Programa para cálculo de Resistores de 4 faixas

Download
 

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
 
 

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

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

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