Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Fr0sT.Brutal last won the day on October 15

Fr0sT.Brutal had the most liked content!

Community Reputation

510 Excellent


Technical Information

  • Delphi-Version
    Delphi XE2

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Fr0sT.Brutal

    Hot Reload in Delphi?

    I must say a word of defense here. Probably my cases were simpler but I successfully do this "step back" from time to time.
  2. Fr0sT.Brutal

    PixelsPerInch property in datamodules and services :-(

    CnPack has plugin for stripping out excess props on DFM save
  3. Your words should go into God's ears (handmade translation of a native saying)
  4. Fr0sT.Brutal

    Hot Reload in Delphi?

    Nice! I was always using RMB>Debug>Set next statement
  5. Hmm, https://www.ffmpeg.org/index.html#news seems pretty fresh and it's used by youtube-dl for decoding YT videos so it should work.
  6. Fr0sT.Brutal

    CharInSet revisited (again)

    Where applicable, I handle this case with, umm, case. if CharInSet(ch, ['Ň'..'Ř']) => case ch of 'Ň'..'Ř': .. end but of course this only works with constants. While I sometimes miss ability to use predefined sets in case, it never been too big trouble for me. All formats I had to parse were like "ASCII for markup, Unicode for content" so I just didn't need to examine Unicode but if I had to, Unicode categories defined in System.Character could be real helpers
  7. Fr0sT.Brutal

    CharInSet revisited (again)

    While this could be the fastest option, I'd recommend using char literals instead of ASCII codes: Word(#13) or Ord(#13) or even better Ord(CR)
  8. Fr0sT.Brutal

    How do *you* test ?

    When writing some new class, I try to design structure first, write stub methods and then implement them one by one. Alas, implementation details frequently dictate structure change so I have to redesign it. I'm not a fan of TDD either when creating from the ground, I prefer to have something more or less ready to use. Of course, as soon as the state is compilable (I try to keep it such), I periodically compile. Then I test - run, create tests etc. When modifying code, I write and run tests ||-ly, sometimes it helps to understand what I want from a method.
  9. Seems like they're loaded by relative path.
  10. I have no idea about legality and pretty sure you considered that but doesn't playback via ffdshow solve the problem?
  11. JS is pretty cool here for const [str, obj] of sl if (str == aStringArg) return obj; I partially agree with you. I love for-in but the fact it hides current index makes it non-applicable in pretty much cases.
  12. Fr0sT.Brutal

    D11 - A bridge too far.. :-(

    Or make unit tests open source and ask community to join them. This would help at least keeping lib in stable state.
  13. Source code is not needed if OP would create a DLL with some of these options. I added clarification to make you and Emba's lawyers calm ;)
  14. Choosing between several Break/Continue/Exit's and numerous nested begin-end's, I prefer the former. procedure TBla.SearchValidEntry(out _UtcValid, _TimeByUtc: TMeasurementTime); var i: Integer; Utc: TMeasurementTime; begin for i := 0 to FReader.Count - 1 do begin FReader.Seek(i); Utc := FReader.Data.Time; if Utc.IsZero then Continue; _UtcValid := Utc; _TimeByUtc := FReader.MeasurementTime(i); Exit; end; raise EMyException.CreateFmt(_('%s has no valid entry'), [FReader.DataFilename]); end; I'd do it as above