Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 69

Создание текстового файла в определённой директории

28.05.2013, 20:30. Показов 3054. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Расскажите, как можно создать простой текстовый файл с некоторым текстом в определённой директории? Знаний о модуле Utils и о процедурах с функциями нулевые, так что, если можно, допишите комментарии.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.05.2013, 20:30
Ответы с готовыми решениями:

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

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

Файлы и их создание в определенной директории
Здравствуйте, форумчане, хотелось бы узнать кое-что по данному вопросу, а конкретнее задаче: Нужно создать при запуске определенную папку...

5
 Аватар для BaboshinSD
349 / 288 / 49
Регистрация: 15.11.2012
Сообщений: 477
Записей в блоге: 1
28.05.2013, 21:01
SuperPrower, вот:

Pascal-евский способ:
Pascal
1
2
3
4
5
6
7
begin
  var Tx: Text; // Объявляем переменную
  Assign(Tx, 'TestFile.txt'); // Связываем её имя с файлом
  Rewrite(Tx); // Открываем файл на запись
  Write(Tx, 'Lol!'); // Пишем текст
  Close(Tx); // Закрываем и сохраняем
end.
.NET-овский способ:
Pascal
1
2
3
4
5
begin
  var SW := new System.IO.StreamWriter('C:\TestFile.txt'); // Создаём файл и получаем доступ к нему
  SW.Write('Lol!'); // Записываем текст
  SW.Close(); // Закрываем для сохранения
end.
Оба работают прекрасно
1
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 69
25.06.2013, 18:03  [ТС]
@BaboshinSD, благодарю!
И прошу прощения за поздний ответ, но есть несколько вопросов:
1. Может ли быть вместо имени файла переменная, а точнее, её содержимое?
2. Только ли txt может быть? Могу я сделать программу для написания батника или html-файла?
3. В паскалевском способе не указан путь. Где сохранится файл?
4. Применим ли паскалевский способ для .NET?

И ещё вопрос вне темы: можно ли сделать так, что бы после ввода первого символа переменной программа автоматически принимала бы его, не дожидаясь нажатия Enter?
0
 Аватар для Kordn
158 / 137 / 106
Регистрация: 18.05.2013
Сообщений: 289
26.06.2013, 00:51
1 + 2. :
Pascal
1
2
3
4
5
6
7
8
9
const name='hello.html'; //имя файла записано в строку name (она не обязательно константная)
begin
 
  var Tx: Text; // Объявляем переменную
  Assign(Tx, name); // Связываем её имя с файлом
  Rewrite(Tx); // Открываем файл на запись
  Write(Tx, 'Lol!'); // Пишем текст
  Close(Tx); // Закрываем и сохраняем
end.
Создается html-файл, который выводит 'Lol!' на экран

Добавлено через 12 минут
Вообще файлы бывают типизированными, например:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
begin
  var f: file of integer; //создаем типизированный файл целых чисел 
  Assign(f, '123'); 
  Rewrite(f); //открываем на запись
  for var i := 1 to 10 do write(f, random(10));//записываем в него рандомные числа от 0 до 9, к примеру
  reset(f);//открываем на чтение
  while not eof(f) do //пока не конец файла...
  begin
    var n: integer; //...считываем по числу и выводим на экран
    read(f, n);
    write(n, ' ');
  end;
end.
Добавлено через 1 минуту
3. По умолчанию файл сохранится в той же папке, где находится exe-шник от программы, ну то есть в папке, где хранится код (к примеру, если сохранили файл .pas на рабочем столе, то там же и сохранится Ваш файл)

Добавлено через 1 минуту
Цитата Сообщение от SuperPrower Посмотреть сообщение
4. Применим ли паскалевский способ для .NET?
В PascalABC.NET работают корректно оба способа

