Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.09.2012, 15:20
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию Математические функции Delphi

Незнаю можно ли это назвать матфункциями. Но я уже весь форум облазил, и везде по тупому подписанные темы, извините если кого то оскорбил. Есть код:
Код:
case ir of
    1. r:='+';
    2. r:='-';
    3. r:='*';
    4. r:='\';
    end;
Но этот с*ка код, не хочет работать. Пишет:
Код:
[Error] Unit1.pas(39): Incompatible types: 'Integer' and 'Extended'
Я пытаюсь переменной типа r: Char; присвоить знак один из списка так сказать. Но что то не присваивается
Выручайте ребята, пропаду без вас.

Последний раз редактировалось udachnik2, 03.09.2012 в 15:22.
Ответить с цитированием
  #2  
Старый 03.09.2012, 15:29
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от udachnik2
Незнаю можно ли это назвать матфункциями. Но я уже весь форум облазил, и везде по тупому подписанные темы, извините если кого то оскорбил. Есть код:
Код:
case ir of
    1. r:='+';
    2. r:='-';
    3. r:='*';
    4. r:='\';
    end;
Но этот с*ка код, не хочет работать. Пишет:
Код:
[Error] Unit1.pas(39): Incompatible types: 'Integer' and 'Extended'
Я пытаюсь переменной типа r: Char; присвоить знак один из списка так сказать. Но что то не присваивается
Выручайте ребята, пропаду без вас.
А переменная ir как объявлена?
Ответить с цитированием
  #3  
Старый 03.09.2012, 15:30
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

Как целое число
Ответить с цитированием
  #4  
Старый 03.09.2012, 15:32
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Код:
var
  ir: Integer;
  r: Char;
begin
  case ir of
    1: r:='+';
    2: r:='-';
    3: r:='*';
    4: r:='/';
  end;
end;
Ответить с цитированием
  #5  
Старый 03.09.2012, 15:34
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

или так
Код:
var znak: array[0..3] of char = ('+', '-', ...);
...
znak[ir];
__________________
>woweook<
Ответить с цитированием
  #6  
Старый 03.09.2012, 15:35
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

то есть все работать должно?, не охота тут просто весь код программы выкладывать. громозко больно

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i,a,b,c,ir: Integer;
 plus,minus,del,umn:string;
  r: char;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  for b:=1 to StringGrid1.ColCount do
  begin
    for c:=1 to StringGrid1.RowCount do
  begin
    Randomize;
    ir:=Random(3);
    case ir of
    1. r:='+';
    2. r:='-';
    3. r:='*';
    4. r:='\';
    end;

i:=Random(1000);
a:=Random(1000);
    StringGrid1.Cells[b,c]:=IntToStr(i) + r + a;
  end;
  end;

end;


end.
Ответить с цитированием
  #7  
Старый 03.09.2012, 15:36
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

Знаю что там много что не прально, но мне интересно только по этому вопросу помощь.
Ответить с цитированием
  #8  
Старый 03.09.2012, 15:42
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

это исправленный код?
__________________
>woweook<
Ответить с цитированием
  #9  
Старый 03.09.2012, 15:44
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

нет. это без исправления, но там все нормально, то есть ir типа целочисленного, и r типа символьного, но что то он не хочет присваивать знак строчного типа переменной символьного типа. я нашел ответ?
Ответить с цитированием
  #10  
Старый 03.09.2012, 15:46
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от udachnik2
нет. это без исправления, но там все нормально, то есть ir типа целочисленного, и r типа символьного, но что то он не хочет присваивать знак строчного типа переменной символьного типа. я нашел ответ?
Читай внимательно мой ответ. В case нужно использовать двоеточие, а не точку как у тебя.
Ответить с цитированием
  #11  
Старый 03.09.2012, 15:46
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

да нее, вы же там повыше написали тоже самое что и у меня
Ответить с цитированием
  #12  
Старый 03.09.2012, 15:47
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

опоздал .
__________________
>woweook<
Ответить с цитированием
  #13  
Старый 03.09.2012, 15:47
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

Правда? ща попробую... Извиняюсь за невнимательность.
Ответить с цитированием
  #14  
Старый 03.09.2012, 15:48
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

Все, спасибо. с этим вопрос решен. благодарю за помощь
Ответить с цитированием
  #15  
Старый 03.09.2012, 15:57
udachnik2 udachnik2 вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 47
Репутация: 10
По умолчанию

Блин, видимо вы от меня так просто не отвяжетесь. Теперь там где:
Код:
StringGrid1.Cells[b,c]:=IntToStr(i)+r(a);

там он теперь не добавляет))) но я просто не знаю синтаксис этой операции, то как она должна правильно быть написана.
Точнее я искал, но вот такого случая я нигде не нашел, где с переменными надо работать.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:20.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter