Суббота, 08.08.2026, 04:10

Soft

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Поиск
Календарь
«  Август 2026  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31
Архив записей
Меню сайта
  • ГЛАВНАЯ СТРАНИЦА
  • Информация о сайте
  • Гостевая книга
  • Обратная связь
  • Скрытые папки
  • Как отключить интернет
  • Использование ярлыков
  • Строительство дома
  • Как обшить сайдингом дом
  • Одна печь на два этажа
  • Submit Software-Софт
  • Самоловка на Щуку
  • Самый лучший способ выращивания картофеля
  • Обыкновенные дроби. Задачи
  • Задачи с решением
  • Экономика. Цифровая валюта
  • Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Погода на карте
  • Online TRANSLATOR
  • Здесь всё есть
    Come here
  • ДНР
  • ЛНР
  • Проигрыватель
    Media Player Classic
  • K-Lite Codec Pack
  • FastStone
    Просмотрщик изображений
  • Обновление для MS Office 2003
    Позволяющий открывать документы .docx версий 2007 и 2010
  • Soft 9
  • Геодезический калькулятор

  • Самоловка на Щуку

    Самый лучший способ выращивания картофеля

    Вычислитель



    unit Unit1;

    interface

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

    type
    TForm1 = class(TForm)

    Memo1: TMemo;
    Edit1: TEdit;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Edit2: TEdit;
    Edit3: TEdit;
    Timer1: TTimer;
    Label1: TLabel;
    Button1: TButton;
    procedure Button2Click(Sender: TObject);
    procedure FormShortCut
    (var Msg: TWMKey; var Handled: Boolean);
    procedure Button3Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    //Создаём Form2 Окно "Справка"
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if not Assigned(Form2) then begin

    Form2:=tform2.Create(self);
    form2.Show;
    end;
    end;
    //Делаем вычесление
    procedure TForm1.Button2Click(Sender: TObject);
    var
    r1,r2,r3,r4:real;//extended;
    s1,s2,s3,s4,s5:string;
    g1,k1:integer;
    begin

    //Переменой S1 Присваивоем edit1.Text
    s1:=edit1.Text;
    s2:=edit2.Text;
    s3:=edit3.Text;

    //Считаем количество символов переменой s1
    g1:= length(s1);

    //Защита
    if g1=0 then begin

    //Появление надписи
    label1.Visible:=true;

    //Запускаем таймер
    //Надпись появляется на 3 секунды
    timer1.Enabled:=true;exit;end;
    //exit-выход из процедуры

    //Защита
    if g1=1 then if (s1[1]='0')or(s1[1]='-')then
    begin
    //Появление надписи
    label1.Visible:=true;
    timer1.Enabled:=true;exit;end;

    //Разрешаем в edit1.Text
    //появление только цифр
    for k1 := 1 to g1 do begin

    //Исключает ввод лишнего минуса
    if (k1>1)and(s1[k1]='-')then
    begin
    //Появление надписи
    label1.Visible:=true;
    timer1.Enabled:=true;exit;end;

    //В первом окне вводим только цифры
    if(s1[k1]<>'1')and(s1[k1]<>'2')
    and(s1[k1]<>'3')and(s1[k1]<>'4')
    and(s1[k1]<>'5')and(s1[k1]<>'6')
    and(s1[k1]<>'7')and(s1[k1]<>'8')
    and(s1[k1]<>'9')and(s1[k1]<>'0')
    and(s1[k1]<>'-')and(s1[k1]<>',')
    then begin
    //Появление надписи
    label1.Visible:=true;
    timer1.Enabled:=true;exit;end;
    end;

    //Считаем количество символов переменой s2
    g1:= length(s2);
    if g1>1 then begin label1.Visible:=true;
    timer1.Enabled:=true;exit;end;

    // Во втором окне вводим только знаки + - * /
    if(s2<>'+')and(s2<>'-')and(s2<>'*')
    and(s2<>'/')
    then begin
    label1.Visible:=true;timer1.Enabled:=true;
    exit;end;

    //Считаем количество символов переменой s3
    g1:= length(s3);
    if g1=0 then begin
    label1.Visible:=true;
    timer1.Enabled:=true;exit;end;

    if g1=1 then if (s3[1]='0')or(s3[1]='-')then
    begin label1.Visible:=true;
    timer1.Enabled:=true;exit;end;

    //Разрешаем в edit1.Text
    //появление только цифр
    for k1 := 1 to g1 do begin

    //Исключает в вод лишнего минуса
    if (k1>1)and(s3[k1]='-')then
    begin
    label1.Visible:=true;timer1.Enabled:=true;
    exit;end;

    //В третьем окне вводим только цифры
    if(s3[k1]<>'1')and(s3[k1]<>'2')
    and(s3[k1]<>'3')and(s3[k1]<>'4')
    and(s3[k1]<>'5')and(s3[k1]<>'6')
    and(s3[k1]<>'7')and(s3[k1]<>'8')
    and(s3[k1]<>'9')and(s3[k1]<>'0')
    and(s3[k1]<>'-')and(s3[k1]<>',')
    then begin
    label1.Visible:=true;timer1.Enabled:=true;
    exit;end;
    end;

    //Преобразуем цифровой текст в число
    r1:=strtofloat(s1);
    r3:=strtofloat(s3);

    if s2[1]='+' then r4:=r1+r3; //Сложение
    if s2[1]='-' then r4:=r1-r3; //Вычитание
    if s2[1]='/' then r4:=r1/r3; //Деление
    if s2[1]='*' then r4:=r1*r3; //Умножение

    //Преобразуем число в текст
    s4:=floattostr(r4);

    //Собираем строку
    s5:=s1+s2+s3+'='+s4;

    //Добавляем строку снизу в memo1
    memo1.Lines.Add(s5);
    end;

    //Стереть текст
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    edit1.Clear;edit2.Clear;edit3.Clear;
    end;

    procedure TForm1.Button4Click(Sender: TObject);
    begin
    memo1.Clear; //Стереть текст
    end;

    //Событие - Работа клавишами
    procedure TForm1.FormShortCut
    (var Msg: TWMKey; var Handled: Boolean);
    begin

    //нажать клавишу F1
    if msg.CharCode=$70 then begin handled:=true;
    edit1.SetFocus end; //Окно edit1 делаем активным

    //нажать клавишу F2
    if msg.CharCode=$71 then begin handled:=true;
    edit2.SetFocus end;//Окно edit2 делаем активным

    //нажать клавишу F3
    if msg.CharCode=$72 then begin handled:=true;
    edit3.SetFocus end; //Окно edit3 делаем активным

    //нажать клавишу F4 -
    //программно нажать кнопку РЕЗУЛЬТАТ
    if msg.CharCode=$73 then begin handled:=true;
    // Програмно включаем кнопку
    Button2Click(self);
    end;

    //нажать клавишу F5 -
    //программно нажать кнопку Стереть3
    if msg.CharCode=$74 then begin handled:=true;
    Button3Click(self);
    end;

    //нажать клавишу F8 -
    //программно нажать кнопку Стереть
    if msg.CharCode=$77 then begin handled:=true;
    Button4Click(self);
    end;
    end;

    //Запускается таймер
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    label1.Visible:= false;
    timer1.Enabled:=false;//Выключаем таймер
    end;
    {Запускается таймер из любой процедуры.
    Таймер включается через определёный
    интервал, затем выполняется код в
    процедуре таймера, выключается и через
    определёный интервал снова включается.
    Таймер будет работать пока мы его не выключим.}

    end.

    //Окно справка
    unit Unit2;

    interface

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

    type
    TForm2 = class(TForm)
    Image1: TImage;
    Memo1: TMemo;
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form2: TForm2;

    implementation

    {$R *.dfm}

    end.