|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.04.2008, 00:38 | #1 |
Пользователь
Регистрация: 11.04.2008
Сообщений: 18
|
Редактирование текста. Нужна помощь!
Прошу помочь разобраться. Текст задан как массив строк. Над каждой строкой нужно провести следующие действия:
- удалить символ в любом месте строки - вставить символ в любом месте строки Также добавление/удаление строки в массиве строк. Эти действия нужно выполнять с помощью управляющих клавиш- влево, вправо, вниз, вверх, Del, Ins, Backspace program Text_Editor; uses Crt; Const N_Max=256; Var str:array[0..N_Max] of string[80]; ch:char; f,f1:text; S,S1,S2:string; Procedure Edit_Text; Var l,m:byte;q:integer; Begin clrscr; Write('Vxod '); Readln(S1); Write('Vihod '); Readln(S2); Assign(f,s1); Assign(f1,s2); Reset(f); Rewrite(f1); While not EOf(f) Do Begin clrscr; l:=0; Repeat l:=l+1; ReadLn(f,str[l]); Until (l=N_Max) or EOf(f); For m:=1 To l Do repeat writeln(str[m]); Ch:=readkey; Case Ch Of #8:... {backspace} #82:... {Ins} #83:... {Del} #72:... {up} #75:... {left} #77:... {right} #80:... {down} end; until ch=#13; end; close(f); close(f1); End; begin Edit_Text end. |
11.04.2008, 07:56 | #2 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Цитата:
I'm learning to live...
|
|||
12.04.2008, 01:47 | #3 |
Пользователь
Регистрация: 11.04.2008
Сообщений: 18
|
Не ты не так понял. Код управляющих клавиш мне не нужен..Мне нужно сделать выполнение этих действий(например "пробежка" по строке, сам принцип работы...на форуме поискал ничего не нашел
|
12.04.2008, 08:53 | #4 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Stilet как раз и описал принцип
Цитата:
Создай переменные для хранения позиции курсора (X, Y) и установи в это место курсор. При нажатии стрелок X+/-1 или Y+/-1 и переводи курсор в это место. То-же для delete. В позиции (X,Y) удаляешь символ и отображаешь массив строк заново. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
редактирование текста в блокноте. | Kio | Помощь студентам | 16 | 21.07.2008 17:02 |
Нужна помощь | zinger | Помощь студентам | 2 | 16.05.2008 10:55 |
Редактирование текста в Delphi | Edo | Помощь студентам | 5 | 22.04.2008 08:18 |
задачка на техническое редактирование текста | Милено4ка | Паскаль, Turbo Pascal, PascalABC.NET | 10 | 14.04.2008 09:17 |