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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2019, 12:22   #211
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
я бы ещё отказался от использования ord
особенно учитывая что мы здесь заменили тип используемых данных boolean --> TEnumSex =(t_man, t_woman)
и скорее всего получили неверную формулу по следующей причине
ord(false) <> ord(t_woman)
ord(true) <> ord(t_man)
Я почему то пропустил это сообщение...сейчас занят другими делами, но через пару месяцев вернусь и буду все переделывать по вашим советам, спасибо
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 18.11.2019, 01:30   #212
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Цитата:
Сообщение от anaschu Посмотреть сообщение
Я почему то пропустил это сообщение...сейчас занят другими делами
я то вернулся. но:
1. решил другую среду программирования юзать. Яву эни лоджик
2. решил все таки доделывать кандидатскую с какого то фига. че это на меня нашло...так что людьми пока не буду заниматься.
так что тут пока меня не будет, наверное
.
да и вроде придумал как сделать тест юниты получше
https://www.youtube.com/watch?v=AzZmbwog4Us
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 09.12.2019, 13:18   #213
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

https://youtu.be/SYqbtF_Bsfk
https://youtu.be/afRBllwkAZY
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 30.12.2019, 00:22   #214
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

если у кого есть время, читканите. вот что меня интересует:
Достаточно ли полно изложены принципы и методы исследования для того, чтобы мои результаты были однозначно понятны и могли бы быть независимо вами проверены ?
Можете ли вы создать программу по этому описанию?

ну и самое главное- если что то непонятно, скажите, что.

https://vk.com/doc7865517_531313457?...343f64172729bc
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 28.09.2020, 23:03   #215
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

К уроку 3.
Структура проекта

https://helpiks.org/8-98648.html
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 02.10.2020, 11:09   #216
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Код к урокам 1-2 из ютуба

1: заполнение таблицы

Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.StdCtrls;

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 i, j: Integer;
 res:integer;
begin
StringGrid1.RowCount:=10;
StringGrid1.ColCount:=10;
i:=0;
j:=0;
// Создаем объекты клеток.
  Randomize;
   begin
  for i := 0 to StringGrid1.RowCount-1 do
      begin
        for j := 0 to StringGrid1.ColCount-1 do
          begin
         StringGrid1.Cells[i, j]:=inttostr(Random(10));
          end;
      end;
   end;


end;

end.
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками

Последний раз редактировалось anaschu; 02.10.2020 в 11:13.
anaschu вне форума Ответить с цитированием
Старый 02.10.2020, 11:14   #217
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Тоже полный код о том, как выбрать максимальное число в окрестностях центральной клетки

Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.StdCtrls;

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 i, j: Integer;
 res:integer;
begin
StringGrid1.RowCount:=10;
StringGrid1.ColCount:=10;
i:=0;
j:=0;
// Создаем объекты клеток.
  Randomize;
   begin
  for i := 0 to StringGrid1.RowCount-1 do
      begin
        for j := 0 to StringGrid1.ColCount-1 do
          begin
         StringGrid1.Cells[i, j]:=inttostr(Random(10));
          end;
      end;
   end;


   // находим максимальное значение


i:=0;
j:=0;


res:=0;

    for i := 3 to 5 do
      for j := 3 to 5 do
        begin
         if (i<>4) and (i<>4) then
         if res<strtoint(StringGrid1.Cells[i, j]) then  res:= strtoint(StringGrid1.Cells[i, j]);
        end;
   // собираем массив возможных


end;

end.
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 02.10.2020, 11:26   #218
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

ДЛя процедуры кликанья на клетку выбираем на форме стринггрид, потом в инспекторе обьектов Events, а в них SelectCell, туда пишем следующий код:

var

Resources: String;
begin
Resources := StringGrid1.Cells[ACol, ARow];Label1.Caption:='Число ресурсов: '+ Resources + ' MaxRes = ' + IntToStr(MaxRes);
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 02.10.2020, 15:11   #219
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

что вообще должно быть перед третьим уроком

Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    StringGrid1: TStringGrid;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);

   
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  maxRes:integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 i, j: Integer;
 res:integer;
begin
StringGrid1.RowCount:=10;
StringGrid1.ColCount:=10;
i:=0;
j:=0;

// Создаем объекты клеток.
  Randomize;
   begin
  for i := 0 to StringGrid1.RowCount-1 do
      begin
        for j := 0 to StringGrid1.ColCount-1 do
          begin
         StringGrid1.Cells[i, j]:=inttostr(Random(10));
          end;
      end;
   end;


 // находим максимальное значение


i:=0;
j:=0;


res:=0;

    for i := 3 to 5 do
      for j := 3 to 5 do
        begin
         if (i<>4) and (i<>4) then
         if res<strtoint(StringGrid1.Cells[i, j]) then  res:= strtoint(StringGrid1.Cells[i, j]);
          end;
maxRes:=res;

end;




procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
  var
  text: string;
