/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Begynder spg - Units ?
Fra : -= SpookiePower=-


Dato : 25-11-01 18:05

Jeg har siddet og kæmpet med units og kan simpelthen ikke
finde ud af hvad der er galt. Jeg har lige lavet min første unit
kaldet RegneRegl hvori jeg vil plus'e to tilsendte tal 1+2 og
så sende resultatet tilbage til hovedprogrammet Unit1.


- Hovedprogrammet hvor i jeg sender 1 og 2 til Regneregl unit'en -

Uses (Har husket RegneRegl)

procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.text := Regneregl.Udregn(1,2);
end;



- Min Unit Regneregl som ikke virker -

Type
TRegneregl = Class
X,Y : Integer;
Function Udregn(X,Y : Integer):Integer;
end;

implementation

Function Udregn(X,Y : Integer): String;
Begin
Result := IntToStr(X + Y);
end;



 
 
Uffe Kousgaard (25-11-2001)
Kommentar
Fra : Uffe Kousgaard


Dato : 25-11-01 19:40

Hej

Du får blandet klasser ind i dit eksempel og det er vist rent "overkill" til
denne type opgave. Du kan blot lave det som en almindelig funktion:

unit regneregel;

interface

Function Udregn(X,Y : Integer): String;

implementation

Function Udregn(X,Y : Integer): String;
Begin
try
Result := IntToStr(X + Y);
except
on exception do result:= 'X+Y er tilsammen for store';
end;
end;

Med klasse / objekter skal der nogle flere linier kode til.

Hilsen
Uffe

"-= SpookiePower=-" <boxjunk2600@hotmail.com> wrote in message
news:9tr83r$muq$1@news.cybercity.dk...
> Jeg har siddet og kæmpet med units og kan simpelthen ikke
> finde ud af hvad der er galt. Jeg har lige lavet min første unit
> kaldet RegneRegl hvori jeg vil plus'e to tilsendte tal 1+2 og
> så sende resultatet tilbage til hovedprogrammet Unit1.
>
>
> - Hovedprogrammet hvor i jeg sender 1 og 2 til Regneregl unit'en -
>
> Uses (Har husket RegneRegl)
>
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> edit1.text := Regneregl.Udregn(1,2);
> end;
>
>
>
> - Min Unit Regneregl som ikke virker -
>
> Type
> TRegneregl = Class
> X,Y : Integer;
> Function Udregn(X,Y : Integer):Integer;
> end;
>
> implementation
>
> Function Udregn(X,Y : Integer): String;
> Begin
> Result := IntToStr(X + Y);
> end;
>
>



-= SpookiePower=- (25-11-2001)
Kommentar
Fra : -= SpookiePower=-


Dato : 25-11-01 20:29

Tak for hjælpen Uffe.



R. A. Larsen (26-11-2001)
Kommentar
Fra : R. A. Larsen


Dato : 26-11-01 11:14

"-= SpookiePower=-" <boxjunk2600@hotmail.com> wrote:
>
> Jeg har siddet og kæmpet med units og kan simpelthen ikke
> finde ud af hvad der er galt. Jeg har lige lavet min første unit
> kaldet RegneRegl hvori jeg vil plus'e to tilsendte tal 1+2 og
> så sende resultatet tilbage til hovedprogrammet Unit1.

Var fejlteksten ikke god nok?

I implementations-delen af RegneRegl skal du rette:

Function Udregn(X,Y : Integer): String;

til:

Function TRegneregl.Udregn(X,Y : Integer): String;

Det gør, at Udregn() kommer til at høre til klassen RegneRegl. Som du har skrevet
det, er Udregn() en almindelig funktion.

Desuden bruger du ikke variablerne X og Y i klassen, så jeg ville oprette den som:

Type
TRegneregl = Class
public
Function Udregn(X,Y : Integer):Integer;
end;

("public" betyder at alle kan kalde funktionen. Det behøves måske ikke, men så er
du sikker, hvis du senere opretter "private" eller "protected" variabler).

PS. Næste gang du har problemer, så kom med alle fejlmeddelelserne. De siger en
hel del om, hvad løsningen kunne være.

MVH, René
--
Using Virtual Access
http://www.vamail.com


Uffe Kousgaard (26-11-2001)
Kommentar
Fra : Uffe Kousgaard


Dato : 26-11-01 11:24

Hej René

Dine rettelser er ikke tilstrækkelige, da du mangler at tilføje følgende i
hovedprogrammet:

var
regneregel: Tregneregl;

procedure TForm1.create(sender: Tobject);
begin
regneregel:= Tregneregl.create();
end;

og så skal der selvfølgelig også kaldes regneregl.free når programmet
afsluttes.

Hilsen
Uffe




-= SpookiePower=- (26-11-2001)
Kommentar
Fra : -= SpookiePower=-


Dato : 26-11-01 20:22


"R. A. Larsen" <r_larsen@image.dk> wrote in message
news:VA.00000135.00056ef4@r_larsen...

<snip>

> Var fejlteksten ikke god nok?


Ikke for mit vedkomne, jeg fattede ikke hvad fejlmeldingen betød. Men jeg
burde selvfølgelig have taget den med her i gruppen.



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste