Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.05.2011, 21:54
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию DirectoryListBox1

Здраствуйте у меня возникла проблема с DirectoryListBox1
дело в том что он возвращает путь к папки в виде:
C:\...\SawA\Рабочий стол\
т.е. сокращенно получается.
Помогите пожалуйста, что надо сделать чтобы путь вывелся полностью в виде:
C:\Documents and Settings\SawA\Рабочий стол\

Заранее премного благодарен
Ответить с цитированием
  #2  
Старый 10.05.2011, 22:03
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

Вопрос оставляю открытым но поздно нашол темку на нашем форуме
http://www.delphisources.ru/forum/sh...33&postcount=3
где впринципи неплохо заменяет весь гемор с DirectoryListBox1
и выдает какрас полный путь
Ответить с цитированием
  #3  
Старый 11.05.2011, 09:36
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

неправда,
Код:
DirectoryListBox1.Directory;
возвращает полный нормальный путь!
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #4  
Старый 11.05.2011, 16:35
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
неправда,
ну почему не правда у мну к примеру возвращает не полный путь могу даже кусок проги скинуть если не верите. Яж не говорю что ето не возможно яж спросил как
Ответить с цитированием
  #5  
Старый 11.05.2011, 16:48
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

в студию! только чтобы он компилился!!
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #6  
Старый 11.05.2011, 23:38
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

Пожалуйста вот проект если исправите и перезальете с объяснением что куда надо тыкать буду очень признателен
Ответить с цитированием
  #7  
Старый 11.05.2011, 23:39
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

))) поспешил тыкнуть кнопочку залить сам забыл вот тут точно есть
Вложения
Тип файла: rar Проектик.rar (178.2 Кбайт, 6 просмотров)
Ответить с цитированием
  #8  
Старый 12.05.2011, 08:55
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

ну так это не DirectoryListBox1 сокращеный путь возвращает, а в Label1.Caption (о котором в 1 посте небыло ни слова, а тут вдруг появился) его так пишет. на самом деле получать путь нужно как я уже писал выше: DirectoryListBox1.Directory.
а в Label1 он так пишется потому, что:
Код:
procedure TDirectoryListBox.SetDirLabelCaption;
var
  DirWidth: Integer;
begin
  if FDirLabel <> nil then
  begin
    DirWidth := Width;
    if not FDirLabel.AutoSize then DirWidth := FDirLabel.Width;
    FDirLabel.Caption := MinimizeName(Directory, FDirLabel.Canvas, DirWidth);
  end;
end;
т.е. лекарство напрашивается само собой:
-установить у Label1 AutoSize в False
-задать Width у Label1 достаточной, чтобы влезло самое длинной название пути
-смириться с этим, если ширины экрана не хватит
-если не хочется мириться, то есть еще одно лекарство:
--в обработчике OnChange у DirectoryListBox1 пишем:
Код:
Label3.Caption:=DirectoryListBox1.Directory;
у Label3 AutoSize = False, а WordWrap = True. ну и пошире и повыше его, чтобы все могло переноситься автоматом. но может и не переноситься автоматически, тогда есть следующее лекарство: разбивать как-то и выводить такой путь "руками".
__________________
Пишу программы за еду.
__________________

Последний раз редактировалось NumLock, 12.05.2011 в 08:57.
Ответить с цитированием
  #9  
Старый 12.05.2011, 23:53
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
--в обработчике OnChange у DirectoryListBox1 пишем:
Код:
Label3.Caption:=DirectoryListBox1.Directory;
Спасибо большое это помогло. Скажите пожалуйста чайнику, где вы посмотрели этот код я его не видел где-то может скрыто вы сказали потому что вот:
Цитата:
Сообщение от NumLock
Код:
procedure TDirectoryListBox.SetDirLabelCaption;
var
  DirWidth: Integer;
begin
  if FDirLabel <> nil then
  begin
    DirWidth := Width;
    if not FDirLabel.AutoSize then DirWidth := FDirLabel.Width;
    FDirLabel.Caption := MinimizeName(Directory, FDirLabel.Canvas, DirWidth);
  end;
end;
я эту процедурку вроде лазаю но не вижу как не странно в своем же проекте вот думаю может она где автоматом скрыто прописывает
Спасибо еще рас большое с меня рек если рек примется когда на весы тыкну
Ответить с цитированием
  #10  
Старый 13.05.2011, 08:41
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

это в модуле FileCtrl. не ищи это у себя я просто показал как DirectoryListBox присваивает Caption (путь) Label"у и почему путь получается сокращеный.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #11  
Старый 13.05.2011, 17:31
SawA SawA вне форума
Новичок
 
Регистрация: 09.03.2011
Сообщения: 57
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
это в модуле FileCtrl. не ищи это у себя я просто показал как DirectoryListBox присваивает Caption (путь) Label"у и почему путь получается сокращеный.
Пасиб терь я супер умный перец

P.S. в общем тему моно закрыть
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:41.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter