Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
6-90052
Anonimus
2003-09-19 11:27
2003.11.27
Передача файла с помощью TServerSocket и TClientSocket


3-89703
Dany
2003-11-10 14:21
2003.11.27
NUMERIC(32) to Integer


3-89724
xsenort
2003-11-09 19:18
2003.11.27
SQL


1-89816
Dark Elf
2003-11-17 10:26
2003.11.27
Как отформатировать текст в TEdit по правому краю?


14-90120
J_S
2003-11-04 02:14
2003.11.27
Вот какой спам нонче валицца :((.... (+)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский