Форум » Уголок Программиста » Delphi: Обсуждение библиотеки «ESO» » Ответить

Delphi: Обсуждение библиотеки «ESO»

Alex_soldier: Вот я и доделал библиотеку ESO! Расшифровка: Extra String Operations (Расширенные Операции обработки Строк) Назначение: Расширение возможностей стандартных подпрограмм для работы со строками в Delphi (copy, delete, insert, pos, replace). Ссылка на скачивание: http://www.alex-world.ru/go?down_eso Ссылка на описание: http://www.alex-world.ru/go?delphi_eso (от 09.09.2009) Ссылка на обсуждение: http://www.alex-world.ru/go?forum_eso (пока в эту же тему) В этой теме приглашаю обсудить ее использование, а также найденные ошибки и возможные дополнения! 09.09.2009 произошло финальное обновление библиотеки ESO !

Ответов - 7

Barloggg: красиво оформлено. исходник порадовал. мне не нравится использование модуля sysutils. ибо пользую библиотеку KOL. могу я выдрать нужные мне функции и положить выдранную процедуру в какой-нибудь свой файл со ссылкой на тебя? фишка в том что этот файл с куском твоего кода планирую выложить в открытый доступ со всем своим кодом ибофриварно. или могу вставить пару флагов и выкладывать исходники без твоих файлов, а ехе-шники с твоими. я так сделал с паскаль-компилятором для скриптов дабы внутри своей программы писать паскаль программы. - просто автор поставил условие "как есть" а я доводил напильником его код отключая этот sysutils.

Alex_soldier: Можно, главное чтобы удобно было. Если возможно, укажите в исходниках 3 ссылки из моего 1-го поста. К сожалению пока пишу только под WIN, поэтому sysutils особо не мешает.

Barloggg: Ы. а кол это есть под WIN. это альтернатива VCL. прям скажем основательная альтернатива. жаль только с самим VCL не совместимая.


Alex_soldier: На днях планирую обновить библиотеку - добавил еще несколько функций и исправил несколько некорректных описаний. Как у вас дела? Уже задействовали?

Barloggg: мне нужна только одна фишка - поиск и замена одной части символов на другую. задача стоит так: стандартная виндовая дата - ну например dddd dd MMMM (у нас это будет Вторник 26 мая) - надо получить что-то кастомное - ну скажем ВтоРНИК 26 Муя. то есть поиск и замена. самому делать лень, отложил в памяти такую задачу и вот наперся на решение. насчет добавить - нет еще - положил пока библиотеку в общий архив, пусть праной наберется :)

Barloggg: подключил. миленько ну, примерно так получилось :) кстати попутно решил подсчитать сколько у меня символов (одиночных) в строке и поднял процедуру GetStrCount. посмотрел на код... гхм. а попроще никак не ага? может стоит добавить проверку на поиск одиночного символа - тогда все значительно ускорится. и второе! нафига delete??? это же лишние перетасовки в памяти! зачем дрочить менеждер памяти лишний раз? PCHAR рулит! ну например так: [code] function GetStrCountEX(AStr, ASubStr: string): integer; var ipos, spos, lenOStr, lenStr: integer; var PStr, PSubStr:Pchar; begin result := 0; lenOStr := length(AStr); lenStr := length(ASubStr); PStr:=Pchar(AStr); PSubStr:=Pchar(ASubStr); ipos:=0; repeat if PStr[ipos]=PSubStr[0] then //если первая буква сходится - то проверяем остальные begin Spos:=0; repeat inc(Spos); until (PStr[ipos+Spos]=#0)or(PSubStr[Spos]=#0)or(PStr[ipos+Spos]<>PSubStr[Spos]); if Spos<>lenStr then begin inc(Ipos);//не сошлось - следующий символ end else begin inc(Ipos,Spos); //сошлось - перескакиваем слово inc(result); end; end else inc(ipos); until PStr[ipos+lenStr-1] = #0;//крутим до последнего символа пока искомое слово вообще влезает end; [/code] ЗЫ. ах, да, может сделать багрепортинг отключаемым с помощью IFDEF?

Alex_soldier: Да, ваша правда. Пока не заморачивался с оптимизаций, хочется просто получить законченный инструментарий. Но в ближайшее время воспользуюсьвашим советом!



полная версия страницы