![]() |
|
|
![]()
|
|
| megabist |
|
|||
![]() Mart Slaaf ![]() ![]() Профиль Группа: Участник Сообщений: 455 Регистрация: 3.4.2006 Где: Мск Репутация: нет Всего: 31 |
Итак суть проблемы в том, что мне ужно чтобы пользоваетль мог ввести скажем 4 строки по 40 символов максимум...
тоесть должен получиться массив MaxLenght устанавливает общую длину.... создавшаяся конструция должна быть жёсткой... тоесть заменить пожалуйста но никаких дописываний и.т.д -------------------- Don't panic! Жди, и Фатум тебя приведёт... |
|||
|
||||
| anwe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: нет Всего: 23 |
Читай строки из memo с проверкой на конец строки. Встретил такой символ -> запиши в первый элемент массива. Массив лучше держать динамический.
|
|||
|
||||
| megabist |
|
|||
![]() Mart Slaaf ![]() ![]() Профиль Группа: Участник Сообщений: 455 Регистрация: 3.4.2006 Где: Мск Репутация: нет Всего: 31 |
Гммм либо я вас не совсем понял, либо немного не то....
Мне-то нужно ограничение прямо в Мемо.... не потом когда-нибудь, а чтобы мемо не вводилось больше знако прямоугольника 4*40... К тому же для того, что вы написали, вроде достатточно считать из Memo в AnsiString а потом перевести в char.... Это сообщение отредактировал(а) megabist - 6.12.2006, 08:05 -------------------- Don't panic! Жди, и Фатум тебя приведёт... |
|||
|
||||
| anwe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: нет Всего: 23 |
Если тебе надо после обрезать - то считай символы и кол-во строк и урезай до необходимого. Если динамически - то, навреное, делай субклассинг или просто подсчитывай кол-во символом по KeyDown/KeyUp.
|
|||
|
||||
| Reptile |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 30.9.2006 Где: Украина, Первомай ск Репутация: 2 Всего: 3 |
Простой, но не самый лучший способ
Зделай ширину Memo 289 так в строку вмещается 40 символов, установи MaxLength = 160,а шрифт Courier New(для того чтобы разные символы занимали одинаково места). |
|||
|
||||
| Vyacheslav |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Переход на другую строку при превышении заданного предела решает просто решает просто
Отстается решить вопрос с обрезкой строк при вставке символа в уже запоненную строку Решать это дело перебором всех строк не очень красиво, хотя ... Хотя конечно можно решить и без KeyPress все кардинально Ограничиваем общую длину в 160 символов Инициализируем мемо четырьмя пустыми строчками и задаем обработчк OnChange
-------------------- С уважением, Вячеслав Ермолаев |
||||
|
|||||
| megabist |
|
|||
![]() Mart Slaaf ![]() ![]() Профиль Группа: Участник Сообщений: 455 Регистрация: 3.4.2006 Где: Мск Репутация: нет Всего: 31 |
Вячеслав, спасибо за помошь, но первый код работает только на первой строке...
Или первые строки без вторых и не должны работать? P.S. Знак > поправил=). Это не каменьь в чью-то сторону, а просто факт, что не из-а этого -------------------- Don't panic! Жди, и Фатум тебя приведёт... |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Реально и нормально работает вторая версия Memo1Change.
Memo1KeyPress - это просто размышление вслух. -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| megabist |
|
|||
![]() Mart Slaaf ![]() ![]() Профиль Группа: Участник Сообщений: 455 Регистрация: 3.4.2006 Где: Мск Репутация: нет Всего: 31 |
Простите не работает всё равно
первую строчку нормуль отрабатывает... вторую ставит 1 букву... и дальше при попытке ввести кидает на сл строку!!! помогите разобраться с тремя средними строчками кода... может я тогда пойму... -------------------- Don't panic! Жди, и Фатум тебя приведёт... |
|||
|
||||
| Vyacheslav |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Уважаемый. Я же по русски написал
А Вы похоже используете и то и другое вместе Нужен только Memo1Change и добавление 4 строк в конструкторе -------------------- С уважением, Вячеслав Ермолаев |
||||
|
|||||
| megabist |
|
|||
![]() Mart Slaaf ![]() ![]() Профиль Группа: Участник Сообщений: 455 Регистрация: 3.4.2006 Где: Мск Репутация: нет Всего: 31 |
Нет всё равно работает очень странно...
Всё бы ничего но при разного рода переносах перескоках и переудалениях он выкидывает середину, меняя весмь смысл сказанного вот например кусок текста проверено вводился правильно, вводился длинной строкой потом из конца кусок проскочил в начало строки...:
простите за тослово что вклинилось в погулять -------------------- Don't panic! Жди, и Фатум тебя приведёт... |
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 16 Всего: 39 |
а если так:
|
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 16 Всего: 39 |
вот попробуй такой вариант, наверно нужны доработки тем не менее вроде работет.
думаю ты в курсе в конце каждой строки есть сиволы переноса (0x0D, 0x0A) поэтому когда ты будешь работать с полученным массивом должен это учитывать. т.е. сохраненный файл будет весить 166 байт., конечно можно убрать эти байты уменьшением размера формы и wordwrap но там как тебе удобнее.
|
|||
|
||||
| megabist |
|
|||
![]() Mart Slaaf ![]() ![]() Профиль Группа: Участник Сообщений: 455 Регистрация: 3.4.2006 Где: Мск Репутация: нет Всего: 31 |
Да, то что доктор прописал....
Спасибо... и всем за помощь сказал не видя второго, так как работало и первое... вродекак тоесть без ошибок. Это сообщение отредактировал(а) megabist - 10.12.2006, 20:41 -------------------- Don't panic! Жди, и Фатум тебя приведёт... |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |