С Новым годом! Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 19

Создать программу с элементом TStringGrid для работы с текстовым файлом

15.12.2018, 23:58. Показов 1198. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер еще раз.
Задали написать программу на лазарусе, которая включает в себя элемент TStringGrid.
Ее работа должна заключаться в следующем:
Дан текстовой файл вида -
Фамилия_1 5 4 5
Фамилия_2 5 4 3
Фамилия_3 4 4 4
Фамилия_4 4 4 5

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

Думаю, что для удобства, поможет элемент TMainMenu (кнопки Файл -> Открыть или Сохранить , Выход)
Тогда, в принципе, кнопка ОК и не понадобится
Но написать проект я не знаю как
Буду благодарен, если кто то сможет помочь!!!!

P.s. не обязательно чтобы было именно 4 фамилии и 3 столбца фамилий. Как Вам удобно. Желательно чтобы в таблице были Заглавные строки - фамилии, и заглавные столбцы - оценки.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.12.2018, 23:58
Ответы с готовыми решениями:

Makefile для работы с текстовым файлом
Здравствуйте! Столкнулся с такой проблемой! Пишу makefile для следующей задачи: Мне нужно найти часть файла (она может располагаться...

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

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

7
Модератор
 Аватар для D1973
9908 / 6445 / 2455
Регистрация: 21.01.2014
Сообщений: 27,356
Записей в блоге: 3
16.12.2018, 08:09
Лучший ответ Сообщение было отмечено Puporev как решение

Решение

Файл, как я понимаю, Вы делаете сами? Тогда при разделении полей вместо пробела используйте что-то более вменяемое, хоть ту же точку с запятой... И первой строкой укажите шапку таблицы:
Ф.И.О.;Оценка 1;Оценка 2;Оценка 3
Иванов И.И.;1;2;3
Петров П.П.;2;3;4
Сидоров С.С.;3;4;5
Михайлов М.М.;4;4;4
Кот
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus, Grids;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
//В комментариях - свойства компонентов, кроме Name, которые менял в Object Inspector:
    MainMenu1: TMainMenu;
    nSave: TMenuItem;
    nEdit: TMenuItem;
    nOpen: TMenuItem;
    mnuFile: TMenuItem;
    mnuExit: TMenuItem;
    OD: TOpenDialog;
    SD: TSaveDialog; //DefaultExt=txt
    SG: TStringGrid; //FixedRows = 1, FixedCols = 0, DefaultColWidth = 100, RowCount = 2, ColCount = 2
    procedure mnuExitClick(Sender: TObject);
    procedure nEditClick(Sender: TObject);
    procedure nOpenClick(Sender: TObject);
    procedure nSaveClick(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.mnuExitClick(Sender: TObject);
begin
//Меню Выход
  Close;
end;
 
procedure TForm1.nEditClick(Sender: TObject);
begin
//Включение редактирования Грида
  if not(goEditing in SG.Options) then SG.Options := SG.Options + [goEditing];
end;
 
procedure TForm1.nOpenClick(Sender: TObject);
//Загрузка файла в таблицу через диалог открытия файла
var L: TStringList;
    i: integer;
begin
  if not OD.Execute then Exit;
  SG.LoadFromCSVFile(OD.FileName, ';', true);
end;
 
procedure TForm1.nSaveClick(Sender: TObject);
//Сохранение таблицы в файл через стандартный диалог
//при необходимости - отключение режима редактирования
begin
  if not SD.Execute then Exit;
  SG.SaveToCSVFile(SD.FileName, ';', true);
  if goEditing in SG.Options then SG.Options := SG.Options - [goEditing];
end;
 
end.
Миниатюры
Создать программу с элементом TStringGrid для работы с текстовым файлом  
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
16.12.2018, 10:17
Строки 58,59 можно убрать.
С csv конечно намного проще чем с TStringList, я про этот тип файлов все время забываю.
1
Модератор
 Аватар для D1973
9908 / 6445 / 2455
Регистрация: 21.01.2014
Сообщений: 27,356
Записей в блоге: 3
16.12.2018, 10:27
Цитата Сообщение от Puporev Посмотреть сообщение
Строки 58,59 можно убрать.
Ой, блин, не заметил... Конечно же, они там не нужны... Сперва-то тоже кинулся по старинке, по Дельфийски...
1
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 19
26.12.2018, 01:09  [ТС]
Скиньте пожалуйста проектом! Ничего не понимаю...
0
Модератор
 Аватар для D1973
9908 / 6445 / 2455
Регистрация: 21.01.2014
Сообщений: 27,356
Записей в блоге: 3
26.12.2018, 06:25
LegolasSO, ну Вы бы еще через месяц хватились... Да неужели такие проекты должны храниться?
Цитата Сообщение от LegolasSO Посмотреть сообщение
Ничего не понимаю
Что именно?
0
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 19
26.12.2018, 07:51  [ТС]
Код дан, а что делать с ним хз. Не получается самому проект сделать...
0
Модератор
 Аватар для D1973
9908 / 6445 / 2455
Регистрация: 21.01.2014
Сообщений: 27,356
Записей в блоге: 3
26.12.2018, 08:06
Цитата Сообщение от LegolasSO Посмотреть сообщение
Не получается самому проект сделать
Ох, беда, беда-огорчение...
Вот, держите... Открыть готовый проект ума хватит?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.12.2018, 08:06
Помогаю со студенческими работами здесь

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

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

Написание программы с использованием файловых переменных. Разработка программы для работы с текстовым файлом
Помогите пожалуйста : С помощью текстового редактора создать текстовый файл file1. Переписать строки файла file1 в новый текстовый файл...

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru