Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.59/75: Рейтинг темы: голосов - 75, средняя оценка - 4.59
Salabim
0 / 0 / 1
Регистрация: 27.09.2011
Сообщений: 75
1

Ошибка: left side cannot be assigned to

04.10.2011, 18:41. Просмотров 14473. Ответов 64
Метки нет (Все метки)

Вот код кнопки:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Memo1.Text:=IntToStr(w);
Memo2.Text:=IntToStr(e);
Memo3.Text:=IntToStr(r);
Memo4.Text:=IntToStr(t);
Memo5.Text:=IntToStr(y);
Memo6.Text:=IntToStr(u);
Memo7.Text:=IntToStr(i);
Memo8.Text:=IntToStr(o);
Memo9.Text:=IntToStr(p);
w+e+r:=a;
p+u+t:=s;
o+i+y:=d;
w+p+o:=f;
e+u+i:=g;
r+t+y:=h;
w+u+y:=j;
o+u+r:=k;
If a=s=d=f=g=h=j=k then
on EconvertError do  begin
MessageDlg('ÂâåäåГ*ûé ГўГ*ìè ГЄГўГ*äðГ*ГІ Г*ГҐ ÿâëÿåòñÿ Г¬Г*ГЈГЁГ·ГҐГ±ГЄГЁГ¬',mtError,[mbOk], 0);
end;
Пишет ошибку: left side cannot be assigned to. Что это и как исправить.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2011, 18:41
Ответы с готовыми решениями:

Ошибка: Left side cannot be assigned to
unit Unit8; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Ошибка Left side cannot be assigned to
После компиляции выдает вот эту ошибку " Left side cannot be assigned to" в следующих строках with...

Ошибка: left side cannot be assigned to
Помогите пожалуйста правильно составить программу, которая заданные числа вводит в массив,...

Left side cannot be assigned to
Что не так? :( есть 2 эдита с которых вводятся lcsh1, lsh1. Ругается на lcsh1-lsh1:=i; procedure...

Left side cannot be assigned to ЧТО ЗА ДЕМОН?
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

64
AndyZorg
Заблокирован
04.10.2011, 18:50 2
Delphi
1
2
3
4
5
6
7
8
w+e+r:=a;
p+u+t:=s;
o+i+y:=d;
w+p+o:=f;
e+u+i:=g;
r+t+y:=h;
w+u+y:=j;
o+u+r:=k;
Это явно не Дельфи... Да и это тоже:
Delphi
1
If a=s=d=f=g=h=j=k then
Добавлено через 47 секунд
Надо так:
Delphi
1
a := w+e+r;
и т.д.
0
NIch
400 / 311 / 74
Регистрация: 17.03.2010
Сообщений: 1,120
04.10.2011, 18:56 3
У тебя
Цитата Сообщение от Salabim Посмотреть сообщение
w+e+r:=a;
p+u+t:=s;
o+i+y:=d;
w+p+o:=f;
e+u+i:=g;
r+t+y:=h;
w+u+y:=j;
o+u+r:=k;
Нужно
Delphi
1
s := p+u+t;// и так далее
По моему в Delphi так нельзя...
Цитата Сообщение от Salabim Посмотреть сообщение
If a=s=d=f=g=h=j=k then
Лучше
Delphi
1
2
x := a;
if ((s=x) and (d=x) and (f=x) and (g=x) and (j=x) and (k=x)) then
Добавлено через 1 минуту
AndyZorg, я чуть опоздал)))
0
Salabim
0 / 0 / 1
Регистрация: 27.09.2011
Сообщений: 75
04.10.2011, 19:41  [ТС] 4
Цитата Сообщение от NIch Посмотреть сообщение
У тебя

Нужно
Delphi
1
s := p+u+t;// и так далее
По моему в Delphi так нельзя...

Лучше
Delphi
1
2
x := a;
if ((s=x) and (d=x) and (f=x) and (g=x) and (j=x) and (k=x)) then
Добавлено через 1 минуту
AndyZorg, я чуть опоздал)))
Ничего, спасибо.

