Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2013, 12:07   #1
Deoxes
Пользователь
 
Регистрация: 16.11.2013
Сообщений: 23
По умолчанию Варианты в делфи

Сделал програмку по новой теме (Варианты) но появились новые ошибки. Подскажите что за ошибки и как их исправить.

Код:
unit Unit1;

interface

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

type
  TfmExample = class(TForm)
    Panel1: TPanel;
    bbRun: TBitBtn;
    bbClose: TBitBtn;
    edinput: TEdit;
    IbOutput: TLabel;
    mmOutput: TMemo;
    procedure bbRunClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fmExample: TfmExample;

implementation

{$R *.dfm}

uses VarCmplx; // Эта ссылка обязательна!
procedure TfmExample.bbRunClick(Sender: TObject);
var
V1, V2: Variants
// Создаем два случайных комплексных числа:
V1 := VarComplexCreate (Trunc (Random*1000)/100,Trunc (Random*1000)/100) ;
V2 := VarComplexCreate (Trunc (Random*1000)/100,Trunc (Random*1000)/100) ;
with mmOutput.Lines do
begin
// Пустая строка-разделитель
Add ('') ;
Add ('1-e число: '#9+V1) ;
Add ('2-е число: '#9+V2) ;
Add ('Сложение'#9+(V1+V2)) ;
Add ('Вычитание'#9+(V1-V2)) ;
Add ('Умножение'#9+(V1*V2)) ;
Add ('Деление'#9#9+(V1/V2)) ;

end;
end.
Ошибки
'.' expected but identifier 'V1' found
',' or ':' expected but '(' found
',' or ')' expected but '*' found
Identifier redeclared: 'Trunc'
Declaration expected but 'WITH' found
Undeclared identifier: 'Add'
Incompatible types: 'String' and 'Enumeration'
Operator not applicable to this operand type
Deoxes вне форума Ответить с цитированием
Старый 20.11.2013, 12:17   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

По старым темам (если они были вообще) посмотрите как процедуры оформляются, в частности begin ... end, и все вопросы отпадут
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.11.2013, 12:53   #3
Deoxes
Пользователь
 
Регистрация: 16.11.2013
Сообщений: 23
По умолчанию

Код:
V1 := VarComplexCreate (Trunc (Random*1000)/100,Trunc (Random*1000)/100) ;
5 ошибок в етой строчке
Deoxes вне форума Ответить с цитированием
Старый 20.11.2013, 12:55   #4
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

А все потому, что перед ней не хватает begin'a...
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 20.11.2013, 13:04   #5
Deoxes
Пользователь
 
Регистрация: 16.11.2013
Сообщений: 23
По умолчанию

1 вопрос:
Код:
uses VarCmplx; // Эта ссылка обязательна!
VarCmplx сюда добавить
Код:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls;
и если да то что с коментарием делать, просто в где был там и оставить

2 вопрос:
Код:
procedure TfmExample.bbRunClick(Sender: TObject);
var
V1, V2: Variants
begin
// Создаем два случайных комплексных числа:
V1 := VarComplexCreate (Trunc (Random*1000)/100,Trunc (Random*1000)/100) ;
V2 := VarComplexCreate (Trunc (Random*1000)/100,Trunc (Random*1000)/100) ;
with mmOutput.Lines do
end;
begin
// Пустая строка-разделитель
Add ('') ;
Add ('1-e число: '#9+V1) ;
Add ('2-е число: '#9+V2) ;
Add ('Сложение'#9+(V1+V2)) ;
Add ('Вычитание'#9+(V1-V2)) ;
Add ('Умножение'#9+(V1*V2)) ;
Add ('Деление'#9#9+(V1/V2)) ;

end;
end.
теперь на бегин ругаеться, но он же вроде так и должен стоять
Deoxes вне форума Ответить с цитированием
Старый 20.11.2013, 13:12   #6
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Код:
procedure TfmExample.bbRunClick(Sender: TObject);
; ?!?!?!??!?!
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Старый 20.11.2013, 13:26   #7
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
; ?!?!?!??!?!
вас может это шокировать, но в делфи точка с запятой после объявления названия процедуры/функции действительно нужна
Цитата:
теперь на бегин ругаеться, но он же вроде так и должен стоять
должен. только точку с запятой перед ним забыли
Цитата:
Сделал програмку ...
Не, не верю. Не умеете вы программки делать
Благодарить в репутацию. Проклинать — туда же

Последний раз редактировалось Luuzuk; 20.11.2013 в 13:29.
Luuzuk вне форума Ответить с цитированием
Старый 20.11.2013, 13:29   #8
Deoxes
Пользователь
 
Регистрация: 16.11.2013
Сообщений: 23
По умолчанию

; вроде точка с запятой и должна стоять после процедуры
Цитата:
Не, не верю. Не умеете вы программки делать
ну дак я по учебнику делаю, только там вечно куча ошибок.
Код:
V1, V2: Variants;
begin
expected but ';' found добавилась ошибка в строке вариантов

Последний раз редактировалось Deoxes; 20.11.2013 в 13:33.
Deoxes вне форума Ответить с цитированием
Старый 20.11.2013, 14:29   #9
Unique_Maks
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 89
По умолчанию

Цитата:
Сообщение от Deoxes Посмотреть сообщение
Код:
V1, V2: Variants;
begin
var написать не помешало бы еще
Unique_Maks вне форума Ответить с цитированием
Старый 20.11.2013, 15:25   #10
Deoxes
Пользователь
 
Регистрация: 16.11.2013
Сообщений: 23
По умолчанию

Код:
unit Unit1;

interface

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

type
  TfmExample = class(TForm)
    Panel1: TPanel;
    bbRun: TBitBtn;
    bbClose: TBitBtn;
    edinput: TEdit;
    IbOutput: TLabel;
    mmOutput: TMemo;
    procedure bbRunClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fmExample: TfmExample;

implementation

{$R *.dfm}

uses VarCmplx; // Эта ссылка обязательна!
procedure TfmExample.bbRunClick(Sender: TObject);
var
V1, V2: Variants;
begin
// Создаем два случайных комплексных числа:
V1 := VarComplexCreate (Trunc (Random*1000)/100,Trunc (Random*1000)/100) ;
V2 := VarComplexCreate (Trunc (Random*1000)/100,Trunc (Random*1000)/100) ;
with mmOutput.Lines do
end;
begin
// Пустая строка-разделитель
Add ('') ;
Add ('1-e число: '#9+V1) ;
Add ('2-е число: '#9+V2) ;
Add ('Сложение'#9+(V1+V2)) ;
Add ('Вычитание'#9+(V1-V2)) ;
Add ('Умножение'#9+(V1*V2)) ;
Add ('Деление'#9#9+(V1/V2)) ;

end;
end.
вот немного подправленный код и вар тут есть, ошибки те же что и в 1м сообщении
Deoxes вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Варианты сочетаний из n по k Deni3 Microsoft Office Excel 1 21.10.2013 07:07
Варианты и их создание. Александр За... Помощь студентам 5 10.10.2012 02:06
Варианты решений Ghost of Night Помощь студентам 5 22.01.2012 21:42
ВАРИАНТЫ ПАРСИНГА Vova777 Общие вопросы Delphi 2 04.09.2010 23:51
Варианты курсора(Delphi) IGoDoVaN Помощь студентам 25 18.02.2009 21:48