Mi a hiba ebben a a kis Pascal programban?
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TAlapablak }
TAlapablak = class(TForm)
AtirGomb: TButton;
RandomSzov: TLabel;
Atir: TButton;
Label1: TLabel;
procedure AtirClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
Function Vszov (): String;
procedure AtirGombClick (Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Alapablak: TAlapablak;
implementation
{$R *.lfm}
{ TAlapablak }
function TAlapablak. Vszov ():String;
Var i:Integer;
Begin
for i:=1 to Random(12)+1 do Vszov:=Vszov+Chr (Random (100)+60);
end;
procedure TAlapablak.FormCreate(Sender: TObject);
begin
Randomize;
end;
procedure TAlapablak.AtirClick(Sender: TObject);
begin
end;
procedure TAlapablak.AtirGombClick(Sender: TObject);
begin
RandomSzov.caption:=AnsiToUTF8 (Vszov());
end;
end.
Youtube-on láttam egy ilyen lazarus videót, és meg a akartam csinálni csak ezt írta ki: unit1.pas(41,43) Warning: Function result variable does not seem to initialized
Project "project1" successfully built
Szóval, pont, ami a feladata lenne, azt nem tudja megcsinálni. Lehet valami elírás, csak most kezdem tanulni, szóval köszi előre is a segítséget:).
A hibaüzenet azt írja, hogy a 41. sorban levő függvény visszatérési értéke nincs megadva.
És valóban, leszámoltam a 41. sort, megnéztem az ott levő függvényt, tényleg nem böfög vissza semmit.
Találd ki, mi a szerepe a függvénynek, mi használja, és annak megfelelően adj vissza egy értéket, persze olyan típusút, amilyet a függvény visszaad a függvényfej szerint.
A "Vszov" szimbólumot nem használhatod úgy, mint egy változót, nincs induló értéke sem. Egy külön stringben rakd össze a vissztérő értéket, és a végén csak egyszer add ki ezt:
Vszov := valami;
Tehát
var valami:string;
valami:="";
for i:=1 to Random(12)+1 do valami:=valami+Chr (Random (100)+60);
Vszov=valami;
Szia.
Szerintem van ott egy felesleges szóköz a függvénynél : function TAlapablak. Vszov ():String; helyett próbáld meg ezt : function TAlapablak.Vszov ():String;
Sok sikert.
Üdv.
Köszönöm:)
Mit ajánlasz honnan tanuljak programozni? Tudsz valami jó könyvet, vagy bármit(és egy programot pl. az én esetemben a lazarus), amivel egészen jól meg lehet tanulni a Pascalt, Phytont, Perlt?
Nagyon jó a prog.ide.sk oldal, ha elakadsz szívesen segítek - bár még tart felénk a szüret, így sok időm nincs novemberig -
Az én világom a Pascal és Delphi de az életben sz@rt sem érsz velük mivel C alapú minden felkapott nyelv. Nagyon jó tanulásra a Pascal, hogy megértsd a programozás lényegét, de azon túl semmi. Delphi-ben is szinte minden megvalósítható, de a legtöbb kritikus forráskód C-ben található. Ezért 'illik' több nyelvet is ismerni ha valamire jutni akarsz.
:D lusta voltam vegigolvasni, nem kerestem a hibat de csak ovatosan a pascal unitokkal, mert mindig van veluk valami baj(legalabbis miota elvault). Javaslom a Lazarus-t pascal irasra, de inkabb C-t kezdj el. Iskolaba nekem is pascalt tanitanak de semmire sem lesz jo :D
Pascal=didaktikus nyelv, kezdo programozonak a legjobb hogy megertse mi es miert
Tovabbi sok sikert.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!