Co to jest format pliku PRG?
.prg to plik kodu źródłowego powiązany głównie z rodziną języków programowania bazodanowego xBase, w tym dBASE, FoxPro, Visual FoxPro, Clipper oraz nowoczesnym, otwartoźródłowym kompilatorem Harbour. Rozszerzenie .prg jest również ogólnym rozszerzeniem używanym przez różne programy do przechowywania makr lub instrukcji programowych; takie pliki nie są standaryzowane i służą różnym celom w zależności od aplikacji.
W swojej dominującej roli w xBase, .prg przechowuje kod źródłowy w formacie tekstowym - nie dane binarne - co sprawia, że jest czytelny w dowolnym edytorze tekstu. Typowy program zaczyna się od linii komentarzy (poprzedzonych * lub &&), dyrektyw SET oraz bloków PROCEDURE/FUNCTION, które operują na tabelach baz danych .dbf. Po skompilowaniu FoxPro tworzy binarny plik obiektowy .fxp, podczas gdy Clipper i Harbour generują natywny plik wykonywalny; samo źródło .prg jest zawsze czytelne dla człowieka. Język xBase wywodzi się z dBASE II/III z początku lat 80. i dominował w programowaniu baz danych na komputerach stacjonarnych w latach 90. Visual FoxPro 9.0 SP2 (2007) był ostatnim dużym wydaniem komercyjnym; język żyje nadal dzięki otwartoźródłowemu projektowi Harbour.
Pliki .prg są czasami używane przez programistów lub wykładowców akademickich do celów edukacyjnych lub testowych. Takie pliki mogą przechowywać pseudokod - nieformalny, wysokopoziomowy opis programu komputerowego lub algorytmu w zwykłym tekście. Pseudokod jest abstrakcją, a nie implementacją programu komputerowego; zawiera standardowe instrukcje sterujące, takie jak pętle lub wyrażenia warunkowe, w formacie czytelnym dla człowieka, a nie dla maszyny. Pseudokod jest niezależny od języka i nie może być wykonany na komputerze. Pliki .prg są czasami wybierane dla pseudokodu właśnie dlatego, że rozszerzenie to nie odnosi się do żadnego konkretnego, aktualnego języka programowania.
Bezpieczeństwo
RYZYKO: MEDIUMPlik .prg to kod źródłowy w formacie tekstowym, więc sam plik nie może się wykonać poprzez otwarcie w edytorze - czytanie go jest bezpieczne. Ryzyko tkwi w tym, co robi po uruchomieniu/skompilowaniu: kod xBase może uruchamiać polecenia powłoki (RUN/!), czytać i zapisywać pliki baz danych oraz usuwać dane, więc nie należy bezmyślnie wykonywać (DO) ani kompilować niezaufanego pliku .prg. Najpierw przeczytaj źródło, uruchamiaj starsze aplikacje w odizolowanym środowisku/VM i uważaj na programy, które modyfikują ważne dane .dbf. (Niepowiązany .prg z GEM/Atari to prawdziwy binarny plik wykonywalny - traktuj każdy plik .prg, który jest binarny, a nie tekstowy, ze szczególną ostrożnością).
Szczegóły formatu
w pigułce- Program GEM / Atari ST - W systemach Atari ST i GEM/DOS, .prg jest plikiem wykonywalnym PROGRAM (prawdziwy plik binarny), a nie kodem źródłowym.
- Program Lotus 1-2-3 / Symphony - Niektóre aplikacje Lotus i inne z ery DOS używały .prg dla skryptów makr/programów.
- Plik MicroSim PCBoard / WAVmaker - Kilka narzędzi inżynieryjnych i muzycznych ponownie wykorzystało rozszerzenie .prg dla własnych danych; rzadkie i niepowiązane z xBase.
Programy otwierające pliki PRG
Szczegóły techniczne
specyfikacja| Typ pliku | Kod źródłowy xBase (dBASE/FoxPro/Clipper) w formacie tekstowym |
| Typ MIME | text/plain; spotykany również jako text/x-prg |
| Kodowanie znaków | ASCII / Windows-1252 dla lokalizacji zachodnich; starsza strona kodowa OEM DOS w plikach z Europy Wschodniej |
| Sygnatura pliku (magic bytes) | Brak - zwykły tekst bez nagłówka binarnego; programy zazwyczaj zaczynają się od linii komentarza (* lub &&), dyrektyw SET lub deklaracji PROCEDURE/FUNCTION |
| Typowy rozmiar pliku | Od 1 KB do kilkuset KB tekstu źródłowego |
| Wynik kompilacji | FoxPro/VFP kompiluje .prg do binarnego pliku obiektowego .fxp; Clipper i Harbour kompilują do natywnego pliku wykonywalnego |
| Towarzyszący format danych | .dbf - programy xBase są ściśle powiązane z plikami tabel dBASE w celu przechowywania i pobierania danych |
| Kompresja | Brak w formie źródłowej |
| Szyfrowanie / dystrybucja | Źródłowy .prg to nieszyfrowany tekst; FoxPro może szyfrować skompilowany wynik .app do dystrybucji komercyjnej |
| Warianty dialektów języka | dBASE III/IV, FoxPro 2.x, Visual FoxPro 6-9 (rozszerzenia OOP), Clipper 5.x, Harbour, xHarbour - to samo rozszerzenie .prg z subtelnie różniącą się składnią |
| Składnia komentarzy | Komentarze liniowe zaczynają się od * (gwiazdka na początku linii) lub && (wewnątrz linii); słowo kluczowe NOTE jest również poprawne |
| Wsparcie obiektowe | Visual FoxPro wprowadził bloki DEFINE CLASS / ENDDEFINE wewnątrz plików .prg, umożliwiając programowanie OOP obok kodu proceduralnego |
| Słowa kluczowe sterujące | IF/ENDIF, DO WHILE/ENDDO, FOR/NEXT, DO CASE/ENDCASE, SCAN/ENDSCAN - składnia specyficzna dla xBase |
| Wsparcie systemów operacyjnych | Pierwotnie DOS i Windows (dBASE, FoxPro, VFP); Harbour umożliwia kompilację na Linux i macOS z tego samego źródła .prg |
| Obecny ekosystem | Narzędzia komercyjne wycofane (Visual FoxPro 9.0 SP2 był ostatnim w 2007 r.); aktywnie utrzymywany poprzez otwartoźródłowe projekty Harbour i xHarbour |
| Wydano | early 1980s with dBASE II/III; adopted by FoxPro, Clipper and later Visual FoxPro |
| Najnowsza wersja | Visual FoxPro 9.0 SP2 (2007) was the last major host; the language lives on in open-source Harbour |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | learn.microsoft.com |
Konwersje PRG
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki PRG.