Kan någon hjälpa mig att överseta den här visual basic koden till delphi(object pascal): Hej Hej VB till Delphi
Private Sub MsComm_OnComm()
' Tarkistetaan sarjaportin tila
Select Case MsComm.CommEvent
Case comEvCD
If MsComm.CDHolding = True Then KäynnistäOhjelma
Case comEvCTS
If MsComm.CTSHolding = True Then KäynnistäOhjelma
Case comEvDSR
If MsComm.DSRHolding = True Then KäynnistäOhjelma
End Select
End Sub
Hela koden handlar om komponenten MsComm som finns för både VB och Delphi.
Tarkistetaan sarjaportin tila: är finska och betyder:kollar serieportens utrymme/tillstånd.
KäynnistäOhjelma: betyder: starta programet/execute.
Om nån av er skulle kunna hjälpa mig med det här
problemet skulle jag vara väldigt tacksamm!
Ruben! Sv: VB till Delphi
Rent syntaxmässigt kan det se ut så här
procedure TForm1.MSComm1Comm(Sender: TObject);
begin
// Tarkistetaan sarjaportin tila
Case TForm1.MsComm1.OnComm of
comEvCD : If TForm1.MsComm1.CDHolding = True Then KäynnistäOhjelma ;
comEvCTS : If TForm1.MsComm1.CTSHolding = True Then KäynnistäOhjelma ;
comEvDSR : If TForm1.MsComm1.DSRHolding = True Then KäynnistäOhjelma ;
End ;
End Sub
Om det sedan funkar är en annan sak .
mvh
Sven
Sv: VB till Delphi
hittade detta i min godislåda.
The following example demonstrates retrieving the current state
of the modem control-register values under Win32.
Example:
procedure TForm1.Button1Click(Sender: TObject);
var
CommPort : string;
hCommFile : THandle;
ModemStat : DWord;
begin
CommPort := 'COM2';
{Open the comm port}
hCommFile := CreateFile(PChar(CommPort),
GENERIC_READ,
0,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
if hCommFile = INVALID_HANDLE_VALUE then
begin
ShowMessage('Unable to open '+ CommPort);
exit;
end;
{Get the Modem Status}
if GetCommModemStatus(hCommFile, ModemStat) <> false then begin
if ModemStat and MS_CTS_ON <> 0 then
ShowMessage('The CTS (clear-to-send) is on.');
if ModemStat and MS_DSR_ON <> 0 then
ShowMessage('The DSR (data-set-ready) is on.');
if ModemStat and MS_RING_ON <> 0then
ShowMessage('The ring indicator is on.');
if ModemStat and MS_RLSD_ON <> 0 then
ShowMessage('The RLSD (receive-line-signal-detect) is
on.');
end;
{Close the comm port}
CloseHandle(hCommFile);
end;
mvh
Sven