begin
  StringGrid1.Canvas.Brush.Color:=clRed;
  if ((ACol=4)and(ARow=4) and (StringGrid1.Cells[ACol, ARow]<>'')) then
    StringGrid1.Canvas.FillRect(Rect);
  if StringGrid1.Cells[ACol, ARow] = '' then exit;

  if (abs(ACol - 4) <= 1) and (abs(ARow-4) <= 1) and ((Acol <> 4) or (ARow<>4))
     and (StrToInt(StringGrid1.Cells[ACol, ARow]) = maxRes) then begin
       StringGrid1.Canvas.Brush.Color:=clGreen;
       StringGrid1.Canvas.Font.Color := clWhite;
       StringGrid1.Canvas.FillRect(Rect);
       text := StringGrid1.Cells[ACol, ARow];
       DrawText(StringGrid1.Canvas.Handle,
       PChar(text), Length(text), Rect, DT_CENTER or DT_VCENTER or DT_SINGLELINE);
     end;

end;

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
var

  Resources: String;
begin
Resources := StringGrid1.Cells[ACol, ARow];
Label1.Caption:='Число ресурсов: '+ Resources + ' MaxRes = ' + IntToStr(MaxRes);

end;

end.
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 23.10.2020, 16:49   #220
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

https://www.youtube.com/watch?v=Fqgk0wCqZ4Q

https://www.youtube.com/watch?v=Fqgk0wCqZ4Q

Код:
unit Unit1;


interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.StdCtrls;

type
//нам нужен экзист как метка для покраски клетки
  Inside=record
    resurse:Integer;
    exist : Boolean;
  end;

  TField = record // это будет передавать параметры в стринггрид1
    private
    FWidth: Integer; // Ширина поля в клетках
    FHeight: Integer; // Высота поля в клетках
  end;

  TForm1 = class(TForm)
    Button1: TButton;
    StringGrid1: TStringGrid;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure FieldCreate(Width, Height: Integer);
    procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure getMax();



  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  maxRes:integer;
  FArea: array of array of Inside;

implementation

{$R *.dfm}

procedure TForm1.getMax();
var
i,j,res:integer;
begin

res:=0;

    for i := 3 to 5 do
      for j := 3 to 5 do
        begin
         if (i<>4) and (i<>4) then
         if res<Farea[i, j].resurse then  res:= Farea[i, j].resurse;
         Farea[i, j].exist:=True;
          end;
maxRes:=res;
end;

procedure TForm1.FieldCreate(Width, Height: Integer);
var
  i, j: Integer;
  cell:Inside;
  begin
    Randomize;
    // Задаем размер массива FCells.
    SetLength(FArea, Width,Height);
    // Создаем объекты клеток.
    for i := 0 to Width - 1 do begin
      for j := 0 to Height - 1 do begin
        FArea[i, j].Resurse := Random(10);
        FArea[i, j].exist:=False;
      end;
    end;

  end;




procedure TForm1.Button1Click(Sender: TObject);
var
 i, j: Integer;
 res:integer;
begin
StringGrid1.RowCount:=10;
StringGrid1.ColCount:=10;
i:=0;
j:=0;
FieldCreate (StringGrid1.RowCount,StringGrid1.ColCount);

// Создаем объекты клеток.

   begin
  for i := 0 to StringGrid1.RowCount-1 do
      begin
        for j := 0 to StringGrid1.ColCount-1 do
          begin
            StringGrid1.Cells[i, j]:= inttostr(FArea[i, j].Resurse);
          end;
      end;
   end;


 // находим максимальное значение


i:=0;
j:=0;
getMax();




end;




procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
  var
  text: string;
begin
  StringGrid1.Canvas.Brush.Color:=clRed;
  if ((ACol=4)and(ARow=4) and (StringGrid1.Cells[ACol, ARow]<>'')) then
    StringGrid1.Canvas.FillRect(Rect);
  if StringGrid1.Cells[ACol, ARow] = '' then exit;

  if (abs(ACol - 4) <= 1) and (abs(ARow-4) <= 1) and ((Acol <> 4) or (ARow<>4))
     and (FArea[ACol, ARow].Exist = True) then begin
       StringGrid1.Canvas.Brush.Color:=clGreen;
       StringGrid1.Canvas.Font.Color := clWhite;
       StringGrid1.Canvas.FillRect(Rect);
       text := StringGrid1.Cells[ACol, ARow];
       DrawText(StringGrid1.Canvas.Handle,
       PChar(text), Length(text), Rect, DT_CENTER or DT_VCENTER or DT_SINGLELINE);
     end;

end;

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
var

  Resources: String;
begin
Resources := StringGrid1.Cells[ACol, ARow];
Label1.Caption:='Число ресурсов: '+ Resources + ' MaxRes = ' + IntToStr(MaxRes);

end;

end.
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
построение клеточного автомата в Excel olgafirst Помощь студентам 0 02.04.2014 00:26
Математическая модель "Автосервис" pro100saniok Помощь студентам 4 24.05.2012 18:31
Меня раздражают наши "звезды", которые считают себя сливками общества... grenles Свободное общение 53 16.02.2011 11:16
Стоит ли покупать видеокурс О.Л.Соколова, Видеокурс О.Л.Соколова "Проф.хакер" arkad-167 Помощь студентам 1 27.02.2010 10:32
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49