I'm getting a text problem with TnVTEmul1. WHat's happening is a truncation 
of all the lines of text instead of (as I'd expected) text wrapping. I 
haven't changed any of the default value of TnVTEmul1 because when I do, 
nothing seems to ocurr that's any different. Suggestions?

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, ComCtrls, EmulVT, TnEmulVT, Menus, checklst;

type
  TForm1 = class(TForm)
    StatusBar1: TStatusBar;
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    Connect1: TMenuItem;
    Disconnect1: TMenuItem;
    Exit1: TMenuItem;
    Settings1: TMenuItem;
    Buttons1: TMenuItem;
    PageControl1: TPageControl;
    Event_Window: TTabSheet;
    Button_Values: TTabSheet;
    Panel1: TPanel;
    Current_command: TEdit;
    Last_commands: TComboBox;
    Triggers: TTabSheet;
    Panel2: TPanel;
    Trigger_add: TButton;
    Trigger_pattern: TEdit;
    Trigger_action: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    TriggerBox: TCheckListBox;
    Panel3: TPanel;
    Panel4: TPanel;
    Command4: TButton;
    Command5: TButton;
    Command6: TButton;
    Command7: TButton;
    Panel5: TPanel;
    Panel6: TPanel;
    Panel7: TPanel;
    Panel8: TPanel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Command1: TButton;
    Command2: TButton;
    Command3: TButton;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    TnEmulVT1: TTnEmulVT;
    procedure Connect1Click(Sender: TObject);
    procedure Disconnect1Click(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    procedure TnEmulVT1DataAvailable(Sender: TObject; Buffer: PChar;
      var Len: Integer);
    procedure Edit1Change(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure Edit3Change(Sender: TObject);
    procedure Edit4Change(Sender: TObject);
    procedure Edit5Change(Sender: TObject);
    procedure Edit6Change(Sender: TObject);
    procedure Edit7Change(Sender: TObject);
    procedure Command1Click(Sender: TObject);
    procedure Command2Click(Sender: TObject);
    procedure Command3Click(Sender: TObject);
    procedure Command4Click(Sender: TObject);
    procedure Command5Click(Sender: TObject);
    procedure Command6Click(Sender: TObject);
    procedure Command7Click(Sender: TObject);
    procedure Current_commandKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Last_commandsKeyPress(Sender: TObject; var Key: Char);
    procedure Last_commandsChange(Sender: TObject);
    procedure Trigger_addClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure Parse(MyLine :Pchar);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  TriggerList, ActionList, ButtonList : TStringList;
  MainPort, MainHost :String;

implementation

{$R *.DFM}

procedure TForm1.Connect1Click(Sender: TObject);
begin
TnEmulVT1.Port := MainPort;
TNEmulVT1.HostName := MainHost;
TnEmulVT1.Connect;
end;

procedure TForm1.Disconnect1Click(Sender: TObject);
begin
TNEmulVT1.Disconnect;
end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.TnEmulVT1DataAvailable(Sender: TObject; Buffer: PChar;
  var Len: Integer);
var MyLine: Pchar;
begin
MyLine := Buffer;
Parse(MyLine);
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
Command1.Caption := Edit1.Text;
end;

procedure TForm1.Edit2Change(Sender: TObject);
begin
Command2.Caption := Edit2.Text;
end;

procedure TForm1.Edit3Change(Sender: TObject);
begin
Command3.Caption := Edit3.Text;
end;

procedure TForm1.Edit4Change(Sender: TObject);
begin
Command4.Caption := Edit4.Text;
end;

procedure TForm1.Edit5Change(Sender: TObject);
begin
Command5.Caption := Edit5.Text;
end;

procedure TForm1.Edit6Change(Sender: TObject);
begin
Command6.Caption := Edit6.Text;
end;

procedure TForm1.Edit7Change(Sender: TObject);
begin
Command7.Caption := Edit7.Text;
end;

procedure TForm1.Command1Click(Sender: TObject);
begin
TnEmulVT1.SendStr(Command1.Caption + #13);
end;

procedure TForm1.Command2Click(Sender: TObject);
begin
TnEmulVT1.SendStr(Command2.Caption + #13);
end;

procedure TForm1.Command3Click(Sender: TObject);
begin
TnEmulVT1.SendStr(Command3.Caption + #13);
end;

procedure TForm1.Command4Click(Sender: TObject);
begin
TnEmulVT1.SendStr(Command4.Caption + #13);
end;

procedure TForm1.Command5Click(Sender: TObject);
begin
TnEmulVT1.SendStr(Command5.Caption + #13);
end;

procedure TForm1.Command6Click(Sender: TObject);
begin
TnEmulVT1.SendStr(Command6.Caption + #13);
end;

procedure TForm1.Command7Click(Sender: TObject);
begin
TnEmulVT1.SendStr(Command7.Caption + #13);
end;

procedure TForm1.Current_commandKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if Key = vk_return then
   BEGIN
   TnEmulVT1.SendStr(Current_command.Text + #13);
   Last_Commands.Items.Add(Current_command.Text);
   END;
end;

procedure TForm1.Last_commandsKeyPress(Sender: TObject; var Key: Char);
begin
Key := #0;
end;

procedure TForm1.Last_commandsChange(Sender: TObject);
begin
Current_command.Text := Last_commands.Text;
end;

procedure TForm1.Parse(MyLine : Pchar);
begin
// check through entry for text worth noting
end;

procedure TForm1.Trigger_addClick(Sender: TObject);
begin
if TriggerBox.Items.Count > 50 then
   begin
   ShowMessage('Too many triggers');
   end
else TriggerBox.Items.Add(Trigger_pattern.Text + ' ~ ' + 
Trigger_action.Text);
end;

procedure TForm1.FormCreate(Sender: TObject);
var InList :TStringList;
begin
// load buttons and load triggers/actions
InList := TStringList.Create;
if FileExists(ExtractFilePath(Application.ExeName) + 'data.txt') then
   begin
   InList.LoadFromFile('data.txt');
   Command1.Caption := InList.Strings[0];
   Edit1.Text := InList.Strings[0];
   end;
   InList.Free;
MainPort := '3000';
MainHost := 'islandsofmyth.org';
end;

end.


-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to