{"id":22194127,"url":"https://github.com/delphilite/everythingsdk","last_synced_at":"2026-01-06T01:05:29.238Z","repository":{"id":251689580,"uuid":"838135449","full_name":"delphilite/EverythingSDK","owner":"delphilite","description":"Everything Search Engine SDK for Delphi","archived":false,"fork":false,"pushed_at":"2025-02-26T09:40:23.000Z","size":247,"stargazers_count":19,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-26T10:34:33.064Z","etag":null,"topics":["delphi","delphinuspackage","everything","everything-search","file-search","mft","ntfs","pascal","sdk","search","usn","voidtools"],"latest_commit_sha":null,"homepage":"","language":"Pascal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/delphilite.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-05T02:45:33.000Z","updated_at":"2025-02-26T09:40:27.000Z","dependencies_parsed_at":"2024-08-24T18:15:22.282Z","dependency_job_id":"67581d08-93c8-4129-9561-f8a015595c66","html_url":"https://github.com/delphilite/EverythingSDK","commit_stats":null,"previous_names":["delphilite/everythingsdk"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delphilite%2FEverythingSDK","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delphilite%2FEverythingSDK/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delphilite%2FEverythingSDK/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delphilite%2FEverythingSDK/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/delphilite","download_url":"https://codeload.github.com/delphilite/EverythingSDK/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245353868,"owners_count":20601442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["delphi","delphinuspackage","everything","everything-search","file-search","mft","ntfs","pascal","sdk","search","usn","voidtools"],"created_at":"2024-12-02T13:11:32.076Z","updated_at":"2026-01-06T01:05:29.194Z","avatar_url":"https://github.com/delphilite.png","language":"Pascal","readme":"# EverythingSDK\n![Version](https://img.shields.io/badge/version-v1.4.0-yellow.svg)\n![License](https://img.shields.io/github/license/delphilite/EverythingSDK)\n![Lang](https://img.shields.io/github/languages/top/delphilite/EverythingSDK.svg)\n![stars](https://img.shields.io/github/stars/delphilite/EverythingSDK.svg)\n\nEverythingSDK is a [Delphi](http://www.embarcadero.com/products/delphi) client library for [Voidtools' Everything](https://www.voidtools.com/) search engine. It supports both dynamic and static libraries from the native Everything SDK.\n\nEverything is a powerful search engine that can index and search for files, folders, and other data on your Windows system. The official C++ SDK provides a way to access the Everything database and perform searches programmatically. This repository provides a Delphi translation of the C++ SDK, allowing Delphi developers to easily integrate Everything search functionality into their applications.\n\nEverything service must be running on your machine.\n\n## Features\n- Complete translation of Everything's C++ SDK to Delphi.\n- Easy integration with Delphi projects.\n- Supports all major features of the original SDK.\n- Supports using static libraries (Everything32.obj/Everything64.obj). By enabling the ET_STATICLINK directive (default).\n- Supports using dynamic libraries (Everything32.dll/Everything64.dll).\n- Supports using the Everything IPC (EverythingIPC.pas+EverythingImpl.pas). Reference EverythingImpl instead of EverythingSDK, without requiring any DLL or OBJ.\n\n## Requirements\n- Delphi XE2 or later.\n- Everything 1.4.1 or later.\n\n## Installation: Manual\nTo install the EverythingSDK binding, follow these steps:\n\n1. Clone the repository:\n    ```sh\n    git clone https://github.com/delphilite/EverythingSDK.git\n    ```\n\n2. Add the EverythingSDK\\Source directory to the project or IDE's search path.\n3. Make sure Everything is installed and running on your system.\n\n## Installation: Delphinus-Support\nEverythingSDK should now be listed in [Delphinus package manager](https://github.com/Memnarch/Delphinus/wiki/Installing-Delphinus).\n\nBe sure to restart Delphi after installing via Delphinus otherwise the units may not be found in your test projects.\n\n## Usage\nHere's a simple example demonstrating how to use the EverythingSDK in a Delphi application:\n\n```pas\nuses\n  SysUtils, Windows, EverythingSDK; { or EverythingImpl instead of EverythingSDK }\n\nfunction FileTimeToDateTime(const AFileTime: TFileTime): TDateTime;\nvar\n  LocalFileTime: TFileTime;\n  SystemTime: TSystemTime;\nbegin\n  FileTimeToLocalFileTime(AFileTime, LocalFileTime);\n  FileTimeToSystemTime(LocalFileTime, SystemTime);\n  Result := SystemTimeToDateTime(SystemTime);\nend;\n\nfunction FormatFileAttrib(AAttrib: DWORD): string;\nbegin\n  if AAttrib and faDirectory \u003c\u003e 0 then\n    Result := '    '\n  else begin\n    Result := '';\n    if AAttrib and faReadOnly \u003c\u003e 0 then\n      Result := Result + 'r'\n    else Result := Result + '-';\n    if AAttrib and faArchive \u003c\u003e 0 then\n      Result := Result + 'a'\n    else Result := Result + '-';\n    if AAttrib and faHidden \u003c\u003e 0 then\n      Result := Result + 'h'\n    else Result := Result + '-';\n    if AAttrib and faSysFile \u003c\u003e 0 then\n      Result := Result + 's'\n    else Result := Result + '-';\n  end;\nend;\n\nprocedure Execute(const AFind: string);\nvar\n  C, F, I, R: DWORD;\n  dwAttributes: DWORD;\n  fileName: string;\n  fileAttrib, fileSize, fileTime: string;\n  ftModified: TFileTime;\n  nSize: Int64;\nbegin\n  Writeln('Find: ', AFind);\n\n  Everything_SetSearch(PChar(AFind));\n  F := EVERYTHING_REQUEST_FILE_NAME or EVERYTHING_REQUEST_PATH or EVERYTHING_REQUEST_DATE_MODIFIED or\n    EVERYTHING_REQUEST_SIZE or EVERYTHING_REQUEST_ATTRIBUTES;\n  Everything_SetRequestFlags(F);\n  Everything_SetSort(EVERYTHING_SORT_PATH_ASCENDING);\n\n  Writeln('Execute Query');\n  if not Everything_Query(True) then\n  begin\n    R := Everything_GetLastError;\n    raise Exception.Create(Everything_GetErrorMessage(R));\n  end;\n  Writeln('Result List Request Flags: ', Everything_GetResultListRequestFlags());\n\n  C := Everything_GetNumResults();\n  Writeln('Result List Count: ', C);\n\n  if C \u003e 0 then\n    for I := 0 to C - 1 do\n  begin\n    SetLength(fileName, MAX_PATH);\n    R := Everything_GetResultFullPathName(I, PChar(fileName), MAX_PATH);\n    SetLength(fileName, R);\n\n    dwAttributes := Everything_GetResultAttributes(I);\n    fileAttrib := FormatFileAttrib(dwAttributes);\n    fileAttrib := Format('%6s', [fileAttrib]);\n\n    Everything_GetResultSize(I, nSize);\n    if dwAttributes and faDirectory \u003c\u003e 0 then\n      fileSize := '-1'\n    else fileSize := FormatFloat('#,#.#',nSize);\n    fileSize := Format('%16s', [fileSize]);\n\n    if Everything_GetResultDateModified(I, ftModified) then\n      fileTime := FormatDateTime('yyyy/mm/dd hh:nn:ss', FileTimeToDateTime(ftModified))\n    else fileTime := StringOfChar(' ', 19);\n\n    Writeln(fileTime, ' ', fileAttrib, ' ', fileSize, ' ', fileName);\n  end;\nend;\n\nbegin\n  ReportMemoryLeaksOnShutdown := True;\n  try\n    WriteLn('Everything: ', Everything_GetVersion);\n    WriteLn('');\n    Execute('*.iso');\n    WriteLn('');\n    WriteLn('Done.');\n  except\n    on E: Exception do\n      WriteLn('Error: ', E.Message);\n  end;\n  ReadLn;\n  Everything_CleanUp;\nend.\n```\n\nFor more examples based on low-level API, refer to the test cases under the demos directory.\n\n## Documentation\nFor more detailed information, refer to the [Everything SDK](https://www.voidtools.com/support/everything/sdk/).\n\n## Contributing\nContributions are welcome! Please fork this repository and submit pull requests with your improvements.\n\n## License\nThis project is licensed under the Mozilla Public License 2.0. See the [LICENSE](LICENSE) file for details.\n\n## Acknowledgements\nSpecial thanks to Voidtools for creating Everything and providing the original SDK.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelphilite%2Feverythingsdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdelphilite%2Feverythingsdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelphilite%2Feverythingsdk/lists"}