首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

想找人把Delphi源码改为BCB代码,该如何解决

2012-03-18 
想找人把Delphi源码改为BCB代码在Delphi中选ProjectImportTypeLibrary命令,在对话框中选ImportMicrosoftSh

想找人把Delphi源码改为BCB代码
在Delphi中选Project       Import       Type       Library命令,在对话框中选Import       Microsoft       Shell       Controls       And       Automation类型库,点Install后,在Delphi的ActiveX控件板上就多了TShellFolderItem,TShellLinkObject,TShellFolderView,TShell,TSearchCommand等几个组件      
       
    const      
                discVerb       =       '禁用(&B) ';      
                connVerb       =       '启用(&A) ';      
       
    function       TForm1.DisableEthernet(const       EthName,State:       String):       Boolean;      
    var      
            cpFolder:       Folder;      
            nwFolder:       Folder;      
            nVerbs:       FolderItemVerbs;      
            i,j,k:       integer;      
            aItem:       TListItem;      
    begin      
            result       :=       false;      
            cpFolder       :=       Form1.shell1.NameSpace(3);      
            if       cpFolder       <>       nil       then      
            begin      
                    for       i       :=       0       to       cpFolder.items.Count-1       do      
                    begin      
                            if       cpFolder.Items.Item(i).Name       =       '网络和拨号连接 '       then      
                            begin      
                                    nwFolder       :=       cpFolder.items.item(i).GetFolder       as       Folder;      
                                    if       nwFolder       <>       nil       then      
                                    begin      
                                            for       j       :=0       to       nwFolder.items.Count-1       do      


                                            begin      
                                                    if       nwFolder.Items.Item(j).Name       =       EthName       then      
                                                    begin      
                                                            nVerbs       :=       nwFolder.Items.Item(j).Verbs;      
                                                            for       k       :=       0       to           nVerbs.Count-1       do      
                                                        begin      
                                                                    if       nVerbs.Item(k).Name       =       State       then      
                                                                    begin      
                                                                            nVerbs.Item(k).DoIt;      
                                                                            aItem       :=       Form1.lvLog.Items.Add;      
                                                                            aItem.Caption       :=       FormatDateTime( 'yyyy-mm-dd       hh:mm:ss ',now);      
                                                                            aItem.SubItems.Add(EthName);      


                                                                            aItem.SubItems.Add(State);      
                                                                            Result       :=       True;      
                                                                    end;      
                                                            end;      
                                                    end;      
                                            end;      
                                    end;      
                            end;      
                    end;      
                    if       nwFolder       =       nil       then      
                                showmessage( 'Network       and       Dial-up       Connections       not       found ');      
            end      
            else      
                    showmessage( 'control       panel       not       found ');      
       
    end;      
       
       
    procedure       TForm1.Button1Click(Sender:       TObject);      
    begin      
            DisableEthernet( '本地连接 ',discVerb);      
    end;      
       
    procedure       TForm1.Button2Click(Sender:       TObject);      
    begin      
            DisableEthernet( '本地连接 ',connVerb);      


    end;      


[解决办法]
Bool TForm1.DisableEthernet(const String EthName,const String State)
{
Folder *cpFolder;
Folder *nwFolder;
nVerbs: FolderItemVerbs;
int i,j,k;
TListItem *aItem;

cpFolder = Form1-> shell1-> NameSpace(3);
if( cpFolder != null)
{
for(i = 0 ; i < cpFolder-> items-> Count; i++)
{
if (cpFolder-> Items-> Item(i)-> Name == "网络和拨号连接 " )
{
nwFolder = cpFolder-> items-> item(i)-> GetFolder;
if ( nwFolder != null )
{
for( j =0 ; j < nwFolder-> items-> Count-1 ; j++)
{
if ( nwFolder-> Items-> Item(j)-> Name = EthName )
{
nVerbs = nwFolder-> Items-> Item(j)-> Verbs;
for( k = 0 ; k < nVerbs.Count; k++)
{
if( nVerbs-> Item(k)-> Name == State)
{
nVerbs-> Item(k)-> DoIt;
aItem = Form1-> lvLog-> Items-> Add;
aItem-> Caption = FormatDateTime( "yyyy-mm-dd hh:mm:ss ",now());
aItem-> SubItems-> Add(EthName);
aItem-> SubItems-> Add(State);

}
}
}
}
}
}
}
if( nwFolder == NULL )
showmessage( "Network and Dial-up Connections not found ");
}
else
showmessage( "control panel not found ");

}

[解决办法]
貌似很新的编程吗,
.net 2005后,vista ,msdn2的.要不也不会有shellitem了.
xp也需要升级的到最新才好用的。

1和DELPHIY,一样你安装下下就可以了.应该引用都帮你引用好了.
我现在没时间帮你试,应该不难,有问题在说具体问题.

热点排行