home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
sibylft1.zip
/
DOC.DAT
/
DOC
/
SPCC
/
FILECTRL.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1997-04-07
|
12KB
|
357 lines
{╔══════════════════════════════════════════════════════════════════════════╗
║ ║
║ Sibyl Portable Component Classes ║
║ ║
║ Copyright (c) 1995,97 SpeedSoft Germany, All rights reserved. ║
║ ║
╚══════════════════════════════════════════════════════════════════════════╝}
UNIT FileCtrl;
INTERFACE
USES SysUtils,Classes,Forms,StdCtrls;
TYPE
TDirectoryListBox=CLASS;
TDriveComboBox=CLASS;
TFilterComboBox=CLASS;
{ftVolumnID has no effect, but exists for compatibility of TFileAttr}
TFileAttr=(ftReadOnly,ftHidden,ftSystem,ftVolumeID,ftDirectory,ftArchive,
ftNormal);
TFileType=SET OF TFileAttr;
TFileListBox=CLASS(TListBox)
PRIVATE
FMask:STRING;
FDirectory:STRING;
FFileType:TFileType;
FFileEdit:TEdit;
FDirList:TDirectoryListBox;
FFilterCombo:TFilterComboBox;
FOnChange:TNotifyEvent;
FUNCTION GetDrive:CHAR;
PROCEDURE SetDrive(NewDrive:CHAR);
PROCEDURE SetDirectory(NewDir:STRING);
PROCEDURE SetFileName(NewFile:STRING);
FUNCTION GetFileName:STRING;
PROCEDURE SetMask(NewMask:STRING);
PROCEDURE SetFileType(Attr:TFileType);
PROCEDURE SetFileEdit(NewEdit:TEdit);
PROCEDURE BuildList;
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE Notification(AComponent:TComponent;Operation:TOperation);OVERRIDE;
PROCEDURE ItemFocus(Index:LONGINT);OVERRIDE;
PROCEDURE Change;VIRTUAL;
PROPERTY Duplicates;
PROPERTY Items;
PROPERTY Sorted;
PROPERTY OnItemFocus;
PUBLIC
FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
PROPERTY FileName:STRING read GetFileName write SetFileName;
PROPERTY Directory:STRING read FDirectory write SetDirectory;
PROPERTY Drive:CHAR read GetDrive write SetDrive;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PROPERTY OnItemSelect;
PUBLISHED
PROPERTY Align;
PROPERTY Color;
PROPERTY PenColor;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Enabled;
PROPERTY ExtendedSelect;
PROPERTY FileEdit:TEdit read FFileEdit write SetFileEdit;
PROPERTY FileType:TFileType read FFileType write SetFileType;
PROPERTY Font;
PROPERTY HorzScroll;
PROPERTY IntegralHeight;
PROPERTY ItemHeight;
PROPERTY Mask:STRING read FMask write SetMask;
PROPERTY MultiSelect;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
PROPERTY ShowDragRects;
PROPERTY ShowHint;
PROPERTY Style;
PROPERTY TabOrder;
PROPERTY TabStop;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
PROPERTY OnChange:TNotifyEvent read FOnChange write FOnChange;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnDrawItem;
PROPERTY OnEndDrag;
PROPERTY OnEnter;
PROPERTY OnExit;
PROPERTY OnFontChange;
PROPERTY OnKeyPress;
PROPERTY OnMeasureItem;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnScan;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
TDirectoryListBox=CLASS(TListBox)
PRIVATE
FDirectory:STRING;
FDirLabel:TLabel;
FFileList:TFileListBox;
FDriveCombo:TDriveComboBox;
FOnChange:TNotifyEvent;
PROCEDURE SetDirectory(NewDir:STRING);
FUNCTION GetDrive:CHAR;
PROCEDURE SetDrive(NewDrive:CHAR);
PROCEDURE SetDirLabel(ALabel:TLabel);
PROCEDURE SetFileListBox(AFileList:TFileListBox);
PROCEDURE BuildList;
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE Notification(AComponent:TComponent;Operation:TOperation);OVERRIDE;
PROCEDURE ItemSelect(Index:LONGINT);OVERRIDE;
PROCEDURE Change;VIRTUAL;
PROPERTY Duplicates;
PROPERTY ExtendedSelect;
PROPERTY ItemHeight;
PROPERTY Items;
PROPERTY MultiSelect;
PROPERTY Sorted;
PROPERTY Style;
PROPERTY OnDrawItem;
PROPERTY OnItemFocus;
PROPERTY OnItemSelect;
PROPERTY OnMeasureItem;
PUBLIC
FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
PROPERTY Directory:STRING read FDirectory write SetDirectory;
PROPERTY Drive:CHAR read GetDrive write SetDrive;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY Color;
PROPERTY PenColor;
PROPERTY DirLabel:TLabel read FDirLabel write SetDirLabel;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Enabled;
PROPERTY FileList:TFileListBox read FFileList write SetFileListBox;
PROPERTY Font;
PROPERTY HorzScroll;
PROPERTY IntegralHeight;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
PROPERTY ShowDragRects;
PROPERTY ShowHint;
PROPERTY TabOrder;
PROPERTY TabStop;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
PROPERTY OnChange:TNotifyEvent read FOnChange write FOnChange;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnEndDrag;
PROPERTY OnEnter;
PROPERTY OnExit;
PROPERTY OnFontChange;
PROPERTY OnKeyPress;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnScan;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
TDriveComboBox=CLASS(TComboBox)
PRIVATE
FDrive:CHAR;
FDirList:TDirectoryListBox;
FOnChange:TNotifyEvent;
PROCEDURE SetDrive(NewDrive:CHAR);
PROCEDURE SetDirListBox(ADirList:TDirectoryListBox);
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE Notification(AComponent:TComponent;Operation:TOperation);OVERRIDE;
PROCEDURE ItemSelect(Index:LONGINT);OVERRIDE;
PROCEDURE Change;VIRTUAL;
PROPERTY BorderStyle;
PROPERTY Duplicates;
PROPERTY Items;
PROPERTY MaxLength;
PROPERTY SelLength;
PROPERTY SelStart;
PROPERTY SelText;
PROPERTY Sorted;
PROPERTY Style;
PROPERTY TextExtension;
PROPERTY OnItemFocus;
PROPERTY OnItemSelect;
PUBLIC
FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
PROPERTY Drive:CHAR read FDrive write SetDrive;
PROPERTY Text;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY Color;
PROPERTY PenColor;
PROPERTY DirList:TDirectoryListBox read FDirList write SetDirListBox;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY DropDownCount;
PROPERTY Enabled;
PROPERTY Font;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
PROPERTY ShowHint;
PROPERTY TabOrder;
PROPERTY TabStop;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
PROPERTY OnChange:TNotifyEvent read FOnChange write FOnChange;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnDropDown;
PROPERTY OnEndDrag;
PROPERTY OnEnter;
PROPERTY OnExit;
PROPERTY OnFontChange;
PROPERTY OnKeyPress;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnScan;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
TFilterComboBox=CLASS(TComboBox)
PRIVATE
FFilter:STRING;
FFileList:TFileListBox;
FMaskList:TStringList;
FOnChange:TNotifyEvent;
PROCEDURE SetFilter(NewFilter:STRING);
PROCEDURE SetFileListBox(AFileList:TFileListBox);
FUNCTION GetMask:STRING;
PROCEDURE BuildList;
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE Notification(AComponent:TComponent;Operation:TOperation);OVERRIDE;
PROCEDURE SetupShow;OVERRIDE;
PROCEDURE ItemSelect(Index:LONGINT);OVERRIDE;
PROCEDURE Change;VIRTUAL;
PROPERTY BorderStyle;
PROPERTY Duplicates;
PROPERTY Items;
PROPERTY Mask:STRING read GetMask;
PROPERTY MaxLength;
PROPERTY SelLength;
PROPERTY SelStart;
PROPERTY SelText;
PROPERTY Sorted;
PROPERTY Style;
PROPERTY TextExtension;
PROPERTY OnItemFocus;
PROPERTY OnItemSelect;
PUBLIC
DESTRUCTOR Destroy;OVERRIDE;
FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
PROPERTY Text;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY Color;
PROPERTY PenColor;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY DropDownCount;
PROPERTY Enabled;
PROPERTY FileList:TFileListBox read FFileList write SetFileListBox;
PROPERTY Filter:STRING read FFilter write SetFilter;
PROPERTY Font;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
PROPERTY ShowHint;
PROPERTY TabOrder;
PROPERTY TabStop;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
PROPERTY OnChange:TNotifyEvent read FOnChange write FOnChange;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnDropDown;
PROPERTY OnEndDrag;
PROPERTY OnEnter;
PROPERTY OnExit;
PROPERTY OnFontChange;
PROPERTY OnKeyPress;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnScan;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
FUNCTION InsertFileListBox(Parent:TControl;Left,Bottom,Width,Height:LONGINT):TFileListBox;
FUNCTION InsertDirectoryListBox(Parent:TControl;Left,Bottom,Width,Height:LONGINT):TDirectoryListBox;
FUNCTION InsertDriveComboBox(Parent:TControl;Left,Bottom,Width,Height:LONGINT):TDriveComboBox;
FUNCTION InsertFilterComboBox(Parent:TControl;Left,Bottom,Width,Height:LONGINT):TFilterComboBox;
IMPLEMENTATION