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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2013, 21:57   #1
Vrednaya
Пользователь
 
Регистрация: 25.03.2013
Сообщений: 11
Восклицание Переделать программу, решённую на Pascal, в Delphi

Данная программа заменяет необходимые слова на другие, введённые с клавиатуры. Помогите, пожалуйста, реализовать данную программу в Delphi.
Код:
uses crt;
var
nm,dog,ul,s,age,he,his:string;
p:char;
f1,f2:text;
{//Процедура замены слов}
Procedure rep(a,b:string; var c:string);
var
p:integer;
Begin
while (pos(a,c)<>0) do
begin
p:=pos(a,c); {Определяем номер позиции заменяемого слова}
delete(c,p,length(a)); {Удаляем исходное слово}
insert(b,c,p); {Вставляем замену}
end;
end;
Begin
clrscr;
{//Ввод данных для редактирования}
write('Введите имя ребенка: ');
readln(nm);
write('Введите пол ребенка: ');
readln(p);
write('Возраст: ');
readln(age);
write('Улица: ');
readln(ul);
write('Кличка: ');
readln(dog);
{//Замена местоимений в зависимости от пола ребенка}
if (p in ['М','м']) then
begin
he:=' он ';
his:=' его ';
end
else
begin
he:=' она ';
his:=' ее ';
end;
{//Обработка}
assign(f1,'shablon.txt');{Открываем файл с исходным текстом}
reset(f1);
assign(f2,'new.txt');
rewrite(f2); {Создаём новый файл для записи в него отредактированного текста}
while not eof(f1) do
begin
readln(f1,s);
rep('Джонни',nm,s);
rep('шесть',age,s);
rep('Корт-стрит',ul,s);
rep('Ровер',dog,s);
rep(' он ', he,s);
rep(' его ', his,s);
writeln(f2,s);
end;
Close(f1);
Close(f2);
writeln('Обработанный текст находиться в файле new.txt');
readkey;
End.



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 08.04.2013 в 22:47.
Vrednaya вне форума Ответить с цитированием
Старый 08.04.2013, 22:50   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если Вас устроит КОНСОЛЬНАЯ программа в Delphi,
тогда достаточно выкинуть из программы uses crt;
дописать
{$APPTYPE CONSOLE} (IDE Delphi добавит эту строчку автоматически, если выбрать New - Console Application)

ну и заменить readkey на ReadLn;

вот и всё.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.04.2013, 14:15   #3
Vrednaya
Пользователь
 
Регистрация: 25.03.2013
Сообщений: 11
По умолчанию

Serge_Bliznykov, консольная программа не подходит
Vrednaya вне форума Ответить с цитированием
Старый 09.04.2013, 15:50   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Serge_Bliznykov, консольная программа не подходит
сочувствую..

ну тогда создайте оконную форму. киньте на форму лейблы (TLabel) и поля ввода (TEdit) для каждого:
'Введите имя ребенка: ' - этот текст поместите в 1-й Label
'Введите пол ребенка: ' - этот текст поместите в 2-й Label (а вообще выбор пола лучше сделать через RadioButton - но тогда обработку надо чуть-чуть изменить...)
и т.д.
'Возраст: '
'Улица: '
'Кличка: '

потом на кнопку код обработки (все Readln(xx) заменить на xx := EditXX.Text;
f1,f2:text;
заменить на f1,f2:TextFile;
выкинуть CRT, ClrScr и Readkey и всё, программа на Delphi готова!


p.s. думаю, что многие с удовольствием сделают эту простую работу за Вас за небольшое вознаграждение (или даже просто за личное общение/фотку с автографом/спасибо/шоколадку и т.д. и т.п.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.04.2013, 15:58   #5
Vrednaya
Пользователь
 
Регистрация: 25.03.2013
Сообщений: 11
По умолчанию

Serge_Bliznykov, спасибо большое)
Vrednaya вне форума Ответить с цитированием
Старый 09.04.2013, 19:29   #6
domovou
Пользователь
 
Аватар для domovou
 
Регистрация: 01.09.2012
Сообщений: 88
По умолчанию

Что должно хранится в файле shablon.txt?
Программист - это не тот, кто пишет программы, а тот, чьи программы работают.
domovou вне форума Ответить с цитированием
Старый 09.04.2013, 19:52   #7
stalker1995s
Gamedeveloper
Форумчанин
 
Аватар для stalker1995s
 
Регистрация: 11.07.2012
Сообщений: 149
По умолчанию

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
nm,dog,ul,s,age,he,his:string;
p:char;
f1,f2:text;
{//Процедура замены слов}
Procedure rep(a,b:string; var c:string);
var
p:integer;
Begin
while (pos(a,c)<>0) do
begin
p:=pos(a,c); {Определяем номер позиции заменяемого слова}
delete(c,p,length(a)); {Удаляем исходное слово}
insert(b,c,p); {Вставляем замену}
end;
end;
Begin
{//Ввод данных для редактирования}
write('Введите имя ребенка: ');
readln(nm);
write('Введите пол ребенка: ');
readln(p);
write('Возраст: ');
readln(age);
write('Улица: ');
readln(ul);
write('Кличка: ');
readln(dog);
{//Замена местоимений в зависимости от пола ребенка}
if (p in ['М','м']) then
begin
he:=' он ';
his:=' его ';
end
else
begin
he:=' она ';
his:=' ее ';
end;
{//Обработка}
assign(f1,'shablon.txt');{Открываем файл с исходным текстом}
reset(f1);
assign(f2,'new.txt');
rewrite(f2); {Создаём новый файл для записи в него отредактированного текста}
while not eof(f1) do
begin
readln(f1,s);
rep('Джонни',nm,s);
rep('шесть',age,s);
rep('Корт-стрит',ul,s);
rep('Ровер',dog,s);
rep(' он ', he,s);
rep(' его ', his,s);
writeln(f2,s);
end;
Close(f1);
Close(f2);
writeln('Обработанный текст находиться в файле new.txt');
End.
Совсем не много.



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 09.04.2013 в 20:30.
stalker1995s вне форума Ответить с цитированием
Старый 09.04.2013, 20:23   #8
domovou
Пользователь
 
Аватар для domovou
 
Регистрация: 01.09.2012
Сообщений: 88
По умолчанию

stalker1995s, прочитай пост 5.
Программист - это не тот, кто пишет программы, а тот, чьи программы работают.
domovou вне форума Ответить с цитированием
Старый 09.04.2013, 20:30   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

точнее пост #3
Цитата:
Сообщение от Vrednaya
консольная программа не подходит
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.04.2013, 22:08   #10
Vrednaya
Пользователь
 
Регистрация: 25.03.2013
Сообщений: 11
По умолчанию

domovou, в файле shablon.txt хранится вот такой текст:

Сегодня у Джонни большой день. Джонни исполняется шесть лет, и по этому случаю он устраивает грандиозную вечеринку. Отпраздновать день рождения Джонни приглашены все его друзья. То-то веселья будет в доме на Корт-стрит! Лучшие друзья Джонни со всей Корт-стрит соберутся вместе. Не обойдется и без его верной собаки Ровера. Ровер - отличный пес и просто обожает Джонни. Джонни тоже любит Ровера.
Vrednaya вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переделать программу из С++ в Pascal Evelin_18 Помощь студентам 0 09.12.2012 23:49
из Delphi переобразовать в Pascal программу Олесенька Фриланс 10 14.11.2012 15:31
НУЖНО переделать код из Pascal в Delphi Len4i]{ Помощь студентам 7 06.06.2010 18:35
Из Pascal'я в Delphi переделать готовую программу. Tonik_A Фриланс 1 12.05.2010 21:38
ПОМОГИТЕ ПЕРЕДЕЛАТЬ ПРОГРАММУ ИЗ PASCAL В DELPHI Solny6ko YasnoE Помощь студентам 11 11.08.2007 15:24