Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.07.07;
Скачать: [xml.tar.bz2];

Вниз

Может, сгодится на что...   Найти похожие ветки 

 
panov   (2003-05-30 17:00) [0]

http://home.ural.ru/~panov/dll_src/new/proc.zip

От бездельника с извращенным вкусом небольшой пример разных мелких, написанных для себя функций и процедур(но не всех)
Если есть желание, посмотрите.
Может, новичкам и понравится...


 
panov   (2003-05-30 17:40) [1]


library proc;
//Удобные функции и процедуры v1.0. aka "извращения бездельника"
//Copyright (c) Alexander Panov 2003
//Функции и процедуры, написанные для удобства работы
//свободны для использования
//замечания и предложения приветствуются
//panov@hotbox.ru
//для работы необходимо использовать Sharemem.pas, BorlndMM.dll
//
//Также реализован алгоритм работы со связанным двунаправленным(не кольцевым)
//списком
{

Работа с указателями(Pointer)
---------------------------------
pInc Увеличение указателя
pDec Уменьшение указателя
GetValue Чтение адреса по ссылке
SetValue Установка адреса по ссылке
mv Копирование данных в памяти по ссылкам

Работа со связным списком
---------------------------------
CreateList Создание двунаправленного списка
GetRootMsg Указатель на первый элемент связного списка
GetMsg Чтение строки из списка
AddMsg Добавление элемента в список
DelMsg Удаление элемента из списка
DelAllMsg Очистка списка
GetCountMsg Количество элементов в списке
GetNextAddrMsg Следующий элемент списка
GetPrevAddrMsg Предыдущий элемент списка
GetLenMsg Длина тела элемента списка (строки)

Поиск файлов в каталоге
---------------------------------
FFirst Первый файл/каталог при поиске
FNext Следующий файл/каталог при поиске
FFClose Закрытие поиска файлов/каталогов
FFileListA Возврат списка файлов после поиска

Работа с именем файла и .INI-файлами
---------------------------------
AddBackSlash Добавить в конец строки "\", если нет
DelBackSlash Убрать в конце строки "\"
CreateDirPath Создание структуры каталогов
FilePath Возврат пути без имени файла из строки
FileName Возврат имени файла без пути из строки
IniName Возврат имени файла .ini в каталоге запуска программы
ReplFileExt Замена в строке расширения файла
GetParmStr Чтение строкового параметра из ini-файла
GetParmInt Чтение целого параметра из ini-файла
GetParmStruct Чтение структуры из ini-файла
WriteParmStr Запись строкового параметра в ini-файл
WriteParmInt Запись целого параметра в ini-файл
WriteParmStruct Запись структуры в ini-файл

Работа со строками
---------------------------------
PadL Добавление к строке символов справа до нужной длины
PadR Добавление к строке символов слева до нужной длины
PadC Добавление к строке символов до нужной длины с центрированием
B8toB7 Код. строки из 8-битной в 7-битную( символы с кодом 0-127)
B7toB8 Код. строки из 7-битной в 8-битную( символы с кодом 0-127)
c2c Перекодровка строки KOI8-WIN1251-DOS866
SearchSubStr Поиск n-го вхождения подстроки в строку
ErrMessage Вернуть сообщение об ошибке GetLastError в текст. виде

Потоки
---------------------------------
CreateLog Создание отдельного потока для ведения журнала
WriteLog Запись строки в журнал
CloseLog Закрытие журнала
CreateTimerLight Создание таймера в отдельном потоке
SuspendTimerLight Приостановка потока с таймером
ResumeTimerLight Продолжение работы потока с таймером
TerminateTimerLight Завершение потока с таймером
SetCallBackProcTimerLight Замена CallBack-процедуры во время работы
потока

Прочие
---------------------------------
ExecCmd Выполнение внешней программы
TickCount (QueryPerformanceCounter)
DeltaTickToSeconds Преобразование разницы между двумя "тиками" в секунды
BinToInt Перевод из двоичной системы счисления в десятичную
IntToBin Перевод из десятичной системы счисления в двоичную
isRunning Проверка существования экземпляра приложения
}


 
Нуу   (2003-05-31 03:24) [2]

На всякий случай скачал. Посмотрю позже. Но как "Урал" соотносится с "Питером"?


 
panov   (2003-06-10 13:54) [3]

>Нуу (31.05.03 03:24)

На всякий случай скачал. Посмотрю позже. Но как "Урал" соотносится с "Питером"?

Дык раньше был на Урале, теперь - в Питере...

Добавлены функции для работы с массивом битов:

