Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2008, 00:38   #1
quf
Пользователь
 
Регистрация: 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.
quf вне форума Ответить с цитированием
Старый 11.04.2008, 07:56   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
#72:... {up}
#75:... {left}
#77:... {right}
#80:... {down}
Меняй позицию придуманного тобой курсора

Цитата:
#8:... {backspace}
#83:... {Del}
Это работа для delete в позиции придуманного тобой курсора, и в позиции -1 от него
Цитата:
#82:... {Ins}
Это работа для Insert в позиции придуманного тобой курсора.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.04.2008, 01:47   #3
quf
Пользователь
 
Регистрация: 11.04.2008
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Меняй позицию придуманного тобой курсора


Это работа для delete в позиции придуманного тобой курсора, и в позиции -1 от него

Это работа для Insert в позиции придуманного тобой курсора.
Не ты не так понял. Код управляющих клавиш мне не нужен..Мне нужно сделать выполнение этих действий(например "пробежка" по строке, сам принцип работы...на форуме поискал ничего не нашел
quf вне форума Ответить с цитированием
Старый 12.04.2008, 08:53   #4
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Stilet как раз и описал принцип

Цитата:
Меняй позицию придуманного тобой курсора
Отобрази на экране массив строк.
Создай переменные для хранения позиции курсора (X, Y) и установи в это место курсор.

При нажатии стрелок X+/-1 или Y+/-1 и переводи курсор в это место.

То-же для delete. В позиции (X,Y) удаляешь символ и отображаешь массив строк заново.
alexBlack вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
редактирование текста в блокноте. 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