Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / MEMO в DBF / 25 сообщений из 107, страница 1 из 5
20.10.2005, 20:45:27
    #33336137
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
Задача такова: В мемо поле у меня 10 строчек. в пятой сторчке значение abcd. Как заменить только эту строчку на dcba при этом не переписывая по новой мемо-поле?
...
Рейтинг: 0 / 0
20.10.2005, 21:03:24
    #33336157
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
Никак. Разве что на низком уровне - но это очень нетривиально.
...
Рейтинг: 0 / 0
21.10.2005, 10:32:33
    #33336689
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
я ж тебе уже писал

иль не доверяшь???

ну напиши тады флл иль dll
...
Рейтинг: 0 / 0
21.10.2005, 10:36:50
    #33336711
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
да у тебя-ж длина не меняется - это хорошо

ищи блок и строку и переписывай делов то
и даже анализ конца блока не нуно делать
(ну разве, что на всяк прослучай)
или к примеру если у тебя длина блока постоянная,
ну и сделать мему файлу постоянную эту длину,
чтобы данные не делились на несколько блоков

к прим
блок

11111
22222
33333

будет длиной 21 байт (15 инфы и 6 байт переводы строк)
ну и сделать длину блока при создании табла 21 байт
...
Рейтинг: 0 / 0
21.10.2005, 10:40:57
    #33336724
Кусакин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
Вот так :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Select table1
m.fmemo = ddd  && ddd - это мемо поле, для теста
lnCountLines = Memlines(m.fmemo)
lcStr1  = ""
For i =   1  To lnCountLines- 1 
	lcStr1 = lcStr1+Getwordnum(m.fmemo,i,Chr(0xD))
Endfor
lcStr2 = Getwordnum(m.fmemo,lnCountLines,Chr(0x0D))  && Тут подразумеваеться что замена последней строки
lcStr2 = Strtran(lcStr2,"Test","dcba") && Если всю строку тогода
                                       && lcStr2 = Strtran(lcStr2,lcStr2,"dcba")
m.fmemo  = lcStr1+lcStr2
? m.fmemo
Replace  ddd With m.fmemo
...
Рейтинг: 0 / 0
21.10.2005, 10:47:40
    #33336758
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
Кусакин , ну ты четь не то

ну при реплейсе он оставит в мемо мусор
и создаст новый блок, а человек-то другое спросил

он же - умный, ну низя ж так
...
Рейтинг: 0 / 0
21.10.2005, 10:52:52
    #33336778
Кусакин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
авторЗадача такова: В мемо поле у меня 10 строчек. в пятой сторчке значение abcd. Как заменить только эту строчку на dcba при этом не переписывая по новой мемо-поле?

Я привел пример как тебе перезаписать твою строчку в мемо поле.
ТО alex11100: Вам бы не мешало сперва подумать про мусор :)) Все нормально там перезапишеться, так как надо.
...
Рейтинг: 0 / 0
21.10.2005, 10:58:18
    #33336796
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
Кусакин , а что мне думать

разуй глаза
...
Рейтинг: 0 / 0
21.10.2005, 10:59:27
    #33336800
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
проверь размер фпт
открой дбф
реплейсни
флаш закрой дбф
и проверь размер фпт
...
Рейтинг: 0 / 0
21.10.2005, 11:02:09
    #33336817
Кусакин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
Куда смотреть ? Ну давай, объясни мне что же у меня тут не так ?
1000 раз этим пользовался при замене в мемках и никаких ошибок и пренетзий.
Я слушаю ? Объясни мне А лучше свой вариант предложи, правильный, я посмотрю. :))
...
Рейтинг: 0 / 0
21.10.2005, 11:04:17
    #33336825
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
при чем здесь ошибки

тебе объясняешь - при реплейсе блок
летит вниз

ты че зовсем в танке
...
Рейтинг: 0 / 0
21.10.2005, 11:06:36
    #33336834
Кусакин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
Ну ты и дятел. Ничего никуда не летит. Баран. Ты видимо начинающий мальчик - аля программистишка с амбициями ) Иди учись, понабирают по объявлениям мля.
...
Рейтинг: 0 / 0
21.10.2005, 11:35:26
    #33336925
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
alex11100да у тебя-ж длина не меняется - это хорошо

ищи блок и строку и переписывай делов то
и даже анализ конца блока не нуно делать
(ну разве, что на всяк прослучай)
или к примеру если у тебя длина блока постоянная,
ну и сделать мему файлу постоянную эту длину,
чтобы данные не делились на несколько блоков

к прим
блок

11111
22222
33333

