| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > TMemo или альтернатива |
| Автор: DIFox 31.10.2009, 17:22 |
| Добрый день. Есть TMemo1. В нём есть определённый текст. Мне надо чтобы при включении CheckBox в текст вставлялась определённая строчка,и наоборот если Чекбокс активен и я снимаю галочку то чтрочка удаляется. ну к примеру так: if CheckBox1.Checked then Memo1.Lines.Insert(0,'1') else Memo1.Lines.Delete(0); end; те 0 которые я выделил в коде это номера строк но если их поменять на другие цифры то пчему-то не работает. Подскажите пожалуйста. В принципе мне без разницы какой это компонет TMemo или что-то другое. |
| Автор: amsoft 31.10.2009, 17:55 |
| возможно, неправильно указываешь индекс строки для вставки/удаления ЗЫ к примеру хочешь вставить строку в позицию 1, когда у тебя список пустой |
| Автор: Данкинг 31.10.2009, 18:02 |
Ошибка в 17-й строке? |
| Автор: DIFox 31.10.2009, 18:08 | ||
Сама программа Запускается вот толко строчку она не добавляет когда я активрую чекбокс |
| Автор: amsoft 31.10.2009, 18:16 | ||
все работает |
| Автор: DIFox 31.10.2009, 18:27 | ||
1) а что? компонент какой-то 2) если усложнить задачу до 2 чекбоксов и и 2 строчки. Ставлю 2 чекбокса добавляестся 2 строчки. Снимаю галочку с 1 го пропадает 1 строчка, снимаю со второго пропадает вторая строчка, Ставлю назад галочки, строчки появляются. Как такое сдлеть? |
| Автор: DIFox 31.10.2009, 18:59 |
| ну вообщем так я хочу сдлеть что-то приблизительное емулятора. Будут чекбоксы. Пользователь будет выбирать какие чекбоксы ему надо. соответсвенно при выборе чекбокса, будет добавлятся строчка. каждый чекбокс какая-то строчка. Если пользователь ошибся то он забирает галочку и строчка удаляется. вот сообственно и всё. Попробую тот компонет что вы мне написали(спасибо). |
| Автор: amsoft 31.10.2009, 19:05 |
| DIFox, тот компонент я ввел для образца, чтобы ты смог поэкспериментировать с добавлением/удалением строк, задавая индекс строки в процессе выполнения приложения через этот компонент. |
| Автор: DIFox 31.10.2009, 19:11 |
| не работает. SpinEdit1.Value:=5; хочу чтобы в 5 строчку вставило мой текст. Даже если выбрать цифру 5 не работатет :( |
| Автор: amsoft 31.10.2009, 19:30 | ||
| у тебя есть какой-то список, максимальное кол-во строк в нем известно и каждой строке соответствует свой чекбокс. если чекбокс отмечен, то соответствующая строка появляется в списке, если нет - то строка удаляется. Правильно понял? возможно тебе подойдет следующий вариант: берешь два компонента TCheckListBox и TListBox в первый заносишь все строки, какие могут быть добавлены в твой список и делаешь следующее
|
| Автор: DIFox 31.10.2009, 19:40 |
| не совсем так. У меня есть пустое поле для текста. есть чекбоксы. я ставлю активрую первый чекбокс, в текстовом поле, в 1 строчке появляеться строчка текста. я ставлю второй чекбокс появляется в тектововом поле, вторая строчка. Это я сделал и у меня работает. но вот если конечный пользователь передумает и заберёт галочку с 1 - го чекбокса то должна пропасть 1-ая строчка. заберёт вторую должна пропасть 2-строчка. |
| Автор: chip_and_dayl 31.10.2009, 19:47 |
| DIFox, Зайди в в свойство компонента Мемо Lines через Object Inspector. Откроется окно, нажми ентер разика 10. И должно заработать Добавлено через 2 минуты и 40 секунд Но в этом случае пользуйся вместо Инсерт и Делете - Memo1.Lines[0]:='' (если чек бокс убрат) и Memo1.Lines[0]:='0' (если есть) Memo1.Lines[1]:='' (если чек бокс убрат) и Memo1.Lines[1]:='1' (если есть) Memo1.Lines[т]:='' (если чек бокс убрат) и Memo1.Lines[т]:='т' (если есть) |
| Автор: DIFox 31.10.2009, 19:52 | ||
всё спасибо огромное)) помогло |
| Автор: chip_and_dayl 31.10.2009, 19:53 |
| Капец. Не знаю как удалить сообщение З. Ы. Пожалуйста |
| Автор: amsoft 31.10.2009, 19:59 | ||
если всего два чекбокса, то при установке/снятии первого флажка всегда вставляется/удаляется строка с индексом 0 при установке/снятии второго флажка следует смотреть на состояние первого - если он выделен, то вставляешь/удаляешь строку с индексом 1, если снят - работаешь со строкой с индексом 0 |
| Автор: DIFox 31.10.2009, 20:08 | ||
тоже очень пригодится спасибо) |