На своём канале я буду выкладывать видео для новичков по языкам программирования и работой с 2D-3D графикой. 1. Delphi, C++, Python, JavaScript, HTML, CSS; 2. Базы данных SQL, InterBase; 3. 3D MAX, AutoCad.
Good job ,sir. Please make video , how to migrate a database From Interbase to Firebird. I have already programmed using Firedac , But it is verry slow. the size of the database is only 200 Mega byte.
У меня пока 12 версия. Официалы сказали, что будет очень крутое обновления C++ и по этому пока кросплотформы отключили. А так FMX для Linux скачиваете с их магазина и все работает. Правда нужна RAD Studio, если я не ошибаюсь.
Хорошо бы поля перевести в private или даже в strict private. Показать объявление property, методы сеттеры или геттеры. И правильнее использовать Free для уничтожения, а не Destroy
Да. Это будет правильно. Но я записываю ролики не для тех кто уже знает Delphi. До свойств, полей и зачем они нужны, запишу отдельный ролики и метод free так же будет в следующих роликах так как нужно показать различие от destroy.
Здравствуйте. Спасибо за видео. Я правильно понимаю, что использование Resources and Images позволяет упаковать все ресурсы в один *.exe файл и при этом не будет необходимости держать рисунки в какой-либо отдельной папке? Например, то же самое можно было сделать, поместив на форму TImage, связав с ним картинку через Picture Editor, и делать её видимой или не очень в зависимости от нажатия на кнопку, но при этом файл картинки должен где-то болтаться отдельно.
@@delcpy let me say at 1st that your Video is good as a Demo to demonstrate VCL-Themes, my Expierence leading to my Question about writing it in a threadsafe Manner - if your App is connected to Internet - then it is better to synchronize accessing the Combobox in case you are choose (click) a theme of this list. Your App is getting easy deadlocked in this Case.
I post videos without unnecessary code so that people can understand the very principle of work. I will definitely shoot a video about the streams when there will be more time.
Привет автор! Только увидел твой канал и сразу же подписался! Спасибо большое за видео! Просьба, накидай видео про потоки в разных вариациях пожалуйста! Очень хочу посмотреть!
Спасибо Вам за очередной видос. Здесь Вы затронули интересную для меня тему - работы с pdf-файлами, а вернее их распечатки. Давно хотел для себя написать программу для распечатки таких файлов, чтобы она сохраняла позицию при распечатке и при желании можно было вернуться и печатать. В связи с чем у меня просьба к Вам. В тему данного ролика, как можно реализовать средствами Делфи привью документа в окне настройки печати? Можно этой теме посвятить последующий ролик? Спасибо!
Thanks for the video, had a friend needing to learn about this INDY whois component. I'm sure the video will assist him. Keep up the good work keep making more videos on Delphi. :)
Some other socket libraries ill mention for you would be NetCom7 Sockets .... these sockets are not like INDY. INDY sockets are Blocking sockets and are really bad at handling say for example 300,000 Connections. Web based sockets like Mormot and Mormot2, and NetCom7 (even though its not web based) do not spawn a "Thread" per connection instead they use what is called Thread pooling which is a non-expensive way of handling thousands of simultaneous socket connections. Nice Video you did great at broadcasting a message out to multiple clients :) Try and take it even further by keeping a list of clients in memory and assign them each a unique ID. Here is an example: (define a class for the incoming client socket connection) TYPE Clientinfo = class(TIdserverContext) public Client_ID: string; end; On FormCreate: self.ServerSocket.ContextClass := Clientinfo; //Setting up the client with a unique ID when they connect to your TCP server do like this Clientinfo(AContext).Client_ID := 'Unique CLIENT ID'; // needs to be something truly unique //sending to ALL clients (as you did in this video) procedure BroadcastToAll(Datatosend: string); var List: TList; Index: Integer; begin List := Form1.ServerSocket.Contexts.LockList; try for Index := 0 to List.Count - 1 do begin with TIdContext(List[Index]).Connection.IOHandler do begin WriteLn(Datatosend); end; end; finally Form1.ServerSocket.Contexts.UnlockList; end; end; //Sending to ONE specific client using the client ID Procedure SendDataToClient(TheClientID: string; Datatosend: string); var List: TList; Context: Clientinfo; I: Integer; begin List := Form1.ServerSocket.Contexts.LockList; try for I := 0 to List.Count - 1 do begin Context := Clientinfo(List[I]); if Context.Client_ID = TheClientID then begin try Context.Connection.IOHandler.WriteLn(Datatosend); except end; Exit; end; end; finally Form1.ServerSocket.Contexts.UnlockList; end; end; //when the Client disconnects from the server you must handle accordingly so on TCPServer Disconnect event... procedure TForm1.ServerSocketDisconnect(AContext: TIdContext); begin //any code here to remove client from listviews or other components... //or just print out that they disconnected! end; Sorry for the long post I hope you find this code useful.