Wat is het PRG-bestandsformaat?
.prg is een broncodebestand dat voornamelijk wordt geassocieerd met de xBase-familie van database-programmeertalen, waaronder dBASE, FoxPro, Visual FoxPro, Clipper en de moderne open-source Harbour compiler. Een .prg-bestand is ook een generieke extensie die door verschillende programma's wordt gebruikt om macro's of programma-instructies op te slaan; dergelijke bestanden zijn niet gestandaardiseerd en dienen verschillende doelen, afhankelijk van de applicatie.
In zijn dominante xBase-rol slaat een .prg broncode in platte tekst op - geen binaire gegevens - waardoor het leesbaar is in elke teksteditor. Een typisch programma begint met commentaarregels (voorafgegaan door * of &&), SET-instructies en PROCEDURE/FUNCTION-blokken die werken op .dbf databasetabellen. Na compilatie produceert FoxPro een binair .fxp objectbestand, terwijl Clipper en Harbour een native uitvoerbaar bestand genereren; de .prg-bron zelf is altijd menselijk leesbaar. De xBase-taal gaat terug tot dBASE II/III in de vroege jaren 80 en domineerde de desktop-databaseprogrammering gedurende de jaren 90. Visual FoxPro 9.0 SP2 (2007) was de laatste grote commerciële release; de taal leeft voort via het open-source Harbour-project.
.prg-bestanden worden soms gebruikt door programmeurs of universiteitsdocenten voor educatieve of testdoeleinden. Dergelijke bestanden kunnen pseudocode opslaan - een informele beschrijving op hoog niveau van een computerprogramma of algoritme in platte tekst. Pseudocode is een abstractie, geen implementatie, van een computerprogramma; het bevat standaard besturingsinstructies zoals lussen of voorwaardelijke expressies in een menselijk leesbaar in plaats van machineleesbaar formaat. Pseudocode is taalonafhankelijk en kan niet op een computer worden uitgevoerd. .prg-bestanden worden soms specifiek voor pseudocode gekozen omdat de extensie niet verwijst naar een daadwerkelijke programmeertaal.
Beveiliging & veiligheid
RISICO: MEDIUMEen .prg is broncode in platte tekst, dus het bestand zelf kan niet worden uitgevoerd door het in een editor te openen - het lezen ervan is veilig. Het risico zit in wat het doet wanneer het wordt uitgevoerd/gecompileerd: xBase-code kan shell-opdrachten uitvoeren (RUN/!), databasebestanden lezen en schrijven en gegevens verwijderen, dus voer niet blindelings een niet-vertrouwde .prg uit of compileer deze niet. Lees eerst de broncode, voer verouderde apps uit in een geïsoleerde/VM-omgeving en wees op uw hoede voor programma's die .dbf-gegevens aanraken die belangrijk voor u zijn. (De niet-gerelateerde GEM/Atari .prg is een echt binair uitvoerbaar bestand - behandel elke .prg die binair is en geen tekst met extra voorzichtigheid.)
Formaatdetails
in een notendop- GEM / Atari ST programma - Op Atari ST en GEM/DOS is .prg een uitvoerbaar PROGRAM-bestand (een echt binair bestand), geen broncode.
- Lotus 1-2-3 / Symphony programma - Sommige Lotus- en andere apps uit het DOS-tijdperk gebruikten .prg voor macro-/programmascripts.
- MicroSim PCBoard / WAVmaker bestand - Een paar engineering- en muziektools hergebruikten .prg voor hun eigen gegevens; zeldzaam en niet gerelateerd aan xBase.
Programma's die PRG-bestanden openen
Technische details
diepe specificaties| Bestandstype | Platte tekst xBase (dBASE/FoxPro/Clipper) broncode |
| MIME-type | text/plain; ook gezien als text/x-prg |
| Karaktercodering | ASCII / Windows-1252 voor westerse regio's; verouderde OEM DOS-codepagina in oudere Oost-Europese bestanden |
| Bestandssignatuur (magic bytes) | Geen - platte tekst zonder binaire header; programma's openen doorgaans met commentaarregels (* of &&), SET-instructies of een PROCEDURE/FUNCTION-declaratie |
| Typische bestandsgrootte | 1 KB tot een paar honderd KB aan brontekst |
| Compilatie-output | FoxPro/VFP compileert .prg naar een binair .fxp objectbestand; Clipper en Harbour compileren naar een native uitvoerbaar bestand |
| Bijbehorend gegevensformaat | .dbf - xBase-programma's zijn nauw gekoppeld aan dBASE-tabelbestanden voor gegevensopslag en het ophalen van gegevens |
| Compressie | Geen in bronvorm |
| Encryptie / distributie | Bron .prg is niet-versleutelde platte tekst; FoxPro kan gecompileerde .app-output versleutelen voor commerciële distributie |
| Taaldialectvarianten | dBASE III/IV, FoxPro 2.x, Visual FoxPro 6-9 (OOP-extensies), Clipper 5.x, Harbour, xHarbour - dezelfde .prg-extensie met subtiel verschillende syntaxis |
| Commentaar-syntaxis | Regelcommentaar begint met * (asterisk aan begin van regel) of && (inline); NOTE-trefwoord is ook geldig |
| Objectgeoriënteerde ondersteuning | Visual FoxPro introduceerde DEFINE CLASS / ENDDEFINE blokken binnen .prg-bestanden, waardoor OOP naast procedurele code mogelijk werd |
| Control flow trefwoorden | IF/ENDIF, DO WHILE/ENDDO, FOR/NEXT, DO CASE/ENDCASE, SCAN/ENDSCAN - xBase-specifieke syntaxis |
| OS-ondersteuning | Oorspronkelijk DOS en Windows (dBASE, FoxPro, VFP); Harbour maakt Linux- en macOS-compilatie mogelijk vanaf dezelfde .prg-bron |
| Huidig ecosysteem | Commerciële tools stopgezet (Visual FoxPro 9.0 SP2 was de laatste, 2007); actief onderhouden via open-source Harbour- en xHarbour-projecten |
| Uitgebracht | early 1980s with dBASE II/III; adopted by FoxPro, Clipper and later Visual FoxPro |
| Laatste versie | Visual FoxPro 9.0 SP2 (2007) was the last major host; the language lives on in open-source Harbour |
| Open standaard | Ja · royaltyvrij |
| Specificatie | learn.microsoft.com |
PRG conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over PRG-bestanden.