Joined: 08 Mar 2002 Posts: 63 Location: Алексей Макаров
Posted: 02 Sep 2005 07:47 Post subject: Как взять текст из мемо-поля БЭСТ-5?
Подскажите, кто знает!
Со времен "четверки" у нас работала групповая операция, начисляющая порядка двух тысяч проводок по аренде на партнеров предприятия. Она перебирала справочник партнеров и на одном из этапов запускала Fileeval, который считывал примечание из справочника партнеров (a:=partner->adress2). Поставили версию 3.2 и получили ошибку. Зашел в partner.dbf через FoxBro, и оказалось, что теперь поле "Примечание" называется Note, и оно не текстовое, а мемо. Вопрос: как с ним работать? Какой функцией его можно прочесть в Fileeval и как бы его содержимое (через Bro, например) скопировать в другое текстовое поле (там в справочнике есть хорошее поле kod_reg, кажется, которое вполне подошло для хранения нужной информации)?
Перенести информацию в символьное поле - не вопрос. Одной командой из FoxPro (это не тоже самое что FoxBro) типа:
REPLACE ALL code_reg WITH note.
Проблема может быть в том, что во-первых поле code_reg предназначено для системы (поэтому лучше добавить собственное новое поле с именем вроде user_note символьного типа Character и максимальной длинной 254 символа), а во-вторых поле code_reg имеет размер всего 20 символов, в то время как memo-поле может быть совершенно безразмерным (ограничено свободным местом на диске)
В FoxBro кажется нельзя вводить команды, а может и можно... (ну короче не знаю)
Joined: 08 Mar 2002 Posts: 63 Location: Алексей Макаров
Posted: 03 Sep 2005 21:56 Post subject:
anemo wrote:
REPLACE ALL code_reg WITH note.
Так в этом и проблема, что REPLACE не понимает содержимого мемо-поля. Насколько я понимаю, оно не считается текстом. Вероятно, есть какой-то механизм считывания строк (или что там) из мемо-поля. Нам много симоволов не нужно, нам 20 с головой хватит, и строчка у нас в мемо одна
Joined: 26 Jul 2002 Posts: 975 Location: Титов Александр Александрович Occupation: Компания БЭСТ Interests: Москва
Posted: 04 Sep 2005 11:09 Post subject:
Loki666 wrote:
anemo wrote:
REPLACE ALL code_reg WITH note.
Так в этом и проблема, что REPLACE не понимает содержимого мемо-поля. Насколько я понимаю, оно не считается текстом. Вероятно, есть какой-то механизм считывания строк (или что там) из мемо-поля. Нам много симоволов не нужно, нам 20 с головой хватит, и строчка у нас в мемо одна
Добрый день!
Из переписки не совсем понятно, в чем проблема. Напишите, пожалуйста, поподробнее, что Вы делаете и что именно не получается.
Я, например, только что выполнил следующий плагин, который перенес данные из поля Note в поле Code_Reg (хотя, надо сразу сказать, не следует использовать системные поля не по назначению):
DBPUSH()
NetUse("MyPartner",LoadPath()+"Partner")
DBGOTOP()
DO WHILE !EOF()
Reclock()
FIELD->Code_Reg:=Field->Note
F_DBUNLOCK()
DBSKIP()
ENDDO
DbCloseArea()
DBPOP() _________________ С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum