Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 06/26/21 in all areas

  1. Hello all, I've seen discussions about how to properly receive binary packets through the network. I even had my share of mistakes with my first implementation so I decided to create a class to do the heavylifting: receiving data chunks and assembling the packets. Feel free to use, improve and build upon. Keep in mind that 1, Packet is referred to the data sent by the client, not TCP packets! 2, The code is NOT thread safe! 3, Memory allocation is inefficient and can be improved. In my case (really low amount of packets) it's not an issue but the internal data storage easily can be replaced with a stream for example uBinaryPacket.pas
  2. corneliusdavid

    save all item from listview with DynamicAppearance

    procedure TForm1.MenuItem1Click(Sender: TObject); var I: integer; list: TStringList; AItem1: TListViewItem; begin list := TStringList.Create; for I := 0 to ListView1.Items.Count - 1 do begin AItem1 := ListView1.Items[I]; name := AItem1.Data['Text1'].AsString; phone := AItem1.Data['Text2'].AsString; index := AItem1.Data['Text3'].AsString; list.Add(name + sLineBreak + phone + sLineBreak + index + sLineBreak); end; list.SaveToFile('C:\Users\Gt\Desktop\TestContactBack.vcf'); list.Free; end; You don't need ListView1ItemClick at all for this.
  3. You use the same code for Android, except you can only write the file to certain places.
  4. Alexander Sviridenkov

    Need suggestion on developing a custom component

    Zero lines of Delphi code, just one HtPanel: (artefacts on video are from GIF compression) HTML: <style> body {padding: 20px} td {height: 20px; resize: horizontal} .gauge1 {background: linear-gradient(to bottom, steelblue, blue);} .gauge2 {background: linear-gradient(to bottom, lightgreen, green);} </style> <table width="800"> <tr> <td width="50%"> <table width="100%"> <tr> <td class="gauge1" width="70%"></td> <td class="gauge2"></td> </tr> </table> </td> <td> <table width="100%"> <tr> <td class="gauge1" width="70%"></td> <td class="gauge2"></td> </tr> </table> </td> </tr> <tr> <td> <table width="100%"> <tr> <td class="gauge1" width="70%"></td> <td class="gauge2"></td> </tr> </table> </td> <td> <table width="100%"> <tr> <td class="gauge1" width="70%"></td> <td class="gauge2"></td> </tr> </table> </td> </tr> </table>
  5. Malcolm

    Smartinspect status

    Hi, that's a fair question and one I have asked myself a bit over the last 6 months. The short version is that the core of it is ready to go. I saw an updated cut of the docs checked in last night, so I'll be reviewing them today. That basically leaves some installer changes and then we can release. For those who care about why it has taken so long, I feel I owe an explanation. It mostly hasn't been technical issues. We did have a couple of subtle unicode bugs that took us awhile to squash, but that was solved quite awhile ago. Most of the issues that have delayed us have been non-technical. I think most of you don't need me to tell you that the last year has been a stressful time. We had a couple of major services customers get hit by issues with developers unavailable due to covid, which put extra strain on our resources. Further, the main developer that is working on smartinspect hit some serious burnout and stress related mental health issues and I took a decision to give him the space he needed to work through them. He was already feeling guilty about not delivering on time, and this added to the background-level of anxiety he was already struggling with around covid. He didn't need me also riding him about missing dates. So, ultimately the delay is on me. As I said in an earlier post on our site, nobody who's subscription was current when we took over will be out of pocket. We paused the clock on active subscriptions on the day we acquired it, and we'll restart the clock on the day we release. However I do understand the frustration, and I apologize for it. We're doing our best to fix it. Cheers Malcolm
×