Retanscription de code Delphi en C++

Signaler
Messages postés
4
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
21 juin 2010
-
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
Bonjour à tous.

Faisant de la programmation orienté objet en C++ Builder, j'ai réussi a avoir du code me permettant de faire un projet.
Le souci est que le code est en Delphi et que, pour le retranscire, c'est pas très évident.
Voici le code:


Code delphi :

Function TBD.MSJ_provider():boolean;
begin
msj_Provider:=False;
 
if length(ADOConnection_Catalogue.ConnectionString)<10 then
   ADOConnection_Catalogue.ConnectionString := 'Provider=SQLOLEDB.1;' +
                           'Integrated Security=SSPI;' +
                           'Initial Catalog=master;' +
                           'Data Source=.\WINCC;'+
                           'Auto Translate=True;'+
                           'Packet Size=4096;';
    ;
 
    ADODataSet_Catalogue.Recordset := AdoConnection_Catalogue.Commands[0].Execute;
 
    if ADODataSet_Catalogue.RecordCount=0
    then begin
        MessageDlg('Attention WinCC non trouvé', mtWarning, [mbOk], 0);
        Form1.Close;
    end
    else begin
         catalog :=Adodataset_Catalogue.Recordset.Fields[0].Value;
         Provider:='Provider:=WinCCOLEDBProvider.1;'+
                   'Data Source=.\WinCC;'+
         'Catalog='+Catalog;
         msj_Provider:=False;
    end;
end;



Merci d'avance pour vos réponses.


Guiling

1 réponse

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
15
Salut,

Quelque chose dans ce genre là (Non testé et incluant sûrement des erreurs) :

Boolean MSJ_provider() {
msj_Provider = False;
 
if( length(ADOConnection_Catalogue->ConnectionString)<10) {
   ADOConnection_Catalogue->ConnectionString = "Provider=SQLOLEDB.1;" +
                           "Integrated Security=SSPI;" +
                           "Initial Catalog=master;" +
                           "Data Source=.\WINCC;"+
                           "Auto Translate=True;"+
                           "Packet Size=4096;";
    }
 
    ADODataSet_Catalogue->Recordset = AdoConnection_Catalogue->Commands[0].Execute;
 
    if (ADODataSet_Catalogue->RecordCount == 0)
    {
        MessageDlg("Attention WinCC non trouvé", mtWarning, [mbOk], 0);
        Form1->Close;
    {
    else {
         catalog =Adodataset_Catalogue->Recordset.Fields[0].Value;
         Provider ="Provider = WinCCOLEDBProvider.1;"+
                   "Data Source=.\WinCC;"+
         "Catalog="+Catalog;
         msj_Provider = False;
    }
}