В Тувинском государственном университете (ТувГУ) имеется конструктор электронных учебных изданий [1], c помощью которого преподаватели создают свои электронные учебно-методические пособия. У некоторых авторов возникают проблемы определения объема созданного пособия, количества файлов и других характеристик электронного пособия.
Хотя, на самом деле, это совсем не трудно, нужно просто вызвать окно свойства папки, где находится электронное учебное пособие, и найти там необходимые характеристики (см. Рисунок 1).
Поэтому был создан новый конструктор электронных учебных изданий с помощью языка программирования С#.
Одной из особенностей языка С# является то, она основана на платформе Microsoft .NET Framework. Это и отличает язык С# от других языков программирования. .NET Framework — программная платформа, выпущенная фирмой Microsoft в 2002 году. Она обеспечивает свободу программисту в создании программ, способных эффективно выполняться на различных типах ЭВМ.
В языке С# имеется специальная библиотека классов System.IO, позволяющая работать с папками и файлами [2]. Такие библиотеки в языке С# называется пространствами имен. С помощью классов данного пространства можно написать следующий код консольной программы:
using System; using System.IO;
using System.Collections; public class Class1
{
static void Main()
{
string currentDirName = System.IO.Directory.GetCurrentDirectory(); int d = currentDirName.Length, kol_file=0;
long len_file = 0;
string dir = currentDirName.Substring(0,d-15)+"book"; System.IO.Directory.SetCurrentDirectory(dir); Console.WriteLine("Текущая папка:\n" + dir);
string[] List = Directory.GetFiles(dir, "~*.*");
foreach (string f in List) { File.Delete(f); } string [] files = System.IO.Directory.GetFiles(dir); kol_file = files.Length;
foreach (string s in files)
{
System.IO.FileInfo fi = null;
fi = new System.IO.FileInfo(s); len_file = len_file + fi.Length;
}
Console.WriteLine("\nПодкаталоги:");
string[] subdirectoryEntries = Directory.GetDirectories(dir); foreach (string subdirectory in subdirectoryEntries)
{
files = System.IO.Directory.GetFiles(subdirectory); Console.WriteLine(subdirectory+" - " + files.Length); kol_file = kol_file + files.Length;
foreach (string s in files)
{
System.IO.FileInfo fi = null;
fi = new System.IO.FileInfo(s); len_file = len_file + fi.Length;
}
}
files = System.IO.Directory.GetFiles(dir+@"\help\ini"); foreach (string s in files)
{
System.IO.FileInfo fi = null;
fi = new System.IO.FileInfo(s); len_file = len_file + fi.Length;
}
kol_file = kol_file + files.Length;
files = System.IO.Directory.GetFiles(dir + @"\help\ini\registracia.files"); foreach (string s in files)
{
System.IO.FileInfo fi = null;
fi = new System.IO.FileInfo(s); len_file = len_file + fi.Length;
}
kol_file = kol_file + files.Length;
Console.WriteLine("Количество файлов в папке - {0}", (kol_file)); Console.WriteLine("Объем файлов - " + (len_file/1024/1024) + " Mb" ); Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
Результат этой программы можно увидеть на Рисунке 2.
Список литературы
1. Далаа С.М. Программная оболочка создания ЭУИ //Научные тр. ТывГУ. – 2010. – Вып. VIII. - Т.II. – С.100- 101.
2. Шилдт Г. С# 4.0: полное руководство.: Пер. с англ. — М.: ООО "И.Д. Вильяме", 2011. — 1056 с.