# Flux editare directă pe text pentru `.vcx`/`.scx` Pe lângă căutare (`vcx2txt.ps1`), cache-ul text din `D:\ROA\_vfp_textcache\roagest\` poate fi acum și **sursă de editare** pentru `.vcx`/`.scx`, scriind înapoi în binar cu `txt2vcx.ps1` — fără trecere prin VFP IDE. Detalii complete (guard-uri, ordinea pașilor, teste) în `D:\ROA\UTIL\foxbin2prg\CLAUDE.md`; aici doar partea relevantă pentru ROAGEST. ## Pașii 1. Refresh cache (obligatoriu dacă a rulat vreo sesiune de IDE de la ultimul refresh — altfel verificarea de staleness din `txt2vcx.ps1` refuză scrierea): ```powershell & 'D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1' -Project 'D:\ROA\ROAGEST\roagest.pjx' -ProjectRoot 'D:\ROA\ROAGEST' -CacheRoot 'D:\ROA\_vfp_textcache\roagest' -Types vcx,scx,frx,mnx ``` 2. Editează `.vc2`/`.sc2` direct în `D:\ROA\_vfp_textcache\roagest\`. Formatul e **position-sensitive** (nu reformata/reflow liniile) și proprietățile sunt **alfabetizate** (o proprietate nouă se inserează la locul ei alfabetic, nu la sfârșit). 3. Revizuiește diff-ul pe fișierul text ca pe orice altă modificare de cod. 4. Scrie înapoi în proiect: ```powershell & 'D:\ROA\UTIL\foxbin2prg\txt2vcx.ps1' -TextFile 'D:\ROA\_vfp_textcache\roagest\Clase\oavize.vc2' -ProjectRoot 'D:\ROA\ROAGEST' -CacheRoot 'D:\ROA\_vfp_textcache\roagest' ``` Regenerează și compilează binarul într-un folder de staging, verifică fidelitatea (roundtrip text→bin→text byte-identic) și abia apoi copiază `.vct`+`.vcx` (sau `.sct`+`.scx`) peste binarele din proiect. Dacă orice pas eșuează, proiectul și cache-ul rămân neatinse. ## Limite - `.mnx`/`.frx` rămân **doar pentru citire** — meniurile tot au nevoie de GENMENU în IDE ca să regenereze `.mpr`, iar formatul `.frx` e prea fragil pentru round-trip. Editează-le în VFP IDE ca până acum. - Ținte sub `COMUN\` necesită `-AllowComun` **și** aprobare explicită — o modificare acolo afectează toate aplicațiile ROA, nu doar ROAGEST. - **După orice sesiune de IDE** rulează `vcx2txt.ps1` înainte de a edita text — staleness-ul se verifică pe baza `mtime`, iar o sesiune de IDE (chiar și una care doar a deschis o clasă) poate lăsa cache-ul în urmă față de binar. - Fără backup-uri `.bak` lângă binarele din proiect — git e mecanismul de restore; scriptul ține o copie de siguranță doar în folderul temp al rulării.