Если файл открывается не той программой или вообще не открывается. Открыть файл без расширения

У вас есть вопросы по форматам файлов и расширениям? Мы постарались помочь и дали ответы на самые популярные из них!

    На каждом компьютере хранятся сотни тысяч самых разнообразных файлов: текстовые, аудио, файлы изображений и многие другие. Что происходит, когда вы открываете какой-либо файл? Вначале операционная система определяет, к какой программе относится этот файл. Затем если на компьютере установлена программа, соответствующая файлам этого типа, она и открывает этот файл.

    А как же система определяет тип того или иного файла? На самом деле, все не так сложно, как кажется на первый взгляд. У каждого файла существует расширение, именно по расширению операционная система и определяет, к какой программе относится файл.

    Расширение файла необходимо для определения формата того или иного файла. Расширение прописывается в имени файла после точки в виде последовательности символов. Как пример, рассмотрим файл «Document.txt », «Document » - это имя файла, а «txt » - его расширение. В MS-DOS длина расширения была ограничено тремя символами. В современных операционных системах ограничение по количеству символов снято. При инсталляции программ, в системный реестр записываются соответствия расширений и программ, способных открывать такие файлы.

    Заставить компьютер показывать расширения файлов возможно сделав несколько совсем несложных манипуляций. Покажем на примере Windows XP.

    Необходимо войти в меню «Пуск », там выбрать пункты «Настройка»=>«Панель управления» , в открывшемся списке дважды кликнуть на ярлык «Свойства папки» и в появившемся окне выбрать закладку «Вид» .

    Затем снимаем галочку напротив пункта «Скрывать расширения для зарегистрированных типов файлов» . Всё, теперь расширения файлов видны!

    Довольно часто возникает такая ситуация, когда расширение неизвестно операционной системе и она не знает, в какой программе нужно открывать файл. Появляется окно, в котором предлагается выполнить поиск нужной программы в интернете или выбрать программу самостоятельно из списка.

    Поиск в интернете, к сожалению, вам ничем не поможет, поэтому можете смело выбирать второй вариант. Перед вами появится окно со списком программ, с помощью которых можно попытаться открыть данный файл.

    Раз операционной системе не удалось определить, какой программой был создан файл, то заняться этим должны вы. Сделать это очень просто с помощью нашего сайта. Просто введите в строку поиска расширение файла без точки и кликните по кнопке «Найти ». Определив программу, выберите ее на своем компьютере или установите, если такой у вас еще нет.

    Случается, что расширение у файла просто отсутствует. А возможно вы просто неудачно переименовали этот файл, стерев его расширение. Если это файл с вашего компьютера, и вы помните, какой программой вы его открывали ранее, то попытайтесь его открыть с помощью этой программы. Для этого кликните по нему правой кнопкой мыши и выберите из контекстного меню пункт «Открыть с помощью ». Выберите из списка нужную программу и нажмите кнопку «ОК ».

    Если файл без расширения попал к вам через электронную почту, попробуйте выяснить у отправителя, к какой программе относится этот файл. С таким файлом нужно быть осторожным, так как он может оказаться вирусом.

    Если вам удалось выяснить причину отсутствия расширения у файла и вы нашли программу, которая открывает этот файл, то лучше добавить отсутствующее расширение, дописав его через точку к названию.

    Пример ситуации: вы хотите посмотреть фильм, а он у вас открывается не вашим любимым плеером, а Winamp’ом, который хорош для музыки, но никак не для видео.

    Чтобы это исправить, нужно нажать правой кнопкой мыши на файле и выбрать во всплывающем меню «Открыть с помощью ». Далее смотрите список предлагаемых программ. Если нужной программы среди них нету, в самом низу меню нажимаете «Выбрать программу... ».

    Затем вручную выбираете программу при помощи которой вы хотите открыть этот файл. Если вы хотите постоянно открывать данный тип файлов именно этой программой, то просто поставьте галочку возле «Всегда использовать для всех файлов такого типа ».

    Чтобы поменять расширение, для начала нужно убедиться, что показ расширений включен. Для этого, в любой открытой папке, в меню «Сервис » выберите пункт «Свойства папки… ». В открывшемся окне кликните по вкладке «Вид ». В меню дополнительных параметров найдите строку «» и уберите галочку рядом с ней. Нажмите кнопку «ОК ».

    Теперь вы уверены в том, что показ расширений включен. Далее необходимо кликнуть правой кнопкой мыши по файлу, расширение которого необходимо изменить. В контекстном меню выберите пункт «Переименовать ». Сотрите расширение после точки и напечатайте новое. После этого появится окно с предупреждением, в котором нужно нажать «ОК ».

    Если у файла отсутствует расширение, то дописать его можно аналогичным способом. Главное, не забывайте, что название файла и расширение разделяются точкой.

    Изначально у операционной системы Windows 7 в целях безопасности функция смены расширения отключена.

    Первое, что нужно сделать, это выбрать меню «Пуск », после чего зайти в «Панель управления ». В открывшемся окне найти и дважды кликнуть на ярлык «Параметры папок ». Затем во вкладке «Вид » следует убрать галочку напротив надписи «Скрывать расширения для зарегистрированных типов файлов ». Нажимаем «Применить ».

    Теперь расширения отображаются, осталось только поменять расширение нужного файла. Кликаем на нем правой кнопкой мыши, в открывшемся меню выбираем «Переименовать » и меняем расширение на нужное.

    Мнение, будто каждому типу файлов соответствует только одна программа в корне не верно. Практически любой файл может быть открыт несколькими разными программами. Как пример такого утверждения - самый обыкновенный рисунок в формате , его можно открыть в практически любой программе просмотра изображений.

    На вопрос всегда ли одинаковое расширение означает один и тот же формат файла можно дать однозначный ответ: нет.

    Нередки случаи, когда из-за этого происходят недоразумения. Есть файлы одного формата но содержащие различные виды данных. Как пример, этого может быть видео в формате , в котором само видео может быть в формате DivX или Indeo.

    А есть и форматы с одинаковым расширением, но абсолютно разные по содержанию. Например файлы с расширение, нередко код вируса дописывается в один из системных файлов ОС, например в explorer.exe или shell32.dll.

    Стоит опасаться и файлов с двойным расширением, например «sexy_girl.jpg.exe» . В последнем случае, если вы не пользуетесь файловым менеджером, а работаете через проводник, то вы увидите просто «sexy_girl.jpg» , настоящего расширения проводник при стандартных настойках вам не покажет, так как.exe считается стандартным расширением и не отображается.

    В меню любой папки нужно зайти в Сервис => Свойства папки . На вкладке Вид выбираем Показывать скрытые файлы и папки и убираем галочку на Скрывать защищённые системные файлы .

    Теперь все эти файлы отображаются, но будьте осторожны! Как правило, эти файлы нельзя переименовывать, перемещать, редактировать или удалять!

