Урок 19 Работа с файлове
До този момент ние сме се научили да въвеждаме данните от клавиатурата или с оператора за присвояване ви след това да оперираме с тях. Това обаче не винаги е удобно.
Затова всяка среда за програмиране работи и с друга структура – файл.
Файлът с данни е съвкупност от множество елементи от един и същ тип, записани последователно по определена структура. Броят на елементите в него е практически неограничен, но всички те са от един тип.
Обикновено данните се съхраняват в текстов файл, който представлява последователност от редове. Всеки ред се състои от символи, значението на които се определя от специална таблица, наречена кодова таблица. Редът винаги трябва да завършва със знак за нов ред или абзац. Текстови файлове могат да се създават с който и да е текстов редактор.
Нека създадем текстов файл с редактора на Small Basic и го съхраним като NAMES.txt
T.e. във файл /manes.txt / сме съхранили 7 имена на ученици.
Ще напишем програмен код, с който ще четем данните в този файл. Той има 7 записа, те са от един тип- стринг.
a = File.ReadLile( f, n), където f e файловата спесификация, а n – номера на записа
Използваме обекта файл и четем от него N-ти запис
Ако сме записали файла names.txt в устройство С и папка SmallBasic неговата файлова спесификация ще бъде “C:\ SmallBasic\ names.txt”.
Ako сме го записали в диск Е / както е в картинката/ файловата сесификация ще бъде
„Е:\dk\it\SmallBasicFun\recipes\names.txt”
Нека въведем следния код;
a = File.ReadLine("e:\dk\it\SmallBasicFun\recipes\names.txt", 4)
TextWindow.WriteLine(a)
Ще искаме да прочетем от файла 4 запис и след това ще го изведем в текстовия прозорец.
Изпълнявайки кода, ще получим:
Ако текстовия файл се намира в една папка с програмния файл на средата, ние можем да използваме метода Program.Directory
f = Program.Directory + "\names.txt"
a = File.ReadLine(f,5)
И в променлива а ще запомним 5 запис от файла.
Ако такъв запис не съществува, тогава в а ще се запомни празен низ. Същото ще се получи ако посоченият файл не е открит.
Ще напишем програма, която чете всички записи във файла и когато намери празен низ, значи сме в края му. Променливата EOF получава стойност TRUE и цикъла While завършва.
Изпълнението на по-горния програмен код ще даде следния резултат:
Файлът може да съдържа и числова информация.
Нека създадем файл, в който са записани оценките по информатика на тези 7 ученика.
Данните са съхранени във файл с име ocenki.dat. Забележете, че в 5 запис /ред/ вместо десетична точка е поставена десетична запетая. Така данните няма да се възприемат като числа и ще имат стойност 0. Трябва да се направи корекция, за да можем да изчислим средно аритметичното им.
и резултатът ще бъде:
Сега ще се опитаме да добавим запис към вече изграден файл. Ще използваме операцията AppendContents – добави съдържание. За да се убедим, че добавянето е осъществено, извеждаме съдържанието на файла с данни.
Резултатът от изпълнение на програмния код ще бъде: