VistA-cprs/CPRS-Chart/Options/fOptionsNewList.pas

102 lines
2.3 KiB
Plaintext

unit fOptionsNewList;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Dialogs,
Buttons, ComCtrls, ExtCtrls, OrFn, ORCtrls;
type
TfrmOptionsNewList = class(TForm)
pnlBottom: TPanel;
btnOK: TButton;
btnCancel: TButton;
txtNewList: TCaptionEdit;
lblEnter: TLabel;
lblNew: TLabel;
procedure btnOKClick(Sender: TObject);
procedure txtNewListKeyPress(Sender: TObject; var Key: Char);
procedure txtNewListChange(Sender: TObject);
private
{ Private declarations }
FNewList: string;
public
{ Public declarations }
end;
procedure DialogOptionsNewList(fontsize: integer; var actiontype: string);
var
frmOptionsNewList: TfrmOptionsNewList;
implementation
uses rOptions;
{$R *.DFM}
procedure DialogOptionsNewList(fontsize: integer; var actiontype: string);
// create the form and make it modal, return an action
var
frmOptionsNewList: TfrmOptionsNewList;
begin
frmOptionsNewList := TfrmOptionsNewList.Create(Application);
actiontype := '';
try
with frmOptionsNewList do
begin
Position := poScreenCenter;
ResizeAnchoredFormToFont(frmOptionsNewList);
ShowModal;
actiontype := FNewList;
end;
finally
frmOptionsNewList.Release;
end;
end;
procedure TfrmOptionsNewList.btnOKClick(Sender: TObject);
var
ok: boolean;
begin
ok := false;
with txtNewList do
begin
if (length(Text) < 3) or (length(Text) > 30) then
showmessage('Enter a valid name.')
else if not ContainsAlpha(txtNewList.Text[1]) then
showmessage('Enter a valid name.')
else
begin
FNewList := rpcNewList(Text);
if Piece(FNewList, '^', 1) = '' then
showmessage('Enter a valid name. ' + Piece(FNewList, '^', 2))
else
ok := true;
end;
if ok then Close
else
begin
Text := '';
SetFocus;
end;
end;
end;
procedure TfrmOptionsNewList.txtNewListKeyPress(Sender: TObject;
var Key: Char);
begin
if not (Key in ['A'..'Z', 'a'..'z', '0'..'9', #32, #8]) then
begin
Key := #0;
beep;
end;
end;
procedure TfrmOptionsNewList.txtNewListChange(Sender: TObject);
begin
btnOK.Enabled := length(txtNewList.Text) > 3;
end;
end.