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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2010, 12:29   #1
Nikik
Пользователь
 
Регистрация: 02.06.2010
Сообщений: 15
По умолчанию Строки...

не получаеться перевести Delphi код в Pascal ОС windows 7 выдает ошибки при копиляции

Код:
uses crt;
var
Form1: TForm1;
M:array[1..80] of char;
Mps: array[1..80] of char;
i,t,dlina,ii,j,k,n,kol_vo,chislo,fi rst,last:integer;
obmen:char;
F:TextFile;
implementation

{$R *.dfm}

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); //ввод с клавиатуры
begin
case key of
'a'..'z':
begin
M[i]:=(key); i:=i+1;
end;
' ':
begin
M[i]:=(key); i:=i+1;
end;
'.':
begin
M[i]:=(key); i:=i+1;
end;

chr(8): if i<>1 then i:=i-1;
else key:=chr(0);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;
Memo1.Visible:=true;
AssignFile(F,'file.txt'); //создаем файл
{$I-}
Rewrite(F);
{$I+}
if IOResult<>0 then
begin
showmessage('действие не удалось');
exit;
end;
CloseFile(F);

chislo:=0; //находим длину
for ii:=1 to i-1 do
begin
if (M[ii]='.') then chislo:=chislo+1;
if (M[ii]='.') and (chislo=1) then dlina:=ii-1;
end;

AssignFile(F,'file.txt');
{$I-}
Append(F);
WriteLn(F,'text length : ',dlina);
Reset(F);
Memo1.Lines.LoadFromFile('file.txt' );
{$I+}
if IOResult<>0 then
begin
showmessage('действие не удалось');
exit;
end;
CloseFile(F);

k:=1; //последнее слово
j:=dlina;
while ((M[j]=' ')and (j>0)) do j:=j-1;
while ( (M[j]<>' ') and (j>0)) do
begin
Mps[k]:=M[j];
j:=j-1;
kol_vo:=k;
k:=k+1;
end;

n:=1;
k:=kol_vo;
while n<k do
begin
obmen:=Mps[n];
Mps[n]:=Mps[k];
Mps[k]:=obmen;
n:=n+1;
k:=k-1;
end;

AssignFile(F,'file.txt');
{$I-}
Append(F);
Write(F,'last word : ');
for k:=1 to kol_vo do Write(F,Mps[k]);
Reset(F);
Memo1.Lines.LoadFromFile('file.txt' );
{$I+}
if IOResult<>0 then
begin
showmessage('действие не удалось');
exit;
end;
CloseFile(F);

//сравнение
AssignFile(F,'file.txt');
{$I-}
Append(F);
WriteLn(F);
WriteLn(F,'result : ');

j:=dlina;
while ((M[j]=' ')and (j>0)) do j:=j-1;
i:=1;
while i<=(j-kol_vo) do
begin
Write(F,' ');
if M[i]=' ' then i:=i+1;
first:=i;
while (M[i]<>' ') do i:=i+1;
last:=i-1;
if (last-first+1)<>kol_vo then
begin
Write(F,M[first]);
for ii:=first+1 to last do
begin
if (M[ii]<>M[first]) then
Write(F,M[ii]);
end;
//Write(F,' ');
end
else
begin
i:=first;
chislo:=0;
k:=1;
while k<=kol_vo do
begin
if M[i]<>Mps[k] then chislo:=chislo+1;
i:=i+1;
k:=k+1;
end;
if chislo<>0 then
begin
Write(F,M[first]);
for ii:=first+1 to last do
if (M[ii]<>M[first]) then Write(F,M[ii]);
end
else i:=last+1;
end;
i:=i+1;
end;

Reset(F);
Memo1.Lines.LoadFromFile('file.txt' );
{$I+}
if IOResult<>0 then
begin showmessage('действие не удалось');
exit;
end;
CloseFile(F);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin //сброс
Memo1.Clear;
dlina:=0;
edit1.Text:='';
i:=1;
n:=0;
k:=0;
n:=0;
kol_vo:=0;
chislo:=0;
first:=0;
last:=0;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
i:=1;
end;

end.

Последний раз редактировалось Stilet; 10.06.2010 в 15:27.
Nikik вне форума Ответить с цитированием
Старый 10.06.2010, 14:16   #2
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

конечно будет выдавать ошибки, хотя бы вот в этих строках:

Form1: TForm1;

{$R *.dfm}

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

ну и дальше по коду там еще много подобных вещей
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Старый 10.06.2010, 15:17   #3
Nikik
Пользователь
 
Регистрация: 02.06.2010
Сообщений: 15
По умолчанию

мне стоит их убрать?
Nikik вне форума Ответить с цитированием
Старый 10.06.2010, 15:29   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
мне стоит их убрать?
Да. Всю программу втопку. Чтоб перейти с формы делфи на классический паскаль придется как минимум 40-50% поубирать, остальное поредактировать.
Лучше скажи какая задача, нашо тебе это надобно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.06.2010, 15:37   #5
Nikik
Пользователь
 
Регистрация: 02.06.2010
Сообщений: 15
По умолчанию

Слова текста из малых латинских букв записаны не менее чем через один пробел ;текст оканчивается точкой .Без использования конструкции string:
a) написать программу ввода такого текста с клавиатуры;
б) напечатать все слова ,отличающиеся от последнего слова ,и совпадающие с начальным отрезком алфавита (a , a b ,a b c


задача вроде несложна но гемора много ... как бэ допуск на экзамен)))

и еще были написаны программы на оси хрюши перешел на севен программы работают ...но pas файлы выдают ошибку к чему это?

Последний раз редактировалось Stilet; 15.06.2010 в 12:23.
Nikik вне форума Ответить с цитированием
Старый 10.06.2010, 21:33   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

какую ошибку и где?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.06.2010, 21:58   #7
Nikik
Пользователь
 
Регистрация: 02.06.2010
Сообщений: 15
По умолчанию

почти во всех програмках file not found...
Nikik вне форума Ответить с цитированием
Старый 10.06.2010, 22:08   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы проекты сохраняете как положено?
все файлы проекта сохранены?(*.dfm например)
(или эта ошибка во время работы программы?)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.06.2010, 22:28   #9
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
вы проекты сохраняете как положено?
все файлы проекта сохранены?(*.dfm например)
(или эта ошибка во время работы программы?)
ему требуется перевести код из Delphi в Pascal. А он его просто скопировал вместе со всеми обработчиками событий типа TForm1.Button1Click.
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Старый 10.06.2010, 22:39   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

насчет этого ему же сказали уже.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Строки - сдвиг строки в право[C++] ArniLand Общие вопросы C/C++ 1 06.04.2010 15:47
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10
Строки. Как вывести часть строки? Anfall Общие вопросы Delphi 7 26.02.2009 09:10
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27