Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Склеивание файлов, Без компонент 
:(
    Опции темы
Danя
Дата 15.5.2007, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



Snowy 
Пожалуйста поподробнее, я почти новичок в DELPHI smile  smile  smile  smile 
PM MAIL   Вверх
lukas
Дата 15.5.2007, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



Danя

все же просто... 

находишь один файл, загружаешь его в TMemoryStream, затем копируешь весь этот поток в конец главного потока например DirectStream (TMemoryStream) и так дальше, с каждым найденным файлом... ;) А потом DirectStream сохраняешь в файл. Для начала научись с потоками работать, а там и сам все поймешь...


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Danя
Дата 15.5.2007, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



lukas
 smile  smile Да.... за время которое я нахожусь на этом форуме я понял, что DELPHI вообще нифига не знаю smile  smile 
Пожалуйста можешь объяснить у меня очень мало времения!!!
Мне через неделю показывать игру(хоть в каком - то виде), а у меня нифига ни сделано



Это сообщение отредактировал(а) Danя - 15.5.2007, 19:21
PM MAIL   Вверх
Snowy
Дата 15.5.2007, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



lukas, человек спрашивал, как пользоваться FindFirst, а не теорию склеивания.
К тому же со склеиванием всё давно решено - код в топе.

Danя, видишь поле поиска вверху страницы? Введи туда FindFirst ;-)
PM MAIL   Вверх
Danя
Дата 15.5.2007, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



Snowy
Издеваешься да? smile 
Но всёравно спасибо smile

Добавлено @ 19:25
Код

Procedure FindDirInDir(const indir:AnsiString;const wStringList: TStrings;const filemast:AnsiString='*.*');
var ssr : TSearchRec;
begin
  wStringList.Clear;
  if FindFirst(indir+filemast, faAnyFile, ssr)=0 then
    repeat
      if ((ssr.Attr and faDirectory)<>0) and (ssr.Name<>'..') and (ssr.Name<>'.') then
        wStringList.add(ssr.Name);
    until FindNext(ssr)<>0;
  SysUtils.FindClose(ssr);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
FindDirInDir('C:\Program Files',Listbox1.Items,'*.*');
end;

Ну а как не папки а название файлов  в Листбокс  вывести??
Вы не думайте я не леньтяй просто архивация это второе дело (но не менее важное) главное саму игрушку дописать/написать

Это сообщение отредактировал(а) Danя - 15.5.2007, 19:26
PM MAIL   Вверх
Danя
Дата 15.5.2007, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



Все ДОШЛО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! smile  smile  smile  smile  smile  smile  smile  smile  smile  smile  smile  smile  smile  smile  smile 


УРЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ smile 


ВСЕМ ОГРОМНОЕ СПАСИБО

ПРОСТИТЕ, ЧТО ТУПИЛ





PM MAIL   Вверх
_KLAUS_
Дата 7.8.2007, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 19.11.2006

Репутация: нет
Всего: нет



Snowy
Что делаю не так??
Три кнопки, нажимаю на первую создаётся "file.pak"
На вторую создаётся папка "UnPack" - Но она пустая .....
На третью пишет "Bitmap is not avalid"..что не так-то??
Delphi 6
PM MAIL   Вверх
_KLAUS_
Дата 7.8.2007, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 19.11.2006

Репутация: нет
Всего: нет



Ошибка 
Код

Image1.Picture.Bitmap.LoadFromStream(ms);
  

Я так понял, мы все нужные файлы в картинку пихаем, а как извлекать??
PM MAIL   Вверх
Snowy
Дата 7.8.2007, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



Цитата(_KLAUS_ @  7.8.2007,  18:20 Найти цитируемый пост)
Что делаю не так??
Три кнопки, нажимаю на первую создаётся "file.pak"
На вторую создаётся папка "UnPack" - Но она пустая .....
На третью пишет "Bitmap is not avalid"..что не так-то??

Неверно указал пути к файлам при упаковке.
Посмотри размер pak - он небось байта 4.
Значит ничего не запаковал. А значит и распаковывать нечего smile 
Цитата(Snowy @  11.4.2006,  11:24 Найти цитируемый пост)
    Add('C:\*.bmp'); // добавляем в список файлы
    Add('C:\*.mp3');
    Add('C:\*.rar');
Видишь что пакует?
У тебя в корне диска C: есть bmp, mp3 или rar?
Нет? Вот потому ничего и не упаковал.


Цитата(_KLAUS_ @  7.8.2007,  18:46 Найти цитируемый пост)
Я так понял, мы все нужные файлы в картинку пихаем, а как извлекать??
Нет. Нужные файлы мы никуда не пихаем.
Они так и лежат в файле.
Просто мы можем достать оттуда любой из файлов в стрим.
В примере с картинкой мы вытаскиваем из пака первый файл в TMemoryStream, а потом этот стрим грузим в битмап.
Почему первый? Да потому что при добавлении мы сначала добавляли bmp.
Можно указывать не по звёздочке, а конкретный файл. Но это детали.
Файлы сами по себе не достаются. Их нужно доставать через  GetFile.
GetFile найдёт в паке выбранный файл (если он там есть) и прочитает его в стрим.
А дальше что хошь с ним, то и делай.
PM MAIL   Вверх
_KLAUS_
Дата 8.8.2007, 06:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 19.11.2006

Репутация: нет
Всего: нет



Цитата(Snowy @ 7.8.2007,  20:01)
Неверно указал пути к файлам при упаковке.
Посмотри размер pak - он небось байта 4.
Значит ничего не запаковал. А значит и распаковывать нечего 

Да не, всё нормально, я правда только свои форматы  запихал, а так они в корневом каталоге C:\ лежат , и  *.pak получился нормального размера! Но папка UnPack всё равно пустая.
И вот тут если я меняю значения на >0 , то файлы извлекаются но с нулевым размером!!
Код

 if FileList.IndexOf(FileName) < 0 then Exit;


Добавлено через 3 минуты и 43 секунды
Извлечение что-то не получается!!
PM MAIL   Вверх
lukas
Дата 14.9.2007, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



Откопал похожий компонент...

TStreamDirector, может добавлять Файлы, Потоки, Списки... вообще тоже очень удобно...



Присоединённый файл ( Кол-во скачиваний: 21 )
Присоединённый файл  StreamDirector.pas 7,95 Kb


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
lukas
Дата 14.9.2007, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



и вот еще один похожий...

http://www.torry.net/vcl/vcltools/streams/hkstrm.zip

Это сообщение отредактировал(а) lukas - 14.9.2007, 18:38


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Apls
Дата 6.11.2007, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 29.6.2007

Репутация: нет
Всего: нет



Snowy, соглашусь с _KLAUS_. Сейчас разбираюсь с твоим исходником, тоже самое.
Создается папка UnPack, но файло в ней нет, если в процедуре TFilesLoader.SaveFile поменять знак на ">", то файлы извлекаются, но с нулевым размером. Что делать?
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1141 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.