Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для Beltar
834 / 448 / 39
Регистрация: 05.05.2022
Сообщений: 3,154

Setter для record

26.10.2023, 16:57. Показов 1474. Ответов 43
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано вот такая структура

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  TPlayer=record
    Name:String;
    Rounds:array[1..255] of Integer;
    procedure SetNewPlayer(const AName:String);
    procedure SetScore(N,Score:Integer);
    function TotalScore:Integer;
  end;
 
TfmMain = class(TForm)
 //private
 Players:TList<TPlayer>;
 end; 
 
procedure TPlayer.SetScore(N, Score: Integer);
begin
Rounds[N]:=Score;
end;
 
function TPlayer.TotalScore: Integer;
begin
Result:=0;
for var i:=Low(Rounds) to High(Rounds) do Result:=Result+Rounds[i];
end;
Я хочу занести занести в Rounds[N] новое значение. Обычный подход, скопировать структуру, поменять значения, записать обратно.

Delphi
1
2
3
4
P:=Players[Col];//Копирую
P.Rounds[Row]:=fmEditCell.Score;//Меняю копию
Players[Col]:=P;//Вписываю копию.
Score:=Players[Col].TotalScore;
Это работает. Но вот я не захотел копировать такую большую структуру и добавляю ей SetScore(N, Score: Integer);
Делаю так:

Delphi
1
2
Players[Col].SetScore(Row,fmEditCell.Score); //Отладчик показывает, что Rounds изменился
Score:=Players[Col].TotalScore;//И тут в отладчике вижу, что Rounds забит нулями.
Не работает классовый подход. А почему? И если такое незаконно, то почему компилятор это не блокирует, как он блокирует прямое обращение к полям структуры в TList?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.10.2023, 16:57
Ответы с готовыми решениями:

Как создать record внутри которого есть динамический массив с record-ами?
Упрощу код, чтоб не писать полные record-ы: type TSec = record vSize : DWord; vAddr : DWord; rSize : DWord; ...

Класс с модификатором record - record class - это стандарт для неизменяемых объектов?
Если объекты класса не планируется изменять, то класс с модификатором record - record class - является стандартным решением для этого...

getter setter для string
Здраствуйте, я работал с java и сейчас появилась необходимость в с++ го немогу взять значение из конструктора... не смог найти информацыю...

43
 Аватар для Beltar
834 / 448 / 39
Регистрация: 05.05.2022
Сообщений: 3,154
28.10.2023, 01:17  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Verevkin Посмотреть сообщение
Чукча видео смотреть.
Вообще-то видеоверсий "Кексиков" существует примерно... до хрена.

Цитата Сообщение от Verevkin Посмотреть сообщение
Фанфик не читал и не собираюсь. Не хочу.
Ну он чем-то напоминает боевики 80-ых, такой же патологически тупой в рамках собственной логики и такой же бодрый. Видимо, за это и любим. Можно почитать в переводе для поугорать с глупостей и пластилиновой жестокости. В сам Fallout я не играл, ни в классические, ни в шутеры из 10-ых (попробовал, блеванул), ни в мелкие игры по теме.

45, 45, надо к фотографу опять.
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
28.10.2023, 01:22
Цитата Сообщение от Beltar Посмотреть сообщение
Вообще-то видеоверсий "Кексиков" существует примерно... до хрена.
Я только 2 видел, специально не искал.
Цитата Сообщение от Beltar Посмотреть сообщение
Можно почитать в переводе для поугорать
0
 Аватар для Beltar
834 / 448 / 39
Регистрация: 05.05.2022
Сообщений: 3,154
28.10.2023, 01:48  [ТС]
Мое дело описать, что это вообще за хрень.

А вообще если смотрел pony.mov, то посмотреть Frendship Is Witchcraft и Mentally Advanced Series нужно обязательно. Иначе твои пони-шутки будут... недостаточно понячьими.
Миниатюры
Setter для record  
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
28.10.2023, 10:54
Цитата Сообщение от Beltar Посмотреть сообщение
А вообще если смотрел pony.mov, то посмотреть Frendship Is Witchcraft и Mentally Advanced Series нужно обязательно.
Я себе коврик для конпуктера сделал.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.10.2023, 10:54
Помогаю со студенческими работами здесь

Trigger для ListBox а Setter для Grid
Собственно хочу сделать что бы когда в листбоксе менялся выбранный итем, срабатывал тригер и передвигал мой грид на заданные координаты. ...

Задание свойства Setter.Value внутри стиля Image с триггером для определения конца загрузки картинки
Здравствуйте! Меня вот интересует такой вопрос: Мне нужно узнать когда загрузилась картинка внутри стиля Image. В интернете я...

Голосовалка, ошибка: Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
Вопросы по голосовалке с ответами, из базы вытаскиваются, при нажатии на ГОЛОСОВАТЬ результаты показываются, но на первые три ответа. В...

Ошибка Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record
Большое спасибо всем кто хоть что-нибудь подскажет или наведёт на нужную мысль!! Короче проблема такая. ADOQuery1.Close; ...

ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
Выдается следующая ошибка : === ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted....


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

Или воспользуйтесь поиском по форуму:
44
Ответ Создать тему
Новые блоги и статьи
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru