Al fin encontré lo que buscaba. Muchas gracias Neftali y mamaro por las sugerencias. Me ayudó para encontrar el camino.
Al final no usé BDE porque los datos VARCHAR del firebird no era leídos. Así que usé dbexpress, configurándolo previamente en el Turbo Delphi. Todo sin problemas. Aquí de el código de la aplicación consola que se conecta a una base de datos firebird utilizando dbexpress para que le sirva de referencia a alguien que pase por la misma situación que yo.
Saludos
Código Delphi
[-]program p01Select;
{$APPTYPE CONSOLE}
uses
SysUtils,
DBXpress,
SqlExpr,
DB;
var
Conn: TSQLConnection;
ds: TSQLDataSet;
i,j: Integer;
query:String;
s1,s2:String;
begin
Conn := TSQLConnection.Create(nil);
try
Conn.LoadParamsOnConnect:=True;
Conn.ConnectionName:='agendaTest';
Conn.LoginPrompt:=False;
Conn.Connected:=True;
ds:=TSQLDataSet.Create(nil);
ds.SQLConnection:=Conn;
s1:='%n';
s2:='M%';
query:=Concat(
'select * from contacto ',
'where nombre like ''',s1,''' ',
'and apellido like ''',s2,'''');
writeln(query);
ds.CommandText:=query;
ds.Open;
ds.First;
for I := 0 to ds.Fields.Count - 1 do
begin
write(ds.Fields[i].DisplayName,' : ');
end;
writeln;
writeln('-------------------------------------------');
j:=10;
while (not ds.Eof) and (j>0) do
begin
for I := 0 to ds.Fields.Count - 1 do
begin
write(ds.Fields[i].AsString,' : ');
end;
writeln;
ds.Next;
Dec(j);
end;
ds.Close;
Conn.Close;
ReadLn;
except
on e:Exception do
begin
if Assigned(Conn) then
begin
Writeln('Excepcion:',e.Message);
Conn.Close;
Readln;
end;
end;
end;
end.