Wat is het BAS-bestandsformaat?
.bas is de standaard bestandsextensie voor BASIC-broncodebestanden. BASIC - Beginners' All-purpose Symbolic Instruction Code - werd in 1964 ontwikkeld aan het Dartmouth College en werd de dominante programmeertaal op homecomputers in de jaren 80. Machines zoals de Apple II, Commodore 64 en IBM PC werden allemaal geleverd met BASIC-interpreters die programma's opsloegen als .bas-bestanden.
De extensie wordt gedeeld door verschillende verschillende dialecten:
- GW-BASIC / QBasic / QB64 Phoenix Edition: Klassieke dialecten uit de Microsoft-lijn. GW-BASIC kon programma's opslaan in een getokeniseerd binair formaat (niet leesbaar als tekst); QBasic en het moderne QB64 gebruiken platte tekst
.bas-bestanden, vaak met legacy-regelnummers zoals10 PRINT "Hello". - Visual Basic 6 / VBA: Losse codemodules worden geëxporteerd als
.bas. Deze bestanden beginnen metAttribute VB_Name = "ModuleName", gevolgd doorSub- enFunction-declaraties. Formuliermodules gebruiken .frm en klassemodules gebruiken .cls. - FreeBASIC / PureBasic / True BASIC: Moderne compilers die elk
.basals hun primaire bronformaat accepteren en gestructureerde en objectgeoriënteerde code ondersteunen.
Een .bas-bestand is platte tekst met MIME-type text/plain en bevat geen magic bytes - er is geen vaste bestandssignatuur, dus het toepasselijke dialect moet worden afgeleid uit de bestandsinhoud of de projectcontext. De opvallende uitzondering zijn oude GW-BASIC-bestanden die zijn opgeslagen zonder de ,A ASCII-vlag; deze zijn binair en kunnen niet als tekst worden geopend.
Omdat .bas platte tekst is, kan elke editor het openen. IDE's zoals Visual Studio Code en Microsoft Visual Studio bieden syntaxisaccentuering en IntelliSense voor moderne Visual Basic .bas-modules.
Beveiliging & veiligheid
RISICO: MEDIUMEen .bas is broncode - het lezen ervan is onschadelijk, maar het is een programma. Het compileren en uitvoeren van een onbekende .bas voert alles uit wat het bevat, en VBA .bas-modules kunnen kwaadaardige macro's bevatten (een veelvoorkomende vector voor malware bij import in Office). Lees de broncode voordat u deze uitvoert of importeert, en schakel geen code in van niet-vertrouwde afzenders. Gewoon bekijken in een tekstverwerker vormt geen risico.
Formaatdetails
in een notendop- VBA / VB6 geëxporteerde module - Een codemodule geëxporteerd uit Microsoft Office VBA of Visual Basic 6, beginnend met „Attribute VB_Name=”.
- Getokeniseerd GW-BASIC / QuickBASIC programma - Oude MS-DOS BASIC opgeslagen in een gecomprimeerd binair token-formaat (geen tekst) door GW-BASIC/QBASIC.
Programma's die BAS-bestanden openen
Technische details
diepe specificaties| MIME-type | text/plain |
| Bestandscodering | ASCII of UTF-8 platte tekst; er bestaat een getokeniseerde binaire variant voor GW-BASIC-bestanden die zijn opgeslagen zonder de `,A`-vlag |
| Magic bytes / bestandssignatuur | Geen - geen vaste bytevolgorde; het toepasselijke dialect moet worden afgeleid uit de bestandsinhoud of projectcontext |
| VBA / VB6 module-header | Geëxporteerde modules beginnen met `Attribute VB_Name = "ModuleName"` gevolgd door `Sub`- en `Function`-declaraties |
| Klassieke regelnummer-syntaxis | Elk statement voorafgegaan door een regelnummer (bijv. `10 PRINT "Hello"`, `20 GOTO 10`) in pre-QBasic dialecten |
| Moderne blok-syntaxis | Gestructureerde `Sub`-, `Function`- en `End Sub`-blokken gebruikt in QBasic, VB6, FreeBASIC en PureBasic |
| Commentaarstijlen | Het trefwoord `REM` (alle dialecten) of het weglatingsteken `'` (QBasic en latere dialecten) |
| Hoofdlettergevoeligheid | Trefwoorden zijn niet hoofdlettergevoelig in de meeste BASIC-dialecten; identifiers volgen dezelfde conventie |
| Executiemodel | Geïnterpreteerd in klassieke BASIC en QBasic; ahead-of-time gecompileerd in FreeBASIC en PureBasic; QB64 Phoenix Edition transpileert naar C en compileert vervolgens native |
| Gerelateerde module-extensies | `.frm` (VB6-formuliermodule), `.cls` (VB6-klassemodule), `.vb` (VB.NET-broncode), `.vbs` (VBScript) |
| Platformondersteuning | Oorspronkelijk MS-DOS en Windows; FreeBASIC and QB64 Phoenix Edition ondersteunen ook macOS en Linux |
| Taalparadigma | Procedureel in klassieke en QBasic-dialecten; objectgeoriënteerde extensies beschikbaar in VB6, FreeBASIC en PureBasic |
| Regeleinden | CRLF (`\r\n`) typisch voor op Windows gebaseerde BASIC-tools; LF gebruikelijk in op Unix gebaseerde compilers zoals FreeBASIC op Linux |
| Dialectfragmentatie | Geen enkele standaard - GW-BASIC, QBasic, VB6, VBA, FreeBASIC, PureBasic, True BASIC en QB64 hebben elk incompatibele syntaxisextensies |
| Uitgebracht | BASIC: 1964 (Dartmouth); .bas widely used since 1980s microcomputers |
| Open standaard | Ja · royaltyvrij |
| Specificatie | learn.microsoft.com |
BAS conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over BAS-bestanden.