Π Π°Π±ΠΎΡ‚Π° с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‡Π΅Ρ‚ΠΊΠΎΠ³ΠΎ понимания Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π² памяти ΠΈ Π΅Π³ΠΎ прСдставлСниСм Π½Π° экранС. Когда Ρ€Π΅Ρ‡ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частях, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅ΠΉ, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· свойство элСмСнта Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΎ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ошибка, которая ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ ΠΈΠ»ΠΈ ошибкам Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния.

Π‘ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ кроСтся Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Ρ„ΠΎΡ€ΠΌ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π’ΠΎΠ²Π°Ρ€Ρ‹), сам ΠΏΠΎ сСбС Π½Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅. Он являСтся лишь "ΠΎΠΊΠ½ΠΎΠΌ" Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ строк, которая находится Π² основном ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΡ‹. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° строки, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ самой строкС, Π° ΡƒΠΆΠ΅ Π·Π°Ρ‚Π΅ΠΌ ΠΊ Π΅Ρ‘ свойству.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ способы получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части, рассмотрим особСнности использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ спСцифику Ρ€Π°Π±ΠΎΡ‚Ρ‹ с динамичСскими списками. ПониманиС этих ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² критичСски Π²Π°ΠΆΠ½ΠΎ для написания устойчивого ΠΊΠΎΠ΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий.

АрхитСктура доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ: Ρ„ΠΎΡ€ΠΌΠ° ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” это Ρ€Π°Π·Π½Ρ‹Π΅ сущности. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹ слуТат для отобраТСния ΠΈ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ логичСская структура хранСния находится Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΡ‹. Вабличная Ρ‡Π°ΡΡ‚ΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ прСдставляСтся элСмСнтом Ρ‚ΠΈΠΏΠ° Π’Π°Π±Π»ΠΈΡ†Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΌΡƒ ΠΊΠ°ΠΊ ΠΊ массиву Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ нСльзя.

КаТдая строка Π² Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‚ΠΈΠΏΠ° БтрокаВабличнойЧастиЀормы. ИмСнно этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ содСрТит ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для доступа ΠΊ своим Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ. Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ свойству элСмСнта Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ лишь настройки отобраТСния (Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ, ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ), Π½ΠΎ Π½Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΡΠΌΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнту Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π’ΠΎΠ²Π°Ρ€Ρ‹) Π½Π΅ Π΄Π°Π΅Ρ‚ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ строк. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ контСкст Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ строк ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹.

БущСствуСт нСсколько сцСнариСв, ΠΊΠΎΠ³Π΄Π° трСбуСтся доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ: ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ строки (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π²Ρ‹Π±ΠΎΡ€), ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ всСх строк Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΈΠ»ΠΈ валидация Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ записью. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ случая ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ свои ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ получСния ссылки Π½Π° строку.

πŸ’‘

ВсСгда провСряйтС Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Если ΠΊΠΎΠ΄ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ БтрокуВабличнойЧастиЀормы, Π° ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π€ΠΎΡ€ΠΌΡ‹, систСма выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ привСдСния Ρ‚ΠΈΠΏΠΎΠ².

ИспользованиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° "ВСкущая строка" Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ…

Π‘Π°ΠΌΡ‹ΠΉ распространСнный сцСнарий β€” рСакция Π½Π° дСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²Π½ΡƒΡ‚Ρ€ΠΈ строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Бобытия ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ, НачалоВыбора ΠΈΠ»ΠΈ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π’Ρ‹Π±ΠΎΡ€Π° для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‰ΠΈΠΉ ссылку Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ строку.

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

&ΠšΠ»ΠΈΠ΅Π½Ρ‚

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π’ΠΎΠ²Π°Ρ€Ρ‹ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚)

// ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ строку Ρ‡Π΅Ρ€Π΅Π· свойство Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки элСмСнта

ВСкущаяБтрока = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π’ΠΎΠ²Π°Ρ€Ρ‹.ВСкущаяБтрока;

Если ВСкущаяБтрока = НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

