Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Файловый Менеджер

17K
19 августа 2006 года
INVIS
10 / / 18.08.2006
Вообщем, я только начал программировать на дельфи... :) Вот решил написать файловый менеджер. Вообщем, черещ TListView, выводит иконку файла или папки, тип файла, размер, и дату. При переходе в другую папку всё отлично, но при выборе ".."(т.е. назад), пусть становится допустим C:\Windows\\, а должен быть C:\ :(
Как лучше следать, через массив удалять имя папки, или через другую функцию?
6.8K
19 августа 2006 года
Romikgy
84 / / 28.04.2005
надо смотреть как ты переходишь на ".."
fot не понятно о каких папках речь? т.е. удалять папки со вложеными?
тогда рекурсией, сначало внутри все файлы а потом пустую папку
17K
19 августа 2006 года
INVIS
10 / / 18.08.2006
[QUOTE=Romikgy]надо смотреть как ты переходишь на ".."
fot не понятно о каких папках речь? т.е. удалять папки со вложеными?
тогда рекурсией, сначало внутри все файлы а потом пустую папку[/QUOTE]
Нет вы не правильно поняли, я через FindFirst и FindNext, вывожу папки, а так же с помощью SHGetFileInfo, вывожу их иконки, имя, тип... Ну а дальше размер и дату.
Вообщем по папкам он переходит, но обратно не возвращается.
Вот я думаю, нужно если caption='..', что бы удаляло с конца текст до \.
Только незнаю как, может подскажете? :(
6.8K
19 августа 2006 года
Romikgy
84 / / 28.04.2005
покажи как ты между папками переходишь ?
а насчет удаления замени этот символ 0 и все
17K
19 августа 2006 года
INVIS
10 / / 18.08.2006
[QUOTE=Romikgy]покажи как ты между папками переходишь ?
Код:
а насчет удаления замени этот символ 0 и все[/QUOTE]
procedure TFileMachine.FilesLeftKeyPress(Sender: TObject; var Key: Char);
begin
If Ord(Key)=13 then
begin
if FilesLeft.Selected.Caption <> '[..]' then
begin
Path:=Path+FilesLeft.Selected.Caption+'\';
InsertFilesLeft(DriveLeft.Text,'\',Path,FilesLeft,ImageListLeft);
PanelPathLeft.Caption:='C:\'+Path;
end;

Вобщем, Path это пусть, FilesLeft.Selected.Caption это выбраная папка. По нажатию на Enter, папка добавляется в путь... В папки заходит без проблем. Вот если я нажимаю на [..], я должен с конца удалить текст до первого '\', и заново перейти в папку, должно сработать. Но вот я не знаю функций работы со строками. :(
339
23 августа 2006 года
verybadbug
619 / / 12.09.2005
Код:
procedure MyProc(var Path: String);
var
  I: Integer;
begin
  I := Length(Path) - 1;
  while I > 0 do begin
    if Path = '\' then Break;
    Dec(I);
  end;
  if (I > 0) and (Path = '\') then Path := Copy(Path, 1, I);
end;

писал с головы.... возножно есть баги
17K
29 августа 2006 года
INVIS
10 / / 18.08.2006
Вот скрин файлового менеджера:
[ATTACH]1048[/ATTACH]
Почему при отображении иконок файлов, папок, сзади получается чёрный фон? :(
6.8K
29 августа 2006 года
Romikgy
84 / / 28.04.2005
а как ложишь эти иконки?
17K
30 августа 2006 года
INVIS
10 / / 18.08.2006
[QUOTE=Romikgy]а как ложишь эти иконки?[/QUOTE]
Загоняются иконки в TImageList, потом FilesLeft.SmallImages:=ImageLeft;
339
01 сентября 2006 года
verybadbug
619 / / 12.09.2005
потомушто винда хр использует 32bit а у тя используется 24bit (цвета)...
в винде добавлен канал прозрачности (RGBA) а у тя просто RGB... вот и всё...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог