Lazarus шаг за шагом

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

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

Ответить
baklan
новенький
Сообщения: 18
Зарегистрирован: 23.10.2005 21:07:00
Откуда: Москва
Контактная информация:

Сообщение baklan »

Я не знаю насколько это актуально для постоянных посетителей форума, но для желающих начать осваивать это как стартер. Не нашел в инете подобной документации ни на английском и уж тем более на русском, поэтому решил попробовать начать сам. Однако сам я ноль, но очень хочется разобраться. Если создатели проекта 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 »

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

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

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);
{Показать корни как?}

Вот здесь стою :(
Nikolay

Сообщение Nikolay »

Лабелы поставь и
MyLabel.Caption:=FloatToStr(x1);
baklan
новенький
Сообщения: 18
Зарегистрирован: 23.10.2005 21:07:00
Откуда: Москва
Контактная информация:

Сообщение baklan »

Эх... , наверное я не полный ноль, а полный минус..., не врублюсь
Sniper
постоялец
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Sniper »

Что-то типа этого:

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

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 »

Качни-ка ты приятель вот это: <a href='http://www.drkb.ru/drkb23.chm' target='_blank'>http://www.drkb.ru/drkb23.chm</a> (10Mb)
и перестанешь задавать подобного рода вопросы =)
baklan
новенький
Сообщения: 18
Зарегистрирован: 23.10.2005 21:07:00
Откуда: Москва
Контактная информация:

Сообщение baklan »

Вот за эту ссылку спасибо! Теперь есть что читать , буду разбираться. насколько я понял, программирование на дельфи - это и есть паскаль7
Sniper
постоялец
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Sniper »

да только с поправкой на *CL (VCL, LCL)
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

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> . В эллектронном виде много чего полезного.
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

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

Для начала слишком абстрактно, ИМХО. Я ее сейчас читаю, так что вижу... Лучше Фаронова что-нибудь найти.
Ответить