// Π Π°Π±ΠΎΡ‚Π° с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ строки

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(ВСкущаяБтрока.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ);

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π—Π΄Π΅ΡΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство ВСкущаяБтрока элСмСнта Ρ„ΠΎΡ€ΠΌΡ‹. Оно Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ БтрокаВабличнойЧастиЀормы, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ. Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ быстрый ΠΈ бСзопасный способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΠΉ строки, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ взаимодСйствуСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

  • πŸ”Ή Бвойство ВСкущаяБтрока доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² клиСнтском контСкстС.
  • πŸ”Ή Если курсор Π½Π΅ установлСн Π½ΠΈ Π½Π° ΠΎΠ΄Π½Ρƒ строку, свойство Π²Π΅Ρ€Π½Π΅Ρ‚ НСопрСдСлСно.
  • πŸ”Ή ИзмСнСниС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· эту ссылку автоматичСски обновляСт ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° экранС.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ссылку Π½Π° пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ события ΠΈΠ»ΠΈ спСцифичСских настройках интСрфСйса, тСкущая строка ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ чтСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.

πŸ“Š Как Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹?
Π§Π΅Ρ€Π΅Π· Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.ВСкущаяБтрока
Π§Π΅Ρ€Π΅Π· ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’Π°Π±Π»ΠΈΡ‡Π½Π°ΡΠ§Π°ΡΡ‚ΡŒ
Π§Π΅Ρ€Π΅Π· ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π’Ρ‹Π±ΠΎΡ€Π°
Π—Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ

Доступ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ строк ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹

Иногда трСбуСтся ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎ всСх строках Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ строк, которая являСтся свойством самого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹, Π° Π½Π΅ элСмСнтов интСрфСйса.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹ содСрТит свойства с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частСй Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΈ свойства ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Для доступа ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ строкС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ индСксация ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Найти.

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ˜Ρ‚ΠΎΠ³ΠΎ()

Π‘ΡƒΠΌΠΌΠ° = 0;

// ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ строк ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹

Для ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π’Π§ Из ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΠΎΠ²Π°Ρ€Ρ‹ Π¦ΠΈΠΊΠ»

Π‘ΡƒΠΌΠΌΠ° = Π‘ΡƒΠΌΠΌΠ° + Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π’Π§.Π‘ΡƒΠΌΠΌΠ°;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π˜Ρ‚ΠΎΠ³ΠΎ = Π‘ΡƒΠΌΠΌΠ°;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ пСрСмСнная Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π’Π§ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ БтрокаВабличнойЧастиЀормы. Π’Π°ΠΆΠ½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‡Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈ слоТныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Бпособ доступа ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ выполнСния ΠžΠ±ΡŠΠ΅ΠΊΡ‚ доступа ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ВСкущаяБтрока ΠšΠ»ΠΈΠ΅Π½Ρ‚ БтрокаВабличнойЧастиЀормы ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий ячССк
ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’Π°Π±Π»ΠΈΡ‡Π½Π°ΡΠ§Π°ΡΡ‚ΡŒ ΠšΠ»ΠΈΠ΅Π½Ρ‚ / Π‘Π΅Ρ€Π²Π΅Ρ€ ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ строк Π¦ΠΈΠΊΠ»Ρ‹, массовыС измСнСния
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π’Ρ‹Π±ΠΎΡ€Π° ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°/Массив ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· списка

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с коллСкциями стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π§Ρ‚Π΅Π½ΠΈΠ΅ всСх строк большой Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ врСмя, Ссли Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях цСлСсообразно ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ Ρ‚ΡΠΆΠ΅Π»ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Π½Π° сСрвСр ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ динамичСскиС списки.

πŸ’‘

Для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСх строк ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π˜ΠΌΡΠ’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉΠ§Π°ΡΡ‚ΠΈ, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ строкой β€” Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π˜ΠΌΡΠ’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉΠ§Π°ΡΡ‚ΠΈ.ВСкущаяБтрока.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с динамичСскими списками

