96 lines
3.4 KiB
HTML
96 lines
3.4 KiB
HTML
<html>
|
|
|
|
<head>
|
|
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
|
<param name="Keyword" value="with">
|
|
<param name="Keyword" value="do">
|
|
</object>
|
|
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
|
<param name="Keyword" value="with">
|
|
</object>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
|
<title></title>
|
|
<link rel="StyleSheet" href="../../default.css">
|
|
</head>
|
|
|
|
<body>
|
|
<H1>Îïåðàòîð with</H1>
|
|
Îïåðàòîð <b><code>with</code></b> ïîçâîëÿåò ñîêðàòèòü îáðàùåíèå
|
|
ê ïîëÿì çàïèñè, à òàêæå ê ïîëÿì, ìåòîäàì è ñâîéñòâàì îáúåêòà. Îí èìååò âèä:<blockquote>
|
|
<p><code><b>with</b> </code> <code class="codeit">èìÿ
|
|
çàïèñè èëè îáúåêòà</code><code> <b>do</b> </code>
|
|
<code class="codeit">îïåðàòîð</code></p>
|
|
</blockquote>
|
|
<p>èëè</p><blockquote>
|
|
<p><code><b>with</b> </code> <code class="codeit">ñïèñîê èìåí</code><code> <b>do</b> </code>
|
|
<code class="codeit">îïåðàòîð</code></p>
|
|
</blockquote>
|
|
<p>Âñþäó âíóòðè îïåðàòîðà ìîæíî îïóñêàòü èìÿ çàïèñè ïðè
|
|
îáðàùåíèè ê ïîëþ óêàçàííîé çàïèñè èëè èìÿ îáúåêòà ïðè îáðàùåíèè ê ïîëþ, ìåòîäó
|
|
èëè ñâîéñòâó óêàçàííîãî îáúåêòà. Íàïðèìåð, ïóñòü îïèñàíà
|
|
ïåðåìåííàÿ </p>
|
|
<blockquote>
|
|
<p><code><b>var</b> <br>
|
|
DateOfBirthday =<b> record</b><br>
|
|
Day: Integer;<br>
|
|
Month: Integer;<br>
|
|
Year: Integer;<br>
|
|
<b>end</b>;</code></p>
|
|
</blockquote>
|
|
<p>Òîãäà ïðèñâàèâàíèå çíà÷åíèé åå ïîëÿì áåç èñïîëüçîâàíèÿ
|
|
îïåðàòîðà <b><code>with</code></b> èìååò âèä:</p>
|
|
<blockquote>
|
|
<p><code>DateOfBirthday.Day := 23;<br>
|
|
DateOfBirthday.Month := 2;<br>
|
|
DateOfBirthday.Year := 1965;</code></p>
|
|
</blockquote>
|
|
<p>Èñïîëüçîâàíèå îïåðàòîðà <code><b>with</b></code> ïîçâîëÿåò ñîêðàòèòü
|
|
ïðåäûäóùóþ çàïèñü:</p>
|
|
<blockquote>
|
|
<p><code><b>with</b> DateOfBirthday <b>do</b><br>
|
|
<b>begin</b><br>
|
|
Day := 23;<br>
|
|
Month := 2;<br>
|
|
Year := 1965;<br>
|
|
<b>end</b>;</code></p>
|
|
</blockquote>
|
|
<p>Åñëè âíåøíÿÿ ïåðåìåííàÿ èìååò òî æå èìÿ, ÷òî è ïîëå (ìåòîä, ñâîéñòâî), òî
|
|
ïðåäïî÷òåíèå îòäàåòñÿ ïîëþ (ìåòîäó, ñâîéñòâó). Ïðè íàëè÷èè âëîæåííûõ îïåðàòîðîâ
|
|
<code><b>with</b></code> âíà÷àëå ïðåäïðèíèìàåòñÿ ïîïûòêà ðàññìàòðèâàòü ïåðåìåííóþ êàê ïîëå çàïèñè
|
|
èëè îáúåêòà ñàìîãî âíóòðåííåãî îïåðàòîðà <code><b>with</b></code>, çàòåì íåïîñðåäñòâåííî îáúåìëþùåãî
|
|
åãî îïåðàòîðà <code><b>with</b></code> è ò.ä. Åñëè îïåðàòîð
|
|
<code><b>with</b></code> ñîäåðæèò ñïèñîê îáúåêòîâ,
|
|
òî îíè ðàññìàòðèâàåòñÿ ñïðàâà íàëåâî. Íàïðèìåð, åñëè èìåþòñÿ îïèñàíèÿ </p>
|
|
<blockquote>
|
|
<p><code><b>var</b> <br>
|
|
x,y,z: integer;<br>
|
|
a: <b>record</b><br>
|
|
x,y: integer;<br>
|
|
<b> end</b>;<br>
|
|
b: <b>record</b><br>
|
|
x: integer;<br>
|
|
<b> end</b>;</code></blockquote>
|
|
<p>òî ôðàãìåíò ïðîãðàììû</p>
|
|
<blockquote><code><b>with</b> a,b <b>do</b><br>
|
|
<b>begin</b><br>
|
|
x := 1; <br>
|
|
y := 2;<br>
|
|
z := 3; <br>
|
|
<b>end</b>;</code></blockquote>
|
|
<p>ýêâèâàëåíòåí ôðàãìåíòó</p>
|
|
<blockquote><code><b>with</b> a <b>do</b><br>
|
|
<b>with</b> b <b>do</b><br>
|
|
<b> begin</b><br>
|
|
x := 1; <br>
|
|
y := 2;<br>
|
|
z := 3; <br>
|
|
<b> end</b>;</code></blockquote>
|
|
<p>à òàêæå ôðàãìåíòó </p>
|
|
<blockquote><p><code>b.x:=1; <br>
|
|
a.y:=2;<br>
|
|
z:=3;</code></p>
|
|
</blockquote>
|
|
<p>Îïåðàòîð with óñòàðåë è ñåé÷àñ ïðàêòè÷åñêè íå èñïîëüçóåòñÿ.</p>
|
|
</body>
|
|
|
|
</html> |