Toon posts:

[delphi] percentage berekenen.

Pagina: 1
Acties:
  • 135 views sinds 30-01-2008

Verwijderd

Topicstarter
Helaas is mijn vorige topic alweer gesloten dus kan ik daar niet doorvragen, maar ik loop vast op het volgende:

dit is wat ik nu heb:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
function IsKlinker (cTeken: Char): Boolean;
  { Controleert of cTeken een klinker is.
    pre: -
  }
Begin
        cTeken := Upcase (cTeken);
        Result := cTeken in ['A', 'E', 'I', 'O', 'U'];
end;

function IsLetter (cTeken: Char): Boolean;
  { Controleert of cTeken een letter is.
    pre: -
  }
Begin
        cTeken := Upcase (cTeken);
        Result := cTeken in ['B', 'C', 'D', 'F', 'G', 'H', 'J', 'K', 'L', 'M',
                             'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'X', 'Y',
                             'Z'];
end;

function AantalKlinkers (sTekst: String): Integer;
  { Telt het aantal klinkers in sTekst
    pre: -
  }
var
ipositie,
iklinker: integer;
Cteken: char;
begin
iklinker := 0;
for ipositie := 1 to length (stekst)
do begin
   cteken := UpCase (stekst[ipositie]);
   if Isklinker(cteken)
   then
     iklinker := iklinker + 1;
     result := iklinker
   end;
end;

function AantalLetters (sTekst: String): Integer;
  { Telt het aantal letters in sTekst
    pre: -
  }
var
ipositie,
iletter: integer;
Cteken: char;
begin
iletter := 0;
for ipositie := 1 to length (stekst)
do begin
   cteken := UpCase (stekst[ipositie]);
   if Isletter(cteken)
   then
     iletter := iletter + 1;
     result := iletter
   end;
end;

procedure TForm2.Button1Click(Sender: TObject);
var
ipositie,
iklinker,
iletter,
iteller: integer;
cteken: Char;
stekst: string;
begin
stekst := edtbx.text;
ipositie := length(stekst);
iklinker := Round(ipositie/ aantalklinkers) * 100;
iletter := Round(ipositie/ aantalletters) * 100;
showmessage ('Het klinkerpercentage is' inttostr (iklinker) '% en het letterpercentage bedraagt' inttostr (iletter) '%');

end;
end.


Helaas geeft hij bij dit problemen.

code:
1
2
3
iklinker := Round(ipositie/ aantalklinkers) * 100;
iletter := Round(ipositie/ aantalletters) * 100;
showmessage ('Het klinkerpercentage is' inttostr (iklinker) '% en het letterpercentage bedraagt' inttostr (iletter) '%');


De syntax melder zegt dat :

aantalletters en aantalklinkers undefined is, dus er komt ws dus geen getal uit. Terwijl ik naar mijn weten het wel goed gedaan heb.

Wat gaat hier mis? En waarom klopt de inttostr in de showmessage nie??

en pls nou geen slotje, want ik kom er gewoon niet uit, ben hier al meer dan 5 uur mee bezig ! :(

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:34
De variable aantalletters en aantalklinkers is undefinied, maw, ze bestaan niet.

En waarom open jij bij ieder klein probleempje hier direct een topic ipv eerst eens zelf te zoeken? (En als je er al 5 uur mee bezig bent en het wil niet lukken, neem dan ff een pauze, ga ff naar buiten, en begin er dan met een frisse neus weer aan).
En waarom gaat die ShowMessage niet goed: omdat je een bepaalde operator vergeet:
code:
1
ShowMessage ('Dit is een getal: ' + IntToStr (integergetal) + ' blaaat');


Misschien begin je best eens met een simpele 'hello word' oid. Als je klein was, heb je ook eerst moeten leren gaan voordat je kon lopen. Neem een tutorial /boek en doorloop dat stap voor stap/hoofdstuk voor hoofdstuk.

https://fgheysels.github.io/


Dit topic is gesloten.