Size: a a a

2020 December 24

RS

Renat Suleymanov in Delphi & Lazarus
Dmitry Belkevich
несколько демонов в одном бинаре? может как-то и можно. но к многпоточности это явно отношения не имеет
Ну если посмотреть код TDaemonMapper, то создается впечатление, как минимум, что этот класс создан для этого
источник

DB

Dmitry Belkevich in Delphi & Lazarus
почитал вики. да, похоже так и есть. однако вот к потокам насколько я понимаю отношение это все не имеет
источник

RS

Renat Suleymanov in Delphi & Lazarus
Еще подумал...
Думаю, смысл написанного вот в чем: TDaemon служит для возможности создания нескольких экземпляров[ служб/демонов], которые работают одновременно в одном процессе/приложении (и они [естественно] работают в разных потоках)
источник

DB

Dmitry Belkevich in Delphi & Lazarus
тогда уж TDaemonMapper ) и лучше как-то явно это написать
как они там работают для меня вообще пока загадка )
источник

Y

YuS in Delphi & Lazarus
Renat Suleymanov
Эм... То что очереди передачи нет в не-LCL приложениях это да. По поводу OnTerminate использую и в консольных и в обычных. Или я не так понял
Если есть обработчик очереди сообщений, то все норм. А если нет, то OnTerminate залипает в ожидании.
источник

RS

Renat Suleymanov in Delphi & Lazarus
YuS
Если есть обработчик очереди сообщений, то все норм. А если нет, то OnTerminate залипает в ожидании.
ВОт у меня вроде используется и в консольных без очереди сообебщений. Но надо перепроверить
источник

Е

Екатерина Константин... in Delphi & Lazarus
Всем здравствуйте! Кто-нибудь может помочь изобрать блок-схему? Код уже готов.
источник

М

Михаил in Delphi & Lazarus
Екатерина Константиновна
Всем здравствуйте! Кто-нибудь может помочь изобрать блок-схему? Код уже готов.
Какой курс?
источник

Е

Екатерина Константин... in Delphi & Lazarus
Второй
источник

Е

Екатерина Константин... in Delphi & Lazarus
Блок-схема по массиву
источник

М

Михаил in Delphi & Lazarus
Сессия горит да ?
источник

Е

Екатерина Константин... in Delphi & Lazarus
да-да 😄
источник

V

Vladislav Brezgin in Delphi & Lazarus
ъуъ
источник

V

Vladislav Brezgin in Delphi & Lazarus
че там на втором проходят?
источник

Е

Екатерина Константин... in Delphi & Lazarus
Массивы
источник

Е

Екатерина Константин... in Delphi & Lazarus
Дан массив, надо найти количество повторяющихся элементов
источник

V

Vladislav Brezgin in Delphi & Lazarus
лол
источник

Е

Екатерина Константин... in Delphi & Lazarus
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
 SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, Grids;

Const
 NMax = 10;


type
 TForm1 = class(TForm)
   StringGrid1: TStringGrid;
   Label1: TLabel;
   Button1: TButton;
   Button2: TButton;
   Label2: TLabel;
   Label3: TLabel;
   Label5: TLabel;
   Edit1: TEdit;
   Edit2: TEdit;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

 //объявление типа двумерного массива
 mas=array[1..NMax,1..Nmax] of Integer;

var
 Form1 : TForm1;

 A : mas;

implementation

{$R *.lfm}

//Изменить размерность матрицы ...
procedure TForm1.Button1Click(Sender: TObject);
Var
 i,r,c : Integer;
begin
 r:=StrToInt(Edit1.Text);
 If r>NMax Then r:=NMax;
 c:=StrToInt(Edit2.Text);
 If c>NMax Then c:=NMax;
 If ((r<1) Or (c<1)) Then
 Begin
   ShowMessage('Задайте нормальную размерность матрицы !!!');
   Exit;
 End;

 StringGrid1.ColCount:=c+1;
 StringGrid1.RowCount:=r+1;
 StringGrid1.Cells[0,0]:='Массив A';
 For i:=1 To r Do
 StringGrid1.Cells[0,i]:='i='+IntToStr(i);
 For i:=1 To c Do
 StringGrid1.Cells[i,0]:='j='+IntToStr(i);
end;

//Найти цифру, чаще всего встречающуюся в массиве...
procedure TForm1.Button2Click(Sender: TObject);
Var
 r,c,i,j,k : Integer;
 me : Integer;
 s : String;
 //Массив для подсчёта одинаковых цифр
 m : Array[0..9] Of Integer;
begin
 //Массив для подсчёта одинаковых цифр - очищаем
 For i:=0 To 9 Do m[i]:=0;

 r:=StringGrid1.RowCount-1; //Конечные индексы в таблице StringGrid
 c:=StringGrid1.ColCount-1;
 //Заполнение массива А элементами таблицы StringGrid1
 For i:=1 to r do
 For j:=1 to c do
 A[i,j]:=StrToInt(StringGrid1.Cells[j,i]);

 For i:=1 To r Do
 For j:=1 To c Do
 Begin
   s:=IntToStr(A[i,j]);
   //Считаем цифры в числе
   For k:=1 To Length(s) Do
   If (s[k] In ['0'..'9']) Then
   Inc(m[Ord(s[k])-Ord('0')]);
 End;

 //Выведем результата в Label...
 me:=0; k:=-1;
 For i:=0 To 9 Do
 If m[i]>me Then
 Begin
   me:=m[i];
   k:=i;
 End;
 If k=-1 Then Label5.Caption:='Ни одной' Else
 //Найдём все цифры, одинаково часто встречающиеся в массиве
 Begin
   s:=IntToStr(m[k])+' раза встречаются цифры: ';
   For i:=0 To 9 Do
   If m[i]=m[k] Then s:=s+IntToStr(i)+' ';
   Label5.Caption:=s;
 End;
End;
источник

Е

Екатерина Константин... in Delphi & Lazarus
код вот, простите за спам 😄
источник

V

Vladislav Brezgin in Delphi & Lazarus
о, вы графические приложения пишете, прикольно
источник