Cursussen/Courses Codesnippets     Top 
Small Basic - Bestanden


1. Tekstbestanden

In Small Basic kan je teksten lezen van een bestand of opslaan in een bestand. Je geeft hiervoor het juiste pad en de bestandsnaam op.

Dit zeer kort programma is reeds voldoende om al jouw ideeën te bewaren in een tekstbestand met de naam "notas.txt".

De bewerking "AppendContents" van het object "File" zorgt ervoor dat de ingegeven tekst in het tekstvenster achteraan wordt toegevoegd aan het tekstbestand "notas.txt". Het programma is hier dus reeds 3 maal uitgevoerd en de inhoud wordt steeds groter. Met de bewerking "WriteContents" wordt de vorige tekst overschreven!

Als je de extensie ".txt" niet opgeeft dan moet je in Windows opgeven met welk programma het bestand kan geopend worden. Je kunt het bestand openen met Kladblok als de extensie ".txt" is.

Als je geen pad opgeeft wordt het tekstbestand bewaart in de laatst gebruikte map in Small Basic en dat is meestal de map waar de programma's in bewaard zijn. Je kunt best al jouw bestanden op een aparte schijf bewaren (in het voorbeeld wordt een aparte partitie gebruikt met de schijfletter D:\).

In een programma waarbij je tekst in het tekstvenster toont kan je die tekst ook in een bestand bewaren. In regelnummer 9 worden in het onderstaande programma de namen ook bewaard in een bestand.

Met de bewerking "WriteLine" van het object "File" wordt tekst lijn per lijn weggeschreven in het opgegeven bestand. Je moet echter steeds de lijnnummer opgeven. Als je het programma nog eens uitvoert wordt de inhoud van het bestand overschreven!

Met de bewerking "ReadContents" van het "File" object wordt de inhoud van het tekstbestand volledig ingelezen en in het tekstvenster getoond.

De regeleinden worden toegepast in het tekstvenster.

Met "ReadLine" moet je de regelnummer opgeven (hier 3). Als je een ongeldige regelnummer ingeeft wordt er niets getoond in het tekstvenster.

Met de bewerking "InsertLine" kan je een regel tussenvoegen op de opgegeven regelnummer.



2. Bewerkingen

Met de bewerkingen van het "File" object kan je mappen aanmaken en verwijderen, bestanden kopiëren en verwijderen, mappen en bestanden in mappen opvragen.

Dit programma maakt een nieuwe map aan in de bestaande "small_basic" map. Als dat is gelukt dan wordt er in het tekstvenster het woord "SUCCESS" getoond.

In het onderstaande programma wordt een bestand gekopieerd en als deze kopieeroperatie is gelukt wordt "SUCCESS" getoond in het tekstvenster.

Daarna worden alle bestanden opgevraagd in de nieuwe map "tekstbestanden" met de bewerking "GetFiles". Het resultaat van deze bewerking wordt echter niet goed weergegeven in het tekstvenster. Alle paden worden zonder regeleinde in het tekstvenster getoond!

Nota: De andere bestanden die je in de lijst ziet heb ik met Windows Verkenner aangemaakt.

Het vervolg van het programma splitst de bestandenlijst in afzonderlijke paden zodat ze onder mekaar in het tekstvenster kunnen weergegeven worden.

Met de bewerking "GetDirectories" haal je alle onderliggende mappen van een map op. Ook hier worden de paden van de mappen achter mekaar weergegeven!



3. Oefeningen

1. Vul het programma "Pick3" (oefening 4 in Small Basic – subroutines) aan zodat de gekozen combinaties worden weggeschreven in een tekstbestand met de naam "pick3.txt". Zorg ervoor dat het tekstbestand wordt weggeschreven in een map "lotto" die zich in de standaard Documenten map bevindt. Als de map nog niet bestaat moet je die eerst aanmaken! (programma naam: pick3_bestand)

2. Vul het programma "temperatuur" (oefening 1 in Small Basic – arrays) aan met instructies om de inhoud van de array in een tekstbestand ("temperaturen.txt") op te slaan. Schrijf daarna een subroutine om de hoogste en laagste temperatuur op te halen uit het tekstbestand (en niet uit de array). (programma naam: temperatuur_bestand)

3. Schrijf een nieuw programma voor het vertalingsprogramma (oefening 4 in Small Basic – arrays). De woorden worden opgeslagen in een tekstbestand. Het te vertalen woord komt eerst gevolgd door een puntkomma ";" en daarna komt de vertaling van het woord. Bewaar het bestand met de naam "vertalingen.csv". Schrijf ook een subroutine waarbij de gebruiker een woord ingeeft en het programma de vertaling opzoekt in "vertalingen.csv" en weergeeft in een tekstvenster. Tip: in deze tekst vind je een methode om een tekst met puntkomma's uit mekaar te halen ("mappen.sb"). (programma naam: vertalingen_bestand)

4. Schrijf een nieuwe versie van het programma "array_punten.sb" (een voorbeeld in Small Basic – arrays) waarbij de punten in het bestand "punten.csv" worden opgeslagen. In de eerste rij van het bestand zet je de kolomkoppen ("Leerlingennaam", "punten Nederlands", "punten Informatica") met tussen elke kop een puntkomma (;). De volgende rijen in het bestand bevatten dan de leerlingnaam, de punten voor Nederlands en de punten voor Informatica. Deze gegevens worden ook gescheiden door een puntkomma (;). (programma naam: punten_csvbestand) Schrijf dan een programma dat aan de gebruiker in een tekstvenster een pad en een bestandsnaam vraagt. Het bestand moet de extensie ".csv" hebben. Je kunt dus het "punten.csv" bestand dat je zojuist hebt aangemaakt hiervoor gebruiken. Schrijf een subroutine die de inhoud van het bestand in een array met 2 dimensies plaatst. De eerste dimensie is de inhoud van het eerste stuk voor de puntkomma (vanaf regel 2) en de tweede dimensie is de tekst van elke kolom kop die je terugvindt in de eerste regel van het bestand na de eerste puntkomma.

Een voorbeeld: (programma naam: csvbestand_lezen).

Test het programma ook eens uit met een ander ".csv" bestand!