Планы: Добавить в eCo Software runtime

=== DosEditName === A) |e-co|dev: кстати, забыл: насчет добавления DosExEditName в отдельную либу. Я, думаю, незачем. В eIcons есть eWildcardFit которая гораздо лучше приспособлена для сравнения имени файла с шаблоном. Вот туда то всех и отправляй. B) Glassman: а DosEditName вопще для сравнения по шаблонам не годится. Она - для редактирования имени - а это несколько другая логика. === DosEditName === a) Нуу... Избавиться от нее, если она используется в качестве фильтра. Использовать, к примеру, вот эту функцию: http://pm123.ptv.ru/pm123/src/utils/wildcards.c?rev=1.2&content-type=text/x-cvsweb-markup Но она GPL, надо бы сделать или найти что-то public domain. Либо надо сделать либу к PMEX.DLL и рекомендовать юзать DosExEditName. Но тогда у всех должен стоять мой фикс. b) может пусть загружает pmwp.dll -> функция такая-то. если облом, то юзай старую DosEditName ===================== APIRET APIENTRY DosExEditName( ULONG metalevel, PSZ pszSource, PSZ pszEdit, PBYTE pszTarget, ULONG cbTarget ) { PSZ pszDotPos = NULL, p; ULONG ulNameSize; // Don't edit file name here if a string used for editing // contains a drive letter. if( !pszSource[0] || pszSource[1] == ':' ) { return DosEditName( metalevel, pszSource, pszEdit, pszTarget, cbTarget ); } // Don't edit file name here if a string used for editing // have another form than "*.extension". if( pszEdit[0] != '*' || pszEdit[1] != '.' || strchr( pszEdit + 2, '.' )) { return DosEditName( metalevel, pszSource, pszEdit, pszTarget, cbTarget ); } // Search the last dot of the source string. for( p = pszSource; *p; p++ ) { // Don't edit file name here if transforming string // contains a path delimiters. if( *p == '\\' ) { return DosEditName( metalevel, pszSource, pszEdit, pszTarget, cbTarget ); } else if( *p == '.' ) { pszDotPos = p; } } // Don't edit file name here if transforming string don't contains a dot // or if a name part of transforming string is too long. if( !pszDotPos || ( ulNameSize = pszDotPos - pszSource ) >= cbTarget ) { return DosEditName( metalevel, pszSource, pszEdit, pszTarget, cbTarget ); } // Copy name part of transforming string to the target buffer. strlcpy( pszTarget, pszSource, ulNameSize + 1 ); // Finally call of the DosEditName. return DosEditName( metalevel, pszSource + ulNameSize, pszEdit, pszTarget + ulNameSize, cbTarget - ulNameSize ); } ------------- === eCo Software runtime === MsgBox: * msgbox используется в .. market, dvdtoys, backup, FOC PBar: * eSchemes, market,