Введение

В статье я подробно расскажу, как ассоциировать собственное приложение с определенным типом файлов. Чтобы при двойном клике по файлу запускалось это приложение и открывало выбранный файл.

Для ассоциации файлов с приложением есть специальные компоненты и модули, например . В статье я буду описывать, как это делается вручную.

Как все это работает?

Вообще все работает очень просто. Вся необходимая для этого информация заносится в реестр в определенную ветку. Откройте редактор реестра (Пуск -> Выполнить -> regedit) и зайдите в ветку HKEY_CLASSES_ROOT. Там Вы увидите все существующие в системе расширения. Там вы найдете и.txt и.bmp и многие другие знакомые расширения.

Давайте рассмотрим расширение.jpg. В нем у меня есть ветка OpenWithProgids, а в ней есть ACDSee Pro 2.0.jpg типа REG_SZ. Дальше переходим по ветке HKEY_CLASSES_ROOT\ACDSee Pro 2.0.jpg. В ней есть несколько веток. Рассмотрим те, которые нам понадобятся, это: DefaultIcon - путь к иконке которой будет отображаться файл в проводнике; shell\Open\command - какую программу открывать при двойном клике по файлу.

Необходимо знать, что при запуске программы в качестве параметра передается путь к файлу, который открывается. Поэтому нужно будет обрабатывать этот параметр.

Реализация

Пусть файл будет расширения .dev . Напишем процедуру для добавления необходимых значений в реестр. Не забудьте добавить в секцию uses модуль Registry для работы с реестром.

uses Registry, ShlObj;
...
var Reg: TRegistry;
...
procedure Associate;
var s:string ;
begin
Reg:=TRegistry.Create; // создаем
// указываем корневую ветку

Reg.OpenKey(".dev\OpenWithProgids\" , true);
Reg.WriteString("TestApplication.dev" , "");

Reg.OpenKey("\TestApplication.dev\DefaultIcon\" , true);
s:=Application.ExeName+",0";
Reg.WriteString("", s);

Reg.OpenKey("\TestApplication.dev\Shell\Open\" , true);
Reg.WriteString("", "Открыть в TestApplication");

Reg.OpenKey("command\" , true);
s:="""+Application.ExeName+"" "%1"";
Reg.WriteString("", s);

nil , nil );
end ;

Функция OpenKey открывает ветку, указанную в первом параметре. Второй параметр установлен в True, чтобы ветвь создалась, если она не существует.

Далее в переменной s формируем путь к иконке. В данном случае берется иконка с индексом 0 из exe приложения. Например, можно добавить в приложение еще одну иконку и использовать её для файлов программы, но можно указать и путь к.ico файлу.

TestApplication.dev я выбрал сам. Название этой ветки придумываете вы сами. Обычно пишется название программы и добавляется расширение, так как программа может работать с несколькими расширениями.

После добавления данных в реестр вызывается процедура SHChangeNotify , чтобы иконки обновились и настройки применились.

procedure DeleteAssociate;
begin
Reg:=TRegistry.Create;
Reg.RootKey:= HKEY_CLASSES_ROOT;

Reg.DeleteKey(".dev" );
reg.DeleteKey("TestApplication.dev" );

SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil , nil );
end ;

Тут все еще проще - просто удаляем созданные ветки.

Обработка загрузки

Теперь осталось только обработать параметр, чтобы программа не просто загружалась, а еще и открывала файл. Все очень просто, во время создания формы считываем функцией ParamCount количество параметров и если их число не 0, то вызываем функцию загрузки, а в качестве входного параметра в эту функцию передаем путь к файлу, который нужно открыть. Щелкните по форме два раза, тем самым создавая, обработчик создания формы.

procedure TForm1.FormCreate(Sender: TObject);
begin
if ParamCount <> 0 then Load(ParamStr(1));
end ;

Ну и нужно еще написать функцию загрузки файла. Добавьте TMemo на форму.

function Load(FName:string ): boolean;
begin
Form1.Memo1.Lines.LoadFromFile(FName);
end ;

Скорее всего, в вашем приложении функция будет значительно сложнее с обработкой на невозможность открытия файла и возвратом результата открытия. В данном случае я не буду это делать.

Добавьте два TButton на форму. По клику по первому будет выполняться ассоциация, а по второму снятие ассоциации.

Кликаем два раза по первой кнопке и приводим процедуру к такому виду.

procedure TForm1.Button1Click(Sender: TObject);
begin
Associate;
end ;

Выполняем действия аналогичные описанным выше, но для второй кнопки.

procedure TForm1.Button2Click(Sender: TObject);
begin
DeleteAssociate;
end ;

Ну вот и все. При попытке открытия файла с расширением.dev в Memo1 должно загрузиться содержимое файла.

Открывая папку или библиотеку, можно изменить вид файлов в окне. Например, можно увеличить (или уменьшить) пиктограммы или выбрать такое представление, которое будет отражать для различных файлов различные типы сведений. Чтобы внести такие изменения, воспользуйтесь кнопкой Представление на панели инструментов .

С каждым нажатием левой части кнопки «Вид» меняется представление файлов и папок благодаря циклическому переходу между пятью различными представлениями:

  • «Крупные значки»;
  • «Список»;
  • «Подробно», в котором отображаются несколько столбцов с данными о файле ;
  • «Плитка» с уменьшенными значками;
  • «Содержание», в котором отображается часть содержимого файла.

Если нажать стрелку в правой части кнопки «Вид», будет доступен еще больший выбор. Перетащите ползунок выше или ниже, чтобы точно настроить размер значков файлов и папок. Значки изменяют размер по мере перемещения ползунка.

Библиотеки предоставляют больше возможностей благодаря функции упорядочения файлов различными способами. Например, если нужно упорядочить файлы в медиатеке по жанру (таким как Jazz и Classical):

  • Нажмите кнопку Пуск и выберите пункт Музыка .
  • В области библиотек (над списком файлов) меню Упорядочить по и выберите Жанр .

Поиск файлов в системе Windows

В зависимости от количества файлов и способа их упорядочивания, для поиска файла может потребоваться просмотр сотен файлов и вложенных папок – нелегкая задача. Чтобы сэкономить время и усилия , можно воспользоваться полем поиска.

Поле поиска находится в верхней части каждого окна. Чтобы найти файл , откройте папку или библиотеку, которая лучше всего подходит для начала поиска, щелкните поле поиска и начните ввод. Поле поиска фильтрует текущее представление на основе введенного текста. Файлы отображаются в результатах поиска, если запрос совпадает с именем файла, его тегами, другими свойствами файла и даже текстом внутри текстового документа.

Ища файл по свойству (например, тип файла), можно сузить поиск еще до начала ввода запроса. Для этого нужно щелкнуть поле поиска и выбрать какое-то из свойств, указанных под полем поиска. Таким образом к текстовому запросу будет добавлен фильтр поиска (например, «тип»), что поможет получить более точные результаты.

Если не удается найти файл , можно изменить всю область поиска, щелкнув параметр в нижней части списка файлов. Например, если не удалось найти файл в библиотеке документов, расширьте область поиска на другие библиотеки, щелкнув Библиотеки. Дополнительные сведения см. Поиск файла или папки .

Копирование и перемещение файлов и папок

Иногда может возникнуть необходимость изменить место хранения файлов. Например, может потребоваться переместить файлы в другую папку или скопировать на съемный носитель (компакт-диск или карту памяти), чтобы предоставить доступ к ним другому лицу.

Большинство людей копируют и перемещают файлы Windows с помощью метода, который называется «перетаскивание». Откройте папку, содержащую файл, который требуется переместить. Далее откройте в другом окне ту папку, в которую нужно переместить эти элементы. Расположите окна на рабочем столе рядом, чтобы видеть содержимое обоих.

Перетащите файл или папку с первой папки в другую. Вот и все .


Пользуясь перетаскиванием, можно заметить, что иногда файл или папка копируется, а в другой раз – перемещается.

Если перетаскивать между двумя папками, расположенными на одном жестком диске, элементы будут перемещены без создания двух экземпляров одного файла или папки в одном месте.

Если перетаскивать в папку с другим расположением (например, сетевым) или на съемный носитель (например, компакт-диска), элемент копируется.

Советы :

  • Самый простой способ упорядочить два окна на рабочем столе – это воспользоваться параметром «Привязка». Дополнительные сведения см. Размещение окон на рабочем столе рядом друг с другом с помощью функции привязки .
  • Если скопировать или переместить файл или папку в библиотеку, то сохранение происходит в расположении для сохранения по умолчанию библиотеки. Чтобы узнать, как настроить путь для сохранения библиотеки по умолчанию, см. Настройка библиотеки .
  • Другой способ скопировать или переместить файл – перетащить его из списка файлов в папке или библиотеке в области переходов. В таком случае не будет необходимости открывать два отдельных окна.

Создание и удаление файлов

Зачастую новые файлы Windows создают с помощью программы. Например, текстовый документ можно создать в текстовом редакторе, а видеофайл – в видеоредакторе.

Некоторые программы создают файл сразу после открытия. Например, если открыть WordPad , будет открыта пустая страница. Она изображает пустой (и несохранившийся) файл. Начните ввод, а когда будете готовы сохранить результат работы, нажмите кнопку Сохранить. В диалоговом окне появится, введите имя файла, которое поможет найти его снова, нажмите кнопку Сохранить.

По умолчанию большинство программ сохраняет файлы в стандартных папках («Мои документы », «Моя музыка » и др.) – так файлы легче найти.

Если файл больше не нужен, его можно удалить с компьютера, чтобы иметь больше свободного места и не загромождать компьютер ненужными файлами. Чтобы удалить файл , откройте папку или библиотеку, в которой расположено файл, и выделите его. Нажмите клавишу Delete на клавиатуре, а затем в диалоговом окне Удаление файла нажмите кнопку Да .

Открытие существующего файла

Чтобы открыть файл , дважды щелкните его. Обычно файл открывается в той программе, в которой он был создан или отредактирован. Например, текстовый файл откроется в текстовом редакторе.

Но не всегда бывает так. Например, после двойного щелчка файла изображения обычно открывается программа просмотра изображений. Чтобы изменить изображение, нужно воспользоваться другой программой. Щелкните правой кнопкой мыши, выберите пункт Открыть с помощью и выберите имя программы, которую следует запустить.

Файл – это элемент, который содержит информацию: текст, изображения или музыку. Открытый файл может быть очень похожим на обычный текстовый документ или изображение, которые можно увидеть на столе или в ящике. На компьютере файлы представлены пиктограммами, это позволяет легко распознавать тип файла по виду его пиктограммы.

Вот несколько типичных значков файлов:

Папка – это своеобразный контейнер, который можно использовать для хранения файлов. Если разложить на обычном столе тысячи бумажных документов, найти среди них нужный будет практически невозможно.

Вот почему люди часто хранят документы в папках на полках шкафов. Папки на компьютере выполняют ту же функцию. Вот несколько типичных значков папок:

В папках могут содержаться другие папки . Папка, расположенная внутри другой, обычно называется вложенной папкой. Можно создать любое количество вложенных папок, и каждая из них может содержать любое количество файлов и других вложенных папок.

Использование библиотек для доступа к файлам и папкам

Когда дело дойдет до «благоустройства» Windows, Вам не придется начинать все с нуля. Для доступа к файлам и папкам и их упорядочения различными способами можно воспользоваться библиотеками – новым средством Windows .

Ниже представлен список четырех библиотек по умолчанию и их типичных назначений:

  • Библиотека документов . В этой библиотеке можно организовывать и упорядочивать текстовые файлы, электронные таблицы, презентации и другие документы.
По умолчанию папка «Мои документы» – хранилище для всех файлов, перемещенных, скопированных или сохраненных в библиотеку документов.
  • Библиотека изображений . В этой библиотеке можно организовывать и упорядочивать цифровые изображения, полученные с камеры, сканера или переданы другими людьми по электронной почте. Дополнительные сведения см. Управление изображениями .
По умолчанию папка «Мои рисунки» – хранилище для всех изображений, перемещенных, скопированных или сохраненных в библиотеку изображений.
  • Медиатека . В этой библиотеке можно организовывать и упорядочивать всю цифровую музыку, например, песни, добытые с аудио компакт-диска или загруженные из Интернета. Дополнительные сведения см. Управление музыкой .
По умолчанию папка «Моя музыка» – хранилище для всех файлов, перемещенных, скопированных или сохраненных в фонотеку.
  • Библиотека видеозаписей . В этой библиотеке можно организовывать и упорядочивать видео, например, клипы с цифровой фото- или видеокамеры или видео, загруженные из Интернета.
По умолчанию папка «Мои видеозаписи» – хранилище для всех файлов, перемещенных, скопированных или сохраненных в библиотеку видеозаписей.

Чтобы открыть библиотеки «Документы», «Изображения» или «Музыка», меню Пуск и нажмите Документы, Изображения и Музыка.

Дополнительные сведения о библиотеках см. Работа с библиотеками .

Cтруктура окна системы Windows

Когда открывают папку или библиотеку, она отображается в окне. Различные компоненты этого окна облегчают перемещение в Windows и упрощают работу с файлами, папками и библиотеками.

Вот типичное окно и его компоненты:

Компонент окна

Использование

Область навигации

С помощью области переходов можно получить доступ к библиотекам, папок, сохраненных результатов поиска и даже целых жестких дисков. Из раздела «Избранное» можно открывать часто используемые папки и результаты поиска, а из раздела «Библиотеки» можно получить доступ к своим библиотек.

Для просмотра папок и вложенных папок можно воспользоваться и папкой «Компьютер».

Кнопки «Назад» и «Вперед»

Кнопки Назад и Вперед позволяют переходить к другим (уже открытых) папок и библиотек, не закрывая текущее окно. Эти кнопки работают в сочетании со строкой адреса. Например перейдя от одной папки в другую с помощью строки, можно воспользоваться кнопкой «Назад», чтобы вернуться к предыдущей папке.

Панель инструментов

Панель инструментов позволяет выполнять стандартные задачи, например изменять вид папок и файлов, записывать файлы на компакт-диск или запускать показ слайдов цифровых изображений. Кнопки на панели инструментов изменяются, отображаются только уместны для каждого конкретного случая задачи.

Например, если щелкнуть файл изображения на панели инструментов появятся остальные кнопки, чем для музыкального файла.

Панель адреса

С помощью адресной строки можно переместиться в другую папку или библиотеки, а также вернуться к предыдущей папке или библиотеке. Дополнительные сведения см. Навигация с помощью строки .

Область библиотек

Область библиотек появляется только во время работы в библиотеке (например, в библиотеке документов). С помощью области библиотек можно настроить библиотеку или упорядочить файлы различными свойствами. Дополнительные сведения см. Работа с библиотеками .

Заголовки столбцов

С помощью заголовков столбцов можно изменить упорядочения файлов в списке. Например, щелкнув левую часть заголовка столбца, можно изменить порядок отображения файлов и папок щелкнув правую часть заголовка столбца, можно отфильтровать файлы различными способами. (Заметьте, что заголовки столбцов доступны только в режиме «Подробно»)

Список файлов

Здесь отображается содержимое текущей папки или библиотеки. Если воспользоваться полем поиска для поиска файла, отображается только файлы в текущем представлении (к нему относятся и файлы во вложенных папках).

Поле поиска

В поле поиска можно ввести слово или фразу, чтобы найти элемент в текущей папке или библиотеке. Поиск начинается, уже началось введения. Поэтому когда, например, введено букву «В», появляется список всех файлов, имена которых начинаются с буквы «В». Дополнительные сведения см. Поиск файла или папки .

Область сведений

Область сведений позволяет просматривать стандартный набор свойств, связанных с выделенным файлом. Свойства файла – это информация о файле: имя автора, дата последнего изменения и описательные теги, которые можно добавить к файлу.

Область просмотра

В области просмотра можно просмотреть содержимое большинства файлов. Выбрав электронной почты, текстовый файл или изображение, можно увидеть содержимое выбранного файла, не открывая его в программе. Если область просмотра не отображается, включите, нажав на панели инструментов кнопку Область просмотра .

В язык Паскаль выделяются данные файлового типа, которые служат для работы с информацией, расположенной на внешних устройствах. Эта информация формируется во внешней памяти компьютера, образуя некоторую область, называемую файлом. Файлы имеют имя и представляют собой совокупность однотипных элементов. Обычно они применяются, в случаях большого объема данных, долгосрочного хранения, либо необходимости предоставления доступа нескольким приложениям к одной и той же информации.

Файлы принято разделять на физические и логические. Физические файлы имеют имя, и располагаются на съемном носителе, а логические это те переменные файлового типа, которые их представляют в программе.

В Паскале различают следующие три вида файлов (в скобках описаны ключевые слова для инициализации файловой переменной):

  • текстовые файлы (text);
  • типизированные (file of <тип>);
  • бестиповые (file).

Немного позже мы разберемся с каждым из них. А сейчас рассмотрим основные операции для работы с файлами.

Создание файла

Assign(<имя файловой переменной>, <имя файла>)

Процедура Assign связывает переменную файлового типа с физическим файлом. Например, установить соответствие между переменной Fil и текстовым файлом lot, расположенном на диске D, можно так:

Assign(Fil, ‘D:\lot.txt’)

Режим чтения

Reset(<имя файловой переменной>)

Процедура Reset открывает файл в режиме чтения, после чего операторомRead(<файловая переменная>, <считываемый элемент>) можно осуществить последовательное считывание элементов в программу.

Конец файла

ЕOF(<имя файловой переменной>)

Количество элементов в файле заранее не определяется, но часто необходимо знать о моменте достижения конца файла. Для этого в Паскале существует логическая функция EOF, которая проверяет достигнут ли конец, и если это так, то принимает значение True, иначе – False. Осуществляется проверка, как правило, в цикле, в качестве условного выражения выступает функция EOF.

Режим записи

Rewrite(<имя файловой переменной>)

Открыв файл в режиме записи, можно поэлементно записать в него информацию, воспользовавшись процедурой Write(<файловая переменная>, <элемент>).

Закрытие файла

Close(<имя файловой переменной>)

Процедура Close закрывает открытый файл, а также освобождает файловую переменную, указанную в качестве параметра.

Удаление файла

Erase(<имя файловой переменной>)

При помощи процедуры Erase, можно удалить с внешнего носителя, заранее закрытый файл.

Изменение имени файла

Rеnаmе(<имя файловой переменной>, ‘<новое имя файла>’)

Rеnаmе переименовывает физический файл, который перед этим следует закрыть процедурой Close.

Смещение указателя файла

Sееk(<имя файловой переменной>, <номер элемента>)

Процедура Sееk устанавливает позицию указателя в файле на необходимый элемент (нумерация элементов начинается с нуля).

Определение положения указателя

FilePos(<имя файловой переменной>)

Функция FilePos принимает значение порядкового номера элемента, над которым в момент вызова находиться указатель.

Определение количества элементов

FileSize(<имя файловой переменной>)

Функция FileSize определяет количество всех имеющихся в файле элементов.

Текстовые файлы

Текстовые файлы могут состоять из элементов символьного (char) и строкового (string) типа данных. Ключевое слово Text указывает, что файловая переменная создается для работы именно с текстовым файлом:

Var <идентификатор>: Text;

Структура текстового файла представляет собой последовательность строк, которые в свою очередь состоят из символов. Любая строка оканчивается признаком «конца строки», а сам файл признаком «конца файла». Для определения конца файла в Паскаль есть функция EOF, а для конца строки –EOLn:

EOLn(<имя файловой переменной>)

В случае достижения конца строки она (функция EOLn) принимает значение True, в противном случае False.

Примеры задач на работу с файлами в Pascal:

1.Создать файл X компонентами которого являются элемента массива M. Переписать из файла X в файл Y все компоненты, которые стоят на четных местах. Прочитать файл Y.
M = (0,1; 5,6; 0.8; 2,4; 7,3; 6,8; 0,5; 2,3;)

const M: array of real = (0.1, 5.6, 0.8, 2.4, 7.3, 6.8, 0.5, 2.3);
var
x,y: file of real;

n: real; i: byte;
begin
assign(x,"x.dat");
assign(y,"y.dat");
rewrite(x);
for i:=1 to 8 do
write(x, M[i]);
close(x);
reset(x);
rewrite(y);
i:= 1;
while not EOF(x) do begin
read(x, n);
if not odd(i) then
write(y, n);
i:= i + 1;
end;
close(x); close(y);
reset(y);
while not EOF(y) do begin
read(y, n);
write(n:5:1);
end;
writeln;
close(y);
end.

2. Дан файл, в котором через пробел записаны натуральные числа. Вывести на экран суммы цифр каждого числа.

var
f: file of char;
c: char; sum, n: word;

begin
assign(f,"nums.txt");
reset(f);
sum:= 0;
while not eof(f) do begin
read(f,c);

if c <> " " then begin
val(c, n);
sum:= sum + n;
end
else begin
write(sum:5);
sum:= 0
end;
end;

writeln;
end.

3. Дан файл с учебным расписанием. Написать программу, которая определяет количество лекционных, практических и лабораторных занятий. Вывести их количество на экран.

var
f: text;
s: string;
i, lect, pract, lab: byte;
begin
assign(f,"lessons.txt");
reset(f);
lect:= 0;
pract:= 0;
lab:= 0;
while not Eof(f) do begin
readln(f,s);
i:= pos("лекц.",s);
if i <> 0 then lect:= lect + 1
else begin
i:= pos("практ.",s);
if i <> 0 then pract:= pract + 1
else begin
i:= pos("лаб.",s);
if i <> 0 then lab:= lab + 1
end;
end;
end;
close(f);
writeln("Лекций: ", lect);
writeln("Практических: ", pract);
writeln("Лабораторных: ", lab);
end.

4. Дана текстовая строка, состоящая из заглавных латинских букв. Требуется найти подстроку из трёх букв, которая встречается в данной строке чаще всего. Например, в строке DEFDEFABCABCZABCDEFDEF чаще всего (4 раза) встречается подстрока DEF. Входной файл содержит текстовую строку. Выходной файл должен содержать единственное число - количество вхождений самой часто встречающейся подстроки из трёх букв. Длина исходной строки от 3 до 1000000 символов.

var
t1, t2: text;
n, i, j, k: integer;
s, s1, s2: string;
begin
Assign(t1, "D:\Users\Пользователь\Desktop\1.txt");
Assign(t2, "D:\Users\Пользователь\Desktop\2.txt");
reset(t1);
rewrite(t2);
read(t1, s);
k:= 0;
for i:= 1 to length(S) - 2 do
begin
s1:= copy(s, i, 3);
for j:= 1 to length(s) - 2 do
begin
s2:= copy(s, j, 3);
if s2 = s1 then inc(k);;
end;
if k > n then n:= k;
k:= 0;
end;
write(t2, n);
close(t1);
close(t2);
end.

f: file of char;
fname: string;
ch: char;
n, line, w: word;
flag: boolean;
begin
write("File address&name: ");
readln(fname);
assign(f, fname);
reset(f);
n:= 0; line:= 0; w:= 0; flag:= false;
while not EOF(f) do begin
read(f, ch);
if ord(ch) = 13 then begin
read(f, ch);
line:= line + 1;
flag:= false;
end
else begin
n:= n + 1;
if ch = " " then flag:= false
else
if flag = false then begin
w:= w+1;
flag:= true;
end;
end;
end;
if n <> 0 then line:= line + 1;
writeln(n);
writeln(line);
writeln(w);
readln;
end.

var
f_in: text;
f_out: file;
name_in, name_out: string;
buffer: array of integer;
i,k: integer;
begin
{$I-}
write("Входной файл: ");readln(name_in);
assign(f_in,name_in);
reset(f_in);
if IOResult <> 0 then begin
writeln ("Файл не найден!");
exit
end;
write("Выходной файл: ");readln(name_out);
assign(f_out,name_out);
rewrite(f_out,sizeof(integer)*8);
{$I+}
i:= 0;
while not eof(f_in) do begin
inc(i);
read(f_in,buffer[i]);
if i = 8 then begin
blockwrite(f_out,buffer,1);
i:= 0
end;
end;
if i <> 0 then begin
for k:=i+1 to 8 do buffer[k] := 0;
blockwrite(f_out,buffer,1);
end;
close(f_in);
close(f_out);
readln
end.

7. В текстовом файле содержатся сведения о количестве учащихся в классах и их классных руководителях. Количество классов в школе не превышает 20. Для описания каждого класса отводится одна строка. В первых четырех позициях каждой строки файла записано имя класса (например, 5a, 10b) класса (не пишите русских букв), а затем количество человек в нем и ФИО руководителя. Программа по запросу выдает сведения о классе или сообщение о том, что класс не найден.

const n = 20;
type
str4 = string;
clas = record
title: str4;
pupils: byte;
teacher: string;
end;
var
school: array of clas;
i,j,len: integer;
title_search: str4;
found: boolean;
f: text;
begin
assign(f,"c:/school.txt"); reset(f);
i:= 1;
while not Eof(f) do begin
with school[i] do
readln(f,title,pupils,teacher);
i:= i + 1;
end;
while true do begin
write("Input class: ");
readln(title_search);
len:= length(title_search);
if len = 0 then break;
for j:= len + 1 to 4 do
title_search:= title_search + " ";
found:= false;
for j:= 1 to i - 1 do begin
if title_search <> school[j].title then continue;
with school[j] do
writeln(title:5,pupils:5,teacher:25);
found:= true;
break;
end;
if not found then
writeln("No class!");
end;
end.

8.Найти в строке все заданные последовательности символов и заменить их другой последовательностью.

var
s_out, s_in, str: string;
f: text;
i, len: integer;
begin
assign(f,"c:/text.txt");
reset(f);
writeln("What cut? ");
readln(s_out);
writeln("What paste? ");
readln(s_in);
len:= length(s_out);
while not Eof(f) do begin
readln(f,str);
i:= 1;
while i<>0 do begin
i:= pos(s_out,str);
if i<>0 then begin
delete(str,i,len);
insert(s_in,str,i);
end;
end;
writeln(str);
end;
close(f);
readln;
end.

Когда вы скачиваете файлы из сети Интернет, операционная система помечает их особым образом из соображений безопасности. Позднее, когда вы пытаетесь открыть скачанный файл, Windows отображает предупреждение, что файл небезопасен и требует явного подверждения, что вы действительно намерены его открыть. Когда включена функция Smart Screen, некоторые файлы блокируются особенно упорно. Существует способ снять подобные блокировки со всех файлов и папок, находящих в каталоге "Загрузки" или в любой другой папке.
В самом механизме блокировки . Он работает с использованием уже знакомых нам . Для каждого скачанного файла дописывается альтернативный поток данных, параметры в котором и говорят операционной системе, что его получен из всемирной паутины и может быть небезопасен.

Чтобы в этом убедиться, в Windows 10 мы можем воспользоваться инструментом PowerShell. Выполним для одного из скачанных файлов вот такую команду:

Get-item имя_файла -stream *

Самый простой способ открыть PowerShell сразу в нужной папке - это воспользоваться командой-меню Файл в Проводнике Windows 10. Перейдите в папку "Загрузки" и выполните Файл - Запустить Windows Powershell - Запустить Windows Powershell:


Выполним вышеупомянутую команду для файла "winaerotweaker.zip". Это архив с моей же программой Winaero Tweaker, который я специально скачал для примера. Выполняем команду:

Get-item winaerotweaker.zip -stream *


Аргумент "-stream *" указывает команде get-item отобразить все имеющиеся потоки для файла. Zone.Identifier - это как раз и есть альтернативный поток данных, по которому Windows 10 определяет скачанный из Интернет файл. С помощью команды get-content мы можем посмотреть, что в него записано:

Get-content winaerotweaker.zip -stream Zone.Identifier


По своей сути - это обычный ini-файл, в котором определяющее значение имеет параметр ZoneId:

ZoneId=3

Его возможные значения:
0 - Файл создан на локальном компьютере.
1 - Файл получен по локальной сети
2 - Файл получен из доверенной зоны Интернет
3 - Файл получен из Интернет
4 - Файл получен из зоны "опасных сайтов"

Соответственно, чтобы разблокировать его, нужно либо записать 0 в ZoneId, либо вообще удалить альтернативный поток с именем Zone.Identifier.

Средствами графического интерфейса разблокировать файл можно через его свойства. Там есть соответствующий флажок (который в русской версии не совсем вписывается в диалоговое окно):

Как разблокировать сразу все файлы в папке Загрузки в Windows 10

Если нужно разблокировать много файлов или сразу все, открывать свойства каждого из них - очень утомительное занятие. К счастью, эту операцию можно упростить опять-таки при помощи PowerShell. Достаточно выполнить команду:

Dir -Recurse | Unblock-File

Её, естественно, нужно выполнить в нужной папке. В нашем случае PowerShell уже открыт в папке "Загрузки". Давайте выполним её и посмотрим, что из этого выйдет.

Команда отрабатывает без какого-либо вывода. Проверим альтернативные потоки данных:


То есть, команда Unblock-File просто удаляет поток Zone.Identifier у каждого из файлов:


Готово! Теперь, когда вам будет нужно разблокировать сразу несколько файлов в какой-либо папке на вашем компьютере, вы знаете, что делать. Кроме того, этот же трюк должен работать и в Windows 8/8.1, но проверить это в настоящий момент я не могу.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: