софт для создания "каталога"

Статус: Offline
Реєстрація: 12.11.2006
Повідом.: 162
софт для создания "каталога"

Есть папка c:\all_shit, в которой полторы тысячи файлов.
Какая программа сможет сгенерировать html-страничку, с названиями файлов и ссылками на них.

типа
.....
846. Как построить дом.doc (ссылка на файл c:\all_shit\Как построить дом.doc)
 
Заходишь в c:\all_shit в Total Commander нажимаешь ctrl+B получаешь содержимое каталога и всех его подкаталогов единым списком.
 
ctrl+B - показать все файлы без подкаталогов. Это не то. Мне нужно сгенерировать страницу с содержимым каталога и ссылками на него.
 
...

Ну напиши прогу...
Берёшь Delphi
Кинь на форму 2 TButton, 2 TEdit и 1 TMemo.
У обоих TButton создай пустые обработчики событий OnClick.
Выставь соответствующие обработчики нажатий обоих кнопок.
Потом просто вставь в юнит этот исходник и в Edit1.Text впиши '*.*', в Edit2.Text - 'c:\all_shit\' и нажми Button1 - это и будет поиск. (Вводить без одинарных кавычек)

При нажатии Button2 появится окошко выбора каталога
//---
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,
FileCtrl;

type
TForm1 = class(TForm)
Edit1: TEdit; // что искать
Edit2: TEdit; // где искать
Memo1: TMemo; // результат поиска
Button1: TButton; // кнопка Поиск
Button2: TButton; // кнопка Обзор
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

var
FileName: string;
cDir: string;
n: integer;

procedure Find;
var
SearchRec: TSearchRec;
begin
GetDir(0,cDir);
if cDir[length(cDir)] <> '\' then cDir := cDir+'\';
if FindFirst(FileName, faAnyFile,SearchRec) = 0 then
repeat
if (SearchRec.Attr and faAnyFile) = SearchRec.Attr then
begin
Form1.Memo1.Lines.Add('<A href = "'+cDir+SearchRec.Name+'">'+SearchRec.Name+'</A>');
n := n + 1;
end;
until FindNext(SearchRec) <> 0;
if FindFirst('*', faAnyFile, SearchRec) = 0 then
repeat
if (SearchRec.Attr and faDirectory) = faDirectory then
if SearchRec.Name[1] <> '.' then
begin
ChDir(SearchRec.Name);
Find;
ChDir('..');
end;
until FindNext(SearchRec) <> 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if not DirectoryExists(Edit2.Text) then
begin
ShowMessage('Каталог указан неверно.');
Edit2.SetFocus;
exit;
end;

Button1.Enabled := False;
Label4.Caption := '';
Label4.Repaint;
Memo1.Clear;
Label4.Caption := '';
FileName := Edit1.Text;
cDir := Edit2.Text;
n:=0;
ChDir(cDir);
Find;
if n = 0 then
ShowMessage('Файлов, удовлетворяющих критерию поиска нет.')
else Label4.Caption := 'Найдено файлов:' + IntToStr(n);
Button1.Enabled := True;
end;

function GetPath(mes: string):string;
var
Root: string;
pwRoot : PWideChar;
Dir: string;
begin
Root := '';
GetMem(pwRoot, (Length(Root)+1) * 2);
pwRoot := StringToWideChar(Root,pwRoot,MAX_PATH*2);
if SelectDirectory(mes, pwRoot, Dir)
then
if length(Dir) = 2
then GetPath := Dir+'\'
else GetPath := Dir
else
GetPath := '';
end;

procedure TForm1.Button2Click(Sender: TObject);
var
Path: string;
begin
Path := GetPath('Выберите папку');
if Path <> ''
then Edit2.Text := Path;
end;

end.
//---
 
Останнє редагування:
Ты страшный человек :) Выложил бы ему готовый экзешник :)

да ладно, я знаю делфи...
Не в этом дело... мне немного не это нужно... Не искать, а сгенерить страничу с сылками, то есть есть файл, в папке стодвацатый, с названием Вася.док
После работы гипотетической программы создается отчет, точнее HTML страничка, на которой в столбик прописаны имена всех файлов в папке в виде ГИПЕРССЫЛОК, чтоб я клацнул на вася док и он мне открылся. Вот.
 
да ладно, я знаю делфи...
Не в этом дело... мне немного не это нужно... Не искать, а сгенерить страничу с сылками, то есть есть файл, в папке стодвацатый, с названием Вася.док
После работы гипотетической программы создается отчет, точнее HTML страничка, на которой в столбик прописаны имена всех файлов в папке в виде ГИПЕРССЫЛОК, чтоб я клацнул на вася док и он мне открылся. Вот.
Ну так подправь прогу как тебе нужно.
Она их тебе может отссеять даже как тебе хочется.
Фильтр можешь задать не '*.*', а какой душа пожелает - как в поисковике в винде.
А счётчик добавить, я думаю, ты и сам сможешь.

PS: А номер файла в папке зависит от того, по чём ты их упорядочишь (имя, дата, тип......). )))

Или я снова чё-то не понял? )
 
Есть такой замечательный браузер Опера.....

Короче перетаскиваешь нужную папку с файлами на нее и имеешь каталог..
 
Та что вы мучаетесь? Уже всё изобретено до вас. Есть такая программа:
Dir2html :
Посилання видалено
Она фирварная, и может делать html-страничку со списком файлов из нужной директории даже с гиперссылками на эти файлы. Пользуйтесь, наздоровье. Я давно уже такую юзаю. Удобно к примеру список фильмов создавать.
 
Во! В точку! Такое я и искал!!! ALEX Stealthon - мегаспасибо!!!!
 
правда, не любит, собака, русские имена файлов...
 
Блин, у меня оказывается немного другая программа. В одной цифре ошибся. Вот та, что у меня есть:
Посилання видалено
 
junglist, в адресную строку Оперы введи c:\all_shit\ и нажми энрет. Полученную страничку можно сохранить, при желании подредактировать.
 
все, разобрался, всем спасибо!
 
Назад
Зверху Знизу