Podstawy...

0

Witam,
Wlasnie zaczynam sie uczyc Delphi i trafilem na ta stronke :-) na razie przerabiam proscizny w stylu dodawanie i.t.d :-) No i mam pytanko.
Mam problemy z dzieleniem w delphi. Kiedy w kodzie wpisuje znak dzielenia ("/") wylatuje mi cos takiego:
[Error] Unit1.pas(38): Incompatible types: 'Integer' and 'Extended'
Domyslam sie o co chodzi, ale nie wiem za bardzo jak to zmienic. Wczesniej kolega podal mi komende floattostr i ona dziala, ale nie zupelnie tak jakbym chcial (do tego sa problemy przy robieniu ograniczen - tzn np chce, zeby wynik powyzej 99 byl wpisywany jako 99, a przy floattostr to nie dziala wlasciwie :-( ).
Chcialbym tez moc uzywac ulamkow (zeby dalo sie wpisac liczbe i cos po przecinku). Oczywiscie wynik wtedy tez najprawdopodobniej bedzie zawieral jakies liczby po przecinku.
Z gory pytanie z tego tematu - jak zaokraglac wynik do np 1 miejsca po przecinku (przy floattostr wyskakiwalo tych liczb po przecinku pelno :-)) ??
Nastepne pytanie to jak zrobic cos takiego, zeby po uruchomieniu programu zamiast standardowej nazwy okna na pasku zadan pojawiala sie tylko mala ikonka po prawej na tym wlasnie pasku (ktora mozna zreszta ukryc w winXP). Niestety nie wiem jak to sie konkretnie nazywa.
Ps. sorki, ze pytam o takie podstawy, ale od czegos trzeba zaczac :-)
Z gory dziekuje za odpowiedzi i pozdrawiam

0

/ używa się przy dzieleeniu liczb zmiennoprzecinkowych. Jezeli chcesz podzielic liczby calkowite uzywaj operatora DIV

0

Mam problemy z dzieleniem w delphi. Kiedy w kodzie wpisuje znak dzielenia ("/") wylatuje mi cos takiego:
[Error] Unit1.pas(38): Incompatible types: 'Integer' and 'Extended'
Jesli uzywasz typu Integer to korzystaj z dzielenia calkowitego.

Zamiast "/" pisz div (ang. division)

Wczesniej kolega podal mi komende floattostr i ona dziala, ale nie zupelnie tak jakbym chcial

FloatToStr Zamienia liczbe typu zmiennoprzecinkowego na łańcuch znaków

(do tego sa problemy przy robieniu ograniczen - tzn np chce, zeby wynik powyzej 99 byl wpisywany jako 99, a przy floattostr to nie dziala wlasciwie :-( ).

Nie jestem pewien czy dobrze Cie rozumiem, ale musisz zapisac

var
Wynik : Integer;
begin
Wynik := 1000000 div 10;
if Wynik > 99 then Wynik := 99;
end;

Chcialbym tez moc uzywac ulamkow (zeby dalo sie wpisac liczbe i cos po przecinku). Oczywiscie wynik wtedy tez najprawdopodobniej bedzie zawieral jakies liczby po przecinku.

Musisz zadeklarowac w takim razie zmienną zmiennoprzecinkową:

var
Zmienna : Real;
begin
Zmienna := 3.0052003;
end;

Z gory pytanie z tego tematu - jak zaokraglac wynik do np 1 miejsca po przecinku (przy floattostr wyskakiwalo tych liczb po przecinku pelno :-)) ??

Chyba najlepiej wytlumaczy to kodzik:)

var
R : Real;
S : String;
begin
R:=1.33333;
S:=FormatFloat('0.00', r);
end;

Nastepne pytanie to jak zrobic cos takiego, zeby po uruchomieniu programu zamiast standardowej nazwy okna na pasku zadan pojawiala sie tylko mala ikonka po prawej na tym wlasnie pasku (ktora mozna zreszta ukryc w winXP). Niestety nie wiem jak to sie konkretnie nazywa.

Ten Pasek to Tray
http://www.4programmers.net/view_faq.php?id=62

0

Lub Round() np.

a,b,c:Integer;
a:=6;
b:=2;
c:=Round(a/b);

;-)

0

!!!!!! SPAM !!!!!!
http://vogel.iglu.cz - poczytaj sobie mój kurs :)
!!!!!! SPAM !!!!!!

0

Vogel - wg mojego skromnego zdania twoj kurs nie jest zbytnio przystepny :D
Zreszta ja chcialem konkretne odpowiedzi a nie jakis kurs pascala :D
Ps. jak bede miec troche wiecej czasu to sprobuje cos z tego co piszesz zrozumiec :-)

0

Najlepiej kup sobie ksiażkę o Delphi!!.

0

Vogel - wg mojego skromnego zdania twoj kurs nie jest zbytnio przystepny :D

Kwiestia gustu :) LKS'owi się podoba :)

Zreszta ja chcialem konkretne odpowiedzi a nie jakis kurs pascala :D

Przewagą kursu nad odpowiedzią jest to, że po przeczytaniu kursu będziesz wiedział więcej i zadawał mniej pytań na forum :)

Ps. jak bede miec troche wiecej czasu to sprobuje cos z tego co piszesz zrozumiec :-)

Dzięki :)

0

Adi - a znasz jakas ksiazke (niedroga) ktora mozna polecic totalnie poczatkujacemu ?? Kumpel ma ksiazke o delphi (jakies takie 3 grube tomy), ale z tamtad to ja w ogóle nic nie kapuje :-)

0

Przeanalizuj ten krótki programik, myślę że znajdziesz tu odpowiedź.
Umieść na formatce 3 komponenty TEdit i Button. W Edit1 wpisujesz mnożną, w Edit2 mnożnik.Po naciśnięciu Entera lub Buttona w Edit3 zostanie wyświetlony wynik mnożenia.Pamiętaj, że w Delphi 7 wpisujemy liczby zmiennoprzecinkowe z użyciem przecinka, a we wcześniejszych wersjach-kropki.

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin //jeśli wciśniesz ENTER
key:=#0; //wyzeruj wartość przycisku
edit2.setfocus; //wstaw kursor do Edit2
end;
end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13
then begin
key:=#0;
button1click(sender); //pezejdź do procedury Button1Click
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c:double; //deklarujesz zmienne zmiennoprzecinkowe
begin
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
c:=a*b;
edit3.Text:=floattostrf(c,fffixed,10,3); {funkcja, która zamienia liczbę zmiennoprzecinkową na text. W nawiasie wpisujesz nazwę zmiennej(c),fffixed-to sposób przedstawienia tej liczby, 10-określa na ilu pozycjach będzie przedstawiona ta liczba(włączając w to przecinek, 3-określa ile miejsc po przecinku ma być wyświetlone }

end;

end.

0

Adi - a znasz jakas ksiazke (niedroga) ktora mozna polecic totalnie poczatkujacemu ?? Kumpel ma ksiazke o delphi (jakies takie 3 grube tomy), ale z tamtad to ja w ogóle nic nie kapuje :-)

Jest nawet reklama na 4P: Delphi 6 Ćwiczenia praktyczne, czy jakoś tak, tam nauczysz się podstaw...;-):-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1