Deze vraag gaat over programmeren.
Door middel van Opendialog wordt een bestand gekozen en die wordt op het scherm weergegeven,
in een StringGrid wil ik alle Alfabet letters hebben staan, onder elkaar en in de volgende kolom het aantal wat voorkomt in het geselecteerde textbestand.
ik weet dat het moet met StringGrid1.cells[i,j]:= .....
Hierbij is i de kolom en j de rij.
in de eerste kolom (kolom nul is dat) wil ik de alfabet letter hebben staan, dus de i wordt vervangen door een nul.
mijn vraag1 is hoe ik de letters in de rijen krijg. ik heb al verschillende mogelijkheden geprobeerd maar het wil maar niet lukken.
Dit is wat ik al geprobeerd heb.
Code: Selecteer alles
for k := 'A' to 'Z' do
j:=aantal[k];
stringGrid1.cells[1,0]:= IntToStr(j);
of.
for k:= 65 to 90 do
begin
alfabet:= chr(k);
for j:= 0 to 26 do
StringGrid1.cells[0,j]:= IntToStr(alfabet)
end;
ik heb een array gedeclareerd voor het tellen van de letters::
var aantal: array [‘A’..’Z’] of integer ;
De index van dit array is dus een deelbereik van het type char.
Voorbeeld: aantal[‘K’] geeft aan hoe vaak de letter ‘K’ voorkomt.
Dit is wat ik gemaakt heb:
Code: Selecteer alles
Reset(f);
while not Eof do
begin
read(f,c);
d:=Upcase(c);
for i := 'A' to 'Z' do
if d=i then
begin
aantal[d]:= aantal[d]+1;
StringGrid1.cells[1,j]:= IntToStr(aantal[d]);
end;
lees teken voor teken, maak hoofdletters van het teken (er wordt geen onderscheid gemaakt tussen hoofd en kleine letters).
ik weet nu niet precies wat ik fout doe. maar er komt in ieder geval niks in het stringgrid te staan.
hoop dat jullie mij kunnen helpen!