Ciao e benvenuto nel forum. Per prima cosa le linee finiscono con il ; come ti faccio vedere io qui sotto:
program PostCount;
var i,n,PostNo,PostPos,PostNeg,PostNeu:integer;
begin
PostNo:= 0;
PostPos:= 0;
PostNeg:= 0;
PostNeu:=0;
for i:= 0 to n-1 do
begin
PostNo:= PostNo++;
if PostMood[PostNo] = "pos" then PostPos := PostPos++;
if PostMood[PostNo] = "neg" then PostPos := PostNeg++;
if PostMood[PostNo] = "neu" then PostPos := PostNeu++;
PostNo := 0;
end;
Writeln(PostPos," ", PostNeg, " ", PostNeu, " ");
readln;
end.
Secondo la variabile n su cui tu hai innescato il ciclo for non è stata inizializzata quindi non entrerà mai nel ciclo. Terzo l'array di stringhe chiamato PostMood non è stato dichiarato. E per finire questo programma non si collega a nessun database, i dati li tira fuori dall'array di stringhe PostMood che però non viene valorizzato. Insomma come logica non può funzionare.
benvenuto Linux63
c'erano parecchie cose da sistemare ;)
forse un esempio è più utile
program project1;
var i,n,
// PostNo, <- inutile, usa la i del for
PostPos,PostNeg,PostNeu:integer;
// dichiarazione array
PostMood: array[0..9] of string;
begin
// popola array
PostMood[0] := 'pos';
PostMood[1] := 'neu';
PostMood[2] := 'neg';
PostMood[3] := 'pos';
PostMood[4] := 'pos';
PostMood[5] := 'neu';
PostMood[6] := 'pos';
PostMood[7] := 'neg';
PostMood[8] := 'neu';
PostMood[9] := 'neu';
n:=Length(PostMood);
// sorgente originale
// PostNo:= 0;
PostPos:= 0;
PostNeg:= 0;
PostNeu:=0;
for i:= 0 to n-1 do
begin
if PostMood[i] = 'pos' then PostPos := PostPos + 1;
if PostMood[i] = 'neg' then PostNeg += 1;
if PostMood[i] = 'neu' then inc(PostNeu);
end;
Writeln('PostPos':10, 'PostNeg':10, 'PostNeu':10);
Writeln(PostPos :10, PostNeg :10, PostNeu :10);
Writeln('Premi un tasto');
readln;
end.