home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog 11
/
Freelog011.iso
/
BestOf
/
PhoenixMail
/
Source
/
phoenix
/
FMSignature.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1999-02-05
|
7KB
|
250 lines
{*****************************************************************************
*
* FMSignature.pas - Signature manager mainform (24-August-1998)
*
* Copyright (c) 1998-99 Michael Haller
*
* Author: Michael Haller
* E-mail: michael@discountdrive.com
* Homepage: http://www.discountdrive.com/sunrise
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation;
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
*----------------------------------------------------------------------------
*
* Revision history:
*
* DATE REV DESCRIPTION
* ----------- --- ----------------------------------------------------------
*
*****************************************************************************}
unit FMSignature;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, PXStuff, ImgList, ExtCtrls, Buttons, LangSup;
type
TSignatureForm = class(TForm)
ListView1: TListView;
ImageList1: TImageList;
Memo1: TMemo;
Label1: TLabel;
Button1: TSpeedButton;
Button2: TSpeedButton;
Bevel1: TBevel;
Button4: TButton;
Button3: TButton;
SpeedButton1: TSpeedButton;
Bevel2: TBevel;
Button5: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure ListView1Edited(Sender: TObject; Item: TListItem;
var S: String);
procedure FormCreate(Sender: TObject);
procedure ListView1Click(Sender: TObject);
procedure Memo1Change(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Memo1Exit(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
Save: Boolean;
Filename: String;
procedure DoSave;
procedure Actualize;
public
{ Public declarations }
CanAttach: Boolean;
end;
var
SignatureForm: TSignatureForm;
implementation
{$R *.DFM}
uses
Main;
var
F: Text;
procedure TSignatureForm.DoSave;
var
I: Integer;
begin
if Save = False then Exit;
if Filename = '' then Exit;
if ListView1.Selected <> nil then begin
AssignFile(F, Filename);
Rewrite(F);
for I := 0 to Memo1.Lines.Count-1 do
WriteLn(F, Memo1.Lines[I]);
CloseFile(F);
end;
end;
procedure TSignatureForm.Actualize;
var
S: String;
begin
if Save then DoSave;
Memo1.Lines.Clear;
if ListView1.Selected <> nil then begin
AssignFile(F, ListView1.Selected.SubItems[0]);
Reset(F);
while not EoF(F) do begin
ReadLn(F, S);
Memo1.Lines.Add(S);
end;
CloseFile(F);
Memo1.Enabled := True;
Button2.Enabled := True;
SpeedButton1.Enabled := True;
if CanAttach then Button4.Enabled := True;
Filename := ListView1.Selected.SubItems[0];
end else begin
Memo1.Enabled := False;
Button2.Enabled := False;
Button4.Enabled := False;
SpeedButton1.Enabled := False;
Filename := '';
end;
Save := False;
end;
procedure TSignatureForm.Button2Click(Sender: TObject);
begin
if ListView1.Selected = nil then Exit;
DeleteFile(ListView1.Selected.SubItems[0]);
ListView1.Selected.Delete;
Save := False;
Actualize;
end;
procedure TSignatureForm.Button1Click(Sender: TObject);
var
Item: TListItem;
S: String;
begin
if InputQuery(MainForm.ListBox1.Items[48], MainForm.ListBox1.Items[43], S) then begin
Item := ListView1.Items.Add;
Item.Caption := S;
Item.SubItems.Add(sSignatureFolder+S+'.txt');
AssignFile(F, Item.SubItems[0]);
Rewrite(F);
CloseFile(F);
Save := False;
Actualize;
end;
end;
procedure TSignatureForm.Button4Click(Sender: TObject);
begin
if Button4.Enabled = False then Exit;
if ListView1.Selected = nil then Exit;
ModalResult := mrOK;
end;
procedure TSignatureForm.ListView1Edited(Sender: TObject; Item: TListItem; var S: String);
begin
RenameFile(Item.SubItems[0], MakeValidDirName(ExtractFilePath(Item.SubItems[0]))+S+'.txt');
end;
procedure TSignatureForm.FormCreate(Sender: TObject);
var
Found: Integer;
SearchRec: TSearchRec;
Item: TListItem;
begin
ImageList1.ResourceLoad(rtBitmap, 'PX503', clFuchsia);
if bOfficeFonts then Font.Name := sOfficeFontName;
if bFlatButtons = False then begin
Set3DButtons(False, Self);
Bevel2.Visible := False;
end;
Memo1.Font := MainForm.DefaultFont;
Found := FindFirst(sSignatureFolder+'*.txt', faAnyFile, SearchRec);
while Found = 0 do begin
SetFileAttr(sSignatureFolder+SearchRec.Name, False, True, False, False);
Item := ListView1.Items.Add;
Item.SubItems.Add(sSignatureFolder+SearchRec.Name);
Delete(SearchRec.Name, Length(SearchRec.Name)-3, 4);
Item.Caption := SearchRec.Name;
Found := FindNext(SearchRec);
end;
FindClose(SearchRec);
AttachLanguageToForm(Self);
end;
procedure TSignatureForm.ListView1Click(Sender: TObject);
begin
Actualize;
end;
procedure TSignatureForm.Memo1Change(Sender: TObject);
begin
Save := True;
end;
procedure TSignatureForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Save then DoSave;
end;
procedure TSignatureForm.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
Save := True;
end;
procedure TSignatureForm.Memo1Exit(Sender: TObject);
begin
if Save then DoSave;
end;
procedure TSignatureForm.Button3Click(Sender: TObject);
begin
ModalResult := mrCancel;
end;
procedure TSignatureForm.FormShow(Sender: TObject);
begin
Actualize;
end;
procedure TSignatureForm.SpeedButton1Click(Sender: TObject);
begin
if ListView1.Selected = nil then Exit;
ListView1.Selected.EditCaption;
end;
procedure TSignatureForm.Button5Click(Sender: TObject);
begin
Application.HelpContext(7);
end;
end.