Kaskus

Tech

fortune77Avatar border
TS
fortune77
ada yang bisa bantu RaiseEvent untuk pembuatan SMS GATEWAY vb.net
Private _receivenow As AutoResetEvent
Private port As SerialPort
Private Event _formeventhandler As SerialDataReceivedEventHandler

Public Custom Event FormEventHandler As SerialDataReceivedEventHandler
AddHandler(value As SerialDataReceivedEventHandler)
AddHandler _formeventhandler, value
AddHandler port.DataReceived, AddressOf _formeventhandler
End AddHandler

RemoveHandler(value As SerialDataReceivedEventHandler)
RemoveHandler _formeventhandler, value
RemoveHandler port.DataReceived, AddressOf _formeventhandler
End RemoveHandler

RaiseEvent()

End RaiseEvent

End Event

Public Function ExecuteCommand(command As String, timeout As Integer) As String

RemoveHandler port.DataReceived, AddressOf _formeventhandler
AddHandler port.DataReceived, AddressOf port_DataReceived

port.DiscardOutBuffer()
port.DiscardInBuffer()
_receivenow.Reset()
port.Write(command & vbCr)

Dim input As String = ReadResponse(timeout)
If (input.Length = 0) OrElse ((Not input.EndsWith(vbCr & vbLf & "> ")) AndAlso (Not input.EndsWith(vbCr & vbLf & "OK" & vbCr & vbLf))) Then
Throw New ApplicationException("No success message was received.")
End If

RemoveHandler port.DataReceived, AddressOf port_DataReceived
AddHandler port.DataReceived, AddressOf _formeventhandler

Return input
End Function

Private Sub port_DataReceived(sender As Object, e As System.IO.Ports.SerialDataReceivedEventArgs) Handles port.DataReceived
Dim buffer As String = String.Empty
Dim read As String = port.ReadExisting()
buffer += read
Me.Invoke(New RetrieveDataInvoker(AddressOf RetrieveData), buffer)
End Sub

saya rada bingung menjelaskannya tapi saya dapat soruce ini menggunakan c# dan mau di convert ke vb.net tapi gak bisa bisa soruce asli seperti ini

AutoResetEvent _receivenow;
SerialPort port;

private event SerialDataReceivedEventHandler _formeventhandler;
public event SerialDataReceivedEventHandler FormEventHandler
{
add
{
_formeventhandler += value ;
port.DataReceived += _formeventhandler;
}
remove
{
_formeventhandler -= value;
port.DataReceived -= _formeventhandler;
}
}

public string ExecuteCommand(string command, int timeout)
{

port.DataReceived -= _formeventhandler;
port.DataReceived += port_DataReceived;

port.DiscardOutBuffer();
port.DiscardInBuffer();
_receivenow.Reset();
port.Write(command + "\r");

string input = ReadResponse(timeout);
if ((input.Length == 0) || ((!input.EndsWith("\r\n> ")) && (!input.EndsWith("\r\nOK\r\n"))))
throw new ApplicationException("No success message was received.");

port.DataReceived -= port_DataReceived;
port.DataReceived += _formeventhandler;

return input;
}

public void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
if (e.EventType == SerialData.Chars)
_receivenow.Set();
}

ada yg bisa bantu klo mau ketemu saya ato ym bisa hub saya di
HP : 08158899672 (lokasi Bogor)
YM : martin_martono
ini libary untuk pembuatan sms gateway dengan .net
mungkin nantinya libry ini juga bisa di gunakan untuk membaca data dari serial port tampa menggunakan fifo buffer.
thx sebelumnya

Diubah oleh fortune77 02-11-2013 05:17
0
856
1
GuestAvatar border
Komentar yang asik ya
Urutan
Terbaru
Terlama
GuestAvatar border
Komentar yang asik ya
Komunitas Pilihan