Главная страница
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.018 c
1-34115
snake1977
2002-10-31 17:04
2002.11.11
Много поточность


1-34111
kserg@ukr.net
2002-10-31 17:47
2002.11.11
ошибка BORDBK50.dll is missing or not registred


14-34209
AL2002
2002-10-22 15:54
2002.11.11
Кто знает?..


4-34285
Slava V.
2002-09-26 11:40
2002.11.11
Как перетащить ссылки из MSIE в мою прогу?


7-34272
Net_Angel
2002-09-10 13:55
2002.11.11
Как получить информацию о температуре процессора