[ white nigga @ 20.12.2008. 15:52 ] @
U pascalu moram da napravim da se u labeli pojavi rezultat jednacine A*X+B=0

U button komponenti sam kucao kod, program uspe da se pokrene medjutim nesto ne valja, niti se pokazuje pravi rezultat a i posle klika na button brojevi u oba edit polja se promene...


procedure TForm1.Button1Click(Sender: TObject);
var A,B:Integer;
X:real;
begin
Edit1.Text:=IntToStr(A);
Edit2.Text:=IntToStr(B);
Label3.Caption:=FloatToStr(-B/A);
end;

end.
[ mr.zhile @ 20.12.2008. 16:10 ] @
1.
ne pises
Code:

Edit1.Text:=IntToStr(A);
Edit2.Text:=IntToStr(B);

vec
Code:

A:=StrToInt(Edit1.Text);
B:=StrToInt(Edit2.Text);

zatim
uvedi jednu promenljivu u kojoij ce se smestiti rezultat...a posle je konvertuj u Sttring..
[ white nigga @ 20.12.2008. 16:17 ] @
radi, hvala puno :)
[ white nigga @ 22.12.2008. 13:58 ] @
iskrsao je jos jedan problem

isti je zadatak u pitanju, mora se resiti jednacina A*X+B=0 medjutim u slucaju kada u nekoj od edit komponenti ne unesemo broj mora da se pojavi poruka da je polje prazno.
takodje vazi i za broj 0, mora da se pojavi poruka ako je unesen broj 0 da on ne sme tu da stoji.

kod izgleda ovako:


Code:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    edA: TEdit;
    lbX: TLabel;
    edB: TEdit;
    lbNula: TLabel;
    lbRez: TLabel;
    btIzracunaj: TButton;
    lbA: TLabel;
    lbB: TLabel;
    procedure btIzracunajClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btIzracunajClick(Sender: TObject);
var A,B:Integer;
    begin
        If edA.Text='' then
        ShowMessage('Nije unet prvi broj');
        If edA.Text='0' then
        ShowMessage('Prvi broj ne sme biti nula');
        If edB.Text='' then
        ShowMessage('Nije unet drugi broj');
        If edB.Text='0' then
        ShowMessage('Drugi broj ne sme biti nula');
     A:=StrToInt(edA.Text);
     B:=StrToInt(edB.Text);
     lbRez.Caption:=FloatToStr(-B/A);
end;

end.



problem nastaje ako se ispuni jedan od uslova gde se pojavljuje showmessage, ne znam kako da prekinem dalju operaciju... znam da je potrebno else posle svakog uslova ali ne znam i koja komanda posle nje...

[Ovu poruku je menjao savkic dana 22.12.2008. u 15:47 GMT+1]
[ mr.zhile @ 22.12.2008. 16:01 ] @
probaj ovako


Code:


procedure TForm1.btIzracunajClick(Sender: TObject);
var 
    A,B:Integer;
begin
        If edA.Text='' then
          ShowMessage('Nije unet prvi broj')
        else If edA.Text='0' then
          ShowMessage('Prvi broj ne sme biti nula')
        else
           A:=StrToInt(edA.Text);
        
        If edB.Text='' then
          ShowMessage('Nije unet drugi broj')
        else If edB.Text='0' then
          ShowMessage('Drugi broj ne sme biti nula')
        else
          B:=StrToInt(edB.Text);
     
      lbRez.Caption:=FloatToStr(-B/A);
end;

[ white nigga @ 22.12.2008. 17:14 ] @
a gde treba staviti da se posle greske rezultat u labeli izbrise posto se pojavljuju neki neorganizovani brojevi i slova?

kod bi bio

begin
lbRez.Caption:='';
end;

samo ne znam gde da ga udenem posto sam ocigledno isprobao sve kombinacije sem one prave, uvek pojavljuje gresku zbog else...
[ mr.zhile @ 22.12.2008. 17:44 ] @
>>uvek pojavljuje gresku zbog else...

Koju gresku pokazuje?
Neesto nisi uneo dobro,nisam izmislio delphi,ali ovaj kod mora da sljaka!
>>a gde treba staviti da se posle greske rezultat u labeli izbrise posto se pojavljuju neki neorganizovani brojevi i slova?
Pitanjem si dao sam odgovor...razmisli logicki
Kojom granom kod krene kad dodje do greske....?tu stavi kod
[ Picsel @ 22.12.2008. 20:05 ] @
Ne poznajem Delphi, ali da nije nesto ovako:

Code:

procedure TForm1.btIzracunajClick(Sender: TObject);
var A,B:Integer;
    begin
        If edA.Text='' then 
        begin
          ShowMessage('Nije unet prvi broj');
          lbRez.Caption:='';
          exit;
        end;
             
        If edA.Text='0' then 
        begin
          ShowMessage('Prvi broj ne sme biti nula');
          lbRez.Caption:='';
          exit;
        end; 

        If edB.Text='' then
        begin 
          ShowMessage('Nije unet drugi broj');
          lbRez.Caption:='';
          exit;
        end; 

        If edB.Text='0' then
        begin
          ShowMessage('Drugi broj ne sme biti nula');
          lbRez.Caption:='';
          exit;
        end; 

     A:=StrToInt(edA.Text);
     B:=StrToInt(edB.Text);
     lbRez.Caption:=FloatToStr(-B/A);
end;
[ white nigga @ 23.12.2008. 11:41 ] @
nisam znao ovu exit; komandu,to je bio problem a kod sam stavio na pravo mesto,sve vreme sam umesto exit kucao end...

hvala!
[ LSDCracker @ 05.01.2009. 15:55 ] @
Samo mala napomena:
i prvi i drugi smeju da budu nule!

Ako je prvi nula sistem nema resenje.
Ako je drugi nula sistem ima resenje 0.
Ako su oba nule onda sistem ima beskonacno mnogo resenja.

Tu sam se ja zeznuo samo tako...
Pusti matematicari i njihova pravila... :D