Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Бантик/Батник [D7, WinXP]


Страницы:   1 2

WhiteGuy ©   (2005-01-05 12:02:00) 

Ну, чуваки, я вас уже наверное задолбал. 8-).
Я короче делаю прогу для разрезания файлов. Как сделать такую фишку, чтобы по завершению разрезания создавался батник с командами для склеивания?? У меня в проге типа
assignFile(outf, edit2.text+'block'+inttostr(i)+'.cit');
rewrite (outf, 1);


SlyFox   (2005-01-05 15:58:00) [1]

Чё человека мучаете то? :)
Вот код:

procedure TForm1.DoneClick(Sender: TObject); // Делаем bat-файл b.bat
var outf: TextFile;
begin
AssignFile(outf,'b.bat');
Rewrite(outf);
Writeln(outf,'строка батника 1');
...........
CloseFile(outf);
end;

Что не ясно еще?


KSergey   (2005-01-05 15:10:00) [2]

> [22] WhiteGuy   (05.01.05 15:06)
> Ну так поможет кто-нить или нет??

С чем??!!
Справку (вернее - пример) по AssignFile смотрел? Что-то непонятно?

Ну или сумму называй, наконец. Тогда индивидуальные занятия проведем. ;)


WhiteGuy   (2005-01-05 15:06:00) [3]

Ну так поможет кто-нить или нет??


PVOzerski   (2005-01-05 14:53:00) [4]

Ну, например, что-то такое. Delphi под рукой нет, так что работоспобность проверяй сам :^)

function MakeBat(const batname,resultname:string;count:integer):boolean;
var
s:string;
f:file;
i:integer;
len,done:longint;//или longword? - проверяй сам
begin
s:='copy /b ';
for i:=1 to count-1 do //это если нуменация блоков идет с 1
 s:=s+'block'+inttostr(i)+'.cit+';
s:=s+'block'+inttostr(count)+'.cit '+resultname;
assignfile(f,batname);
Result:=false;
done:=0;
len:=length(s);
{$i-}
rewrite(f,1);
if IOresult=0 then
 begin
  blockwrite(f,s[1],len,done);
  Result:=len=done;
  closefile(f);
 end;
end;


WhiteGuy   (2005-01-05 14:10:00) [5]

2 PVOzerski
Ну а кода кусень можно?


KSergey   (2005-01-05 14:09:00) [6]

> [17] WhiteGuy   (05.01.05 14:02)
> Сергей, я думаю, что у этого Гусева алгоритм проги не тот...

А проверить, б...?! Фигли думать-то??
К стати, именно тот.


PVOzerski   (2005-01-05 14:04:00) [7]

Вообще-то команды для склеивания файлов в батниках возможны.
Например, copy /b 1.txt+2.txt+3.txt all.txt
Вот примерно такую строчку надо и сгенерить и скинуть в файл. На API, в textfile, в типизированный, в нетипизированный - особой разницы нет.


WhiteGuy   (2005-01-05 14:02:00) [8]

2 KSergey
Сергей, я думаю, что у этого Гусева алгоритм проги не тот...
И может кто-то тут таки мне поможет:
я уже писал: copy /b файл.1+файл.2+файл.3+....+файл.н конечный_файл


KSergey   (2005-01-05 13:47:00) [9]

> [15] WhiteGuy   (05.01.05 13:43)
> А я думал, что там  есть функция записи бантика после разрезки!
> :(

Есть мыло автора - в чем проблема? Может эта идея придется ему по душе?


WhiteGuy   (2005-01-05 13:43:00) [10]

2 KSergey
Не очень такой этот Каттер и крутой 8-).
А я думал, что там  есть функция записи бантика после разрезки! :(


TUser   (2005-01-05 13:10:00) [11]


> LostDelpher   (05.01.05 13:05) [11]
> Резалка - нужна -
> был случай нужно было прочесть логи MSSQL - а файл был больше
> 3 гига - пришлось писать резак.

1. FAR эти 3 гига спокойно откроет. И довольно быстро.
2. Резаки уже есть. Надо только поискать на freeware-сайтах.


TUser   (2005-01-05 13:06:00) [12]


> Рар и Зип занимают по мегу и платные, а моя будет 150 кб
> и халявная! 8-)

Есть еще PowerArchiver. Он бесплатный. Большой правда (2М дистрибутив, после установки - 3 с копейками) - зато на Delphi !) Кучу форматов держит. А размер чейчас не столь критичен, как 5 лет назад, ИМХО.
Rar, конечно, помощьнее будет. И поменьше в дистрибутиве. А после установки - почти столько же. Стоит он недорого. А если не хочешь платить - кликай постоянно на Esc.

PS. Архиваторы - настолько заезжанная тема, что написать что-то действительно стоящее - это тяжело. Особенно еще и 'халявное', т.е. собственными силами в часы досуга.


KSergey   (2005-01-05 13:06:00) [13]

> [11] LostDelpher   (05.01.05 13:05)
> пришлось писать резак.

Теперь все (надеюсь) знают где его взять ;)


LostDelpher   (2005-01-05 13:05:00) [14]

Резалка - нужна -
был случай нужно было прочесть логи MSSQL - а файл был больше 3 гига - пришлось писать резак.


KSergey   (2005-01-05 13:02:00) [15]

> [9] WhiteGuy   (05.01.05 12:41)
> Намыль, пжалуйста! 8)

http://gus.bip.ru/resProgs.html

Там есть мыло. Пишите, автор обещал выслать. Exe можете скачать, повертеть.

> Тип какой?
> file :)

Плохо. Должен быть TextFile (для батника). В справке есть пример (для AssignFile)


WhiteGuy   (2005-01-05 12:41:00) [16]

2 KSergey
Тип какой?
file :)

Намыль, пжалуйста! 8)

2 TUser

copy /b file.1+file.2+file.3 file
- это сбор файлов батником!


KSergey   (2005-01-05 12:29:00) [17]

>  [6] WhiteGuy   (05.01.05 12:27)
> outf - это "выходной" файл

Ежу понятно
Тип какой?

> [5] TUser ©   (05.01.05 12:25)
> Может я ошибаюсь - но просто батником тут не обойтись.

Ну почему? Смотря как резать. Можно вполне и штатной copy обойтись.

К стати, есть отлично сделанный резак (не мною). Если автор разрешит - могу отмылить.


WhiteGuy   (2005-01-05 12:28:00) [18]

2 TUser

PS. Если черь идет о том, чтобы разбить один файл на несколько и переносить их на дискетах, то такие программы уже есть и в большом количестве. Начиная с Rar/Zip и иже с ними.


Рар и Зип занимают по мегу и платные, а моя будет 150 кб и халявная! 8-)


WhiteGuy   (2005-01-05 12:27:00) [19]

2 Gero
outf - это "выходной" файл
2 KSergey
Ну, тогда, мужики! :-)


TUser   (2005-01-05 12:25:00) [20]

Может я ошибаюсь - но просто батником тут не обойтись. По крайней мере напиши прогу, которую будешь из батника вызывать и передавать ей 2 файла для склейки + имя файла для результата. А она склеет.

PS. Если черь идет о том, чтобы разбить один файл на несколько и переносить их на дискетах, то такие программы уже есть и в большом количестве. Начиная с Rar/Zip и иже с ними.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо