Jump to content

Rollo62

Members
  • Content Count

    1950
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by Rollo62

  1. Rollo62

    TForm to TForm communication

    https://docwiki.embarcadero.com/Libraries/Sydney/de/System.Messaging.TMessageManager.SendMessage https://docwiki.embarcadero.com/Libraries/Sydney/de/System.Messaging.TMessageManager.SubscribeToMessage https://docwiki.embarcadero.com/CodeExamples/Sydney/en/System.Messaging_(Delphi)
  2. Rollo62

    PDF Drawing Component for Delphi FMX

    Nice component. Unfortunately it doesn't say anything on the homepage, if it comes with sourcecode, its system requirements or something about its origin. Can you maybe clarify this here, also if you plan to extend this component for iOS, Macos, Windows, .... one day ?
  3. You could also switch to a MacMini or MacStudio, to save money in general. I will move away from MacBook in the future ( when Apple decides to make updates impossible ), to such lower-cost items (already tested on MacMini M2 16GB as remote build maching, but I would recommend more GB for using VMs). Concerning that the MacBook keyboard is unsuitable for heavy use, so I do need a high quality external keyboard and larger display anyway. Only if you want to produce small scripts while drinking coffee in a sunny place, then the cost of Apple mobility is perhaps worth the price tag IMHO. I mainly use it stationary right now, which make little sense.
  4. Perhaps you fix your links,# or, Spam, spam, spam, ...
  5. Rollo62

    May patch

    Just downloading the May patch from my.embarcadero and checking ... It seems to be started by this script patch.R123.hotfix.may_install.bat which contains: PatchTool.exe -f R123.hotfix.may.zip -b 23.0 -t 29.0.55362.2017 -a The whole patch is in this zip R123.hotfix.may.zip which contains a folder: x86_64-w64-mingw32 Where and since when is mingw32 used, is this for C++? I've never noticed that before ( but also I'm not yet on Rx12.3 ).
  6. Perhaps a little rework into a record will remove the whole question of the absolute directive completely. So that you get the point of the additional benefits I see from such structure, to have much more related informations included and easy extendable. This way you can use the right types for specific fields, not all as strings. unit PeriodicTable; interface uses System.SysUtils, System.Math; { TElementRecord encapsulates properties of a chemical element } type TElementRecord = record AtomicNumber : Integer; // Ordnungszahl Symbol : string; // Elementsymbol Name : string; // Elementname AtomicMass : Double; // Atommasse in u HasStableIsotopes : Boolean; // True, wenn stabile Isotope existieren Group : Integer; // Gruppennummer (0=unknown) Period : Integer; // Periode (0=unknown) Electronegativity : Double; // (0=unknown) IonizationEnergy : Double; // erste Ionisierungsenergie in eV (0=unknown) AtomicRadius : Double; // Kovalenter Radius in pm (0=unknown) ElectronConfig : string; // Elektronenkonfiguration (' '=unknown) Density : Double; // Dichte in g/cm³ (0=unknown) MeltingPoint : Double; // Schmelzpunkt in K (0=unknown) BoilingPoint : Double; // Siedepunkt in K (0=unknown) OxidationStates : string; // (''=unknown) Abundance : Double; // Natürliche Häufigkeit in ‰ (0=unknown) end; { Enumeration of all 118 elements } TElement = ( elH, elHe, elLi, elBe, elB, elC, elN, elO, elF, elNe, elNa, elMg, elAl, elSi, elP, elS, elCl, elAr, elK, elCa, elSc, elTi, elV, elCr, elMn, elFe, elCo, elNi, elCu, elZn, elGa, elGe, elAs, elSe, elBr, elKr, elRb, elSr, elY, elZr, elNb, elMo, elTc, elRu, elRh, elPd, elAg, elCd, elIn, elSn, elSb, elTe, elI, elXe, elCs, elBa, elLa, elCe, elPr, elNd, elPm, elSm, elEu, elGd, elTb, elDy, elHo, elEr, elTm, elYb, elLu, elHf, elTa, elW, elRe, elOs, elIr, elPt, elAu, elHg, elTl, elPb, elBi, elPo, elAt, elRn, elFr, elRa, elAc, elTh, elPa, elU, elNp, elPu, elAm, elCm, elBk, elCf, elEs, elFm, elMd, elNo, elLr, elRf, elDb, elSg, elBh, elHs, elMt, elDs, elRg, elCn, elNh, elFl, elMc, elLv, elTs, elOg ); { Helper with utilities } TElementHelper = record helper for TElement function ToRecord: TElementRecord; function Symbol: string; function Name: string; // Including HasStableIsotopes bracket convention function MassString: string; function MassValue: Double; class function Count: Integer; static; class function FromSymbol(const ASym: string): TElement; static; class function FromMass(const AMass, ATolerance: Double = 1e-6): TArray<TElement>; static; end; const Elements: array[TElement] of TElementRecord = ( (AtomicNumber:1; Symbol:'H'; Name:'Hydrogen'; AtomicMass:1.00794; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:2; Symbol:'He'; Name:'Helium'; AtomicMass:4.002602; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:3; Symbol:'Li'; Name:'Lithium'; AtomicMass:6.941; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:4; Symbol:'Be'; Name:'Beryllium'; AtomicMass:9.012182; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:5; Symbol:'B'; Name:'Boron'; AtomicMass:10.811; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:6; Symbol:'C'; Name:'Carbon'; AtomicMass:12.0107; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:7; Symbol:'N'; Name:'Nitrogen'; AtomicMass:14.0067; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:8; Symbol:'O'; Name:'Oxygen'; AtomicMass:15.9994; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:9; Symbol:'F'; Name:'Fluorine'; AtomicMass:18.9984032; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:10; Symbol:'Ne'; Name:'Neon'; AtomicMass:20.1797; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:11; Symbol:'Na'; Name:'Sodium'; AtomicMass:22.98976928; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:12; Symbol:'Mg'; Name:'Magnesium'; AtomicMass:24.305; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:13; Symbol:'Al'; Name:'Aluminium'; AtomicMass:26.9815386; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:14; Symbol:'Si'; Name:'Silicon'; AtomicMass:28.0855; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:15; Symbol:'P'; Name:'Phosphorus'; AtomicMass:30.973762; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:16; Symbol:'S'; Name:'Sulfur'; AtomicMass:32.065; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:17; Symbol:'Cl'; Name:'Chlorine'; AtomicMass:35.453; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:18; Symbol:'Ar'; Name:'Argon'; AtomicMass:39.948; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:19; Symbol:'K'; Name:'Potassium'; AtomicMass:39.0983; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:20; Symbol:'Ca'; Name:'Calcium'; AtomicMass:40.078; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:21; Symbol:'Sc'; Name:'Scandium'; AtomicMass:44.955912; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:22; Symbol:'Ti'; Name:'Titanium'; AtomicMass:47.867; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:23; Symbol:'V'; Name:'Vanadium'; AtomicMass:50.9415; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:24; Symbol:'Cr'; Name:'Chromium'; AtomicMass:51.9961; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:25; Symbol:'Mn'; Name:'Manganese'; AtomicMass:54.938045; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:26; Symbol:'Fe'; Name:'Iron'; AtomicMass:55.845; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:27; Symbol:'Co'; Name:'Cobalt'; AtomicMass:58.933195; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:28; Symbol:'Ni'; Name:'Nickel'; AtomicMass:58.6934; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:29; Symbol:'Cu'; Name:'Copper'; AtomicMass:63.546; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:30; Symbol:'Zn'; Name:'Zinc'; AtomicMass:65.38; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:31; Symbol:'Ga'; Name:'Gallium'; AtomicMass:69.723; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:32; Symbol:'Ge'; Name:'Germanium'; AtomicMass:72.63; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:33; Symbol:'As'; Name:'Arsenic'; AtomicMass:74.9216; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:34; Symbol:'Se'; Name:'Selenium'; AtomicMass:78.96; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:35; Symbol:'Br'; Name:'Bromine'; AtomicMass:79.904; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:36; Symbol:'Kr'; Name:'Krypton'; AtomicMass:83.798; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:37; Symbol:'Rb'; Name:'Rubidium'; AtomicMass:85.4678; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:38; Symbol:'Sr'; Name:'Strontium'; AtomicMass:87.62; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:39; Symbol:'Y'; Name:'Yttrium'; AtomicMass:88.90585; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:40; Symbol:'Zr'; Name:'Zirconium'; AtomicMass:91.224; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:41; Symbol:'Nb'; Name:'Niobium'; AtomicMass:92.90628; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:42; Symbol:'Mo'; Name:'Molybdenum'; AtomicMass:95.96; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:43; Symbol:'Tc'; Name:'Technetium'; AtomicMass:98; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:44; Symbol:'Ru'; Name:'Ruthenium'; AtomicMass:101.07; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:45; Symbol:'Rh'; Name:'Rhodium'; AtomicMass:102.9055; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:46; Symbol:'Pd'; Name:'Palladium'; AtomicMass:106.42; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:47; Symbol:'Ag'; Name:'Silver'; AtomicMass:107.8682; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:48; Symbol:'Cd'; Name:'Cadmium'; AtomicMass:112.411; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:49; Symbol:'In'; Name:'Indium'; AtomicMass:114.818; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:50; Symbol:'Sn'; Name:'Tin'; AtomicMass:118.71; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:51; Symbol:'Sb'; Name:'Antimony'; AtomicMass:121.76; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:52; Symbol:'Te'; Name:'Tellurium'; AtomicMass:127.6; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:53; Symbol:'I'; Name:'Iodine'; AtomicMass:126.90447; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:54; Symbol:'Xe'; Name:'Xenon'; AtomicMass:131.293; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:55; Symbol:'Cs'; Name:'Caesium'; AtomicMass:132.9054; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:56; Symbol:'Ba'; Name:'Barium'; AtomicMass:132.9054; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:57; Symbol:'La'; Name:'Lanthanum'; AtomicMass:138.90547; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:58; Symbol:'Ce'; Name:'Cerium'; AtomicMass:140.116; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:59; Symbol:'Pr'; Name:'Praseodymium'; AtomicMass:140.90765; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:60; Symbol:'Nd'; Name:'Neodymium'; AtomicMass:144.242; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:61; Symbol:'Pm'; Name:'Promethium'; AtomicMass:145; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:62; Symbol:'Sm'; Name:'Samarium'; AtomicMass:150.36; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:63; Symbol:'Eu'; Name:'Europium'; AtomicMass:151.964; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:64; Symbol:'Gd'; Name:'Gadolinium'; AtomicMass:157.25; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:65; Symbol:'Tb'; Name:'Terbium'; AtomicMass:158.92535; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:66; Symbol:'Dy'; Name:'Dysprosium'; AtomicMass:162.5; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:67; Symbol:'Ho'; Name:'Holmium'; AtomicMass:164.93032; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:68; Symbol:'Er'; Name:'Erbium'; AtomicMass:167.259; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:69; Symbol:'Tm'; Name:'Thulium'; AtomicMass:168.93421; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:70; Symbol:'Yb'; Name:'Ytterbium'; AtomicMass:173.054; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:71; Symbol:'Lu'; Name:'Lutetium'; AtomicMass:174.9668; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:72; Symbol:'Hf'; Name:'Hafnium'; AtomicMass:178.49; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:73; Symbol:'Ta'; Name:'Tantalum'; AtomicMass:180.94788; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:74; Symbol:'W'; Name:'Tungsten'; AtomicMass:183.84; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:75; Symbol:'Re'; Name:'Rhenium'; AtomicMass:186.207; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:76; Symbol:'Os'; Name:'Osmium'; AtomicMass:190.23; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:77; Symbol:'Ir'; Name:'Iridium'; AtomicMass:192.217; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:78; Symbol:'Pt'; Name:'Platinum'; AtomicMass:195.084; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:79; Symbol:'Au'; Name:'Gold'; AtomicMass:196.966569; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:80; Symbol:'Hg'; Name:'Mercury'; AtomicMass:200.59; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:81; Symbol:'Tl'; Name:'Thallium'; AtomicMass:204.3833; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:82; Symbol:'Pb'; Name:'Lead'; AtomicMass:207.2; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:83; Symbol:'Bi'; Name:'Bismuth'; AtomicMass:208.9804; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:84; Symbol:'Po'; Name:'Polonium'; AtomicMass:209; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:85; Symbol:'At'; Name:'Astatine'; AtomicMass:210; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:86; Symbol:'Rn'; Name:'Radon'; AtomicMass:222; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:87; Symbol:'Fr'; Name:'Francium'; AtomicMass:223; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:88; Symbol:'Ra'; Name:'Radium'; AtomicMass:226; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:89; Symbol:'Ac'; Name:'Actinium'; AtomicMass:227; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:90; Symbol:'Th'; Name:'Thorium'; AtomicMass:232.03806; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:91; Symbol:'Pa'; Name:'Protactinium'; AtomicMass:231.0588; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:92; Symbol:'U'; Name:'Uranium'; AtomicMass:238.02891; HasStableIsotopes:true; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:93; Symbol:'Np'; Name:'Neptunium'; AtomicMass:237; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:94; Symbol:'Pu'; Name:'Plutonium'; AtomicMass:244; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:95; Symbol:'Am'; Name:'Americium'; AtomicMass:243; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:96; Symbol:'Cm'; Name:'Curium'; AtomicMass:247; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:97; Symbol:'Bk'; Name:'Berkelium'; AtomicMass:247; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:98; Symbol:'Cf'; Name:'Californium'; AtomicMass:251; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:99; Symbol:'Es'; Name:'Einsteinium'; AtomicMass:252; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:100; Symbol:'Fm'; Name:'Fermium'; AtomicMass:257; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:101; Symbol:'Md'; Name:'Mendelevium'; AtomicMass:258; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:102; Symbol:'No'; Name:'Nobelium'; AtomicMass:259; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:103; Symbol:'Lr'; Name:'Lawrencium'; AtomicMass:262; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:104; Symbol:'Rf'; Name:'Rutherfordium'; AtomicMass:267; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:105; Symbol:'Db'; Name:'Dubnium'; AtomicMass:268; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:106; Symbol:'Sg'; Name:'Seaborgium'; AtomicMass:271; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:107; Symbol:'Bh'; Name:'Bohrium'; AtomicMass:272; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:108; Symbol:'Hs'; Name:'Hassium'; AtomicMass:270; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:109; Symbol:'Mt'; Name:'Meitnerium'; AtomicMass:276; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:110; Symbol:'Ds'; Name:'Darmstadtium'; AtomicMass:281; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:111; Symbol:'Rg'; Name:'Roentgenium'; AtomicMass:280; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:112; Symbol:'Cn'; Name:'Copernicium'; AtomicMass:285; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:113; Symbol:'Nh'; Name:'Nihonium'; AtomicMass:286; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:114; Symbol:'Fl'; Name:'Flerovium'; AtomicMass:289; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:115; Symbol:'Mc'; Name:'Moscovium'; AtomicMass:290; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:116; Symbol:'Lv'; Name:'Livermorium'; AtomicMass:293; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:117; Symbol:'Ts'; Name:'Tennessine'; AtomicMass:294; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), (AtomicNumber:118; Symbol:'Og'; Name:'Oganesson'; AtomicMass:294; HasStableIsotopes:false; Group:0;Period:0;Electronegativity:0;IonizationEnergy:0;AtomicRadius:0;ElectronConfig:'';Density:0;MeltingPoint:0;BoilingPoint:0;OxidationStates:'';Abundance:0), ); implementation { TElementHelper impl } function TElementHelper.ToRecord: TElementRecord; begin Result := Elements[Self]; end; function TElementHelper.Symbol: string; begin Result := Elements[Self].Symbol; end; function TElementHelper.Name: string; begin Result := Elements[Self].Name; end; // Including HasStableIsotopes bracket convention function TElementHelper.MassString: string; begin if not Elements[Self].HasStableIsotopes then Result := Format('(%s)', [ FloatToStr(Elements[Self].AtomicMass) ]); else Result := FloatToStr(Elements[Self].AtomicMass); end; function TElementHelper.MassValue: Double; begin Result := Elements[Self].AtomicMass; end; class function TElementHelper.Count: Integer; begin Result := Length(Elements); end; class function TElementHelper.FromSymbol(const ASym: string): TElement; var e: TElement; begin for e := Low(TElement) to High(TElement) do if CompareText(Elements[e].Symbol, ASym) = 0 then Exit(e); raise Exception.CreateFmt('Symbol %s not found', [ASym]); end; class function TElementHelper.FromMass(const AMass, ATolerance: Double): TArray<TElement>; var e: TElement; L: TList<TElement>; begin L := TList<TElement>.Create; try for e := Low(TElement) to High(TElement) do if Abs(Elements[e].AtomicMass - AMass) <= ATolerance then L.Add(e); Result := L.ToArray; finally L.Free; end; end; end. Edit: I forgot to add a little how-to-use example program PeriodicTableDemo; {$APPTYPE CONSOLE} uses System.SysUtils, PeriodicTable; var e : TElement; rec : TElementRecord; matches : TArray<TElement>; i : Integer; begin try // 1) Total count of elements Writeln('Total elements: ', TElementHelper.Count); // 2) Lookup for symbol „Fe“ e := TElementHelper.FromSymbol('Fe'); rec := e.ToRecord; Writeln(Format('Element %d: %s – %s, Mass = %s u', [rec.AtomicNumber, rec.Symbol, rec.Name, e.MassString])); // 3) Search for elements with mass ≈ 1.00794 matches := TElementHelper.FromMass(1.00794, 1e-4); if Length(matches) = 0 then Writeln('No matching elements found.') else begin Writeln('Matches for mass ≈ 1.00794:'); for i := 0 to High(matches) do begin e := matches[i]; rec := e.ToRecord; Writeln(Format(' %s (%s), AtomicNumber = %d', [rec.Symbol, rec.Name, rec.AtomicNumber])); end; end; // 4) Iteration over all elements Writeln('Erste 5 Elemente im Periodensystem:'); for i := 0 to Min(4, TElementHelper.Count-1) do begin e := TElement(i); rec := e.ToRecord; Writeln(Format('%2d: %s – %s, Mass = %s u', [rec.AtomicNumber, rec.Symbol, rec.Name, e.MassString])); end; except on E: Exception do Writeln('Error: ', E.ClassName, ': ', E.Message); end; end.
  7. Nice. To handle it more effectively, I would encapsulate this const array in an Enum with a record helper. That allows to add a lot of convenience functions around this table and offers a nice and effective Enum handle.
  8. Try https://docwiki.embarcadero.com/Libraries/Athens/en/FMX.Styles.TStyleManager.SetStyleFromFile ON: TStyleManager.SetStyleFromFile(styleToUse); OFF: TStyleManager.SetStyleFromFile(nil);
  9. Rollo62

    Capture as soon as file paste is selected

    Interesting question. Feasibility with Hooks: - Key Hooks (WH_KEYBOARD_LL): These are irrelevant for detecting paste operations, as pasting is typically triggered via mouse or context menu, not keyboard shortcuts. - Global Mouse Hooks: These can detect right-clicks but cannot reliably identify the "Paste" command or the target directory. - Shell Hooks (HSHELL_*): Using SetWindowsHookEx with WH_SHELL or registering for Shell notifications (SHChangeNotifyRegister) might provide some context about Explorer actions, but they do not directly expose paste events or destinations. Alternative Approaches: - Windows Shell Extensions: Create a Shell Extension (e.g., a context menu handler) to intercept paste commands in Explorer. This requires injecting code into Explorer’s process, which is complex and may have security implications. Maybe that could work for you, although it interferes too much with Windows systems for my taste.
  10. Rollo62

    OnMTUChanged Event in 12.3

    Thats a fair move. Videos are not so easy to be changed https://youtu.be/77bQ6Xs0kBE?t=2598 So I hope that at least some core BLE improvements were still visible.
  11. This depends a bit on what you really need to test in your app. If you want to test all kinds of dynamic hardware stuff a phone can do, then I would always recommend a real device. Only that can behave truly by accleration/motion/orientation sensors, touchscreen, phone calls, etc., the simulator can only roughly simulate that. If your app is mainly a "form" app with controls, not using a lot of specific hardware of the phone, then the simulator could be good enough for you. As far as I know, the debugging doesn't work under iOS simulator too, but still under Macos. So it is always a good idea to test under Windows/Macos first, and only then check the "view impression" and handling by iOS simulator or device.
  12. Thats easy to solve, you just have to patent your prompts then
  13. Rollo62

    OnMTUChanged Event in 12.3

    How can that happen, also I have seen this note about MTU in many "whats new" references from Embarcadero and looking forward to this. I'm not yet on 12.3, is this really missing in the source codes, or is it just defined for some platforms?
  14. Rollo62

    Delphi performance on Parallels

    Thanks for sharing. You are still on Parallels Desktop 19, while there is already 20 out, is there a specific reason? https://kb.parallels.com/en/130212/ I'm quite sure that they have done a lot of performence improvements in this new version too, would be great see your direct comparison for this too in the future.
  15. Rollo62

    How can you list all the datasources linked to a dataset?

    I also understand the urge to have such handy property, for convenience. On the other hand, if I consider the DataSource as part of the view and the Dataset as part of the model, perhaps there is a good reason to hide it here, so that the model doesn't know about its views.
  16. Rollo62

    Rapid.Generics revamp

    Yes, I agreed to this already 10 thread posts before. I only asked if anybody already looked into it and/or tested against it. Any terms within the former sentence may start further massive nitpicking, I know. Nevermind, it's OK then for me.
  17. Rollo62

    Rapid.Generics revamp

    Mindful misunderstanding of other peoples Intention and expressions is also a Form of Art.
  18. Rollo62

    Rapid.Generics revamp

    Yes you are right. VCL/FMX unit linkage is comparable to DB and Windows-Service. Also tests for other platforms are completely superfluous, especially if Win32 ASM code is used in the library, nothing can go wrong here. I revoke all my silly notes above, they seem to be too stupid.
  19. Rollo62

    Rapid.Generics revamp

    Excaclty, it should not ... Thats why I asked, if its tested against those and ensured that no hidden UI units are linked or involved. I think everyone can very well understand the meaning of my question here, even if VCL/FMX mentioned. There are too many VCL-only libraries out there. But thanks for your clarification.
  20. Rollo62

    Rapid.Generics revamp

    Peeking into this nice library, it seems pretty much multi-platform compatible to me, even if there were some encapsuled Intel ASMs inside. Nevertheless, it seems to be specified only for x86 basically. Have you tested this under VCL, FMX, Win32, Win64, Macos (x86/ARM), iOS, Android, Linux as well? Would be great to know, if this is fully supported under all Delphi platforms, maybe it was already tested against these?
  21. Flicker? Is that the case under VCL? Maybe this is interesting for setting per control https://blogs.embarcadero.com/vcl-per-control-styles-coming-in-rad-studio-10-4/
  22. If indentation is your main focus, then I would suggest to port an large ERP system first into Python, keeping the indentation 99% valid, and then later port this from Python to Javascript and modern web technologies. This makes things much easier and I think this is the way DOGE is looking for.
  23. Rollo62

    Is this a change in 12.3??

    You could use a setter for sQuery, that sets up the SQL before showing the form. That would not nee FormShow.
  24. Perhaps they already have better AI than you and me 🤔
  25. Rollo62

    Some new projects...

    Thanks, this is a great library and introduction. Can your libFPC also be configured to generate and run an Pascal code in memory at specific periodic schedules, lets say like every 1st of April or so?
×