Kezdőoldal » Számítástechnika » Programozás » Lazarusban ez pontosan mit...

Lazarusban ez pontosan mit jelent?

Figyelt kérdés

unit1.pas(40,10) Warning: Function result does not seem to be set


[link]


Ez lenne a program.

Pontosan milyen értéket kellene visszaadnia a függvénynek? Persze tökéletesen fut a program, de zavar ez az egy üzenet.



2017. febr. 23. 20:15
1 2
 1/19 anonim ***** válasza:

Pontos vagy nem, de gondolom a functionnak szoktak visszatérő értéket megadni.

lehetne := ....

sor hiányzik sztem.. , de nem ismerem a lazarust ..

2017. febr. 23. 20:32
Hasznos számodra ez a válasz?
 2/19 tabaki ***** válasza:

Ebben a formájában semmit nem kell visszaadnia, mivel az üzenetet már beállítottad a globális stringben -- más kérdés, hogy ez mennyire javallott. Átalakíthatod eljárássá, akkor nem kell visszaadnia értéket, adhatsz neki (tulajdonképpen szükségtelenül) egy a függvény helyes vagy helytelen lefutását jelző értéket...

A magam részéről azt tartom logikusnak, hogy ne integer, hanem string típusú legyen a függvényed, a visszaadott értéke pedig az üzenet.

2017. febr. 23. 20:33
Hasznos számodra ez a válasz?
 3/19 A kérdező kommentje:

Mindenképp függvényt kell használnom a programhoz, annak ellenére hogy eljárással ezerszer egyszerűbb lenne.

Az hogy nézne ki egészen pontosan ha a visszatérési érték string lenne?

2017. febr. 23. 20:37
 4/19 anonim ***** válasza:

Van valami olyan mód is az "új" Pascal-ok egynémelyikében, hogy valami hasonló módon adják vissza az értéket:

result:=változóneve;

2017. febr. 23. 20:45
Hasznos számodra ez a válasz?
 5/19 tabaki ***** válasza:

Valami ilyesmi:

[link]

2017. febr. 23. 20:59
Hasznos számodra ez a válasz?
 6/19 A kérdező kommentje:
Erre nekem azt írja hogy nem találja a 'lehetne' változót két helyen a függvényben.
2017. febr. 23. 21:06
 7/19 A kérdező kommentje:
Mondjuk lehet azért mert nem 'lehetne' volt a változó neve, hanem 'lehete'.. Tökéletesen működik. Köszönöm szépen a segítséget! :)
2017. febr. 23. 21:10
 8/19 tabaki ***** válasza:

Azt mondjuk nem értem, hogy hol lát(sz) a programomban 'lehetne' azonosítót, de ám legyen...

Egyébként objfpc (vagyis alap-) és Delphi-módban valóban működik resulttal is, tehát így is mennie kéne:


function TForm1.lehete(x, y, z : integer) : string;

begin

      if (x + y >= z) and (x + z >= y) and (y + z >= x) then

            result := ('Lehet háromszög.')

      else

            result := ('Nem lehet háromszög.');

end;

2017. febr. 23. 21:18
Hasznos számodra ez a válasz?
 9/19 A kérdező kommentje:
Ne értsd félre, én írtam el.
2017. febr. 23. 21:22
 10/19 anonim ***** válasza:

Vagy

Fuggveny_Neve := 'result string';

vagy

result:= 'result string';


Mindezt természetesen a függvényen belül, lehetőleg az utolsó sorba.

2017. febr. 24. 02:41
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!