Pues mira, con dos simples sentencias SQL tienes todos los datos que necesitas.
Los pasos son los siguientes
1.- Pega en un Datamodule (o formulario) un TQuery
2.- Si utilizas un TDatabase (lo recomendado), linca la propiedad Database del TQuery al TDatabase (como si de un TTable se tratara). Si no utilizas un TDataset, pues haz lo mismo que haces con los TTables
3.- En el sitio donde pretendas mostrar el grafico (un TButton??) pon el codigo siguiente
Código:
var NumPersonas : integer;
NumMujeres : integer;
NumHombres : integer;
begin
// calculamos nº de personal
Query1.Close;
Query1.SQL.Text := 'select count(*) from usuarios';
try
Query1.Open;
except
ShowMessage('Error en query');
Exit;
end;
NumPersonas := Query1.Fields[0].AsInteger;
// calculamos nº de mujeres
Query1.Close;
Query1.SQL.Text := 'select count(*) from usuarios where sexo = true';
try
Query1.Open;
except
ShowMessage('Error en query');
Exit;
end;
NumMujeres := Query1.Fields[0].AsInteger;
// Numero de hombres
NumHombres := NumPersonas - NumMujeres;
Con la primera Query, lo que hacemos es contar (
Count) todos los registros (
(*)) que tiene nuestra tabla (en el ejemplo la tabla se llamaria
usuarios
Luego, el resultado de la Query la pasamos a una variable.
Con la segunda Query, lo que hacemos es contar (
Count) cuantos registro (
(*)) cumplen con la condicion (
where) que es mujer (
sexo = true)
Y pasamos el resultado de la Query a otra variable
Ahora solo te queda restar las dos variables para saber el numero de usuarios del sexo opuesto.
--------->
El segundo metodo, el de recorrer el Dataset (el TTable) es muy sencillo. Solo basta con hacer un bucle
while..do controlando el campo que deseas, es decir
Código:
var NumPersonas : integer;
NumMujeres : integer;
NumHombres : integer;
begin
NumPersonas := 0;
NumMujeres := 0;
NumHombres := 0;
Table1.First;
while not Table1.Eof do
begin
// incremetamos nº de personas
Inc(NumPersonas);
// hacemos comprobacion para saber sexo
if Table1.FieldByName('sexo').AsBoolean then
Inc(NumMujeres)
else Inc(NumHombres);
// pasamos al siguiente registro del Dataset
Table1.Next;
end;
Personalmente, te recomiendo el primer metodo (siempre ha de haber una primera vez para ponerse con el SQL!!!

) por su potencia y rendimiento
Bueno, espero que estas explicaciones te sirvan