⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wzjh35.htm

📁 对于学习很有帮助
💻 HTM
📖 第 1 页 / 共 2 页
字号:
    SetItem; default;<br>
    property Count: Integer read GetCount;<br>
    end;<br>
    TNetworkBrowser = class(TComponent)<br>
    private<br>
    FItems: TNetworkItems;<br>
    FScope: TNetScope;<br>
    FResourceType: TNetResourceType;<br>
    FUsage: TNetUsage;<br>
    FActive: Boolean;<br>
    procedure Refresh;<br>
    procedure SetActive(Value: Boolean);<br>
    procedure SetScope(Value: TNetScope);<br>
    procedure SetResourceType(Value: TNetResourceType);<br>
    procedure SetUsage(Value: TNetUsage);<br>
    procedure EnumerateNet(NetItems: TNetworkItems; lpnr: PNetResource);<br>
    protected<br>
    public<br>
    constructor Create(AOwner: TComponent); override;<br>
    destructor Destroy; override;<br>
    procedure Open;<br>
    procedure Close;<br>
    property Items: TNetworkItems read FItems;<br>
    published<br>
    property Scope: TNetScope read FScope write SetScope default nsGlobal;<br>
    property ResourceType: TNetResourceType read FResourceType<br>
    write SetResourceType default nrAny;<br>
    property Usage: TNetUsage read FUsage write SetUsage default [];<br>
    property Active: Boolean read FActive write SetActive default False;<br>
    end;<br>
    implementation<br>
    type<br>
    PNetResourceArray = ^TNetResourceArray;<br>
    TNetResourceArray = array[0..0] of TNetResource;<br>
    { TNetworkItem }<br>
    constructor TNetworkItem.Create;<br>
    begin<br>
    inherited;<br>
    FSubItems := TNetworkItems.Create;<br>
    end;<br>
    destructor TNetworkItem.Destroy;<br>
    begin<br>
    if FSubItems <> nil then<br>
    FSubItems.Free;<br>
    inherited;<br>
    end;<br>
    { TNetworkItems }<br>
    constructor TNetworkItems.Create;<br>
    begin<br>
    inherited;<br>
    FList := TList.Create;<br>
    end;<br>
    destructor TNetworkItems.Destroy;<br>
    begin<br>
    Clear;<br>
    if FList <> nil then<br>
    FList.Free;<br>
    inherited;<br>
    end;<br>
    procedure TNetworkItems.SetItem(Index: Integer; Value: TNetworkItem);<br>
    begin<br>
    if (FList.Items[Index] <> nil) and (FList.Items[Index] <> Value) then<br>
    TNetworkItem(FList.Items[Index]).Free;<br>
    FList.Items[Index] := Value;<br>
    end;<br>
    function TNetworkItems.GetItem(Index: Integer): TNetworkItem;<br>
    begin<br>
    Result := TNetworkItem(FList.Items[Index]);<br>
    end;<br>
    procedure TNetworkItems.Clear;<br>
    begin<br>
    while Count &gt; 0 do<br>
    Delete(0);<br>
    end;<br>
    procedure TNetworkItems.Add(Item: TNetworkItem);<br>
    begin<br>
    FList.Add(Item);<br>
    end;<br>
    procedure TNetworkItems.Delete(Index: Integer);<br>
    begin<br>
    if FList.Items[Index] <> nil then<br>
    TNetworkItem(FList.Items[Index]).Free;<br>
    FList.Delete(Index);<br>
    end;<br>
    function TNetworkItems.GetCount: Integer;<br>
    begin<br>
    if FList <> nil then<br>
    Result := FList.Count<br>
    else<br>
    Result := 0;<br>
    end;<br>
    { TNetworkBrowser }<br>
    constructor TNetworkBrowser.Create(AOwner: TComponent);<br>
    begin<br>
    inherited Create(AOwner);<br>
    FItems := TNetworkItems.Create;<br>
    FScope := nsGlobal;<br>
    FResourceType := nrAny;<br>
    FUsage := [];<br>
    end;<br>
    destructor TNetworkBrowser.Destroy;<br>
    begin<br>
    if FItems <> nil then<br>
    FItems.Free;<br>
    inherited;<br>
    end;<br>
    procedure TNetworkBrowser.EnumerateNet(NetItems: TNetworkItems; lpnr:<br>
    PNetResource);<br>
    var<br>
    dwResult, dwResultEnum: Integer;<br>
    hEnum: THandle;<br>
    cbBuffer, cEntries, i: Integer;<br>
    nrArray: PNetResourceArray;<br>
    NewItem: TNetworkItem;<br>
    dwScope, dwType, dwUsage: Integer;<br>
    begin<br>
    cbBuffer := 16384;<br>
    cEntries := $FFFFFFFF;<br>
    case FScope of<br>
    nsConnected: dwScope := RESOURCE_CONNECTED;<br>
    nsGlobal: dwScope := RESOURCE_GLOBALNET;<br>
    nsRemembered: dwScope := RESOURCE_REMEMBERED;<br>
    nsContext: dwScope := RESOURCE_CONTEXT;<br>
    else<br>
    dwScope := RESOURCE_GLOBALNET;<br>
    end;<br>
    case FResourceType of<br>
    nrAny: dwType := RESOURCETYPE_ANY;<br>
    nrDisk: dwType := RESOURCETYPE_DISK;<br>
    nrPrint: dwType := RESOURCETYPE_PRINT;<br>
    else<br>
    dwType := RESOURCETYPE_ANY;<br>
    end;<br>
    dwUsage := 0;<br>
    if nuConnectable in FUsage then<br>
    dwUsage := dwUsage or RESOURCEUSAGE_CONNECTABLE;<br>
    if nuContainer in FUsage then<br>
    dwUsage := dwUsage or RESOURCEUSAGE_CONTAINER;<br>
    dwResult := WNetOpenEnum(dwScope, dwType, dwUsage, lpnr, hEnum);<br>
    if dwResult <> NO_ERROR then Exit;<br>
    GetMem(nrArray, cbBuffer);<br>
    repeat<br>
    dwResultEnum := WNetEnumResource(hEnum, cEntries, nrArray, cbBuffer);<br>
    if dwResultEnum = NO_ERROR then<br>
    for i := 0 to cEntries-1 do<br>
    begin<br>
    NewItem := TNetworkItem.Create;<br>
    case nrArray[i].dwScope of<br>
    RESOURCE_CONNECTED: NewItem.FScope := nsConnected;<br>
    RESOURCE_GLOBALNET: NewItem.FScope := nsGlobal;<br>
    RESOURCE_REMEMBERED: NewItem.FScope := nsRemembered;<br>
    RESOURCE_CONTEXT: NewItem.FScope := nsContext;<br>
    else<br>
    NewItem.FScope := nsGlobal;<br>
    end;<br>
    case nrArray[i].dwType of<br>
    RESOURCETYPE_ANY: NewItem.FResourceType := nrAny;<br>
    RESOURCETYPE_DISK: NewItem.FResourceType := nrDisk;<br>
    RESOURCETYPE_PRINT: NewItem.FResourceType := nrPrint;<br>
    else<br>
    NewItem.FResourceType := nrAny;<br>
    end;<br>
    case nrArray[i].dwDisplayType of<br>
    RESOURCEDISPLAYTYPE_GENERIC: NewItem.FDisplay := ndGeneric;<br>
    RESOURCEDISPLAYTYPE_DOMAIN: NewItem.FDisplay := ndDomain;<br>
    RESOURCEDISPLAYTYPE_SERVER: NewItem.FDisplay := ndServer;<br>
    RESOURCEDISPLAYTYPE_SHARE: NewItem.FDisplay := ndShare;<br>
    RESOURCEDISPLAYTYPE_FILE: NewItem.FDisplay := ndFile;<br>
    RESOURCEDISPLAYTYPE_GROUP: NewItem.FDisplay := ndGroup;<br>
    RESOURCEDISPLAYTYPE_NETWORK: NewItem.FDisplay := ndNetwork;<br>
    RESOURCEDISPLAYTYPE_ROOT: NewItem.FDisplay := ndRoot;<br>
    RESOURCEDISPLAYTYPE_SHAREADMIN: NewItem.FDisplay :=<br>
    ndShareAdmin;<br>
    RESOURCEDISPLAYTYPE_DIRECTORY: NewItem.FDisplay :=<br>
    ndDirectory;<br>
    RESOURCEDISPLAYTYPE_TREE: NewItem.FDisplay := ndTree;<br>
    RESOURCEDISPLAYTYPE_NDSCONTAINER: NewItem.FDisplay :=<br>
    ndNDSContainer;<br>
    else<br>
    NewItem.FDisplay := ndGeneric;<br>
    end;<br>
    NewItem.FUsage := [];<br>
    if nrArray[i].dwUsage and RESOURCEUSAGE_CONNECTABLE <> 0 then<br>
    Include(NewItem.FUsage, nuConnectable);<br>
    if nrArray[i].dwUsage and RESOURCEUSAGE_CONTAINER <> 0 then<br>
    Include(NewItem.FUsage, nuContainer);<br>
    NewItem.FLocalName := StrPas(nrArray[i].lpLocalName);<br>
    NewItem.FRemoteName := StrPas(nrArray[i].lpRemoteName);<br>
    NewItem.FComment := StrPas(nrArray[i].lpComment);<br>
    NewItem.FProvider := StrPas(nrArray[i].lpProvider);<br>
    NetItems.Add(NewItem);<br>
    // if container, call recursively<br>
    if (nuContainer in NewItem.FUsage) and (FScope <> nsContext) then<br>
    EnumerateNet(NewItem.FSubItems, @nrArray[i])<br>
    end;<br>
    until dwResultEnum = ERROR_NO_MORE_ITEMS;<br>
    FreeMem(nrArray);<br>
    WNetCloseEnum(hEnum);<br>
    end;<br>
    procedure TNetworkBrowser.Refresh;<br>
    begin<br>
    FItems.Clear;<br>
    if FActive then<br>
    EnumerateNet(FItems, nil);<br>
    end;<br>
    procedure TNetworkBrowser.SetActive(Value: Boolean);<br>
    begin<br>
    if Value <> FActive then<br>
    begin<br>
    FActive := Value;<br>
    Refresh;<br>
    end;<br>
    end;<br>
    procedure TNetworkBrowser.SetScope(Value: TNetScope);<br>
    begin<br>
    if Value <> FScope then<br>
    begin<br>
    FScope := Value;<br>
    Refresh;<br>
    end;<br>
    end;<br>
    procedure TNetworkBrowser.SetResourceType(Value: TNetResourceType);<br>
    begin<br>
    if Value <> FResourceType then<br>
    begin<br>
    FResourceType := Value;<br>
    Refresh;<br>
    end;<br>
    end;<br>
    procedure TNetworkBrowser.SetUsage(Value: TNetUsage);<br>
    begin<br>
    if Value <> FUsage then<br>
    begin<br>
    FUsage := Value;<br>
    Refresh;<br>
    end;<br>
    end;<br>
    procedure TNetworkBrowser.Open;<br>
    begin<br>
    Active := True;<br>
    end;<br>
    procedure TNetworkBrowser.Close;<br>
    begin<br>
    Active := False;<br>
    end;<br>
    end.<br>
    </td>
  </tr>
