Hva er PRG-filformatet?
.prg er en kildekodefil primært knyttet til xBase-familien av database-programmeringsspråk, inkludert dBASE, FoxPro, Visual FoxPro, Clipper og den moderne åpen kildekode-løsningen Harbour compiler. En .prg-fil er også en generisk filendelse som brukes av ulike programmer for å lagre makroer eller programinstruksjoner; slike filer er ikke standardiserte og tjener ulike formål avhengig av applikasjonen.
I sin dominerende xBase-rolle lagrer en .prg kildekode i ren tekst - ikke binærdata - noe som gjør den lesbar i alle tekstredigeringsprogrammer. Et typisk program starter med kommentarlinjer (med prefiks * eller &&), SET-direktiver og PROCEDURE/FUNCTION-blokker som opererer på .dbf-databasetabeller. Ved kompilering produserer FoxPro en binær .fxp-objektfil, mens Clipper og Harbour genererer en kjørbar fil (executable); selve .prg-kilden er alltid menneskelig lesbar. xBase-språket spores tilbake til dBASE II/III på tidlig 1980-tall og dominerte databaseprogrammering for skrivebordet gjennom 1990-tallet. Visual FoxPro 9.0 SP2 (2007) var den siste store kommersielle utgivelsen; språket lever videre gjennom åpen kildekode-prosjektet Harbour.
.prg-filer brukes av og til av programmerere eller universitetslektorer for utdannings- eller testformål. Slike filer kan lagre pseudokode - en uformell beskrivelse på høyt nivå av et dataprogram eller en algoritme i ren tekst. Pseudokode er en abstraksjon, ikke en implementering, av et dataprogram; den inneholder standard kontrollinstruksjoner som løkker eller betingede uttrykk i et menneskelig lesbart snarere enn maskinlesbart format. Pseudokode er språkuavhengig og kan ikke kjøres på en datamaskin. .prg-filer velges noen ganger for pseudokode nettopp fordi filendelsen ikke refererer til noe faktisk programmeringsspråk.
Sikkerhet og trygghet
RISIKO: MEDIUMEn .prg er kildekode i ren tekst, så selve filen kan ikke utføres ved å bli åpnet i et redigeringsprogram - det er trygt å lese den. Risikoen ligger i hva den gjør når den kjøres/kompileres: xBase-kode kan kjøre shell-kommandoer (RUN/!), lese og skrive databasefiler og slette data, så ikke kjør DO eller kompiler en ukjent .prg uten videre. Les kilden først, kjør eldre apper i et isolert miljø/VM, og vær forsiktig med programmer som berører .dbf-data du bryr deg om. (Den urelaterte GEM/Atari .prg er en ekte binær fil - behandle enhver .prg som er binær og ikke tekst med ekstra forsiktighet.)
Formatdetaljer
i et nøtteskall- GEM / Atari ST-program - På Atari ST og GEM/DOS er .prg en kjørbar PROGRAM-fil (en ekte binærfil), ikke kildekode.
- Lotus 1-2-3 / Symphony-program - Noen Lotus- og andre apper fra DOS-æraen brukte .prg for makroer/programskript.
- MicroSim PCBoard / WAVmaker-fil - Noen få ingeniør- og musikkverktøy gjenbrukte .prg for sine egne data; sjeldent og urelatert til xBase.
Programmer som åpner PRG-filer
Tekniske detaljer
dyp spesifikasjon| Filtype | xBase (dBASE/FoxPro/Clipper) kildekode i ren tekst |
| MIME-type | text/plain; også sett som text/x-prg |
| Tegnoding | ASCII / Windows-1252 for vestlige språk; eldre OEM DOS-kodesider i eldre østeuropeiske filer |
| Filsignatur (magic bytes) | Ingen - ren tekst uten binær header; programmer åpner vanligvis med kommentarlinjer (* eller &&), SET-direktiver eller en PROCEDURE/FUNCTION-deklarasjon |
| Typisk filstørrelse | 1 KB til noen få hundre KB kildetekst |
| Kompileringsresultat | FoxPro/VFP kompilerer .prg til en binær .fxp-objektfil; Clipper og Harbour kompilerer til en kjørbar fil |
| Tilhørende dataformat | .dbf - xBase-programmer er tett koblet til dBASE-tabellfiler for datalagring og henting |
| Komprimering | Ingen i kildeform |
| Kryptering / distribusjon | Kildekoden .prg er ukryptert ren tekst; FoxPro kan kryptere kompilert .app-utdata for kommersiell distribusjon |
| Språkdialekter | dBASE III/IV, FoxPro 2.x, Visual FoxPro 6-9 (OOP-utvidelser), Clipper 5.x, Harbour, xHarbour - samme .prg-endelse med subtile forskjeller i syntaks |
| Kommentarsyntaks | Linjekommentarer starter med * (stjerne ved linjestart) eller && (inline); nøkkelordet NOTE er også gyldig |
| Objektorientert støtte | Visual FoxPro introduserte DEFINE CLASS / ENDDEFINE-blokker i .prg-filer, noe som muliggjør OOP ved siden av prosedyrekode |
| Kontrollflyt-nøkkelord | IF/ENDIF, DO WHILE/ENDDO, FOR/NEXT, DO CASE/ENDCASE, SCAN/ENDSCAN - xBase-spesifikk syntaks |
| OS-støtte | Opprinnelig DOS og Windows (dBASE, FoxPro, VFP); Harbour muliggjør kompilering for Linux og macOS fra samme .prg-kilde |
| Nåværende økosystem | Kommersielle verktøy er avviklet (Visual FoxPro 9.0 SP2 var den siste i 2007); vedlikeholdes aktivt via åpen kildekode-prosjektene Harbour og xHarbour |
| Utgitt | early 1980s with dBASE II/III; adopted by FoxPro, Clipper and later Visual FoxPro |
| Siste versjon | Visual FoxPro 9.0 SP2 (2007) was the last major host; the language lives on in open-source Harbour |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | learn.microsoft.com |
PRG-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om PRG-filer.