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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2017, 17:51   #1
qwrtam
 
Регистрация: 19.02.2017
Сообщений: 5
Вопрос Выдает ошибку в DELPHI

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Edit3: TEdit;
    Edit4: TEdit;
    Label4: TLabel;
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  n1, n2: integer;
  w1, w2: integer;
  o0, o1, o2, o3, o4, o5: string;
  opn: integer;
  ops: string;
  

implementation

{$R *.dfm}

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not(Key in ['0'..'9', #8]) then
    Key := #0;
end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if not(Key in ['0'..'9', #8]) then
    Key := #0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
n1:=strtoint(Edit1.Text);
n2:=strtoint(Edit2.Text);
w1:=random(10);
w2:=random(10);
opn:=(n1*w1)+(n2*w2);
Edit4.Text:=inttostr(opn);

case length(inttostr(opn)) of
1:o0:='a';
2:o0:='e';
3:o0:='i';
4:o0:='u';
else o0:='q';
end;

case strtoint(inttostr(opn)[1]) of
0:o1:='b';
1:o1:='c';
2:o1:='d';
3:o1:='f';
4:o1:='r';
5:o1:='h';
6:o1:='k';
7:o1:='l';
8:o1:='m';
9:o1:='n';
else o1:='w';
end;

case strtoint(inttostr(opn)[2]) of
0:o2:='b';
1:o2:='c';
2:o2:='d';
3:o2:='f';
4:o2:='r';
5:o2:='h';
6:o2:='k';
7:o2:='l';
8:o2:='m';
9:o2:='n';
else o2:='r';
end;

case strtoint(inttostr(opn)[3]) of
0:o3:='b';
1:o3:='c';
2:o3:='d';
3:o3:='f';
4:o3:='r';
5:o3:='h';
6:o3:='k';
7:o3:='l';
8:o3:='m';
9:o3:='n';
else o3:='t';
end;

case strtoint(inttostr(opn)[4]) of
0:o4:='b';
1:o4:='c';
2:o4:='d';
3:o4:='f';
4:o4:='r';
5:o4:='h';
6:o4:='k';
7:o4:='l';
8:o4:='m';
9:o4:='n';
else o4:='a';
end;

case (strtoint(o1)+strtoint(o2)+strtoint(o3)+strtoint(o4)) mod 4 of
0:o5:='b';
1:o5:='c';
2:o5:='d';
3:o5:='f';
4:o5:='r';
5:o5:='h';
6:o5:='k';
7:o5:='l';
8:o5:='m';
9:o5:='n';
else o5:='m';
end;

ops:=o0+o1+o2+o3+o4+o5;
Edit3.Text:=ops;

end;
qwrtam вне форума Ответить с цитированием
Старый 19.02.2017, 18:01   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ошибка наверно секретная? Вот эта строчка, например
Код:
case strtoint(inttostr(opn)[4]) of
предполагает, что длина строки inttostr(opn) не менее 4 символов, а уверен в этом?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. выдает ошибку project ... faulted with message MariaD Помощь студентам 0 18.01.2014 10:55
Файлы.Выдает ошибку [Delphi] MariaD Помощь студентам 4 12.04.2013 23:58
Выдает ошибку Stream write error(delphi) KICK-BOXER Помощь студентам 2 06.04.2013 17:55
готовый проект в delphi!почему выдает ошибку??? solisoul Помощь студентам 2 17.01.2012 06:50
Excel 2007 и Delphi 7 выдает ошибку. 4sense Общие вопросы Delphi 6 16.03.2010 23:42