будет длиной 21 байт (15 инфы и 6 байт переводы строк)
ну и сделать длину блока при создании табла 21 байтА если как раз пятая строка поделилась между двумя блоками? ;-)
...
Рейтинг: 0 / 0
21.10.2005, 11:37:33
    #33336933
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
(допустим, что четвертая строчка может быть переменной длины)
...
Рейтинг: 0 / 0
21.10.2005, 12:01:59
    #33337027
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
to Кусакин

У Вас есть код - Getwordnum? А то фокс ругает меня.
...
Рейтинг: 0 / 0
21.10.2005, 12:05:37
    #33337036
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
изв.
тут дятел Кусакин
настроение подпортил
люблю НЕПОКОБЕЛИМЫХ людей - с ними и спорить не нужно
сразу все понятно


я думаю стоит как раз подумать над длиной блока
т.е. наверное и сделать его максимальной возможной длины
если же нет - тогда все будет муторно
в конец текущего ссылку на новый и вконец новый
все это метить символами-ссылками (там полный напряг)

зачем все это???
ты не хочешь чтобы мемо-файл раздувался ???
...
Рейтинг: 0 / 0
21.10.2005, 12:08:51
    #33337042
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
Getwordnum есть в старших версиях фокса
раньше это было в библиотеках
...
Рейтинг: 0 / 0
21.10.2005, 12:19:12
    #33337079
Кусакин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
Можно и так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Select table1
m.fmemo = 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,"sdfvdfgbfgbdfvbdfb","rrrrrr")
m.fmemo  = lcStr1+lcStr2
? m.fmemo
Replace  ddd With m.fmemo
Return

Procedure ParsStr
	Lparameter  CurrStr,pcDelimiter
	Local ln_Pos, ln_RetStr, lenDel,RetData
	lenDel =  Len(pcDelimiter)
	ln_Pos =  Atc(pcDelimiter, CurrStr)
	RetData = Iif(ln_Pos> 0 ,Substr(CurrStr, 1 ,ln_Pos- 1 ), CurrStr)
	CurrStr =Iif(ln_Pos> 0 ,Alltrim(Substr(CurrStr,ln_Pos+lenDel)),"")
	Return Alltrim(RetData)
Endproc

То Urri
автор(допустим, что четвертая строчка может быть переменной длины)

Ну и ради Бога, он же знает что ищет, к тому же есть всегда узнать по MLINE
и _MLINE что у него где лежит. Стоит только ими поиграть.
...
Рейтинг: 0 / 0
21.10.2005, 12:24:43
    #33337104
Кусакин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
То alex11100 , что касается Вас, сэр, то на такой разговор Вы сами нарвались. Прошу перечитать свои сообщения. На счет непоколебимости, я могу ответить, то же самое : - не люблю фраеров А вы себя именно за него своими нелепыми заявлениями в пренетзии на "звездность" ( я не против нее, но поделикатней нужно быть) и записали.
...
Рейтинг: 0 / 0
21.10.2005, 12:26:44
    #33337110
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
to Кусакин
не могу найти ParsStr для фокса6.
И еще, у меня в хелпе нет _MLINE, что это за команда?
...
Рейтинг: 0 / 0
21.10.2005, 12:31:26
    #33337135
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
так, короче
реплейс в мемо файл дописывает блок
человек спросил как ему это обойти
Вы предлагаете реплейс
я не понимаю, что Вы советуете

реплейс я еще раз объясняю меняет размер мемо файла
...
Рейтинг: 0 / 0
21.10.2005, 12:33:09
    #33337144
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
Кусакин, да и рейтинг "просто треп" у Вас более 50 процентов
да звезданутость на уровне
...
Рейтинг: 0 / 0
21.10.2005, 12:33:38
    #33337148
Кусакин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
Недоходящий
Ты что ? Это же самописная функция. Я тебе ее в предыдущем сабже описал :)
Посмотри внимательно. А если она недоступна то положи ее в файлик с раширением PRG. А потом засвети "в области видимости" по
Код: plaintext
SET PROC TO [имя твоего файла с процедурами].prg ADDITIVE
...
Рейтинг: 0 / 0
21.10.2005, 12:34:56
    #33337155
Кусакин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
Отдых отдыхом - работа - работой. Вы мне польстили, что посмотрели в пой профиль
...
Рейтинг: 0 / 0
21.10.2005, 12:37:22
    #33337165
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MEMO в DBF
to Кусакин
sory. невнемательно просмотрел.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / MEMO в DBF / 25 сообщений из 107, страница 1 из 5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]