Добавлено через 2 минуты
Цитата Сообщение от SuperPrower Посмотреть сообщение
можно ли сделать так, что бы после ввода первого символа переменной программа автоматически принимала бы его, не дожидаясь нажатия Enter?
Можно с readkey из CRT. Пример:
Pascal
1
2
3
4
5
6
7
8
9
uses crt;
begin
 var c: char;
 while c<>#13 do
      begin
      c:=readkey;
      write('*');
      end;
end.
0
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 69
27.06.2013, 11:47  [ТС]
@Kordn, благодарю. Но всё же осталось несколько вопросов.
1. Может ли код быть примерно таким(смотри красные сектора):

begin
var SW := new System.IO.StreamWriter('C:\TestFile.html'); // Создаём файл и получаем доступ к нему
SW.Write('<html>', x,'</html>'); // Записываем текст
SW.Close(); // Закрываем для сохранения
end.
,где x -переменная, содержащая текст, и какой тип переменной должен быть?
2. Насчёт последнего пункта. Программа выводит звёздочки и ждёт энтера. Мне же нужно, что бы когда пользователь жал Y, N или другую клавишу, начиналась проверка нажатой клавиши, и т.д.

3. Можно ли переписать ответы на 1 и 2 вопрос под .NET? Используя SW и прочее?

4. И немного не понял насчёт типизированных файлов.
0
 Аватар для Kordn
158 / 137 / 106
Регистрация: 18.05.2013
Сообщений: 289
27.06.2013, 14:58
@SuperPrower, 1.
Pascal
1
2
3
4
5
6
7
8
begin
  var x: string;
  write('Введите строку: ');
  readln(x);
  var SW := new System.IO.StreamWriter('TestFile.html');
  SW.Write('<html>' + #13#10 + '<head>' + #13#10 + '</head>' + #13#10 + '<body>' + #13#10 + '<b>' + x + '</b>' + #13#10 + '</body>' + #13#10 + '</html>');
  SW.Close(); 
end.
Добавлено через 2 минуты
2.
Pascal
1
2
3
4
5
6
7
8
uses
  crt;
 
begin
  writeln('Закрыть программу? (y/n)');
  if readkey = 'y' then exit
  else writeln('Вот и договорились');
end.
Добавлено через 3 минуты
3.
Цитата Сообщение от Kordn Посмотреть сообщение
Код Pascal
1
2
3
4
5
6
7
8
9
const name='hello.html'; //имя файла записано в строку name (она не обязательно константная)
begin
var Tx: Text; // Объявляем переменную
* Assign(Tx, name); // Связываем её имя с файлом
* Rewrite(Tx); // Открываем файл на запись
* Write(Tx, 'Lol!'); // Пишем текст
* Close(Tx); // Закрываем и сохраняем
end.
Создается html-файл, который выводит 'Lol!' на экран
Pascal
1
2
3
4
5
begin
  var SW := new System.IO.StreamWriter('TestFile.html'); // Создаём файл и получаем доступ к нему
  SW.Write('Lol!'); // Записываем текст
  SW.Close(); // Закрываем для сохранения
end.
Добавлено через 10 минут
4. В типизированных файлах под NET не очень разбираюсь, к сожалению.
А вообще о типизированных файлах можете почитать здесь: http://informatics.mccme.ru/mo... pterid=282
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.06.2013, 14:58
Помогаю со студенческими работами здесь

Считать с файла, который находится в определённой директории
Собственно вот QFile prblms(&quot;здесь директория&quot;); Не сработала. Не считывает. Если там обязателен QtDir, то лучше напишите, как его...

Чтение текстового файла в определенной области
Как считать текстовой файл только в определенной области - от &quot;-&quot; до отступа строки &quot;\n&quot;. Потом этот текст вывести в textbox1....

Считывание определенной строки текстового файла
Как с текстового файла считать строку с определенным номером? Нужно сместить файловый указатель? Подскажите какой функцией

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

StreamReader для обращения к определенной строке текстового файла
Здраствуйте. String^ cln; StreamReader^ sr1 = gcnew StreamReader(str1 /*str1 - имя файла, берется из OpenFileDialog*/); int i =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru