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

Setter для record

26.10.2023, 16:57. Показов 1490. Ответов 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
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
27.10.2023, 21:02
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Verevkin Посмотреть сообщение
Смирись и забей.
Девиз секты Дельфийского Смирения
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
27.10.2023, 21:21
Цитата Сообщение от Constcat Посмотреть сообщение
Девиз секты Дельфийского Смирения
Девиз общества ленивых жоп.
0
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
27.10.2023, 22:01
Цитата Сообщение от Verevkin Посмотреть сообщение
Девиз общества ленивых жоп.
Ленивые жопы - это как раз те, кто смиряются с тем, что за них все компилятор решает.
Где объекты создавать, где сеттеры вызывать и пр.
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
27.10.2023, 22:06
Цитата Сообщение от Constcat Посмотреть сообщение
Ленивые жопы - это как раз те, кто смиряются с тем, что за них все компилятор решает.
Ты просто не шаришь в ленивых жопах.
Смирись и забей.
0
 Аватар для Beltar
837 / 451 / 39
Регистрация: 05.05.2022
Сообщений: 3,171
27.10.2023, 22:23  [ТС]
Подчинись доминированию.
0
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
27.10.2023, 22:28
Цитата Сообщение от Verevkin Посмотреть сообщение
Ты просто не шаришь в ленивых жопах.
Смирись и забей.
Я уже давно в другой секте. Так что фиг вам!

Цитата Сообщение от Beltar Посмотреть сообщение
Подчинись доминированию.
Забыл грозный взгляд и зловещий голос сделать.
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
27.10.2023, 22:28
Цитата Сообщение от Beltar Посмотреть сообщение
Подчинись доминированию.
Цитата Сообщение от Constcat Посмотреть сообщение
Забыл грозный взгляд и зловещий голос сделать.
Вот такой:
0
 Аватар для Beltar
837 / 451 / 39
Регистрация: 05.05.2022
Сообщений: 3,171
27.10.2023, 23:03  [ТС]
Nyx is best pony.
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
27.10.2023, 23:14
Цитата Сообщение от Beltar Посмотреть сообщение
Nyx is best pony.
Фанфики фтопку! Кроме pony.mov!
Видишь, какая подпись под моими постами?...
0
 Аватар для Beltar
837 / 451 / 39
Регистрация: 05.05.2022
Сообщений: 3,171
27.10.2023, 23:29  [ТС]
Да-да. Что я вам говорила по поводу посещения моего сарая?

Но Nyx все равно best pony. У меня даже такая штука есть https://ic.pics.livejournal.co... 93_900.jpg

Понячьих фанфиков, которые можно назвать литературой, выходящей за рамки развлекалова для фанатов, я знаю 2, и они оба почему-то про репликантов.
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
27.10.2023, 23:31
Цитата Сообщение от Beltar Посмотреть сообщение
Понячьих фанфиков, которые можно назвать литературой, выходящей за рамки развлекалова для фанатов, я знаю 2, и они оба почему-то про репликантов.
без комментариев.
0
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
27.10.2023, 23:39
Цитата Сообщение от Verevkin Посмотреть сообщение
Вот такой:
Ой, какая пусечка! Судя по внешнему виду, тоже, небось, на Delphi пишет?
0
 Аватар для Beltar
837 / 451 / 39
Регистрация: 05.05.2022
Сообщений: 3,171
27.10.2023, 23:42  [ТС]
Да ну брось, ты что, даже "Кексиков" не читал? А уж FoE тебе точно должно зайти. Особенно если пару банок пивасика перед чтением принять. Как и "Friendship is Witchcraft".

Добавлено через 1 минуту
Цитата Сообщение от Constcat Посмотреть сообщение
Ой, какая пусечка! Судя по внешнему виду, тоже, небось, на Delphi пишет?
На Magi C, PegasCal и Earthtone разом.
0
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
27.10.2023, 23:48
Цитата Сообщение от Beltar Посмотреть сообщение
На Magi C, PegasCal и Earthtone разом.
И, как я понимаю, тоже поклоняется Великому Компилятору, Коему Единому позволено начертать единственно каноничные пути для неразумных программеров?
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
27.10.2023, 23:59
Цитата Сообщение от Beltar Посмотреть сообщение
Да ну брось, ты что, даже "Кексиков" не читал?
Чукча не читатель. Чукча видео смотреть.
18+



Цитата Сообщение от Beltar Посмотреть сообщение
А уж FoE тебе точно должно зайти.
Играл несколько лет назад на работе в этот понифоллаут, когда делать было нечего. Вызывает привыкание.



Фанфик не читал и не собираюсь. Не хочу.
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
28.10.2023, 00:03
3 минуты назад мне исполнилось 45 лет. Можете не поздравлять.
Паспорт менять надо теперь...
0
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
28.10.2023, 00:10
Цитата Сообщение от Verevkin Посмотреть сообщение
3 минуты назад мне исполнилось 45 лет. Можете не поздравлять.
От души не поздравляю!
0
Модератор
4149 / 2360 / 812
Регистрация: 15.11.2015
Сообщений: 9,473
28.10.2023, 00:20
Verevkin, поздравляю с успешным 45 летним аптаймом.
0
Модератор
4149 / 2360 / 812
Регистрация: 15.11.2015
Сообщений: 9,473
28.10.2023, 00:21
Однако, давайте ближе к теме.
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
28.10.2023, 00:24
Цитата Сообщение от AzAtom Посмотреть сообщение
поздравляю с успешным 45 летним аптаймом.
Однако, давайте ближе к теме.
Прально. Надо выпить винца. Их есть у меня.

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

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....


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера» Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит. Придуман Биллом Госпером в 1970-х, опубликован в. . .
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb"> <style> <!]> </ style> <g id="bush"> </ g> </ svg> function fn(){ let rost;/ / высота древа let xx=165,yy=210,w=256;
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru