IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Редактирование строки, Нужна помощь!
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской

Репутация: -  0  +


Прошу помочь разобраться. Текст задан как массив строк. Над каждой строкой нужно провести следующие действия:
- удалить символ в любом месте строки
- вставить символ в любом месте строки
Также добавление/удаление строки в массиве строк.
Эти действия нужно выполнять с помощью управляющих клавиш- влево, вправо, вниз, вверх, 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.

.

Сообщение отредактировано: guf -


--------------------
Плагины для FL Studio и Pro Tools
Учусь на ошибках компилятора...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской

Репутация: -  0  +


Ладно раз уж никто не может это сделать, то как оргаизовать "пробежку" по строке с помощью стрелок


--------------------
Плагины для FL Studio и Pro Tools
Учусь на ошибках компилятора...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


фактически тебе нужен простейший текстовый редактор, на форуме были реализации поищи, сейчас времени писать нету, вот пример как по строке вправо-влево бегать:

uses crt;

type
MyString = object
data: String;
crPos: Byte;

constructor Create(s: String);
destructor Done;

procedure ReShow;
procedure Run;
end;

constructor MyString.Create(s: String);
begin
data := s;
crPos := 1;
end;

destructor MyString.Done;
begin
end;

procedure MyString.ReShow;
var
i: Byte;
begin
ClrScr;
for i := 1 to length(data) do begin
if i = crPos then
TextColor(Green)
else
TextColor(White);
write(data[i]);
end;
GotoXY(crPos, 1);
end;

procedure MyString.Run;
var
ch: Char;
begin
ReShow;

repeat
ch := readkey;

case ch of
#0: begin
ch := readkey;
case ch of
#75: if crPos > 1 then dec(crPos);
#77: if crPos < length(data) then inc(crPos);
end;
end;
end;

if ch in [#75, #77] then
ReShow;
until ch = #27;
end;

var
ms: MyString;
begin
clrscr;
ms.Create('Borland Pascal');
ms.Run;
ms.Done;
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 28
Пол: Мужской

Репутация: -  0  +


klem4, спасибо за ответ, но к такому программированию я не склонен, т.к. паскаль изучаю сравнительно недавно.
кто-нибудь может показать пример пробежки по строке, желательно для моего случая, а то не смог найти..?


--------------------
Плагины для FL Studio и Pro Tools
Учусь на ошибках компилятора...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.10.2021 16:14
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name