> ## Documentation Index
> Fetch the complete documentation index at: https://docs.projectreal.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# openfiledialog

> Otwiera Windows file-open dialog przez Windows file picker i zwraca wybrany plik jako file item.

<div className="real-function-page">
  ```lua theme={null}
  openfiledialog(options?: DialogOptions): FileSystemItem | nil
  ```

  ## Argumenty

  <ParamField path={"options"} type={"DialogOptions"}>
    Optional table. Dla openfiledialog uzywane sa title, defaultPath i extensionFilter. extensionFilter to table z extension strings; poczatkowe . albo \*. jest usuwane, zanim kazdy filter stanie sie \*.\<extension>.
  </ParamField>

  ## Zwroty

  <ResponseField name={"file"} type={"FileSystemItem | nil"}>
    Selected file item albo nil, gdy dialog zostanie anulowany lub nie zostanie zwrocony selected filesystem path. Dialog failures rzucaja Failed to open file dialog.
  </ResponseField>

  ## Typy

  ### DialogOptions

  Konfiguruje natywne okno dialogowe wyboru pliku lub folderu.

  | Name               | Type                 | Required | Opis                                                                               |
  | ------------------ | -------------------- | -------- | ---------------------------------------------------------------------------------- |
  | `title`            | `string`             | No       | Ustawia tytuł okna dialogowego.                                                    |
  | `defaultPath`      | `string`             | No       | Wybiera katalog wyświetlany po otwarciu okna dialogowego.                          |
  | `extensionFilter`  | `&#123;string&#125;` | No       | Ogranicza wybrane pliki do wymienionych rozszerzeń, z kropką wiodącą lub bez niej. |
  | `suggestedName`    | `string`             | No       | Podaje początkową nazwę pliku w oknach dialogowych zapisywania.                    |
  | `defaultExtension` | `string`             | No       | Ustawia rozszerzenie używane, gdy wprowadzona nazwa pliku nie ma żadnego.          |

  ## Przykład

  Otworz file picker i obsluz selected file item albo cancellation.

  ```lua theme={null}
  local file = openfiledialog({
      title = "Choose a configuration",
      defaultPath = ".",
      extensionFilter = { "json", "txt" },
  })

  if file then
      print(file:GetName())
      print(file:IsFile())
  else
      print("No file selected")
  end
  ```
</div>
