powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / MEMO в DBF
25 сообщений из 107, страница 1 из 5
MEMO в DBF
    #33336137
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача такова: В мемо поле у меня 10 строчек. в пятой сторчке значение abcd. Как заменить только эту строчку на dcba при этом не переписывая по новой мемо-поле?
...
Рейтинг: 0 / 0
MEMO в DBF
    #33336157
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак. Разве что на низком уровне - но это очень нетривиально.
...
Рейтинг: 0 / 0
MEMO в DBF
    #33336689
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я ж тебе уже писал

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

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

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

к прим
блок

11111
22222
33333

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

Код: 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
MEMO в DBF
    #33336758
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кусакин , ну ты четь не то

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

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

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

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

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

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

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

к прим
блок

11111
22222
33333

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

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


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

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

Код: 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
MEMO в DBF
    #33337104
Кусакин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То alex11100 , что касается Вас, сэр, то на такой разговор Вы сами нарвались. Прошу перечитать свои сообщения. На счет непоколебимости, я могу ответить, то же самое : - не люблю фраеров А вы себя именно за него своими нелепыми заявлениями в пренетзии на "звездность" ( я не против нее, но поделикатней нужно быть) и записали.
...
Рейтинг: 0 / 0
MEMO в DBF
    #33337110
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Кусакин
не могу найти ParsStr для фокса6.
И еще, у меня в хелпе нет _MLINE, что это за команда?
...
Рейтинг: 0 / 0
MEMO в DBF
    #33337135
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так, короче
реплейс в мемо файл дописывает блок
человек спросил как ему это обойти
Вы предлагаете реплейс
я не понимаю, что Вы советуете

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


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