Slym
Пользователи-
Постов
180 -
Зарегистрирован
-
Посещение
-
Победитель дней
39
Весь контент Slym
-
без тестового проекта и файла... даже сравнить не с чем.
-
Скорость анимации сцены с большим количеством деталей
Slym ответил sulion вопрос в Скорость анимации
о... да мы меряемся? на 1000: 250-333fps как тебе такое Sulion 10000... fps3.zip -
Скорость анимации сцены с большим количеством деталей
Slym ответил sulion вопрос в Скорость анимации
А зачем постоянно bringtofront? одного раза не достаточно? там реально медленно... я полагаю нужна глубина сцены? многие ее делают слоями: дальний фон (горы), ближний фон (лес), сцена (персы), и воздух (падающий снег) кидаем 4 лейаута и на них распределяем спрайты -
Скорость анимации сцены с большим количеством деталей
Slym ответил sulion вопрос в Скорость анимации
Загружать картинки не в Stream а в битмап сразу source.zip 1000 -
Не красиво! Красиво: procedure TForm1.Button5Click(Sender: TObject); const s='18:C0:4D:7E:E6:B2'; // MAC адрес сетевой платы var Data:string; Bytes:TBytes; IdUDPClient1:TIdUDPClient; begin Data:=''; for var bt in s.Split([':']) do Data:=Data+chr(StrToInt('$'+bt)); for var i:=0 to 3 do Data:=Data+Data; Data:=StringOfChar(#$FF,6)+Data; Bytes:=TEncoding.ANSI.GetBytes(Data); IdUDPClient1:=TIdUDPClient.Create(nil); try IdUDPClient1.SendBuffer('40.240.8.50',9, TIdBytes(Bytes)); finally IdUDPClient1.Free; end; end;
-
Плохая идея организовывать протокол на задержках (delay) в системах с вытесняющей многозадачностью. Только разделители (csv, json, PChar(#0)) или префиксы длины (http Content-Length) или жесткий фиксированный размер (packed record). Человеsleep(1000)ко читаеsleep(1000)мый теsleep(1000)кст - каково тебе И и ии ии ииилон мм мма мммааа...
-
Result := MemStream.ReadComponent(nil);
-
еслиб не "из DFM" то class helper подошел бы: TFDParamHelper = class helper for TFDParam public function AsInt64: int64; end; я бы еще и алиасов наделал.... type TUniParam = TFDParam; но "из DFM" это не катит...
-
Проблема в том что ты убиваешь вкладку на которой кнопка выполняет свой клик... т.е. кнопка убивает себя из под себя... На до убийство сделегировать, например основному потоку через TThread.ForceQueue procedure TfrMain.TabClose(Sender: TObject); var activetab : Integer; begin activetab:=((Sender as TControl).Parent as TControl).Parent.Index; Thread.ForceQueue(nil, procedure begin TabControl1.Delete(activetab); end); end;
-
открывай файл на запись и держи можешь туда pid записать для контроля
-
Я вот давно уже делаю все на фреймах... Одно главное окно и кучка фреймов в рамках этого окна, даже ShowMessage - кастомный фрейм, даже некоторые TabItemы с фреймом. есть моменты где глубина вложенности фреймов доходит 4 (Окно, фрейм, вкладки с фреймами, под вкладки , фрейм с диалогом) Анимированную прозрачность фрейма - легко: там есть Opacity, TAnimator.AnimateFloat(Frame,'Opacity',1,1); Окна чуть сложнее... Масштаб - TScaledLayout
-
procedure TForm1.Button1Click(Sender: TObject); var Form2:TForm2; h,w,l,t:integer; begin Form2:=TForm2.Create(nil); try h:=Form2.Height; w:=Form2.Width; l:=Form2.Left; t:=Form2.Top; Form2.Height:=1; Form2.Width:=1; Form2.Left:=l+ (w div 2); Form2.Top:=t+ (h div 2); TAnimator.AnimateInt(Form2,'Height',h,1); TAnimator.AnimateInt(Form2,'Width',w,1); TAnimator.AnimateInt(Form2,'Left',l,1); TAnimator.AnimateInt(Form2,'Top',t,1); Form2.ShowModal; finally Form2.Free; end; end; "В лоб" как-то так
-
не проверял... type TSpinBoxAccess=class(TSpinBox); procedure TForm1.FormCreate(Sender: TObject); begin TSpinBoxAccess(SpinBox1).Model.InputSupport:=false; end;
-
AValues[0] - нулевого элемента может и не быть...
-
GPT-4 write in topic "Тема парсинья человеков": Распарсить всех кожаных ублюдков!
-
type TForm2 = class(TForm1) у тебя форма 2 наследуется от формы 1... и все что есть на 1 будет и на 2... type TForm2 = class(TForm) - наследование от базового класса
-
константы без кавычек ключ в uses FireDAC.Stan.Consts
-
заметь - ругается на сетевое подключение... либо порт либо ip неправильно указаны... мой uses FireDAC.Comp.Client, FireDAC.Comp.DataSet, FireDAC.Stan.Def, FireDAC.Stan.Param, FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.Stan.Consts, FireDAC.Stan.Async, FireDAC.DApt, FireDAC.Phys, FireDAC.Phys.Intf, FireDAC.Phys.FB, FireDAC.Phys.FBDef, FireDAC.Phys.IBBase; Params.Values['S_FD_ConnParam_IB_Protocol']:='TCPIP'; Params.Values['S_FD_ConnParam_Common_Server']:='*********'; Params.Values['S_FD_ConnParam_Common_Port']:='***'; константы без кавычек ключ в uses FireDAC.Stan.Consts
-
const DriverName='FB'; ... FConnection.DriverName:=DriverName; with FConnection do begin Params.Database:= 'Database'; Params.UserName := 'UserName'; Params.Password := 'Password'; Params.Values[S_FD_ConnParam_IB_Protocol]:='TCPIP'; Params.Values[S_FD_ConnParam_Common_Server]:=Server; Params.Values[S_FD_ConnParam_Common_Port]:=Port; Params.Values[S_FD_ConnParam_IB_SQLDialect]:='3'; Params.Values[S_FD_ConnParam_IB_RoleName]:=Role; Params.Values[S_FD_ConnParam_Common_CharacterSet]:=CharacterSet; end; FConnection.Connected:=true;
-
const DriverName='FB'; var DriverLink:TFDPhysDriverLink; begin FDPhysManager().Open; DriverLink:=FDPhysManagerObj.FindDriverLink(DriverName); if not assigned(DriverLink) then DriverLink:=TFDPhysFBDriverLink.Create(nil); if DriverLink.DriverState<TFDPhysDriverState.drsLoaded then begin {$IFDEF MSWINDOWS} DriverLink.VendorHome:= ''; DriverLink.VendorLib:= ExtractFilePath(ParamStr(0))+'fbclient.dll'; {$ENDIF} {$IF DEFINED(iOS) or DEFINED(ANDROID)} DriverLink.VendorHome:= ''; DriverLink.VendorLib:= IncludeTrailingPathDelimiter(TPath.GetDocumentsPath) + 'libfbclient.so.4.0.0'; {$ENDIF} if FileExists(DriverLink.VendorLib) then DriverLink.DriverIntf.Load; end;
-
В лоб TList<Rec>, но говоришь большой список? память не резиновая - может надо класть на диск например в БД, и работать с Dataset
-
uses Winapi.Windows;