Board index » cppbuilder » Convert from Delphi ?
Sasan
![]() CBuilder Developer |
Convert from Delphi ?2006-01-10 10:06:13 PM cppbuilder83 Hello, I have a code for list of all SQL-server, can help me for converting this source to C++ ? Best Regards, m.t // Source ============================ procedure ListAvailableSQLServers(Names : TStrings); var RSCon: ADORecordsetConstruction; Rowset: IRowset; SourcesRowset: ISourcesRowset; SourcesRecordset: _Recordset; SourcesName, SourcesType: TField; function PtCreateADOObject(const ClassID: TGUID): IUnknown; var Status: HResult; FPUControlWord: Word; begin asm FNSTCW FPUControlWord end; Status := CoCreateInstance( CLASS_Recordset, nil, CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IUnknown, Result); asm FNCLEX FLDCW FPUControlWord end; OleCheck(Status); end; begin SourcesRecordset := PtCreateADOObject(CLASS_Recordset) as _Recordset; RSCon := SourcesRecordset as ADORecordsetConstruction; SourcesRowset := CreateComObject(ProgIDToClassID('SQLOLEDB Enumerator')) as ISourcesRowset; OleCheck(SourcesRowset.GetSourcesRowset(nil, IRowset, 0, nil, IUnknown(Rowset))); RSCon.Rowset := RowSet; with TADODataSet.Create(nil) do try Recordset := SourcesRecordset; SourcesName := FieldByName('SOURCES_NAME'); { do not localize } SourcesType := FieldByName('SOURCES_TYPE'); { do not localize } Names.BeginUpdate; try while not EOF do begin if (SourcesType.AsInteger = DBSOURCETYPE_DATASOURCE) and (SourcesName.AsString <>'') then Names.Add(SourcesName.AsString); Next; end; finally Names.EndUpdate; end; finally Free; end; end; |