Добавлено через 11 минут
Тваюмать... Ничего не выходит... Думал на 30минут работы, а тут - на тебе. Помогите разобраться.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Memo1.Text:=IntToStr(w);
  Memo2.Text:=IntToStr(e);
  Memo3.Text:=IntToStr(r);
  Memo4.Text:=IntToStr(t);
  Memo5.Text:=IntToStr(y);
  Memo6.Text:=IntToStr(u);
  Memo7.Text:=IntToStr(i);
  Memo8.Text:=IntToStr(o);
  Memo9.Text:=IntToStr(p);
a:=w+e+r;
s:=p+u+t;
d:=o+i+y;
f:=w+p+o;
g:=e+u+i;
h:=r+t+y;
j:=w+u+y;
k:=o+u+r;
x:=a;
if ((s=x) and (d=x) and (f=x) and (g=x) and (j=x) and (k=x)) then
n:=Form2.ShowModal
Else b:=Form3.ShowModal;
end;
Когда нажимаю на кнопку, все Memo поля заполняются нулями, а программа всегда выдает форму 2, то есть всегда математический. Что нужно сделать?
Ошибка: left side cannot be assigned to
0
04.10.2011, 19:41
Salabim
0 / 0 / 1
Регистрация: 27.09.2011
Сообщений: 75
04.10.2011, 20:25  [ТС] 5
Тваюмать... Ничего не выходит... Думал на 30минут работы, а тут - на тебе. Помогите разобраться.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Memo1.Text:=IntToStr(w);
  Memo2.Text:=IntToStr(e);
  Memo3.Text:=IntToStr(r);
  Memo4.Text:=IntToStr(t);
  Memo5.Text:=IntToStr(y);
  Memo6.Text:=IntToStr(u);
  Memo7.Text:=IntToStr(i);
  Memo8.Text:=IntToStr(o);
  Memo9.Text:=IntToStr(p);
a:=w+e+r;
s:=p+u+t;
d:=o+i+y;
f:=w+p+o;
g:=e+u+i;
h:=r+t+y;
j:=w+u+y;
k:=o+u+r;
x:=a;
if ((s=x) and (d=x) and (f=x) and (g=x) and (j=x) and (k=x)) then
n:=Form2.ShowModal
Else b:=Form3.ShowModal;
end;
Когда нажимаю на кнопку, все Memo поля заполняются нулями, а программа всегда выдает форму 2, то есть всегда математический. Что нужно сделать?
0
deathNC
1897 / 1008 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
04.10.2011, 20:30 6
Цитата Сообщение от Salabim Посмотреть сообщение
Тваюмать...
 Комментарий модератора 
Выдам нарушение, если ещё раз напишешь! Держим эмоции при себе!
2
Salabim
0 / 0 / 1
Регистрация: 27.09.2011
Сообщений: 75
04.10.2011, 20:39  [ТС] 7
Цитата Сообщение от deathNC Посмотреть сообщение
Выдам нарушение, если ещё раз напишешь! Держим эмоции при себе!
Ну как выходит, извините.
0
Mawrat
12860 / 5764 / 1701
Регистрация: 19.09.2009
Сообщений: 8,807
04.10.2011, 23:13 8
Цитата Сообщение от Salabim Посмотреть сообщение
Когда нажимаю на кнопку, все Memo поля заполняются нулями,
Есть подозрение, что здесь причина подобна той, что уже разбиралась выше:
Delphi
1
w+e+r:=a;
Т. е. код:
Delphi
1
2
3
4
5
6
7
8
9
  Memo1.Text:=IntToStr(w);
  Memo2.Text:=IntToStr(e);
  Memo3.Text:=IntToStr(r);
  Memo4.Text:=IntToStr(t);
  Memo5.Text:=IntToStr(y);
  Memo6.Text:=IntToStr(u);
  Memo7.Text:=IntToStr(i);
  Memo8.Text:=IntToStr(o);
  Memo9.Text:=IntToStr(p);
надо заменить на:
Delphi
1
2
3
4
5
6
7
8
9
  w := StrToInt(Memo1.Text);
  e := StrToInt(Memo2.Text);
  r := StrToInt(Memo3.Text);
  t := StrToInt(Memo4.Text);
  y := StrToInt(Memo5.Text);
  u := StrToInt(Memo6.Text);
  i := StrToInt(Memo7.Text);
  o := StrToInt(Memo8.Text);
  p := StrToInt(Memo9.Text);
И здесь удобнее, наверное, применять TEdit, а не TMemo.
---
Ошибки, прямо, на "арабский" манер. - По направлению справа-налево.
0
NIch
400 / 311 / 74
Регистрация: 17.03.2010
Сообщений: 1,120
04.10.2011, 23:38 9
Подведу итог
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  // тут все переменные
begin
  w := StrToInt(Edit1.Text);// Следуй совету выше, замени Memo на Edit на форме
  e := StrToInt(Edit2.Text);
  r := StrToInt(Edit3.Text);
  t := StrToInt(Edit4.Text);
  y := StrToInt(Edit5.Text);
  u := StrToInt(Edit6.Text);
  i := StrToInt(Edit7.Text);
  o := StrToInt(Edit8.Text);
  p := StrToInt(Edit9.Text);
  a:=w+e+r;
  s:=p+u+t;
  d:=o+i+y;
  f:=w+p+o; 
  g:=e+u+i;
  h:=r+t+y;
  j:=w+u+y;
  k:=o+u+r;
  x:=a;
  if ((s=x) and (d=x) and (f=x) and (g=x) and (j=x) and (k=x)) then
    n := Form2.ShowModal
  Else 
    b := Form3.ShowModal;
end;
0
Kridan
65 / 65 / 11
Регистрация: 08.10.2010
Сообщений: 138
05.10.2011, 09:51 10
Я бы лучше так написал. А то мало ли что в эдиты напишут.
Delphi
1
p := StrToIntDef(Edit9.Text, 0);
И по формам
Delphi
1
2
3
4
  if ((s=x) and (d=x) and (f=x) and (g=x) and (j=x) and (k=x)) then
    ShowMessage('Введённый квадрат является математическим')
  Else 
    ShowMessage('Квадрат НЕ является');
0
Salabim
0 / 0 / 1
Регистрация: 27.09.2011
Сообщений: 75
05.10.2011, 14:49  [ТС] 11
Какое значение отвечает в Memo за расположение текста посередине?
0
AndyZorg
Заблокирован
05.10.2011, 16:07 12
Alignment := taCenter
0
Salabim
0 / 0 / 1
Регистрация: 27.09.2011
Сообщений: 75
05.10.2011, 18:28  [ТС] 13
Delphi
1
2
If w=e or w=r or w=t or w=y or w=u or w=i or w=o or w=p or e=w or e=r or e=t or e=y or e=u or e=i or e=o or e=p or r=e or r=w or r=t or r=y or r=u or r=i or r=o or r=p or t=e or t=r or t=w or t=y or t=u or t=i or t=o or t=p or y=e or y=r or y=t or y=w or y=u or y=i or y=o or y=p or u=e or u=r or u=t or u=y or u=w or u=i or u=o or u=p or i=e or i=r or i=t or i=y or i=u or i=w or i=o or i=p or o=e or o=r or o=t or o=y or o=u or o=i or o=w or o=p or p=e or p=r or p=t or p=y or p=u or p=i or p=o or p=w Then
MessageDlg('ÂâåäåГ*ûé ГЄГўГ*äðГ*ГІ ГЌГ… ÿâëÿåòñÿ Г¬Г*ГІГҐГ¬Г*ГІГЁГ·ГҐГ±ГЄГЁГ¬',mtError,[mbOk], 0);
Incompatible types. Что за ошибка?
0
AndyZorg
Заблокирован
05.10.2011, 18:29 14
If (w=e) or (w=r) и так далее. В скобки надо взять.
1
deathNC
1897 / 1008 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
05.10.2011, 18:31 15
несовместимые типы...
Возьми в скобки все те выражения в условии:
Delphi
1
If (w=e) or (w=r) ... и так далее
Добавлено через 1 минуту

Не по теме:

AndyZorg, опоздал я :D

0
AndyZorg
05.10.2011, 18:33
  #16

Не по теме:

2 deathNC: Salabim частенько ждет от меня ответы :)

