1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
TThreadedMsgEvent = class( TThread ) private FLock : TCriticalSection; FStr : TQueue<String>; FMemo : TMemo; function GetEvent : String; protected procedure Execute; override; public procedure AddEvent( aMsg : String ); constructor Create( AMemo: TMemo ); destructor Destroy; override; end; implementation { TThreadedMsgEvent } procedure TThreadedMsgEvent.AddEvent(aMsg: String); begin FLock.Acquire; FStr.Enqueue( FormatDateTime('DD/MM/YY HH:NN:SS.ZZZ',Now)+ ' : '+ aMsg ); FLock.Release; end; constructor TThreadedMsgEvent.Create(aMemo: TMemo); begin inherited Create(True); FreeOnTerminate := False; FOnMessage := ACallBack; FStr := TQueue<String>.Create(); FLock := TCriticalSection.Create; FMemo := aMemo; Resume; end; destructor TThreadedMsgEvent.Destroy; override; begin FreeAndNil( FStr ); FreeAndNil( FLock ); end; procedure TThreadedMsgEvent.Execute; begin while not Terminated do begin try if (FStr.Count > 0) then begin if Assigned( aMemo ) then begin TThread.synchronize( procedure begin FMemo.Lines.Add( GetEvent ); end; ); end; end; except end; TThread.Sleep(1); end; end; function TThreadedMsgEvent.GetEvent: String; begin FLock.Acquire; result := FStr.Dequeue; FLock.Release; end; |
From post found at: https://stackoverflow.com/questions/17506615/how-to-handle-log-in-a-threaded-manner-in-delphi
Tested on ubuntu 18.04 server The file /etc/issue.net is a text file which contains a message or system identification to be printed before the login prompt of a telnet session. It may contain various ‘%-char’ (or, alternatively, ‘\-char’) sequences. The common char for output some informations are:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
b Insert the baudrate of the current line. d Insert the current date. s Insert the system name, the name of the operating system. l Insert the name of the current tty line. m Insert the architecture identifier of the machine, e.g., i686. n Insert the nodename of the machine, also known as the hostname. o Insert the domainname of the machine. r Insert the release number of the kernel, e.g., 2.6.11.12. t Insert the current time. u Insert the number of current users logged in. U Insert the string "1 user" or "<n> users" where <n> is the number of current users logged in. v Insert the version of the OS, e.g., the build-date etc. |
If you want to display your IP Configuration…
Read more
Delphi Linux … create a background process… daemon service stay tuned https://chapmanworld.com/2017/04/05/creating-a-linux-daemon-service-in-delphi/ http://blog.paolorossi.net/2017/07/11/building-a-real-linux-daemon-with-delphi-part-1-2/ http://blog.paolorossi.net/2017/09/04/building-a-real-linux-daemon-with-delphi-part-2/
In collaboration with PegasoTeam we have just tested the fantastic Supermicro E50-9AP model with the newest version of Ubuntu server and desktop. The SYS-E50-9AP-WIFI if avilable on Synaptica shop at this link We took the Supermicro E50-9AP model with the intel 8265 wifi module supplied by Supermicro and we tested it thoroughly. The…
Read more
Through Apache it is possible to enable the compression of the contents before they are sent to the http client (browser generally), all this through the “mod_deflate” module. To enable the deflate module you need to run the “a2enmod deflate” command and restart the apache service. A very interesting thing is that this functionality is…
Read more
Per eseguire il “rewrite”, per redirigere tutte le richieste http ad https di un dominio e di tutti i suoi sottodomini è sufficiente abilitare il “rewriteEngine” e inserire la condizione di rewrite e la corrispondente regola. Nel seguente esempio il dominio “tuosito.com” e tutti i suoi sottodomini “*.tuosito.com” vengono rediretti verso i corrispondenti in https.…
Read more