Reads your units
It lists, searches and opens .pas and .dpr files in the working folder, then shows you exactly which files and lines it found.
Pascal programming gets a working partner in Arraydeck, an autonomous AI agent for Windows 10 and 11. It opens your units, searches them, edits them and runs your build command, and every action appears in the chat as a card with its real result, so you can follow the work step by step instead of guessing what happened.
It lists, searches and opens .pas and .dpr files in the working folder, then shows you exactly which files and lines it found.
Every edit_file change appears as a diff, and in Ask first you accept or reject it before anything is applied to the file.
Shell runs your own build and test commands and reports the real exit code instead of a guess about whether they passed.
Each step is a card in the chat. The card names the tool, the file or command and the result, and an expanded card shows the full command output or the diff, so the evidence for every action stays in front of you while you decide what to accept next.
*.pas4 filesTStringList.Create2 matchesReport.pasreadReport.pas+5 -1build.batexit 0A Delphi developer who inherits a project often opens a unit nobody has touched for years. Ask Arraydeck to explain it. The agent calls read_file, then describes the interface section, the implementation section and the uses clause in plain words, and grep shows where its procedures are called from other units. Nothing is written. Use the answer as a map, not as proof: compare each claim with the source, open the unit in your own editor and run your build command, which reports the real exit code, before you change a line of the project. Repeat the request for the next unit when the first one is clear.
To convert Unicode code in a string, first find the routine that builds or splits the text. The agent runs grep for the function name, reads the unit with read_file and proposes a change with edit_file. In Ask first the diff waits for you. Shell then runs your build command and your test command, and each card shows the real exit code. Strings use single quotes and := assigns a value, so read the diff against how the old routine worked, test it with text from your own data and reject the change if one case behaves differently. Keep a copy of the old routine until the tests agree.
People argue about how many returns a function should have, and Arraydeck leaves that choice to you. Pick a function with several exits and ask for a version that sets Result once. The agent reads the unit, edits the function and shows the change as a diff. Pascal programming keeps the return value in Result, so the edit is small and easy to check line by line. Run your tests afterwards, because the agent cannot promise the new version behaves like the old one, and reject the diff if a test fails. A small, reviewed edit beats a big rewrite.
To see how to use FMX dialogs correctly in your own project, ask the agent to find every place where a dialog is shown. It runs grep over the .pas files, opens the matches with read_file and writes a short list into the chat, naming each unit and each event handler. Events such as a button click are procedures of the form, so the list reads like a table of contents. Switch to Ask first before you ask for changes, review each diff and test the forms yourself, because the agent does not design forms visually. Repeat for each form.
Arraydeck is not a hosted service or an editor plugin. It is meant only for your own files, your PC and servers you are authorised to use, and you keep the work within them: the file tools work in the chat's working folder, but Shell, web and SSH are not limited to it. It cannot promise that code or analysis is correct, so read every diff, build the project and run your own tests before you rely on a change.