несколько вопросов со стороны разработчика
Модератор: Модераторы
-
betatester
- постоялец
- Сообщения: 276
- Зарегистрирован: 27.04.2007 22:21:45
- Контактная информация:
-
betatester
- постоялец
- Сообщения: 276
- Зарегистрирован: 27.04.2007 22:21:45
- Контактная информация:
Проблемы решены.
Attid писал(а):падает
ИМХО - падает, т.к. у вас нет файла(раздела) подкачки - Swap'а? Я просто не был уверен, что так бывает и потому не поставил проверку.
Сейчас заполняю 3ю страницу. Вопросы по имитации несуществующего компонента TDirectoryOutline
1)Есть компонент TTreeView. Как его заполнять - ясно. Через цикл FindFirst - FindNext и рекурсию. Все работает, но очень медленно. Есть ли возможность ускорить? Как вариант - рекурсию не делать, а директории раскрывать на методе OnClick?
Сортировать ли результат и если да, то как?
2)Есть компонент TFileListBox. Работает быстро, но внешний вид весьма убогий. Т.е. - только текст, имена директорий в скобочках квадратных и все. Стоит ли его использовать?
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
Пришли, плиз, /proc/meminfo
Код: Выделить всё
$ cat /proc/meminfo
MemTotal: 1034572 kB
MemFree: 447544 kB
Buffers: 104580 kB
Cached: 237680 kB
SwapCached: 0 kB
Active: 264556 kB
Inactive: 219844 kB
HighTotal: 129728 kB
HighFree: 244 kB
LowTotal: 904844 kB
LowFree: 447300 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 436 kB
Writeback: 0 kB
Mapped: 191104 kB
Slab: 29548 kB
CommitLimit: 517284 kB
Committed_AS: 315048 kB
PageTables: 2168 kB
VmallocTotal: 114680 kB
VmallocUsed: 5612 kB
VmallocChunk: 108964 kBда во всем виноват свап =) я его потерял при переезде, но памяти хватает так что я даже не заметил, добавил свап пошел запускаться, позже отпишу ощущения =) пока только растроило невозможность поменять размер окошка чтоб нормально расмотреть запущеные процессы.
-
betatester
- постоялец
- Сообщения: 276
- Зарегистрирован: 27.04.2007 22:21:45
- Контактная информация:
Я тут наваял уж версию 0.1.7. Сейчас by.ru висит - нету к нему коннекта. Как только отвиснет - я туда запосчу свое шедевро.
Вот кратенький список изменений:
# завершено написание процедур по сканированию локальных файловых систем и заполнению результатами компонента TreeView на 3й закладке SysInfo;
# значительно переработан класс SIFSystem - сканирование файловой системы;
# теперь сканируются только локально примонтированные файловые системы. Виртуальные FS и файловые системы класса TmpFS игнорируются. Все ссылки при сканировании игнорируются;
# сканирование файловых систем переведено на механизм FPOpenDir/FPReadDir/FPCloseDir. Механизм FindFirst/FindNext/FindClose больше не используется;
# версия GCC больше не будет определяться, т.к., GCC может не быть установлен на какой-нибудь из машин. Вместо этого будет определяться версия LIBC;
# исправлена ошибка при работе на машине без файла подкачки (спасибо г-ну Attid с форума FreePascal.ru);
Вот кратенький список изменений:
# завершено написание процедур по сканированию локальных файловых систем и заполнению результатами компонента TreeView на 3й закладке SysInfo;
# значительно переработан класс SIFSystem - сканирование файловой системы;
# теперь сканируются только локально примонтированные файловые системы. Виртуальные FS и файловые системы класса TmpFS игнорируются. Все ссылки при сканировании игнорируются;
# сканирование файловых систем переведено на механизм FPOpenDir/FPReadDir/FPCloseDir. Механизм FindFirst/FindNext/FindClose больше не используется;
# версия GCC больше не будет определяться, т.к., GCC может не быть установлен на какой-нибудь из машин. Вместо этого будет определяться версия LIBC;
# исправлена ошибка при работе на машине без файла подкачки (спасибо г-ну Attid с форума FreePascal.ru);
-
betatester
- постоялец
- Сообщения: 276
- Зарегистрирован: 27.04.2007 22:21:45
- Контактная информация:
-
betatester
- постоялец
- Сообщения: 276
- Зарегистрирован: 27.04.2007 22:21:45
- Контактная информация:
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
http://slil.ru/24635241
Файл будет удален через 1 месяц после последнего скачивания.
Файл будет удален через 1 месяц после последнего скачивания.
-
betatester
- постоялец
- Сообщения: 276
- Зарегистрирован: 27.04.2007 22:21:45
- Контактная информация:
Отвечаю.
1)Читается файл /proc/mounts. Обычно там написано то же самое что и в /etc/mtab. Я искренне не понимаю, почему у тебя там /dev/disk/by-uuid. Это видимо особенность Ubuntu.
Варианты решения проблемы
- читать файл /etc/mtab (если у тебя там все нормально)
- проверять файлы в папке /dev/<что_то> на "ссылочность"(в папке /dev/disk/by-uuid лежат симлинки)
2)Растягивать главное окно программы пока что действительно нельзя - не закончена "верстка" всех страниц.
3)Неотображение русских букв в компоненте TreeView считаю его персональным багом. Стоит кодировка Unicode - один хрен. Буду искать информацию непосредственно по TreeView
4)Насчет непоказываемых папок.
Фильтруются:
- симлинки
- виртуальные файловые системы (/proc, /sys, /dev, /tmp если на tmpfs)
- точки монтирования других систем.
Готов принять критику и пересмотреть этот механизм.
С уважением.
1)Читается файл /proc/mounts. Обычно там написано то же самое что и в /etc/mtab. Я искренне не понимаю, почему у тебя там /dev/disk/by-uuid. Это видимо особенность Ubuntu.
Варианты решения проблемы
- читать файл /etc/mtab (если у тебя там все нормально)
- проверять файлы в папке /dev/<что_то> на "ссылочность"(в папке /dev/disk/by-uuid лежат симлинки)
2)Растягивать главное окно программы пока что действительно нельзя - не закончена "верстка" всех страниц.
3)Неотображение русских букв в компоненте TreeView считаю его персональным багом. Стоит кодировка Unicode - один хрен. Буду искать информацию непосредственно по TreeView
4)Насчет непоказываемых папок.
Фильтруются:
- симлинки
- виртуальные файловые системы (/proc, /sys, /dev, /tmp если на tmpfs)
- точки монтирования других систем.
Готов принять критику и пересмотреть этот механизм.
С уважением.
-
betatester
- постоялец
- Сообщения: 276
- Зарегистрирован: 27.04.2007 22:21:45
- Контактная информация:
Вышла SysInfo 0.1.8.
- 3я закладка ("Диски") практически завершена.
- исправлен ряд высказанных выше замечаний
- работа алгоритма сканирования файловых систем ускорена в разы.
Грузите.
- 3я закладка ("Диски") практически завершена.
- исправлен ряд высказанных выше замечаний
- работа алгоритма сканирования файловых систем ускорена в разы.
Грузите.
-
betatester
- постоялец
- Сообщения: 276
- Зарегистрирован: 27.04.2007 22:21:45
- Контактная информация:
Спасибо за добрые слова.
По существу:
1)Есть такая проблема. Не знаю, что делать... У меня локаль UTF-8, шрифт GTK1 настроен, русские буквы в программах GTK1 есть. А вот в компоненте TreeView - нету. Хотя стоит кодировка шрифта Unicode. Вопрос - Кто подскажет? Где копать?
2)Буду осваивать интерфейс gettext. Есть ли где-либо опыт его применения в Lazarus?
И еще - вопросы
- А нужно ли считать Allocation Slack? Это кому-то интересно? Если нет -я его из программы уберу.
- А почему у меня программа насчитывает на диске Ext2 3 Гига занятого пространства, а система показывает 4.8Гигов. Куда делось 1.8Гига? То же самое - на /boot - занято 8.7Мегов, а реально по файлам - 2Мега. Где остальное? На томах с другими файловыми системами (VFAT, NTFS) все сходится в ноль.
По существу:
1)Есть такая проблема. Не знаю, что делать... У меня локаль UTF-8, шрифт GTK1 настроен, русские буквы в программах GTK1 есть. А вот в компоненте TreeView - нету. Хотя стоит кодировка шрифта Unicode. Вопрос - Кто подскажет? Где копать?
2)Буду осваивать интерфейс gettext. Есть ли где-либо опыт его применения в Lazarus?
И еще - вопросы
- А нужно ли считать Allocation Slack? Это кому-то интересно? Если нет -я его из программы уберу.
- А почему у меня программа насчитывает на диске Ext2 3 Гига занятого пространства, а система показывает 4.8Гигов. Куда делось 1.8Гига? То же самое - на /boot - занято 8.7Мегов, а реально по файлам - 2Мега. Где остальное? На томах с другими файловыми системами (VFAT, NTFS) все сходится в ноль.
-
betatester
- постоялец
- Сообщения: 276
- Зарегистрирован: 27.04.2007 22:21:45
- Контактная информация:
Вышла версия SysInfo for Linux 0.2.0
Изменения:
* переработан и значительно ускорен алгоритм заполнения TreeView информацией о содержимом файловых систем;
* исправлен ряд ошибок в этом алгоритме. Теперь отображается и обрабатывается информация о всех элементах файловой системы, включая Symlink'и;
* запущен алгоритм подсчёта размера выбранного элемента файловой системы (с рекурсией директорий и без - по выбору пользователя). Так же подсчитывается allocation slack - разница между размером файла и пространством на диске, которое он занимает;
* информация о примонтированных файловых системах теперь читается из /etc/mtab, а не из /proc/mounts - решается проблема с Ubuntu и определением блочных устройств, как /dev/disk/by-uuid/<некий_номер> (спасибо г-ну Attid);
* 3я закладка SysInfo - "Disks" полностью завершена и функциональна;
* исправлена ошибка определения версии дистрибутива Ubuntu (спасибо г-ну Attid). Вставлена обработка файла /etc/lsb-release для всех дистрибутивов, которые содержат такой файл;
* и множество мелких исправлений и доработок в коде и дизайне
Качайте!
Изменения:
* переработан и значительно ускорен алгоритм заполнения TreeView информацией о содержимом файловых систем;
* исправлен ряд ошибок в этом алгоритме. Теперь отображается и обрабатывается информация о всех элементах файловой системы, включая Symlink'и;
* запущен алгоритм подсчёта размера выбранного элемента файловой системы (с рекурсией директорий и без - по выбору пользователя). Так же подсчитывается allocation slack - разница между размером файла и пространством на диске, которое он занимает;
* информация о примонтированных файловых системах теперь читается из /etc/mtab, а не из /proc/mounts - решается проблема с Ubuntu и определением блочных устройств, как /dev/disk/by-uuid/<некий_номер> (спасибо г-ну Attid);
* 3я закладка SysInfo - "Disks" полностью завершена и функциональна;
* исправлена ошибка определения версии дистрибутива Ubuntu (спасибо г-ну Attid). Вставлена обработка файла /etc/lsb-release для всех дистрибутивов, которые содержат такой файл;
* и множество мелких исправлений и доработок в коде и дизайне
Качайте!
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
из разряда "рюшечки"
1. Дерево папок слишком мелкое - может сделаеш иконки в TreeView покрупнее?
2. Да и сам набор иконок не очень красивый (идеально было бы брать изображения из текущей темы гнома - но я сам это ещё не знакю как сделать)
3. Зачем вопрос при выходе из програмы? или вобще его убери - или сделай опцию на его отключение
1. Дерево папок слишком мелкое - может сделаеш иконки в TreeView покрупнее?
2. Да и сам набор иконок не очень красивый (идеально было бы брать изображения из текущей темы гнома - но я сам это ещё не знакю как сделать)
3. Зачем вопрос при выходе из програмы? или вобще его убери - или сделай опцию на его отключение
-
betatester
- постоялец
- Сообщения: 276
- Зарегистрирован: 27.04.2007 22:21:45
- Контактная информация:
alexs писал(а):из разряда "рюшечки"
1. Дерево папок слишком мелкое - может сделаеш иконки в TreeView покрупнее?
Размер 16х16. Следующий шаг - 22х22 - могу сделать.
alexs писал(а):2. Да и сам набор иконок не очень красивый (идеально было бы брать изображения из текущей темы гнома - но я сам это ещё не знакю как сделать)
Могу попробовать - если позволит Lazarus. Другое дело - Gnome под рукой нету - работаю на XFCE
alexs писал(а):3. Зачем вопрос при выходе из програмы? или вобще его убери - или сделай опцию на его отключение
Могу убрать.
А по сути - как работает? Как сканирует и считает размеры? Правильно ли? Трахался с этим больше двух недель (в сумме).
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
betatester писал(а):А по сути - как работает? Как сканирует и считает размеры? Правильно ли?
размер посчитал вроде верно
но почемуто не верно определил тип файлововй системы у меня ext3 - пишет ext2
и ещё
включаю расчёт с подкаталогами
после эого щёлкаю на большую (в смысле размера) папку с кучей подкаталогов - он пишет "подождите", считает
я двигаю курсор мышки
после завершения расчёта курсор становится в стиле "stop"
и по моему TreeView думает что я пытаюсь на нём делать Drag&Drop
