Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.27;
Скачать: CL | DM;

Вниз

архив и печать   Найти похожие ветки 

 
selena   (2003-11-14 09:42) [0]

Здраствуйте
Помогите новичку пожалуйста.
Нужно написать программу которая ищет в каталоге архивный файл , разархивирует его и файлы которые в архиве нужно пустить на печать.Как это сделать ?Есть пример по аналогичным задачам?


 
Maxud ©   (2003-11-14 09:46) [1]

В чем проблема - в поиске файла, дезархивации или печати?


 
selena   (2003-11-14 11:04) [2]

в поиске
begin
ChDir("c:\super");
r:=FindFirst ("*.*", faAnyFile, f);
s:= ExtractFileName (f.Name);
begin
// d:=
// AssignFile (R,""prn");
end;
s:=IntToStr(r);
fMain.LbLog.Items.Add(s); //(ExtractFileName (f.Name));
// fMain.lbLog.Items.Add(TimeToStr(time)+IntToStr(r));
end;
И выводит 0 а не имя файла.


 
Jel ©   (2003-11-14 12:26) [3]

FindFirst возвращает 0 если нашла файл.

> s:=IntToStr(r);

Его-то ты и получаешь в свой лог.


 
selena   (2003-11-14 13:50) [4]

а как сделать чтобы было имя файла?


 
Jel ©   (2003-11-14 13:57) [5]

Не хочу обидеть, но справку по функции FindFirst почитать не пробовали?

Там масса интересного. В том числе информация о том, что поиск открытый функцией FindFirst нужно потом закрывать при помощи FindClose и т.д.


 
Maxud ©   (2003-11-14 14:01) [6]


procedure fMain.ScanDir(DirName: string);
var SR: TSearchRec;
begin
if findFirst(DirName+"\*.*", faAnyFile, SR) = 0 then
repeat
if (SR.Name <> ".") and (SR.Name <> "..") then
if (SR.Attrib and faDirectory) <> faDirectory) then
LbLog.Items.Add(SR.Name);
until FindNext(SR) <> 0;
FindClose(SR);
end;

Все файлы в LbLog. Что дальше?


 
selena   (2003-11-14 15:58) [7]

Больщое спасибо.А файл справки я читал , но у меня с английйски не очень.Чтобы распечатать файл достаточно AssignPrn()?


 
Maxud ©   (2003-11-14 16:12) [8]


uses Printers;

procedure PrintStrings(Strings: TStrings);
var
Prn: TextFile;
i: word;
begin
AssignPrn(Prn);
try
Rewrite(Prn);
try
for i := 0 to Strings.Count - 1 do
writeln(Prn, Strings.Strings[i]);
finally
CloseFile(Prn);
end;
except
on EInOutError do
MessageDlg("Error Printing text.", mtError, [mbOk], 0);
end;
end;

// Пример
var i: integer;
begin
for i := 0 to LBLog.Items.Count-1 do
begin
Memo1.Lines.LoadFromFile(LBLog.Items[i]);
PrintStrings(LbLog.Lines);
end;
end;


 
selena   (2003-11-15 10:05) [9]

Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2003.11.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
1-89822
alexe
2003-11-17 09:36
2003.11.27
Проблема с передачей формулы в Exel


14-90119
Andrey V.
2003-11-04 07:16
2003.11.27
Интегрированный звук - суксь


3-89714
AlexiNx
2003-11-03 18:31
2003.11.27
Fast Report


3-89772
Vick
2003-11-10 15:18
2003.11.27
OnDrawColumnCell


14-90057
Denis_Ac
2003-10-31 08:58
2003.11.27
Вот Интересно стало