Jump to content

jchd

MVPs
  • Posts

    9,910
  • Joined

  • Last visited

  • Days Won

    114

jchd last won the day on May 17 2025

jchd had the most liked content!

6 Followers

About jchd

  • Birthday 12/22/1954

Profile Information

  • Member Title
    Infinitely drawing infinity
  • Location
    South of France

Recent Profile Visitors

5,655 profile views

jchd's Achievements

  1. Then I'd have said: "... for the rest of the day". 71 now, but I still can count for some time!
  2. @pixelsearch you're right on 2) About 1) and (*X), that PCRE_EXTRA option is something you can ever use only after digging deep in PCRE code, only helpful in very VERY dark corner cases you should avoid at any rate. Hence # should be removed from the list in help. Omitting ) is a much bigger mistake, one which will haunt me for the rest of the year! BTW, I whish a peaceful 2026 to everyone in and, most importantly, outside the AutoIt community.
  3. No big surprise here: when comparing raw codepoints AutoIt internals can make use of very fast machine instructions, while any regex engine has to dissect and compile the pattern and loop over the string & pattern. On the contrary, when it comes to process codepoints in any non-raw way or when the pattern isn't a bare string compare, regexes use very fast code using internal tables while AutoIt relies on Windows low-level primitives in a loop. Just tried a third compare run with regex including (*UCP) and the outcome is almost identical.
  4. I only use SQLite for both personal and pro needs. I don't even use code (AutoIt or other) to manage my DBs: I run SQLite Expert Pro 24/7 and this covers 99.9% of my daily needs. The only extras I use are a handful of extensions I wrote (in C) to make my life easier.
  5. Nice work, but regard timezones as a can of venimous snakes. General time keeping is even much, MUCH worse. tz data is only valid at a given point in time (how do you count time?) and for a loosely specified region. For example, look at https://time.is/fr/time_zone_news
  6. The name you choose is a misnomer. "proper case" refers to capitalizing the first letter of each word in a sentence, like this: "Proper Case" Refers To Capitalizing The First Letter Of Each Word In A Sentence
  7. Regexes can save your a$$ everyday!
  8. Wrong, the Bool datatype is clearly part of the language. Untrue as well. Perseverare diabolicum.
  9. That's plain wrong. Please reconsider! Local $v = 1=1 ConsoleWrite(VarGetType($v) & @LF)
  10. Indeed, all these buggy @DOUBLE_WS make this table terribly hard to read. Even copy-pasting the table content to a text editor and replacing @DOUBLE_WS by a couple of spaces doesn't align the columns. I confess being responsible for going deep into (*UCP) details in StringRegEx help (beside having authored the bulk of that help topic) but since we DO have AutoIt users handling cyrillic, greek, asian languages and others, I found it useful to mention everything of value for all users.
  11. No, its a small greek letter phi (φ). I was also surprised it existed. Got that source from @Nine (above) but didn't correctly check. Code fixed.
  12. I'm always satisfied (I have close to zero use of AutoIt myself)! It's not for me, I did just clear up some dark corners in case you would be interested.
  13. For even more fun, here are more symbols and also indices available: Func _Exponent($s) Local Static $sInp = "()+-0123456789=AÆBDEƎGHIJKLMNOPRTUWabcdefghijklmnoprstuvwxyz" Local Static $sExp = "⁽⁾⁺⁻⁰¹²³⁴⁵⁶⁷⁸⁹⁼ᴬᴭᴮᴰᴱᴲᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᴿᵀᵁᵂᵃᵇᶜᵈᵉᶠᵍʰⁱʲᵏˡᵐⁿᵒᵖʳˢᵗᵘᵛʷˣʸᶻ" Local Static $mExp[] If UBound($mExp) = 0 Then For $i = 1 To StringLen($sInp) $mExp[StringMid($sInp, $i, 1)] = StringMid($sExp, $i, 1) Next EndIf Local $c For $i = 1 To StringLen($s) $c = StringMid($s, $i, 1) If MapExists($mExp, $c) Then $s = StringReplace($s, $c, $mExp[$c]) Next Return($s) EndFunc ;==>_Exponent Func _Indice($s) Local Static $sInp = "()+-0123456789=aehijklmnoprstuvx" Local Static $sInd = "₍₎₊₋₀₁₂₃₄₅₆₇₈₉₌ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓ" Local Static $mInd[] If UBound($mInd) = 0 Then For $i = 1 To StringLen($sInp) $mInd[StringMid($sInp, $i, 1)] = StringMid($sInd, $i, 1) Next EndIf Local $c For $i = 1 To StringLen($s) $c = StringMid($s, $i, 1) If MapExists($mInd, $c) Then $s = StringReplace($s, $c, $mInd[$c]) Next Return($s) EndFunc ;==>_Indice
  14. Which part(s) do you feel strange?
×
×
  • Create New...