</table>

<p align="center"><img src="/logo.gif" align="center"><a href="/co/index.htm">北京美达美科技有限公司</a> 
版权所有: 1998-1999</p>
</body>
</html>

<script LANUGAGE="JavaScript">
<!--
function getCookieVal (offset) {  
var endstr = document.cookie.indexOf (";", offset);  
if (endstr == -1)    
endstr = document.cookie.length;  
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {  
var arg = name + "=";  
var alen = arg.length;  
var clen = document.cookie.length;  
var i = 0;  
while (i < clen) {    
var j = i + alen;    
if (document.cookie.substring(i, j) == arg)      
return getCookieVal (j);    
i = document.cookie.indexOf(" ", i) + 1;    
if (i == 0) break;   
}  
return null;
}
function SetCookie (name, value) {  
var argv = SetCookie.arguments;  
var argc = SetCookie.arguments.length;  
var expires = (argc > 2) ? argv[2] : null;  
var path = (argc > 3) ? argv[3] : null;  
var domain = (argc > 4) ? argv[4] : null;  
var secure = (argc > 5) ? argv[5] : false;  
document.cookie = name + "=" + escape (value) + 
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
((path == null) ? "" : ("; path=" + path)) +  
((domain == null) ? "" : ("; domain=" + domain)) +    
((secure == true) ? "; secure" : "");
}

if (GetCookie("MMC_PoiLove") != "ifght94567") {
window.open("http://www.21pop.com/pop.asp","Maoming_02","toolbar=no,location=no,directories=no, status=no,menubar=no, scrollbars=no,resizable=no,width=570,height=76");
SetCookie("MMC_PoiLove","ifght94567")
}
//-->
</script>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -