home *** CD-ROM | disk | FTP | other *** search
- unit Strtest;
-
- (* PC Plus sample application illustrating some Delphi string-handling
- routines. Some of these are standard functions. Others are included in
- our unit, Strutils, which has been added to the 'uses' section.
-
- Note: This project is compatible with all versions of Delphi
- from Delphi 1 on...
- *)
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, StdCtrls,
- Strutils, ExtCtrls;
-
- type
- TForm1 = class(TForm)
- Panel1: TPanel;
- Label9: TLabel;
- InputEdit: TEdit;
- Label1: TLabel;
- OutputEdit: TEdit;
- Panel2: TPanel;
- trimLeftBtn: TButton;
- trimRightBtn: TButton;
- trimEndsBtn: TButton;
- firstrestBtn: TButton;
- LengthPasBtn: TButton;
- UpperCaseBtn: TButton;
- LowerCaseBtn: TButton;
- InitialCapBtn: TButton;
- LowLeftBtn: TButton;
- UpRightBtn: TButton;
- ToggleTextBtn: TButton;
- CloseBtn: TButton;
- EncryptBtn: TButton;
- DecryptBtn: TButton;
- ParseBtn: TButton;
- ChangeCaseBtn: TButton;
- TrimLSpacesBtn: TButton;
- TrimRPunctuationBtn: TButton;
- procedure trimLeftBtnClick(Sender: TObject);
- procedure trimRightBtnClick(Sender: TObject);
- procedure trimEndsBtnClick(Sender: TObject);
- procedure LengthPasBtnClick(Sender: TObject);
- procedure UpperCaseBtnClick(Sender: TObject);
- procedure LowerCaseBtnClick(Sender: TObject);
- procedure firstrestBtnClick(Sender: TObject);
- procedure InitialCapBtnClick(Sender: TObject);
- procedure CloseBtnClick(Sender: TObject);
- procedure ToggleTextBtnClick(Sender: TObject);
- procedure UpRightBtnClick(Sender: TObject);
- procedure LowLeftBtnClick(Sender: TObject);
- procedure FormActivate(Sender: TObject);
- procedure EncryptBtnClick(Sender: TObject);
- procedure DecryptBtnClick(Sender: TObject);
- procedure ParseBtnClick(Sender: TObject);
- procedure ChangeCaseBtnClick(Sender: TObject);
- procedure TrimLSpacesBtnClick(Sender: TObject);
- procedure TrimRPunctuationBtnClick(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1.trimLeftBtnClick(Sender: TObject);
- begin
- OutputEdit.Text := '"' + trimLeftStr(InputEdit.Text) + '"';
- end;
-
- procedure TForm1.trimRightBtnClick(Sender: TObject);
- begin
- OutputEdit.Text := '"' + trimRightStr(InputEdit.Text) + '"';
- end;
-
- procedure TForm1.trimEndsBtnClick(Sender: TObject);
- begin
- OutputEdit.Text := '"' + trimEndsStr(InputEdit.Text) + '"';
- end;
-
- procedure TForm1.LengthPasBtnClick(Sender: TObject);
- { Length is a standard function }
- var
- s : string;
- begin
- s := InputEdit.Text;
- MessageDlg('INFORMATION!' { Note: CRLF Const is defined in StrUtils unit }
- + CRLF + 'Length of "' + s + '" is: ' + IntToStr(Length(s)) + '.',
- mtConfirmation, [mbOK], 0);
- end;
-
- procedure TForm1.UpperCaseBtnClick(Sender: TObject);
- { Uppercase is a standard function }
- begin
- OutputEdit.Text := '"' + UpperCase(InputEdit.Text) + '"';
- end;
-
- procedure TForm1.LowerCaseBtnClick(Sender: TObject);
- { Lowercase is a standard function }
- begin
- OutputEdit.Text := '"' + LowerCase(InputEdit.Text) + '"';
- end;
-
- procedure TForm1.firstrestBtnClick(Sender: TObject);
- { The firstrestStr function is in StrUtils.pas }
- var
- s, f, r : string;
- begin
- s := InputEdit.text;
- firstrestStr( s, f, r );
- OutputEdit.text := 'first="' + f + '" Rest="' + r + '"';
- end;
-
- procedure TForm1.InitialCapBtnClick(Sender: TObject);
- { uses our firstrestStr function to parse the words from a string.
- each word is then capitalised and copied into a new string. }
- var
- inputStr, outputStr, f, r : string;
- begin
- inputStr := TrimEndsStr(InputEdit.Text);
- outputStr := '';
- { loop through string, until there are no more words to be parsed }
- while inputStr <> '' do
- begin
- firstrestStr(inputStr, f, r ); { parse 1st word, f, from string }
- f[1] := UpCase(f[1]); { capitalise initial char of f }
- outputStr := outputStr + f; { append f to output string }
- inputStr := r;
- if inputStr <> '' then { place spaces between the words }
- outputStr := outputStr + ' '; { we copy to the output string }
- end;
- OutputEdit.Text := '"' + outputStr + '"';
- end;
-
- procedure TForm1.CloseBtnClick(Sender: TObject);
- begin
- Close;
- end;
-
- procedure TForm1.ToggleTextBtnClick(Sender: TObject);
- { place some text into InputEdit for testing purposes }
- const
- TestText = ' . !Hello, to ALL; our Readers .!?';
- begin
- if InputEdit.Text = TestText then
- begin
- InputEdit.Text := '';
- ToggleTextBtn.Caption := 'Fill &Input';
- end
- else
- begin
- InputEdit.Text := TestText;
- ToggleTextBtn.Caption := 'Clear &Input';
- end;
- end;
-
- procedure TForm1.UpRightBtnClick(Sender: TObject);
- begin
- OutputEdit.text := '"' + UpperCase(trimRightStr(InputEdit.text)) + '"';
- end;
-
- procedure TForm1.LowLeftBtnClick(Sender: TObject);
- begin
- OutputEdit.text := '"' + LowerCase(trimLeftStr(InputEdit.text)) + '"';
- end;
-
- procedure TForm1.FormActivate(Sender: TObject);
- begin
- ToggleTextBtnClick(Sender);
- end;
-
- procedure TForm1.EncryptBtnClick(Sender: TObject);
- begin
- OutputEdit.Text := Encrypt(InputEdit.Text, 7);
- end;
-
- procedure TForm1.DecryptBtnClick(Sender: TObject);
- begin
- OutputEdit.Text := Decrypt(OutputEdit.Text, 7);
- end;
-
- procedure TForm1.ParseBtnClick(Sender: TObject);
- { Important: You must create a valid string list before
- calling the parse() function. See the notes in
- StrUtils.pas }
- var
- ts : TStringList;
- msg : string;
- i : integer;
- begin
- ts := TStringList.Create;
- msg := '';
- parse( InputEdit.Text, ts );
- if ts.Count > 0 then
- for i := 0 to ts.Count - 1 do
- msg := msg + ' [' + ts[i] + '] '
- else ShowMessage( 'No strings were parsed!' );
- ts.Free;
- OutputEdit.Text := msg;
- end;
-
- procedure TForm1.ChangeCaseBtnClick(Sender: TObject);
- begin
- OutputEdit.Text := ChangeCase( InputEdit.Text );
- end;
-
- procedure TForm1.TrimLSpacesBtnClick(Sender: TObject);
- begin
- OutputEdit.Text := '"' + removeLeadChars( InputEdit.Text, [' ',#8] ) + '"';
- end;
-
- procedure TForm1.TrimRPunctuationBtnClick(Sender: TObject);
- begin
- OutputEdit.Text := '"' + removeTrailingChars( InputEdit.Text, ['!','.','?'] ) + '"';
- end;
-
- end.
-