Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.12.04;
Скачать: CL | DM;

Вниз

Left side cannot be assigned to (D2007)   Найти похожие ветки 

 
Cobalt ©   (2011-08-16 10:34) [0]

Объясните, ЧЯДНТ?

var
sPostfix: string
if sPostfix <> "" then
 sPostfix := Char(Inc(Ord(sPostfix[1])));  // не компилируется


 
Ega23 ©   (2011-08-16 10:38) [1]

Inc на + 1 замени


 
Cobalt ©   (2011-08-16 10:43) [2]

а при чем здесь "left side"? тогда бы уж там что-нить типа "not applacable to"


 
Ega23 ©   (2011-08-16 10:47) [3]


procedure TForm19.Button5Click(Sender: TObject);
var
 s: string;
begin
 s := "1";
 s[1] := Char(Ord(s[1]) + 1);
 ShowMessage(s);
end;


 
Игорь Шевченко ©   (2011-08-16 10:53) [4]

Inc подразумевает модификацию аргумента, а она вполне разумно не может быть присвоена.
Ты можешь написать
Ord(sPostfix[1]) := Ord(sPostfix[1]) + 1 и это тоже не скомпилируется с той же диагностикой


 
MBo ©   (2011-08-16 10:53) [5]

Можно Succ без приведений типа использовать.


 
Anatoly Podgoretsky ©   (2011-08-16 12:16) [6]

> Cobalt  (16.08.2011 10:43:02)  [2]

Ну ради тебя не будут менять генератор ошибок, сказано левая сторона, значит
левая. inc требует переменной и компилируется в аналог L := R + 1


 
Inovet ©   (2011-08-16 12:40) [7]

Это всё потому что inc синтаксически на функцию похож.


 
Anatoly Podgoretsky ©   (2011-08-16 12:51) [8]

> Inovet  (16.08.2011 12:40:07)  [7]

Ну вообще то не очень и похож

> procedure Inc(var X [ ; N: Longint ] );


 
Anatoly Podgoretsky ©   (2011-08-16 12:53) [9]

Использование inc как аргумент функции выглядит абсурдом, и ественно правая часть не может быть присвоена левой

> Char(Inc = L(R



Страницы: 1 вся ветка

Текущий архив: 2011.12.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
2-1313583080
rammic
2011-08-17 16:11
2011.12.04
MemoryStream.SetSize не слушается


15-1312952292
OW
2011-08-10 08:58
2011.12.04
Дизайнеры прикалываются %)


2-1313155354
qow
2011-08-12 17:22
2011.12.04
работа с формой


1-1276169691
kukuruza
2010-06-10 15:34
2011.12.04
Может TerminateProcess вызызвать BSOD? А то система падает.


8-1220951683
Konung
2008-09-09 13:14
2011.12.04
Рисовать на pf32bit битмапе