1
Salabim
0 / 0 / 1
Регистрация: 27.09.2011
Сообщений: 75
05.10.2011, 20:20  [ТС] 17
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
try
  w := StrToInt(Memo1.Text);
  e := StrToInt(Memo2.Text);
  r := StrToInt(Memo3.Text);
  t := StrToInt(Memo4.Text);
  y := StrToInt(Memo5.Text);
  u := StrToInt(Memo6.Text);
  i := StrToInt(Memo7.Text);
  o := StrToInt(Memo8.Text);
  p := StrToInt(Memo9.Text);
  except
  on EconvertError do  begin
MessageDlg ('ÏîæГ*ëóéñòГ*, êîððåêòГ*Г® Г§Г*ïîëГ*ГЁГІГҐ ïîëÿ ГЄГўГ*äðГ*ГІГ*',mtError,[mbOk], 0);
Первый раз использую Try в программе, что не так?
Ошибка: Declaration expexted but 'TRY' found.
0
AndyZorg
Заблокирован
05.10.2011, 20:27 18
Выше try код покажите. Что-то там не то.
0
Salabim
0 / 0 / 1
Регистрация: 27.09.2011
Сообщений: 75
05.10.2011, 20:37  [ТС] 19
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Xpman, Buttons, Menus;
 
type
  TForm1 = class(TForm)
    Memo2: TMemo;
    Memo3: TMemo;
    Memo4: TMemo;
    Memo5: TMemo;
    Memo6: TMemo;
    Memo7: TMemo;
    Memo8: TMemo;
    Memo9: TMemo;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    GroupBox1: TGroupBox;
    Memo1: TMemo;
    SaveDialog1: TSaveDialog;
    Memo10: TMemo;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,n,b,x: Integer;
  Form1: TForm1;
 
implementation
 
uses Unit2, Unit3;
 
{$R *.dfm}
 
procedure TForm1.BitBtn1Click(Sender: TObject);
//try
  w := StrToInt(Memo1.Text);
  e := StrToInt(Memo2.Text);
  r := StrToInt(Memo3.Text);
  t := StrToInt(Memo4.Text);
  y := StrToInt(Memo5.Text);
  u := StrToInt(Memo6.Text);
  i := StrToInt(Memo7.Text);
  o := StrToInt(Memo8.Text);
  p := StrToInt(Memo9.Text);
//  except
//  on EconvertError do  begin
//MessageDlg ('ÏîæГ*ëóéñòГ*, êîððåêòГ*Г® Г§Г*ïîëГ*ГЁГІГҐ ïîëÿ ГЄГўГ*äðГ*ГІГ*',mtError,[mbOk], 0);
Как видишь - кода, по сути нет...

И еще, я, конечно понимаю, что всем надоел, но...
При выполнении программы со СТАРЫМ кодом, рабочим, пишет новую ошибку: Unkown directive: 'w'
Delphi
1
2
3
4
5
6
7
8
9
w := StrToInt(Memo1.Text);
  e := StrToInt(Memo2.Text);
  r := StrToInt(Memo3.Text);
  t := StrToInt(Memo4.Text);
  y := StrToInt(Memo5.Text);
  u := StrToInt(Memo6.Text);
  i := StrToInt(Memo7.Text);
  o := StrToInt(Memo8.Text);
  p := StrToInt(Memo9.Text);
0
AndyZorg
Заблокирован
05.10.2011, 20:41 20
А ГДЕ BEGIN????
Delphi
1
2
3
4
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
.... // тут весь твой код
end;
Добавлено через 1 минуту
см свой код в посте №1 там все есть - где-то потерял begin/end
1
05.10.2011, 20:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2011, 20:41

Ошибка "Left side cannot be assigned to"
беру с этого сайта инф http://www.kansoftware.ru/?tid=1903 почему пишет что нельзя...

Ошибка "Left side cannot be assigned to"
Помогите найти ошибку, пишет left side cannot be assigned to я немного понял в чем проблема, но...

"Left side cannot be assigned to"
f:TextFile; text : string; AssignFile(F,'File.lic'); Reset(F); while not Eof(F) do ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru