Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TMemo или альтернатива 
:(
    Опции темы
DIFox
Дата 31.10.2009, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



Добрый день.  Есть TMemo1. В нём  есть определённый текст. Мне надо чтобы при включении CheckBox в текст вставлялась определённая строчка,и наоборот если Чекбокс активен и я  снимаю галочку то чтрочка удаляется.

ну  к примеру так:

if CheckBox1.Checked then  Memo1.Lines.Insert(0,'1')

else  Memo1.Lines.Delete(0);
end;

те 0 которые я  выделил в коде это номера строк но если их поменять на другие цифры то пчему-то не работает.

Подскажите пожалуйста.

 В принципе  мне без разницы какой это компонет TMemo или что-то другое.
PM MAIL   Вверх
amsoft
Дата 31.10.2009, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 17.10.2009
Где: KZ, Astana

Репутация: 3
Всего: 4



возможно, неправильно указываешь индекс строки для вставки/удаления

ЗЫ к примеру хочешь вставить строку в позицию 1, когда у тебя список пустой
--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин
PM   Вверх
Данкинг
Дата 31.10.2009, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Цитата(DIFox @  31.10.2009,  17:22 Найти цитируемый пост)
то пчему-то не работает.

Ошибка в 17-й строке?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
DIFox
Дата 31.10.2009, 18:08 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



Цитата

Ошибка в 17-й строке?


Сама программа Запускается  вот толко строчку она не добавляет когда  я активрую чекбокс
PM MAIL   Вверх
amsoft
Дата 31.10.2009, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 17.10.2009
Где: KZ, Astana

Репутация: 3
Всего: 4



Код

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked
then Memo1.Lines.Insert(SpinEdit1.Value,'bla-bla-bla')
else Memo1.Lines.Delete(SpinEdit1.Value);
end;


все работает
--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин
PM   Вверх
DIFox
Дата 31.10.2009, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



Цитата

SpinEdit1.Value


1) а что? компонент какой-то

2) если усложнить задачу до 2  чекбоксов и и 2 строчки.

Ставлю 2 чекбокса добавляестся 2 строчки. Снимаю галочку с 1 го пропадает 1 строчка, снимаю со второго пропадает вторая строчка, Ставлю назад галочки, строчки появляются. Как такое сдлеть?
PM MAIL   Вверх
amsoft
Дата 31.10.2009, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 17.10.2009
Где: KZ, Astana

Репутация: 3
Всего: 4



Цитата(DIFox @  31.10.2009,  18:27 Найти цитируемый пост)
а что? компонент какой-то


да. в нем задаешь номер позиции, куда надо вставить/удалить строку

Цитата(DIFox @  31.10.2009,  18:27 Найти цитируемый пост)
Ставлю 2 чекбокса добавляестся 2 строчки. Снимаю галочку с 1 го пропадает 1 строчка, снимаю со второго пропадает вторая строчка, Ставлю назад галочки, строчки появляются. Как такое сдлеть?


еще через три сообщения выяснится, что у тебя три чекбокса ...

обрисуй  полную картину

--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин
PM   Вверх
DIFox
Дата 31.10.2009, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



ну  вообщем так  я хочу сдлеть что-то приблизительное  емулятора.
Будут чекбоксы.
Пользователь будет выбирать какие чекбоксы ему надо. соответсвенно при выборе чекбокса, будет добавлятся строчка. каждый  чекбокс какая-то строчка. Если пользователь ошибся то он забирает галочку и строчка удаляется. вот сообственно и всё.  Попробую тот компонет что вы  мне написали(спасибо). 
PM MAIL   Вверх
amsoft
Дата 31.10.2009, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 17.10.2009
Где: KZ, Astana

Репутация: 3
Всего: 4



DIFox, 
тот компонент я ввел для образца, чтобы ты смог поэкспериментировать с добавлением/удалением строк, задавая индекс строки в процессе выполнения приложения через этот компонент.
--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин
PM   Вверх
DIFox
Дата 31.10.2009, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



не работает.
SpinEdit1.Value:=5;

хочу чтобы  в 5 строчку вставило мой текст.

Даже если выбрать цифру  5 не работатет :(
PM MAIL   Вверх
amsoft
Дата 31.10.2009, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 17.10.2009
Где: KZ, Astana

Репутация: 3
Всего: 4



у тебя есть какой-то список, максимальное кол-во строк в нем известно и каждой строке соответствует свой чекбокс.
если чекбокс отмечен, то соответствующая строка появляется в списке, если нет - то строка удаляется. Правильно понял?

возможно тебе подойдет следующий вариант:

берешь два компонента TCheckListBox и TListBox
в первый заносишь все строки, какие могут быть добавлены в твой список и делаешь следующее


Код

procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);
var
X: integer;
begin
ListBox1.Clear;
for X := 1 to CheckListBox1.Items.Count do
    if CheckListBox1.Checked[X-1] then ListBox1.Items.Add(CheckListBox1.Items[X-1]);
end;

--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин
PM   Вверх
DIFox
Дата 31.10.2009, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



не совсем так.

У меня  есть пустое поле для  текста. 
есть чекбоксы.

я  ставлю активрую первый чекбокс, в  текстовом поле, в 1 строчке появляеться строчка текста.
я  ставлю второй чекбокс появляется в тектововом поле, вторая строчка.

Это я  сделал и у меня работает. но вот если конечный пользователь передумает и заберёт галочку с  1 - го чекбокса то должна пропасть 1-ая строчка. заберёт вторую должна пропасть 2-строчка.

PM MAIL   Вверх
chip_and_dayl
Дата 31.10.2009, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: 1
Всего: 9



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[т]:='т'  (если есть)


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
DIFox
Дата 31.10.2009, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



Цитата

Зайди в в свойство компонента Мемо Lines через Object  Inspector.  Откроется окно, нажми ентер разика 10. И должно заработать



всё  спасибо огромное)) помогло
PM MAIL   Вверх
chip_and_dayl
Дата 31.10.2009, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: 1
Всего: 9



Капец. Не знаю как удалить сообщениеsmile


З. Ы. Пожалуйстаsmile


Это сообщение отредактировал(а) chip_and_dayl - 31.10.2009, 19:57


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0644 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.