|
|
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
а вот хамить не стоит, я же писал уже твой уникальный код не работает я написал код, который будет работать так в чем же уникальность то в километре ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 15:44:37 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Ну если ты баран, то у тебя не работает. У меня работает. А личное творчесво составления кода я и не обязан тут коментировать. Иди, ищи ошибки. Что-то згачит накосячил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 15:49:35 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
2 alex11100 А что это у тебя - cStr? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 16:39:42 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
2 alex11100 Все работает. Нехватает только такого условия перед репласе ss = atc(lcStr,cAllNewMemo) if ss=1 cAllNewMemo = substr(cAllNewMemo,3) endif 2 Кусакин тоже работает. Огромное Вам Всем Спасибо. Выручили. Данные примеры пригодяться всем. Так как мало кто знает как работать с мемо-полями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 17:35:24 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
да, буковку l забыл, когда перенабирал да проверяй только на количество возможных строк, я там не ставил, чтобы покороче было memo поле - обычная длинная строка это в твоем случае ты ее делишь сам на строки переводом каретки этого может и не быть у меня был случай, когда в таблицу я дополнительно в мемо засовывал еще 7 упакованных таблов на каждую запись (НДФЛ-2) (ну это свой прикол-так нужно было) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 18:21:16 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
да и из вопроса Задача такова: В мемо поле у меня 10 строчек. в пятой сторчке значение abcd. Как заменить только эту строчку на dcba при этом не переписывая по новой мемо-поле? я вначале понял, что ты не хочешь реплейсить а реплейс как раз поновой переписывает!!!! он удлинняет фтп-файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 18:24:25 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Ты правильно все понял, но без реплейса как я понял мне не достичь моего результат, никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 18:29:20 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
можно поломать голову что у тебя хранится в строке, которая меняет длину ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 19:01:40 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
можно знать сколько будет максимальная длина??? может всеже резервировать под это изменение место?? да если там число какое - его можно поджать своим интежером если строка - может хранить ссылку на другое место (к примеру хранить эти меняющие длину строки в другой табле????) ну а вообще так замарачиваться необходимо если действительно это нужно если нужно вкрай, то можно голову поломать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 19:06:19 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
ТО alex11100: нажми F1, нади описание устройства мемки и ума хватит, рули Думать он собрался ЕСи ты такой спец, дава, вылоди сюда FLL/DLL ( Win32,OLE) по манипулированию мемками (и не только ). Ну ? Когда выложишь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 23:28:14 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Что-то Вы тут странными вещами занимаетесь. Если Вы не Hacker, то для Вас должно хватить стандартных средств для работы с Memo полями. В простом случае надо блокировать запись, затем: - читать каждую строку в новый массив , применяя стандартную функцию FoxPro: MLINE() - дойдя до десятой строки - поменять ее - сохранить получившийся массив в Memo поле - разблокировать запись. Для особо пытливых - можно разработать и более быстрый алгоритм. Good luck! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2005, 11:44:58 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
2 Sergey Ch А можно алгоритм этого способа? А то я массивы очень плохо знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2005, 01:14:56 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
В help описаны целых 2 способа применения mline(), с memlines() (более медленный, но более понятный) и без. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2005, 01:24:48 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Что означает эта запись? - @ ln,2 SAY 'XXXD' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2005, 22:39:11 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
И как создовать массив и построчно заносить строки, а потом из него в мемо. В хелпе ниче такого не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2005, 22:44:35 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
НедоходящийЧто означает эта запись? - @ ln,2 SAY 'XXXD' SAY - это то же самое, что в старших версиях Label. Т.е. некий текст, который выводиться начиная с указанной позиции и не предназначен для редактирования. НедоходящийИ как создовать массив и построчно заносить строки, а потом из него в мемо. В хелпе ниче такого не нашел. Хм... С точки зрения FoxPro, содержимое мемо-поля - это обычная символьная строка. Переход на другую строку осуществляется по комбинации символов Chr(13)+Chr(10). Точнее, FoxPro поймет как переход на другую строку любой из этих символов в отдельности и люую их комбинацию. Просто в качестве значения по умолчанию для перехода на новую строку используется именно эта пара символов и именно в такой последовательности. Таким образом, перенести содержимое массива в мемо-поле можно перебрав все строки массива в цикле и сформировав большую символьную строку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. При по строчном чтении данных из мемо-поля через функции MLINE() следует иметь в виду, что в этом случае окончание строки определяется по более сложному алгортиму. Длина строки считается равной количеству символов, указанному в настройке SET MEMOWIDTH Сиволы пробелов "между строками" игнорируются при анализе на SET MEMOWIDTH Символы CHR(13) и CHR(10) в любой комбинации являются безусловным признаком перевода строки вне зависимости от количества символов оставшихся до конца строки по SET MEMOWIDTH Повторюсь, это используется только при чтении из мемо-поля. При записи - это уже роли не играет. По умолчанию, используется настройка SET MEMOWIDTH TO 50 Если для Вас следующая строка - это строка после символов CHR(13) и CHR(10), то следует убедиться, что задано нужное количество символов или отказаться от использования функций строкового анализа мемо-полей и самостоятельно искать очередное вхождение символов Chr(13) и Chr(10) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2005, 15:22:39 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
2 ВладимирМ Спасибо за информацию. сейчас вставляю и пробую в свой проект. У меня к Вам вопрос. Вы когда нить создовали программу с возможностью сохранения n-е кол-во параметров под разными именами? А потом по желанию выбирать любое имя и соответствующие этому имени параметры загружать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2005, 18:29:20 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
конечно же все в фоксе так делают сам фокс так написан посмотри Use имяформы.scx там в мемо полях - свойства объектов так и для себя пишем fff= hhh= kkk= как это искать??? да очень просто все в массив в 1 колонку все что слева от = во 2-ю - все что справа от = пишешь для себя несколько функций и все, случилось чудо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2005, 18:39:15 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
НедоходящийВы когда нить создовали программу с возможностью сохранения n-е кол-во параметров под разными именами? А потом по желанию выбирать любое имя и соответствующие этому имени параметры загружать? Уточни вопрос. Я стараюсь избегать переменного значения имени параметра. Т.е., конечно, это можно сделать, но, обычно не требуется. Если распишешь более подробно саму постановку задачи, то, скорее всего, в этом не будет необходимости. Например, я делал формулы расчета, которые вводят пользователи. Есть список переменных для этих формул (таблица) и есть собственно формула (2 мемо-поля). Пользователь может добавлять/удалять переменные. Но внутри кода никаких "разных имен" не наблюдается. Для чего нужны эти переменные наборы параметров в твоем случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2005, 19:18:48 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Я разрабатываю подпрограмму в которую заносится одна таблица и из этой таблицы пользователь выбирает требуемые столбцы и выстовляет к каждому столбцу свои фильтры, потом выводит в ексель. Все что юзер наделал требуется сохранить под именем которое он введет. таких сохранений должно быть столько, сколько юзер захочет (под разными именами). При повторном запуспе должны загружаться все параметры фильтров и выбранных столбцов из последнего сохранения + возможность загружать уже раннее созданиые сохранения. У меня все практически готово, запинка как раз в выборе способы занесения параметров фильтров в мемо, и САМОЕ ГЛАВНОЕ если что-то было изменено, то нужно и изменить только требуюмую строчку(и) при этом все остальное сохраняя. Мой способ который я еще додумываю мне ненравиться, уж больно он не надежен. Поэтому обращаюсь к Вам, может вы что-то посоветуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2005, 19:48:49 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Ну, без полной перезаписи мемо-поля не обойтись. Просто FoxPro не умеет по другому. Самое большее на что он способен, это добавить в конец (опция ADDITIVE в команде REPLACE). Так что с этим фактом придется смириться. Другое дело - это "разобрать" мемо-поле на "части", заменить нужную часть и снова собрать. Поскольку ты хочешь хранить в мемо-поле разрозненную (не связанную) друг с другом информацию, то посмотри как это обычно храниться в реквизитах формы. Например, типичное содержание мемо-поля, задающего реквизиты Grid Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Использовать такое в коде очень просто: Код: plaintext 1. 2. Однако в данном случае используется принцип: одна запись - один объект. У тебя же необходимо объединить в одной записи несколько разнотипнах объектов (столбцы и фильтры). Т.е. к схеме реквизит = значение Надо добавить 3 параметр - тип реквизита. Именно по такой схеме построены ini-файлы: структура ini-файла [секция1] ключ1 = значение ключ2 = значение [секция2] ключ1 = значение ключ2 = значение ini-файл - это обычный текстовый файл. Загнать его в мемо-поле (как, впрочем, и вытащить из него) - никаких проблем: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Как работать с ini-файлами описано здесь Как работать с ini-файлами Т.е. получается такая схема: Из мемо-поля создаешь временный ini-файл Выполняешь в этом файле все необходимые преобразования Записываешь содержимое этого ini-файла обратно в мемо Удаляешь уже не нужный ini-файл Для того, чтобы определить структуру ini-файла надо в качестве имени секции или имени ключа указать значение 0. Получишь строку со списком имен секций или списком имен ключей указанной секции разделенных символом CHR(0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 00:03:30 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
отлично! Спасибо за способ, чувствуется в нем надежность. Теперь внедряю в свой проект. У меня вопрос. На форме есть комбо. При загрузке формы он скрат. С помощью & я его делаю видимым, имеет сонтрол-соурс. Как в его текст-поле загонять значение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 11:10:59 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Да и еще вопрос. Как прописать условие фильтра к полю ddd (в котором только числовае значения) для вывода четных и нечетных чисел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 11:20:27 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
>Как прописать условие фильтра к полю ddd (в котором только числовае значения) для вывода четных и нечетных чисел? SET FILTER TO Mod(ddd, 2) = 0 && четные SET FILTER TO Mod(ddd, 2) <> 0 && нечетные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 11:33:35 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
НедоходящийНа форме есть комбо. При загрузке формы он скрат. С помощью & я его делаю видимым, имеет сонтрол-соурс. Как в его текст-поле загонять значение? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 11:36:26 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33341984&tid=1593179]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
193ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 491ms |

| 0 / 0 |
