Leest je eenheden
Het lijstt, zoekt en opent .pas- en .dpr-bestanden in de werkmap, en laat je precies zien welke bestanden en regels het heeft gevonden.
Pascal-programmering krijgt een werkende partner in Arraydeck, een autonome AI-agent voor Windows 10 en 11. Het opent je eenheden, zoekt ze door, bewerkt ze en voert je build-opdracht uit, en elke actie verschijnt in de chat als een kaart met het echte resultaat, zodat je het werk stap voor stap kunt volgen in plaats van te raden wat er is gebeurd.
Het lijstt, zoekt en opent .pas- en .dpr-bestanden in de werkmap, en laat je precies zien welke bestanden en regels het heeft gevonden.
Elke edit_file-wijziging verschijnt als een diff, en in Ask first accepteer of wijs je deze af voordat er iets in het bestand wordt toegepast.
Shell voert je eigen build- en testopdrachten uit en rapporteert de echte exitcode in plaats van een gok over of ze zijn geslaagd.
Elke stap is een kaart in de chat. De kaart noemt het hulpmiddel, het bestand of de opdracht en het resultaat, en een uitgebreide kaart toont de volledige opdrachtuitvoer of de diff, zodat het bewijs voor elke actie voor je ligt terwijl je beslist wat je als volgende accepteert.
*.pas4 bestandenTStringList.Create2 matchesReport.pasreadReport.pas+5 -1build.batexit 0Een Delphi-ontwikkelaar die een project overneemt, opent vaak een eenheid die jarenlang niet is aangeraakt. Vraag Arraydeck om deze uit te leggen. De agent roept read_file aan, beschrijft vervolgens de interface-sectie, de implementatie-sectie en de uses-clause in duidelijke woorden, en grep toont waar zijn procedures worden aangeroepen vanuit andere eenheden. Er wordt niets geschreven. Gebruik het antwoord als een kaart, niet als bewijs: vergelijk elke bewering met de bron, open de eenheid in je eigen editor en voer je build-opdracht uit, die de echte exitcode rapporteert, voordat je een regel van het project wijzigt. Herhaal de vraag voor de volgende eenheid wanneer de eerste duidelijk is.
Om Unicode-code in een string om te zetten, zoek je eerst de routine die de tekst bouwt of splitst. De agent voert grep uit voor de functienaam, leest de eenheid met read_file en stelt een wijziging voor met edit_file. In Ask first wacht de diff op jou. Shell voert vervolgens je build-opdracht en je testopdracht uit, en elke kaart toont de echte exitcode. Strings gebruiken enkele aanhalingstekens en := wijst een waarde toe, dus lees de diff in verhouding tot hoe de oude routine werkte, test het met tekst uit je eigen gegevens en wijs de wijziging af als één geval anders gedraagt. Bewaar een kopie van de oude routine totdat de tests het eens zijn.
Mensen discussiëren over hoeveel returns een functie zou moeten hebben, en Arraydeck laat die keuze aan jou. Kies een functie met meerdere exits en vraag om een versie die Result één keer instelt. De agent leest de eenheid, bewerkt de functie en toont de wijziging als een diff. Pascal-programmering bewaart de returnwaarde in Result, dus de bewerking is klein en makkelijk regel voor regel te controleren. Voer je tests daarna uit, omdat de agent niet kan beloven dat de nieuwe versie zich hetzelfde gedraagt als de oude, en wijs de diff af als een test faalt. Een kleine, beoordeelde bewerking is beter dan een grote herschrijving.
Om te zien hoe FMX-dialogs correct in je eigen project te gebruiken, vraag je de agent om elke plek te vinden waar een dialoogvenster wordt getoond. Het voert grep uit over de .pas-bestanden, opent de matches met read_file en schrijft een korte lijst in de chat, met vermelding van elke eenheid en elke event handler. Events zoals een knopklik zijn procedures van het formulier, dus de lijst leest als een inhoudsopgave. Schakel over naar Ask first voordat je vraagt om wijzigingen, controleer elke diff en test de formulieren zelf, omdat de agent formulieren niet visueel ontwerpt. Herhaal dit voor elk formulier.
Arraydeck is geen gehoste service of een editorplugin. Het is bedoeld alleen voor je eigen bestanden, je pc en servers die je geautoriseerd bent te gebruiken, en je houdt het werk binnen hen: de bestandshulpmiddelen werken in de werkmap van de chat, maar Shell, web en SSH zijn daar niet toe beperkt. Het kan niet beloven dat code of analyse correct is, dus lees elke diff, bouw het project en voer je eigen tests uit voordat je op een wijziging vertrouwt.