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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2014, 22:28   #1
v0velo
Новичок
Джуниор
 
Регистрация: 28.11.2014
Сообщений: 2
Сообщение Создание прикладной программы (Pascal/Delphi)

Здравствуйте.
Программка простенькая: Решение системы из двух линейных уравнений.
У меня возникла проблема с "связыванием" кода с визуальными компонентами программы Borland Delphi 7.
Вот код самой программы (надеюсь, правильный):
Код:
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
var a1,b1,c1,a2,b2,c2,d,x,y:real;
begin
writeln('Vvedite koefficienty uravnenya 1:');
readln(a1,b1,c1);
writeln('Vvedite koefficienty uravnenya 2:');
readln(a2,b2,c2);
d:=a1*b2-a2*b1;
if d=0 then write('Systema ne opredelena')
else
 begin
  x:=(c1*b2-c2*b1)/d;
  y:=(a1*c2-a2*c1)/d;
  write('x=',x:0:2,'  y=',y:0:2);
 end;
readln
end.
И вот наброски компонентов на форме:

http://hkar.ru/wM1f

Как правильно отнести переменные к визульным объектам Edit? То есть, допустим, чтобы бралось значение для переменной а1, которое будет вводится в поле компонента Edit1...Или, возможно, я неправильные компоненты использую на форме? (плохо знаком с Delphi)

P.S.Я правильно понял, что данный код нужно расписывать в процедуре на компоненте "Кнопка"?

Извиняюсь, если что-то коряво изложено.

Последний раз редактировалось v0velo; 28.11.2014 в 22:48.
v0velo вне форума Ответить с цитированием
Старый 28.11.2014, 22:48   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от v0velo Посмотреть сообщение
.. P.S.Я правильно понял, что данный код нужно расписывать в процедуре на компоненте "Кнопка"?..
Да, только создать надо не консольное приложение, а просто приложение, то есть с формой.
На форму ложите например несколько Edit или Memo или еще что, откуда вводить. И компоненты, куда выводить.
И кнопку Button
Потом тык-тык на кнопку, и создаете обработчик события клик на кнопке.
Вот пример. Вводится в один Эдит число, умножается на 2, и результат выводится на другой Эдит.
Весь код модуля не привожу, только саму процедуру-обработчик.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var x,y:Integer;
begin
 x:=StrToInt(Edit1.Text);
 y:=2*x;
 Edit2.Text:=IntToStr(y);
end;
type_Oleg вне форума Ответить с цитированием
Старый 29.11.2014, 01:42   #3
v0velo
Новичок
Джуниор
 
Регистрация: 28.11.2014
Сообщений: 2
По умолчанию

спасибо, все пошло, но у меня новая трудность возникла:
Код:
procedure TForm1.Button1Click(Sender: TObject);

var a1,b1,c1,a2,b2,c2,d,x,y:real;
begin
a1:=strtoint(edit1.Text);
b1:=strtoint(edit3.text);
c1:=strtoint(edit5.Text);
a2:=strtoint(edit2.text);
b2:=strtoint(edit4.Text);
c2:=strtoint(edit6.Text);
d:=a1*b2-a2*b1;
if d=0 then edit7.Text:=inttostr(d)
else
begin
  x:=(c1*b2-c2*b1)/d;
  y:=(a1*c2-a2*c1)/d;
  edit7.Text:=write('x=',x,'y=',y);
 end;

end;

end.
Ругается на строчку с if (вылетает ошибка: [Error] Unit1.pas(52): There is no overloaded version of 'IntToStr' that can be called with these arguments
[Error] Unit1.pas(57): Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas')

Я что-то с типами данных попутал?

P.S. Насчет строки с IF - все исправил, нашел на форумах, что, если используется real, то нужно исправить inttostr на floattostr. Теперь не ругается на эту строку, а ругается на эту: edit7.Text:=write('x=',x,'y=',y);
[Error] Unit1.pas(57): Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Как правильно вывести результаты по x и y сообщением в компонент edit7?

Последний раз редактировалось v0velo; 29.11.2014 в 01:57.
v0velo вне форума Ответить с цитированием
Старый 29.11.2014, 01:56   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

У меня же были целые числа, поэтому IntToStr, а у вас d:real , поэтому надо FloatToStr
Кстати, вводятся у вас тоже целые. Это не ошибка в смысле синтаксиса, но если попытаетесь ввести нецелые, будет аварийный выход.
А это -
Код:
edit7.Text:=write('x=',x,'y=',y);
вообще чушь. Как это - свойство Text, имеющее тип string, равно ... процедуре? Вообще, как можно что-то приравнивать процедуре?

Здесь вообще не нужны эти Write, ReadLn
type_Oleg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi или Pascal создание программы для расчета стоимости тура Мария_1990 Помощь студентам 3 28.01.2014 12:19
Создать дистрибутивный пакет прикладной программы с БД MSSQL. AvRob БД в Delphi 2 08.02.2013 07:25
создание программы в Pascal Александр Волобуев Паскаль, Turbo Pascal, PascalABC.NET 7 26.12.2010 19:29
Создание программы в Delphi strserega Помощь студентам 5 01.04.2010 07:08