Lazarus шаг за шагом

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Сообщение baklan » 31.10.2005 12:08:47

Я не знаю насколько это актуально для постоянных посетителей форума, но для желающих начать осваивать это как стартер. Не нашел в инете подобной документации ни на английском и уж тем более на русском, поэтому решил попробовать начать сам. Однако сам я ноль, но очень хочется разобраться. Если создатели проекта FreePascal.ru заинтересованы в поддержке новичков, то я готов помогать, одновременно обучаясь :). Для этого я сделал вот что
<a href='http://www.backline.ru/lazarus/' target='_blank'>http://www.backline.ru/lazarus/</a>
Но дальше все мои попытки заканчиваются неуспехом :( . Жду ваших предложений, уважаемые форумяне.
baklan
новенький
 
Сообщения: 18
Зарегистрирован: 23.10.2005 21:07:00
Откуда: Москва

Сообщение baklan » 31.10.2005 14:02:25

Попробую уточнить , где я не понимаю что делать. Вот код формы:

Код: Выделить всё
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
 Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
 Buttons;

type

 { TForm1 }

 TForm1 = class(TForm)
   Button1: TButton;
   Edit1: TEdit;
   Edit2: TEdit;
   Edit3: TEdit;
   Label1: TLabel;
   Label2: TLabel;
   Label3: TLabel;
   Label4: TLabel;
   procedure Button1Click(Sender: TObject);
 private
   { private declarations }
 public
   { public declarations }
 end;

var
 Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin

end;

initialization
 {$I unit1.lrs}

end.  

Сейчас надо определить переменные
var a,b,c,D,x1,x2 : real;
но куда вставить эту строку? вот здесь
var
Form1: TForm1;

или перед begin в самой процедуре?
Далее :
a := {не знаю}
b := {не знаю}
c := {не знаю}
D=b*b+4*a*c;
if D<0 then
begin
{ Вывести куда? что нет корней}
return;
end;
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
{Показать корни как?}

Вот здесь стою :(
baklan
новенький
 
Сообщения: 18
Зарегистрирован: 23.10.2005 21:07:00
Откуда: Москва

Сообщение Nikolay » 31.10.2005 14:17:24

Лабелы поставь и
MyLabel.Caption:=FloatToStr(x1);
Nikolay
 

Сообщение baklan » 31.10.2005 14:32:28

Эх... , наверное я не полный ноль, а полный минус..., не врублюсь
baklan
новенький
 
Сообщения: 18
Зарегистрирован: 23.10.2005 21:07:00
Откуда: Москва

Сообщение Sniper » 31.10.2005 14:55:32

Что-то типа этого:
Код: Выделить всё
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
Buttons;

type

{ TForm1 }

TForm1 = class(TForm)
  Button1: TButton;
  Edit1: TEdit;
  Edit2: TEdit;
  Edit3: TEdit;
  Label1: TLabel;
  Label2: TLabel;
  Label3: TLabel;
  Label4: TLabel;
  procedure Button1Click(Sender: TObject);
private
  { private declarations }
public
  { public declarations }
end;

var
Form1: TForm1;
a,b,c,D,x1,x2 : real;

implementation

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin
a := StrToFloat(Edit1.Text);
b := StrToFloat(Edit2.Text);
c := StrToFloat(Edit3.Text);
D=b*b+4*a*c;
if D<0 then
label1.Caption := 'Нет корней!'
else
begin
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
end;

Label3.Caption := FloatToStr(x1);
Label4.Caption := FloatToStr(x2);
end;

initialization
{$I unit1.lrs}

end.  
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Sniper » 31.10.2005 15:02:28

Качни-ка ты приятель вот это: <a href='http://www.drkb.ru/drkb23.chm' target='_blank'>http://www.drkb.ru/drkb23.chm</a> (10Mb)
и перестанешь задавать подобного рода вопросы =)
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение baklan » 31.10.2005 15:21:47

Вот за эту ссылку спасибо! Теперь есть что читать , буду разбираться. насколько я понял, программирование на дельфи - это и есть паскаль7
baklan
новенький
 
Сообщения: 18
Зарегистрирован: 23.10.2005 21:07:00
Откуда: Москва

Сообщение Sniper » 31.10.2005 15:40:42

да только с поправкой на *CL (VCL, LCL)
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение AShen » 31.10.2005 18:15:10

To baklan: не в обиду - прочти для начала книгу Никлауса Вирта (создателя языков Паскаль, Модула-2, Оберон) "Алгоритмы + Структуры Данных = Программа". Уверен, она долго будет у тебя настольной книгой. Воспользуйся ссылкой <a href='http://www.opensource.su/product_info.php?cPath=51&products_id=81' target='_blank'>http://www.opensource.su/product_info.php?...&products_id=81</a> . В эллектронном виде много чего полезного.
Аватара пользователя
AShen
постоялец
 
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение Иван Шихалев » 02.11.2005 01:38:47

для начала книгу Никлауса Вирта

Для начала слишком абстрактно, ИМХО. Я ее сейчас читаю, так что вижу... Лучше Фаронова что-нибудь найти.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

Рейтинг@Mail.ru