Показать сообщение отдельно
  #2  
Старый 15.01.2008, 20:11
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

А вот такой класс не подойдет?
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
interface
  
type
  TOnOpen = procedure (FileName: String) of object;
  TMyTextFile = class
    FFileName: String;
    FOnOpen: TOnOpen;
    FMemo: Pointer;
    constructor Create(FileName: String; Memo: Pointer);
    destructor Destroy; override;
  public
    property Memo: Pointer read FMemo write FMemo; //Свойство - указатель на TMemo
    property OnOpen: TOnOpen read FOnOpen write FOnOpen; //Событие происходящее при открытии файла
    property FileName: String read FFileName write FFileName; //Свойство, в котором хранится имя открываемого файла
    procedure OpenFile;
  end;
  
implementation
  
{ TMyTextFile }
  
constructor TMyTextFile.Create(FileName: String; Memo: Pointer); //Создаем объект, FileName - имя файла, Memo - указатель на объект TMemo, например @Memo1
begin
inherited Create;
FFileName:=FileName;
FMemo:=Memo;
end;
  
destructor TMyTextFile.Destroy; //Уничтожаем объект
begin
inherited;
end;
  
procedure TMyTextFile.OpenFile; //Загружает файл FFileName в FMemo^
begin
TMemo(Memo^).Lines.LoadFromFile(FFileName);
FOnOpen(FFileName);
end;
Чтобы загрузить, например в Memo1 файл C:\T.txt надо:
Код:
1
2
3
4
5
6
7
8
var
MyTextFile: TMyTextFile; //Объявить переменную
...
begin
MyTextFile:=TMyTextFile.Create('C:\T.txt', @Memo1); //Создать объект, в данном случае в Memo1 будет загружет файл C:\T.txt
MyTextFile.OpenFile; //Загрузить содержимое файла в Memo
MyTextFile.Destroy; //Уничтожить объект
end;
Событие OnOpen будет происходить каждый раз, когда запускается процедура OpenFile
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием