:: Архив конференции по VFP до 2005 года
Re: Маленький конкурсик... ;)
Alex Roublev

Сообщений: 3695
Откуда: Ярославль
Дата регистрации: 28.09.2002
Н-да... Перенос строк по целым словам при помощи memo-поля временной таблицы получается нормально. MLine - лучше и проще не придумать. А вот если на проблему взглянуть иначе: текстовый фрагмент с выравниванием по-ширине (и с переносами, если необходимо), так, как это выглядит в пресловутом Word'е. Вот бы где "копьям ломаться"
Ratings: 0 negative/0 positive
Re: Маленький конкурсик... ;)
Hel!Riser

Сообщений: 10452
Откуда: Нижний Новгород
Дата регистрации: 11.03.2001
ацтой! ;) Иэто делалось, тока на FPD. После примерна такого-же кода пробелы добавлялись. а щаз - можна тот же самый Ворд поднять, выставить у дока ширину страницы и также забирать построчна
ЗЫ я так думаю




------------------
Осторожно - глисты!
Ratings: 0 negative/0 positive
Re: Маленький конкурсик... ;)
OLEGarh

Сообщений: 575
Откуда: Нйжний Новгород
Дата регистрации: 07.02.2005
Я думаю, победил Hel!Raiser! (ИМХО) - БОЛЬШОЕ спасибо!

Выравнивание не имеет в данном случае значения (а если и понадобится - что-нить придумаем).
Главное - элегантность и простота решения, т.е. красота.

Best regards!

ЗЫ Абыдно, что совсем забыл про memo поля
Ratings: 0 negative/0 positive
Re: Маленький конкурсик... ;)
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi, Hel!Riser!

MLINE() и MEMLINES() работают и с простыми переменными - можно обойтись без
курсора Другое дело что может понадобится LTRIM()-ом строчки
"подрыхтовать"
Вот если "граница" маленькая, а слова "здоровые" (т.е. слово по длине >
нашего "разбиения"), тогда данный способ всё-же разрежет слово, но IMHO это
и правильно




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Маленький конкурсик... ;)
Евгений Банщиков

Сообщений: 218
Откуда: Kurgan
Дата регистрации: 09.04.2004
Для решения твоей задачи можно использовать команду ?/?? с ключом Function 'V'.
? 'This is an example of how the V function code works.' FUNCTION 'V10'




------------------
Ratings: 0 negative/0 positive
Re: Маленький конкурсик... ;)
XAndy
Автор

Сообщений: 3803
Откуда: Киев
Дата регистрации: 05.02.2004
2 OLEGarh

Рано еще конкурс завершать
Мемо-поля, как сказал уже Игорь, здесь ни при чем, mline и с переменными прекрасно работает. Можно было-бы где-то так:
set memowidth to iWidth
iLines = memlines(cStr)
if iLines>0
declare cArr[iLines]
for i=1 to iLines
cArr[i] = mline(cStr,i), iWidth
endfor
endif
и получили массив фраз длиной не более iWidth...

Но есть одна маленькая бяка с функцией mline - не работает она c ширинами менее 8 символов. О чем честно и говорит хелп. Так что придется писать свое
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 6 (Гостей: 6)

© 2000-2024 Fox Club 
Яндекс.Метрика