Tilbage

Fejlliste bog


side 36, Øvelse 3.9

Kommaet skal fjernes, dvs. linien skal være

StrimmelMemo.Lines.Add("= "+TalEdit.Text);


Nyt3/12 2001

side 41, 2.l.o.

der mangler en linine med begin


side 41, 5.l.o.

Stavefejl: Meno1 rettes til Memo1

Form1.Memo1.Lines.LoadFromFile('spg.txt');


side 41, Øvelse 4.1

4. linie i øvelsen: Index skal være ItemIndex

Altså: Såfremt radiogroups egenskab ItemIndex gives værdien -1, slettes markeringen.


side 50, midt på

I afsnit der starter med "I for-løkken..." skal Svar rettes til Facit:

", dvs. det undersøges om Tegn er lig med Svar[1], det første tegn i Svar."

skal således rettes til

", dvs. det undersøges om Tegn er lig med Facit[1], det første tegn i Facit."


side 65, Øvelse 6.2 tredie figur siden.

Talværdierne for l er spejlvendt, rækkefølgen skal være 200,175,...,25


side 73 øverste linie

Der mangler "Form." forrest:

Form1.Image1.canvas.draw(0,0,BitMap);


side 85 const-erklæring lidt under midten af siden:

I Skilletegn mangler tegn der indgår i et linieskift.

Den korrekte erklæring af Skilletegn er

SkilleTegn = [',',';','.','!','?','-',#10,#13];

Forklaringen er at Memo.text som bruges til at analyse teksten er hele teksten i memoen incl. linieskift. Et linieskift består af to tegn med ASCII-værdierne 13 og 10, altså #13 og #10.


side 115, function KlikOpOk

Efter hver "if" mangler "(c<>nil) and "

Dvs. hele proceduren bliver

function KlikOpOk(card: TCard): boolean;
var c: TCard;
begin
  Result:=false;
  c:=m1.getTopCard;
  if (c<>nil) and (c.getSuit=Card.getSuit) and
     (c.getValue>Card.getValue) then Result:=true;
  c:=m2.getTopCard;
  if (c<>nil) and (c.getSuit=Card.getSuit) and
     (c.getValue>Card.getValue) then Result:=true;
  c:=m3.getTopCard;
  if (c<>nil) and (c.getSuit=Card.getSuit) and
     (c.getValue>Card.getValue) then Result:=true;
  c:=m4.getTopCard;
  if (c<>nil) and (c.getSuit=Card.getSuit) and<
     (c.getValue>Card.getValue) then Result:=true;
end;

Forklaring: Hvis bunken m1 er tom bliver c=nil i sætningen c:=m1.getTopCard. Og når c er nil giver c.getValue fejl; der må aldrig kaldes metoden for en reference der er nil.

- - -

Fra Erik Hjort Jacobsen har jeg modtaget en alternativ løsning. Ud over korrektion af fejlen er referencerne til de fire bunker i midten desuden erklæret som et array. Det gør det lidt nemmere at oprette bunkerne og uddele kort da man så kan bruge en for-sætning. Se eventu.pas til denne løsning.


Nyt3/12 2001

side 146, 4.l.o. og 11.l.o.

fract ændres til frac


Nyt3/12 2001

side 148, 10.l.o. og 14.l.o.

Den ene strengvariabel i eksemplet hedder streng1, dvs.

streng ændres til streng1


side 151 øverste linie

I 2. linier over overskriften "Typeerklæringer" skal = rettes til :

var Tabel = array[1..3,1..8] of integer;

rettes til

var Tabel : array[1..3,1..8] of integer;


side 169, Litteraturlisten

Titlen på [Mon] er

Delphi Pascal håndbogen


side 173, indeks

tabel 39, 71, 152 rettes til tabel 39, 71, 151


<slut>

Tilbage