Битуация ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ мСняСтся, Ссли табличная Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ построСна Π½Π° основС динамичСского списка (ДинамичСскийБписок). Π’ этом случаС Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Π° ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ ΠΈΠ»ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ строкС динамичСского списка ΠΊΠ°ΠΊ ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ строкС Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ списками ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ (Reference) ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ДинамичСскийБписок.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ строки динамичСского списка, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ явноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ дСлаСтся Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡƒΡ‚Π΅ΠΌ использования структуры обращСния.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с динамичСскими списками ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘. ВсСгда свСряйтС синтаксис ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ДинамичСскийБписок Π² синтакс-ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ΅ вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· динамичСского списка Ρ‡Π΅Ρ€Π΅Π· событиС измСнСния:

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π‘ΠΏΠΈΡΠΎΠΊΠ’ΠΎΠ²Π°Ρ€ΠΎΠ²ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚)

БтрокаБписка = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.БписокВоваров.ВСкущаяБтрока;

// Для динамичСского списка это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ структура обращСния

Если Π’ΠΈΠΏΠ—Π½Ρ‡(БтрокаБписка) = Π’ΠΈΠΏ("БтрокаБпискаЀормы") Π’ΠΎΠ³Π΄Π°

Π”Π°Π½Π½Ρ‹Π΅ = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.БписокВоваров.Бписок.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ(БтрокаБписка);

// Π Π°Π±ΠΎΡ‚Π° с ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π”Π°Π½Π½Ρ‹Π΅.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

ИспользованиС динамичСских списков Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускоряСт ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌ с большим объСмом Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ услоТняСт Π»ΠΎΠ³ΠΈΠΊΡƒ программирования. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΡΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ, Π³Π΄Π΅ находятся Π΄Π°Π½Π½Ρ‹Π΅: Π² кэшС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π² памяти сСрвСра ΠΈΠ»ΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

  • πŸ”Ή ДинамичСскиС списки экономят ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.
  • πŸ”Ή Для измСнСния Π΄Π°Π½Π½Ρ‹Ρ… часто трСбуСтся Π²Ρ‹Π·ΠΎΠ² сСрвСрной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.
  • πŸ”Ή Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π° сторонС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
ΠŸΠΎΡ‡Π΅ΠΌΡƒ динамичСскиС списки быстрСС?

Они Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΈΠ΄ΠΈΠΌΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 20 строк Π½Π° экранС), Π° Π½Π΅ вСсь массив ΠΈΠ· тысяч записСй, Ρ‡Ρ‚ΠΎ сниТаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° ΡΠ΅Ρ‚ΡŒ ΠΈ клиСнтскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Ρ‹Π±ΠΎΡ€Π° ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ структуры

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ частый кСйс β€” ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ значСния ΠΈΠ· списка Π² ячСйкС Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части. Π’ событии ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π’Ρ‹Π±ΠΎΡ€Π° Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π’Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½ΠΎ контСкст строки Ρ‚Π°ΠΊΠΆΠ΅ доступСн.

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Π° Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ строки Π½Π° основС Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ значСния. НапримСр, ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ†Π΅Π½Ρƒ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ измСрСния. Для этого снова ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ссылка Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ строку.

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π’ΠΎΠ²Π°Ρ€Ρ‹ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Π°ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π’Ρ‹Π±ΠΎΡ€Π°(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚, Π’Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Π°ΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°)

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π’ΠΎΠ²Π°Ρ€Ρ‹.ВСкущаяБтрока;

Если Π‘Ρ‚Ρ€ΠΎΠΊΠ° <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

// ЗаполняСм связанныС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π¦Π΅Π½Π° = Π’Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.Π¦Π΅Π½Π°ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈ;

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π•Π΄ΠΈΠ½ΠΈΡ†Π°Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡ = Π’Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.Π•Π΄ΠΈΠ½ΠΈΡ†Π°Π₯ранСния;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹Π±ΠΎΡ€ происходит ΠΈΠ· списка значСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, пСрСчислСния), Ρ‚ΠΎ Π’Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ само Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пСрСчислСния. Если ΠΆΠ΅ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника, Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ справочника.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слоТных случаях, ΠΊΠΎΠ³Π΄Π° элСмСнт Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ прямой связи с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, нСзависимая Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ), доступ ΠΊ строкам осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· саму Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½ΡƒΡŽ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΊΠ°ΠΊ пСрСмСнная.

β˜‘οΈ Алгоритм заполнСния ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€Ρƒ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π°

НаиболСС распространСнной ошибкой являСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ Ρ‡Π΅Ρ€Π΅Π· имя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΊΠ°ΠΊ ΠΊ свойству элСмСнта Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ Π²ΠΈΠ΄Π° Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π’ΠΎΠ²Π°Ρ€Ρ‹.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π½Π΅Π²Π΅Ρ€Π½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ элСмСнта Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π΅Ρ‚ свойства ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ.

Π’Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто Π·Π°Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΎ контСкстС выполнСния. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠΉ ΠΊΠΎΠ΄ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ прямого доступа ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΡ‹. Если трСбуСтся запись Π² Π±Π°Π·Ρƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСрвСрныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ записи ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’ΠΈΠΏΠ—Π½Ρ‡(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ пСрСмСнная Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ содСрТит строку Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части, Π° Π½Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅. Π’Ρ‹Π²ΠΎΠ΄ структуры ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅) Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ доступныС свойства.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ строки ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠ° числа) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ пСрСсборка ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ½Π°Ρ‡Π΅ доступ ΠΊ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строку Π² числовой Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΎΡ€ΠΌΡƒ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. ВсСгда выполняйтС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² явно, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Число(), Π‘Ρ‚Ρ€ΠΎΠΊΠ°() ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅Π΄ записью Π² ячСйку.

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ строкС ΠΈΠ· сСрвСрного ΠΊΠΎΠ΄Π°?

На сСрвСрС Π½Π΅Ρ‚ понятия "элСмСнты Ρ„ΠΎΡ€ΠΌΡ‹" ΠΈ "тСкущая строка экрана". Π‘Π΅Ρ€Π²Π΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСпосрСдствСнно с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΡ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ» Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ° Из ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’Π°Π±Π»ΠΈΡ‡Π½Π°ΡΠ§Π°ΡΡ‚ΡŒ. Если Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ строку, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΅Ρ‘ ΠΊΠ»ΡŽΡ‡ ΠΈΠ»ΠΈ индСкс с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… сСрвСрной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ВСкущаяБтрока Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ НСопрСдСлСно?

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ фокус Π²Π²ΠΎΠ΄Π° Π½Π΅ находится Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π»ΠΈΠ±ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π° пуста. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Если ВСкущаяБтрока = НСопрСдСлСно Π’ΠΎΠ³Π΄Π° Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок выполнСния, ΠΈ прСдусмотритС Π»ΠΎΠ³ΠΈΠΊΡƒ повСдСния для этого случая (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ).

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ строки Π² событии ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ?

Π”Π°, это стандартная ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. ИзмСнСния, внСсСнныС Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ строки Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, сразу ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² ячСйках Ρ„ΠΎΡ€ΠΌΡ‹. Однако, Ссли ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ влияСт Π½Π° Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ записаны Π² Π±Π°Π·Ρƒ особым ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ это Π½Π΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ Π»ΠΎΠ³ΠΈΠΊΠ΅ провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉΠ§Π°ΡΡ‚ΡŒΡŽ ΠΈ Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅?

Вабличная Ρ‡Π°ΡΡ‚ΡŒ β€” это Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, справочника), Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранятся Π² Π±Π°Π·Π΅ вмСстС с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. Π’Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” это нСзависимая структура Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти, часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΎΠΊ, которая Π½Π΅ сохраняСтся автоматичСски ΠΏΡ€ΠΈ записи ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Как ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ?

Если Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, ΠΎΠ½Π° становится доступной ΠΊΠ°ΠΊ свойство строки Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Π·Π°Π΄Π°Π»ΠΈ ΠΏΡ€ΠΈ создании. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ доступа ΠΊ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ остаСтся Ρ‚Π΅ΠΌ ΠΆΠ΅: Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π˜ΠΌΡΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ.