{"id":481,"date":"2026-03-08T20:47:13","date_gmt":"2026-03-08T20:47:13","guid":{"rendered":"https:\/\/hackcuba.net\/?p=481"},"modified":"2026-03-08T20:47:13","modified_gmt":"2026-03-08T20:47:13","slug":"busqueda-recursiva","status":"publish","type":"post","link":"https:\/\/hackcuba.net\/?p=481","title":{"rendered":"B\u00fasqueda recursiva"},"content":{"rendered":"\n<p>Funci\u00f3n para realizar b\u00fasquedas recursivas tomando como referencia el nombre o la extensi\u00f3n de los archivos a buscar:<\/p>\n\n\n\n<!--more-->\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\nvoid Buscar(String Path,String File,TStringList *Lista, String Ext)\n  {\n  TSearchRec SR;\n  int i = FindFirst(Path+&quot;\\\\*.*&quot;,faAnyFile,SR);\n  while (i == 0)\n    {\n        \/\/ si la carpeta es distinta de &quot;.&quot; o &quot;..&quot; busca dentro de ella\n      if ((SR.Name != &quot;.&quot;) &amp;&amp; (SR.Name != &quot;..&quot;))\n      Buscar(Path+&quot;\\\\&quot;+SR.Name,File,Lista,Ext);\n           \/\/ si la b\u00fasqueda es por nombre\n      if (File != &quot;&quot;)\n      {\n        if (SR.Name.LowerCase() == File.LowerCase())\n        Lista-&gt;Add(Path+&quot;\\\\&quot;+SR.Name);\n      }\n      else\n           \/\/ si la b\u00fasqueda es por extensi\u00f3n\n      if ( Ext != &quot;&quot; )\n      if ( ExtractFileExt( SR.Name ) == Ext )\n      Lista-&gt;Add(Path+&quot;\\\\&quot;+SR.Name);\n      i = FindNext(SR);\n           \/\/ Status = Path+&quot;\\\\&quot;+SR.Name;\n           \/\/ esto es para que la ventana no se bloquee y procese\n           \/\/ los mensajes de la cola; si la b\u00fasqueda es en background\n           \/\/ puedes quitar esto y buscar\u00e1 m\u00e1s r\u00e1pido.\n      Application-&gt;ProcessMessages();\n    }\nFindClose(SR);\n}\n\n\/*-------------------------------\n- Ejemplo de b\u00fasqueda por nombre:\n-------------------------------*\/\n\nvoid __fastcall TForm1::Button1Click(TObject *Sender)\n{\n  TStringList *slFiles;\n  slFiles = new TStringList;\n    \/\/busca en &quot;C:\\Windows&quot; todos los archivos con nombre &quot;notepad.exe&quot;\n  Buscar(&quot;C:\\\\Windows&quot;, &quot;notepad.exe&quot;, slFiles, &quot;&quot;);\n  Memo1-&gt;Lines-&gt;Assign(slFiles );\n  delete slFiles;\n}\n\n\/*-------------------------------\n- Ejemplo b\u00fasqueda por extensi\u00f3n:\n-------------------------------*\/\n\nvoid __fastcall TForm1::Button1Click(TObject *Sender)\n{\n  TStringList *slFiles;\n  slFiles = new TStringList;\n    \/\/ busca en &quot;C:\\Windows&quot; todos los .exe\n  Buscar(&quot;C:\\\\Windows&quot;, &quot;&quot;, slFiles, &quot;.exe&quot;);\n  Memo1-&gt;Lines-&gt;Assign( slFiles );\n  delete slFiles;\n} \n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Funci\u00f3n para realizar b\u00fasquedas recursivas tomando como referencia el nombre o la extensi\u00f3n de los archivos a buscar:<\/p>\n","protected":false},"author":2,"featured_media":354,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[59,36],"tags":[88,38],"class_list":["post-481","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigos","category-proyecto-blackhat","tag-codigos","tag-proyecto-blackhat"],"_links":{"self":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/481","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=481"}],"version-history":[{"count":1,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/481\/revisions"}],"predecessor-version":[{"id":482,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/481\/revisions\/482"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/media\/354"}],"wp:attachment":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=481"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}