Главная страница
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.026 c
1-34069
Checist[root]
2002-10-30 14:33
2002.11.11
Введение глобальной переменной


3-33899
ACR
2002-10-14 18:23
2002.11.11
DBF + SQL без BDE


1-34105
stone
2002-10-31 15:43
2002.11.11
Корректное уничтожение клиента на сервере приложений


1-34107
iluxa
2002-10-31 16:30
2002.11.11
как проще сделать похожую форму


14-34232
vopros
2002-10-23 15:21
2002.11.11
Давайте устроим интелектуальную дуель со мной.