⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parserfm.~pas

📁 DELPHI 串口程序 小程序 我个人做的想程序给大家看看
💻 ~PAS
字号:
unit ParserFm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons, XPMan;

type
  TParserForm = class(TForm)
    Label1: TLabel;
    EdtInput: TEdit;
    LBWords: TListBox;
    BtnAddWord: TBitBtn;
    BtnFindAdd: TBitBtn;
    BtnDellWord: TBitBtn;
    BtnSort: TBitBtn;
    BtnClearAll: TBitBtn;
    EdtInputWord: TEdit;
    Label2: TLabel;
    StaticText1: TStaticText;
    RGSort: TRadioGroup;
    BtnAdd: TBitBtn;
    XPManifest1: TXPManifest;
    procedure BtnAddClick(Sender: TObject);
    procedure BtnAddWordClick(Sender: TObject);
    procedure BtnFindAddClick(Sender: TObject);
    procedure BtnDellWordClick(Sender: TObject);
    procedure BtnSortClick(Sender: TObject);
    procedure BtnClearAllClick(Sender: TObject);
     
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ParserForm: TParserForm;

implementation
{$R *.dfm}
//**********************************************************
function IsAlphabet(c:char):boolean;
begin
   if((c>='a')and(c<='z'))or((c>'A')and(c<'Z')) then
     Result:=True
   else
     Result:=False;
end;
//**********************************************************
function IsAWord(s:String):boolean;
var
  Index:integer;
  T:string;
  begin
     T:=Trim(S);
     Index:=1;
     while Index<=Length(T)do
     begin
        if not IsAlphabet(T[Index])then
          Result:=False;
          Inc(Index);
     end;
     Result:=True;
  end;
//**********************************************************
procedure TParserForm.BtnAddClick(Sender: TObject);
var
   S,T:string;
   InWord:boolean;
   Index,FirstChar:Integer;
begin
   LBWords.Items.Clear;
   S := EdtInput.Text +' ';
   InWOrd:=False;  
   Index:=1;
   FirstChar:=1;
   while Index <= Length(s) do
   begin
      T:=Copy(S,Index,1);
      if((T>='a')and(T<='z'))or((T>'A')and(T<'Z'))then  //??
      begin
         if not InWord then //??
           FirstChar:=Index;
           Inword:=True;
      end
      else if T=' ' then
          begin
             if InWord then
             begin
                T:=Copy(S,FirstChar,Index-FirstChar);
                LBWords.Items.Add(T);
                InWord:=False;
             end;
          end
          else
              begin
                 showMessage('你的输入有误');
                 Break;
              end;
       Inc(Index);
   end;
end;
//**********************************************************
procedure TParserForm.BtnAddWordClick(Sender: TObject);
var
  S:string;
begin
   S:=Trim(EdtInputWord.Text);
   if IsAWord(S) then
     LBWords.Items.Add(s)
   else
     showmessage('输入的单词有误');
end;
//**********************************************************
procedure TParserForm.BtnFindAddClick(Sender: TObject);
var
  S:string;
  Index:integer;
begin
   s:=Trim(EdtInputWord.Text);
   Index:=LBWords.Items.IndexOf(s);
   if index=-1 then
      showmessage('末找到'+s)
   else
      LBWords.Selected[index]:=true;
end;
//**********************************************************
procedure TParserForm.BtnDellWordClick(Sender: TObject);
begin
   LBWords.Items.Delete(LBwords.ItemIndex); //??
end;
//**********************************************************
procedure TParserForm.BtnSortClick(Sender: TObject);
begin
    if RGSort.ItemIndex =0 then //??
      Lbwords.Sorted :=true
    else
      Lbwords.Sorted:=false;
end;
//**********************************************************
procedure TParserForm.BtnClearAllClick(Sender: TObject);
begin
   lbwords.Clear ;
end;
//**********************************************************
end.















⌨️ 快捷键说明

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