Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 14

Ошибка: Operator not applicable to this operand type

20.03.2015, 14:18. Показов 2948. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Помогите пожалуйста. Мне необходимо написать код программы, чтобы из значения находящегося в поле edit вычиталось значение находящиеся в ячейки таблицы StringGrid, а потом бы результат сравнивался с числами находящими в диапазоне [1..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
29
procedure TForm2.Button3Click(Sender: TObject);
var a,b,c:string;
d:array[1..9] of string;
begin
  a:=stringgrid1.cells[1,1];
  b:=edit1.text;
  c:=b-a;
if StringGrid1.Cells[1,1]<Edit2.Text then
memo1.lines.loadfromfile('C:\Íà÷àëà ìàòåìàòèêè.txt')
else Memo1.Clear;
if c=a then
memo2.lines.loadfromfile('C:\ÝÔ1.txt')
if StringGrid1.Cells[2,1]<Edit2.Text then
memo2.lines.loadfromfile('C:\Àëãåáðà è ãåîìåòðèÿ.txt')
else Memo2.Clear;
if StringGrid1.Cells[3,1]<Edit2.Text then
memo3.lines.loadfromfile('C:\Ìàòåìàòè÷åñêèé àíàëèç.txt')
else Memo3.Clear;
if StringGrid1.Cells[4,1]<Edit2.Text then
memo4.lines.loadfromfile('C:\Ôèçèêà.txt')
else Memo4.Clear;
if StringGrid1.Cells[5,1]<Edit2.Text then
memo5.lines.loadfromfile('C:\Ýëåìåíòàðíàÿ ôèçèêà.txt')
else Memo5.Clear;
if StringGrid1.Cells[6,1]<Edit2.Text then
memo6.lines.loadfromfile('C:\Óðàâíåíèÿ ìàòåìàòè÷åñêîé ôèçèêè.txt')
else Memo6.Clear;
 
end;
Вот ошибки, которые выдает программа:

[Error] Unit2.pas(160): Operator not applicable to this operand type
[Error] Unit2.pas(166): Missing operator or semicolon
[Fatal Error] Project2.dpr(6): Could not compile used unit 'Unit2.pas'
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.03.2015, 14:18
Ответы с готовыми решениями:

Ошибка: operator not applicable to this operand type
делаю калькулятор, хочу сделать, чтобы выдавало осмысленное сообщение, когда пользователь делит на ноль. case doAction of '+':...

Ошибка operator not applicable to this operand type
Догадываюсь, что ошибка связана либо с типом данных, либо с делением. Но понять, в чем дело не могу. Помогите, пожалуйста. написать...

Ошибка: Operator not applicable to this operand type
program mn5; {$APPTYPE CONSOLE} uses SysUtils; var a:array of 1..10; b:array of 1..20; i:integer; x:byte; ...

26
554 / 484 / 191
Регистрация: 11.12.2013
Сообщений: 2,507
20.03.2015, 16:23
Студворк — интернет-сервис помощи студентам
попробуйте так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm2.Button3Click(Sender: TObject);
var s: string;
    i: Integer;
    n: Integer;
    k: Integer;
begin
if not (TryStrToInt(Edit2.Text,n)) then Exit;
for i:=1 to StringGrid1.ColCount-1 do begin
 if TryStrToInt(StringGrid1.Cells[i,1],k) then
   k:=n-k
 else
//если значение ячейки не может быть преобразовано в целое число то,
//считаем разность=0
   k:=0;
//теперь анализируем что у нас получилось при вычитании
  case k of
    1..9: LoadFirstDoc; //разность 1..9 грузим файл №1
    10..18: LoadSecondDoc; //разность 10..18 грузим файл №2
    19..27: LoadThird;//разность 19..27 грузим файл №3
  end;
end;end;
1
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,686
Записей в блоге: 21
20.03.2015, 16:23
там черт ногу сломит
чтобы добраться до показанной картинки, нужно что-то загрузить, куда-то перейти.
значения в StringGrid не вводятся...
по кнопкам пытается стартовать Excel, а у меня MS Office уже много лет нет на компе
что делать и по какому условию, тоже нет данных
так что вот вам исправления на одну кнопку только
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
procedure TForm2.Button3Click(Sender: TObject);
var
  i,v,n: Integer;
  fname:string;
  m:array[1..6] of tmemo;
const
  fnames:array [1..6] of string=('Начала математики','Алгебра и геометрия',
      'Математический анализ','Физика','Элементарная физика',
      'Уравнения математической физики');
begin
  v:=StrToInt(Edit1.Text);
  m[1]:=Memo1; m[2]:=Memo2; m[3]:=Memo3;
  m[4]:=Memo4; m[5]:=Memo5; m[6]:=Memo6;
 
  for i := 1 to StringGrid1.ColCount-1 do
  begin
    n:=StrToInt(StringGrid1.Cells[i,1]);
    if n<v then
    begin
      fname := ExtractFilePath(ParamStr(0))+fnames[i]+'.txt';
      m[i].lines.loadfromfile(fname);
    end
    else
      m[i].Clear;
  end;
end;
1
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 14
20.03.2015, 16:26  [ТС]
Не получается?

Добавлено через 35 секунд
Сейчас попробую, извиняюсь за предыдущее сообщение, не видела вашего ответа
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,686
Записей в блоге: 21
20.03.2015, 16:39
разность 1..9 грузим файл №1
что за файлы, куда как грузить, мы сами должны придумать
да и файлы по мнению ТС должны лежать не около программы, а в корне C:\
1
Злостный нарушитель
 Аватар для Verevkin
10894 / 5829 / 1289
Регистрация: 12.03.2015
Сообщений: 26,903
20.03.2015, 16:39
совет: все мемо, из которых подразумевается брать только числа, замени на TSpinEdit.
1
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 14
23.03.2015, 17:02  [ТС]
Спасибо все огромное за помощь, все сделала все получилось по примеру Алексея.
У меня еще один вопрос, а как построить график в TChart по таблице Stringgrid, если по оси х отмечаются дисциплины а ты по у баллы поставленные по ним
0
Злостный нарушитель
 Аватар для Verevkin
10894 / 5829 / 1289
Регистрация: 12.03.2015
Сообщений: 26,903
23.03.2015, 18:12
глянь это.
Вложения
Тип файла: 7z TeeChart.7z (542.5 Кб, 2 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.03.2015, 18:12

Ошибка: Operator not applicable to this operand type
Добрый день, подскажите почему не работает? if Edit1.Text = '0' or Edit2.Text = '0' then begin Edit3.Text:='0'; end ...

Ошибка: Operator not applicable to this operand type
Помогите,пожалуйста,понять в чем ошибка( выдает ее на строке end) type zap=record date,month,year,houre,kol:real; town:string; ...

Ошибка: operator not applicable to this operand type
if (a&lt;0) and (b mod 2 = 0) then showmessage('ошибка') - на это строчке возникает ошибка else d:=exp(1/b*ln(a)); end;

Ошибка: Operator not applicable to this operand type
Помогите пожалуйста исправить ошибку. Задача Как успеть подешевле? Можно ехать на такси со скоростью v1 км/ч и оплатой p1 руб/км либо...

Ошибка: Operator not applicable to this operand type
Ребят, помогите что не так! Не серчайте на меня, У меня Delphi только одно занятие было. Если сможете то поправьте, и как то по проще ,...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru