Форум: "WinAPI";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];
ВнизРабота с ресурсами... Найти похожие ветки
← →
Юрий Ж. (2003-10-01 16:02) [0]Всем здрасти!
Есть ли у кого-нибудь процедуры(а скорее функции) или FAQ для получения, обновления, добавления и т.д. ресурсов из файла.
Что-то типа:
function GetStrResource(FileName,ResName: String): string;
Заранее благодарен!
← →
clickmaker (2003-10-01 17:35) [1]LoadString, FindResource, LoadResource, UpdateResource
← →
Nick Denry (2003-10-01 17:37) [2]BeginUpdateResource
UpdateREsource
EndUpdateResource
далее F1>Win32... or MSDN & RTFM
← →
Юрий Ж. (2003-10-03 01:43) [3]А можно конкретнее(примерчик бы я то я в ресурсах полный 0)...
← →
Юрий Ж. (2003-10-03 20:39) [4]Удалено модератором
Примечание: Offtopic
← →
Nick Denry (2003-10-04 13:40) [5]Вечером часиков в 7 по москве сегодня.
← →
Nick Denry (2003-10-04 22:57) [6]Сорри, что задержал:
Примерно1:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, AppEvnts, ComCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
OpenDialog1: TOpenDialog;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
UpdateFile:Hfile;
vir : array of Char;
mem : cardinal;
tmp: pointer;
resfile,myfile:hfile;
str:ofstruct;
wd,wdd:dword;
result: cardinal;
i:integer;
{f : file of pointer;
m : array of pointer;}
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
{vir := nil;}
{mem:=GlobalAlloc(GMEM_FIXED,463872);
tmp:=GlobalLock(mem);
button1.Caption:=inttostr(GlobalSize(mem));
if mem=0 then ShowMessage("GlobalAlloc error") else showmessage("GlobalAlloc done");}
{AssignFile(F, "runs.exe");
Reset(F);
SetLength(m, FileSize(F));
wd:=FileSize(F);
BlockRead(F, m[0],wd );
CloseFile(F); }
{data:=vir;}
{AssignFile(f,"runs.exe");
Reset(f);
Seek(f,0);
BlockRead(f,tmp,512);
closefile(f); }
{wd:=463872;
wdd:=0;
Resfile:=OpenFile("Runs.exe",str,of_read);
Wd:=GetFileSize(resfile,nil);
Form1.Caption:=IntToStr(wd);
ReadFile(resfile,tmp^,wd,wdd,nil);
MyFile:=CreateFile("1.txt",GENERIC_WRITE ,FILE_SHARE_WRITE,nil,
CREATE_Always,FILE_ATTRIBUTE_NORMAL,0);
WriteFile(MyFile,tmp^,wd,wdd,nil);}
OpenDialog1.Execute;
If OpenDialog1.FileName<>"" then begin
UpdateFile:=BeginUpdateResource(PCHAR(OpenDialog1.fileName),false);
ShowMessage("UpdateFile");
UpdateResource(UpdateFile,RT_RCDATA,PChar(Edit1.Text),0,nil,0);
EndUpdateResource(UpdateFile,false);
ShowMessage("UpdateResource");
end
else ShowMessage("NofileToDo");
{if res=false then showmessage("res ok") else begin showmessage("res fail");
ShowMessage(IntToStr(GetLastError));
end;}
{GlobalUnlock(mem);
result:=GlobalFree(mem);
if result=0 then showmessage("all ok") else messagebeep(mb_iconhand);}
end;
end.
Много лишнего, но есть над чем подумать.
Спрашивай.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c