CreateBitsArray Создание массива битов
DeleteBitsArray Удаление массива битов
SetLenBitsArray Устанновка длины массива битов (в байтах)
GetLenBitsArray Чтение длины массива битов (в байтах)
GetByteBitsArray Чтение массива битов как Byte
GetIntBitsArray Чтение массива битов как Integer
GetInt64BitsArray Чтение массива битов как Int64
SetByteBitsArray Установка массива битов как Byte-значение
SetIntBitsArray Установка массива битов как Integer-значение
SetInt64BitsArray Установка массива битов как Int64-значение
isBitBitsArray Проверка бита в массиве
GetBitBitsArray Чтение значения бита в массиве
SetBitBitsArray Установка бита в массиве
GetOrderBitsArray Чтение порядка следования битов в массиве
SetOrderBitsArray Установка порядка следования битов в массиве
GetFirstIndexBitsArray Чтение значения начального индехса в массиве(0/1)
SetFirstIndexBitsArray Установка значения начального индехса в массиве(0/1)
GetStrBitsArray Чтение массива битов как String
SetStrBitsArray Установка массива битов строкой(двоичныое значение)


 
Домарощинер   (2003-06-10 15:42) [4]

Спасибо, очень интересное предложение.


 
asafr   (2003-06-10 16:21) [5]

Скачал. Чуть позже посмотрю. Согласен с Домарощинер © (10.06.03 15:42)


 
panov   (2003-06-10 23:12) [6]

В планах:
1. Класс для упаковки данных в универсальную структуру для передачи данных.
2. Реализация классов сервера и клиента(Socket WinAPI).


 
Basic   (2003-06-11 00:03) [7]

неплохая коллекция в длл-ке, и кушает мало, а я свои такие же функции в проект включаю, возмем на заметку


 
p77   (2003-06-11 00:45) [8]

Хорошая вещь, спасибо, что выложили! Только что скачал. Интересно будет покопаться, не знаю, что там увижу. Но в любом случае еще раз спасибо Панову!
С уважением,


 
panov   (2003-06-18 13:54) [9]

Для работы с массивом битов добавлена функция
SetMemBitsArray - Установка массива бит маской из памяти


 
panov   (2003-06-20 00:34) [10]

Исправлена ошибка при работе с массивом бит,
добавлен новый класс для инкапсулирования данных в пакет для передачи по сети и функции для работы с ним.


 
panov   (2003-06-20 00:37) [11]

