Array
(
)

Selecionar somente alias ODBC em um Combobox

Michelle
   - 23 ago 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?


Ipc$
   - 23 ago 2004

Vé se isso ajuda!

Uses BDE, DbTables;
#Código


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;