{"id":227,"date":"2008-05-05T07:02:17","date_gmt":"2008-05-05T07:02:17","guid":{"rendered":"http:\/\/6teen.ru\/?p=44"},"modified":"2008-05-05T07:02:17","modified_gmt":"2008-05-05T07:02:17","slug":"4086","status":"publish","type":"post","link":"http:\/\/pblog.ru\/lab\/?p=227","title":{"rendered":"TreeView &#8212; \u0434\u0435\u0440\u0435\u0432\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432"},"content":{"rendered":"<p>TreeView &#8212; \u0434\u0435\u0440\u0435\u0432\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432<br \/>\n<!--more--><\/p>\n<pre class=\"alt2\" style=\"margin:0px; padding:6px; border:1px inset; width:580px; height:320px; overflow:auto\"><div>TreeView - \u0434\u0435\u0440\u0435\u0432\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432\n\n\u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 - \u044d\u0442\u043e \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430\u0439\u0442\u0438 \u0432\u0441\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435 \u0438 \u0437\u0430\u0441\u0443\u043d\u0443\u0442\u044c \u0438\u0445 \u0432 treeview. \u041d\u043e \u0443 \u044d\u0442\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043e\u043d \u0434\u043e\u043b\u0433\u0438\u0439, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e, \u0435\u0441\u043b\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d zif. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u043f\u0430\u043f\u043a\u0443, \u043e\u043d\u0430 \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u0441\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432 treeview \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u0438\u0441\u043a\u043e\u0432 \u0441\u043e \u0437\u043d\u0430\u0447\u043a\u043e\u043c \"+\", \u0442\u043e \u0435\u0441\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0430 \u0434\u0438\u0441\u043a\u0435 \u0435\u0441\u0442\u044c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438. \u042d\u0442\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u0435\u0440\u043d\u043e, \u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u043f\u0440\u0430\u0432\u0434\u0430 \u043b\u0438 \u044d\u0442\u043e, \u0434\u043e\u043b\u0433\u043e \u0438\u0437-\u0437\u0430 \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0434\u0430. \u041f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u044c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438\u043b\u0438 \u0434\u0438\u0441\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0438\u0449\u0435\u0442 \u043f\u043e\u0434\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0445 \u0432 listview. \u0412 \u043a\u0430\u0436\u0434\u043e\u043c \u043f\u043e\u0434\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0439\u0442\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u0438\u043d \u043f\u043e\u0434\u043a\u0430\u0442\u0430\u043b\u043e\u0433. \u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043f\u043e\u0438\u0441\u043a\u0430 \"+\" \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043b\u0438 \u043d\u0435\u0442. \u0412 \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0438\u043a\u043e\u043d\u043a\u0438 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 filectrl.res, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0441\u044f \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \"delphi5lib\".\n\nimplementation\n\n{$r *.dfm}\n{$r filectrl}\n\nprocedure nextlevel(parentnode: ttreenode);\n\nfunction directoryname(name: string): boolean;\nbegin\nresult := (name > '.') and (name > '..');\nend;\n\nvar\nsr, srchild: tsearchrec;\nnode: ttreenode;\npath: string;\nbegin\nnode := parentnode;\npath := '';\nrepeat\npath := node.text + '' + path;\nnode := node.parent;\nuntil\nnode = nil;\nif findfirst(path + '*.*', fadirectory, sr) = 0 then\nbegin\nrepeat\nif (sr.attr and fadirectory > 0) and directoryname(sr.name) then\nbegin\nnode := form1.treeview1.items.addchild(parentnode, sr.name);\nnode.imageindex := 0;\nnode.selectedindex := 1;\nnode.haschildren := false;\nif findfirst(path + sr.name + '*.*', fadirectory, srchild) = 0 then\nbegin\nrepeat\nif (srchild.attr and fadirectory > 0) and\ndirectoryname(srchild.name) then\nnode.haschildren := true;\nuntil\n(findnext(srchild) > 0) or node.haschildren;\nend;\nfindclose(srchild);\nend;\nuntil\nfindnext(sr) > 0;\nend\nelse\nparentnode.haschildren := false;\nfindclose(sr);\nend;\n\nprocedure tform1.formcreate(sender: tobject);\nconst\niconnames: array [0..6] of string = ('closedfolder', 'openfolder',\n'floppy', 'hard', 'network', 'cdrom', 'ram');\nvar\nc: char;\ns: string;\nnode: ttreenode;\ndrivetype: integer;\nbm, mask: tbitmap;\ni: integer;\nbegin\ntreeview1.items.beginupdate;\ntreeview1.images := timagelist.createsize(16, 16);\nbm := tbitmap.create;\nmask := tbitmap.create;\nfor i := low(iconnames) to high(iconnames) do\nbegin\nbm.handle := loadbitmap(hinstance, pchar(iconnames[i]));\nbm.width := 16;\nbm.height := 16;\nmask.assign(bm);\nmask.mask(clblue);\ntreeview1.images.add(bm, mask);\nend;\nfor c := 'a' to 'z' do\nbegin\ns := c + ':';\ndrivetype := getdrivetype(pchar(s));\nif drivetype = 1 then\ncontinue;\nnode := form1.treeview1.items.addchild(nil, s);\ncase drivetype of\ndrive_removable: node.imageindex := 2;\ndrive_fixed: node.imageindex := 3;\ndrive_remote: node.imageindex := 4;\ndrive_cdrom: node.imageindex := 5;\nelse\nnode.imageindex := 6;\nend;\nnode.selectedindex := node.imageindex;\nnode.haschildren := true;\nend;\ntreeview1.items.endupdate;\nend;\n\nprocedure tform1.treeview1expanding(sender: tobject; node: ttreenode;\nvar allowexpansion: boolean);\nbegin\ntreeview1.items.beginupdate;\nnode.deletechildren;\nnextlevel(node);\ntreeview1.items.endupdate;\nend;\n\n\u0410\u0432\u0442\u043e\u0440: \u0414\u0430\u043d\u0438\u0438\u043b \u041a\u0430\u0440\u0430\u043f\u0435\u0442\u044f\u043d\n\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: http:\/\/program.dax.ru\n<\/div><\/pre>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>TreeView &#8212; \u0434\u0435\u0440\u0435\u0432\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[430,386],"tags":[467,691,789],"_links":{"self":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/227"}],"collection":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=227"}],"version-history":[{"count":0,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/227\/revisions"}],"wp:attachment":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=227"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}