library proc;
//Удобные функции и процедуры v1.0. aka "извращения бездельника"
//Copyright (c) Alexander Panov 2003
//Функции и процедуры, написанные для удобства работы
//свободны для использования
//замечания и предложения приветствуются
//panov@hotbox.ru
//для работы необходимо использовать Sharemem.pas, BorlndMM.dll
//
//Также реализован алгоритм работы со связанным двунаправленным(не кольцевым)
//списком, работа с массивом бит, инкапсуляция данных в пакет для передачи
//по сетям
{

Работа с указателями(Pointer)
---------------------------------
pInc Увеличение указателя
pDec Уменьшение указателя
GetValue Чтение адреса по ссылке
SetValue Установка адреса по ссылке
MemComp Сравнение двух участков памяти
mv Копирование данных в памяти по ссылкам

Работа со связным списком
---------------------------------
CreateList Создание двунаправленного списка
GetRootMsg Указатель на первый элемент связного списка
GetMsg Чтение строки из списка
AddMsg Добавление элемента в список
DelMsg Удаление элемента из списка
DelAllMsg Очистка списка
GetCountMsg Количество элементов в списке
GetNextAddrMsg Следующий элемент списка
GetPrevAddrMsg Предыдущий элемент списка
GetLenMsg Длина тела элемента списка (строки)


 
panov   (2003-06-20 00:38) [12]

Поиск файлов в каталоге
---------------------------------
FFirst Первый файл/каталог при поиске
FNext Следующий файл/каталог при поиске
FFClose Закрытие поиска файлов/каталогов
FFileListA Возврат списка файлов после поиска

Работа с именем файла и .INI-файлами
---------------------------------
AddBackSlash Добавить в конец строки "\", если нет
DelBackSlash Убрать в конце строки "\"
CreateDirPath Создание структуры каталогов
FilePath Возврат пути без имени файла из строки
FileName Возврат имени файла без пути из строки
IniName Возврат имени файла .ini в каталоге запуска программы
ReplFileExt Замена в строке расширения файла
GetParmStr Чтение строкового параметра из ini-файла
GetParmInt Чтение целого параметра из ini-файла
GetParmStruct Чтение структуры из ini-файла
WriteParmStr Запись строкового параметра в ini-файл
WriteParmInt Запись целого параметра в ini-файл
WriteParmStruct Запись структуры в ini-файл

Работа со строками
---------------------------------
PadL Добавление к строке символов справа до нужной длины
PadR Добавление к строке символов слева до нужной длины
PadC Добавление к строке символов до нужной длины с центрированием
B8toB7 Код. строки из 8-битной в 7-битную( символы с кодом 0-127)
B7toB8 Код. строки из 7-битной в 8-битную( символы с кодом 0-127)
c2c Перекодровка строки KOI8-WIN1251-DOS866
SearchSubStr Поиск n-го вхождения подстроки в строку
ErrMessage Вернуть сообщение об ошибке GetLastError в текст. виде

Потоки
---------------------------------
CreateLog Создание отдельного потока для ведения журнала
WriteLog Запись строки в журнал
CloseLog Закрытие журнала
CreateTimerLight Создание таймера в отдельном потоке
SuspendTimerLight Приостановка потока с таймером
ResumeTimerLight Продолжение работы потока с таймером
TerminateTimerLight Завершение потока с таймером
SetCallBackProcTimerLight Замена CallBack-процедуры во время работы потока

Работа с битами
---------------------------------
CreateBitsArray Создание массива битов
DeleteBitsArray Удаление массива битов
SetLenBitsArray Устанновка длины массива битов (в байтах)
GetLenBitsArray Чтение длины массива битов (в байтах)
GetByteBitsArray Чтение массива битов как Byte
GetIntBitsArray Чтение массива битов как Integer
GetInt64BitsArray Чтение массива битов как Int64
SetByteBitsArray Установка массива битов как Byte-значение
SetIntBitsArray Установка массива битов как Integer-значение
SetInt64BitsArray Установка массива битов как Int64-значение
isBitBitsArray Проверка бита в массиве
GetBitBitsArray Чтение значения бита в массиве
SetBitBitsArray Установка бита в массиве
GetOrderBitsArray Чтение порядка следования битов в массиве
SetOrderBitsArray Установка порядка следования битов в массиве
GetFirstIndexBitsArray Чтение значения начального индехса в массиве(0/1)
SetFirstIndexBitsArray Установка значения начального индехса в массиве(0/1)
GetStrBitsArray Чтение массива битов как String
SetStrBitsArray Установка массива битов строкой(двоичныое значение)
SetMemBitsArray Установка массива бит маской из памяти



 
panov   (2003-06-20 00:39) [13]

Инкапсуляция данных в пакет для передачи по сети
---------------------------------
CoderCreate Создание объекта класса TCoder (инкапсуляция данных)
CoderDelete Уничтожение объекта класса
CoderGetDataMem Возвращает указатель на первый байт данных в пакете
CoderSetDataMem Инкапсуляция буфера в пакет
CoderGetId Возвращает тип данных, инкапсулированных в пакет
CoderSetId Устанавливает тип данных, инкапсулированных в пакет
CoderGetDataStr Возвращает строку из пакета
CoderSetStr Инкапсуляция строки в пакет
CoderGetDataInt Возвращает значение целого типа из пакета
CoderSetDataInt Инкапсуляция значения целого типа в пакет
CoderGetDataDbl Возвращает значение с плавающей точкой из пакета
CoderSetDataDbl Инкапсуляция значения с плавающей точкой в пакет
CoderLengthData Возвращает длину буфера данных, инкапсулированных в пакет
CoderLengthPacket Возвращает длину пакета
CoderReadPacket Возвращает полный пакет
CoderSetPacket Записывает новый пакет прямым копированием из памяти

Прочие
---------------------------------
ExecCmd Выполнение внешней программы
TickCount (QueryPerformanceCounter)
DeltaTickToSeconds Преобразование разницы между двумя "тиками" в секунды
BinToInt Перевод из двоичной системы счисления в десятичную
IntToBin Перевод из десятичной системы счисления в двоичную
isRunning Проверка существования экземпляра приложения


----------------------------------------------------
18.06.2003 В класс TMBits добавлена процедура SetBitMem
для установки массива бит маской из памяти.
----------------------------------------------------
19.06.2003 Исправлена ошибка в функциях по работе с массивом бит:
GetIntBitsArray Чтение массива битов как Integer
GetInt64BitsArray Чтение массива битов как Int64

Добавлен класс TCoder, процедуры и функции для работы
с инкапсуляцией данных различного типа в пакет для передачи
по сетям.
Описание формата пакета:

1-й байт: идентификатор типа данных
---------
cIntValue = $80; Целый
cStrValue = $40; Строка
cDblValue = $20; С плавающей точкой
cMemValue = $10; Поток байт
$01-$0F - Users type data Пользовательские типы

2-й байт:
---------
Если длина буфера с даннымименьше 128 байт,
то содержит в младших семи битах длину данных,
а старший битт установлен в 0.
Если длина буфера данных >= 128, старший бит
установлен в 1, младшие 7 бит содержат количество
байт, в которых находится длина буфера. Эти байты
располагаются непосредственно за 2-м байтом пакета.

---------
Далее располагаются байты, содержащие непосредственно
инкапсулированные данные.
}



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.07.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.013 c
4-20366
NewN
2003-05-05 09:02
2003.07.07
Multiwindow Application on WinAPI


1-20116
sach
2003-06-24 19:02
2003.07.07
непосредственный доступ к памяти


14-20226
AlexTregubov
2003-06-19 12:24
2003.07.07
HTML Help Workshop - создание справочной системы


14-20256
Шоломицкий
2003-06-19 17:45
2003.07.07
Про меню...


1-20117
Sergant
2003-06-24 19:26
2003.07.07
Работа с модальными формами.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский