?? 列表9.4.txt
字號:
【列表9.4】程序PipeMail的代碼。
unit PipeMailMain;
interface
uses
SysUtils, Types, Classes, Variants, QGraphics, QControls, QForms, QDialogs,
QStdCtrls, Libc;
type
TPipeMailMainForm = class(TForm)
Memo: TMemo;
Label1: TLabel;
Label2: TLabel;
RecipientLabel: TLabel;
SendBtn: TButton;
ExitBtn: TButton;
Label3: TLabel;
Edit: TEdit;
procedure RefreshDisplay;
procedure ExitBtnClick(Sender: TObject);
procedure MemoChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SendBtnClick(Sender: TObject);
procedure EditChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
LF = #10; { ASCII linefeed/newline }
MAILPROG = '/bin/mail'; { location of mail file }
var
PipeMailMainForm: TPipeMailMainFor
Recipient : String;
implementation
{$R *.xfm}
procedure TPipeMailMainForm.RefreshDisplay;
begin
SendBtn. Enabled := (Memo. Lines.Count> 0)
and (Length(Edit.Text) > 0);
end;
procedure TPipeMailMainForm. ExitBtnClick(Sender: TObject);
begin
Close;
end;
procedure TPipeMailMainForm. MemoChange(Sender: TObject);
begin
RefreshDisplay;
end;
procedure TPipeMaitMainForm. FormCreate(Sender: TObject);
var
PPWRec : PPasswordRecord;
uid : Integer;
begin
uid := getuid;
PPWRec := getpwuid(uid);
Recipient := PPWRec^.pw_name;
RecipientLabel.Caption := Recipient
end;
procedure TPipeMailMainForm. SendBtn lick(Sender: TObject);
var
MailFile : PIOFile;
s : String;
i : Integer;
begin
s := MAILPROG + ' -s ''' + Edit.Text + ''''+ Recipient;
MailFile := popen(PChar(s), 'w');
for i := 0 to Memo. Lines.Count - 1 do
fprintf(MailFile, PChar(Memo. Lines[i] + LF));
pclose(MailFile);
ShowMessage('Message sent to ' + Recipient + '.');
end;
procedure TPipeMailMainForm. EditChange(Sender: TObject);
begin
RefreshDisplay;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -