Перед выводом в файл
его необходимо открыть. Если программа, формирующая выходной файл, уже использовалась,
то возможно, что файл с результатами работы программы уже есть на диске. Поэтому
программист должен решить, как поступить со старым файлом: заменить старые данные
новыми или новые данные добавить к старым. Способ использования старого варианта
определяется во время открытия файла.
Возможны следующие
режимы открытия файла для записи в него данных:
Для того чтобы открыть
файл в режиме создания нового файла или замены существующего, необходимо вызвать
процедуру Rewrite(f), где f — файловая переменная типа TextFile.
Для того чтобы открыть
файл в режиме добавления к уже существующим данным, находящимся в этом файле,
нужно вызвать процедуру Append (f), где f — файловая переменная типа TextFile.
На рис. 7.1 приведено
диалоговое окно программы, которая выполняет запись или добавление в текстовый
файл.
Рис. 7.1.
Диалоговое окно программы записи-добавления в файл
В листинге 7.1 приведена
процедура, которая запускается нажатием командной кнопки Записать. Она
открывает файл в режиме создания нового или замещения существующего файла и
записывает текст, находящийся в поле компонента Memo1.
Имя файла нужно ввести
во время работы в поле Editl. Можно задать предопределенное имя файла во время
разработки формы приложения. Для этого надо присвоить значение, например test.txt,
свойству Edit1.Text.
Листинг 7.1.
Создание нового или замещение существующего файла
procedure TForm1.Button1Click(Sender: TObject);
var
f:
TextFile; // файл
fName:
String[80]; // имя файла
i: integer;
begin
fName
:= Editl.Text;
AssignFile(f,
fName);
Rewrite(f);
// открыть для перезаписи
// запись в файл
for i: =0 to Memol.Lines.Count do // строки нумеруются с нуля
writeln(f,
Memol.Lines[i]);
CloseFile(f);
// закрыть файл
MessageDlg('Данные ЗАПИСАНЫ в файл ',mtlnformation,[mbOk],0);
end;
В листинге 7.2 приведена
процедура, которая запускается нажатием командной кнопки Добавить. Она
открывает файл, имя которого указано в поле Edit1, и добавляет в него содержимое
поля Memol.
Листинг 7.2.
Добавление в существующий файл
procedure TForm1.Button2Click(Sender: TObject);
var
f:
TextFile; // файл
fName:
String[80];.// имя файла
i:
integer; begin
fName
:= Edit1.Text;
AssignFile(f,
fName);
Append(f); // открыть для добавления
//
запись в файл
for i:=0 to Memo1.Lines.Count do // строки нумеруются с нуля
writeln(f,
Memo1.Lines[i]);
CloseFile(f);
// закрыть файл
MessageDlg('Данные ДОБАВЛЕНЫ в файл ',mtInformation,[mbOk],0);
end;
1. Электромагнитная волна (в религиозной терминологии релятивизма - "свет") имеет строго постоянную скорость 300 тыс.км/с, абсурдно не отсчитываемую ни от чего. Реально ЭМ-волны имеют разную скорость в веществе (например, ~200 тыс км/с в стекле и ~3 млн. км/с в поверхностных слоях металлов, разную скорость в эфире (см. статью "Температура эфира и красные смещения"), разную скорость для разных частот (см. статью "О скорости ЭМ-волн")
2. В релятивизме "свет" есть мифическое явление само по себе, а не физическая волна, являющаяся волнением определенной физической среды. Релятивистский "свет" - это волнение ничего в ничем. У него нет среды-носителя колебаний.
3. В релятивизме возможны манипуляции со временем (замедление), поэтому там нарушаются основополагающие для любой науки принцип причинности и принцип строгой логичности. В релятивизме при скорости света время останавливается (поэтому в нем абсурдно говорить о частоте фотона). В релятивизме возможны такие насилия над разумом, как утверждение о взаимном превышении возраста близнецов, движущихся с субсветовой скоростью, и прочие издевательства над логикой, присущие любой религии.
4. В гравитационном релятивизме (ОТО) вопреки наблюдаемым фактам утверждается об угловом отклонении ЭМ-волн в пустом пространстве под действием гравитации. Однако астрономам известно, что свет от затменных двойных звезд не подвержен такому отклонению, а те "подтверждающие теорию Эйнштейна факты", которые якобы наблюдались А. Эддингтоном в 1919 году в отношении Солнца, являются фальсификацией. Подробнее читайте в FAQ по эфирной физике.