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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2012, 11:30   #1
AnnaCripto
 
Регистрация: 29.04.2012
Сообщений: 7
По умолчанию матрица.создание обработчика исключительных ситуаций

Помогите пожалуйста создать собственный обработчик исключительной ситуации.При вводе в матрицу буквы вместо цифры должна автоматически создаваться дополнительная страница tabsheet с сообщением об ошибке.
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;

    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

Type
  Matrix=Array[0..9, 0..9] Of Real;
  Vektor=Array[0..9] Of Real;
  
var
  Form1: TForm1;
  F: Matrix;
  B: Vektor;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
Var
  i, j, N: Byte;
begin
  N:=StringGrid1.ColCount-1;
  Randomize;

  For i:=0 To N Do
    For j:=0 To N Do
      Begin
        F[i, j]:=Random(1000)-500+Random;
        StringGrid1.Cells[i, j]:=FloatToStr(F[i, j]);
      End;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
Var
  Sum: Real;
  i, j, N: Byte;
begin
  N:=StringGrid1.ColCount-1;

  For j:=1 To N Do
    Begin
      Sum:=0;
      For i:=0 To j-1 Do
        If (F[i, j]>0) Then Sum:=Sum+F[i, j];

      If (Sum=0) Then
        B[j-1]:=-1
      Else
        B[j-1]:=-Sum;

      StringGrid2.Cells[j-1, 0]:=FloatToStr(B[j-1]);
    End;

end;

end.
Здесь из матрицы надо получить вектор.Не могу понять,какой же класс исключительной ситуации использовать,пыталась EConvertError,но опять-таки ничего не вышло.
AnnaCripto вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка исключительных ситуаций С++ Multiman Помощь студентам 2 06.04.2012 19:39
Робота исключительных ситуаций Rik_Igle Помощь студентам 0 08.12.2011 15:47
EMenuError, ERangeError создание исключительных ситуаций в Делфи inna_matuashova Помощь студентам 0 04.11.2011 16:05
Обработка исключительных ситуаций Виктория7777 Общие вопросы Delphi 2 15.12.2010 17:28
Обработка исключительных ситуаций MeTeOpA БД в Delphi 4 17.06.2010 09:58