Подскажите как реализовать функции редактирования текста в консоли?
В DRKB просмотри реализацию модуля "CRT для консольного приложения", там вполне рабочая версия...
там большой модуль Т__Т а нет попроще реализации без всяких прятаний курсоров и прочих украшени? (;__; ) чтоб можно было потом объяснить человеку, чтобы он попытался обяснить преподу?
зы мб я олух, но не компилируеца он >__> я не знаю почему - но у него неопределены KeyEvent и много чего ещё + гдето ошибка в синтаксисе...
[Error] CRT32.pas(513): Undeclared identifier: 'KeyEvent'
[Error] CRT32.pas(525): Undeclared identifier: 'MouseEvent'
[Error] CRT32.pas(527): Undeclared identifier: 'dwMousePosition'
[Error] CRT32.pas(527): Missing operator or semicolon
[Error] CRT32.pas(527): Missing operator or semicolon
ну и тд
никто ничё не подскажет? :'( надеввду боше нету ни на кого(((
мб можно сделать так чтобы это была... ммм... псевдоконсоль штоли? чтоб все операции производились например в каком либо мемо с другого юнита, но всё задавалось через консоль? ;[ мну в отчаянии T__T
drkb 2.3 ... ты знаеш, я находил юнит в нете, точно такой же, } и = я то исправлял, но всё равно не хочет, но блин там нету мануала ток пару каментов... ну ладно с компиляцией разберусь, но можеш тогда показать на примере его использования программу как отловить выделенный текст и например скопировать его пзялста ?
забыл - дельфя седьмые
ща позырел - в InputRec нету метода(или как?) InputRec{$IfDef NEW_STYLES}.Event.KeyEvent, а есть InputRec{$IfDef NEW_STYLES}.Event.keybd_event
...чёт я не того... походу это и есть добавление... чеж он ругаеца тада(((
-__- блин это походу изза этих штук {$IfDef NEW_STYLES}... а что это ваще? не коментарии же?..
Погоди... Тебе надо полноэкранное консольное приложение, или достаточно будет не полноэкранного? Если второе - то вот тут: http://www.silicontaiga.ru/home.asp?artId=5757
разжевано до неприличия, как работать с консолью, как отлавливать клавиши, события мыши и т.п. Посмотри, по-моему достаточно просто можно собрать из всего, что там написано, программу с нужной функциональностью. Если не будет получаться - говори, попробуем помочь...
Добавлено через 11 мин.
(InputRec{$IfDef NEW_STYLES}.Event{$EndIf}.KeyEvent.bKeyDown) then ...
(InputRec.Event.KeyEvent.bKeyDown) then ..., если же NEW_STYLES не определено (может, компилятор старше чем D6, может, наоборот, новый, в котором версия Object Pascal больше чем 14.0), тогда обращение будет БЕЗ поля Event (символ компиляции отсутствует - то, что находится между $IFDEF/$ENDIF выбрасывается):
(InputRec.KeyEvent.bKeyDown) then ...
о большое пасиб, а то я не мог найти такого мануала подробного, позырю завтра, если что отпишусь ... а нащёт полноэкранного и не полноэкранного... если честно я довольно абстрактно представляю что это >__> полноэкранный - типа дос сессии без графики и всяких плюшек, а не полноэкранный - с поддержкой api итд? Ну в любом случае я склоняюсь к тому, что неполноэкранный, задача была поставлена просто как "консольный текстовый редактор", учитывая то, что кроме блокнотика и хелло ворлд мы ничего не делали и нам ничего не объясняли, я думаю всёже неполноэкранный >__>
Добавлено через 1 мин.
ааа понятна да, наверно это изза 7
пардон конечено, но я опять с тупыми вопросами -_- сел тут решил накидать основу по примеру, ничерта не получаецца(
Вот начало программы:
Project5.rar ( 3.23 килобайт )
Кол-во скачиваний: 427
Пока она умеет только запускать консольное окно, печатать текст (причем даже на Enter реагирует неправильно, надо научить ее этому), и выделять текст мышью с зажатой левой кнопкой... Копирование текста в Clipboard тоже надо добавить... Но разбираться будет проще, чем не имея ничего...
небольшой вопросик - почему vk_Return не хочет выполняться? на любую другую кнопку цепляется, а сюда нет(
разобрался ток с созданием сохранением загрузкой и файла, а копировать итд не приложу ума как... вольво а можеш написать как это выглядит в теории? а я посижу попробую сделать программно...
зы сори за пунктуацию, кпк логает Т__Т