| unit UPCPTSystem;
interface
uses Windows, Messages, SysUtils,
Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TCPTtest = class(TForm)
ButtonEnde:
TButton;
............
procedure
ButtonAnzDelClick(Sender: TObject);
procedure
ButtonBBSInitClick(Sender: TObject);
private
{ Private-Deklarationen}
public
{ Public-Deklarationen}
end;
type TDataFeld = ARRAY[0..16]
OF Char;
TData = packed record
Error : Byte;
Status : Byte;
DataArray : TDataFeld;
end;
var CPTtest: TCPTtest;
const LogDatei='CPTtest.log';
implementation
uses TMR_DLL_Schnittstelle;
{$R *.DFM}
procedure TCPTtest.ButtonEndeClick(Sender:
TObject);
begin
Showmessage ('Die
LOG-Datei '+LogDatei+' steht im Verzeichnis'+^M
+ExtractFilePath(Paramstr(0)));
close;
end;
procedure TCPTtest.ButtonStartClick(Sender:
TObject);
var result
: Integer;
Systemnummer
: Byte;
Knotennummer
: Byte;
error,
status : Byte;
Kette
: Byte;
daten_sw
: TDataFeld;
Txx
: string;
const NoErr = 0;
begin
Panel1.Caption:='Meldungen
vom Terminal (Knoten)';
InfoListe.lines.add('Terminaltest:
Test der Verdbindung Software-DLL-Terminal.');
InfoListe.lines.add('------------------------------------------------------------');
{System und Knotennummer
aus den Eingabefeldern übernehmen}
Systemnummer:=strtoint(systemNr.text);
InfoListe.lines.add('Systemnummer
= ' + systemNr.text);
Knotennummer:=strtoint(KnotenNr.text);
InfoListe.lines.add('Knotennummer
= ' + KnotenNr.text);
InfoListe.lines.add('');
{bbs_System initialisieren}
result:=init_bbs;
InfoListe.lines.add('Init_bbs(''BITBUS.INI'');');
Txx:='System konnte
nicht initialisiert werden';
if result = 0 then
begin
InfoListe.lines.add('+ System ist initialisiert');
end;
if result <> NoErr
then begin
showmessage(Txx);
InfoListe.lines.Add('FEHLER
Nummer: '+inttostr(result)+Txx);
InfoListe.lines.savetofile(LogDatei);
halt;
end;
{System(Systemnummer)
öffnen}
result:=open_system(Systemnummer);
if result = 0 then
begin
InfoListe.lines.add('+
System ist geöffnet');
end;
Txx:='System '+systemNr.text+'
konnte nicht geöffnet werden';
if result <> NoErr
then begin
showmessage(Txx);
InfoListe.lines.Add('FEHLER
Nummer: ' + inttostr(result) + '
'+Txx);
InfoListe.lines.savetofile(LogDatei);
exit;
end;
{Verbindung zum
Terminal aufbauen}
result:=cpt_test_connection(systemnummer,
Knotennummer);
if result = 0 then
begin
InfoListe.lines.add('+
Terminal ist erreichbar');
end;
Txx:='Terminal '+KnotenNr.text+'
ist nicht erreichbar';
if result <> NoErr
then begin
label4.Caption:=inttostr(result);
showmessage(Txx);
InfoListe.lines.Add('FEHLER
Nummer: ' + inttostr(result) + '
'+Txx);
InfoListe.lines.savetofile(LogDatei);
exit;
end;
label4.Caption:='Der
Terminaltest hat fehlerfrei funktioniert';
InfoListe.lines.Add('+
Der Terminaltest hat fehlerfrei funktioniert');
{Datenkette auslesen
und darstellen}
Kette:=StrToInt(KettenNr.Text);
{data:=cpt_getfirst(system,terminal,Kette);}
cpt_getfirst_sw(systemnummer,
Knotennummer, Kette, error, status, @daten_sw);
InfoListe.lines.add('');
InfoListe.lines.add('Lesen
der Kette '+KettenNr.text+' aus dem Terminal');
InfoListe.lines.add('++++++++++++++++++');
Txx:='Kette '+KettenNr.text+'
konnte nicht gelesen werden';
if error <> NoErr
then begin
showmessage(Txx);
InfoListe.lines.Add('FEHLER
Nummer: ' + inttostr(error) + '
'+Txx);
InfoListe.lines.savetofile(LogDatei);
exit;
end;
while error = 0 do
begin
//ShowMessage(Daten_SW);
InfoListe.lines.Add(Daten_SW);
cpt_getnext_sw(error, status, @daten_sw);
end;
InfoListe.lines.add('+
ok +++++++++++++');
InfoListe.lines.add('');
InfoListe.lines.savetofile(LogDatei);
{System wieder
schließen Test beenden}
result:=close_system(Systemnummer);
if result <> No_Err
then begin
label4.Caption:=inttostr(result);
InfoListe.lines.Add('FEHLER
Nummer: ' + inttostr(result) + '
System konnte nicht geschlossen werden');
InfoListe.lines.savetofile(LogDatei);
end;
exit_bbs;
end;
procedure TCPTtest.ButtonAnzDelClick(Sender:
TObject);
begin
InfoListe.lines.Clear;
end;
procedure TCPTtest.ButtonBBSInitClick(Sender:
TObject);
begin
Panel1.Caption:='Inhalt
der BITBUS.INI:';
InfoListe.lines.Loadfromfile('c:\windows\bitbus.ini');
end;
end.
|