Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-1093092801
Flagman
2004-08-21 16:53
2004.09.19
"Строки не выбраны" в Oracle


4-1091314325
kulhacker
2004-08-01 02:52
2004.09.19
Своя кнопка в IE


14-1094021927
DimKa
2004-09-01 10:58
2004.09.19
оператор goto


1-1094321582
Чайник
2004-09-04 22:13
2004.09.19
TPopupMenu - цвет, фонт т.д


3-1093268841
KIR
2004-08-23 17:47
2004.09.19
Не кастуется поле, если текст запроса формируется в динамически





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский