Jump to content

Sherlock

Moderators
  • Content Count

    1198
  • Joined

  • Last visited

  • Days Won

    24

Posts posted by Sherlock


  1. @Rollo62Consider the amount of data processed at CERN according to https://home.web.cern.ch/science/computing they process more than 30PB a year. Another example may come from Astrophysics' EHT with enormous data https://eventhorizontelescope.org/technology  gathered simultaneously all over the world and then correlated in Bonn and at MIT. Off the top of my head just two examples with really high volume data. I learned not to question the why...the who might be interesting though, if the OP may reveal it.

    In the end 300 Billion Bits are a mere 37,5 Gigabytes, BTW.


  2. Just out of curiosity: What kind of software are you developing and what kind of customers do you have, that causes them to check if your software runs on a more or less early beta of iOS? Most customers I know of, don't care about the installed iOS version and aren't even aware of impending new ones.


  3. Well, usually a new iOS version strangely precedes a new Delphi release. I would not count on anything other than the beta of said release to maybe fix that issue beforehand.


  4. On the other hand, it is a rather low level component and implementing asynchronous communication involves a lot of ground work. May I suggest moving on to the more powerful components like the Indy or the ICS components. And from the sound of it I think you might want to go with the ICS.


  5. Hi 😉

    So over here I found one thread concerning System.Net.Socket. Sadly there is no use of AsyncCallback in there:

    But it looks pretty straight forward to me: implement either callback event handler or method and use that as a parameter for BeginReceive. What is your code so far, and where do you get errors/are you stuck?


  6. OK, so it's a locale settings issue. Apparently the DUnitX tests do something to the date format, that catch this. As soon as I use my native german date format, it works. Hrmpf

    [TestCase('Test Do-Sa', '22.06.2023 17:44:23.456, 24.06.2023 17:44:23.456, 0')]

     

    And @Der schöne Günther I will do just that then. Thank you!


  7. As the title says, I'm having trouble with running a unit test to test dates. So here is my test:

      [TestFixture]
      TMyTestClass = class
      public
    
        [Test]
        // Test with TestCase Attribute to supply parameters.
        [Test]
        [TestCase('Test Thu-Sat', '2023-06-22 17:44:23.456, 2023-06-24 17:44:23.456, 0')]
        [TestCase('Test Thu-Sun', '2023-06-22 17:44:23.456, 2023-06-25 17:44:23.456, 1')]
        procedure Test(const AValue1: TDateTime; const AValue2: TDateTime; const AExp: Integer);
      end;
      
    procedure TMyTestClass.Test(const AValue1, AValue2: TDateTime; const AExp: Integer);
    begin
      Assert.IsTrue(Unit34.CheckForDates(AValue1, AValue2) = AExp);
    end;

    Now when I run this it alwas behaves as though the dates are not translated correctly. And sure enough the debugger says both AValues are 1899. When I run DUnitXs own Test - specifically the DUnitX.Tests.Example.pas the date there gets translated just fine. And the keen eye might notice the same time in my code as in DUnitXs...I copied and only changed the date. What am I doing wrong?

     


  8. @mvanrijnen Ooh, that is cool. And easy enough to convert to Delphi:


     

    Quote

     

    
    function CheckForSundays(StartDate, EndDate: TDateTime): Integer;
    begin
      // (DaysBetween(D2, D1) div 7) + ifthen(DayOfTheWeek(D1)=daySunday,1,0) ) + ifthen(DayOfTheWeek(D2)=daySunday,1,0)
      Result := (DaysBetween(EndDate, StartDate) div 7) - IfThen(StartDay = EndDay, 1, 0);
      Result := Result + IfThen(DayOfWeek(StartDate) = 1, 1, 0);
      Result := Result + IfThen(DayOfWeek(EndDate) = 1, 1, 0);
    
    end;

     

     

     

    IfThen being in System.Math and DaysBetween in System.DateUtils.

     

    Edith has fixed extra sundays counted.


  9. uses System.DateUtils;
    
    function CheckForSunday(StartDate, EndDate: TDateTime): Boolean;
    var
      StartDay: Integer;
      EndDay: Integer;
    begin
      Result := Daysbetween(StartDate, EndDate) >= 7;
      if not Result then
      begin
        StartDay := DayofWeek(StartDate);
        EndDay := DayofWeek(EndDate);
        if (StartDay <= EndDay) then
        begin
          Result := (1 >= StartDay) and (1 <= EndDay)
        end
        else
          Result := True;
      end;
    end;

    OK, how does this look? I do have the assumption though, that StartDate lies before EndDate, saving one or two comparison steps.


  10. Voted.

    I guess noone uses shortcuts anymore. Especially FMX applications tend to be distributed for Android or iOS. No shortcuts there...only gestures and taps. So this might really be an oversight due to lack of use.


  11. I'm pretty sure any Army employing women as fighter pilots has put them through the same tests and training as men, it would be recklessly stupid otherwise. That said, I am still convinced that the strongest man is stronger than the strongest woman. As can be seen in sports - athletics specifically. But our line of work is not really physically challenging, is it? Lets just concentrate on that.

×