Форум: "Основная";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
ВнизУпаковка и распаковка данных в архив, с помощью двух кнопок Найти похожие ветки
← →
Zloy © (2004-09-02 23:55) [0]Приветствую!!!
нужно написать прогу, которая по сути состоит из двух кнопок, сжать и разжать, при нажатии сжать, какой-нибудь архиватор сжимает определенный каталог и кидает его на флешку. При разжать, этот архив распаковывается обратно в каталог да винчестер.
Не подскажите как осуществить данную задачу???
← →
Cobalt © (2004-09-03 00:28) [1]1) Описываешь полностью поведение, вплоть до случаев наличия файлов с подобным именем, и отсутствия места на жёстком диске или флешке.
2) Только после этого начинаешь писать
← →
Zloy © (2004-09-03 13:39) [2]спасибо, а не подскажите с помощью каких компонентов и функций это осуществить, просто я уже больше года не писал на Дельфи и все из головы вылетело
← →
clickmaker © (2004-09-03 13:41) [3]
> [2] Zloy © (03.09.04 13:39)
> спасибо, а не подскажите с помощью каких компонентов и функций
> это осуществить
TForm, TButton
ShellExecute()
← →
Zloy © (2004-09-03 13:57) [4]ну это и так все понятно, я имею команды для пользования архиватором
← →
clickmaker © (2004-09-03 13:59) [5]
> [4] Zloy © (03.09.04 13:57)
> ну это и так все понятно, я имею команды для пользования
> архиватором
Обычно архиваторы сами выдают список своих команд, если их запускать без параметров
← →
Digitman © (2004-09-03 14:04) [6]
> с помощью двух кнопок
ну уж без "помощи кнопок" тут никак не обойтись
без "кнопок" ни один алгоритм и ни один архиватор работать не будет ... т.е. есть кнопки - задача реализуема, нет кнопок - совсем кирдык
← →
GuAV © (2004-09-03 14:05) [7]У винрара список в хэлпе.
← →
TUser © (2004-09-03 14:14) [8]Я бы добавил еще кнопку Help. Или это выходит за пределы ТЗ?
← →
Zloy © (2004-09-03 14:38) [9]народ чего вы прикалываетесь то, есть вопрос - если есть что ответить по теме, буду признателен, если ничего, то чего блистать своим юмором, который в принципе совсем не к месту
← →
Алхимик © (2004-09-03 14:42) [10]В ShellExecute() пишешь команду
"С:\...\winrar <параметры упаковки распаковки>"
← →
Jeer © (2004-09-03 14:43) [11]Zloy © (03.09.04 13:57) [4]
>ну это и так все понятно, я имею команды для пользования >архиватором
Так тебе же все ясно ?
Вот команды pkzip-a, например:
PKZIP (R) FAST! Create/Update Utility Version 4.1v 2-04-94
Copr. 1989-1994 PKWARE Inc. All Rights Reserved. PKZIP/h for help
PKZIP Reg. U.S. Pat. and Tm. Off.
Usage: PKZIP [-b[path]] [options] zipfile [@list] [files...]
Options summary - consult the PKWARE documentation for additional information
-x<filespec|@list> = eXclude filespec(s) -z = add zipfile comment
-d = delete files -f = freshen files -i = add changed files
-l = display license info -u = update files -m[u,f] = move files
-a = add files -b = create temp zipfile on alternate drive
-c = add/edit file comments -C = add comments to new files only
-k = keep same ZIP date -o = set ZIP date to latest file
-q = enable ANSI comments -s<pwd> = Scramble files with password
-r = recurse subdirs -$[drive] = save volume label
-<T|t>[mmddyy] = Compress files before|after specified date (default=today)
-e[x,n,s] = maXimal compression/Normal compression/Speed(fast) compression
-<p|P> = store pathnames | p=recursed into | P=specified & recursed into
-<w|W><H,S> = | w=include | W=don"t include | Hidden/System files
-<j|J><H,S,R> = | j=mask | J=don"t mask | Hidden/System/Readonly attributes
-v[b,c,d,e,n,p,s,r,t] = view ZIP [Brief listing/show Comments/sort by -
Date/Ext/Name/Percentage/Size/sort Reverse/Technical (long) listing]
zipfile = ZIP file name. Default extension is .ZIP
file = Names of files to compress. Wildcards *,? ok. Default is ALL files.
@list = listfile containing names of files to add or view etc.
← →
Digitman © (2004-09-03 14:48) [12]
> Zloy © (03.09.04 14:38) [9]
по сути вопроса ответ ты уже получил - ShellExecute()
но в вопросе твоем упоминание каких-то там "кнопок" - как корове седло
использование того же ShellExecute() есть само по себе и не требут никаких кнопок - кнопки являют собой лишь некие элементы интерфейса пользователя, который c центральной логикой поставленной задачи (программный старт внешнего архиватора и программное же управление его работой) не имеет практически ничего общего
← →
Zloy © (2004-09-03 15:48) [13]слушайте, ну я конечно давно не прогал, но не настолько, просто я так выразился, есет-но я имел ввиду функции которые будут реализованы при нажатии этих кнопок, а что такое кнопки и вообще компоненты в дельфях я знаю достаточно, ПРОСТО ДАВНО НИЧЕГО НЕ ПИСАЛ НА ДЕЛЬФИ и все, так что заканчивайте придираться к этим кнопкам
← →
Mim1 © (2004-09-03 19:20) [14]Страшное дело, когда не знал да еще и забыл. :)
А вы до этого сами писали или выбивали из посетителей форума и копировали? :)
← →
Zloy © (2004-09-03 23:26) [15]Уважаемый Mim1 а не пойти бы вам на хутор бабочек ловить :)
← →
Cobalt © (2004-09-04 02:17) [16]2 Zloy © (03.09.04 15:48) [13]
Для восполнения пробелов в памяти рекомендую посмотреть проекты в папке
C:\Program Files\Borland\Delphi7\Demos
Синтаксис сразу вспомните. Остальное - алгоритм.
Кстати, ожидаем от тебя алгоритм - это предлог дальнейшей беседы. Без него конструктивных предложений не будет!
← →
Mim1 © (2004-09-04 06:40) [17]
> [15] Zloy © (03.09.04 23:26)
Прям щас побежал. :)
Вот небольшой кодик. Мож пригодится.procedure TForm1.Button1Click(Sender: TObject);
var si:STARTUPINFO;
pi:PROCESS_INFORMATION;
xc:cardinal;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
si.wShowWindow := SW_HIDE;
si.dwFlags := STARTF_USESHOWWINDOW;
CreateProcess(nil,
{$ifdef home}
PCHAR("rar32 a test.zip "+"C:\Video\nge\nge-01.viv")
{$else}
PCHAR("rar32 a test.zip "+Application.EXENAME)
{$endif}
,nil,nil,false,NORMAL_PRIORITY_CLASS,nil,nil,si,pi);
CloseHandle(Pi.hThread);
with tanimate.Create(self) do
begin
Parent := self;
Align := alClient;
BringToFront;
CommonAVI := aviCopyFiles;
Active := True;
StopFrame := 34;
while WaitForSingleObject(Pi.hProcess, 10) = WAIT_TIMEOUT do
Application.ProcessMessages;
free;
end;
if GetExitCodeProcess(Pi.hProcess,xc) then
showMessage(inttostr(xc));
CloseHandle(Pi.hProcess);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.031 c