Меню сайта
Категории раздела
PHP [0]
Видео уроки [0]
DELPHI [45]
BASIC [0]
HTML [0]
JAVA [0]
C++ / C# [0]
Радио
ЧАТ
200
Облако тегов
Облако фото
Форум
  • композитная арматура (0)
  • Справедливо ли это???? (1)
  • Недвижимость в Тюмени (1)
  • Качество услуг и обслуживания (2)
  • строительный эксперт (0)
  • гид по Греции (0)
  • винные туры по Италии (0)
  • деревянные лестницы (0)
  • гид по Италии (0)
  • Разные поздравления (1)
  • Главная » Статьи » Программисту » DELPHI

    Соединение ЕХЕ

    Соединяем ЕХЕ файлы 



    function AttachToFile(const AFileName: string; MemoryStream: TMemoryStream): Boolean;
    var
    aStream:TFileStream;
    iSize:Integer;
    begin
    Result:=False;
    if not FileExists('proga.exe') then
    Exit;
    try
    aStream:=TFileStream.Create(AFileName, fmOpenWrite or fmShareDenyWrite);
    MemoryStream.Seek(0, soFromBeginning);
    aStream.Seek(0, soFromEnd);
    aStream.CopyFrom(MemoryStream, 0);
    iSize:=MemoryStream.Size + SizeOf(Integer);
    aStream.Write(iSize, SizeOf(iSize));
    finally
    aStream.Free;
    end;
    Result:=True;
    end;


    procedure TForm1.Button1Click(Sender: TObject);
    var
    aStream:TMemoryStream; num:integer; data:string;
    begin
    memo2.lines.text:=inttostr(num);
    aStream:=TMemoryStream.Create;
    aStream.LoadFromFile('fileres.exe'); //файл который будет в ресурсах
    AttachToFile('proga.exe', aStream); //файл к которому добавить ресурс (наш файл "fileres.exe")
    aStream.Free;
    end;


    Извлекаем этот файл из грограммы 



    function LoadFromFile(const AFileName: string; MemoryStream: TMemoryStream): Boolean;
    var
    aStream: TFileStream;
    iSize: Integer;
    begin
    Result:=False;
    if not FileExists(AFileName) then
    Exit;
    try
    aStream:=TFileStream.Create(AFileName, fmOpenRead or fmShareDenyWrite);
    aStream.Seek(-SizeOf(Integer), soFromEnd);
    aStream.Read(iSize, SizeOf(iSize));
    if iSize > aStream.Size then
    begin
    aStream.Free;
    Exit;
    end;
    aStream.Seek(-iSize, soFromEnd);
    MemoryStream.SetSize(iSize - SizeOf(Integer));
    MemoryStream.CopyFrom(aStream, iSize - SizeOf(iSize));
    MemoryStream.Seek(0, soFromBeginning);
    MemoryStream.SaveToFile('xxx.exe'); //извлекаем и сохраняем прежде-приатаченный файл как "xxx.exe"
    finally
    aStream.Free;
    end;
    Result:=True;
    end;

    юзать так
    LoadFromFile(ExtractFilename(application.ExeName), aStream);

    Категория: DELPHI | Добавил: SeM (31.03.2011)
    Просмотров: 406 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Поиск по сайту
    Новый Год
    Опрос
    Понравились фотографии Тобольска?


    Всего ответов: 14
    Всего голосовало: 14
    Обсудить на форуме
    Друзья сайта
    измерьте скорость интернета Яндекс.Метрика
    Проверить тИЦ и PR
    Статистика
    Погода
    Яндекс.Погода
    Коменнтарии

    Извиняюсь, заработал. Спасибо за урок biggrin

    Компонент не работает

    Давайте помогу разобраться ? вы хотите что бы когда выбиралась станция сразу начинала проигрывать? скиньте исходник или как лучше связаться с вами?

    у меня все работает!

    Нифига не робит...
    Кто знает как сделать чтобы на жесткий жертвы сохранял..
    ISQ 606017777

    FSDGHDFJHRG


    Отзывы Фото
    6 микр. Красивое место....

    Ершов ))))

    Старый музей но щас его перенесли...

    Фотография под горы smile

    Красивое фото!!! smile

    Copyright MyCorp © 2024