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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как в memo осуществить повтор. 
:(
    Опции темы
Alex103
Дата 18.3.2005, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У меня такая проблемма мне нужно повторить действие в memo ато отмену можно просто сделать а повтор не знаю как посоветуйте.

с ув. Александр


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
RA
Дата 18.3.2005, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


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

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



Undo/Redo чтоли ?

Undo это ондаступетнчатая отмена действия, следовательно

один раз Undo - это отмена.
второй раз Undo - это отмена отмены.

Это сообщение отредактировал(а) RAdmin - 18.3.2005, 08:36
PM   Вверх
Alex103
Дата 20.3.2005, 02:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(RAdmin @ 18.3.2005, 08:35)
Undo/Redo чтоли ?

Undo это ондаступетнчатая отмена действия, следовательно

один раз Undo - это отмена.
второй раз Undo - это отмена отмены.

Именно Undo то лего осуществить но вот Redo как не знаю. Ну вот смотри у меня есть две кнопки одна отмена другая повтор как сделать так что-бы повтор работала. Но это все не то что надо. Реально ли сделать так что-бы можео отменять было много действий!!!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Vit
Дата 20.3.2005, 04:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



em_redo ему послать, если не ошибаюсь...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Alex103
Дата 20.3.2005, 04:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Vit @ 20.3.2005, 04:25)
em_redo ему послать, если не ошибаюсь...

в смысле так sendmessage(em_redo); Я просто не знаю как эти сообщения посылать обьясни плиз.


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Girder
Дата 20.3.2005, 04:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


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

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



Redo:
Код
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
 s:='21423'; //то... что ты хочеш вернуть
 //Memo1.SelStart:=0; - куда... хочеш вернуть
 sendmessage(memo1.Handle,EM_REPLACESEL,1,integer(pchar(s)));
end;


Это сообщение отредактировал(а) Girder - 20.3.2005, 05:04


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Alex103
Дата 20.3.2005, 05:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Girder @ 20.3.2005, 04:58)
Redo:
Код
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
 s:='21423'; //то... что ты хочеш вернуть
 //Memo1.SelStart:=0; - куда... хочеш вернуть
 sendmessage(memo1.Handle,EM_REPLACESEL,1,integer(pchar(s)));
end;

К примеру мне нужно сделать 10 возвратов но как это все осуществить на одну кнопку но так что-ббы при нажатии на кнопку повтор эти повторы повторялись!!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
fess
Дата 20.3.2005, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 17.2.2005
Где: г. Мурманск, Росс ия

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



Если тебе не обязательно использовать стандартные компоненты, то посмотри вот этот компонент:
TAdvMemo с сайта http://tmssoftware.com/. Там реализованны эти и многие другие функции.
--------------------
Компьютер не подчиняется законам физики. Только в нём глюки возникают из ничего, файлы исчезают в никуда, а объём измеряется в метрах и называется весом.
PM MAIL ICQ   Вверх
Alex103
Дата 22.3.2005, 02:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(fess @ 20.3.2005, 12:41)
Если тебе не обязательно использовать стандартные компоненты, то посмотри вот этот компонент:
TAdvMemo с сайта http://tmssoftware.com/. Там реализованны эти и многие другие функции.

Он то у меня есть но только он по-моему триальный если я не ошибаюсь!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
mvdr
Дата 22.3.2005, 06:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


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

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



как вариант: в Мемо сохранять все-все-все про форму на этот момент, а потом при нажатии на кнопку "отмена" построчно считывать из Мемо. В этом случае надо сохранять Мемо при перезаписи его в файлы на диске.


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
fess
Дата 22.3.2005, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 17.2.2005
Где: г. Мурманск, Росс ия

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



Цитата
Он то у меня есть но только он по-моему триальный если я не ошибаюсь!

Он не триальный, он shareware, т.е если ты хочешь использовать приложение в коммерческих целях или получить исходник, то ты обязан купить этот компонент.

Вот лицензионное соглашение:
Цитата
This component is free for use in non-commercial applications, that is
any software that is not being sold in one or another way or that does
not generate income in any way by the use of the application.
The component cannot be distributed in any other way except through free
accessible Internet Web pages or ftp servers. The component can only
be distributed on CD-ROM or other media with written autorization of the
author.
Online registration for TAdvMemo is available.
See http://www.tmssoftware.com/orders.htm

Source code & license is sent immediately upon receipt of check or
registration by email. Payment grants users the right for a full version
cycle source code updates.


Это сообщение отредактировал(а) fess - 22.3.2005, 12:52
--------------------
Компьютер не подчиняется законам физики. Только в нём глюки возникают из ничего, файлы исчезают в никуда, а объём измеряется в метрах и называется весом.
PM MAIL ICQ   Вверх
<Spawn>
Дата 22.3.2005, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

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



Можно попробовать организовать стек(см TStack в Contnrs). В которого класть информацию об изменениях в TMemo. Навскидку она будет примерно такая:

Код

PRedoInfo = ^TRedoInfo;

TRedoInfo = record
  Position: TPoint; // Позиция текста
  Text: PAnsiChar; // Удаленный/добавленный текст
  Inserted: Boolean; // Удален или добавлен?
end;

Только в данном случае прийдется держать копию текста Memo для сравнения с ним и создания инфы для каждого экземпляра структуры TRedoInfo, что не есть хорошо, особенно если текст большой. Возможно, что есть какое то сообщение, которое можно было бы поймать и которое само сообщало бы об этих изменениях - это был бы оптимальный вариант smile

Это сообщение отредактировал(а) <Spawn> - 22.3.2005, 17:15


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Alex103
Дата 23.3.2005, 02:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(fess @ 22.3.2005, 12:28)
Цитата
Он то у меня есть но только он по-моему триальный если я не ошибаюсь!

Он не триальный, он shareware, т.е если ты хочешь использовать приложение в коммерческих целях или получить исходник, то ты обязан купить этот компонент.

Вот лицензионное соглашение:
Цитата
This component is free for use in non-commercial applications, that is
any software that is not being sold in one or another way or that does
not generate income in any way by the use of the application.
The component cannot be distributed in any other way except through free
accessible Internet Web pages or ftp servers. The component can only
be distributed on CD-ROM or other media with written autorization of the
author.
Online registration for TAdvMemo is available.
See http://www.tmssoftware.com/orders.htm

Source code & license is sent immediately upon receipt of check or
registration by email. Payment grants users the right for a full version
cycle source code updates.

Тоесть в своем приложении не льзя использовать его только в том случае если приложение будет продаваться. А если нет то используй сколько хочушь. Вроде я так понял!!!!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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