|
|
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Задача такова: В мемо поле у меня 10 строчек. в пятой сторчке значение abcd. Как заменить только эту строчку на dcba при этом не переписывая по новой мемо-поле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 20:45:27 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Никак. Разве что на низком уровне - но это очень нетривиально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 21:03:24 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
я ж тебе уже писал иль не доверяшь??? ну напиши тады флл иль dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 10:32:33 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
да у тебя-ж длина не меняется - это хорошо ищи блок и строку и переписывай делов то и даже анализ конца блока не нуно делать (ну разве, что на всяк прослучай) или к примеру если у тебя длина блока постоянная, ну и сделать мему файлу постоянную эту длину, чтобы данные не делились на несколько блоков к прим блок 11111 22222 33333 будет длиной 21 байт (15 инфы и 6 байт переводы строк) ну и сделать длину блока при создании табла 21 байт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 10:36:50 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Вот так :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 10:40:57 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Кусакин , ну ты четь не то ну при реплейсе он оставит в мемо мусор и создаст новый блок, а человек-то другое спросил он же - умный, ну низя ж так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 10:47:40 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
авторЗадача такова: В мемо поле у меня 10 строчек. в пятой сторчке значение abcd. Как заменить только эту строчку на dcba при этом не переписывая по новой мемо-поле? Я привел пример как тебе перезаписать твою строчку в мемо поле. ТО alex11100: Вам бы не мешало сперва подумать про мусор :)) Все нормально там перезапишеться, так как надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 10:52:52 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Кусакин , а что мне думать разуй глаза ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 10:58:18 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
проверь размер фпт открой дбф реплейсни флаш закрой дбф и проверь размер фпт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 10:59:27 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Куда смотреть ? Ну давай, объясни мне что же у меня тут не так ? 1000 раз этим пользовался при замене в мемках и никаких ошибок и пренетзий. Я слушаю ? Объясни мне А лучше свой вариант предложи, правильный, я посмотрю. :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 11:02:09 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
при чем здесь ошибки тебе объясняешь - при реплейсе блок летит вниз ты че зовсем в танке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 11:04:17 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Ну ты и дятел. Ничего никуда не летит. Баран. Ты видимо начинающий мальчик - аля программистишка с амбициями ) Иди учись, понабирают по объявлениям мля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 11:06:36 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
alex11100да у тебя-ж длина не меняется - это хорошо ищи блок и строку и переписывай делов то и даже анализ конца блока не нуно делать (ну разве, что на всяк прослучай) или к примеру если у тебя длина блока постоянная, ну и сделать мему файлу постоянную эту длину, чтобы данные не делились на несколько блоков к прим блок 11111 22222 33333 будет длиной 21 байт (15 инфы и 6 байт переводы строк) ну и сделать длину блока при создании табла 21 байтА если как раз пятая строка поделилась между двумя блоками? ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 11:35:26 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
(допустим, что четвертая строчка может быть переменной длины) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 11:37:33 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
to Кусакин У Вас есть код - Getwordnum? А то фокс ругает меня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:01:59 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
изв. тут дятел Кусакин настроение подпортил люблю НЕПОКОБЕЛИМЫХ людей - с ними и спорить не нужно сразу все понятно я думаю стоит как раз подумать над длиной блока т.е. наверное и сделать его максимальной возможной длины если же нет - тогда все будет муторно в конец текущего ссылку на новый и вконец новый все это метить символами-ссылками (там полный напряг) зачем все это??? ты не хочешь чтобы мемо-файл раздувался ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:05:37 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Getwordnum есть в старших версиях фокса раньше это было в библиотеках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:08:51 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Можно и так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. То Urri автор(допустим, что четвертая строчка может быть переменной длины) Ну и ради Бога, он же знает что ищет, к тому же есть всегда узнать по MLINE и _MLINE что у него где лежит. Стоит только ими поиграть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:19:12 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
То alex11100 , что касается Вас, сэр, то на такой разговор Вы сами нарвались. Прошу перечитать свои сообщения. На счет непоколебимости, я могу ответить, то же самое : - не люблю фраеров А вы себя именно за него своими нелепыми заявлениями в пренетзии на "звездность" ( я не против нее, но поделикатней нужно быть) и записали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:24:43 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
to Кусакин не могу найти ParsStr для фокса6. И еще, у меня в хелпе нет _MLINE, что это за команда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:26:44 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
так, короче реплейс в мемо файл дописывает блок человек спросил как ему это обойти Вы предлагаете реплейс я не понимаю, что Вы советуете реплейс я еще раз объясняю меняет размер мемо файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:31:26 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Кусакин, да и рейтинг "просто треп" у Вас более 50 процентов да звезданутость на уровне ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:33:09 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Недоходящий Ты что ? Это же самописная функция. Я тебе ее в предыдущем сабже описал :) Посмотри внимательно. А если она недоступна то положи ее в файлик с раширением PRG. А потом засвети "в области видимости" по Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:33:38 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Отдых отдыхом - работа - работой. Вы мне польстили, что посмотрели в пой профиль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:34:56 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
to Кусакин sory. невнемательно просмотрел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:37:22 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
перевод строки в мемо chr(13)+chr(10) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:45:48 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Блин, вот раздули тему - а ради чего? Короче говоря, не нужно бояться того, что при замене только одной строки фокс перепишет все блоки memo-поля, выделенные для текущей записи. Это совсем не страшно. И не долго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:50:08 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
на этой неделе в фоксклабе от человека был вопрос как заменить мемо, не меняя положение блока (для чего это необходимо - это проблемы человека) если это все не про то то реплейсте, какие проблемы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:53:34 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
2 Urri все равно придеться искать и заменять только одну строку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 12:55:03 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
что означает этот вопрос: Задача такова: В мемо поле у меня 10 строчек. в пятой сторчке значение abcd. Как заменить только эту строчку на dcba при этом не переписывая по новой мемо-поле? реплейс устраивает??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 13:05:11 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
НЕ очень. получается после первого запуска на второй в переменную загоняется мемо-значения как единая строка, т.е. мемлайн подсчитывает как 1 строку в мемо-поле. И заменяется значение только на второй раз. Блин, что делать? есть еще какой нить способ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 13:31:39 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
перевод строки в мемо chr(13)+chr(10) этож тебе знаток фокса там процу советовал твою проблему решить можно 2-мя строками сейчас напишу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 14:00:50 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Кусакин - великий знаток фокса, где тыть ау... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 14:05:45 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Если кто нить обратил внимание на 0x0D, тот глупых вопросов больше задавать не будет и строки, якобы переползающие в другугой блок тож не будет так свирепо туда заталкивать. А за личную бестолковость я не отвечаю. Как ты делаешь то, что я тебе посоветовал, с реальным примером? Mемки сюда, плиз. Вот тогда и будет разговор. А как можно, а как нельзя: можно машку - за ляшку, мля. Извините, телепатией не обладаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 14:13:12 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Вот мемка . 4444 sdvfdsvfb23214 123asd asdvcds dsvsdv ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 14:17:59 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
И что же не работает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 14:18:45 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Проверил 5 раз, все работает. Код сюда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 14:21:47 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
if not used ('temp') use temp endif Select temp m.fmemo = field_defa && ddd - это мемо поле, для теста lnCountLines = Memlines(m.fmemo) lcStr1 = "" For i = 1 To lnCountLines-1 lcStr1 = lcStr1+ParsStr(@m.fmemo,Chr(0x0D)) Endfor lcStr2 = ParsStr(@m.fmemo,Chr(0x0D)) lcStr2 = Strtran(lcStr2,"123asd","dsa321") m.fmemo = lcStr1+lcStr2 ? m.fmemo Replace field_defa With m.fmemo Return ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 14:26:08 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
я сразу и обратил внимание на 0x0D и 2 раза писал перевод строки в мемо - 2 символа и на код тупой я 3мя строками сделаю AT и STUF пиши-пиши - сейчас козлить буду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 14:33:17 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Вот так попробуй. Код: 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. То AlexKasel , ну давай, попробуй 3 строчками. А я могу 2 ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 14:42:21 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
да, культуре поучиться необходимо а программить - завязать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 14:47:34 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Вот так замени: Это специально для Re: MEMO в DBF alex11100 казла, которому в лом посмотреть в НЕX редакоре как разделються строки в мемке IF !OpenTable("temp.dbf","temp") RETURN .f. ENDIF LOCAL oData Select temp SCATTER NAME oData MEMO m.fmemo = oData.field_defa lnCountLines = Memlines(m.fmemo) lcStr1 = "" For i = 1 To lnCountLines-1 lcStr1 = lcStr1+ParsStr(@m.fmemo, Chr(0x0A)+CHR(0x0D )) Endfor lcStr2 = ParsStr(@m.fmemo,Chr(0x0A)+CHR(0x0D)) lcStr2 = Strtran(lcStr2,"123asd","dsa321") m.fmemo = lcStr1+lcStr2 ? m.fmemo Replace field_defa With m.fmemo RELEASE oData Return ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 14:49:45 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
alex11100 - это ты про себя НУ ясное дело. Иди в манагеры. Там таких 3.14здоболов любят. Сделаешь себе карьеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 14:52:15 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Все равно при повторном обращении к мемо , мемлайн видит только одну строчку, хотя через бровз видно что их 5. Че за хрень? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 15:17:00 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
А у меня выводит 5, после 20 обращения. В чем проблема ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 15:24:01 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
lcStr=chr(13)+chr(10) lnStr=2 && номер строки lcNewString = "новая строка" сAllMemo=таблица.поле cAllNewMemo=iif(!empty(lnStr-1),subst(сAllMemo,1,at(cStr,сAllMemo,lnStr-1)-1),'')+lcStr+ lcNewString +subst(сAllMemo,at(lcStr,сAllMemo,lnStr)) replace таблица.поле with cAllNewMemo учись - сынок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 15:26:47 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Member Кусакин иди в дворники и не забивай людям голову из-за тебя потерял кучу времени ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 15:29:51 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
alex11100 ха-ха, ты такую куйню написал Время он потерял. Крутыш ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 15:39:17 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Мой алгоритм уникальный, а твой так, детский лепет начинающего программиста. Ламер :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 15:40:40 |
|
||
|
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 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
2 Burn .and. ВладимирМ Спасибо Вам, Вы меня так спасаете. Чтоб не засорять топиками этот форум я буду писать вопросы пока здесь. Такой вопрос. Вот группа переменных объявленых через public x1,x2,x3. Одной строкой можно им всем присвоить ""? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 11:46:10 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
НедоходящийВот группа переменных объявленых через public x1,x2,x3. Одной строкой можно им всем присвоить ""? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 11:52:37 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
2 ВладимирМ Спасибо. Теперь вид кода не будет таким страшным и объемным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 11:55:21 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
2 ВладимирМ Еще вопрос. Делаю как Вы предложили, использовать rep_f_part = "thisform.container1.label1.visible=.t." &rep_f_part Вот. лайбел появился, потом его сделали невидимым. Как прописать строку к которой прибавляется значение лайбела, т.е. чтоб считать ето значение с него? rep_f_part = "thisform.container1.label1.visible="+ ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 12:02:10 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Если версия VFP6 или выше, то Код: plaintext 1. Для младших версий придется "в лоб" Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 12:08:16 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
А как можно занести в раздел подготовленную троку? В ней уже есть CHR(13) + CHR(10) и thisform.container1.label3.visible=.t.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 13:09:23 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Верхний вопрос снимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 16:42:47 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Как быстро удалить файл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 19:09:36 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Как можно одной командай в листбокс занести несколько строк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 19:53:57 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
И еще вопрос. После декларирования какой ниьт функции, выходя из формы вызывающую эту функцию, эта функция закрывается или нет? Что вообще с ней происходит по закрытию формы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 20:05:45 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
НедоходящийКак быстро удалить файл? Код: plaintext Код: plaintext НедоходящийКак можно одной командай в листбокс занести несколько строк? Если в ListBox уже что-то есть, то - никак. Только по одной строке за раз. Или пересоздание вообще всех строк ListBox. Если же в ListBox еще ничего нет, то это зависит от того, что является источником данных для ListBox. Например, если источник - это массив, сформированный как выборка из таблицы, то можно повторить эту выборку: Код: plaintext 1. 2. НедоходящийПосле декларирования какой ниьт функции, выходя из формы вызывающую эту функцию, эта функция закрывается или нет? Что вообще с ней происходит по закрытию формы? Если речь идет об API-функциях, обявленных командой DECLARE, то их объявление будет действовать вплоть до закрытия всего приложения. Т.е. эти функции становяться "глобальными". Повторное декларирование той же самой функции не вызовет ошибку и двух деклараций не появится. Утечки памяти не будет. Для VFP6 отменить декларацию можно только для вообще всех объявленных функций, командой Код: plaintext Но, еще раз повторюсь, это отмена декларации не какой-то конкретной функции, а вообще всех функций задекларированных до этой команды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2005, 20:16:09 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
2 ВладимирМ У меня возникла затрудненность с ini- файлами. Ваш метод включил в свой проект. Но загрузить все элементы по заголовку не удается, так как не все ключи переписываются в буфер. Думал для чтения с файла использовать стандартные методы фокса (через FOPEN и и.д.) но это очень хлопотно. А можно ли как нить переходить и считывать построчно значения в ini-файле не используя название ключа? Если нет, то посоветуйти какой-то способ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 00:03:32 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
и еще проблема в том, что невозможно сохранить список значений личтбокса. Только одно, остальные затираются новым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 11:02:27 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
НедоходящийНо загрузить все элементы по заголовку не удается, так как не все ключи переписываются в буфер. А как же Вы предполагали раньше идентифицировать такие записи (строки) в мемо-поле? По порядковому номеру строки? Это крайне не надежно. Сдвинулась одна строка где-то в самом начале и все. Полное разрушение структуры. НедоходящийА можно ли как нить переходить и считывать построчно значения в ini-файле не используя название ключа? Если нет, то посоветуйти какой-то способ. Ну, так сделайте "фиктивные" секции или ключи. Сама логика чтения из ini-файла предполагает отдельное чтение значения . А "ключ" - это всего-лишь идентификатор строки. Абсолютно без разницы, будет ли имя ключа - некое "осмысленное" значение (например, "Column1.ControlSource") или что-то "бессмысленное" (например, "Строка 1") Недоходящийи еще проблема в том, что невозможно сохранить список значений личтбокса. Только одно, остальные затираются новым. Не понял вопроса. Слить куда? В ini-файл? Ну, так надо же разные идентификаторы задавать: ini-файл [Содержимое ListBox1] Строка 1 = Первое значение Строка 2 = Второе значение Строка 3 = Третье значение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 13:38:15 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Ну мне как раз нужно повторять строку один несколько раз меняя значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 13:59:22 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
НедоходящийНу мне как раз нужно повторять строку один несколько раз меняя значения. Ну, так введи дополнительную секцию ini-файл [Содержимое ListBox1 Строка 1] Вариант 1 = Первый вариант Вариант 2 = Второй вариант Или дополнительный признак ini-файл [Содержимое ListBox1] Строка 1 Вариант 1 = Первое значение Строка 1 Вариант 2 = Второе значение Строка 1 Вариант 3 = Третье значение Тут неограниченный простор для фантазии. Другое дело, что нужны будут специфические модули для разбора каждой секции. Но это уже чисто организационный вопрос. PS: Хотя, лично мне непонятно, как у одного и того же элемента списка может быть несколько разных значений. Несколько элементов списка или несколько списков - это понятно, но несколько вариантов значения ?! Тем более, что речь идет о сохранении текущих значений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 14:21:14 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
String=value1, value2, value3, value4 NextString=value1, value2, value3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 14:39:15 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
to all теперь понял. спасибо. У меня еще есть вопрос. Есть главная форма и неглавная. Так вот, мне нужно из главной формы по нажатию на кнопку (эта кнопку вызывает вторую форму) передать несколько параметров. Что мне нужно прописать в главной и не главной форме для передачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 15:15:42 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
если по-простому из главной do form ttt with param1,param2,param3.... в init формы ttt , котор вызываешь lpara tparam1,tparam2,tparam3.... если будешь классами в писать - то так без параметров local lottt lottt=createobject('frm_ttt') lottt.show() c параметрами так local lottt lottt=createobject('frm_ttt',param1,param2,param3....) lottt.show() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 15:48:34 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Странно я вызываю форму без этого и все переменные которые я передовал с do form .. with ... остаются. У меня еще вопрос. Как передать курсор на другую форму? Ато сделал курсор, а на другой форме его не видно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 19:13:06 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Дополнение к верхнему. Ерунда какя-то. В ините неглавной формы прописываю создат курсор из курсора главной формы, курсор главной формы виден, а то что создал исчезает. почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2005, 20:12:13 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
ну ты вооче решил все на форуме изучить я не знаю чего ты там наворотил со своими переменными кажется они у тебя пабликом обозваны поэтому и видны так не делают везде переменные должны быть свои к примеру у тебя в основной форме lсTT - локальная, строка lnFF - локальное, число ldKK - локальная, дата передаешь в форму do form with lcTT,lnFF,ldKK в форме при подъеме ее принимаешь в параметры lpara tcTT,tnFF,tdKK t для тебя говорит что это пришел параметр пишем мы так, соглашение такое есть по именованию переменных все и в форме они у тебя в ините видны только если с ними далее нужно поработать присвой их значения объектам или свойствам формы да если их поменять нужно в форме и вернуть назад засылаешь их так do form with lcTT,@lnFF,ldKK lnFF вернется с измененым значением так,далее курсор так и засылай его в форму в виде строки local lcXML CURSORTOXML(lcAlias,"lcXML", 0) lcXML-это у тебя будет строка (почитай про командочку эту) do form with lcXML в ините формы lpara tcXML if empty(tcXML) or XMLTOCURSOR(tcXML,"NewAlias",0)<=0 return .f. endif NewAlias - это твой новый курсор а не поднимется - и форма отвалится назад ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 10:45:29 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Прикол в том что пабликом не объявлял, они при вызове формы так и передаются. Я сам удивился че так. А с остальным буду разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 10:50:41 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
глючек у тебя (недопониманьице) а и не нужно пабликом объявлять значит в запускающей проге присвоил переменным значения вот они и пабликом становятся нужно локалом объявлять их тады нигде мешаться не будут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 10:57:36 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
хорошо буду пробывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 11:02:36 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Если я создаю курсор ааа, а потом точно такой же с таким же именем создаю через create cursor, то ранее созданный с записями будет замещен новым? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 12:57:12 |
|
||
|
MEMO в DBF
|
|||
|---|---|---|---|
|
#18+
Как создать комбобокс, лейбел, и optiongroup с помощью Createobject? Как правильно прописывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 17:46:11 |
|
||
|
|

start [/forum/topic.php?all=1&fid=41&tid=1593179]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
173ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
81ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 518ms |

| 0 / 0 |
