powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / сокращение поля и перенос на другую строку
16 сообщений из 16, страница 1 из 1
сокращение поля и перенос на другую строку
    #38119497
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я уже описывал данную проблему, но надо немного изменить ее решение. В общем есть таблица табл. в ней поле pol1, значения поля pol1 длинные. Как сделать так чтобы выводились только 40 символов из этого поля, а остальное откидывалось.

Решение следующее как мне тут помогли:
Код: sql
1.
2.
lcString = replicate('1234 ',9)
?left(m.lcString, IIF(RAT(space(1), left(m.lcString ,41)) = 0, 40, RAT(space(1), left(m.lcString ,41))))



Как сделать так чтобы выводились только 40 символов из этого поля, а остальное выводилось на новой строке. как бы продолжение первой строки?

Например:
Код: sql
1.
2.
перваястрокадо40символов
втораястрокапродолжениепервой
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38119507
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какие есть функции чтобы проверить конец строки? надо как я понимаю с 41-го символа до конца строки просто выводить, но не знаю какая функция есть для этого
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38119526
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если тупо 60-80 символов выводить правильно ли?

lsstring="qwewqeqweqweqweqweqeqweqweqweqweqweqwe"
?RIGHT(lsstring,80)
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38119530
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ой нет. неправильно так нельзя
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38119536
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей8989, псевдокод:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
strlen=len(mystring)
chunksize=40

counter=0
do while counter<=strlen
?substr(mystring,chunksize*counter+1,chunksize*(counter+1))
counter+=chunksize
enddo
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38119548
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, а можете пояснить в общих чертах?

вот это место
Код: sql
1.
2.
?substr(mystring,chunksize*counter+1,chunksize*(counter+1))
counter+=chunksize
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38119554
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тогда же можно просто написать substr(поле, 41) и она будет с 41-го символа до конца выделять строку? так нельзя?
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38119562
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей8989, если строка не длиннее 80 символов, то можно и так, да.
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38119573
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, если например 100 символов можно же так: на первой строке 40 символов выводить, а на второй с 41 до конца с помощью substr(поле,41)? или она отрезать что-то будет?
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38119679
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей8989, вот это и делает мой код, причём независимо от длины строки.
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38119684
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, нет, не это. Ну в хелпе же есть про субстр - 3 аргумента - строка, откуда брать, докуда брать. Что там может быть непонятно??
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38119703
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, получается, но одна загвоздка при выделении строки. вот выделили первые 40 символов записали во первую строку, а как записать теперь не substr(поле,41) , а вместо 41-го символа ту позицию пробела на котором отрезали остальную часть в первой строке?? а то я пишу substr(поле,41) и у меня в одном случае нормально все, в другом случае одна буква слева во второй строке урезается: вот так получается:

Код: sql
1.
2.
ПСА-ОБЩИЙ (ИММУНОФЕРМЕНТНЫЙ РИДЕР "HUMEN 
RIDER")  КОЛ-ВО: 1  ЦЕНА: 270 руб.  



Код: sql
1.
2.
ПСА-СВОБОДНЫЙ (ИММУНОФЕРМЕНТНЫЙ РИДЕР   
UMEN RIDER")  КОЛ-ВО: 1  ЦЕНА: 540 руб.  



во втором случае вместо UMEN должно быть HUMEN
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38119749
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
написал вот так: проверьте логику, в вышеприведенном случае вроде все хорошо: начиная с пробела на котором обрезали первую строку во второй выводится оставшаяся часть

Код: sql
1.
substr(PAKET.NAMM,IIF(RAT(space(1), left(PAKET.NAMM ,41)) = 0, 40, RAT(space(1), left(PAKET.NAMM ,41))))
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38119873
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей8989Как сделать так чтобы выводились только 40 символов из этого поля, а остальное откидывалось.Это надо так в отчете сделать?
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38120091
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И в отчете и в EditBox на форме FoxPro сам, без дополнительного программирования, организует перенос текста по пробелам. Не надо вообще ничего программировать. Надо только подобрать шрину объекта в зависимости от используемого шрифта. Ну, и высоту выставить в 2..3 строчки.
...
Рейтинг: 0 / 0
сокращение поля и перенос на другую строку
    #38120381
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ, может, ТСу нужен "текстовый" отчёт? Тогда, наверное, стоит взглянуть на getwordnum.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / сокращение поля и перенос на другую строку
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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