|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
to Piva Совершенно напрасно Вы не хотите быть евангелистом моей библиотеки. Вы могли бы оставить о себе запись в http://fox.wikis.com/wc.dll?Wiki~VisualFoxProWiki в раздел Персоналии. Я там к примеру есть. Я рекомендовал бы вставить в автоописание следующую строку. Piva is a well-known evangelist of the St_denis library. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2009, 21:01 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
Игорь2004Piva is a well-known evangelist of the St_denis library. Луше я останусь ортодоксальным атеистом, который ничего не принимает на веру, а все перепроверяет и переписывает под себя Так было, так есть и так, надеюсь, будет в т.ч. и на 1С Хотя начиналось с EXEC2, REXX, NETURAL, PL1, DBASE .... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2009, 21:08 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
Игорь2004 Какие функции для работы с массивами были в Clipper, причем аналога нет в FoxPro ? Какие функции для работы со строками были в в Clipper, причем аналога нет в FoxPro ? Думаю, это не для данного форума. Если хотите, я могу кинуть вам на e-mail Norton Guide с описанием стандартных функций Clipper 5.01, его официальной библиотеки доп. функций Clipper Tools II и одной из многих доп. библиотек Nanfor.lib (она даже с исходниками на MS C 5.0, ASM и PRG). Выберете сами, там уж больно много. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2009, 21:38 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
Библиотека St_Denis продолжает свое победное шествие по миру, включая Россию. В версии 2.1 добавленa функция STRFILTEREX() STRFILTEREX() Удаляет все символы из первой строки или memo поля, за исключением строк, содержащихся во втором параметре массиве строк Обладает очень большими возможностями по сравнению с функцией STRFILTER(). STRFILTEREX (cSearched, cArExpressionSought | cExpressionSough [, nArStartOccurrence | nStartOccurrence] [, nArNumberOfOccurrences | nNumberOfOccurrences] [, nArFlags | nFlags], [ArReport]) Тип возвращаемого значения символьный Параметры cSearched исходная строка, в которой функция STRFILTEREX() будет оставлять найденные строки, удаляя остальные символы. cArExpressionSought массив строк или cExpressionSought строка, каждая из строк будет разыскиваться и, впоследствие, оставляться в cSearched. Если вторым параметром является не массив, а строка cExpressionSought, то данная функция НЕ будет работать так же, как функция STRFILTER(), она будет разыскивать, для того чтобы затем оставить, строку cExpressionSought целиком, а не каждый символ из строки cExpressionSought в отдельности как STRFILTER(). nArStartOccurrence числовой массив или nStartOccurrence число, данный параметр определяет, с какого вхождения соответствующей строки массива cArExpressionSought в cSearched будет начато сохранение найденной строки. Если количество строк в массиве nArStartOccurrence превышает количество строк в массиве cArExpressionSought , то лишние строки массива nArStartOccurrence игнорируются. Если количество строк в массиве nArStartOccurrence меньше количества строк в массиве cArExpressionSought, то лишние строки из массива cArExpressionSought будут оставляться, начиная с первого вхождения каждой строки. Например, если nStartOccurrence равно 4, сохранение начнется с четвертого вхождения каждой строки массива cArExpressionSought в строке cSearched, а первые три вхождения строк будут удалены. Другой пример, если первая строка массива nArStartOccurrence равна 4, сохранение начнется с четвертого вхождения первой строки массива cArExpressionSought в строке cSearched, а первые три вхождения первой строки массива cArExpressionSought будут удалены. По умолчанию сохранение начинается с первого вхождения каждой строки, если параметр nStartOccurrence не был указан, либо равен -1. Если третьим параметром является не массив, а число nStartOccurrence, то каждое вхождение каждой строки массива cArExpressionSought будет оставляться, начиная с вхождения номер nStartOccurrence. . nArNumberOfOccurrences числовой массив или nNumberOfOccurrences число, данный параметр определяет количество вхождений каждой строки массива cArExpressionSought в строке cSearched, которое будет оставлено. Если параметр не был указан, то все вхождения каждой строки из массива cArExpressionSought в строке cSearched, начиная с соответствующего вхождения, будут оставлены. Если количество строк в массиве nArNumberOfOccurrences превышает количество строк в массиве cArExpressionSought , то лишние строки массива nArNumberOfOccurrences игнорируются. Если количество строк в массиве nArNumberOfOccurrences меньше количества строк в массиве cArExpressionSought, то лишние строки из массива cArExpressionSought будут оставлены все, начиная с соответствующего вхождения каждой строки. Рассмотрим случай, когда четвертым параметром является не массив, а число nNumberOfOccurrences. В таком случае, каждое вхождение строки массива cArExpressionSought будет сохраняться nNumberOfOccurrences раз, начиная с соответствующего вхождения. nArFlags числовой массив или nFlags число Определяет поиск для последующего сохранения в соответствии со следующими значениями: ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘- nFlags, либо строка из массива nArFlags Описание 0 (по умолчанию) Поиск чувствителен к регистру 1 Поиск НЕ чувствителен к регистру ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘- Если количество строк в массиве nArFlags превышает количество строк в массиве cArExpressionSought , то лишние строки массива nArFlags игнорируются. Если количество строк в массиве nArFlags меньше количества строк в массиве cArExpressionSought, то лишние строки из массива cArExpressionSought будут разыскиваться в соответствии со значением 0 по умолчанию. Если пятым параметром является не массив, а число nFlags, то каждое вхождение строки массива cArExpressionSought будет разыскиваться в соответствии с флагом nFlags. ArReport – символьный тип – имя создаваемого функцией глобального двумерного массива, содержащего следующие значения первый столбец, числовой тип – позиция в строке cSearched, с которой начиналась оставленная функцией строка второй столбец, числовой тип – какая именно строка из массива cArExpressionSought была найдена Таким образом, массив ArReport содержит отчет о проделанной функцией STRFILTEREX() работе. Общее количество строк в массиве ArReport равно общему количеству найденных и замененных строк. Если ничего не было найдено, массив ArReport не будет создан. Примечания: Сохранение начинается с nStartOccurrence -ой по счету реализации и производится nNumberOfOccurrences раз. Если не задано nStartOccurrence, подразумевается сохранение с первой реализации. Отсутствие nNumberOfOccurrences подразумевает сохранение всех реализаций. Передайте -1 для необязательных параметров, если, скажем, нужно всего лишь передать параметр nFlags, не указывая явно предыдущие необязательные параметры. Примеры: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85.
Иногда функция StrfilterEx работает быстрее, чем функция Strfilter Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Вы можете загрузить обновленную русскую версию данной библиотеки по адресу ftp://ftp-developpez.com/nikiforov/udfs/st_denis_russian.zip либо можно загрузить 5 файлов меньшего размера в формате 7z ftp://ftp-developpez.com/nikiforov/udfs/st_denis_russian.7z.001 ftp://ftp-developpez.com/nikiforov/udfs/st_denis_russian.7z.002 ftp://ftp-developpez.com/nikiforov/udfs/st_denis_russian.7z.003 ftp://ftp-developpez.com/nikiforov/udfs/st_denis_russian.7z.004 ftp://ftp-developpez.com/nikiforov/udfs/st_denis_russian.7z.005 Поздравляю всех с Новым годом ! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 00:13 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
Игорь2004Библиотека St_Denis продолжает свое победное шествие по миру, включая Россию. Отличная библиотека, Игорь. Однако недавно не смог полноценно воспользоваться ее функций GETALLWORDS(). авторGETALLWORDS() Помещает в глобальный массив все слова из строки или memo поля, возвращает максимальную длину слова из строки, если в строке нет слов, возвращает 0. Во многом похожа на встроенную функцию Visual FoxPro ALINES(), но в отличие от нее возвращает массив другой структуры Все так и есть, но в отличии от ALINES() эта функция не снабжена флагами для версии VFP 9. Т.е. нет возможности разобрать строку по словам, включая или не включая разделители слов из строки lcDelimiters :( Было бы здорово добавить такую возможность в GETALLWORDS(). Тогда ALINES() уже совсем отдыхает :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 01:49 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
авторТ.е. нет возможности разобрать строку по словам, включая или не включая разделители слов из строки lcDelimiters Это можно сделать по другому Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
Написать функцию подобную Alines(), но с большими возможностями, разумеется, можно, но потребует немало времени (для меня примерно месяц). Мало кто может писать быстро и без ошибок. Я знаю только одного такого человека. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 21:54 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
Игорь2004, У меня вопрос, вот скачал st_denis_russian.7z.001 st_denis_russian.7z.002 st_denis_russian.7z.003 st_denis_russian.7z.004 st_denis_russian.7z.005 распаковал st_denis_russian.zip а он при проверке Winrar или 7zip без разницы битый. И где можно прочитать как самостоятельно скомпилировать вашу FLL. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 22:58 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
авторУ меня вопрос, вот скачал st_denis_russian.7z.001 st_denis_russian.7z.002 st_denis_russian.7z.003 st_denis_russian.7z.004 st_denis_russian.7z.005 распаковал st_denis_russian.zip а он при проверке Winrar или 7zip без разницы битый. Только что сам скачал, распаковал с помощью 7zip , получил st_denis_russian.zip, распаковал st_denis_russian.zip (архивировал также с помощью 7zip версия 4.65) - все абсолютно нормально. Код: plaintext
Там пошагово с картинками описывается как самому сделать любую FLL библиотеку. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 23:31 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
А можете добавить в библу функции RCUT()/LCUT() которые, как видно из названия, будут отрезать слева или справа указанное кол-во символов и возвращать получаемую строку (т.е. без отрезанного, т.е. это не LEFT/RIGHT - они отрезанное возвращают). Да, это можно сделать стандартными функциями LEFT/RIGHT/SUBSTR/LEN, я создал себе такие функции - так бывает в ряде случаев удобнее, чем каждый раз ваять через несколько функций. Вот пример: Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2009, 12:39 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
авторА можете добавить в библу функции RCUT()/LCUT() Могу, но не буду, это очень простые функции, Вы их сами можете добавить, поскольку исходный код есть. Вероятно, Вы подразумевали ? Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2009, 16:49 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
Я подумал раз Вы хотите популяризировать свою библу, так надо добавить в нее по-больше полезных функций, которых в вфп нет и которые будут в ней работать быстрее чем UDF-аналог. В том числе предложил RCUT, могу предложить еще несколько, например, можно добавить ряд функций для работы со временем. К примеру: EXTRACTTIME(п1,п2) функция выделения времени из DateTime-параметра, по п2 решается в каком виде - string ("08:15") или int в секундах от полуночи. TIMEADDS(п1,п2) принимающая DateTime или стринговое время и параметр в секундах, который надо добавить и аналог TIMEADDМ(п1,п2) для добавления минут, MIXDATETIME(п1,п2) которая будет выдавать на выходе DateTime, полученный из даты от первого параметра(DateTime,Date) и времени из второго (DateTime, string ("8:15"), int в секундах от полуночи)... Кстати по работе с полями в вфп ощущается нехватка некоторых функций, например функции FNUMBER(п1,п2) принимающая 2 параметра - имя искомого поля и опционально алиас таблицы в которой поле ищется. Результат - номер поля в текущей или в указанной таблице или 0 - если не найдено. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 00:52 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
авторВ том числе предложил RCUT, могу предложить еще несколько, например, можно добавить ряд функций для работы со временем. К примеру: EXTRACTTIME(п1,п2) функция выделения времени из DateTime-параметра, по п2 решается в каком виде - string ("08:15") или int в секундах от полуночи. TIMEADDS(п1,п2) принимающая DateTime или стринговое время и параметр в секундах, который надо добавить и аналог TIMEADDМ(п1,п2) для добавления минут, MIXDATETIME(п1,п2) которая будет выдавать на выходе DateTime, полученный из даты от первого параметра(DateTime,Date) и времени из второго (DateTime, string ("8:15"), int в секундах от полуночи)... Я подозреваю, что большинство из вышеописанного можно сделать с помощью встроенных функций FoxPro. авторКстати по работе с полями в вфп ощущается нехватка некоторых функций, например функции FNUMBER(п1,п2) принимающая 2 параметра - имя искомого поля и опционально алиас таблицы в которой поле ищется. Результат - номер поля в текущей или в указанной таблице или 0 - если не найдено. Смотрите FIELDNUM() Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.
Сейчас меня больше заботит преобразование SQL запросов Visual FoxPro , (поскольку я переношу приложение в котором вместо базы данных Visual FoxPro будет использована база данных SQL Server, имеются сотни SQL запросов Visual FoxPro ) в SQL запросы SQL Server, я многое могу сделать в том числе с помощью своей библиотеки, но скажем автоматически конвертировать iif( ... , ..., ...) в case when ... then ... else ... end я не могу, нужно писать специальный скрипт. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 19:34 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
Скачал, хотел попробовать. У меня VFP 9.0 а там нету.. тока 8 и ниже.. Или я не туда смотрю? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 06:07 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
MaestroEv, лежит просто в корневой папке. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 09:18 |
|
[Объявление] Библиотека пользовательских функции FoxPro на C
|
|||
---|---|---|---|
#18+
Игорь2004, ничего себе ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 14:02 |
|
|
start [/forum/search_topic.php?author=atorvik&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 345ms |
total: | 495ms |
0 / 0 |