Как задать возможность обработки файла определенного типа некоторой программой
Программа atou (программа 2.4) иллюстрирует последовательную обработку файлов на примере преобразования ASCII-файлов к кодировке Unicode, приводящего к удвоению размера файла. Этот случай является идеальным для применения отображения файлов, поскольку наиболее естественным способом указанного преобразования является посимвольная обработка данных без обращения к операциям файлового ввода/вывода. Программа 5.3 сначала просто отображает входной и выходной файлы в память, предварительно вычисляя размер выходного файла путем удвоения размера входного файла, а затем осуществляет требуемое посимвольное преобразование.
Этот пример отчетливо демонстрирует, как сложность процесса отображения файлов, выполнение которого необходимо для инициализации программы, компенсируется простотой результирующей обработки. Принимая во внимание, насколько просто выполняются обычные операции файлового ввода/вывода, применение более сложного метода могло бы показаться излишним, однако это с лихвой окупается выигрышем в производительности. В приложении В показано, что версия, использующая отображение файлов, в файловых системах NTFS работает значительно быстрее по сравнению с версиями, использующими обычные способы доступа к файлам, так что некоторое усложнение программы себя полностью оправдывает. Дополнительные результаты анализа производительности приведены на Web-сайте книги, поэтому ниже мы ограничимся лишь краткими выводами.
• Повышение производительности программ за счет использования отображения файлов наблюдается только в случае Windows NT и файловых систем NTFS.
• По сравнению с наилучшими из методик последовательной обработки файлов обеспечивается, по крайней мере, трехкратное повышение производительности .
• При работе с файлами большого размера преимущества в отношении производительности теряются. В нашем примере обычный последовательный просмотр файлов оказывается более предпочтительным, так как размер входного файла составляет около одной трети объема физической памяти. Снижение производительности метода отображения файлов в данном случае объясняется тем, что для входного файла требуется одна треть памяти, а для выходного файла, размер которого в два раза больше, — оставшиеся две трети, что заставляет нас сбрасывать отдельные части выходного файла на диск. Таким образом, в системе с объемом оперативной памяти 192 Мбайт ухудшение производительности метода отображения файлов будет наступать после достижения входными файлами размера 60 Мбайт. В большинстве случаев приходится иметь дело с файлами меньшего размера, в результате чего применение метода отображения файлов становится целесообразным.
В программе 5.3 представлена лишь функция Asc2UnMM. Основная программа совпадает с той, которая приведена в программе 2.4.
Программа 5.3. Asc2UnMM: преобразование файла с использованием метода отображения файлов
/* Глава 5. Asc2UnMM.c: Реализация, использующая отображение файлов. */
BOOL Asc2Un(LPCTSTR fin, LPCTSTR fOut, BOOL bFaillfExists)
HANDLE hIn, hOut, hInMap, hOutMap;
LPSTR pIn, pInFile;
LPWSTR pOut, pOutFile;
DWORD FsLow, dwOut;
/* Открыть и отобразить входной и выходной файлы. */
hIn = CreateFile(fIn, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
hInMap = CreateFileMapping(hIn, NULL, PAGE_READONLY, 0, 0, NULL);
pInFile = MapViewOfFile(hInMap, FILE_MAP_READ, 0, 0, 0);
dwOut = bFailIfExists ? CREATE NEW : CREATE ALWAYS;
hOut = CreateFile(fOut, GENERIC_READ | GENERIC_WRITE, 0, NULL, dwOut, FILE_ATTRIBUTE_NORMAL, NULL);
FsLow = GetFileSize (hIn, NULL); /* Установить размер отображения. */
hOutMap = CreateFileMapping(hOut, NULL, PAGE_READWRITE, 0, 2* FsLow, NULL);
pOutFile = MapViewOfFile(hOutMap, FILE_MAP_WRITE, 0, 0, (SIZE_T)(2 * FsLow));
Все существующие файлы условно можно разделить на две основные группы: системные и пользовательские. Очевидно, что системные файлы являются составляющими элементами самой системы, содержат в себе библиотеки, алгоритмы, команды, обеспечивающие работоспособность операционной системы. Пользовательские файлы являются виртуальным достоянием пользователя и для их чтения или редактирования требуются соответствующие программы.
Операционная система определяет тип файла по его расширению. Расширением называется последняя часть имени файла, которая следует после точки. Точек в названии может быть несколько, поэтому расширением считается часть имени файла, следующая за последней точкой в его названии. Пример: filename.txt
От расширения файла зависит — какой программой будет производиться чтение или редактирование данного файла.
Здесь возникает некоторая сложность в понимании для новичка. Дело в том, что операционная система, по умолчанию, настроена так, что известные системе расширения файлов не отображаются. В этом случае, пользователь видит только название самого файла. Видимо, создатели ОС посчитали, что пользователю нет смысла вдаваться в технические подробности.
Увы, без знания технических подробностей, полноценное взаимодействие с компьютером невозможно. По той причине, что расширения файлов остаются скрытыми, многие пользователи даже не подозревают о том, что в одной папке (каталоге) не может существовать двух файлов с одинаковыми названиями. Каждое название файла индивидуально для каждой конкретной папки.
Заблуждение возникает по той причине, что один файл может называться filename.txt, а второй файл может называться filename.jpg. Для системы, оба этих названия являются разными из-за разных расширений в имени, а пользователь, если расширения не отображаются, видит два одинаковых имени файла в одной папке и думает, что такое вполне возможно.
Рассмотрим типы пользовательских файлов. Условно их можно разделить на четыре основные группы:
1. Текстовый документ
Основным типом пользовательских файлов является текстовый документ. Данное утверждение не требует объемных доказательств, достаточно напомнить о том, что ни один сайт в интернете не обходится без текста. Кроме того, никакая электронная отчетность, ведение бухгалтерии, логистики, заключение договоров — тоже не могут обойтись без набора текстовых символов. Текст в компьютерном мире является, пусть не самым красочным, но самым основным источником информации. Графические изображения, как правило, являются дополнением к основному текстовому файлу, если содержат графики, чертежи, иллюстрации или фотографии.
Текстовый документ может содержать в себе обычный или форматированный текст. Если текстовый документ содержит неформатированный текст, такая запись, по сути, является единой строкой, содержащей определенный набор символов. Приложения, работающие с текстовыми документами, для удобства чтения автоматически располагают текст в окне в несколько строк, осуществляя перенос по словам.
Неформатированный текст содержит только основной набор символов, без указания типа и размера шрифта. Программы, работающие с текстом, отображают неформатированный текст размером и шрифтом выбранным пользователем. Таким образом, неформатированный текст, на двух разных компьютерах, может выглядеть совершенно по-разному, сохранится только основной логический смысл данного текста.
В операционной системе Windows, для чтения и создания простых текстовых файлов без форматирования, существует гениальное приложение "Блокнот". Данное приложение позволяет создавать простые текстовые файлы без форматирования. Кроме того, приложение позволяет открывать и редактировать некоторые системные файлы, содержащие техническую текстовую информацию. Также возможно создание или редактирование страниц интернета в формате HTM или HTML .
Форматированный текст имеет заданный и описанный в самом файле тип и размер шрифта, разбивку на абзацы, страницы, отступы текста от краев страницы, что подразумевает дальнейший вывод текста на печать с помощью принтера. Также форматированный текст может иметь таблицы, гипертекстовые ссылки, позволяющие осуществлять переход прямо из текстового документа на указанный ресурс в сети Интернет.
Наиболее известная программа, которая используется для работы с форматированным текстом, разработана компанией Microsoft и называется Word.
Некоторые пользователи полагают, что программа Word является неотъемлемой частью операционной системы Windows .
На самом деле, данное приложение является отдельным продуктом компании и устанавливается дополнительно. Приложение разработано специально для работников офиса, которым постоянно приходится работать с отчетами, сметами, счетами, договорами и другими аналогичными документами.
Текст без иллюстраций, фотографий или иконок выглядит слишком сухо и скучно. Иногда рисунки просто необходимы для наглядности. Все изображения, используемые в цифровой среде, можно разделить на две основных группы: растровая и векторная графика. Разница между этими двумя группами значительна и заключается в принципах построения, сохранения и чтения изображения.
Растровые изображения появились раньше и пока остаются наиболее популярными. Связано это с тем, что создавать и редактировать растровые изображения гораздо проще. На сегодняшний день существует множество различных программ, доступных широкому кругу пользователей, которые созданы для работы с растровой графикой.
Общий принцип растрового изображения заключается в том, что оно состоит из точек — пикселей. Такой принцип продиктован устройством самих мониторов, где также используются трехцветные пиксели. Каждый пиксель монитора состоит из трех ячеек, которым заданы базовые цвета: красный, зеленый и синий.
От яркости свечения каждой цветной ячейки, входящей в состав одного пикселя, зависит его общий суммарный цвет. Одинаковое свечение красного и зеленого порождают желтый цвет, одинаковое свечение зеленого и синего — дают голубой, а все три цвета в сумме дают белый. Разное процентное соотношение трёх базовых цветов — создает всю богатую палитру не только виртуального, но и окружающего мира.
Качество растрового изображения зависит от количества пикселей. Чем больше пикселей, тем выше может быть качество изображения. Пиксели в графическом рисунке образуют горизонтальные строки и вертикальные столбцы. Любое растровое изображение имеет четкий размер по ширине и высоте, который также указывается в пикселях.
Основной недостаток растрового изображения заключается в том, что изменение исходного размера изображения приводит к ухудшению качества. Связано это с тем, что при уменьшении изображения соседние пиксели суммируются и сливаются в один. При увеличении изображения добавляются новые пиксели, которым присваивается промежуточное значение соседних.
Если исходное изображение не уменьшать, а сразу увеличивать, то и в этом случае, за счет появления промежуточных пикселей теряется исходная четкость изображения. Наименьшие потери качества происходят при увеличении изображения на коэффициент кратный четырем: в два, в четыре, в восемь или шестнадцать раз.
В этих случаях, каждый пиксель просто увеличивается в четыре раза, либо в восемь, шестнадцать раз, но не появляются пиксели с промежуточными значениями.
Помимо растровой графики, существует векторная графика . Принцип построения векторного изображения заключается в том, что в исходном файле сохраняется сама форма каждого элемента изображения, в процентном соотношении от общей площади изображения. Подобное сохранение информации обеспечивает четкость изображения при любом изменении размера.
Векторное изображение, созданное на дисплее обычного компьютера, не потеряет своё качество даже в том случае, если его растянуть до размеров многоэтажного дома. Объем файла векторной графики зависит от количества элементов, используемых в рисунке.
Возможность воспроизведения звука на компьютере не является такой важной и необходимой составляющей, как текст или графическое изображение, но делает цифровой мир более совершенным и многогранным. Если же рассматривать техническую составляющую, компьютер, лишенный возможности работы со звуком, стал бы бесполезной игрушкой для композиторов, музыкантов, аранжировщиков и других специалистов, чья творческая или трудовая деятельность связана непосредственно со звуковыми файлами.
Для того чтобы понять структуру звукового файла, обратимся к базовым понятиям возникновения звука в природе. Известно, что любой звук это волна, которая порождается источником звука с помощью колебаний. От частоты колебаний источника звука зависит частота звуковой волны. Частота колебаний выражается в Герцах. Один Герц (Гц или Hz) означает одно колебание в секунду. Человеческое ухо способно слышать звуковые колебания в диапазоне от 20 колебаний в секунду (20 Гц) до 20 000 колебаний (20 кГц).
Некоторые источники утверждают, что человеческое ухо слышит не от 20, а от 30 Герц. Так или иначе, но всё, что ниже слышимого диапазона — принято считать инфразвуком, а диапазон свыше 20 000 Герц — принято считать ультразвуком.
Звуковой файл, по своей сути, это цифровая запись колебаний источника звука. При воспроизведении звукового файла, считывается запись колебаний, а сигнал, сгенерированный в соответствии с записью, подаётся на усилитель мощности, а уже затем воспроизводится динамиками звукового устройства.
Запись звука можно представить в виде графика. Для простоты восприятия, на графике изображена частота равная одному колебанию в секунду, что соответствует 1 Герц. Естественно, человеческое ухо не может услышать такую частоту, но на данном примере проще объяснить общий принцип звучания частот.
Когда мы слышим музыку, мы можем различать звучание множества различных музыкальных инструментов. Все они звучат на разных частотах, но запись подобного звучания выглядит в виде всего одной звуковой дорожки. Возникает вполне справедливый вопрос: Каким образом одна звуковая дорожка может содержать запись нескольких музыкальных инструментов?
Чтобы ответить на данный вопрос, воспользуемся двумя графиками. На одном графике изображена частота 1 Герц, на втором графике изображена частота 10 Герц. Как будет выглядеть график, если две этих частоты суммировать в один график?
Примитивная математика здесь бессильна и 1 плюс 10 Герц не будет равняться 11 Герцам. Полученный график будет сочетать в себе обе частоты, которые, при воспроизведении будут слышаться по отдельности. То есть, не сольются в единый звук. Однако, следует заметить, что суммируется громкость частот.
Подобным образом происходит наложение и слияние многих частот. В конце-концов, человеческое ухо — также имеет всего одну мембрану (барабанную перепонку), которая воспринимает всё многообразие звуков реального мира.
Видеофайлы являются наиболее "тяжелыми" по своему объему и наиболее сложными для воспроизведения на компьютере. Впрочем, для любого компьютера нет ничего страшнее, чем качественная видеоигра с трехмерной графикой и массой реалистичных эффектов: дым, туман, падающие тени от объектов и многие другие эффекты, которые создают максимальную нагрузку для видеокарты, заставляя её просчитывать весь виртуальный мир трёхмерной сцены.
Игровой режим с 3D-графикой наиболее опасен для ноутбуков потому, что система охлаждения обслуживает одновременно главный процессор и видеочип. Однако, скорость вращения кулера зависит от температуры главного процессора. Видеоигра может давать незначительную нагрузку для главного процессора при максимальной нагрузке видеочипа. В этом случае, кулер работает на пониженных оборотах, видеочип нагревается сильнее, чем главный процессор, но не получает достойного охлаждения, из-за чего значительно сокращается срок службы видеочипа.
Если учитывать нагрузку, которую создаёт трехмерная игра, то воспроизведение видеофайлов можно считать пустяком, который создаёт нагрузку процессора в пределах от 25-30% до 67-75%. Конечно, процент загрузки зависит ещё от мощности самого процессора. Чем мощнее процессор, тем проще ему работать. Для видеокарты-же нагрузка остается минимальной, поскольку, вся работа заключается в просчете плоского, двухмерного изображения, имеющего лишь ширину и высоту кадра.
Как говорилось ранее, видеофайл представляет собой серию последовательных, графических рисунков, сопровождающихся аудиодорожкой. Объем видеофайла напрямую зависит от размера и количества кадров. Правда, помимо этих параметров, существуют и такие, как интерлейсинг, битрейт, сжатие.
Известно, что человеческий глаз воспринимает движение на экране в том случае, если скорость смены кадров не ниже 24 кадров в секунду. Однако, некоторые цифровые форматы имеют настройку от шести с половиной кадров в секунду и выше. Как такое возможно?
Всё дело в том, что в подобных случаях смена кадра происходит так же быстро и резко, но время показа одного кадра на экране значительно увеличено. Конечно, чем больше кадров в секунду мы видим, тем плавнее воспринимается движение на экране.
Есть ещё такое заблуждение, что 24 кадра в секунду это максимум для человеческого глаза, а повышать количество кадров не имеет смысла. На самом деле, видео, воспроизводимое со скоростью 30 кадров в секунду, воспринимается глазом более плавно и кажется более натуральным, а 60 кадров в секунду создаёт ещё более плавный и реалистичный эффект движения.
Заключение
По своей сути, любой файл содержит запись, состоящую из набора символов. Разница лишь в том, что значения символов, в разных типах файлов, имеют разное значение. Текстовые файлы появились одними из первых, ещё на заре развития компьютерной техники. Они могут иметь простое или сложное форматирование, подразумевающее отступы текста от краёв, разбивку текста на отдельные страницы, если подразумевается вывод документа на печать.
Вторым по значению можно смело назвать графический рисунок. К этой категории относится любое растровое изображение, будь то фотография, сделанная с помощью цифровой камеры или рисунок, созданный от руки. Для компьютера не имеет значения, каким образом был создан графический рисунок, для него это просто файл, в котором описано количество точек по вертикали и горизонтали, а также указан цвет каждой точки. Открывая изображение для просмотра, компьютер должен прочитать графический файл от начала до конца и затем, в соответствии с его содержимым, отобразить область рисунка указанными цветами. Пользователь видит картинку или фотографию.
Если графические файлы содержат информацию о количестве и цветах точек, из которых состоит рисунок, то аудиофайл содержит в себе запись частоты колебаний мембраны динамиков или наушников. Компьютер, считывая информацию аудиофайла, генерирует необходимые частоты и передает их на предварительный усилитель громкости, с которого сигнал поступает на усилитель мощности и далее начинает звучать в наушниках или динамиках.
Самым "тяжелым" и сложным для обработки и чтения является видеофайл, который состоит из двух частей: видеоряд и звуковая дорожка. По своей сути, видеофайл это объединение графического рисунка с аудиофайлом, с той разницей, что видеофайл подразумевает не один рисунок, а целую серию графических рисунков, которые сменяются со скоростью 12.5, 15, 25, 29.9 или 30 кадров в секунду. Скорость смены кадров также указана в самом видеофайле. Следует учитывать, что воспроизведение видеоряда должно ещё сопровождаться синхронным воспроизведением аудиодорожки. Из-за такой сложности, на слабых компьютерах нередко возникает рассинхронизация потоков, когда видеоряд отстает от аудиодорожки, либо наоборот: опережает её.
Смысл последовательного доступазаключается в том, что в каждый момент времени доступна лишь одна компонента из всей последовательности. Для того, чтобы обратиться (получить доступ) к компоненте с номером К, необходимо просмотреть от начала файла К-1 предшествующую компоненту. После обращения к компоненте с номером К можно обращаться к компоненте с номером К+1. Отсюда следует, что процессы формирования (записи) компонент файла и просмотра (чтения) не могут произвольно чередоваться. Таким образом, файл вначале строится при помощи последовательного добавления компонент в конец, а затем может последовательно просматриваться от начала до конца.
Прямой доступ означает возможность заранее определить в файле блок, к которому будет применена операция ввода-вывода. В случае бестиповых файлов блок равен размеру буфера, для компонентных файлов блок – это одна компонента файла.
Прямой доступпредполагает, что файл представляет собой линейную последовательность блоков. Если файл содержит n блоков, то они нумеруются от 1 через 1 до n. Кроме того, вводится понятие условной границы между блоками, при этом условная граница с номером 0 расположена перед блоком с номером 1, граница с номером 1 расположена перед блоком с номером 2 и, наконец, условная граница с номером n находится после блока с номером n.
Реализация прямого доступа осуществляется с помощью функций и процедур FileSize, FilePos, Seek и Truncate.
Функция FileSize (var f): Longintвозвращает количество блоков в открытом файле f.
Функция FilePos (var f): Longintвозвращает текущую позицию в файле f. Позиция в файле – это номер условной границы. Для только что открытого файла текущей позицией будет граница с номером 0. Это значит, что можно записать или прочесть блок с номером 1. После чтения или записи первого блока текущая позиция переместится на границу с номером 1, и можно будет обращаться к блоку с номером 2. После прочтения последней записи значение FilePos равно значению FileSize.
Процедура Seek (var f; N: Longint)обеспечивает назначение текущей позиции в файле (позиционирование). В параметре N должен быть задан номер условной границы, предшествующей блоку, к которому будет производиться последующее обращение. Например, чтобы работать с блоком 4, необходимо задать значение N, равное 3. Процедура Seek работает с открытыми файлами.
Процедура Truncate (var f)устанавливает в текущей позиции признак конца файла и удаляет (стирает) все последующие блоки.
В тех случаях, когда программа обрабатывает достаточно большой объем данных, последние обычно организуются и хранятся вне оперативной памяти ЭВМ. Наиболее эффективным устройством для организации внешнего хранения данных являются диски. Прежде чем читать или записывать информацию в файл, надо открыть его с помощью стандартной библиотечной функции fopen.Программа, использующая эту функцию, должна включать во время компиляции системный файл stdio.h,в котором определен новый тип данных - FILE.
В программе нужно описывать ссылки на файлы и выглядит это, например, так: FILE *fu;
Здесь fuозначает указатель на FILE, а fopenвыдает ссылку на этот файл. Функция fopenимеет следующий заголовок:
FILE *fopen(char *fname, char type);
Обращение к fopenв программе делается так: fu=fopen(fname, type);
Строка символов fnameсодержит имя файла, который надо открыть;
type- тоже строка символов, заключенная в кавычки и указывающая, как будет использоваться файл: "r"-чтение, "w" - запись, "r+" - чтение с дозаписью, "a" -дозапись. Функция fopenвозвращает указатель, с помощью которого мы в дальнейшем будем обращаться к этому файлу.
Файл с именем MAK1открывается для чтения и далее идентифицируется как uin;
файл MAK2открывается для записи и связывается с идентификатором uout.
Язык (Турбо) СИ не содержит средств поддержки ввода/вывода. Каждая реализация СИ должна со-
провождаться библиотечными и макро, обслуживающими ввод/вывод. По мере развития СИ функции
ввода/вывода становились стандартизированными. Такая стандартизация обеспечила высокий уровень
мобильности программы на СИ.
Термин поток происходит из представления о последовательной структуре информационных запи-
сей [3]. Состав потока задается структурой FILE, описание которой задается в файле stdio.h.
Символ EOF определяется следующим образом:
Этот символ в операциях ввода/вывода служит для обозначения и проверки конца файла.
Функция fopen используется для открытия потока (файла). Интерфейс с функцией fopen описывает-
ся следующим образом:
FILE fopen(char filename, char type);
В качестве первого параметра функции должно передаваться правильное имя файла.
Второй параметр определяет тип открываемого файла.
Допустимы следующие типы файлов:
"r" Открыть уже существующий файл на ввод
"w" Создать новый файл или очистить уже существующий файл и
открыть его на вывод.
"a" Создать новый файл для вывода или осуществить вывод в конец уже существующего файла.
"r+" Открыть существующий файл для обновления, которое будет проводиться с начала файла.
"w+" Создать новый или открыть существующий файл для обновления его содержимого.
"a+" Создать новый файл или подстроиться в конец существующего файла для обновления его содер-
Функция flclose выглядит следующим образом:
int fclose (FILE *stream);
С помощью этой функции файл закрывается.
Функция fseek описывается следующим образом:
int fseek (FILE *stream, long offset, int wherefrom);
Эта функция служит для произвольного доступа к байтам, обычно внутри двоичных потоков.
Первый аргумент задает поток, к которому должен осуществляться прямой доступ.
Второй аргумент указывает число байт смещения от точки, определяемой третьим параметром
Третий параметр указывает точку, от которой следует начинать отсчет смещения, заданного вто-
Значение 0 – смещение от начала файла.
Значение 1 – смещение от текущей позиции файла.
Значение 2 – смещение от конца файла.
5. ДИНАМИЧЕСКИЕ СТРУКТУРЫ
К динамическим структурам относят структуры, которые могут изменять свой размер.
Для организации таких структур используются динамические переменные, которые создаются и уничтожаются в процессе выполнения программы.
1. Эти переменные явным образом не описываются, к ним невозможно обратиться с помощью идентификатора.
2. Память для этих переменных не выделяется во время формирования кода программы. Она выделяется в специальной области оперативной памяти - heap-области - только во время выполнения программы.
3. Доступ к таким переменным выполняется с помощью указателей, которые становятся активными после определения динамического объекта и содержат адрес в виде <сегмент>:<смещение>
1. Массивы указателей
2. Линейные и циклические односвязанные списки, стек, очередь
3. Линейные двухсвязные списки
Массив указателейна данные одного типа. Элементами такого массива есть указатели на базовую структуру: строка, запись, и т.п.. Хотя сам массив имеет фиксированный размер и занимает постоянное место в оперативной памяти, динамические элементы базового типа будут образовываться и размещаться в динамической памяти во время выполнения программы.
Линейный и циклический односвязанный список. Каждый отдельный элемент такой структуры содержит кроме одного или нескольких информационных полей поле, в котором сохраняется адрес следующего элемента. Последний элемент линейного списка содержит пустую ссылку (nil), тогда как последний элемент циклического списка содержит ссылку на первый элемент. Такие структуры образовываются и изменяются только во время работы программы.
Стек. С помощью линейного односвязного списка может быть построенный следующим образом: список будет возрастать из конца, от элемента с пустой ссылкой на следующий. Каждый очередной элемент будет прибавляться перед ним и становиться текущим (доступным для обработки - чтения). При чтении последнего элемента он уничтожается и указатель текущего элемента устанавливается на предыдущий.
Очередь. Также может быть построена с помощью линейного односвязного списка. Добавление элемента к очереди будет выполняться в конец списка (после последнего элемента), а считывание - из первого элемента со следующим его уничтожением. Таким образом надо будет сохранить два указатели - ссылка на первый и последний элементы очереди.
Двухсвязный список- такой, каждый элемент которого содержит две ссылки - на предыдущий и на следующий элементы. Первый элемент содержит пустую ссылку на предыдущий элемент, а последний - пустая ссылка на следующий элемент. Такой список также можно сделать циклическим.
Двоичные деревья могут также быть построены на базе элементов с двумя адресными полями. Одно из них содержит ссылку на левую, а второе - на правую ветвь поддерева, которое начинается с данного узла. Если одна из ветвей отсутствующая, в адресном поле, предназначенном для нее, содержится nil.
При работе на компьютере в Windows может возникнуть ситуация, когда какой-либо файл нужно открыть одной программой, а он автоматически всегда открывается не той, которая нужна. Но если программу для открытия файлов можно сразу же выбрать, то в случае открытия ссылок всё сложнее. К примеру, кликаете по ссылке, которая пришла вам в Skype, а ссылка открывается не том браузере, где вы бы хотели её открыть, а в каком-то другом. Так происходит из-за того, что изначально для открытия ссылок в Windows настроен другой браузер, он установлен как программа по умолчанию для этого действия. Тоже самое касается любых программ, потому что для каждой программы можно назначить тип файлов, которые она будет всегда открывать. В данной статье на примере Winodows 7 и 10 я покажу, как настроить программы по умолчанию для открытия файлов определённого типа, а также ссылок.
Примеры для Windows 8 в этой статье рассматриваться не будут, потому что там делается всё точно также как в Windows 7 или в Windows 10.
Открыть файл в другой программе
Давайте рассмотрим, как отрыть его в другом проигрывателе. Первое что мы можем сделать. Кликаем правой кнопкой мыши по файлу, и из появившегося списка выбираем пункт «Открыть с помощью », потом в выпадающем списке тот проигрыватель, с помощью которого нужно открыть. В моем случае это AIMP.
Вот таким вот образом мы открыли файл в другой программе .
Но если мы в следующий раз опять попытаемся открыть этот же файл, двойным щелчком мыши левой кнопкой, то он опять откроется проигрывателем Windows Media Player по умолчанию. Так как изменений в систему мы никаких не вносили.
Если мы хотим чтобы в последующие разы у нас постоянно все MP3 файлы открывались проигрывателем AIMP нам нужно указать это системе.
Для этого снова кликаем по MP3 файлу правой кнопкой мыши, выбираем пункт «Открыть с помощью », затем пункт «Выбрать программу ».
В открывшемся окне выделяем проигрыватель, с помощью которого все MP3 файлы должны открываться, обязательно не забываем ставить галочку напротив пункта «» и затем нажимаем «ОК ».
Мы внесли в систему изменения, теперь все MP3 файлы на компьютере будут открываться с помощью выбранного проигрывателя. Нам достаточно будет кликнуть два раза левой кнопкой мыши по песне, как откроется проигрыватель AIMP и начнется воспроизведение.
Если вдруг мы нажали кнопку «Выбрать программу », но в списке не оказалось нужной, но мы точно знаем, что её установили, то нам нужно будет нажать кнопку «Обзор ».
Теперь программа появится в списке, и мы для открытия MP3 файлов по умолчанию этим проигрывателем делаем все как описано в статье выше.
Вот таким образом можно привязывать любые файлы к любым программам. Например, после установки какой-либо навороченной программы для просмотра изображения, мы один раз проделываем несколько действий.
Кликаем правой кнопкой мыши, выбираем пункты «Открыть с помощью – Выбрать программу » и указываем системе программу, с помощью которой она должна в дальнейшем открывать данный тип изображений.
Главное при смене программы для открытия файла не забывайте ставить галочку «».
На этом все, инструкция о том, окончена! Удачи!
Файлы формата doc – это текстовые документы (могут содержать графические элементы), созданные с помощью Мicrosoft Office Word 2003 (и версий ниже).
С той поры, когда была выпущена версия «2003» многое изменилось, сам Мicrosoft Office претерпел ряд изменений, и теперь все «вордовские» файлы имеют расширение docx. При этом современные версии не поддерживают старый формат файлов, из-за чего многие пользователи зачастую сталкиваются с проблемой их открытия.
Итак, как открыть файл doc.
Если вы скачали документ с расширением doc, но у вас не установлена старая версия Word, то открыть данный файл можно несколькими способами.
Открыть файл doc с помощью Google Docs
Если вы не любите устанавливать на свой ПК какие-либо программы, то этот способ точно для вас.
Для открытия и редактирования всех документов, созданных в Word, можно использовать онлайн-сервис под названием «Google Docs ». Он является абсолютно бесплатным, но требует регистрации.
Назначение программ по умолчанию сразу для всех типов файлов и протоколов через параметры Windows
Параметры Windows позволяют назначить программы по умолчанию сразу для всех типов файлов, которые программа способна открывать. Также только через параметры Windows можно настроить программы, которые будут использоваться для работы с определёнными протоколами, например, чтобы все ссылки открывались только в определённом браузере.
Ниже будет показана подробная инструкция на примере Windows 10. Настройки для Windows 7 очень похожи и будут рассмотрены кратко имеются лишь небольшие отличия, в основном по интерфейсу). Настройки для Windows 8 полностью идентичны настройкам Windows 7.
Откройте поиск Windows и наберите запрос «Программы по умолчанию» после чего выберите найденный параметр «Программы по умолчанию» из результатов поиска и откройте его.
Информация о том, как пользоваться поиском Windows находится вот здесь >>
В списке будут отображено, какая из программ что именно открывает, например, какая программа используется в качестве видео проигрывателя, какая является веб-браузером и пр.
Здесь вы можете переназначить программы для выполнения определённых действий и для открытия определённых файлов. Для этого нужно кликнуть по уже назначенной для какого-либо действия программе и выбрать из списка другую (если программа никакая не назначена, то нажмите кнопку «+»). К примеру, вы хотите выбрать другой браузер по умолчанию, для того чтобы все ссылки из других программ открывались только через него. Для этого под заголовком «Веб-браузер» кликаем по уже назначенному браузеру (если не назначен, нажмите «+») и из списка (2) выбираем тот браузер, который нам нужен, через который вы хотите открывать все ссылки.
Настройка программ для открытия файлов определённого типа
Также вы можете задать программы по умолчанию для открытия файлов определённого типа.
Аналогичная процедура описывалась выше в предыдущей главе с тем лишь отличием, что в параметрах вы сразу же в одном месте сможете назначить программы для всех типов файлов, а не по одиночке через проводник.
Для перехода к параметрам для выбора программам, открывающих определённые типы файла, нажмите на ссылку «Выбор стандартных приложений для типов файлов».
На открывшейся странице в колонке слева (1) будут отображаться все возможные типы файлов в Windows, а справа (2) напротив каждого типа файла будет отображена программа, открывающая эти файлы. Если программа для какого-то типа файла не назначена, то вы можете назначить её, кликнув по кнопке «+» (3).
Настройка программ для открытия сразу всех типов файлов и протоколов, которые она способна открывать
Можно настроить нужные программы так, чтобы они открывали всё что можно при помощи них открыть. Однако с этим вариантом настройки нужно быть внимательным, потому что может получиться так, что, файлы некоторых типов станут открываться не в той программе, в которой вам бы хотелось.
К примеру, если для браузера Google Chrome выставить сразу все файлы и протоколы, которые он может открывать, то может получиться так, что, допустим, файлы PDF станут открываться не в привычной программе Acrobat Reader, а в Google Chrome. Такое возможно из-за того, что Google Chrome тоже может открывать файлы PDF, а вы как раз настроили этот браузер так, чтобы он открывал всё что мог.
Чтобы настроить нужные программы на открытие сразу всех файлов и протоколов, которые они только способны открывать, перейдите в подраздел «Задать значения по умолчанию по приложению».
Затем в списке слева (1) выберите программу, для которой хотите установить по умолчанию для открытия сразу всего что она способна открывать. В столбце справа нажмите «Использовать эту программу по умолчанию» (2).
Работа с DOC-файлами на смартфоне
Возможность создания новых DOC-файлов и редактирования существующих хорошо реализована только в официальных и, к счастью, бесплатных приложениях от Microsoft и Apple. Для смартфонов и планшетов на Android версии 4.1 и старше подойдет мобильная версия программы Word.
Владельцам iPhone и iPad следует обратить внимание на приложение Pages. Единственной достойной альтернативой официальному ПО, правда, со слегка урезанным функционалом, будет программа WPS Office.
Для планшетов и нетбуков под управлением ОС Windows подойдут те же программы, что и для настольных ПК.
На примере Windows 7
В Windows 7 «Программы по умолчанию» для настроек программ по каждому типу открываемых файлов можно также найти через поиск Windows, набрав тип запрос «Программы по умолчанию».
В Windows 7 окно «Программы по умолчанию» выглядит так:
Для выбора программ для выполнения определённых действий в системе нужно открыть «Настройка доступа программ и умолчаний».
В открывшемся окне нужно открыть категорию «Другая» вы ниже в списке назначить нужные программы для каждого действия.
Чтобы задать программы для открытия определённых типов файла, то в разделе «Программы по умолчанию» откройте пункт «Сопоставление типов файлов или протоколов конкретным программам».
В окне остаётся назначить нужные программы для открытия нужных типов файлов. Для этого выбираете тип файла из списка (1) и нажимаете «Изменить программу» (2).
Для того чтобы задать нужные программы по умолчанию для открытия всех файлов, которые она способна открывать и для всех протоколов, откройте подраздел «Задание программ по умолчанию».
В списке слева выбираете нужную программу (1), а затем справа нажимаете «Использовать эту программу по умолчанию» (2).
Изменение расширения имени файла
Еще одной причиной потери доступа к файлу может быть изменение . Об этом уже говорилось ранее. Такую ошибку можно допустить, если невнимательно отнестись к изменению наименования файла, при этом можно случайно удалить его расширение.
При удалении этого кусочка имени файл может стать недоступным
Заключение
Умение устанавливать программы по умолчанию для открытия тех или иных файлов позволит вам легко решить возможные проблемы в Windows, когда, к примеру, ссылки из Скайпа или каких-то других программ открываются не в том браузере. Или же какие-то видео файлы открываются не через тот проигрыватель. Инструкции выше помогут сопоставить нужные программы с нужными файлами, чтобы всё было так как вам удобно.
На этом всё! Хорошего вам дня и отличного настроения! 😉
Не открывается файл, полученный из интернета
Наиболее распространенной причиной невозможности открыть файлы, скачанные из сети Интернет, является отсутствие на компьютере соответствующего приложения. Например, мы скачали заинтересовавшую нас книгу с расширением , а программы для чтения таких файлов у нас нет. Соответственно открыть для чтения такую книгу мы не сможем до тех пор, пока не установим необходимую программу на свой компьютер. Это же относится и к планшетным компьютерам и смартфонам, нет программы – не открываются файлы.
Таким образом, для того чтобы не иметь проблем с открытием создаваемых документов мы должны хорошо представлять где и с помощью какой версии офисного приложения будем их открывать. При изменении наименования файла нужно стараться не изменить его расширение. Также нужно помнить, что прежде чем скачивать откуда-нибудь понравившиеся файлы нужно разобраться, установлено ли соответствующее приложение на компьютере.
Файл формата FILE открывается специальными программами. Чтобы открыть данный формат, скачайте одну из предложенных программ.
FILE Инструмент анализа файлов™
Вы не уверены, какой тип у файла FILE? Хотите получить точную информацию о файле, его создателе и как его можно открыть?
Теперь можно мгновенно получить всю необходимую информацию о файле FILE!
Революционный FILE Инструмент анализа файлов™ сканирует, анализирует и сообщает подробную информацию о файле FILE. Наш алгоритм (ожидается выдача патента) быстро проанализирует файл и через несколько секунд предоставит подробную информацию в наглядном и легко читаемом формате.†
Уже через несколько секунд вы точно узнаете тип вашего файла FILE, приложение, сопоставленное с файлом, имя создавшего файл пользователя, статус защиты файла и другую полезную информацию.
Чтобы начать бесплатный анализ файла, просто перетащите ваш файл FILE внутрь пунктирной линии ниже или нажмите «Просмотреть мой компьютер» и выберите файл. Отчет об анализе файла FILE будет показан внизу, прямо в окне браузера.
Перетащите файл FILE сюда для начала анализа
Просмотреть мой компьютер »
Пожалуйста, также проверьте мой файл на вирусы
Файл формата FILE открывается специальными программами. Чтобы открыть данный формат, скачайте одну из предложенных программ.
Как открыть любые файлы
После установки запустите программу, и вы увидите запрос на выбор языка. FileViewPro предлагает большое количество разных языков, выберите среди них тот, который вам нужен и нажмите «Ок». Перед вами откроется интерфейс программы.
Чтобы открыть любые файлы с помощью этого инструмента, можно перенести их на интерфейс программы мышкой, либо нажать вверху кнопку «Открыть» и найти нужные файлы на компьютере.
И после этого файл откроется.
Например, можно открыть изображение. Картинки можно редактировать. Для этого есть инструменты внизу.
Также можно попробовать открыть тексты. Их тоже можно редактировать с помощью инструментов.
FileViewPro позволяет работать даже с архивами разного вида – распаковывать их и запаковывать.
Таким образом, можно открыть любые файлы.
Обратите внимание на инструменты вверху программы. Благодаря им можно также проводить разнообразные операции с открытыми файлами. Это полезно для удобства.
Кроме этого, FileViewPro очень удобно устроена тем, что открывает несколько файлов и показывает их во вкладках, как браузер. Это положительно сказывается при работе с большим количеством файлов.
Читайте также: