Главная страница
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.017 c
1-89833
Dred
2003-11-16 21:26
2003.11.27
Проблема с созданием канвы.


1-89807
Хрюначок
2003-11-18 17:02
2003.11.27
Архив


1-89970
NetKnight
2003-11-17 16:27
2003.11.27
ehLib & ehGrid


1-89948
diww
2003-11-17 16:27
2003.11.27
RxSpeedButton и ToolBar


6-90038
Sesh
2003-09-30 22:02
2003.11.27
Delphi+Internet