uservermainform.pas

来自「delphi基于MS SPEECH 5.1的语音识别演示」· PAS 代码 · 共 71 行

PAS
71
字号
unit uServerMainForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent,
  IdComponent, IdCustomTCPServer, IdTCPServer, IdContext;

type
  TfrmServer = class(TForm)
    Timer1: TTimer;
    pnlrob: TPanel;
    IdTCPServer1: TIdTCPServer;
    IdAntiFreeze1: TIdAntiFreeze;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure IdTCPServer1Execute(AContext: TIdContext);
  private
    { Private declarations }
    FState: Integer;
  public
    { Public declarations }
  end;

var
  frmServer         : TfrmServer;

implementation

{$R *.dfm}

procedure TfrmServer.FormCreate(Sender: TObject);
begin
  FState := 5;
  IdTCPServer1.DefaultPort := 6000;
  IdTCPServer1.Active := true;
end;

procedure TfrmServer.IdTCPServer1Execute(AContext: TIdContext);
begin
  try
    FState := StrToInt(AContext.Connection.IOHandler.ReadLn);
    if not FState in [1..5] then
      FState := 5;
  except
    FState := 5;
  end;
  case FState of
  1:Caption := '前进';
  2:Caption := '往左';
  3:Caption := '往右';
  4:Caption := '后退';
  5:Caption := '停止';
  end;
end;

procedure TfrmServer.Timer1Timer(Sender: TObject);
begin
  case FState of
    1: pnlrob.Top := pnlrob.Top - 1;
    2: pnlrob.Left := pnlrob.Left - 1;
    3: pnlrob.Left := pnlrob.Left + 1;
    4: pnlrob.Top := pnlrob.Top + 1;
    5: ;
  end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?