Vad är filformatet PRG?
.prg är en källkodsfil som främst förknippas med xBase-familjen av databasprogrammeringsspråk, inklusive dBASE, FoxPro, Visual FoxPro, Clipper och den moderna open-source-kompilatorn Harbour compiler. En .prg-fil är också en generisk filändelse som används av olika program för att lagra makron eller programinstruktioner; sådana filer är inte standardiserade och tjänar olika syften beroende på applikationen.
I sin dominerande xBase-roll lagrar en .prg källkod i klartext - inte binär data - vilket gör den läsbar i valfri textredigerare. Ett typiskt program börjar med kommentarsrader (prefixade med * eller &&), SET-direktiv och PROCEDURE/FUNCTION-block som opererar på .dbf-databastabeller. Vid kompilering skapar FoxPro en binär .fxp-objektfil, medan Clipper och Harbour genererar en körbar fil; själva .prg-källkoden är alltid läsbar för människor. xBase-språket sträcker sig tillbaka till dBASE II/III i början av 1980-talet och dominerade programmering av skrivbordsdatabaser under 1990-talet. Visual FoxPro 9.0 SP2 (2007) var den sista stora kommersiella utgåvan; språket lever vidare genom open-source-projektet Harbour.
.prg-filer används ibland av programmerare eller universitetslärare för utbildnings- eller teständamål. Sådana filer kan lagra pseudokod - en informell beskrivning på hög nivå av ett datorprogram eller en algoritm i klartext. Pseudokod är en abstraktion, inte en implementering, av ett datorprogram; den innehåller standardinstruktioner som loopar eller villkorsuttryck i ett format som är läsbart för människor snarare än maskiner. Pseudokod är språkoberoende och kan inte köras på en dator. .prg-filer väljs ibland för pseudokod just för att filändelsen inte refererar till något specifikt aktuellt programmeringsspråk.
Säkerhet & trygghet
RISK: MEDIUMEn .prg är källkod i klartext, så själva filen kan inte köras genom att bara öppnas i en redigerare - att läsa en är säkert. Risken ligger i vad den gör när den körs/kompileras: xBase-kod kan köra systemkommandon (RUN/!), läsa och skriva databasfiler samt radera data, så kör eller kompilera inte en okänd .prg utan eftertanke. Läs källkoden först, kör äldre appar i en isolerad miljö/VM och var vaksam på program som rör .dbf-data som är viktig för dig. (Den orelaterade GEM/Atari .prg är en äkta binär körbar fil - behandla alla .prg-filer som är binära och inte text med extra försiktighet.)
Formatdetaljer
i ett nötskal- GEM / Atari ST-program - På Atari ST och GEM/DOS är .prg en körbar PROGRAM-fil (en äkta binärfil), inte källkod.
- Lotus 1-2-3 / Symphony-program - Vissa Lotus- och andra DOS-applikationer använde .prg för makron/programskript.
- MicroSim PCBoard / WAVmaker-fil - Ett fåtal ingenjörs- och musikverktyg återanvände .prg för sin egen data; sällsynt och orelaterat till xBase.
Program som öppnar PRG-filer
Tekniska detaljer
djup specifikation| Filtyp | xBase-källkod i klartext (dBASE/FoxPro/Clipper) |
| MIME-typ | text/plain; även känd som text/x-prg |
| Teckenkodning | ASCII / Windows-1252 för västerländska system; äldre OEM DOS-teckentabeller i äldre östeuropeiska filer |
| Filsignatur (magic bytes) | Ingen - klartext utan binärt huvud; program börjar vanligtvis med kommentarsrader (* eller &&), SET-direktiv eller en PROCEDURE/FUNCTION-deklaration |
| Typisk filstorlek | 1 KB till några hundra KB källkodstext |
| Kompileringsresultat | FoxPro/VFP kompilerar .prg till en binär .fxp-objektfil; Clipper och Harbour kompilerar till en körbar fil |
| Tillhörande dataformat | .dbf - xBase-program är tätt kopplade till dBASE-tabellfiler för datalagring och hämtning |
| Komprimering | Ingen i källkodsform |
| Kryptering / distribution | Källkoden .prg är okrypterad klartext; FoxPro kan kryptera kompilerad .app-utdata för kommersiell distribution |
| Språkdialekter | dBASE III/IV, FoxPro 2.x, Visual FoxPro 6-9 (OOP-tillägg), Clipper 5.x, Harbour, xHarbour - samma .prg-ändelse med subtilt varierande syntax |
| Kommentarsyntax | Radkommentarer börjar med * (asterisk vid radbörjan) eller && (inuti raden); nyckelordet NOTE är också giltigt |
| Objektorienterat stöd | Visual FoxPro introducerade DEFINE CLASS / ENDDEFINE-block inuti .prg-filer, vilket möjliggör OOP tillsammans med procedurell kod |
| Nyckelord för kontrollflöde | IF/ENDIF, DO WHILE/ENDDO, FOR/NEXT, DO CASE/ENDCASE, SCAN/ENDSCAN - xBase-specifik syntax |
| Operativsystemstöd | Ursprungligen DOS och Windows (dBASE, FoxPro, VFP); Harbour möjliggör kompilering för Linux och macOS från samma .prg-källkod |
| Nuvarande ekosystem | Kommersiella verktyg är nedlagda (Visual FoxPro 9.0 SP2 var den sista, 2007); underhålls aktivt via open-source-projekten Harbour och xHarbour |
| Släppt | early 1980s with dBASE II/III; adopted by FoxPro, Clipper and later Visual FoxPro |
| Senaste version | Visual FoxPro 9.0 SP2 (2007) was the last major host; the language lives on in open-source Harbour |
| Öppen standard | Ja · royaltyfri |
| Specifikation | learn.microsoft.com |
PRG-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om PRG-filer.