несколько вопросов со стороны разработчика

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Сообщение betatester » 16.06.2007 15:10:24

Пришли, плиз, /proc/meminfo
betatester
постоялец
 
Сообщения: 276
Зарегистрирован: 27.04.2007 22:21:45

Проблемы решены.

Сообщение betatester » 17.06.2007 14:53:04

Attid писал(а):падает


ИМХО - падает, т.к. у вас нет файла(раздела) подкачки - Swap'а? Я просто не был уверен, что так бывает и потому не поставил проверку.

Сейчас заполняю 3ю страницу. Вопросы по имитации несуществующего компонента TDirectoryOutline

1)Есть компонент TTreeView. Как его заполнять - ясно. Через цикл FindFirst - FindNext и рекурсию. Все работает, но очень медленно. Есть ли возможность ускорить? Как вариант - рекурсию не делать, а директории раскрывать на методе OnClick?
Сортировать ли результат и если да, то как?

2)Есть компонент TFileListBox. Работает быстро, но внешний вид весьма убогий. Т.е. - только текст, имена директорий в скобочках квадратных и все. Стоит ли его использовать?
betatester
постоялец
 
Сообщения: 276
Зарегистрирован: 27.04.2007 22:21:45

Сообщение Attid » 17.06.2007 14:59:29

Пришли, плиз, /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


да во всем виноват свап =) я его потерял при переезде, но памяти хватает так что я даже не заметил, добавил свап пошел запускаться, позже отпишу ощущения =) пока только растроило невозможность поменять размер окошка чтоб нормально расмотреть запущеные процессы.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение betatester » 22.06.2007 21:12:10

Я тут наваял уж версию 0.1.7. Сейчас by.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 » 24.06.2007 17:12:16

ЗЫ: Уезжаю на неделю в "страну без Интернета".

BY.RU все еще не работает - так что версию 0.1.7 залью только в начале Июля.
betatester
постоялец
 
Сообщения: 276
Зарегистрирован: 27.04.2007 22:21:45

Сообщение betatester » 15.07.2007 20:05:07

Итак. Сайт обновлён, качайте.
:wink:
betatester
постоялец
 
Сообщения: 276
Зарегистрирован: 27.04.2007 22:21:45

Сообщение Attid » 15.07.2007 23:58:26

http://slil.ru/24635241
Файл будет удален через 1 месяц после последнего скачивания.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение betatester » 16.07.2007 09:03:53

Отвечаю.

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

Сообщение betatester » 20.07.2007 01:41:34

Вышла SysInfo 0.1.8.

- 3я закладка ("Диски") практически завершена.
- исправлен ряд высказанных выше замечаний
- работа алгоритма сканирования файловых систем ускорена в разы. 8)

Грузите. :wink:
betatester
постоялец
 
Сообщения: 276
Зарегистрирован: 27.04.2007 22:21:45

Сообщение alexs » 20.07.2007 03:59:06

1. при просмотре дерева папок руские имена в файлах заменены набог знает что
2. Интерфейс приятно былобы видеть на русском :-)
а так очень хорошо уже
ждём продолжения
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение betatester » 20.07.2007 13:57:10

Спасибо за добрые слова. :wink:

По существу:
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

Сообщение betatester » 22.07.2007 20:52:50

Вышла версия 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 для всех дистрибутивов, которые содержат такой файл;
* и множество мелких исправлений и доработок в коде и дизайне

Качайте! :wink:
betatester
постоялец
 
Сообщения: 276
Зарегистрирован: 27.04.2007 22:21:45

Сообщение alexs » 22.07.2007 21:43:31

из разряда "рюшечки"
1. Дерево папок слишком мелкое - может сделаеш иконки в TreeView покрупнее?
2. Да и сам набор иконок не очень красивый (идеально было бы брать изображения из текущей темы гнома - но я сам это ещё не знакю как сделать)
3. Зачем вопрос при выходе из програмы? или вобще его убери - или сделай опцию на его отключение
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение betatester » 22.07.2007 21:53:50

alexs писал(а):из разряда "рюшечки"
1. Дерево папок слишком мелкое - может сделаеш иконки в TreeView покрупнее?

Размер 16х16. Следующий шаг - 22х22 - могу сделать.
alexs писал(а):2. Да и сам набор иконок не очень красивый (идеально было бы брать изображения из текущей темы гнома - но я сам это ещё не знакю как сделать)

Могу попробовать - если позволит Lazarus. Другое дело - Gnome под рукой нету - работаю на XFCE
alexs писал(а):3. Зачем вопрос при выходе из програмы? или вобще его убери - или сделай опцию на его отключение

Могу убрать.

А по сути - как работает? Как сканирует и считает размеры? Правильно ли? Трахался с этим больше двух недель (в сумме). :wink:
betatester
постоялец
 
Сообщения: 276
Зарегистрирован: 27.04.2007 22:21:45

Сообщение alexs » 23.07.2007 11:03:16

betatester писал(а):А по сути - как работает? Как сканирует и считает размеры? Правильно ли?

размер посчитал вроде верно
но почемуто не верно определил тип файлововй системы у меня ext3 - пишет ext2

и ещё
включаю расчёт с подкаталогами
после эого щёлкаю на большую (в смысле размера) папку с кучей подкаталогов - он пишет "подождите", считает
я двигаю курсор мышки
после завершения расчёта курсор становится в стиле "stop"
и по моему TreeView думает что я пытаюсь на нём делать Drag&Drop
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 227

Рейтинг@Mail.ru
cron