полезные функции пакет fb_plus
FreeBasic :: Программирование :: Общее
Страница 1 из 1
полезные функции пакет fb_plus
Вот, выложил у себя на сайте исходники библиотек.
Я просто юзаю. эти функции Может кому тоже будет полездно.
http://eric50.narod.ru/plus/
Библиотека tree, представляет из себя класс. Он предназначен для структурирования данных. Можно иерархическим деревом, можно списком.
Это альтернатива массивам. В некоторых случаях позволяет гораздо больше.
Данные подключаються через указатель и поэтому могут быть разнообразны.
Неплохой набор методов. И я ещё его дополняю, по мере необходимости или если что-то придёт в голову.
библиотека mstr. Я решил отказаться от типа string и других встроенных и разработать свой. Вышло достаточно интересно.
Прилагаеться несколько функций для работы с типом MString. Тоже интересные и тоже будут пополняться.
MString по сути это оболочка для wstring. Т.е. указатель на начало wstring и длина строки. Своего рода дескриптор. Позволило мне не бояться символа 0, в конце строки.
Нет постоянного копирования строк в памяти, только по особым указаниям. Думаю, что это очень облегчает жизнь процу.
Вот некоторые функции
mstr_sub() - берёт подстроку (и mid и left и right в одном флаконе.
mstr_explode() - разбивает строку символом в список фрагментов.
mstr_implode() - собирает строку из списка фрагментов.
mstr_AddFrag() - добавляет к списку ещё один фрагмент.
mstr_CopyFrag() - копирует фрагмент в список.
mstr_IsIdentical() - проверяет, одинаковы ли строки.
mstr_identicalsubstr() - ищет максимальную общую подстроку.
mstr_compare() - сравнивает две строки и заносит различия в параллельные списки.
файл error.bi это подключаемый модуль, с несколькими макросами, помогающими отлаживать прогу.
Ну и простая обработка ошибок.
Ещё две функции cmdkey для работой с параметрами переданными программе в командной строке.
Я просто юзаю. эти функции Может кому тоже будет полездно.
http://eric50.narod.ru/plus/
Библиотека tree, представляет из себя класс. Он предназначен для структурирования данных. Можно иерархическим деревом, можно списком.
Это альтернатива массивам. В некоторых случаях позволяет гораздо больше.
Данные подключаються через указатель и поэтому могут быть разнообразны.
Неплохой набор методов. И я ещё его дополняю, по мере необходимости или если что-то придёт в голову.
библиотека mstr. Я решил отказаться от типа string и других встроенных и разработать свой. Вышло достаточно интересно.
Прилагаеться несколько функций для работы с типом MString. Тоже интересные и тоже будут пополняться.
MString по сути это оболочка для wstring. Т.е. указатель на начало wstring и длина строки. Своего рода дескриптор. Позволило мне не бояться символа 0, в конце строки.
Нет постоянного копирования строк в памяти, только по особым указаниям. Думаю, что это очень облегчает жизнь процу.
Вот некоторые функции
mstr_sub() - берёт подстроку (и mid и left и right в одном флаконе.
mstr_explode() - разбивает строку символом в список фрагментов.
mstr_implode() - собирает строку из списка фрагментов.
mstr_AddFrag() - добавляет к списку ещё один фрагмент.
mstr_CopyFrag() - копирует фрагмент в список.
mstr_IsIdentical() - проверяет, одинаковы ли строки.
mstr_identicalsubstr() - ищет максимальную общую подстроку.
mstr_compare() - сравнивает две строки и заносит различия в параллельные списки.
файл error.bi это подключаемый модуль, с несколькими макросами, помогающими отлаживать прогу.
Ну и простая обработка ошибок.
Ещё две функции cmdkey для работой с параметрами переданными программе в командной строке.
Re: полезные функции пакет fb_plus
Я сейчас добавляю всякие разные функции.
По сути извращаюсь.
Хотя.. В будущем надеюсь получить из этого толк.
Но всё тестировать достаточно сложно. А я этого не люблю. Так что оставлю на потом. Или на тот случай если обнаружаться отклонения.
И так. Что же я такого добавил интересного?
Добавил например индексирование в список.
т.е. можно взять список элементов, проиндексировать его. А потом получить доступ указав только номер нужного. При этом используеться буфер, а не пересчитываеться каждый раз от начала списка.
Добавил например абстрактныеметоды получения ключа и значения.
В дальнейшем расчитываю добавить опятьже абстрактный поиск и сортировку.
Думаю это будет забавно.
Просто меня уже задрало каждый раз писать поиск для конкретных типов элементов.
А так всё будет в одной библиотеке.
Кстати на счёт одной библиотеки. Вот думаю, а не собрать ли мне mstr и tree в одну динамическую библиотеку? Они у меня выходят уже не маленькие и весьма востребованные. Или пока оставить в статической?
По сути извращаюсь.
Хотя.. В будущем надеюсь получить из этого толк.
Но всё тестировать достаточно сложно. А я этого не люблю. Так что оставлю на потом. Или на тот случай если обнаружаться отклонения.
И так. Что же я такого добавил интересного?
Добавил например индексирование в список.
т.е. можно взять список элементов, проиндексировать его. А потом получить доступ указав только номер нужного. При этом используеться буфер, а не пересчитываеться каждый раз от начала списка.
Добавил например абстрактныеметоды получения ключа и значения.
В дальнейшем расчитываю добавить опятьже абстрактный поиск и сортировку.
Думаю это будет забавно.
Просто меня уже задрало каждый раз писать поиск для конкретных типов элементов.
А так всё будет в одной библиотеке.
Кстати на счёт одной библиотеки. Вот думаю, а не собрать ли мне mstr и tree в одну динамическую библиотеку? Они у меня выходят уже не маленькие и весьма востребованные. Или пока оставить в статической?
Re: полезные функции пакет fb_plus
И ещё обновление. В старых пофиксины некоторые баги. Добавлено несколько новых функций.
А самое интересное, это ещё одна либа.
"регулярные выражения" или просто "re".
Давно у меня руки чесались добраться до этой задачки. Я не ошибся, это оказалось жутко интересным проектом.
Реализовал только базовый синтаксис. Ну да остальное добавиться, главное что скилет есть. Ещё в сентябре, подобное мне было не посилам.
Росту товарищи, росту!
Не знаю, может быть стоит зделать утилитку для обработки файлов, регулярными выражениями? Ну да фиг с ним. Мне сейчас функционал нужен, а не утилитки.
И в продолжение моих размышлений, на счёт одной динамической библиотеки для всего хорошего.
Опять поднялась у меня мысля, что нужно делать альтернативный универсальный тип данных, типа как в скриптах.
А ещё опять задумался над объектами во фрибэйсике. Не знаю, когда там будет реализовано в компиляторах, но я хочу как можно скорее!
А самое интересное, это ещё одна либа.
"регулярные выражения" или просто "re".
Давно у меня руки чесались добраться до этой задачки. Я не ошибся, это оказалось жутко интересным проектом.
Реализовал только базовый синтаксис. Ну да остальное добавиться, главное что скилет есть. Ещё в сентябре, подобное мне было не посилам.
Росту товарищи, росту!
Не знаю, может быть стоит зделать утилитку для обработки файлов, регулярными выражениями? Ну да фиг с ним. Мне сейчас функционал нужен, а не утилитки.
И в продолжение моих размышлений, на счёт одной динамической библиотеки для всего хорошего.
Опять поднялась у меня мысля, что нужно делать альтернативный универсальный тип данных, типа как в скриптах.
А ещё опять задумался над объектами во фрибэйсике. Не знаю, когда там будет реализовано в компиляторах, но я хочу как можно скорее!
FreeBasic :: Программирование :: Общее
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения