Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.11;
Скачать: CL | DM;

Вниз

Как работать с текстовым файлом, в виде ресурса?   Найти похожие ветки 

 
Grombl   (2002-10-31 23:39) [0]

Здраствуйте, уважаемые мастаки!
Необходимо использовать вставленный в екзешник файл, как обычный текстовый. Т.е. считывать записаные данные последовательно(как в read). Результат лучше всего преобразовать/получить в виде string`a.

С уважением, Grombl.


 
Тень   (2002-11-01 00:15) [1]

Это исходник готовой программы.
Дальше думай сам...
unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs,StdCtrls,
ShellAPI; // обязательно!;


type
TForm1 = class(TForm)
Memo1: TMemo;
FileNameLabel: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
protected
// Это процедура, отвечающая за прием сообщения о броске файла
procedure WMDropFiles(var Msg: TMessage); message wm_DropFiles;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
procedure TForm1.WMDropFiles(var Msg: TMessage);
var
Filename: array[0 .. 256] of Char;
Count : integer;
begin
// Получаем количество файлов (просто пример)

// Получаем имя первого файла }
DragQueryFile( THandle(Msg.WParam),
0, { это номер файла }
Filename,SizeOf(Filename) ) ;
// Открываем его
with FileNameLabel do begin
Caption := LowerCase(StrPas(FileName));
Memo1.Lines.LoadfromFile(Caption);
end;
// Отдаем сообщение о завершении процесса
DragFinish(THandle(Msg.WParam));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin

// Уведомляем Windows, что на объект с указанным Handle можно бросать файлы
DragAcceptFiles(Handle, True);

end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, False);
end;
end.


 
Grombl   (2002-11-01 22:25) [2]

Спасибо, разобрался.
Вот только возник еще один вопрос - почему при TResourseStream/TSream.Read(string,n), где н число, читаеться не n символов а n-1? Т.е. при попытке прочитать из Стрима="12345" Stream.REad(3) получаю результатом "23"?



Страницы: 1 вся ветка

Текущий архив: 2002.11.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
14-34185
KIR
2002-10-21 00:03
2002.11.11
t


3-33889
AM
2002-10-22 13:43
2002.11.11
Как заставить НД не обманывать?


14-34188
lipskiy
2002-10-17 20:51
2002.11.11
Посоветуйте фантастику


14-34261
paul_shmakov
2002-10-16 12:43
2002.11.11
Сделаем день программиста официальным праздником. Сбор подписей


1-34092
Zergling
2002-10-31 07:24
2002.11.11
Инспектор объектов как IDE Delphi