Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Аналог блокнота [D7, XP]


Страницы:   1 2

Human ©   (2010-02-21 15:01:00) 

Здравствуйте уважаемые мастера Delphi. Подскажите пожалуйста. Пытаясь написать аналог болокнота Windows, столкнулся с такой проблемой: прописываю пункт меню файл(создать,открыть,сохранить...).Каким образом можно сравнить уже открытый файл в поле Memo1 и тот текст который нужно сохранить? Открываю файлы из OpenDialog.


@!!ex   (2010-02-21 16:23:00) [21]

Ты объясни что тебе нужно. Какую задачу решаешь??


Human   (2010-02-21 16:11:00) [22]

Подскажите пожалуйста, где есть исходники блокнота, только не сильно навёрнутого?


Human   (2010-02-21 16:08:00) [23]

А про Васю я чёт не подумал))


Human   (2010-02-21 16:03:00) [24]

Спасибо! Сейчас попробую.


Loginov Dmitry   (2010-02-21 16:02:00) [25]


> только что пришло в голову решение: обьявить глобальную
> переменную типа Strings, после открытия файла присвоить
> ей текст из Memo, а перед сохранением сравнить = текст из
> Memo и содержание этой переменной.


А это время какой-нибудь Вася взял да и открыл этот же файл обычным блокнотом и внес изменения :)


{RASkov}   (2010-02-21 15:58:00) [26]

> [11] Human ©   (21.02.10 15:53)
> А можно ли сравнить через свойство FileName компонентов
> OpenDialog, SaveDialog

что хочешь сравнить? Все тот же текст? Нет, нельзя это сделать через данное свойство.


{RASkov}   (2010-02-21 15:57:00) [27]

> [10] Human ©   (21.02.10 15:47)

Для чего вообще это сравнение?
Неужели не достаточно свойства Modified? ...о котором ЮЗ говорил
только в OnChange не нужно ничего писать, оно само в true выставится при реджактировании в мемо, а вот в False нужно будет выставлять как им(ЮЗ) сказано во 2м пункте...


Human   (2010-02-21 15:53:00) [28]

Юрий, спасибо за подсказку. А можно ли сравнить через свойство FileName компонентов OpenDialog, SaveDialog?


Human   (2010-02-21 15:47:00) [29]

Ну а если без смеха, только что пришло в голову решение: обьявить глобальную переменную типа Strings, после открытия файла присвоить ей текст из Memo, а перед сохранением сравнить = текст из Memo и содержание этой переменной. Думал что вы мне подскажете похожее решение(((


Юрий Зотов   (2010-02-21 15:45:00) [30]

> Human ©   (21.02.10 15:01)  

1. В обработчике события Memo.OnChange пишете Memo.Modified := True;
2. После создания, открытия и сохранения документа пишете  Memo.Modified := False;

Теперь в любом месте программы можно проверить свойство Memo.Modified. Если оно равно False, то текст не изменялся.


KilkennyCat   (2010-02-21 15:30:00) [31]


> А еще лучше узнать программно, что находится в Memo.

да ладно, программно ненадежно, лучше аппаратно - через сканирование сканером, или на крайний случай - фотоаппаратом.

Memo.text


Anatoly Podgoretsky   (2010-02-21 15:19:00) [32]

> Loginov Dmitry  (21.02.2010 15:05:02)  [2]

Плох тот программист, который не хочет написать свой блокнот.


Human   (2010-02-21 15:17:00) [33]

Да именно сравнить текст в Memo с файлом на диске. А еще лучше узнать программно, что находится в Memo.


{RASkov}   (2010-02-21 15:11:00) [34]

> [0] Human ©   (21.02.10 15:01)
> Каким образом можно сравнить уже открытый файл в поле Memo1
> и тот текст который нужно сохранить?

А разве это не одно и тоже? Зачем это сравнивать?
или нужно сравнить текст в файле на диске с текстом в мемо?


Human   (2010-02-21 15:10:00) [35]

Я хочу написать свой текстовый редактор, а блокнот беру за образец.


Human   (2010-02-21 15:08:00) [36]

А возможно ли сопоставить текст в Memo и открытый файл через память?


Loginov Dmitry   (2010-02-21 15:05:00) [37]


>  Пытаясь написать аналог болокнота Windows, столкнулся
> с такой проблемой


Можно вопрос, зачем писать свои аналоги болокнота Windows?


> Каким образом можно сравнить уже открытый файл в поле Memo1
> и тот текст который нужно сохранить?


Для сравнения в Pascal используется операция "="


KilkennyCat   (2010-02-21 15:03:00) [38]

при любом изменении выставлять флаг ЕнтотФайлБылИзменен, в дальнейшем проверять.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо