dit is wat ik heb gemaakt tot nu toe, het programma moet een bestand met allemaal cijfers(van 4 of 5 getallen) en letters(i of m) vertalen naar het aantal letters en gem van een rij, het is me voor zover gelukt tot het punt dat ik moet bepalen als een str int is of niet, daar krijg ik covert error...
wie weet wat hier mis aan is?
wie weet wat hier mis aan is?
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
| Function tform1.IsNumber(str:string):boolean;
begin
result:=true;
try
strtoint(str);
except
on exception do result:=false;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
data : textfile;
text,tex: string;
tot,count,aantal,A,n: integer;
gem: real;
begin
assignfile(data, 'puredata.txt');
reset(data);
while not eof(data) do
begin
readln(data,text);
count:=0;
tot:=0;
aantal:=0;
for n:= 1 to 31 do
begin
tex:= copy(text, 1, pos((chr(9)),text)-1);
text:= copy(text, pos((chr(9)),text)+1, length(text));
if (tex = 'i') or (tex = 'm') then
begin
count:= count + 1
end;
if IsNumber(tex) then
begin
A:= strtoint(tex);
tot := tot + A;
aantal :=aantal +1;
end;
end;
tex:= copy(text, 1, length(text));
if (tex = 'i') or (tex = 'm') then
begin
count:= count + 1
end;
if IsNumber(tex) then
begin
A:= strtoint(tex);
tot := tot + A;
aantal :=aantal +1;
end;
end;
memo1.lines.add(inttostr(count));
memo1.lines.add(inttostr(tot));
gem:= tot/aantal;
memo1.lines.add(floattostr(gem));
closefile(data);
end; |