Selecionar somente alias ODBC em um Combobox

23/08/2004

Olá,

Programei um componente TComboBox para receber uma lista de Aliases que estão no BDE.
Para isso utilizei o seguinte código:

procedure TfrmSeleAlias.FormCreate(Sender: TObject);
var
MyStringList: TStringList;
begin
MyStringList := TStringList.Create;
try
session1.Active:=true;
session1.GetDatabaseNames(MyStringList);
ComboBox1.Items := MyStringList;
finally
MyStringList.Free;
end;
end;

Isso me traz todos os aliases listados no BDE., só que eu preciso mostrar no ComboBox somente os aliases do tipo de drive InterSystems ODBC.
Como faço isso?


Michelle

Respostas

23/08/2004

Ipc$

Vé se isso ajuda!

Uses BDE, DbTables;
var TmpCursor: hDbiCur; Database: DBDesc; rslt: DbiResult;
begin
    Check(DbiInit(nil));
    Check(DbiOpenDatabaseList(TmpCursor));
    repeat
      rslt:= DbiGetNextRecord(TmpCursor, dbiNOLOCK, @Database, nil);
      if (rslt <> DBIERR_EOF) and then
         (Pos(´INTERSYSTEMS´,
         UpperCase(StrPas(Database.szDbType))) > 0) then
        ComboBox1.Items.Add(StrPas(Database.szName));
    until (rslt <> DBIERR_NONE);
    Check(DbiCloseCursor(TmpCursor));
end;



Responder Citar