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

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

25.11.2018, 11:13. Показов 914. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть один текстовый файл, и он должен выводить на экран данные объектов (каждый объект в отдельной строке)
Фам,им,шк,зп.
В общем, как можно связать текстовый файл и запись, через запись же делать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.11.2018, 11:13
Ответы с готовыми решениями:

Текстовые файлы
Даны 2 текстовых файла. Один из них надо встать с другой, чередуя абзацы.

Текстовые файлы и записи
В текстовый файл записывается список адресов и фамилий. Обеспечить поиск в текстовом файле как по фамилии, так и по адресу. Результат...

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

11
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
25.11.2018, 11:38
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
type
  tRec = record
    Фам,им,шк,зп : String;
  end;
  
function Parse(w : String) : tRec;
begin
  var t := w.ToWords;
  Result.Фам := t[0];
  Result.им  := t[1];
  Result.шк  := t[2];
  Result.зп  := t[3];
end;
 
function RecToStr(r : tRec) := $'[фам = {r.Фам}] [им = {r.им}] [шк = {r.шк}] [зп = {r.зп}]';
 
begin
  var aRec := ReadAllLines('input.txt').Select(w->Parse(w));
  foreach var Rec in aRec do
    RecToStr(Rec).PrintLn;
end.
0
 Аватар для Антон1985
138 / 101 / 102
Регистрация: 03.02.2014
Сообщений: 427
25.11.2018, 11:41
Цитата Сообщение от nnpnp Посмотреть сообщение
как можно связать текстовый файл и запись
Ни как.

Решение.
Писать функцию/процедуру разбора строки на составляющие и заполнение ими поля записи.
0
1 / 1 / 1
Регистрация: 01.02.2018
Сообщений: 268
25.11.2018, 12:56  [ТС]
Pascal
1
for i:=1 to n do writeln(f,x,y,z,e);
вот так или вариант с массивами как?
0
 Аватар для Антон1985
138 / 101 / 102
Регистрация: 03.02.2014
Сообщений: 427
25.11.2018, 15:05
Вообще желательно писать как вы хотите реализовать программу. С элементами функционального программирования или без них.

Я привожу исходный код для решения вашей задачи без элементов функционального программирования.
Кликните здесь для просмотра всего текста
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
type
  TypeRec = record
    FIO,Name,School,Wages: String;
  end;
 
// функция разбора строки на поля
function Parse(str: String): TypeRec;
  // функция чтения поля с удалением этого поля
  function ReadField(var str: String): string;
  var
    i: integer;
  begin
    i:=pos(',', str);
    Result:=copy(str, 1, i-1);
    delete(str, 1, i);
  end;
begin
  Result.FIO:=ReadField(str);
  Result.Name:=ReadField(str);
  Result.School:=ReadField(str);
  Result.Wages:=copy(str, 1, length(str));
end;
 
var
  f: text;
  str: string;
  rec: TypeRec;
begin
  assign(f, 'input.txt');
  reset(f);
  while not Eof(f) do
  begin
    readln(f, str);
    rec:=Parse(str);
    with rec do
      writeln('[', FIO, ']', '[', Name, ']', '[', School, ']', '[', Wages, ']');
  end;
  close(f);
end.
0
1 / 1 / 1
Регистрация: 01.02.2018
Сообщений: 268
25.11.2018, 15:30  [ТС]
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var f: text;
    x,y:string[20];
    l,i,n,z,e:integer;
BEGIN
assign(f,'f.txt');
rewrite(f);
readln(n);
for i:=1 to n do writeln(f,x,y,z,e);
close(f);
reset(f);
l:=0;
for i:=1 to n do begin
                 inc(l);
                 readln(f,x,y,z,e);
                 writeln(l:2,' — ',x,' ',y,' ',z,' ',e);
                 end;
END.
настолько хорошо паскаль не знаю, вот написал код, думал что-то вроде этого будет с записями или с массивами ну или так
сейчас ваш код посмотрю, спасибо
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
25.11.2018, 15:40
Цитата Сообщение от JuriiMW Посмотреть сообщение
function Parse(w : String) : tRec;
Лучше сделать конструктор. Чтоб небыло лишней функции в общем пространстве имён.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
25.11.2018, 15:43
Sun Serega, ТС непробиваемый!
Задача на файлы

А вы ему про конструкторы…
0
1 / 1 / 1
Регистрация: 01.02.2018
Сообщений: 268
26.11.2018, 15:38  [ТС]
В текстовых файл можно записывать только одну переменную? Я про write(f,x,y..)?
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
26.11.2018, 15:40
Нет. Но надо их чем то разделять, потому что в файл не записывается длинна, записывается только содержимое. Если не разделить пробелами, переносами строк и т.п. - всё слипнется и при чтении прочитается одной строкой.
0
1 / 1 / 1
Регистрация: 01.02.2018
Сообщений: 268
26.11.2018, 15:54  [ТС]
Присланный мой код в принципе может работать?
У меня не работает.
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
26.11.2018, 15:57
При чтении надо разделять (.Split(' - ') для того что вы считали - вернёт массив строк, а затем надо некоторые выражения перевести в числа и т.п.).

Но всё же через текстовые файлы это выйдет криво. Надо делать через типизированные, у которых T будет записью содержащей всё что вы сохраняли. Так и быстрее, и файл меньше получится, и кода не так много надо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.11.2018, 15:57
Помогаю со студенческими работами здесь

Открывать все текстовые файлы в директории d:\tp\*.*
здравствуйет! пишу лабу на pascalABC.net, ОС WINDOWS-7. задание: открывать все текстовые файлы в директории d:\tp\*.*, все файлы имею...

Программа по теме символы,строки,текстовые файлы
Файл http://tvd-home.ru/docs/eeg.txt содержит запись ЭЭГ (электроэнцефалограммы) человека, включающую сигналы с 16 электродов (отведений)....

Возможно ли создавать текстовые файлы непосредственно из программы?
Возможно ли создавать текстовые файлы непосредственно из программы? К примеру ввожу строку S, и на компьютере создается файл S.txt!

Текстовые файлы. Напечатать все слова, содержащие числа от 10 до 99
задание: напечатать все слова содержащие числа от 10 до 99 как реализовать? типа такого: for var k := 1 to length(copy2) do ...

Текстовые файлы. Вывести все строчки, которые начинаются с vb
короче говоря в файле in.text записоноvb 1 1esf sf 3 ds vb 5 vb 3 vb12 wrw vb100


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru