initial commit moved from svn

This commit is contained in:
fatalerrors
2022-10-24 22:07:20 +02:00
parent b2caa19213
commit 0e96f4f5e4
229 changed files with 20039 additions and 0 deletions

BIN
YaPeTaVi.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

489
YaPeTaVi.lpi Normal file
View File

@@ -0,0 +1,489 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<General>
<MainUnit Value="0"/>
<Title Value="YaPeTaVI"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<i18n>
<EnableI18N Value="True"/>
<OutDir Value="i18n"/>
</i18n>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
<Modes Count="1">
<Mode0 Name="default">
<local>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</Mode0>
</Modes>
</RunParams>
<RequiredPackages Count="5">
<Item1>
<PackageName Value="lazplotfunction"/>
<MinVersion Release="1" Valid="True"/>
</Item1>
<Item2>
<PackageName Value="TAChartLazarusPkg"/>
<MinVersion Major="1" Valid="True"/>
</Item2>
<Item3>
<PackageName Value="FCL"/>
</Item3>
<Item4>
<PackageName Value="LCL"/>
</Item4>
<Item5>
<PackageName Value="RunTimeTypeInfoControls"/>
<MinVersion Minor="1" Valid="True"/>
</Item5>
</RequiredPackages>
<Units Count="23">
<Unit0>
<Filename Value="YaPeTaVi.lpr"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="22"/>
<TopLine Value="13"/>
<CursorPos X="72" Y="42"/>
<UsageCount Value="252"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="frmmasscalculator.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="MassCalcForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="frmMassCalculator"/>
<EditorIndex Value="7"/>
<TopLine Value="27"/>
<CursorPos X="3" Y="37"/>
<UsageCount Value="252"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="frmabout.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="AboutBox"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="frmAbout"/>
<EditorIndex Value="1"/>
<CursorPos Y="156"/>
<UsageCount Value="252"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit2>
<Unit3>
<Filename Value="frmtable.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="TableForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="frmTable"/>
<EditorIndex Value="9"/>
<TopLine Value="2061"/>
<CursorPos X="3" Y="2063"/>
<UsageCount Value="252"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit3>
<Unit4>
<Filename Value="frmadd.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="AddForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="frmAdd"/>
<EditorIndex Value="2"/>
<CursorPos X="12" Y="29"/>
<UsageCount Value="252"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit4>
<Unit5>
<Filename Value="uconst.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uConst"/>
<EditorIndex Value="11"/>
<CursorPos X="46" Y="37"/>
<UsageCount Value="252"/>
<Loaded Value="True"/>
</Unit5>
<Unit6>
<Filename Value="uinit.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uInit"/>
<EditorIndex Value="16"/>
<TopLine Value="200"/>
<CursorPos X="52" Y="45"/>
<UsageCount Value="202"/>
<Loaded Value="True"/>
</Unit6>
<Unit7>
<Filename Value="uVersion.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="20"/>
<TopLine Value="127"/>
<CursorPos Y="151"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit7>
<Unit8>
<Filename Value="version.inc"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="21"/>
<CursorPos X="15" Y="30"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit8>
<Unit9>
<Filename Value="buildsys.inc"/>
<IsPartOfProject Value="True"/>
<CursorPos X="43"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit9>
<Unit10>
<Filename Value="frmbloclegend.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="BlocLegendForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="frmBlocLegend"/>
<EditorIndex Value="3"/>
<TopLine Value="41"/>
<CursorPos X="6" Y="77"/>
<UsageCount Value="202"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit10>
<Unit11>
<Filename Value="frmfamilylegend.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="LegendFamilyForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="frmFamilyLegend"/>
<EditorIndex Value="5"/>
<TopLine Value="61"/>
<CursorPos Y="98"/>
<UsageCount Value="207"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit11>
<Unit12>
<Filename Value="uutils.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uUtils"/>
<EditorIndex Value="19"/>
<TopLine Value="159"/>
<CursorPos X="46" Y="167"/>
<UsageCount Value="206"/>
<Loaded Value="True"/>
</Unit12>
<Unit13>
<Filename Value="frmgradientlegend.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="GradientLegendForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="frmGradientLegend"/>
<EditorIndex Value="6"/>
<TopLine Value="38"/>
<CursorPos X="48" Y="59"/>
<UsageCount Value="204"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit13>
<Unit14>
<Filename Value="ustrings.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uStrings"/>
<EditorIndex Value="18"/>
<TopLine Value="127"/>
<CursorPos X="19" Y="136"/>
<UsageCount Value="223"/>
<Loaded Value="True"/>
</Unit14>
<Unit15>
<Filename Value="uiconmanager.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uIconManager"/>
<EditorIndex Value="15"/>
<CursorPos X="20" Y="31"/>
<UsageCount Value="226"/>
<Loaded Value="True"/>
</Unit15>
<Unit16>
<Filename Value="uelemlistclass.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uElemListClass"/>
<EditorIndex Value="14"/>
<TopLine Value="655"/>
<CursorPos Y="316"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit16>
<Unit17>
<Filename Value="frmoptions.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="OptionsForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="frmOptions"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="8"/>
<CursorPos Y="328"/>
<UsageCount Value="220"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit17>
<Unit18>
<Filename Value="frmdiscovererlist.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="DiscovererListForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="frmDiscovererList"/>
<EditorIndex Value="4"/>
<CursorPos X="66" Y="65"/>
<UsageCount Value="204"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit18>
<Unit19>
<Filename Value="udebug.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uDebug"/>
<EditorIndex Value="12"/>
<TopLine Value="314"/>
<CursorPos X="27" Y="124"/>
<UsageCount Value="201"/>
<Loaded Value="True"/>
</Unit19>
<Unit20>
<Filename Value="usort.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uSort"/>
<EditorIndex Value="17"/>
<TopLine Value="33"/>
<CursorPos X="26" Y="52"/>
<UsageCount Value="207"/>
<Loaded Value="True"/>
</Unit20>
<Unit21>
<Filename Value="uelecdistclass.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uElecDistClass"/>
<EditorIndex Value="13"/>
<TopLine Value="32"/>
<CursorPos X="19" Y="85"/>
<UsageCount Value="311"/>
<Loaded Value="True"/>
</Unit21>
<Unit22>
<Filename Value="ucommon.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="uCommon"/>
<EditorIndex Value="10"/>
<TopLine Value="226"/>
<CursorPos X="41" Y="257"/>
<UsageCount Value="238"/>
<Loaded Value="True"/>
</Unit22>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="uutils.pas"/>
<Caret Line="481" Column="25" TopLine="459"/>
</Position1>
<Position2>
<Filename Value="ucommon.pas"/>
<Caret Line="50" Column="39" TopLine="21"/>
</Position2>
<Position3>
<Filename Value="uutils.pas"/>
<Caret Line="171" Column="16" TopLine="132"/>
</Position3>
<Position4>
<Filename Value="frmtable.pas"/>
<Caret Line="457" Column="80" TopLine="416"/>
</Position4>
<Position5>
<Filename Value="uelemlistclass.pas"/>
<Caret Line="38" Column="40" TopLine="13"/>
</Position5>
<Position6>
<Filename Value="ucommon.pas"/>
<Caret Line="36" Column="50" TopLine="29"/>
</Position6>
<Position7>
<Filename Value="ucommon.pas"/>
<Caret Line="65" Column="17" TopLine="32"/>
</Position7>
<Position8>
<Filename Value="uutils.pas"/>
<Caret Line="41" Column="40" TopLine="19"/>
</Position8>
<Position9>
<Filename Value="uconst.pas"/>
<Caret Line="37" Column="46"/>
</Position9>
<Position10>
<Filename Value="usort.pas"/>
<Caret Line="52" Column="26" TopLine="33"/>
</Position10>
<Position11>
<Filename Value="uutils.pas"/>
<Caret Line="576" Column="62" TopLine="553"/>
</Position11>
<Position12>
<Filename Value="uutils.pas"/>
<Caret Line="593" Column="57" TopLine="556"/>
</Position12>
<Position13>
<Filename Value="uutils.pas"/>
<Caret Line="190" Column="53" TopLine="159"/>
</Position13>
<Position14>
<Filename Value="ucommon.pas"/>
<Caret Line="274" Column="21" TopLine="234"/>
</Position14>
<Position15>
<Filename Value="ucommon.pas"/>
<Caret Line="275" TopLine="183"/>
</Position15>
<Position16>
<Filename Value="YaPeTaVi.lpr"/>
<Caret Line="29" Column="19" TopLine="17"/>
</Position16>
<Position17>
<Filename Value="YaPeTaVi.lpr"/>
<Caret Line="42" Column="72" TopLine="13"/>
</Position17>
<Position18>
<Filename Value="ucommon.pas"/>
<Caret Line="274" Column="29" TopLine="235"/>
</Position18>
<Position19>
<Filename Value="ucommon.pas"/>
<Caret Line="31" Column="20" TopLine="19"/>
</Position19>
<Position20>
<Filename Value="frmmasscalculator.pas"/>
<Caret Line="37" Column="3" TopLine="27"/>
</Position20>
<Position21>
<Filename Value="uVersion.pas"/>
<Caret Line="88" TopLine="58"/>
</Position21>
<Position22>
<Filename Value="version.inc"/>
<Caret Line="30" Column="15"/>
</Position22>
<Position23>
<Filename Value="buildsys.inc"/>
<Caret Column="43"/>
</Position23>
<Position24>
<Filename Value="uVersion.pas"/>
<Caret Line="141" Column="12" TopLine="128"/>
</Position24>
<Position25>
<Filename Value="uVersion.pas"/>
<Caret Line="151" TopLine="127"/>
</Position25>
<Position26>
<Filename Value="frmdiscovererlist.pas"/>
<Caret Line="65" Column="66" TopLine="49"/>
</Position26>
<Position27>
<Filename Value="frmtable.pas"/>
<Caret Line="457" Column="80" TopLine="425"/>
</Position27>
<Position28>
<Filename Value="frmdiscovererlist.pas"/>
<Caret Line="65" Column="66"/>
</Position28>
<Position29>
<Filename Value="frmtable.pas"/>
<Caret Line="2093" Column="3" TopLine="2091"/>
</Position29>
<Position30>
<Filename Value="frmtable.pas"/>
<Caret Line="2118" Column="3" TopLine="2091"/>
</Position30>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="bin/yapetavi"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="/share/src/fp-laz/fpc/packages/libc/;$(LazarusDir)/lcl/units/$(TargetCPU)-$(TargetOS)/$(LCLWidgetType);$(LazarusDir)/lcl/units/$(TargetCPU)-$(TargetOS)"/>
<UnitOutputDirectory Value="bin"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<SyntaxMode Value="fpc"/>
<IncludeAssertionCode Value="True"/>
<AllowLabel Value="False"/>
</SyntaxOptions>
</Parsing>
<CodeGeneration>
<SmartLinkUnit Value="True"/>
<Checks>
<IOChecks Value="True"/>
<RangeChecks Value="True"/>
<OverflowChecks Value="True"/>
<StackChecks Value="True"/>
</Checks>
<VerifyObjMethodCallValidity Value="True"/>
<Optimizations>
<OptimizationLevel Value="2"/>
</Optimizations>
</CodeGeneration>
<Linking>
<Debugging>
<StripSymbols Value="True"/>
<UseExternalDbgSyms Value="True"/>
</Debugging>
<LinkSmart Value="True"/>
</Linking>
<Other>
<Verbosity>
<ShoLineNum Value="True"/>
</Verbosity>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

86
YaPeTaVi.lpr Normal file
View File

@@ -0,0 +1,86 @@
{
********************************************************************************
YaPeTaVi - Yet another Periodic Table Viewer
Copyright (C) 1997-2000, 2009-2010 Geoffray Levasseur <jeff.levasseur@free.fr>.
All rights reserved.
http://jeff.levasseur.tuxfamily.org/
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA.
********************************************************************************
Description:
Main program
}
program YaPeTaVi;
{ $MODE Delphi}
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, {SQLDBLaz, sqlite3laz,} TAChartLazarusPkg,
frmMassCalculator {MainForm},
frmAbout {AboutBox},
frmTable {TableForm},
frmAdd {AddForm},
uConst, uInit, uVersion, frmBlocLegend, frmFamilyLegend, uUtils,
frmGradientLegend, uStrings, uiconmanager, uElemListClass, LCLVersion,
frmOptions, frmdiscovererlist, uDebug, usort, uelecdistclass, uCommon;
{ $R *.RES}
{$R YaPeTaVi.res}
begin
{$if (lcl_major=0) and (lcl_minor=9) and (lcl_release<28)}
Lazarus and/or LCL version 0.9.28 or above are required...
{$endif}
PrintLnDbg('YaPeTaVi starting...', vlNone);
Application.Initialize;
Application.Title := 'YaPeTaVI';
PrintLnDbg('-- Initializing paths...', vlLow);
Inc(DebugLevel);
InitPaths;
Dec(DebugLevel);
PrintLnDbg('-- Ok', vlLow);
PrintLnDbg('-- Initializing icons...', vlLow);
Inc(DebugLevel);
InitIcons;
Dec(DebugLevel);
PrintLnDbg('-- Ok', vlLow);
PrintLnDbg('-- Initializing elements list class... ', vlLow);
Inc(DebugLevel);
InitTable;
TestTable;
Dec(DebugLevel);
PrintLnDbg('-- Ok', vlLow);
PrintLnDbg('-- Initializing Forms... ', vlLow);
Inc(DebugLevel);
Application.CreateForm(TTableForm, TableForm);
Dec(DebugLevel);
PrintLnDbg('-- Ok', vlLow);
PrintLnDbg('-- Application is now ready and running...', vlNone);
Inc(DebugLevel);
PrintLnDbg(' Main: Version: ' + GetVersionString(MolAnalVersion) + '-' + GetBuildOS +
'-' + GetBuildCPU + ' (' + GetBuildDate + ')', vlNone);
PrintLnDbg(' Main: Compiler: FPC ' + GetFPCVersion + ' / Lazarus ' +
GetLazarusVersion + ' rev ' + GetLazarusRevision + ' on ' + BuildSys, vlNone);
Application.Run;
Dec(DebugLevel);
PrintLnDbg('-- That''s all folks!', vlNone);
end.

17
YaPeTaVi.manifest Normal file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="CompanyName.ProductName.YourApp" type="win32"/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

1
YaPeTaVi.rc Normal file
View File

@@ -0,0 +1 @@
MAINICON ICON "YaPeTaVi.ico"

26
bin/datas/B.dat Normal file
View File

@@ -0,0 +1,26 @@
[Global]
Number=5
ShortName=B
CAS=7440-42-8
Name=Boron
Bloc=p
Family=Metalloid
Wikipedia=http://en.wikipedia.org/wiki/Boron
[History]
Year=1808
Discoverer=Louis Joseph Gay-Lussac, Louis Jacques Thenard
Etymology=Greek "beryllos" for "light-green stone"
[Values]
MeltingPoint=2349
BoilingPoint=4200
Mass=10.811
CovalentRadius=84
VanDerWaalsRadius=208
ElectronicAffinity=0.279723
Electronegativity=2.04
ElectronicConf=[He] 2s2 2p1
FirstIonistionEnergy=800.6
SecondIonisationEnergy=2427.1
ThirdIonisationEnergy=3659.7

26
bin/datas/Be.dat Normal file
View File

@@ -0,0 +1,26 @@
[Global]
Number=4
ShortName=Be
CAS=7440-41-7
Name=Beryllium
Bloc=s
Family=Alkalie metal
Wikipedia=http://en.wikipedia.org/wiki/Beryllium
[History]
Year=1797
Discoverer=Louis Nicolas Vauquelin
Etymology=Greek "beryllos" for "light-green stone"
[Values]
MeltingPoint=1560
BoilingPoint=2742
Mass=9.012182
CovalentRadius=96
VanDerWaalsRadius=0
ElectronicAffinity=0
Electronegativity=1.57
ElectronicConf=[He] 2s2
FirstIonistionEnergy=899.5
SecondIonisationEnergy=1757.1
ThirdIonisationEnergy=14848.7

26
bin/datas/C.dat Normal file
View File

@@ -0,0 +1,26 @@
[Global]
Number=6
ShortName=C
CAS=7440-44-0
Name=Carbon
Bloc=p
Family=Non-metal
Wikipedia=http://en.wikipedia.org/wiki/Carbon
[History]
Year=0
Discoverer=
Etymology=Latin "carboneum" for carbon
[Values]
MeltingPoint=3825
BoilingPoint=5100
Mass=12.0107
CovalentRadius=77
VanDerWaalsRadius=185
ElectronicAffinity=1.26212
Electronegativity=2.55
ElectronicConf=[He] 2s2 2p2
FirstIonistionEnergy=1086.5
SecondIonisationEnergy=2352.6
ThirdIonisationEnergy=4620.5

0
bin/datas/F.dat Normal file
View File

26
bin/datas/H.dat Normal file
View File

@@ -0,0 +1,26 @@
[Global]
Number=1
ShortName=H
CAS=1333-74-0
Name=Hydrogen
Bloc=s
Family=Non-metal
Wikipedia=http://en.wikipedia.org/wiki/Hydrogen
[History]
Year=1766
Discoverer=Henry Cavendish
Etymology=Greek "hydro" and "gennao" for "forms water"
[Values]
MeltingPoint=14.01
BoilingPoint=20.28
Mass=1.00794
CovalentRadius=31
VanDerWaalsRadius=120
ElectronicAffinity=0.754204
Electronegativity=2.2
ElectronicConf=1s1
FirstIonistionEnergy=1312
SecondIonisationEnergy=-1
ThirdIonisationEnergy=-1

26
bin/datas/He.dat Normal file
View File

@@ -0,0 +1,26 @@
[Global]
Number=2
ShortName=He
CAS=7440-59-7
Name=Helium
Bloc=p
Family=Noble gas
Wikipedia=http://en.wikipedia.org/wiki/Helium
[History]
Year=1895
Discoverer=Pierre Jules Cesar Janssen, Joseph Norman Lockyer, Sir Edward Frankland
Etymology=Greek "helios" for "sun"
[Values]
MeltingPoint=0.95
BoilingPoint=4.216
Mass=4.002602
CovalentRadius=28
VanDerWaalsRadius=120
ElectronicAffinity=0
Electronegativity=-1
ElectronicConf=1s2
FirstIonistionEnergy=2372.3
SecondIonisationEnergy=5250.5
ThirdIonisationEnergy=-1

26
bin/datas/Li.dat Normal file
View File

@@ -0,0 +1,26 @@
[Global]
Number=3
ShortName=Li
CAS=7439-93-2
Name=Lithium
Bloc=s
Family=Alkaline
Wikipedia=http://en.wikipedia.org/wiki/Lithium
[History]
Year=1817
Discoverer=Johan August Arfwedson
Etymology=Greek "lithos" for "stone"
[Values]
MeltingPoint=453.69
BoilingPoint=1615
Mass=6.941
CovalentRadius=128
VanDerWaalsRadius=0
ElectronicAffinity=0.618049
Electronegativity=0.98
ElectronicConf=[He] 2s1
FirstIonistionEnergy=520.2
SecondIonisationEnergy=7298.1
ThirdIonisationEnergy=11815

26
bin/datas/N.dat Normal file
View File

@@ -0,0 +1,26 @@
[Global]
Number=7
ShortName=N
CAS=7727-37-9
Name=Nitrogen
Bloc=p
Family=Non-metal
Wikipedia=http://en.wikipedia.org/wiki/Nitrogen
[History]
Year=1772
Discoverer=Daniel Rutherford
Etymology=Latin "nitrogenium" for "forms salpeter"
[Values]
MeltingPoint=63.153
BoilingPoint=77.36
Mass=14.0067
CovalentRadius=71
VanDerWaalsRadius=154
ElectronicAffinity=-0.07
Electronegativity=3.04
ElectronicConf=[He] 2s2 2p3
FirstIonistionEnergy=1402.3
SecondIonisationEnergy=2856
ThirdIonisationEnergy=4578.1

26
bin/datas/O.dat Normal file
View File

@@ -0,0 +1,26 @@
[Global]
Number=8
ShortName=O
CAS=7782-44-7
Name=Oxygen
Bloc=p
Family=Non-metal
Wikipedia=http://en.wikipedia.org/wiki/Oxygen
[History]
Year=1774
Discoverer=Joseph Priestley, Carl Wilhelm Scheele
Etymology=Latin "oxygenium" for "forms acids"
[Values]
MeltingPoint=54.36
BoilingPoint=90.201
Mass=15.9994
CovalentRadius=66
VanDerWaalsRadius=140
ElectronicAffinity=1.46111
Electronegativity=3.44
ElectronicConf=[He] 2s2 2p4
FirstIonistionEnergy=1313.9
SecondIonisationEnergy=3388.3
ThirdIonisationEnergy=5300.5

BIN
bin/yapetavi Executable file

Binary file not shown.

1
buildsys.inc Normal file
View File

@@ -0,0 +1 @@
'Linux 4.9.111-1-MANJARO x86_64 GNU/Linux'

2
create-buildsys_inc.bat Normal file
View File

@@ -0,0 +1,2 @@
echo //Please do not edit this file. Just run create-buildsys_inc.bat on Windows or create-buildsys_inc.sh on unix > buildsys.inc
ver >> buildsys.inc

9
create-buildsys_inc.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
echo "\'$(uname -srmo)\'" > buildsys.inc
if [[ $? ]]; then
echo "File buildsys.inc created successfully."
else
echo "!!! Error #$? creating buildsys.inc !!!"
exit 1
fi

503
frmabout.lfm Normal file
View File

@@ -0,0 +1,503 @@
object AboutBox: TAboutBox
Left = 4080
Height = 441
Top = 0
Width = 650
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'About'
ClientHeight = 441
ClientWidth = 650
Constraints.MinHeight = 279
Constraints.MinWidth = 602
DesignTimePPI = 108
Font.Height = -12
Font.Name = 'MS Sans Serif'
OnCreate = FormCreate
Position = poMainFormCenter
ShowInTaskBar = stNever
LCLVersion = '1.9.0.0'
object ProgramIcon: TImage
Left = 14
Height = 72
Top = 14
Width = 72
Picture.Data = {
055449636F6EBE0800000000010001002020000000000000A808000016000000
2800000020000000400000000100080000000000800400000000000000000000
0001000000000000000000000000800000800000008080008000000080008000
80800000C0C0C000C0DCC000F0CAA600D4F0FF00B1E2FF008ED4FF006BC6FF00
48B8FF0025AAFF0000AAFF000092DC00007AB90000629600004A730000325000
D4E3FF00B1C7FF008EABFF006B8FFF004873FF002557FF000055FF000049DC00
003DB900003196000025730000195000D4D4FF00B1B1FF008E8EFF006B6BFF00
4848FF002525FF000000FE000000DC000000B900000096000000730000005000
E3D4FF00C7B1FF00AB8EFF008F6BFF007348FF005725FF005500FF004900DC00
3D00B900310096002500730019005000F0D4FF00E2B1FF00D48EFF00C66BFF00
B848FF00AA25FF00AA00FF009200DC007A00B900620096004A00730032005000
FFD4FF00FFB1FF00FF8EFF00FF6BFF00FF48FF00FF25FF00FE00FE00DC00DC00
B900B900960096007300730050005000FFD4F000FFB1E200FF8ED400FF6BC600
FF48B800FF25AA00FF00AA00DC009200B9007A009600620073004A0050003200
FFD4E300FFB1C700FF8EAB00FF6B8F00FF487300FF255700FF005500DC004900
B9003D00960031007300250050001900FFD4D400FFB1B100FF8E8E00FF6B6B00
FF484800FF252500FE000000DC000000B9000000960000007300000050000000
FFE3D400FFC7B100FFAB8E00FF8F6B00FF734800FF572500FF550000DC490000
B93D0000963100007325000050190000FFF0D400FFE2B100FFD48E00FFC66B00
FFB84800FFAA2500FFAA0000DC920000B97A000096620000734A000050320000
FFFFD400FFFFB100FFFF8E00FFFF6B00FFFF4800FFFF2500FEFE0000DCDC0000
B9B90000969600007373000050500000F0FFD400E2FFB100D4FF8E00C6FF6B00
B8FF4800AAFF2500AAFF000092DC00007AB90000629600004A73000032500000
E3FFD400C7FFB100ABFF8E008FFF6B0073FF480057FF250055FF000049DC0000
3DB90000319600002573000019500000D4FFD400B1FFB1008EFF8E006BFF6B00
48FF480025FF250000FE000000DC000000B90000009600000073000000500000
D4FFE300B1FFC7008EFFAB006BFF8F0048FF730025FF570000FF550000DC4900
00B93D00009631000073250000501900D4FFF000B1FFE2008EFFD4006BFFC600
48FFB80025FFAA0000FFAA0000DC920000B97A000096620000734A0000503200
D4FFFF00B1FFFF008EFFFF006BFFFF0048FFFF0025FFFF0000FEFE0000DCDC00
00B9B900009696000073730000505000F2F2F200E6E6E600DADADA00CECECE00
C2C2C200B6B6B600AAAAAA009E9E9E0092929200868686007A7A7A006E6E6E00
62626200565656004A4A4A003E3E3E0032323200262626001A1A1A000E0E0E00
F0FBFF00A4A0A000808080000000FF0000FF000000FFFF00FF000000FF00FF00
FFFF0000FFFFFF00FFFFFFFFFFFFFFFFFFFFE27778797A7A7A7A797877E2FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76787B7B7B7B7D7D7D7B7B7B7B7A7876
FFFFFFFFFFFFFFFFFFFFFFFFFFFFE2787B7B7D7D7D7D7D7D7D7D7D7D7D7B7B7A
78E2FFFFFFFFFFFFFFFFFFFFFF76797B7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7B
7B7976FFFFFFFFFFFFFFFFFF6A7A7B7D7D7D7D7D7D7D7D7D7D7D7D7D7D7B7B7D
7B7B7A6AFFFFFFFFFFFFFF767A7D7D7D7D7D7D7D7D7D7D7D7B7B7B7B7B7B7B7B
7B7B7B7A76FFFFFFFFFFE2797B7D7D7D7D7D7D7D7D7D7B7B7B7B7B7B7B7B7B7B
7B7B7B7B79E2FFFFFFFF787B7D7D7D7D7D7D7D7D7B7B7B7B7B7B7B7B7B7B7B7B
7B7B7B7B7B78FFFFFF767B7D7D7D7D7D7D7D7B7B7B7B7B7B7B7B7B7B7B7B7B7B
7B7B7B7B7B7A76FFFF787B7D7D7D7D7D7D7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B
7B7B7B7B7B7B78FFE27B7D7D7D7D7D7D7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B
7B7B7B7B7B7B7AE2777B7D7D7D7D7D7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B7B
7B7B7B7B7B7B7B77787D7D7D7D7D7B7B7D7D7D7D7D7D7D7D7D7D7D7D7D7B7B7B
7B7B7B7B7B7B7B787A7D7D7D7E7E7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D
7D7D7B7B7B7B7B797B7D7E7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D
7D7D7D7D7D7B7B7A7B7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D
7D7D7D7D7D7D7D7B7E7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D
7D7D7D7D7D7D7D7B7A7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7C7C7C
7C7C7C7C7D7D7D79F7667E7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7C7B7C7C7C
7C7C7C7C7C7B7A78E7EDED6E7B7D7D7D7D7D7D7D7D7D7D7D7D7B7A79797A7B7C
7C7C7B7A79796C09E5EDECECECF86D7A7A7B7B7B7B7C7C7C7B79787777787979
79796C6C6C6C6C6AE2EBECECECF8EBEB796C6C6C6C6C6C6C097682E2E2767778
6C6C6C6C6C6C78E2FFE7ECECF8EBEB79796C6C6C6C6C6C787782FFFFFF827778
7878786C6C6C09FFFFE3EBECF8EBEB796C6C6C6C6C6C6C096A82FFFFE2766B78
787878786C78E3FFFFFF07ECF8EB79796C6C6C6C6C6C6C787776828276777878
787878786C09FFFFFFFFE2F7F8EB796C6C6C6C6C6C6C6C6C09776A776B787878
7878786C09E2FFFFFFFFFFE3F7EB796C6C6C6C6C6C6C6C6C6C78787878787878
78787878E3FFFFFFFFFFFFFF76F7796C6C6C6C6C6C6C6C6C7878787878787878
78787876FFFFFFFFFFFFFFFFFFE3E86C6C6C6C6C6C6C6C6C7878787878787878
7809E3FFFFFFFFFFFFFFFFFFFFFFE2076C6C6C6C6C6C6C6C7878787878787878
09E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFE3076C6C6C6C6C6C78787878787809E3
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE26A0778786C6C7878096AE2FFFF
FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000
}
Stretch = True
end
object Label2: TLabel
Left = 99
Height = 23
Top = 18
Width = 480
Caption = 'YaPeTaVi - Yet another Periodic Table Viewer'
Font.Height = -19
Font.Name = 'Sans Serif'
Font.Pitch = fpVariable
Font.Quality = fqAntialiased
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object lbFullVersion: TLabel
Left = 99
Height = 17
Top = 50
Width = 155
Caption = 'Version %s (%s-%s)'
Font.Height = -14
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object PageControl1: TPageControl
Left = 14
Height = 288
Top = 99
Width = 626
ActivePage = TabSheet1
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentFont = False
TabIndex = 0
TabOrder = 0
object TabSheet1: TTabSheet
Caption = 'About'
ClientHeight = 256
ClientWidth = 622
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentFont = False
object ProductName: TLabel
Left = 18
Height = 37
Top = 16
Width = 576
AutoSize = False
Caption = 'YaPeTaVi is a complete study and analysis software for many elementary particles. It provides many functionnality for filtering, graphics and many more...'
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
WordWrap = True
end
object Copyright: TLabel
Left = 18
Height = 17
Top = 107
Width = 398
Alignment = taCenter
Caption = 'Copyright (c) 1997-2000, 2009-2011 Geoffray Levasseur'
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
end
object Label1: TLabel
Left = 18
Height = 17
Top = 71
Width = 387
Caption = 'Compiled using Free Pascal %s and Lazarus %s rev %s.'
Constraints.MaxWidth = 585
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
end
object Label3: TLabel
Left = 18
Height = 17
Top = 155
Width = 338
Caption = 'geoffray.levasseurbrandin@numericable.fr'
Font.Color = clHighlight
Font.Height = -14
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
OnClick = lbWebAddressClick
OnMouseEnter = lbWebAddressMouseEnter
OnMouseLeave = lbWebAddressMouseLeave
end
object lbWebAddress: TLabel
Left = 18
Height = 17
Top = 174
Width = 277
Caption = 'http://www.geoffray-levasseur.org/'
Font.Color = clHighlight
Font.Height = -14
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
OnClick = lbWebAddressClick
OnMouseEnter = lbWebAddressMouseEnter
OnMouseLeave = lbWebAddressMouseLeave
end
object Label4: TLabel
Left = 18
Height = 17
Top = 224
Width = 512
Caption = 'Licensed under the GNU General Public License. See ''License'' for details.'
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
end
end
object TabSheet2: TTabSheet
Caption = 'Authors'
ClientHeight = 230
ClientWidth = 548
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentFont = False
object Label5: TLabel
Left = 16
Height = 14
Top = 12
Width = 185
Caption = 'Geoffray "fatalerrors" Levasseur'
Font.Height = -14
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object Label6: TLabel
Left = 45
Height = 14
Top = 34
Width = 101
Caption = 'geoffray.levasseurbrandin@numericable.fr'
Font.Color = clHighlight
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
OnClick = lbWebAddressClick
OnMouseEnter = lbWebAddressMouseEnter
OnMouseLeave = lbWebAddressMouseLeave
end
object Label7: TLabel
Left = 45
Height = 14
Top = 52
Width = 160
Caption = 'http://www.geoffray-levasseur.org/'
Font.Color = clHighlight
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
OnClick = lbWebAddressClick
OnMouseEnter = lbWebAddressMouseEnter
OnMouseLeave = lbWebAddressMouseLeave
end
object Label8: TLabel
Left = 45
Height = 14
Top = 70
Width = 224
Caption = 'Project founder, lead developer and maintainer.'
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
end
end
object TabSheet3: TTabSheet
Caption = 'Thanks to'
ClientHeight = 230
ClientWidth = 548
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentFont = False
object Label10: TLabel
Left = 16
Height = 14
Top = 12
Width = 103
Caption = 'Guillaume Lecocq'
Font.Height = -14
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object Label11: TLabel
Left = 45
Height = 14
Top = 34
Width = 135
Caption = 'lecocqguillaume@gmail.com'
Font.Color = clHighlight
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
OnClick = lbWebAddressClick
OnMouseEnter = lbWebAddressMouseEnter
OnMouseLeave = lbWebAddressMouseLeave
end
object Label13: TLabel
Left = 45
Height = 14
Top = 52
Width = 197
Caption = 'Win32 tests, corrections and adaptations.'
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
end
object Label19: TLabel
Left = 16
Height = 14
Top = 83
Width = 189
Caption = 'Wikipedia, the free encyclopedia'
Font.Height = -14
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object Label20: TLabel
Left = 45
Height = 14
Top = 105
Width = 126
Caption = 'http://www.wikipedia.org/'
Font.Color = clHighlight
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
OnClick = lbWebAddressClick
OnMouseEnter = lbWebAddressMouseEnter
OnMouseLeave = lbWebAddressMouseLeave
end
object Label21: TLabel
Left = 45
Height = 14
Top = 123
Width = 251
Caption = 'Most of the datas and pictures comes from Wikipedia'
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
end
end
object TabSheet4: TTabSheet
Caption = 'Translators'
ClientHeight = 230
ClientWidth = 548
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentFont = False
object Label9: TLabel
Left = 16
Height = 14
Top = 12
Width = 41
Caption = 'French'
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object Label12: TLabel
Left = 45
Height = 14
Top = 34
Width = 93
Caption = 'Geoffray Levasseur'
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
end
object Label14: TLabel
Left = 45
Height = 14
Top = 52
Width = 101
Caption = 'geoffray.levasseurbrandin@numericable.fr'
Font.Color = clHighlight
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
OnClick = lbWebAddressClick
OnMouseEnter = lbWebAddressMouseEnter
OnMouseLeave = lbWebAddressMouseLeave
end
end
object TabSheet5: TTabSheet
Caption = 'License'
ClientHeight = 230
ClientWidth = 548
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentFont = False
object Label15: TLabel
Left = 18
Height = 72
Top = 17
Width = 585
AutoSize = False
Caption = 'This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.'
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
WordWrap = True
end
object Label16: TLabel
Left = 18
Height = 90
Top = 89
Width = 585
AutoSize = False
Caption = 'This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.'
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
WordWrap = True
end
object Label17: TLabel
Left = 18
Height = 70
Top = 161
Width = 585
AutoSize = False
Caption = 'You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.'
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
WordWrap = True
end
object Label18: TLabel
Left = 18
Height = 14
Top = 224
Width = 100
Caption = 'Read the full license.'
Font.Color = clHighlight
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
OnClick = Label18Click
OnMouseEnter = lbWebAddressMouseEnter
OnMouseLeave = lbWebAddressMouseLeave
end
end
end
object lbBuild: TLabel
Left = 99
Height = 17
Top = 70
Width = 154
Caption = 'Build on %s using %s.'
Font.Height = -14
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
end
object btnClose: TBitBtn
Tag = 6
Left = 468
Height = 34
Top = 396
Width = 171
Caption = 'Close'
Font.Height = -14
Font.Name = 'MS Sans Serif'
OnClick = btnCloseClick
ParentFont = False
TabOrder = 1
end
end

35
frmabout.lrj Normal file
View File

@@ -0,0 +1,35 @@
{"version":1,"strings":[
{"hash":4691652,"name":"taboutbox.caption","sourcebytes":[65,98,111,117,116],"value":"About"},
{"hash":222956658,"name":"taboutbox.label2.caption","sourcebytes":[89,97,80,101,84,97,86,105,32,45,32,89,101,116,32,97,110,111,116,104,101,114,32,80,101,114,105,111,100,105,99,32,84,97,98,108,101,32,86,105,101,119,101,114],"value":"YaPeTaVi - Yet another Periodic Table Viewer"},
{"hash":185312121,"name":"taboutbox.lbfullversion.caption","sourcebytes":[86,101,114,115,105,111,110,32,37,115,32,40,37,115,45,37,115,41],"value":"Version %s (%s-%s)"},
{"hash":4691652,"name":"taboutbox.tabsheet1.caption","sourcebytes":[65,98,111,117,116],"value":"About"},
{"hash":36832638,"name":"taboutbox.productname.caption","sourcebytes":[89,97,80,101,84,97,86,105,32,105,115,32,97,32,99,111,109,112,108,101,116,101,32,115,116,117,100,121,32,97,110,100,32,97,110,97,108,121,115,105,115,32,115,111,102,116,119,97,114,101,32,102,111,114,32,109,97,110,121,32,101,108,101,109,101,110,116,97,114,121,32,112,97,114,116,105,99,108,101,115,46,32,73,116,32,112,114,111,118,105,100,101,115,32,109,97,110,121,32,102,117,110,99,116,105,111,110,110,97,108,105,116,121,32,102,111,114,32,102,105,108,116,101,114,105,110,103,44,32,103,114,97,112,104,105,99,115,32,97,110,100,32,109,97,110,121,32,109,111,114,101,46,46,46],"value":"YaPeTaVi is a complete study and analysis software for many elementary particles. It provides many functionnality for filtering, graphics and many more..."},
{"hash":78842882,"name":"taboutbox.copyright.caption","sourcebytes":[67,111,112,121,114,105,103,104,116,32,40,99,41,32,49,57,57,55,45,50,48,48,48,44,32,50,48,48,57,45,50,48,49,49,32,71,101,111,102,102,114,97,121,32,76,101,118,97,115,115,101,117,114],"value":"Copyright (c) 1997-2000, 2009-2011 Geoffray Levasseur"},
{"hash":57530350,"name":"taboutbox.label1.caption","sourcebytes":[67,111,109,112,105,108,101,100,32,117,115,105,110,103,32,70,114,101,101,32,80,97,115,99,97,108,32,37,115,32,97,110,100,32,76,97,122,97,114,117,115,32,37,115,32,114,101,118,32,37,115,46],"value":"Compiled using Free Pascal %s and Lazarus %s rev %s."},
{"hash":165193410,"name":"taboutbox.label3.caption","sourcebytes":[103,101,111,102,102,114,97,121,46,108,101,118,97,115,115,101,117,114,98,114,97,110,100,105,110,64,110,117,109,101,114,105,99,97,98,108,101,46,102,114],"value":"geoffray.levasseurbrandin@numericable.fr"},
{"hash":111302127,"name":"taboutbox.lbwebaddress.caption","sourcebytes":[104,116,116,112,58,47,47,119,119,119,46,103,101,111,102,102,114,97,121,45,108,101,118,97,115,115,101,117,114,46,111,114,103,47],"value":"http://www.geoffray-levasseur.org/"},
{"hash":101655166,"name":"taboutbox.label4.caption","sourcebytes":[76,105,99,101,110,115,101,100,32,117,110,100,101,114,32,116,104,101,32,71,78,85,32,71,101,110,101,114,97,108,32,80,117,98,108,105,99,32,76,105,99,101,110,115,101,46,32,83,101,101,32,39,76,105,99,101,110,115,101,39,32,102,111,114,32,100,101,116,97,105,108,115,46],"value":"Licensed under the GNU General Public License. See 'License' for details."},
{"hash":147519187,"name":"taboutbox.tabsheet2.caption","sourcebytes":[65,117,116,104,111,114,115],"value":"Authors"},
{"hash":75907986,"name":"taboutbox.label5.caption","sourcebytes":[71,101,111,102,102,114,97,121,32,34,102,97,116,97,108,101,114,114,111,114,115,34,32,76,101,118,97,115,115,101,117,114],"value":"Geoffray \"fatalerrors\" Levasseur"},
{"hash":165193410,"name":"taboutbox.label6.caption","sourcebytes":[103,101,111,102,102,114,97,121,46,108,101,118,97,115,115,101,117,114,98,114,97,110,100,105,110,64,110,117,109,101,114,105,99,97,98,108,101,46,102,114],"value":"geoffray.levasseurbrandin@numericable.fr"},
{"hash":111302127,"name":"taboutbox.label7.caption","sourcebytes":[104,116,116,112,58,47,47,119,119,119,46,103,101,111,102,102,114,97,121,45,108,101,118,97,115,115,101,117,114,46,111,114,103,47],"value":"http://www.geoffray-levasseur.org/"},
{"hash":158750942,"name":"taboutbox.label8.caption","sourcebytes":[80,114,111,106,101,99,116,32,102,111,117,110,100,101,114,44,32,108,101,97,100,32,100,101,118,101,108,111,112,101,114,32,97,110,100,32,109,97,105,110,116,97,105,110,101,114,46],"value":"Project founder, lead developer and maintainer."},
{"hash":139595087,"name":"taboutbox.tabsheet3.caption","sourcebytes":[84,104,97,110,107,115,32,116,111],"value":"Thanks to"},
{"hash":134744785,"name":"taboutbox.label10.caption","sourcebytes":[71,117,105,108,108,97,117,109,101,32,76,101,99,111,99,113],"value":"Guillaume Lecocq"},
{"hash":264417517,"name":"taboutbox.label11.caption","sourcebytes":[108,101,99,111,99,113,103,117,105,108,108,97,117,109,101,64,103,109,97,105,108,46,99,111,109],"value":"lecocqguillaume@gmail.com"},
{"hash":50079166,"name":"taboutbox.label13.caption","sourcebytes":[87,105,110,51,50,32,116,101,115,116,115,44,32,99,111,114,114,101,99,116,105,111,110,115,32,97,110,100,32,97,100,97,112,116,97,116,105,111,110,115,46],"value":"Win32 tests, corrections and adaptations."},
{"hash":229739169,"name":"taboutbox.label19.caption","sourcebytes":[87,105,107,105,112,101,100,105,97,44,32,116,104,101,32,102,114,101,101,32,101,110,99,121,99,108,111,112,101,100,105,97],"value":"Wikipedia, the free encyclopedia"},
{"hash":141736815,"name":"taboutbox.label20.caption","sourcebytes":[104,116,116,112,58,47,47,119,119,119,46,119,105,107,105,112,101,100,105,97,46,111,114,103,47],"value":"http://www.wikipedia.org/"},
{"hash":261758657,"name":"taboutbox.label21.caption","sourcebytes":[77,111,115,116,32,111,102,32,116,104,101,32,100,97,116,97,115,32,97,110,100,32,112,105,99,116,117,114,101,115,32,99,111,109,101,115,32,102,114,111,109,32,87,105,107,105,112,101,100,105,97],"value":"Most of the datas and pictures comes from Wikipedia"},
{"hash":175324867,"name":"taboutbox.tabsheet4.caption","sourcebytes":[84,114,97,110,115,108,97,116,111,114,115],"value":"Translators"},
{"hash":81314968,"name":"taboutbox.label9.caption","sourcebytes":[70,114,101,110,99,104],"value":"French"},
{"hash":14529234,"name":"taboutbox.label12.caption","sourcebytes":[71,101,111,102,102,114,97,121,32,76,101,118,97,115,115,101,117,114],"value":"Geoffray Levasseur"},
{"hash":165193410,"name":"taboutbox.label14.caption","sourcebytes":[103,101,111,102,102,114,97,121,46,108,101,118,97,115,115,101,117,114,98,114,97,110,100,105,110,64,110,117,109,101,114,105,99,97,98,108,101,46,102,114],"value":"geoffray.levasseurbrandin@numericable.fr"},
{"hash":49923525,"name":"taboutbox.tabsheet5.caption","sourcebytes":[76,105,99,101,110,115,101],"value":"License"},
{"hash":117389630,"name":"taboutbox.label15.caption","sourcebytes":[84,104,105,115,32,112,114,111,103,114,97,109,32,105,115,32,102,114,101,101,32,115,111,102,116,119,97,114,101,59,32,121,111,117,32,99,97,110,32,114,101,100,105,115,116,114,105,98,117,116,101,32,105,116,32,97,110,100,47,111,114,32,109,111,100,105,102,121,32,105,116,32,117,110,100,101,114,32,116,104,101,32,116,101,114,109,115,32,111,102,32,116,104,101,32,71,78,85,32,71,101,110,101,114,97,108,32,80,117,98,108,105,99,32,76,105,99,101,110,115,101,32,97,115,32,112,117,98,108,105,115,104,101,100,32,98,121,32,116,104,101,32,70,114,101,101,32,83,111,102,116,119,97,114,101,32,70,111,117,110,100,97,116,105,111,110,59,32,101,105,116,104,101,114,32,118,101,114,115,105,111,110,32,51,32,111,102,32,116,104,101,32,76,105,99,101,110,115,101,44,32,111,114,32,40,97,116,32,121,111,117,114,32,111,112,116,105,111,110,41,32,97,110,121,32,108,97,116,101,114,32,118,101,114,115,105,111,110,46],"value":"This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version."},
{"hash":47154798,"name":"taboutbox.label16.caption","sourcebytes":[84,104,105,115,32,112,114,111,103,114,97,109,32,105,115,32,100,105,115,116,114,105,98,117,116,101,100,32,105,110,32,116,104,101,32,104,111,112,101,32,116,104,97,116,32,105,116,32,119,105,108,108,32,98,101,32,117,115,101,102,117,108,44,32,98,117,116,32,87,73,84,72,79,85,84,32,65,78,89,32,87,65,82,82,65,78,84,89,59,32,119,105,116,104,111,117,116,32,101,118,101,110,32,116,104,101,32,105,109,112,108,105,101,100,32,119,97,114,114,97,110,116,121,32,111,102,32,77,69,82,67,72,65,78,84,65,66,73,76,73,84,89,32,111,114,32,70,73,84,78,69,83,83,32,70,79,82,32,65,32,80,65,82,84,73,67,85,76,65,82,32,80,85,82,80,79,83,69,46,32,32,83,101,101,32,116,104,101,32,71,78,85,32,71,101,110,101,114,97,108,32,80,117,98,108,105,99,32,76,105,99,101,110,115,101,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46],"value":"This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details."},
{"hash":81682878,"name":"taboutbox.label17.caption","sourcebytes":[89,111,117,32,115,104,111,117,108,100,32,104,97,118,101,32,114,101,99,101,105,118,101,100,32,97,32,99,111,112,121,32,111,102,32,116,104,101,32,71,78,85,32,71,101,110,101,114,97,108,32,80,117,98,108,105,99,32,76,105,99,101,110,115,101,32,97,108,111,110,103,32,119,105,116,104,32,116,104,105,115,32,112,114,111,103,114,97,109,59,32,105,102,32,110,111,116,44,32,119,114,105,116,101,32,116,111,32,116,104,101,32,70,114,101,101,32,83,111,102,116,119,97,114,101,32,70,111,117,110,100,97,116,105,111,110,44,32,73,110,99,46,44,32,53,57,32,84,101,109,112,108,101,32,80,108,97,99,101,32,45,32,83,117,105,116,101,32,51,51,48,44,32,66,111,115,116,111,110,44,32,77,65,32,32,48,50,49,49,49,45,49,51,48,55,44,32,85,83,65,46],"value":"You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."},
{"hash":71815758,"name":"taboutbox.label18.caption","sourcebytes":[82,101,97,100,32,116,104,101,32,102,117,108,108,32,108,105,99,101,110,115,101,46],"value":"Read the full license."},
{"hash":246050062,"name":"taboutbox.lbbuild.caption","sourcebytes":[66,117,105,108,100,32,111,110,32,37,115,32,117,115,105,110,103,32,37,115,46],"value":"Build on %s using %s."},
{"hash":4863637,"name":"taboutbox.btnclose.caption","sourcebytes":[67,108,111,115,101],"value":"Close"}
]}

162
frmabout.pas Normal file
View File

@@ -0,0 +1,162 @@
{
********************************************************************************
Molecule Analyzer
Copyright (C) 1997-1999, 2009-2010 Geoffray Levasseur <geoffray.levasseurbrandin@numericable.fr>.
All rights reserved.
http://www.geoffray-levasseur.org/
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either Version 3 of the License, or (at your option) any later
Version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA.
********************************************************************************
Description:
About dialog unit
}
unit frmAbout;
{$mode objfpc}{$H+}
{ $MODE Delphi}
interface
uses {Windows,} SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, Menus, LResources, ComCtrls, uConst;
type
{ TAboutBox }
TAboutBox = class(TForm)
btnClose: TBitBtn;
Copyright: TLabel;
Label1: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label2: TLabel;
Label20: TLabel;
Label21: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
lbWebAddress: TLabel;
lbBuild: TLabel;
lbFullVersion: TLabel;
PageControl1: TPageControl;
ProductName: TLabel;
ProgramIcon: TImage;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
procedure btnCloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Label18Click(Sender: TObject);
procedure lbWebAddressClick(Sender: TObject);
procedure lbWebAddressMouseEnter(Sender: TObject);
procedure lbWebAddressMouseLeave(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
AboutBox: TAboutBox;
procedure ShowAboutBox;
implementation
uses
uUtils, uVersion, uIconManager, uDebug;
procedure ShowAboutBox;
begin
PrintLnDbg('-- Showing about form...', vlLow);
Inc(DebugLevel);
with TAboutBox.Create(Application) do
try
ShowModal;
finally
Free;
end;
Dec(DebugLevel);
PrintLnDbg('-- Done and freed', vlLow);
end;
procedure TAboutBox.btnCloseClick(Sender: TObject);
begin
Close;
PrintLnDbg('Silensium est aurum.', vlLow);
end;
procedure TAboutBox.FormCreate(Sender: TObject);
begin
InitBtnGlyphs(Self);
lbFullVersion.Caption := Format(lbFullVersion.Caption, [GetVersionString(MolAnalVersion),
GetBuildOS, GetBuildCPU]);
Label1.Caption := Format(Label1.Caption, [GetFPCVersion, GetLazarusVersion,
GetLazarusRevision]);
lbBuild.Caption := Format(lbBuild.Caption, [GetBuildDate, BuildSys]);
PageControl1.TabIndex := 0;
PrintLnDbg('Sic luceat lux et pax.', vlLow);
end;
procedure TAboutBox.Label18Click(Sender: TObject);
begin
OpenURL('http://www.gnu.org/licenses/gpl.html');
end;
procedure TAboutBox.lbWebAddressClick(Sender: TObject);
begin
if not (Sender is TLabel) then
Exit;
OpenURL((Sender as TLabel).Caption);
end;
procedure TAboutBox.lbWebAddressMouseEnter(Sender: TObject);
begin
if not (Sender is TLabel) then //this can only happen with programmation error
Exit;
(Sender as TLabel).Font.Color := clPurple;
(Sender as TLabel).Font.Style := [fsUnderline];
(Sender as TLabel).Cursor := crHandPoint;
end;
procedure TAboutBox.lbWebAddressMouseLeave(Sender: TObject);
begin
if not (Sender is TLabel) then
Exit;
(Sender as TLabel).Font.Color := clHighlight;
(Sender as TLabel).Font.Style := [];
end;
initialization
{$i frmabout.lrs}
end.

103
frmadd.lfm Normal file
View File

@@ -0,0 +1,103 @@
object AddForm: TAddForm
Left = 2706
Height = 118
Top = 511
Width = 270
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'Ajouter'
ClientHeight = 118
ClientWidth = 270
DesignTimePPI = 108
Font.Height = -12
Font.Name = 'MS Sans Serif'
OnCreate = FormCreate
Position = poScreenCenter
LCLVersion = '1.9.0.0'
object Label1: TLabel
Left = 4
Height = 15
Top = 4
Width = 181
Caption = 'Adding the following element:'
Font.Height = -12
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
end
object Label2: TLabel
Left = 4
Height = 15
Top = 22
Width = 25
Caption = '(...)'
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object Label3: TLabel
Left = 4
Height = 15
Top = 50
Width = 55
Caption = 'Quantity:'
Font.Height = -12
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
end
object Label4: TLabel
Left = 45
Height = 15
Top = 22
Width = 21
Caption = '(...)'
Font.Height = -12
Font.Name = 'MS Sans Serif'
ParentColor = False
ParentFont = False
end
object Edit: TSpinEdit
Left = 81
Height = 29
Top = 45
Width = 180
Font.Height = -12
Font.Name = 'MS Sans Serif'
OnChange = EditChange
OnKeyPress = EditKeyPress
ParentFont = False
TabOrder = 0
end
object btnCancel: TBitBtn
Tag = 23
Left = 45
Height = 34
Top = 78
Width = 106
Anchors = [akRight, akBottom]
Caption = '&Cancel'
Font.Height = -12
Font.Name = 'MS Sans Serif'
ModalResult = 2
ParentFont = False
TabOrder = 1
end
object btnOk: TBitBtn
Tag = 22
Left = 155
Height = 34
Top = 78
Width = 106
Anchors = [akRight, akBottom]
Caption = 'OK'
Default = True
Font.Height = -12
Font.Name = 'MS Sans Serif'
ModalResult = 1
ParentFont = False
TabOrder = 2
end
end

9
frmadd.lrj Normal file
View File

@@ -0,0 +1,9 @@
{"version":1,"strings":[
{"hash":135711362,"name":"taddform.caption","sourcebytes":[65,106,111,117,116,101,114],"value":"Ajouter"},
{"hash":224472010,"name":"taddform.label1.caption","sourcebytes":[65,100,100,105,110,103,32,116,104,101,32,102,111,108,108,111,119,105,110,103,32,101,108,101,109,101,110,116,58],"value":"Adding the following element:"},
{"hash":2822409,"name":"taddform.label2.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":140202874,"name":"taddform.label3.caption","sourcebytes":[81,117,97,110,116,105,116,121,58],"value":"Quantity:"},
{"hash":2822409,"name":"taddform.label4.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":177752476,"name":"taddform.btncancel.caption","sourcebytes":[38,67,97,110,99,101,108],"value":"&Cancel"},
{"hash":1339,"name":"taddform.btnok.caption","sourcebytes":[79,75],"value":"OK"}
]}

111
frmadd.pas Normal file
View File

@@ -0,0 +1,111 @@
{
********************************************************************************
YaPeTaVi - Yet another Periodic Table Viewer
Copyright (C) 1997, 2009 Geoffray Levasseur <geoffray.levasseurbrandin@numericable.fr>.
All rights reserved.
http://www.geoffray-levasseur.org/
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA.
********************************************************************************
Description:
Add element dialog unit
}
{$warning Todo: This form should have a drop-down element to select in wich tool
the atom is added}
unit frmAdd;
{$mode objfpc}{$H+}
interface
uses
SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, ComCtrls, LResources, Spin, Buttons;
type
{ TAddForm }
TAddForm = class(TForm)
btnCancel: TBitBtn;
btnOk: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit: TSpinEdit;
procedure btnOkClick(Sender: TObject);
procedure EditKeyPress(Sender: TObject; var Key: Char);
procedure btnCancelClick(Sender: TObject);
procedure EditChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
AddForm: TAddForm;
implementation
uses
frmMassCalculator, uIconManager;
procedure TAddForm.btnOkClick(Sender: TObject);
begin { $warning MassCalcForm can be unintialised!}
if MassCalcForm = nil then
MassCalcForm := TMassCalcForm.Create(Application);
if (StrToInt(Edit.Text) > 0) and (StrToInt(Edit.Text) <= 99) then
begin
if Edit.Text = '1' then
MassCalcForm.Edit.Text := MassCalcForm.Edit.Text + Label2.Caption
else MassCalcForm.Edit.Text := MassCalcForm.Edit.Text + Label2.Caption +
Trim(Edit.Text);
Close;
end;
end;
procedure TAddForm.EditKeyPress(Sender: TObject; var Key: Char);
begin
If (Key = #13) and (Trim(Edit.Text) <> '') then
btnOkClick(Self);
end;
procedure TAddForm.btnCancelClick(Sender: TObject);
begin
Close;
end;
procedure TAddForm.EditChange(Sender: TObject);
begin
if Trim(Edit.Text) = '' then
btnOk.Enabled := False
else btnOk.Enabled := True;
end;
procedure TAddForm.FormCreate(Sender: TObject);
begin
InitBtnGlyphs(Self);
end;
initialization
{$i frmadd.lrs}
end.

90
frmbloclegend.lfm Normal file
View File

@@ -0,0 +1,90 @@
object BlocLegendForm: TBlocLegendForm
Left = 3651
Height = 90
Top = 562
Width = 201
Caption = 'BlocLegendForm'
ClientHeight = 90
ClientWidth = 201
Color = clForm
DesignTimePPI = 108
OnShow = FormShow
ShowInTaskBar = stNever
LCLVersion = '1.9.0.0'
object Label15: TLabel
Left = 39
Height = 20
Top = 8
Width = 37
Caption = 'Bloc s'
ParentColor = False
ParentFont = False
end
object Label14: TLabel
Left = 39
Height = 20
Top = 26
Width = 39
Caption = 'Bloc d'
ParentColor = False
ParentFont = False
end
object Label17: TLabel
Left = 39
Height = 20
Top = 62
Width = 36
Caption = 'Bloc f'
ParentColor = False
ParentFont = False
end
object Label16: TLabel
Left = 39
Height = 20
Top = 44
Width = 39
Caption = 'Bloc p'
ParentColor = False
ParentFont = False
end
object pnD: TPanel
Left = 12
Height = 18
Top = 26
Width = 18
Color = clPurple
ParentColor = False
ParentFont = False
TabOrder = 0
end
object pnS: TPanel
Left = 12
Height = 18
Top = 8
Width = 18
Color = clNavy
ParentColor = False
ParentFont = False
TabOrder = 1
end
object pnP: TPanel
Left = 12
Height = 18
Top = 44
Width = 18
Color = clGreen
ParentColor = False
ParentFont = False
TabOrder = 2
end
object pnF: TPanel
Left = 12
Height = 18
Top = 62
Width = 18
Color = clMaroon
ParentColor = False
ParentFont = False
TabOrder = 3
end
end

7
frmbloclegend.lrj Normal file
View File

@@ -0,0 +1,7 @@
{"version":1,"strings":[
{"hash":152107469,"name":"tbloclegendform.caption","sourcebytes":[66,108,111,99,76,101,103,101,110,100,70,111,114,109],"value":"BlocLegendForm"},
{"hash":76764531,"name":"tbloclegendform.label15.caption","sourcebytes":[66,108,111,99,32,115],"value":"Bloc s"},
{"hash":76764516,"name":"tbloclegendform.label14.caption","sourcebytes":[66,108,111,99,32,100],"value":"Bloc d"},
{"hash":76764518,"name":"tbloclegendform.label17.caption","sourcebytes":[66,108,111,99,32,102],"value":"Bloc f"},
{"hash":76764528,"name":"tbloclegendform.label16.caption","sourcebytes":[66,108,111,99,32,112],"value":"Bloc p"}
]}

84
frmbloclegend.pas Normal file
View File

@@ -0,0 +1,84 @@
{
********************************************************************************
YaPeTaVi - Yet another Periodic Table Viewer
Copyright (C) 2009 Geoffray Levasseur <geoffray.levasseurbrandin@numericable.fr>.
All rights reserved.
http://www.geoffray-levasseur.org/
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA.
********************************************************************************
Description:
Bloc legend
}
unit frmBlocLegend;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, ExtCtrls;
type
{ TBlocLegendForm }
TBlocLegendForm = class(TForm)
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
pnS: TPanel;
pnD: TPanel;
pnP: TPanel;
pnF: TPanel;
procedure FormShow(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
BlocLegendForm: TBlocLegendForm;
implementation
uses
uConst;
{ TBlocLegendForm }
procedure TBlocLegendForm.FormShow(Sender: TObject);
begin
pnS.Color := clSBlocBG;
pnS.Font.Color := clSBlocFG;
pnD.Color := clDBlocBG;
pnD.Font.Color := clDBlocFG;
pnP.Color := clPBlocBG;
pnP.Font.Color := clPBlocFG;
pnF.Color := clFBlocBG;
pnF.Font.Color := clFBlocFG;
end;
initialization
{$I frmbloclegend.lrs}
end.

83
frmdiscovererlist.lfm Normal file
View File

@@ -0,0 +1,83 @@
object DiscovererListForm: TDiscovererListForm
Left = 3231
Height = 421
Top = 0
Width = 821
Caption = 'Discoverer list'
ClientHeight = 421
ClientWidth = 821
DesignTimePPI = 108
OnCreate = FormCreate
LCLVersion = '1.9.0.0'
object btnClose: TBitBtn
Tag = 6
Left = 636
Height = 35
Top = 375
Width = 169
Anchors = [akRight, akBottom]
Caption = 'Close'
OnClick = btnCloseClick
ParentFont = False
TabOrder = 0
end
object lbDiscoverer: TListBox
Left = 9
Height = 392
Top = 18
Width = 199
Anchors = [akTop, akLeft, akBottom]
ItemHeight = 0
OnClick = lbDiscovererClick
ParentFont = False
TabOrder = 1
end
object lblDiscoName: TLabel
Left = 222
Height = 23
Top = 18
Width = 109
Caption = 'lblDiscoName'
Font.Height = -18
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object Label1: TLabel
Left = 222
Height = 20
Top = 63
Width = 134
Caption = 'Discovered elements:'
ParentColor = False
ParentFont = False
end
object memElements: TMemo
Left = 240
Height = 268
Top = 88
Width = 565
Anchors = [akTop, akLeft, akRight, akBottom]
BorderStyle = bsNone
Color = clForm
Lines.Strings = (
''
)
ParentFont = False
ReadOnly = True
ScrollBars = ssAutoVertical
TabOrder = 2
end
object btnWikipedia: TBitBtn
Tag = 35
Left = 222
Height = 35
Top = 375
Width = 169
Anchors = [akLeft, akBottom]
Caption = 'Wikipedia'
OnClick = btnWikipediaClick
ParentFont = False
TabOrder = 3
end
end

7
frmdiscovererlist.lrj Normal file
View File

@@ -0,0 +1,7 @@
{"version":1,"strings":[
{"hash":98678564,"name":"tdiscovererlistform.caption","sourcebytes":[68,105,115,99,111,118,101,114,101,114,32,108,105,115,116],"value":"Discoverer list"},
{"hash":4863637,"name":"tdiscovererlistform.btnclose.caption","sourcebytes":[67,108,111,115,101],"value":"Close"},
{"hash":248204597,"name":"tdiscovererlistform.lbldisconame.caption","sourcebytes":[108,98,108,68,105,115,99,111,78,97,109,101],"value":"lblDiscoName"},
{"hash":68706106,"name":"tdiscovererlistform.label1.caption","sourcebytes":[68,105,115,99,111,118,101,114,101,100,32,101,108,101,109,101,110,116,115,58],"value":"Discovered elements:"},
{"hash":34006257,"name":"tdiscovererlistform.btnwikipedia.caption","sourcebytes":[87,105,107,105,112,101,100,105,97],"value":"Wikipedia"}
]}

113
frmdiscovererlist.pas Normal file
View File

@@ -0,0 +1,113 @@
{
********************************************************************************
YaPeTaVi - Yet another Periodic Table Viewer
Copyright (C) 2009-2010 Geoffray Levasseur <geoffray.levasseurbrandin@numericable.fr>.
All rights reserved.
http://www.geoffray-levasseur.org/
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA.
********************************************************************************
Description:
Discoverer list form and associated tools
}
unit frmDiscovererList;
{$mode objfpc}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
Buttons, StdCtrls;
type
{ TDiscovererListForm }
TDiscovererListForm = class(TForm)
btnWikipedia: TBitBtn;
btnClose: TBitBtn;
Label1: TLabel;
lblDiscoName: TLabel;
lbDiscoverer: TListBox;
memElements: TMemo;
procedure btnCloseClick(Sender: TObject);
procedure btnWikipediaClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure lbDiscovererClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
DiscovererListForm: TDiscovererListForm;
implementation
uses
uIconManager, uUtils, uElemListClass, uStrings, uConst, uCommon;
{ TDiscovererListForm }
procedure TDiscovererListForm.btnCloseClick(Sender: TObject);
begin
Close;
end;
procedure TDiscovererListForm.btnWikipediaClick(Sender: TObject);
begin
if not OpenURL(rsWikipediaAddr + lblDiscoName.Caption) then
MessageDlg(rsError, erOpenUrl, mtError, [mbOK], '');
end;
procedure TDiscovererListForm.FormCreate(Sender: TObject);
var
Str: TStrings;
begin
lblDiscoName.Caption := '';
memElements.Clear;
InitBtnGlyphs(Self);
lbDiscoverer.Sorted := False;
lbDiscoverer.Items.Clear;
Str := ElementsList.GetDiscovererList;
lbDiscoverer.Items.Assign(Str);
lbDiscoverer.Sorted := True;
end;
procedure TDiscovererListForm.lbDiscovererClick(Sender: TObject);
var
I, J: integer;
begin
memElements.Clear;
lblDiscoName.Caption := lbDiscoverer.Items[lbDiscoverer.ItemIndex];
for I := 1 to ElemNumber do
for J := 1 to CountItemsInStr(ElementsList.Elements[I].Discoverer, ',') do
if Trim(GetItemInStr(ElementsList.Elements[I].Discoverer, ',', J)) =
lblDiscoName.Caption then
memElements.Lines.Add(ElementsList.Elements[I].Name + ' (' +
ElementsList.Elements[I].ShortName + ') in ' +
IntToStr(ElementsList.Elements[I].DiscoYear));
end;
initialization
{$I frmdiscovererlist.lrs}
end.

185
frmfamilylegend.lfm Normal file
View File

@@ -0,0 +1,185 @@
object LegendFamilyForm: TLegendFamilyForm
Left = 3658
Height = 109
Top = 1089
Width = 316
Caption = 'LegendFamilyForm'
ClientHeight = 109
ClientWidth = 316
Color = clForm
DesignTimePPI = 108
OnShow = FormShow
ShowInTaskBar = stNever
LCLVersion = '1.9.0.0'
object Label17: TLabel
Left = 36
Height = 20
Top = 63
Width = 59
Caption = 'Halogens'
ParentColor = False
ParentFont = False
end
object Label16: TLabel
Left = 36
Height = 20
Top = 45
Width = 73
Caption = 'Non-metals'
ParentColor = False
ParentFont = False
end
object Label14: TLabel
Left = 36
Height = 20
Top = 27
Width = 87
Caption = 'Alkalie metals'
ParentColor = False
ParentFont = False
end
object Label15: TLabel
Left = 36
Height = 20
Top = 9
Width = 57
Caption = 'Alkalines'
ParentColor = False
ParentFont = False
end
object Label18: TLabel
Left = 186
Height = 20
Top = 9
Width = 109
Caption = 'Transition metals'
ParentColor = False
ParentFont = False
end
object Label19: TLabel
Left = 186
Height = 20
Top = 27
Width = 65
Caption = 'Metalloids'
ParentColor = False
ParentFont = False
end
object Label20: TLabel
Left = 186
Height = 20
Top = 45
Width = 65
Caption = 'Rare earth'
ParentColor = False
ParentFont = False
end
object Label21: TLabel
Left = 186
Height = 20
Top = 63
Width = 81
Caption = 'Other metals'
ParentColor = False
ParentFont = False
end
object Label22: TLabel
Left = 36
Height = 20
Top = 81
Width = 62
Caption = 'Noble gas'
ParentColor = False
ParentFont = False
end
object pnAlkalines: TPanel
Left = 9
Height = 18
Top = 9
Width = 18
Color = clMaroon
ParentColor = False
ParentFont = False
TabOrder = 0
end
object pnAlkalieMetals: TPanel
Left = 9
Height = 18
Top = 27
Width = 18
Color = clMaroon
ParentColor = False
ParentFont = False
TabOrder = 1
end
object pnNonMetals: TPanel
Left = 9
Height = 18
Top = 45
Width = 18
Color = clMaroon
ParentColor = False
ParentFont = False
TabOrder = 2
end
object pnHalogens: TPanel
Left = 9
Height = 18
Top = 63
Width = 18
Color = clMaroon
ParentColor = False
ParentFont = False
TabOrder = 3
end
object pnTransMetals: TPanel
Left = 159
Height = 18
Top = 9
Width = 18
Color = clMaroon
ParentColor = False
ParentFont = False
TabOrder = 4
end
object pnMetalloids: TPanel
Left = 159
Height = 18
Top = 27
Width = 18
Color = clMaroon
ParentColor = False
ParentFont = False
TabOrder = 5
end
object pnRareEarth: TPanel
Left = 159
Height = 18
Top = 45
Width = 18
Color = clMaroon
ParentColor = False
ParentFont = False
TabOrder = 6
end
object pnOtherMetals: TPanel
Left = 159
Height = 18
Top = 63
Width = 18
Color = clMaroon
ParentColor = False
ParentFont = False
TabOrder = 7
end
object pnNobleGas: TPanel
Left = 9
Height = 18
Top = 81
Width = 18
Color = clMaroon
ParentColor = False
ParentFont = False
TabOrder = 8
end
end

12
frmfamilylegend.lrj Normal file
View File

@@ -0,0 +1,12 @@
{"version":1,"strings":[
{"hash":74464109,"name":"tlegendfamilyform.caption","sourcebytes":[76,101,103,101,110,100,70,97,109,105,108,121,70,111,114,109],"value":"LegendFamilyForm"},
{"hash":137748659,"name":"tlegendfamilyform.label17.caption","sourcebytes":[72,97,108,111,103,101,110,115],"value":"Halogens"},
{"hash":70906403,"name":"tlegendfamilyform.label16.caption","sourcebytes":[78,111,110,45,109,101,116,97,108,115],"value":"Non-metals"},
{"hash":103058883,"name":"tlegendfamilyform.label14.caption","sourcebytes":[65,108,107,97,108,105,101,32,109,101,116,97,108,115],"value":"Alkalie metals"},
{"hash":25349363,"name":"tlegendfamilyform.label15.caption","sourcebytes":[65,108,107,97,108,105,110,101,115],"value":"Alkalines"},
{"hash":225258083,"name":"tlegendfamilyform.label18.caption","sourcebytes":[84,114,97,110,115,105,116,105,111,110,32,109,101,116,97,108,115],"value":"Transition metals"},
{"hash":137913107,"name":"tlegendfamilyform.label19.caption","sourcebytes":[77,101,116,97,108,108,111,105,100,115],"value":"Metalloids"},
{"hash":124649768,"name":"tlegendfamilyform.label20.caption","sourcebytes":[82,97,114,101,32,101,97,114,116,104],"value":"Rare earth"},
{"hash":72764531,"name":"tlegendfamilyform.label21.caption","sourcebytes":[79,116,104,101,114,32,109,101,116,97,108,115],"value":"Other metals"},
{"hash":153565395,"name":"tlegendfamilyform.label22.caption","sourcebytes":[78,111,98,108,101,32,103,97,115],"value":"Noble gas"}
]}

104
frmfamilylegend.pas Normal file
View File

@@ -0,0 +1,104 @@
{
********************************************************************************
YaPeTaVi - Yet another Periodic Table Viewer
Copyright (C) 2009 Geoffray Levasseur <geoffray.levasseurbrandin@numericable.fr>.
All rights reserved.
http://www.geoffray-levasseur.org/
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA.
********************************************************************************
Description:
Family legend
}
unit frmFamilyLegend;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
ExtCtrls, StdCtrls;
type
{ TLegendFamilyForm }
TLegendFamilyForm = class(TForm)
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
pnAlkalines: TPanel;
pnAlkalieMetals: TPanel;
pnNonMetals: TPanel;
pnHalogens: TPanel;
pnTransMetals: TPanel;
pnMetalloids: TPanel;
pnRareEarth: TPanel;
pnOtherMetals: TPanel;
pnNobleGas: TPanel;
procedure FormShow(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
LegendFamilyForm: TLegendFamilyForm;
implementation
uses
uConst;
{ TLegendFamilyForm }
procedure TLegendFamilyForm.FormShow(Sender: TObject);
begin
pnAlkalines.Color := clAlkalineBG;
pnAlkalines.Font.Color := clAlkalineFG;
pnAlkalieMetals.Color := clAlkalieMetalBG;
pnAlkalieMetals.Font.Color := clAlkalieMetalFG;
pnNonMetals.Color := clNonMetalBG;
pnNonMetals.Font.Color := clNonMetalFG;
pnHalogens.Color := clHalogenBG;
pnHalogens.Font.Color := clHalogenFG;
pnNobleGas.Color := clNobleGasBG;
pnNobleGas.Font.Color := clNobleGasFG;
pnTransMetals.Color := clTransMetalBG;
pnTransMetals.Font.Color := clTransMetalFG;
pnMetalloids.Color := clMetalloidBG;
pnMetalloids.Font.Color := clMetalloidFG;
pnRareEarth.Color := clRareEarthBG;
pnRareEarth.Font.Color := clRareEarthFG;
pnOtherMetals.Color := clOtherMetalBG;
pnOtherMetals.Font.Color := clOtherMetalFG;
end;
initialization
{$I frmfamilylegend.lrs}
end.

105
frmgradientlegend.lfm Normal file
View File

@@ -0,0 +1,105 @@
object GradientLegendForm: TGradientLegendForm
Left = 3654
Height = 125
Top = 727
Width = 315
Caption = 'GradientLegendForm'
ClientHeight = 125
ClientWidth = 315
Color = clForm
DesignTimePPI = 108
OnShow = FormShow
ShowInTaskBar = stNever
LCLVersion = '1.9.0.0'
object lbMin: TLabel
Left = 39
Height = 19
Top = 8
Width = 267
AutoSize = False
Caption = 'min'
ParentColor = False
ParentFont = False
WordWrap = True
end
object lbMax: TLabel
Left = 40
Height = 18
Top = 27
Width = 248
AutoSize = False
Caption = 'max'
ParentColor = False
ParentFont = False
WordWrap = True
end
object lbUnknow: TLabel
Left = 39
Height = 20
Top = 45
Width = 51
Caption = 'unknow'
ParentColor = False
ParentFont = False
end
object lbInfo: TLabel
Left = 12
Height = 45
Top = 81
Width = 288
AutoSize = False
Caption = 'lbInfo'
ParentColor = False
ParentFont = False
WordWrap = True
end
object pnMax: TPanel
Left = 12
Height = 18
Top = 27
Width = 18
Color = clPurple
ParentColor = False
ParentFont = False
TabOrder = 0
end
object pnMin: TPanel
Left = 12
Height = 18
Top = 8
Width = 18
Color = clNavy
ParentColor = False
ParentFont = False
TabOrder = 1
end
object pnUnknow: TPanel
Left = 12
Height = 18
Top = 45
Width = 18
Color = clGreen
ParentColor = False
ParentFont = False
TabOrder = 2
end
object pnNonAppl: TPanel
Left = 12
Height = 18
Top = 63
Width = 18
Color = clOlive
ParentColor = False
ParentFont = False
TabOrder = 3
end
object lbNonAppl: TLabel
Left = 39
Height = 20
Top = 63
Width = 91
Caption = 'Non applyable'
ParentColor = False
ParentFont = False
end
end

8
frmgradientlegend.lrj Normal file
View File

@@ -0,0 +1,8 @@
{"version":1,"strings":[
{"hash":217687645,"name":"tgradientlegendform.caption","sourcebytes":[71,114,97,100,105,101,110,116,76,101,103,101,110,100,70,111,114,109],"value":"GradientLegendForm"},
{"hash":29694,"name":"tgradientlegendform.lbmin.caption","sourcebytes":[109,105,110],"value":"min"},
{"hash":29576,"name":"tgradientlegendform.lbmax.caption","sourcebytes":[109,97,120],"value":"max"},
{"hash":130360679,"name":"tgradientlegendform.lbunknow.caption","sourcebytes":[117,110,107,110,111,119],"value":"unknow"},
{"hash":119997647,"name":"tgradientlegendform.lbinfo.caption","sourcebytes":[108,98,73,110,102,111],"value":"lbInfo"},
{"hash":73339141,"name":"tgradientlegendform.lbnonappl.caption","sourcebytes":[78,111,110,32,97,112,112,108,121,97,98,108,101],"value":"Non applyable"}
]}

81
frmgradientlegend.pas Normal file
View File

@@ -0,0 +1,81 @@
{
********************************************************************************
YaPeTaVi - Yet another Periodic Table Viewer
Copyright (C) 2009 Geoffray Levasseur <geoffray.levasseurbrandin@numericable.fr>.
All rights reserved.
http://www.geoffray-levasseur.org/
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA.
********************************************************************************
Description:
Various utilities and functions
}
unit frmGradientLegend;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, ExtCtrls;
type
{ TGradientLegendForm }
TGradientLegendForm = class(TForm)
lbInfo: TLabel;
lbMax: TLabel;
lbMin: TLabel;
lbUnknow: TLabel;
lbNonAppl: TLabel;
pnMax: TPanel;
pnUnknow: TPanel;
pnMin: TPanel;
pnNonAppl: TPanel;
procedure FormShow(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
GradientLegendForm: TGradientLegendForm;
implementation
uses
uConst;
{ TGradientLegendForm }
procedure TGradientLegendForm.FormShow(Sender: TObject);
begin
pnMin.Color := clGradientMin;
pnMax.Color := clGradientMax;
pnUnknow.Color := clGradientUnknow;
pnNonAppl.Color := clGradientNonApp;
end;
initialization
{$I frmgradientlegend.lrs}
end.

253
frmmasscalculator.lfm Normal file
View File

@@ -0,0 +1,253 @@
object MassCalcForm: TMassCalcForm
Left = 2560
Height = 395
Top = 0
Width = 647
ActiveControl = btnGo
BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsSingle
Caption = 'Mass calculator'
ClientHeight = 395
ClientWidth = 647
Color = clBackground
Constraints.MinHeight = 358
Constraints.MinWidth = 595
DesignTimePPI = 108
OnCreate = FormCreate
Position = poDesktopCenter
ShowInTaskBar = stNever
LCLVersion = '1.9.0.0'
object Label9: TLabel
Left = 9
Height = 20
Top = 370
Width = 47
Caption = 'Result: '
Color = clBackground
ParentColor = False
Transparent = False
end
object Label10: TLabel
Left = 9
Height = 0
Top = 153
Width = 393
AutoSize = False
Caption = 'Analysis:'
ParentColor = False
ParentFont = False
end
object Label11: TLabel
Left = 68
Height = 15
Top = 370
Width = 334
AutoSize = False
Color = clBackground
ParentColor = False
Transparent = False
end
object Bevel1: TBevel
Left = 493
Height = 389
Top = 0
Width = 2
Anchors = [akTop, akRight, akBottom]
Shape = bsLeftLine
end
object Label12: TLabel
Left = 9
Height = 20
Top = 124
Width = 57
Caption = '&Formula:'
Color = clBackground
FocusControl = Edit
ParentColor = False
Transparent = False
end
object Edit: TEdit
Left = 76
Height = 29
Top = 119
Width = 408
Anchors = [akTop, akLeft, akRight]
Font.Height = -12
Font.Name = 'MS Sans Serif'
OnChange = EditChange
OnKeyPress = EditKeyPress
ParentFont = False
TabOrder = 0
end
object Memo: TMemo
Left = 9
Height = 190
Top = 162
Width = 475
Anchors = [akTop, akLeft, akRight, akBottom]
Font.Height = -12
Font.Name = 'Arial'
ParentFont = False
ReadOnly = True
ScrollBars = ssBoth
TabOrder = 1
WordWrap = False
end
object Panel1: TPanel
Left = 9
Height = 100
Top = 9
Width = 475
Anchors = [akTop, akLeft, akRight]
BevelOuter = bvNone
ClientHeight = 100
ClientWidth = 475
Font.Height = -12
Font.Name = 'MS Sans Serif'
ParentFont = False
TabOrder = 2
object Label1: TLabel
Left = 4
Height = 39
Top = 0
Width = 416
Caption = 'Type the formula of the molecule you want to have the molar mass '#10'that way:'
Color = clBackground
ParentColor = False
ParentFont = False
Transparent = False
end
object Label2: TLabel
Left = 32
Height = 20
Top = 40
Width = 64
Caption = 'For water:'
Color = clBackground
ParentColor = False
ParentFont = False
Transparent = False
end
object Label3: TLabel
Left = 207
Height = 20
Top = 40
Width = 29
Caption = 'H2O'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object Label4: TLabel
Left = 32
Height = 20
Top = 58
Width = 149
Caption = 'For sodium chloridrate: '
Color = clBackground
ParentColor = False
ParentFont = False
Transparent = False
end
object Label5: TLabel
Left = 207
Height = 20
Top = 58
Width = 32
Caption = 'NaCl'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object Label6: TLabel
Left = 256
Height = 20
Top = 40
Width = 139
Caption = '2 Oxigen + 1 Hydrogen'
Color = clBackground
ParentColor = False
ParentFont = False
Transparent = False
end
object Label7: TLabel
Left = 256
Height = 20
Top = 58
Width = 137
Caption = '1 Sodium + 1 Chlorine'
Color = clBackground
ParentColor = False
ParentFont = False
Transparent = False
end
object Label8: TLabel
Left = 4
Height = 20
Top = 81
Width = 158
Caption = 'Take care about the case!'
Color = clBackground
ParentColor = False
ParentFont = False
Transparent = False
end
end
object btnGo: TBitBtn
Tag = 33
Left = 502
Height = 28
Top = 9
Width = 135
Anchors = [akTop, akRight]
Caption = 'Analyse'
OnClick = btnGoClick
TabOrder = 3
end
object btnClear: TBitBtn
Tag = 32
Left = 502
Height = 28
Top = 81
Width = 135
Anchors = [akTop, akRight]
Caption = 'Clear'
OnClick = btnClearClick
TabOrder = 4
end
object btnSave: TBitBtn
Tag = 4
Left = 502
Height = 28
Top = 45
Width = 135
Anchors = [akTop, akRight]
Caption = 'Save...'
OnClick = btnSaveClick
TabOrder = 5
end
object btnClose: TBitBtn
Tag = 6
Left = 502
Height = 28
Top = 357
Width = 135
Anchors = [akRight, akBottom]
Caption = 'Close'
OnClick = btnCloseClick
TabOrder = 6
end
object Timer1: TTimer
OnTimer = Timer1Timer
left = 568
top = 208
end
object SaveDialog: TSaveDialog
Title = 'Save file as'
DefaultExt = '.txt'
Filter = 'Texte (*.txt)|*.txt|Tout (*.*)|*.*'
Options = [ofHideReadOnly, ofPathMustExist, ofEnableSizing]
left = 568
top = 256
end
end

19
frmmasscalculator.lrj Normal file
View File

@@ -0,0 +1,19 @@
{"version":1,"strings":[
{"hash":16011458,"name":"tmasscalcform.caption","sourcebytes":[77,97,115,115,32,99,97,108,99,117,108,97,116,111,114],"value":"Mass calculator"},
{"hash":212611648,"name":"tmasscalcform.label9.caption","sourcebytes":[82,101,115,117,108,116,58,32],"value":"Result: "},
{"hash":138471466,"name":"tmasscalcform.label10.caption","sourcebytes":[65,110,97,108,121,115,105,115,58],"value":"Analysis:"},
{"hash":110405786,"name":"tmasscalcform.label12.caption","sourcebytes":[38,70,111,114,109,117,108,97,58],"value":"&Formula:"},
{"hash":126396170,"name":"tmasscalcform.label1.caption","sourcebytes":[84,121,112,101,32,116,104,101,32,102,111,114,109,117,108,97,32,111,102,32,116,104,101,32,109,111,108,101,99,117,108,101,32,121,111,117,32,119,97,110,116,32,116,111,32,104,97,118,101,32,116,104,101,32,109,111,108,97,114,32,109,97,115,115,32,10,116,104,97,116,32,119,97,121,58],"value":"Type the formula of the molecule you want to have the molar mass \nthat way:"},
{"hash":131889690,"name":"tmasscalcform.label2.caption","sourcebytes":[70,111,114,32,119,97,116,101,114,58],"value":"For water:"},
{"hash":19311,"name":"tmasscalcform.label3.caption","sourcebytes":[72,50,79],"value":"H2O"},
{"hash":66926832,"name":"tmasscalcform.label4.caption","sourcebytes":[70,111,114,32,115,111,100,105,117,109,32,99,104,108,111,114,105,100,114,97,116,101,58,32],"value":"For sodium chloridrate: "},
{"hash":345500,"name":"tmasscalcform.label5.caption","sourcebytes":[78,97,67,108],"value":"NaCl"},
{"hash":193304862,"name":"tmasscalcform.label6.caption","sourcebytes":[50,32,79,120,105,103,101,110,32,43,32,49,32,72,121,100,114,111,103,101,110],"value":"2 Oxigen + 1 Hydrogen"},
{"hash":129926261,"name":"tmasscalcform.label7.caption","sourcebytes":[49,32,83,111,100,105,117,109,32,43,32,49,32,67,104,108,111,114,105,110,101],"value":"1 Sodium + 1 Chlorine"},
{"hash":61465281,"name":"tmasscalcform.label8.caption","sourcebytes":[84,97,107,101,32,99,97,114,101,32,97,98,111,117,116,32,116,104,101,32,99,97,115,101,33],"value":"Take care about the case!"},
{"hash":138952917,"name":"tmasscalcform.btngo.caption","sourcebytes":[65,110,97,108,121,115,101],"value":"Analyse"},
{"hash":4860802,"name":"tmasscalcform.btnclear.caption","sourcebytes":[67,108,101,97,114],"value":"Clear"},
{"hash":160203102,"name":"tmasscalcform.btnsave.caption","sourcebytes":[83,97,118,101,46,46,46],"value":"Save..."},
{"hash":4863637,"name":"tmasscalcform.btnclose.caption","sourcebytes":[67,108,111,115,101],"value":"Close"},
{"hash":159035875,"name":"tmasscalcform.savedialog.title","sourcebytes":[83,97,118,101,32,102,105,108,101,32,97,115],"value":"Save file as"}
]}

432
frmmasscalculator.pas Normal file
View File

@@ -0,0 +1,432 @@
{
********************************************************************************
YaPeTaVi - Yet another Periodic Table Viewer
Copyright (C) 1997-2000, 2009 Geoffray Levasseur <geoffray.levasseurbrandin@numericable.fr>.
All rights reserved.
http://www.geoffray-levasseur.org/
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA.
********************************************************************************
Description:
Mass calculator form unit
}
{$warning frmMassCalculator: change french strings in english resourcestring}
unit frmMassCalculator;
{$mode objfpc}{$H+}
interface
uses
{Windows,} SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
ComCtrls, ExtCtrls, Menus, LResources, Buttons, uConst, uElemListClass,
uCommon;
type
{ TMassCalcForm }
TMassCalcForm = class(TForm)
btnGo: TBitBtn;
btnClear: TBitBtn;
btnSave: TBitBtn;
btnClose: TBitBtn;
Edit: TEdit;
Memo: TMemo;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Bevel1: TBevel;
Timer1: TTimer;
SaveDialog: TSaveDialog;
Label12: TLabel;
procedure FormCreate(Sender: TObject);
procedure btnCloseClick(Sender: TObject);
procedure btnGoClick(Sender: TObject);
procedure btnClearClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure EditChange(Sender: TObject);
procedure EditKeyPress(Sender: TObject; var Key: Char);
procedure btnSaveClick(Sender: TObject);
private
procedure Analyse(Elm: TElement);
procedure Decompose;
procedure ChError;
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Entry: String;
Rep, G, St, X: Byte;
IsTested : Array[1..ElemNumber] of Boolean;
Result : Real;
Stat: Boolean;
MassCalcForm: TMassCalcForm;
implementation
uses
uIconManager;
procedure TMassCalcForm.FormCreate(Sender: TObject);
begin
{Initialise l'affichage de l'aide dans la barre d'état}
// Application.OnHint := ShowHint(Application);
{Au début le boutton Démarrage doit être désactivé}
InitBtnGlyphs(Self);
btnGo.Enabled := False;
{Charge les paramètres du registres}
end;
procedure TMassCalcForm.ChError;
begin
{Indication d'érreur}
Memo.Lines.Add(' -- Erreur au caractère ' + IntToStr(Rep));
end;
procedure TMassCalcForm.Analyse(Elm: TElement);
var
Inc: Boolean;
begin
Inc := Length(Trim(Elm.ShortName)) > 1;
{Détecte si l'élément est déjà présent}
if IsTested[Elm.Number] then
Memo.Lines.Add(' L''élément ' + Elm.Name +
' a déja été incorporé ! Simplifiez votre formule...');
{Ajout de l'élément dans le tableau des élément déjà analysé}
IsTested[Elm.Number] := True;
{Une lettre : on n'incrémente pas. Deux lettre : on incrémente}
if Inc then Rep := Rep + 1;
{Un élément différent des autres de plus}
G := G + 1;
{Stocke la masse molaire}
Elem[G].Typ := Elm.Number;
{Détection des chiffres - volontairement limité à 2}
if Entry[Rep + 1] in ['1'..'9'] then
begin
Rep := Rep + 1;
if entry[Rep + 1] in ['0'..'9'] then
begin
Elem[G].Num := ((Ord(Entry[Rep]) - 48) * 10) + (Ord(Entry[Rep + 1]) - 48);
Rep := Rep + 1;
end else
Elem[G].Num := Ord(Entry[Rep]) - 48;
end else Elem[G].Num := 1;
{Affiche les caractèristique de l'élément}
if ElementsList.Elements[Elem[G].Typ].Radioactivity <> '' then
Memo.Lines.Add(' ' + IntToStr(Elem[G].Num) + ' ' +
ElementsList.Elements[Elem[G].Typ].Name + ' / Masse Molaire pour un : ' +
FloatToStr(ElementsList.Elements[Elem[G].Typ].Mass) + ', soit : ' +
FloatToStr(Elem[G].Num * ElementsList.Elements[Elem[G].Typ].Mass) +
' (Artificial et/or radioactive!)')
else
Memo.Lines.Add(' ' + IntToStr(Elem[G].Num) + ' ' +
ElementsList.Elements[Elem[G].Typ].Name + ' / Masse Molaire pour un : ' +
FloatToStr(ElementsList.Elements[Elem[G].Typ].Mass) + ', soit : ' +
FloatToStr(Elem[G].Num * ElementsList.Elements[Elem[G].Typ].Mass));
{Met à jour le resultat}
Result := Result + (Elem[G].Num * ElementsList.Elements[Elem[G].Typ].Mass);
{Incrémente le compteur du nombre d'éléments}
X := X + Elem[G].Num;
end;
procedure TMassCalcForm.Decompose;
var L, J: Byte;
begin
{Initialisation}
if Memo.Lines.Count <> 0 then
Memo.Lines.Add('');
Memo.Lines.Add('Analysing the string "' + Edit.Text + '"...');
for J := 1 to
ElemNumber do IsTested[J] := False;
Entry := Edit.Text + #255; //facility to find the end of the string
St := 0;
Stat := True;
Result := 0;
G := 0;
X := 0;
Rep := 0;
L := Length(Entry);
//analysing char by char using case system (this have been writen a while ago
//so rewriting this with more efficiency, more possibility and less code would
//be great XD)
{$warning rewritind the awful and outdated TMassCalcForm.Decompose}
For Rep := 1 to L do
begin
case Entry[Rep] of
'A' : Case Entry[Rep+1] of
'l' : Analyse(Al);
's' : Analyse(Ars);
'g' : Analyse(Ag);
'u' : Analyse(Au);
't' : Analyse(At);
'c' : Analyse(Ac);
'm' : Analyse(Am);
'r' : Analyse(Ar);
else ChError
end;
'B' : if Entry[Rep+1] in ['a'..'z'] then
begin
case Entry[Rep+1] of
'r' : Analyse(Br);
'i' : Analyse(Bi);
'k' : Analyse(Bk);
'e' : Analyse(Be);
'a' : Analyse(Ba);
'h' : Analyse(Bh);
else Cherror
end;
end else Analyse(B);
'C' : if Entry[Rep+1] in ['a'..'z'] then
begin
case Entry[Rep+1] of
'l' : Analyse(Cl);
'o' : Analyse(Co);
'u' : Analyse(Cu);
's' : Analyse(Cs);
'a' : Analyse(Ca);
'r' : Analyse(Cr);
'd' : Analyse(Cd);
'e' : Analyse(Ce);
'm' : Analyse(Cm);
'f' : Analyse(Cf);
else Cherror
end;
end else Analyse(C);
'D' : case Entry[Rep+1] of
'y' : Analyse(Dy);
'b' : Analyse(Db);
's' : Analyse(Ds);
else ChError;
end;
'E' : case Entry[Rep+1] of
'u' : Analyse(Eu);
'r' : Analyse(Er);
's' : Analyse(Es);
else Cherror
end;
'F' : if Entry[Rep+1] in ['a'..'z'] then
begin
case Entry[Rep+1] of
'e' : Analyse(Fe);
'r' : Analyse(Fr);
'm' : Analyse(Fm);
else Cherror
end;
end else Analyse(F);
'G' : case Entry[Rep+1] of
'a' : Analyse(Ga);
'e' : Analyse(Ge);
'd' : Analyse(Gd);
else Cherror
end;
'H' : if Entry[Rep+1] in ['a'..'z'] then
begin
case Entry[Rep+1] of
'e' : Analyse(He);
'o' : Analyse(Ho);
'f' : Analyse(Hf);
'g' : Analyse(Hg);
's' : Analyse(Hs);
else Cherror
end;
end else Analyse(H);
'I' : if Entry[Rep+1] in ['a'..'z'] then
begin
case Entry[Rep+1] of
'n' : Analyse(Ind);
'r' : Analyse(Ir);
else Cherror
end;
end else Analyse(I);
'K' : if Entry[Rep+1]='r' then
Analyse(Kr)
else Analyse(K);
'L' : case Entry[Rep+1] of
'i' : Analyse(Li);
'a' : Analyse(La);
'r' : Analyse(Lr);
'u' : Analyse(Lu);
else Cherror
end;
'M' : case Entry[Rep+1] of
'g' : Analyse(Mg);
'n' : Analyse(Mn);
'o' : Analyse(Mo);
'd' : Analyse(Md);
't' : Analyse(Mt);
else Cherror
end;
'N' : if Entry[Rep+1] in ['a'..'z'] then
begin
case Entry[Rep+1] of
'e' : Analyse(Ne);
'a' : Analyse(Na);
'i' : Analyse(Ni);
'b' : Analyse(Nb);
'd' : Analyse(Nd);
'p' : Analyse(Np);
'o' : Analyse(No);
else Cherror
end;
end else Analyse(N);
'O' : if Entry[Rep+1]='s' then
Analyse(Os)
else
Analyse(O);
'P' : if Entry[Rep+1] in ['a'..'z'] then
begin
case Entry[Rep+1] of
'd' : Analyse(Pd);
'r' : Analyse(Pr);
'm' : Analyse(Pm);
't' : Analyse(Pt);
'b' : Analyse(Pb);
'o' : Analyse(Po);
'a' : Analyse(Pa);
'u' : Analyse(Pu);
else Cherror
end;
end else Analyse(P);
'R' : case Entry[Rep+1] of
'b' : Analyse(Rb);
'u' : Analyse(Ru);
'h' : Analyse(Rh);
'e' : Analyse(Re);
'n' : Analyse(Rn);
'a' : Analyse(Re);
'f' : Analyse(Rf);
'g' : Analyse(Rg);
else Cherror
end;
'S' : if Entry[Rep+1] in ['a'..'z'] then
begin
case Entry[Rep+1] of
'b' : Analyse(Sb);
'c' : Analyse(Sc);
'e' : Analyse(Se);
'g' : Analyse(Sg);
'i' : Analyse(Si);
'm' : Analyse(Sm);
'n' : Analyse(Sn);
'r' : Analyse(Sr);
else Cherror
end;
end else Analyse(S);
'T' : case Entry[Rep+1] of
'a' : Analyse(Ta);
'b' : Analyse(Tb);
'c' : Analyse(Tc);
'e' : Analyse(Te);
'h' : Analyse(Th);
'i' : Analyse(Ti);
'l' : Analyse(Tl);
'm' : Analyse(Tm);
else Cherror
end;
'U' : Analyse(U);
'V' : Analyse(V);
'W' : Analyse(W);
'X' : If Entry[Rep+1] = 'e' then
Analyse(Xe) else ChError;
'Y' : Analyse(Y);
'Z' : case Entry[Rep+1] of
'n' : Analyse(Zn);
'r' : Analyse(Zr);
else Cherror
end;
{Le caractère 255 est ajouté à l'initialisation et permet la detection
de la fin de la chaîne}
#255 : exit;
else ChError;
end;
end;
end;
procedure TMassCalcForm.btnCloseClick(Sender: TObject);
begin
Close;
Free;
MassCalcForm := nil;
end;
procedure TMassCalcForm.btnGoClick(Sender: TObject);
begin
{Lance la grosse artillerie...}
Decompose;
{Affichage des statistique et du résultat}
Memo.Lines.Add('A total of ' + IntToStr(G) + ' differents items have been found.');
Memo.Lines.Add('A total of ' + IntToStr(X) + ' atoms have been found.');
Memo.Lines.Add('Résultat final : ' + FloatToStr(Result));
Label11.Caption := FloatToStr(Result);
end;
procedure TMassCalcForm.btnClearClick(Sender: TObject);
begin
{Réinitialise l'affichage de la console et de la ligne d'édition}
Memo.Clear;
Edit.Clear;
end;
procedure TMassCalcForm.Timer1Timer(Sender: TObject);
begin
{Fait clignoter un texte Noir/Rouge}
if Label8.Font.Color = clRed then
Label8.Font.Color := clNone
else Label8.Font.Color := clRed;
end;
procedure TMassCalcForm.EditChange(Sender: TObject);
begin
{Interdit l'utilisation du boutton démarrage quand Edit est vide}
btnGo.Enabled := Edit.Text<>'';
end;
procedure TMassCalcForm.EditKeyPress(Sender: TObject; var Key: Char);
begin
{Gestion de la touche Entrée}
If (Key = #13) and (Edit.Text <> '') then
btnGoClick(Self);
end;
procedure TMassCalcForm.btnSaveClick(Sender: TObject);
begin
{Sauvegarde du contenu de la console}
if SaveDialog.Execute then
begin
if FileExists(SaveDialog.FileName) then
if MessageDlg('Are you sure you want to overwrite '+ SaveDialog.FileName
+ '?', mtConfirmation, mbYesNoCancel, 0) <> DR_YES then Exit;
Memo.Lines.SaveToFile(SaveDialog.FileName);
end;
end;
initialization
{$i frmmasscalculator.lrs}
end.

723
frmoptions.lfm Normal file
View File

@@ -0,0 +1,723 @@
object OptionsForm: TOptionsForm
Left = 4276
Height = 504
Top = 546
Width = 523
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'OptionsForm'
ClientHeight = 504
ClientWidth = 523
Color = clForm
DesignTimePPI = 108
OnCreate = FormCreate
Position = poMainFormCenter
LCLVersion = '1.9.0.0'
object btnOk: TBitBtn
Tag = 22
Left = 406
Height = 34
Top = 459
Width = 106
Anchors = [akRight, akBottom]
Caption = 'OK'
Default = True
ModalResult = 1
ParentFont = False
TabOrder = 0
end
object btnCancel: TBitBtn
Tag = 23
Left = 289
Height = 34
Top = 459
Width = 106
Anchors = [akRight, akBottom]
Caption = '&Cancel'
ModalResult = 2
ParentFont = False
TabOrder = 1
end
object pcMain: TPageControl
Left = 9
Height = 443
Top = 9
Width = 503
ActivePage = tsAppearance
Anchors = [akTop, akLeft, akRight, akBottom]
ParentFont = False
TabIndex = 0
TabOrder = 2
object tsAppearance: TTabSheet
Caption = 'Appearance'
ClientHeight = 411
ClientWidth = 499
ParentFont = False
object GroupBox3: TGroupBox
Left = 8
Height = 80
Top = 8
Width = 472
Caption = 'Icons'
ClientHeight = 48
ClientWidth = 468
ParentFont = False
TabOrder = 0
object Label4: TLabel
Left = 12
Height = 20
Top = 14
Width = 75
Caption = 'Icon theme:'
ParentColor = False
ParentFont = False
end
object cbIconTheme: TComboBox
Left = 93
Height = 34
Top = 9
Width = 342
ItemHeight = 20
OnChange = cbIconThemeChange
ParentFont = False
Style = csDropDownList
TabOrder = 0
end
end
object pcColors: TPageControl
Left = 8
Height = 290
Top = 104
Width = 472
ActivePage = TabSheet2
ParentFont = False
TabIndex = 1
TabOrder = 1
object TabSheet1: TTabSheet
Caption = 'Blocs colors'
ClientHeight = 229
ClientWidth = 400
ParentFont = False
object pnSBloc: TPanel
Left = 4
Height = 27
Top = 8
Width = 108
Caption = 'Bloc S'
ParentFont = False
TabOrder = 0
end
object pnPBloc: TPanel
Left = 4
Height = 27
Top = 35
Width = 108
Caption = 'Bloc P'
ParentFont = False
TabOrder = 1
end
object pnFBloc: TPanel
Left = 4
Height = 27
Top = 62
Width = 108
Caption = 'Bloc F'
ParentFont = False
TabOrder = 2
end
object pnDBloc: TPanel
Left = 4
Height = 27
Top = 89
Width = 108
Caption = 'Bloc D'
ParentFont = False
TabOrder = 3
end
object btnSBlocBG: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 8
Width = 156
Caption = 'Background'
OnClick = btnSBlocBGClick
ParentFont = False
TabOrder = 4
end
object btnSBlocFG: TBitBtn
Tag = -1
Left = 284
Height = 27
Top = 8
Width = 156
Caption = 'Foreground'
OnClick = btnSBlocFGClick
ParentFont = False
TabOrder = 5
end
object btnPBlocBG: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 35
Width = 156
Caption = 'Background'
OnClick = btnPBlocBGClick
ParentFont = False
TabOrder = 6
end
object btnPBlocFG: TBitBtn
Tag = -1
Left = 284
Height = 27
Top = 35
Width = 156
Caption = 'Foreground'
OnClick = btnPBlocFGClick
ParentFont = False
TabOrder = 7
end
object btnFBlocBG: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 62
Width = 156
Caption = 'Background'
OnClick = btnFBlocBGClick
ParentFont = False
TabOrder = 8
end
object btnFBlocFG: TBitBtn
Tag = -1
Left = 284
Height = 27
Top = 62
Width = 156
Caption = 'Foreground'
OnClick = btnFBlocFGClick
ParentFont = False
TabOrder = 9
end
object btnDBlocBG: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 89
Width = 156
Caption = 'Background'
OnClick = btnDBlocBGClick
ParentFont = False
TabOrder = 10
end
object btnDBlocFG: TBitBtn
Tag = -1
Left = 284
Height = 27
Top = 89
Width = 156
Caption = 'Foreground'
OnClick = btnDBlocFGClick
ParentFont = False
TabOrder = 11
end
end
object TabSheet2: TTabSheet
Caption = 'Family colors'
ClientHeight = 258
ClientWidth = 468
ParentFont = False
object pnAlkaline: TPanel
Left = 4
Height = 27
Top = 8
Width = 108
Caption = 'Alkaline'
ParentFont = False
TabOrder = 0
end
object pnAlkalieMetal: TPanel
Left = 4
Height = 27
Top = 35
Width = 108
Caption = 'Alkalie metal'
ParentFont = False
TabOrder = 1
end
object pnMetalloid: TPanel
Left = 4
Height = 27
Top = 62
Width = 108
Caption = 'Metalloid'
ParentFont = False
TabOrder = 2
end
object pnTransMetal: TPanel
Left = 4
Height = 27
Top = 89
Width = 108
Caption = 'Transition metal'
ParentFont = False
TabOrder = 3
end
object btnAlkalineBG: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 8
Width = 156
Caption = 'Background'
OnClick = btnAlkalineBGClick
ParentFont = False
TabOrder = 4
end
object btnAlkalieMetalBG: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 35
Width = 156
Caption = 'Background'
OnClick = btnAlkalieMetalBGClick
ParentFont = False
TabOrder = 5
end
object btnMetalloidBG: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 62
Width = 156
Caption = 'Background'
OnClick = btnMetalloidBGClick
ParentFont = False
TabOrder = 6
end
object btnTransMetalBG: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 89
Width = 156
Caption = 'Background'
OnClick = btnTransMetalBGClick
ParentFont = False
TabOrder = 7
end
object btnAlkalineFG: TBitBtn
Tag = -1
Left = 284
Height = 27
Top = 8
Width = 156
Caption = 'Foreground'
OnClick = btnAlkalineFGClick
ParentFont = False
TabOrder = 8
end
object btnAlkalieMetalFG: TBitBtn
Tag = -1
Left = 284
Height = 27
Top = 35
Width = 156
Caption = 'Foreground'
OnClick = btnAlkalieMetalFGClick
ParentFont = False
TabOrder = 9
end
object btnMetalloidFG: TBitBtn
Tag = -1
Left = 284
Height = 27
Top = 62
Width = 156
Caption = 'Foreground'
OnClick = btnMetalloidFGClick
ParentFont = False
TabOrder = 10
end
object btnTransMetalFG: TBitBtn
Tag = -1
Left = 284
Height = 27
Top = 89
Width = 156
Caption = 'Foreground'
OnClick = btnTransMetalFGClick
ParentFont = False
TabOrder = 11
end
object pnOtherMetal: TPanel
Left = 4
Height = 27
Top = 116
Width = 108
Caption = 'Other metal'
ParentFont = False
TabOrder = 12
end
object btnOtherMetalBG: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 116
Width = 156
Caption = 'Background'
OnClick = btnOtherMetalBGClick
ParentFont = False
TabOrder = 13
end
object btnOtherMetalFG: TBitBtn
Tag = -1
Left = 284
Height = 27
Top = 116
Width = 156
Caption = 'Foreground'
OnClick = btnOtherMetalFGClick
ParentFont = False
TabOrder = 14
end
object pnNonMetal: TPanel
Left = 4
Height = 27
Top = 143
Width = 108
Caption = 'Non metal'
ParentFont = False
TabOrder = 15
end
object btnNonMetalBG: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 143
Width = 156
Caption = 'Background'
OnClick = btnNonMetalBGClick
ParentFont = False
TabOrder = 16
end
object btnNonMetalFG: TBitBtn
Tag = -1
Left = 284
Height = 27
Top = 143
Width = 156
Caption = 'Foreground'
OnClick = btnNonMetalFGClick
ParentFont = False
TabOrder = 17
end
object pnHalogen: TPanel
Left = 4
Height = 27
Top = 170
Width = 108
Caption = 'Halogen'
ParentFont = False
TabOrder = 18
end
object btnHalogenBG: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 170
Width = 156
Caption = 'Background'
OnClick = btnHalogenBGClick
ParentFont = False
TabOrder = 19
end
object btnHalogenFG: TBitBtn
Tag = -1
Left = 284
Height = 27
Top = 170
Width = 156
Caption = 'Foreground'
OnClick = btnHalogenFGClick
ParentFont = False
TabOrder = 20
end
object pnNobleGas: TPanel
Left = 4
Height = 27
Top = 197
Width = 108
Caption = 'Noble gas'
ParentFont = False
TabOrder = 21
end
object btnNobleGasBG: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 197
Width = 156
Caption = 'Background'
OnClick = btnNobleGasBGClick
ParentFont = False
TabOrder = 22
end
object btnNobleGasFG: TBitBtn
Tag = -1
Left = 284
Height = 27
Top = 197
Width = 156
Caption = 'Foreground'
OnClick = btnNobleGasFGClick
ParentFont = False
TabOrder = 23
end
object pnRareEarth: TPanel
Left = 4
Height = 27
Top = 224
Width = 108
Caption = 'Rare earth'
ParentFont = False
TabOrder = 24
end
object btnRareEarthBG: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 224
Width = 156
Caption = 'Background'
OnClick = btnRareEarthBGClick
ParentFont = False
TabOrder = 25
end
object btnRareEarthFG: TBitBtn
Tag = -1
Left = 284
Height = 27
Top = 224
Width = 156
Caption = 'Foreground'
OnClick = btnRareEarthFGClick
ParentFont = False
TabOrder = 26
end
end
object TabSheet3: TTabSheet
Caption = 'Gradients color'
ClientHeight = 229
ClientWidth = 400
ParentFont = False
object pnMinGrad: TPanel
Left = 4
Height = 27
Top = 8
Width = 108
Caption = 'Min value'
ParentFont = False
TabOrder = 0
end
object pnMaxGrad: TPanel
Left = 4
Height = 27
Top = 35
Width = 108
Caption = 'Max value'
ParentFont = False
TabOrder = 1
end
object pnUnknowGrad: TPanel
Left = 4
Height = 27
Top = 62
Width = 108
Caption = 'Unknown'
ParentFont = False
TabOrder = 2
end
object btnMinGrad: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 8
Width = 156
Caption = 'Background'
OnClick = btnMinGradClick
ParentFont = False
TabOrder = 3
end
object btnMaxGrad: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 35
Width = 156
Caption = 'Background'
OnClick = btnMaxGradClick
ParentFont = False
TabOrder = 4
end
object btnUnknowGrad: TBitBtn
Tag = -1
Left = 122
Height = 27
Top = 62
Width = 156
Caption = 'Background'
OnClick = btnUnknowGradClick
ParentFont = False
TabOrder = 5
end
object btnTextGrad: TBitBtn
Tag = -1
Left = 284
Height = 81
Top = 8
Width = 156
Caption = 'Foreground'
OnClick = btnTextGradClick
ParentFont = False
TabOrder = 6
end
end
end
end
object tsAdvanced: TTabSheet
Caption = 'Advanced'
ClientHeight = 411
ClientWidth = 499
ParentFont = False
object GroupBox1: TGroupBox
Left = 4
Height = 160
Top = 8
Width = 480
Anchors = [akTop, akLeft, akRight]
Caption = 'Paths'
ClientHeight = 128
ClientWidth = 476
ParentFont = False
TabOrder = 0
object Label1: TLabel
Left = 10
Height = 20
Top = 2
Width = 102
Caption = 'Home directory:'
ParentColor = False
ParentFont = False
end
object DirectoryEdit1: TDirectoryEdit
Left = 10
Height = 34
Top = 24
Width = 452
ShowHidden = False
ButtonWidth = 26
NumGlyphs = 1
Anchors = [akTop, akLeft, akRight]
MaxLength = 0
ParentFont = False
TabOrder = 0
end
object DirectoryEdit2: TDirectoryEdit
Left = 10
Height = 34
Top = 92
Width = 452
ShowHidden = False
ButtonWidth = 26
NumGlyphs = 1
Anchors = [akTop, akLeft, akRight]
MaxLength = 0
ParentFont = False
TabOrder = 1
end
object Label2: TLabel
Left = 10
Height = 20
Top = 70
Width = 122
Caption = 'Database directory:'
ParentColor = False
ParentFont = False
end
end
object GroupBox2: TGroupBox
Left = 4
Height = 130
Top = 184
Width = 480
Anchors = [akTop, akLeft, akRight]
Caption = 'Backup'
ClientHeight = 98
ClientWidth = 476
ParentFont = False
TabOrder = 1
object CheckBox1: TCheckBox
Left = 10
Height = 24
Top = 8
Width = 304
Caption = 'Create backup of the database before saving'
ParentFont = False
TabOrder = 0
end
object Label3: TLabel
Left = 10
Height = 20
Top = 40
Width = 83
Caption = 'Backup path:'
ParentColor = False
ParentFont = False
end
object DirectoryEdit3: TDirectoryEdit
Left = 10
Height = 34
Top = 61
Width = 452
ShowHidden = False
ButtonWidth = 26
NumGlyphs = 1
Anchors = [akTop, akLeft, akRight]
MaxLength = 0
ParentFont = False
TabOrder = 1
end
end
end
end
object ColorDialog: TColorDialog
Color = clBlack
CustomColors.Strings = (
'ColorA=000000'
'ColorB=000080'
'ColorC=008000'
'ColorD=008080'
'ColorE=800000'
'ColorF=800080'
'ColorG=808000'
'ColorH=808080'
'ColorI=C0C0C0'
'ColorJ=0000FF'
'ColorK=00FF00'
'ColorL=00FFFF'
'ColorM=FF0000'
'ColorN=FF00FF'
'ColorO=FFFF00'
'ColorP=FFFFFF'
'ColorQ=C0DCC0'
'ColorR=F0CAA6'
'ColorS=F0FBFF'
'ColorT=A4A0A0'
)
left = 224
top = 472
end
end

64
frmoptions.lrj Normal file
View File

@@ -0,0 +1,64 @@
{"version":1,"strings":[
{"hash":100781453,"name":"toptionsform.caption","sourcebytes":[79,112,116,105,111,110,115,70,111,114,109],"value":"OptionsForm"},
{"hash":1339,"name":"toptionsform.btnok.caption","sourcebytes":[79,75],"value":"OK"},
{"hash":177752476,"name":"toptionsform.btncancel.caption","sourcebytes":[38,67,97,110,99,101,108],"value":"&Cancel"},
{"hash":193790965,"name":"toptionsform.tsappearance.caption","sourcebytes":[65,112,112,101,97,114,97,110,99,101],"value":"Appearance"},
{"hash":5219923,"name":"toptionsform.groupbox3.caption","sourcebytes":[73,99,111,110,115],"value":"Icons"},
{"hash":132195722,"name":"toptionsform.label4.caption","sourcebytes":[73,99,111,110,32,116,104,101,109,101,58],"value":"Icon theme:"},
{"hash":35097795,"name":"toptionsform.tabsheet1.caption","sourcebytes":[66,108,111,99,115,32,99,111,108,111,114,115],"value":"Blocs colors"},
{"hash":76764499,"name":"toptionsform.pnsbloc.caption","sourcebytes":[66,108,111,99,32,83],"value":"Bloc S"},
{"hash":76764496,"name":"toptionsform.pnpbloc.caption","sourcebytes":[66,108,111,99,32,80],"value":"Bloc P"},
{"hash":76764486,"name":"toptionsform.pnfbloc.caption","sourcebytes":[66,108,111,99,32,70],"value":"Bloc F"},
{"hash":76764484,"name":"toptionsform.pndbloc.caption","sourcebytes":[66,108,111,99,32,68],"value":"Bloc D"},
{"hash":32370148,"name":"toptionsform.btnsblocbg.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":200130244,"name":"toptionsform.btnsblocfg.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":32370148,"name":"toptionsform.btnpblocbg.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":200130244,"name":"toptionsform.btnpblocfg.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":32370148,"name":"toptionsform.btnfblocbg.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":200130244,"name":"toptionsform.btnfblocfg.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":32370148,"name":"toptionsform.btndblocbg.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":200130244,"name":"toptionsform.btndblocfg.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":170014051,"name":"toptionsform.tabsheet2.caption","sourcebytes":[70,97,109,105,108,121,32,99,111,108,111,114,115],"value":"Family colors"},
{"hash":51915973,"name":"toptionsform.pnalkaline.caption","sourcebytes":[65,108,107,97,108,105,110,101],"value":"Alkaline"},
{"hash":258099404,"name":"toptionsform.pnalkaliemetal.caption","sourcebytes":[65,108,107,97,108,105,101,32,109,101,116,97,108],"value":"Alkalie metal"},
{"hash":176391732,"name":"toptionsform.pnmetalloid.caption","sourcebytes":[77,101,116,97,108,108,111,105,100],"value":"Metalloid"},
{"hash":97964700,"name":"toptionsform.pntransmetal.caption","sourcebytes":[84,114,97,110,115,105,116,105,111,110,32,109,101,116,97,108],"value":"Transition metal"},
{"hash":32370148,"name":"toptionsform.btnalkalinebg.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":32370148,"name":"toptionsform.btnalkaliemetalbg.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":32370148,"name":"toptionsform.btnmetalloidbg.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":32370148,"name":"toptionsform.btntransmetalbg.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":200130244,"name":"toptionsform.btnalkalinefg.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":200130244,"name":"toptionsform.btnalkaliemetalfg.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":200130244,"name":"toptionsform.btnmetalloidfg.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":200130244,"name":"toptionsform.btntransmetalfg.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":71656636,"name":"toptionsform.pnothermetal.caption","sourcebytes":[79,116,104,101,114,32,109,101,116,97,108],"value":"Other metal"},
{"hash":32370148,"name":"toptionsform.btnothermetalbg.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":200130244,"name":"toptionsform.btnothermetalfg.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":7577372,"name":"toptionsform.pnnonmetal.caption","sourcebytes":[78,111,110,32,109,101,116,97,108],"value":"Non metal"},
{"hash":32370148,"name":"toptionsform.btnnonmetalbg.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":200130244,"name":"toptionsform.btnnonmetalfg.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":243490302,"name":"toptionsform.pnhalogen.caption","sourcebytes":[72,97,108,111,103,101,110],"value":"Halogen"},
{"hash":32370148,"name":"toptionsform.btnhalogenbg.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":200130244,"name":"toptionsform.btnhalogenfg.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":153565395,"name":"toptionsform.pnnoblegas.caption","sourcebytes":[78,111,98,108,101,32,103,97,115],"value":"Noble gas"},
{"hash":32370148,"name":"toptionsform.btnnoblegasbg.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":200130244,"name":"toptionsform.btnnoblegasfg.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":124649768,"name":"toptionsform.pnrareearth.caption","sourcebytes":[82,97,114,101,32,101,97,114,116,104],"value":"Rare earth"},
{"hash":32370148,"name":"toptionsform.btnrareearthbg.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":200130244,"name":"toptionsform.btnrareearthfg.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":47868498,"name":"toptionsform.tabsheet3.caption","sourcebytes":[71,114,97,100,105,101,110,116,115,32,99,111,108,111,114],"value":"Gradients color"},
{"hash":8140725,"name":"toptionsform.pnmingrad.caption","sourcebytes":[77,105,110,32,118,97,108,117,101],"value":"Min value"},
{"hash":175910965,"name":"toptionsform.pnmaxgrad.caption","sourcebytes":[77,97,120,32,118,97,108,117,101],"value":"Max value"},
{"hash":206722702,"name":"toptionsform.pnunknowgrad.caption","sourcebytes":[85,110,107,110,111,119,110],"value":"Unknown"},
{"hash":32370148,"name":"toptionsform.btnmingrad.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":32370148,"name":"toptionsform.btnmaxgrad.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":32370148,"name":"toptionsform.btnunknowgrad.caption","sourcebytes":[66,97,99,107,103,114,111,117,110,100],"value":"Background"},
{"hash":200130244,"name":"toptionsform.btntextgrad.caption","sourcebytes":[70,111,114,101,103,114,111,117,110,100],"value":"Foreground"},
{"hash":197676484,"name":"toptionsform.tsadvanced.caption","sourcebytes":[65,100,118,97,110,99,101,100],"value":"Advanced"},
{"hash":5671667,"name":"toptionsform.groupbox1.caption","sourcebytes":[80,97,116,104,115],"value":"Paths"},
{"hash":148739626,"name":"toptionsform.label1.caption","sourcebytes":[72,111,109,101,32,100,105,114,101,99,116,111,114,121,58],"value":"Home directory:"},
{"hash":139952522,"name":"toptionsform.label2.caption","sourcebytes":[68,97,116,97,98,97,115,101,32,100,105,114,101,99,116,111,114,121,58],"value":"Database directory:"},
{"hash":75997888,"name":"toptionsform.groupbox2.caption","sourcebytes":[66,97,99,107,117,112],"value":"Backup"},
{"hash":144980135,"name":"toptionsform.checkbox1.caption","sourcebytes":[67,114,101,97,116,101,32,98,97,99,107,117,112,32,111,102,32,116,104,101,32,100,97,116,97,98,97,115,101,32,98,101,102,111,114,101,32,115,97,118,105,110,103],"value":"Create backup of the database before saving"},
{"hash":116467834,"name":"toptionsform.label3.caption","sourcebytes":[66,97,99,107,117,112,32,112,97,116,104,58],"value":"Backup path:"}
]}

599
frmoptions.pas Normal file
View File

@@ -0,0 +1,599 @@
{
********************************************************************************
YaPeTaVi - Yet another Periodic Table Viewer
Copyright (C) 2010 Geoffray Levasseur <geoffray.levasseurbrandin@numericable.fr>.
All rights reserved.
http://www.geoffray-levasseur.org/
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA.
********************************************************************************
Description:
option form
}
unit frmOptions;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
Buttons, ComCtrls, StdCtrls, EditBtn, ExtCtrls;
type
{ TOptionsForm }
TOptionsForm = class(TForm)
btnSBlocBG: TBitBtn;
btnAlkalieMetalBG: TBitBtn;
btnMetalloidBG: TBitBtn;
btnTransMetalBG: TBitBtn;
btnAlkalineFG: TBitBtn;
btnAlkalieMetalFG: TBitBtn;
btnMetalloidFG: TBitBtn;
btnTransMetalFG: TBitBtn;
btnMinGrad: TBitBtn;
btnMaxGrad: TBitBtn;
btnUnknowGrad: TBitBtn;
btnSBlocFG: TBitBtn;
btnOtherMetalBG: TBitBtn;
btnTextGrad: TBitBtn;
btnOtherMetalFG: TBitBtn;
btnNonMetalBG: TBitBtn;
btnNonMetalFG: TBitBtn;
btnHalogenBG: TBitBtn;
btnHalogenFG: TBitBtn;
btnNobleGasBG: TBitBtn;
btnPBlocBG: TBitBtn;
btnNobleGasFG: TBitBtn;
btnRareEarthBG: TBitBtn;
btnRareEarthFG: TBitBtn;
btnPBlocFG: TBitBtn;
btnFBlocBG: TBitBtn;
btnFBlocFG: TBitBtn;
btnDBlocBG: TBitBtn;
btnDBlocFG: TBitBtn;
btnAlkalineBG: TBitBtn;
btnOk: TBitBtn;
btnCancel: TBitBtn;
CheckBox1: TCheckBox;
cbIconTheme: TComboBox;
ColorDialog: TColorDialog;
DirectoryEdit1: TDirectoryEdit;
DirectoryEdit2: TDirectoryEdit;
DirectoryEdit3: TDirectoryEdit;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
pcMain: TPageControl;
pcColors: TPageControl;
pnSBloc: TPanel;
pnMaxGrad: TPanel;
pnUnknowGrad: TPanel;
pnOtherMetal: TPanel;
pnNonMetal: TPanel;
pnHalogen: TPanel;
pnNobleGas: TPanel;
pnRareEarth: TPanel;
pnPBloc: TPanel;
pnFBloc: TPanel;
pnDBloc: TPanel;
pnAlkaline: TPanel;
pnAlkalieMetal: TPanel;
pnMetalloid: TPanel;
pnTransMetal: TPanel;
pnMinGrad: TPanel;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
tsAppearance: TTabSheet;
tsAdvanced: TTabSheet;
procedure btnAlkalieMetalBGClick(Sender: TObject);
procedure btnAlkalieMetalFGClick(Sender: TObject);
procedure btnAlkalineBGClick(Sender: TObject);
procedure btnAlkalineFGClick(Sender: TObject);
procedure btnDBlocBGClick(Sender: TObject);
procedure btnDBlocFGClick(Sender: TObject);
procedure btnFBlocBGClick(Sender: TObject);
procedure btnFBlocFGClick(Sender: TObject);
procedure btnHalogenBGClick(Sender: TObject);
procedure btnHalogenFGClick(Sender: TObject);
procedure btnMaxGradClick(Sender: TObject);
procedure btnMetalloidBGClick(Sender: TObject);
procedure btnMetalloidFGClick(Sender: TObject);
procedure btnMinGradClick(Sender: TObject);
procedure btnNobleGasBGClick(Sender: TObject);
procedure btnNobleGasFGClick(Sender: TObject);
procedure btnNonMetalBGClick(Sender: TObject);
procedure btnNonMetalFGClick(Sender: TObject);
procedure btnOtherMetalBGClick(Sender: TObject);
procedure btnOtherMetalFGClick(Sender: TObject);
procedure btnPBlocBGClick(Sender: TObject);
procedure btnPBlocFGClick(Sender: TObject);
procedure btnRareEarthBGClick(Sender: TObject);
procedure btnRareEarthFGClick(Sender: TObject);
procedure btnSBlocBGClick(Sender: TObject);
procedure btnSBlocFGClick(Sender: TObject);
procedure btnTextGradClick(Sender: TObject);
procedure btnTransMetalBGClick(Sender: TObject);
procedure btnTransMetalFGClick(Sender: TObject);
procedure btnUnknowGradClick(Sender: TObject);
procedure cbIconThemeChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
ChangedColors: Boolean;
ChangedIconSet: Boolean;
ChangedPaths: Boolean;
ChangedBackup: Boolean;
end;
var
OptionsForm: TOptionsForm;
implementation
uses
uIconManager, uConst;
{ TOptionsForm }
procedure TOptionsForm.FormCreate(Sender: TObject);
var
I: integer;
begin
InitBtnGlyphs(Self);
//I := 0;
for I := 0 to 127 do
if IconSetsList[I] <> '' then
begin
cbIconTheme.Items.Add(IconSetsList[I]);
end;
pnSBloc.Color := clSBlocBG;
btnSBlocBG.Glyph := CreateColorGlyph(clSBlocBG, 16, 16);
pnSBloc.Font.Color := clSBlocFG;
btnSBlocFG.Glyph := CreateColorGlyph(clSBlocFG, 16, 16);
pnPBloc.Color := clPBlocBG;
btnPBlocBG.Glyph := CreateColorGlyph(clPBlocBG, 16, 16);
pnPBloc.Font.Color := clPBlocFG;
btnPBlocFG.Glyph := CreateColorGlyph(clPBlocFG, 16, 16);
pnFBloc.Color := clFBlocBG;
btnFBlocBG.Glyph := CreateColorGlyph(clFBlocBG, 16, 16);
pnFBloc.Font.Color := clFBlocFG;
btnFBlocFG.Glyph := CreateColorGlyph(clFBlocFG, 16, 16);
pnDBloc.Color := clDBlocBG;
btnDBlocBG.Glyph := CreateColorGlyph(clDBlocBG, 16, 16);
pnDBloc.Font.Color := clDBlocFG;
btnDBlocFG.Glyph := CreateColorGlyph(clDBlocFG, 16, 16);
pnAlkaline.Color := clAlkalineBG;
btnAlkalineBG.Glyph := CreateColorGlyph(clAlkalineBG, 16, 16);
pnAlkaline.Font.Color := clAlkalineFG;
btnAlkalineFG.Glyph := CreateColorGlyph(clAlkalineFG, 16, 16);
pnAlkalieMetal.Color := clAlkalieMetalBG;
btnAlkalieMetalBG.Glyph := CreateColorGlyph(clAlkalieMetalBG, 16, 16);
pnAlkalieMetal.Font.Color := clAlkalieMetalFG;
btnAlkalieMetalFG.Glyph := CreateColorGlyph(clAlkalieMetalFG, 16, 16);
pnNonMetal.Color := clNonMetalBG;
btnNonMetalBG.Glyph := CreateColorGlyph(clNonMetalBG, 16, 16);
pnNonMetal.Font.Color := clNonMetalFG;
btnNonMetalFG.Glyph := CreateColorGlyph(clNonMetalFG, 16, 16);
pnHalogen.Color := clHalogenBG;
btnHalogenBG.Glyph := CreateColorGlyph(clHalogenBG, 16, 16);
pnHalogen.Font.Color := clHalogenFG;
btnHalogenFG.Glyph := CreateColorGlyph(clHalogenFG, 16, 16);
pnNobleGas.Color := clNobleGasBG;
btnNobleGasBG.Glyph := CreateColorGlyph(clNobleGasBG, 16, 16);
pnNobleGas.Font.Color := clNobleGasFG;
btnNobleGasFG.Glyph := CreateColorGlyph(clNobleGasFG, 16, 16);
pnTransMetal.Color := clTransMetalBG;
btnTransMetalBG.Glyph := CreateColorGlyph(clTransMetalBG, 16, 16);
pnTransMetal.Font.Color := clTransMetalFG;
btnTransMetalFG.Glyph := CreateColorGlyph(clTransMetalFG, 16, 16);
pnMetalloid.Color := clMetalloidBG;
btnMetalloidBG.Glyph := CreateColorGlyph(clMetalloidBG, 16, 16);
pnMetalloid.Font.Color := clMetalloidFG;
btnMetalloidFG.Glyph := CreateColorGlyph(clMetalloidFG, 16, 16);
pnRareEarth.Color := clRareEarthBG;
btnRareEarthBG.Glyph := CreateColorGlyph(clRareEarthBG, 16, 16);
pnRareEarth.Font.Color := clRareEarthFG;
btnRareEarthFG.Glyph := CreateColorGlyph(clRareEarthFG, 16, 16);
pnOtherMetal.Color := clOtherMetalBG;
btnOtherMetalBG.Glyph := CreateColorGlyph(clOtherMetalBG, 16, 16);
pnOtherMetal.Font.Color := clOtherMetalFG;
btnOtherMetalFG.Glyph := CreateColorGlyph(clOtherMetalFG, 16, 16);
pnMinGrad.Color := clGradientMin;
btnMinGrad.Glyph := CreateColorGlyph(clGradientMin, 16, 16);
pnMaxGrad.Color := clGradientMax;
btnMaxGrad.Glyph := CreateColorGlyph(clGradientMax, 16, 16);
pnUnknowGrad.Color := clGradientUnknow;
btnUnknowGrad.Glyph := CreateColorGlyph(clGradientUnknow, 16, 16);
pnMinGrad.Font.Color := clGradientText;
pnMaxGrad.Font.Color := clGradientText;
pnUnknowGrad.Font.Color := clGradientText;
btnTextGrad.Glyph := CreateColorGlyph(clGradientText, 16, 16);
pcMain.ActivePageIndex := 0;
pcColors.ActivePageIndex := 0;
ChangedBackup := False;
ChangedColors := False;
ChangedIconSet := False;
ChangedPaths := False;
end;
procedure TOptionsForm.btnSBlocBGClick(Sender: TObject);
begin
ColorDialog.Color := clSBlocBG;
if ColorDialog.Execute then
begin
pnSBloc.Color := ColorDialog.Color;
btnSBlocBG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnSBlocFGClick(Sender: TObject);
begin
ColorDialog.Color := clSBlocFG;
if ColorDialog.Execute then
begin
pnSBloc.Font.Color := ColorDialog.Color;
btnSBlocFG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnTextGradClick(Sender: TObject);
begin
ColorDialog.Color := clGradientText;
if ColorDialog.Execute then
begin
pnMinGrad.Font.Color := ColorDialog.Color;
pnMaxGrad.Font.Color := ColorDialog.Color;
pnUnknowGrad.Font.Color := ColorDialog.Color;
btnTextGrad.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnTransMetalBGClick(Sender: TObject);
begin
ColorDialog.Color := clTransMetalBG;
if ColorDialog.Execute then
begin
pnTransMetal.Color := ColorDialog.Color;
btnTransMetalBG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnTransMetalFGClick(Sender: TObject);
begin
ColorDialog.Color := clTransMetalFG;
if ColorDialog.Execute then
begin
pnTransMetal.Font.Color := ColorDialog.Color;
btnTransMetalFG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnUnknowGradClick(Sender: TObject);
begin
ColorDialog.Color := clGradientUnknow;
if ColorDialog.Execute then
begin
pnUnknowGrad.Color := ColorDialog.Color;
btnUnknowGrad.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.cbIconThemeChange(Sender: TObject);
begin
ChangedIconSet := True;
end;
procedure TOptionsForm.btnPBlocBGClick(Sender: TObject);
begin
ColorDialog.Color := clPBlocBG;
if ColorDialog.Execute then
begin
pnPBloc.Color := ColorDialog.Color;
btnPBlocBG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnPBlocFGClick(Sender: TObject);
begin
ColorDialog.Color := clFBlocFG;
if ColorDialog.Execute then
begin
pnFBloc.Font.Color := ColorDialog.Color;
btnFBlocFG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnRareEarthBGClick(Sender: TObject);
begin
ColorDialog.Color := clRareEarthBG;
if ColorDialog.Execute then
begin
pnRareEarth.Color := ColorDialog.Color;
btnRareEarthBG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnRareEarthFGClick(Sender: TObject);
begin
ColorDialog.Color := clRareEarthFG;
if ColorDialog.Execute then
begin
pnRareEarth.Font.Color := ColorDialog.Color;
btnRareEarthFG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnFBlocBGClick(Sender: TObject);
begin
ColorDialog.Color := clFBlocBG;
if ColorDialog.Execute then
begin
pnFBloc.Color := ColorDialog.Color;
btnFBlocBG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnFBlocFGClick(Sender: TObject);
begin
ColorDialog.Color := clFBlocFG;
if ColorDialog.Execute then
begin
pnFBloc.Font.Color := ColorDialog.Color;
btnFBlocFG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnHalogenBGClick(Sender: TObject);
begin
ColorDialog.Color := clHalogenBG;
if ColorDialog.Execute then
begin
pnHalogen.Color := ColorDialog.Color;
btnHalogenBG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnHalogenFGClick(Sender: TObject);
begin
ColorDialog.Color := clHalogenFG;
if ColorDialog.Execute then
begin
pnHalogen.Font.Color := ColorDialog.Color;
btnHalogenFG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnMaxGradClick(Sender: TObject);
begin
ColorDialog.Color := clGradientMax;
if ColorDialog.Execute then
begin
pnMaxGrad.Color := ColorDialog.Color;
btnMaxGrad.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnMetalloidBGClick(Sender: TObject);
begin
ColorDialog.Color := clMetalloidBG;
if ColorDialog.Execute then
begin
pnMetalloid.Color := ColorDialog.Color;
btnMetalloidBG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnMetalloidFGClick(Sender: TObject);
begin
ColorDialog.Color := clMetalloidFG;
if ColorDialog.Execute then
begin
pnMetalloid.Font.Color := ColorDialog.Color;
btnMetalloidFG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnMinGradClick(Sender: TObject);
begin
ColorDialog.Color := clGradientMin;
if ColorDialog.Execute then
begin
pnMinGrad.Color := ColorDialog.Color;
btnMinGrad.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnNobleGasBGClick(Sender: TObject);
begin
ColorDialog.Color := clNobleGasBG;
if ColorDialog.Execute then
begin
pnNobleGas.Color := ColorDialog.Color;
btnNobleGasBG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnNobleGasFGClick(Sender: TObject);
begin
ColorDialog.Color := clNobleGasFG;
if ColorDialog.Execute then
begin
pnNobleGas.Font.Color := ColorDialog.Color;
btnNobleGasFG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnNonMetalBGClick(Sender: TObject);
begin
ColorDialog.Color := clNonMetalBG;
if ColorDialog.Execute then
begin
pnOtherMetal.Color := ColorDialog.Color;
btnOtherMetalBG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnNonMetalFGClick(Sender: TObject);
begin
ColorDialog.Color := clNonMetalFG;
if ColorDialog.Execute then
begin
pnNonMetal.Font.Color := ColorDialog.Color;
btnNonMetalFG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnOtherMetalBGClick(Sender: TObject);
begin
ColorDialog.Color := clOtherMetalBG;
if ColorDialog.Execute then
begin
pnOtherMetal.Color := ColorDialog.Color;
btnOtherMetalBG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnOtherMetalFGClick(Sender: TObject);
begin
ColorDialog.Color := clOtherMetalFG;
if ColorDialog.Execute then
begin
pnOtherMetal.Font.Color := ColorDialog.Color;
btnOtherMetalFG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnDBlocBGClick(Sender: TObject);
begin
ColorDialog.Color := clDBlocBG;
if ColorDialog.Execute then
begin
pnDBloc.Color := ColorDialog.Color;
btnDBlocBG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnAlkalineBGClick(Sender: TObject);
begin
ColorDialog.Color := clAlkalineBG;
if ColorDialog.Execute then
begin
pnAlkaline.Color := ColorDialog.Color;
btnAlkalineBG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnAlkalineFGClick(Sender: TObject);
begin
ColorDialog.Color := clAlkalineFG;
if ColorDialog.Execute then
begin
pnAlkaline.Font.Color := ColorDialog.Color;
btnAlkalineFG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnAlkalieMetalBGClick(Sender: TObject);
begin
ColorDialog.Color := clAlkalieMetalBG;
if ColorDialog.Execute then
begin
pnAlkalieMetal.Color := ColorDialog.Color;
btnAlkalieMetalBG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnAlkalieMetalFGClick(Sender: TObject);
begin
ColorDialog.Color := clAlkalieMetalFG;
if ColorDialog.Execute then
begin
pnAlkalieMetal.Font.Color := ColorDialog.Color;
btnAlkalieMetalFG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
procedure TOptionsForm.btnDBlocFGClick(Sender: TObject);
begin
ColorDialog.Color := clDBlocFG;
if ColorDialog.Execute then
begin
pnDBloc.Font.Color := ColorDialog.Color;
btnDBlocFG.Glyph := CreateColorGlyph(ColorDialog.Color, 16, 16);
ChangedColors := True;
end;
end;
initialization
{$I frmoptions.lrs}
end.

3459
frmtable.lfm Normal file

File diff suppressed because it is too large Load Diff

294
frmtable.lrj Normal file
View File

@@ -0,0 +1,294 @@
{"version":1,"strings":[
{"hash":214864366,"name":"ttableform.hint","sourcebytes":[67,97,108,99,117,108,32,100,101,32,109,97,115,115,101,32,109,111,108,97,105,114,101,32,40,99,41,32,49,57,57,55,45,50,48,48,48,32,71,101,111,102,102,114,97,121,32,66,82,65,78,68,73,78,46],"value":"Calcul de masse molaire (c) 1997-2000 Geoffray BRANDIN."},
{"hash":222956658,"name":"ttableform.caption","sourcebytes":[89,97,80,101,84,97,86,105,32,45,32,89,101,116,32,97,110,111,116,104,101,114,32,80,101,114,105,111,100,105,99,32,84,97,98,108,101,32,86,105,101,119,101,114],"value":"YaPeTaVi - Yet another Periodic Table Viewer"},
{"hash":217055525,"name":"ttableform.tstable.caption","sourcebytes":[32,77,101,110,100,101,108,101,101,118,32,84,97,98,108,101],"value":" Mendeleev Table"},
{"hash":244490527,"name":"ttableform.lbcontextinfo.caption","sourcebytes":[108,98,67,111,110,116,101,120,116,73,110,102,111],"value":"lbContextInfo"},
{"hash":72,"name":"ttableform.pnh.caption","sourcebytes":[72],"value":"H"},
{"hash":1321,"name":"ttableform.pnli.caption","sourcebytes":[76,105],"value":"Li"},
{"hash":1157,"name":"ttableform.pnbe.caption","sourcebytes":[66,101],"value":"Be"},
{"hash":1345,"name":"ttableform.pnna.caption","sourcebytes":[78,97],"value":"Na"},
{"hash":1335,"name":"ttableform.pnmg.caption","sourcebytes":[77,103],"value":"Mg"},
{"hash":75,"name":"ttableform.pnk.caption","sourcebytes":[75],"value":"K"},
{"hash":1187,"name":"ttableform.pncs.caption","sourcebytes":[67,115],"value":"Cs"},
{"hash":1234,"name":"ttableform.pnfr.caption","sourcebytes":[70,114],"value":"Fr"},
{"hash":1410,"name":"ttableform.pnrb.caption","sourcebytes":[82,98],"value":"Rb"},
{"hash":1169,"name":"ttableform.pnca.caption","sourcebytes":[67,97],"value":"Ca"},
{"hash":1442,"name":"ttableform.pnsr.caption","sourcebytes":[83,114],"value":"Sr"},
{"hash":1153,"name":"ttableform.pnba.caption","sourcebytes":[66,97],"value":"Ba"},
{"hash":1409,"name":"ttableform.pnra.caption","sourcebytes":[82,97],"value":"Ra"},
{"hash":1427,"name":"ttableform.pnsc.caption","sourcebytes":[83,99],"value":"Sc"},
{"hash":1449,"name":"ttableform.pnti.caption","sourcebytes":[84,105],"value":"Ti"},
{"hash":89,"name":"ttableform.pny.caption","sourcebytes":[89],"value":"Y"},
{"hash":1554,"name":"ttableform.pnzr.caption","sourcebytes":[90,114],"value":"Zr"},
{"hash":86,"name":"ttableform.pnv.caption","sourcebytes":[86],"value":"V"},
{"hash":1346,"name":"ttableform.pnnb.caption","sourcebytes":[78,98],"value":"Nb"},
{"hash":1254,"name":"ttableform.pnhf.caption","sourcebytes":[72,102],"value":"Hf"},
{"hash":1414,"name":"ttableform.pnrf.caption","sourcebytes":[82,102],"value":"Rf"},
{"hash":1186,"name":"ttableform.pncr.caption","sourcebytes":[67,114],"value":"Cr"},
{"hash":1343,"name":"ttableform.pnmo.caption","sourcebytes":[77,111],"value":"Mo"},
{"hash":1441,"name":"ttableform.pnta.caption","sourcebytes":[84,97],"value":"Ta"},
{"hash":1186,"name":"ttableform.pndb.caption","sourcebytes":[68,98],"value":"Db"},
{"hash":87,"name":"ttableform.pnw.caption","sourcebytes":[87],"value":"W"},
{"hash":1431,"name":"ttableform.pnsg.caption","sourcebytes":[83,103],"value":"Sg"},
{"hash":1342,"name":"ttableform.pnmn.caption","sourcebytes":[77,110],"value":"Mn"},
{"hash":1443,"name":"ttableform.pntc.caption","sourcebytes":[84,99],"value":"Tc"},
{"hash":1413,"name":"ttableform.pnre.caption","sourcebytes":[82,101],"value":"Re"},
{"hash":1160,"name":"ttableform.pnbh.caption","sourcebytes":[66,104],"value":"Bh"},
{"hash":1221,"name":"ttableform.pnfe.caption","sourcebytes":[70,101],"value":"Fe"},
{"hash":1183,"name":"ttableform.pnco.caption","sourcebytes":[67,111],"value":"Co"},
{"hash":1353,"name":"ttableform.pnni.caption","sourcebytes":[78,105],"value":"Ni"},
{"hash":1189,"name":"ttableform.pncu.caption","sourcebytes":[67,117],"value":"Cu"},
{"hash":1550,"name":"ttableform.pnzn.caption","sourcebytes":[90,110],"value":"Zn"},
{"hash":1172,"name":"ttableform.pncd.caption","sourcebytes":[67,100],"value":"Cd"},
{"hash":1143,"name":"ttableform.pnag.caption","sourcebytes":[65,103],"value":"Ag"},
{"hash":1380,"name":"ttableform.pnpd.caption","sourcebytes":[80,100],"value":"Pd"},
{"hash":1416,"name":"ttableform.pnrh.caption","sourcebytes":[82,104],"value":"Rh"},
{"hash":1429,"name":"ttableform.pnru.caption","sourcebytes":[82,117],"value":"Ru"},
{"hash":1282,"name":"ttableform.pnir.caption","sourcebytes":[73,114],"value":"Ir"},
{"hash":1396,"name":"ttableform.pnpt.caption","sourcebytes":[80,116],"value":"Pt"},
{"hash":1157,"name":"ttableform.pnau.caption","sourcebytes":[65,117],"value":"Au"},
{"hash":1255,"name":"ttableform.pnhg.caption","sourcebytes":[72,103],"value":"Hg"},
{"hash":1415,"name":"ttableform.pnrg.caption","sourcebytes":[82,103],"value":"Rg"},
{"hash":1203,"name":"ttableform.pnds.caption","sourcebytes":[68,115],"value":"Ds"},
{"hash":1348,"name":"ttableform.pnmt.caption","sourcebytes":[77,116],"value":"Mt"},
{"hash":1379,"name":"ttableform.pnos.caption","sourcebytes":[79,115],"value":"Os"},
{"hash":1267,"name":"ttableform.pnhs.caption","sourcebytes":[72,115],"value":"Hs"},
{"hash":1233,"name":"ttableform.pnga.caption","sourcebytes":[71,97],"value":"Ga"},
{"hash":1237,"name":"ttableform.pnge.caption","sourcebytes":[71,101],"value":"Ge"},
{"hash":1155,"name":"ttableform.pnas.caption","sourcebytes":[65,115],"value":"As"},
{"hash":1429,"name":"ttableform.pnse.caption","sourcebytes":[83,101],"value":"Se"},
{"hash":1170,"name":"ttableform.pnbr.caption","sourcebytes":[66,114],"value":"Br"},
{"hash":1314,"name":"ttableform.pnkr.caption","sourcebytes":[75,114],"value":"Kr"},
{"hash":1278,"name":"ttableform.pnin.caption","sourcebytes":[73,110],"value":"In"},
{"hash":1438,"name":"ttableform.pnsn.caption","sourcebytes":[83,110],"value":"Sn"},
{"hash":1426,"name":"ttableform.pnsb.caption","sourcebytes":[83,98],"value":"Sb"},
{"hash":1445,"name":"ttableform.pnte.caption","sourcebytes":[84,101],"value":"Te"},
{"hash":73,"name":"ttableform.pni.caption","sourcebytes":[73],"value":"I"},
{"hash":1509,"name":"ttableform.pnxe.caption","sourcebytes":[88,101],"value":"Xe"},
{"hash":1148,"name":"ttableform.pnal.caption","sourcebytes":[65,108],"value":"Al"},
{"hash":1433,"name":"ttableform.pnsi.caption","sourcebytes":[83,105],"value":"Si"},
{"hash":80,"name":"ttableform.pnp.caption","sourcebytes":[80],"value":"P"},
{"hash":83,"name":"ttableform.pns.caption","sourcebytes":[83],"value":"S"},
{"hash":1180,"name":"ttableform.pncl.caption","sourcebytes":[67,108],"value":"Cl"},
{"hash":1154,"name":"ttableform.pnar.caption","sourcebytes":[65,114],"value":"Ar"},
{"hash":66,"name":"ttableform.pnb.caption","sourcebytes":[66],"value":"B"},
{"hash":67,"name":"ttableform.pnc.caption","sourcebytes":[67],"value":"C"},
{"hash":78,"name":"ttableform.pnn.caption","sourcebytes":[78],"value":"N"},
{"hash":79,"name":"ttableform.pno.caption","sourcebytes":[79],"value":"O"},
{"hash":70,"name":"ttableform.pnf.caption","sourcebytes":[70],"value":"F"},
{"hash":1349,"name":"ttableform.pnne.caption","sourcebytes":[78,101],"value":"Ne"},
{"hash":1253,"name":"ttableform.pnhe.caption","sourcebytes":[72,101],"value":"He"},
{"hash":1161,"name":"ttableform.pnbi.caption","sourcebytes":[66,105],"value":"Bi"},
{"hash":1391,"name":"ttableform.pnpo.caption","sourcebytes":[80,111],"value":"Po"},
{"hash":1378,"name":"ttableform.pnpb.caption","sourcebytes":[80,98],"value":"Pb"},
{"hash":1452,"name":"ttableform.pntl.caption","sourcebytes":[84,108],"value":"Tl"},
{"hash":1156,"name":"ttableform.pnat.caption","sourcebytes":[65,116],"value":"At"},
{"hash":1422,"name":"ttableform.pnrn.caption","sourcebytes":[82,110],"value":"Rn"},
{"hash":1313,"name":"ttableform.pnla.caption","sourcebytes":[76,97],"value":"La"},
{"hash":1139,"name":"ttableform.pnac.caption","sourcebytes":[65,99],"value":"Ac"},
{"hash":1333,"name":"ttableform.pnla2.caption","sourcebytes":[76,117],"value":"Lu"},
{"hash":1394,"name":"ttableform.pnpr.caption","sourcebytes":[80,114],"value":"Pr"},
{"hash":1348,"name":"ttableform.pnnd.caption","sourcebytes":[78,100],"value":"Nd"},
{"hash":1389,"name":"ttableform.pnpm.caption","sourcebytes":[80,109],"value":"Pm"},
{"hash":1522,"name":"ttableform.pnyb.caption","sourcebytes":[89,98],"value":"Yb"},
{"hash":1453,"name":"ttableform.pntm.caption","sourcebytes":[84,109],"value":"Tm"},
{"hash":1218,"name":"ttableform.pner.caption","sourcebytes":[69,114],"value":"Er"},
{"hash":1263,"name":"ttableform.pnho.caption","sourcebytes":[72,111],"value":"Ho"},
{"hash":1209,"name":"ttableform.pndy.caption","sourcebytes":[68,121],"value":"Dy"},
{"hash":1442,"name":"ttableform.pntb.caption","sourcebytes":[84,98],"value":"Tb"},
{"hash":1236,"name":"ttableform.pngd.caption","sourcebytes":[71,100],"value":"Gd"},
{"hash":1221,"name":"ttableform.pneu.caption","sourcebytes":[69,117],"value":"Eu"},
{"hash":1437,"name":"ttableform.pnsm.caption","sourcebytes":[83,109],"value":"Sm"},
{"hash":1173,"name":"ttableform.pnce.caption","sourcebytes":[67,101],"value":"Ce"},
{"hash":1448,"name":"ttableform.pnth.caption","sourcebytes":[84,104],"value":"Th"},
{"hash":1377,"name":"ttableform.pnpa.caption","sourcebytes":[80,97],"value":"Pa"},
{"hash":85,"name":"ttableform.pnu.caption","sourcebytes":[85],"value":"U"},
{"hash":1360,"name":"ttableform.pnnp.caption","sourcebytes":[78,112],"value":"Np"},
{"hash":1397,"name":"ttableform.pnpu.caption","sourcebytes":[80,117],"value":"Pu"},
{"hash":1149,"name":"ttableform.pnam.caption","sourcebytes":[65,109],"value":"Am"},
{"hash":1181,"name":"ttableform.pncm.caption","sourcebytes":[67,109],"value":"Cm"},
{"hash":1163,"name":"ttableform.pnbk.caption","sourcebytes":[66,107],"value":"Bk"},
{"hash":1174,"name":"ttableform.pncf.caption","sourcebytes":[67,102],"value":"Cf"},
{"hash":1219,"name":"ttableform.pnes.caption","sourcebytes":[69,115],"value":"Es"},
{"hash":1229,"name":"ttableform.pnfm.caption","sourcebytes":[70,109],"value":"Fm"},
{"hash":1332,"name":"ttableform.pnmd.caption","sourcebytes":[77,100],"value":"Md"},
{"hash":1359,"name":"ttableform.pnno.caption","sourcebytes":[78,111],"value":"No"},
{"hash":1330,"name":"ttableform.pnlr.caption","sourcebytes":[76,114],"value":"Lr"},
{"hash":1496,"name":"ttableform.pnhighlight.caption","sourcebytes":[88,88],"value":"XX"},
{"hash":2822409,"name":"ttableform.lbpname.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":48,"name":"ttableform.lbpatnum.caption","sourcebytes":[48],"value":"0"},
{"hash":12885,"name":"ttableform.lbpmass.caption","sourcebytes":[48,32,85],"value":"0 U"},
{"hash":201581331,"name":"ttableform.groupbox6.caption","sourcebytes":[84,97,98,108,101,32,111,112,116,105,111,110,115],"value":"Table options"},
{"hash":43019306,"name":"ttableform.label20.caption","sourcebytes":[76,97,121,111,117,116,58],"value":"Layout:"},
{"hash":130804841,"name":"ttableform.cbxlayout.text","sourcebytes":[83,116,97,110,100,97,114,100,32,40,101,108,101,99,116,114,111,110,105,99,32,98,108,111,99,115,41],"value":"Standard (electronic blocs)"},
{"hash":77032393,"name":"ttableform.cbtableapplyfilters.caption","sourcebytes":[65,112,112,108,121,32,102,105,108,116,101,114,40,115,41],"value":"Apply filter(s)"},
{"hash":86760516,"name":"ttableform.gblegend.caption","sourcebytes":[76,101,103,101,110,100],"value":"Legend"},
{"hash":49,"name":"ttableform.pnnum1.caption","sourcebytes":[49],"value":"1"},
{"hash":50,"name":"ttableform.pnnum2.caption","sourcebytes":[50],"value":"2"},
{"hash":51,"name":"ttableform.pnnum3.caption","sourcebytes":[51],"value":"3"},
{"hash":52,"name":"ttableform.pnnum4.caption","sourcebytes":[52],"value":"4"},
{"hash":53,"name":"ttableform.pnnum5.caption","sourcebytes":[53],"value":"5"},
{"hash":54,"name":"ttableform.pnnum6.caption","sourcebytes":[54],"value":"6"},
{"hash":55,"name":"ttableform.pnnum7.caption","sourcebytes":[55],"value":"7"},
{"hash":56,"name":"ttableform.pnnum8.caption","sourcebytes":[56],"value":"8"},
{"hash":57,"name":"ttableform.pnnum9.caption","sourcebytes":[57],"value":"9"},
{"hash":832,"name":"ttableform.pnnum10.caption","sourcebytes":[49,48],"value":"10"},
{"hash":833,"name":"ttableform.pnnum11.caption","sourcebytes":[49,49],"value":"11"},
{"hash":834,"name":"ttableform.pnnum12.caption","sourcebytes":[49,50],"value":"12"},
{"hash":835,"name":"ttableform.pnnum13.caption","sourcebytes":[49,51],"value":"13"},
{"hash":836,"name":"ttableform.pnnum14.caption","sourcebytes":[49,52],"value":"14"},
{"hash":837,"name":"ttableform.pnnum15.caption","sourcebytes":[49,53],"value":"15"},
{"hash":838,"name":"ttableform.pnnum16.caption","sourcebytes":[49,54],"value":"16"},
{"hash":839,"name":"ttableform.pnnum17.caption","sourcebytes":[49,55],"value":"17"},
{"hash":840,"name":"ttableform.pnnum18.caption","sourcebytes":[49,56],"value":"18"},
{"hash":1182,"name":"ttableform.pncn.caption","sourcebytes":[67,110],"value":"Cn"},
{"hash":134661630,"name":"ttableform.label17.caption","sourcebytes":[73,109,97,103,101,32,99,111,117,114,116,101,115,121,32,111,102,32,116,104,101,32,87,105,107,105,112,101,100,105,97,32,102,114,101,101,32,101,110,99,121,99,108,111,112,101,100,105,97,46],"value":"Image courtesy of the Wikipedia free encyclopedia."},
{"hash":340132,"name":"ttableform.tslist.caption","sourcebytes":[76,105,115,116],"value":"List"},
{"hash":89929922,"name":"ttableform.lvlist.columns[0].caption","sourcebytes":[78,117,109,98,101,114],"value":"Number"},
{"hash":95435100,"name":"ttableform.lvlist.columns[1].caption","sourcebytes":[83,121,109,98,111,108],"value":"Symbol"},
{"hash":346165,"name":"ttableform.lvlist.columns[2].caption","sourcebytes":[78,97,109,101],"value":"Name"},
{"hash":75133198,"name":"ttableform.btnadd.caption","sourcebytes":[65,100,100,46,46,46],"value":"Add..."},
{"hash":55206947,"name":"ttableform.groupbox5.caption","sourcebytes":[76,105,115,116,32,111,112,116,105,111,110,115],"value":"List options"},
{"hash":145824794,"name":"ttableform.lbunknownsort.caption","sourcebytes":[85,110,107,110,111,119,110,32,118,97,108,117,101,115,32,99,111,109,101,115,58],"value":"Unknown values comes:"},
{"hash":62740922,"name":"ttableform.label15.caption","sourcebytes":[83,104,111,114,116,32,98,121,32,40,99,104,97,110,103,101,32,116,104,101,32,115,101,99,111,110,100,32,99,111,108,117,109,110,32,100,105,115,112,108,97,121,41,58],"value":"Short by (change the second column display):"},
{"hash":267257810,"name":"ttableform.cbxsort.text","sourcebytes":[65,116,111,109,105,99,32,110,117,109,98,101,114],"value":"Atomic number"},
{"hash":77032393,"name":"ttableform.cblistapplyfilter.caption","sourcebytes":[65,112,112,108,121,32,102,105,108,116,101,114,40,115,41],"value":"Apply filter(s)"},
{"hash":5048740,"name":"ttableform.rbsortfirst.caption","sourcebytes":[70,105,114,115,116],"value":"First"},
{"hash":338084,"name":"ttableform.rbsortlast.caption","sourcebytes":[76,97,115,116],"value":"Last"},
{"hash":258035858,"name":"ttableform.cbxinvertsortorder.caption","sourcebytes":[73,110,118,101,114,116,32,115,111,114,116,32,111,114,100,101,114],"value":"Invert sort order"},
{"hash":9987187,"name":"ttableform.tsglobalinfo.caption","sourcebytes":[83,99,105,101,110,116,105,102,105,99,32,105,110,102,111,114,109,97,116,105,111,110,115],"value":"Scientific informations"},
{"hash":9987187,"name":"ttableform.groupbox1.caption","sourcebytes":[83,99,105,101,110,116,105,102,105,99,32,105,110,102,111,114,109,97,116,105,111,110,115],"value":"Scientific informations"},
{"hash":189693225,"name":"ttableform.label2.hint","sourcebytes":[78,111,109,32,100,101,32,108,39,97,116,111,109,101,32,115,195,169,108,101,99,116,105,111,110,110,195,169],"value":"Nom de l'atome s\u00E9lectionn\u00E9"},
{"hash":5538698,"name":"ttableform.label2.caption","sourcebytes":[78,97,109,101,58],"value":"Name:"},
{"hash":189693225,"name":"ttableform.lbname.hint","sourcebytes":[78,111,109,32,100,101,32,108,39,97,116,111,109,101,32,115,195,169,108,101,99,116,105,111,110,110,195,169],"value":"Nom de l'atome s\u00E9lectionn\u00E9"},
{"hash":2822409,"name":"ttableform.lbname.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":108499753,"name":"ttableform.label4.hint","sourcebytes":[77,97,115,115,101,32,109,111,108,97,105,114,101,32,100,101,32,108,39,97,116,111,109,101,32,115,101,108,101,99,116,105,111,110,110,195,169],"value":"Masse molaire de l'atome selectionn\u00E9"},
{"hash":5474922,"name":"ttableform.label4.caption","sourcebytes":[77,97,115,115,58],"value":"Mass:"},
{"hash":157077180,"name":"ttableform.label5.hint","sourcebytes":[73,110,100,105,113,117,101,32,115,105,32,108,39,97,116,111,109,101,32,115,101,108,101,99,116,105,111,110,110,195,169,32,101,115,116,32,114,97,100,105,111,97,99,116,105,102,32,111,117,32,97,114,116,105,102,105,99,105,101,108],"value":"Indique si l'atome selectionn\u00E9 est radioactif ou artificiel"},
{"hash":212851162,"name":"ttableform.label5.caption","sourcebytes":[78,97,116,117,114,97,108,108,121,32,114,97,100,105,111,97,99,116,105,118,101,58],"value":"Naturally radioactive:"},
{"hash":108499753,"name":"ttableform.lbmass.hint","sourcebytes":[77,97,115,115,101,32,109,111,108,97,105,114,101,32,100,101,32,108,39,97,116,111,109,101,32,115,101,108,101,99,116,105,111,110,110,195,169],"value":"Masse molaire de l'atome selectionn\u00E9"},
{"hash":2822409,"name":"ttableform.lbmass.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":157077180,"name":"ttableform.lbnatradio.hint","sourcebytes":[73,110,100,105,113,117,101,32,115,105,32,108,39,97,116,111,109,101,32,115,101,108,101,99,116,105,111,110,110,195,169,32,101,115,116,32,114,97,100,105,111,97,99,116,105,102,32,111,117,32,97,114,116,105,102,105,99,105,101,108],"value":"Indique si l'atome selectionn\u00E9 est radioactif ou artificiel"},
{"hash":2822409,"name":"ttableform.lbnatradio.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":49358409,"name":"ttableform.label9.hint","sourcebytes":[78,117,109,195,169,114,111,32,97,116,111,109,105,113,117,101,32,100,101,32,108,39,97,116,111,109,101,32,115,101,108,101,99,116,105,111,110,110,195,169],"value":"Num\u00E9ro atomique de l'atome selectionn\u00E9"},
{"hash":249593226,"name":"ttableform.label9.caption","sourcebytes":[65,116,111,109,105,99,32,78,117,109,98,101,114,58],"value":"Atomic Number:"},
{"hash":49358409,"name":"ttableform.lbatnumber.hint","sourcebytes":[78,117,109,195,169,114,111,32,97,116,111,109,105,113,117,101,32,100,101,32,108,39,97,116,111,109,101,32,115,101,108,101,99,116,105,111,110,110,195,169],"value":"Num\u00E9ro atomique de l'atome selectionn\u00E9"},
{"hash":2822409,"name":"ttableform.lbatnumber.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":50646873,"name":"ttableform.label11.hint","sourcebytes":[68,117,114,195,169,101,32,100,39,101,120,105,115,116,97,110,99,101,32,100,101,115,32,56,48,37,32,100,101,32,108,97,32,114,97,100,105,111,97,99,116,105,118,105,116,195,169],"value":"Dur\u00E9e d'existance des 80% de la radioactivit\u00E9"},
{"hash":155587754,"name":"ttableform.label11.caption","sourcebytes":[72,97,108,102,45,108,105,102,101,58],"value":"Half-life:"},
{"hash":50646873,"name":"ttableform.lbradiohalflife.hint","sourcebytes":[68,117,114,195,169,101,32,100,39,101,120,105,115,116,97,110,99,101,32,100,101,115,32,56,48,37,32,100,101,32,108,97,32,114,97,100,105,111,97,99,116,105,118,105,116,195,169],"value":"Dur\u00E9e d'existance des 80% de la radioactivit\u00E9"},
{"hash":2822409,"name":"ttableform.lbradiohalflife.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":191825114,"name":"ttableform.label1.caption","sourcebytes":[77,101,108,116,105,110,103,32,112,111,105,110,116,58],"value":"Melting point:"},
{"hash":24577402,"name":"ttableform.label3.caption","sourcebytes":[66,111,105,108,105,110,103,32,112,111,105,110,116,58],"value":"Boiling point:"},
{"hash":2822409,"name":"ttableform.lbmeltingpt.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbboilingpt.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":144902074,"name":"ttableform.label6.caption","sourcebytes":[69,108,101,99,116,114,111,110,105,99,32,99,111,110,102,105,103,117,114,97,116,105,111,110,58],"value":"Electronic configuration:"},
{"hash":181195178,"name":"ttableform.label7.caption","sourcebytes":[69,108,101,99,116,114,111,110,105,99,32,97,102,102,105,110,105,116,121,58],"value":"Electronic affinity:"},
{"hash":4979930,"name":"ttableform.label8.caption","sourcebytes":[67,111,118,97,108,101,110,116,32,114,97,100,105,117,115,58],"value":"Covalent radius:"},
{"hash":90546634,"name":"ttableform.label10.caption","sourcebytes":[86,97,110,32,100,101,114,32,87,97,97,108,115,32,114,97,100,105,117,115,58],"value":"Van der Waals radius:"},
{"hash":132554298,"name":"ttableform.label12.caption","sourcebytes":[73,111,110,105,115,97,116,105,111,110,32,101,110,101,114,103,121,58],"value":"Ionisation energy:"},
{"hash":145427706,"name":"ttableform.label13.caption","sourcebytes":[69,108,101,99,116,114,111,110,101,103,97,116,105,118,105,116,121,58],"value":"Electronegativity:"},
{"hash":2822409,"name":"ttableform.lbelecaff.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbvanderwalsrd.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbcovalentrd.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbelecconf.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbelectroneg.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbfirsionisationenergy.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":189693225,"name":"ttableform.label19.hint","sourcebytes":[78,111,109,32,100,101,32,108,39,97,116,111,109,101,32,115,195,169,108,101,99,116,105,111,110,110,195,169],"value":"Nom de l'atome s\u00E9lectionn\u00E9"},
{"hash":209978250,"name":"ttableform.label19.caption","sourcebytes":[70,97,109,105,108,121,58],"value":"Family:"},
{"hash":189693225,"name":"ttableform.lbfamily.hint","sourcebytes":[78,111,109,32,100,101,32,108,39,97,116,111,109,101,32,115,195,169,108,101,99,116,105,111,110,110,195,169],"value":"Nom de l'atome s\u00E9lectionn\u00E9"},
{"hash":2822409,"name":"ttableform.lbfamily.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":100985098,"name":"ttableform.label16.caption","sourcebytes":[67,65,83,32,78,117,109,98,101,114,58],"value":"CAS Number:"},
{"hash":2822409,"name":"ttableform.lbcasnumber.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbsecondionisationenergy.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbthirdionisationenergy.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":176828494,"name":"ttableform.tselecconf.caption","sourcebytes":[69,108,101,99,116,114,111,110,105,99,32,67,111,110,102,105,103,117,114,97,116,105,111,110],"value":"Electronic Configuration"},
{"hash":238503502,"name":"ttableform.lbexpandedelecconf.caption","sourcebytes":[85,110,107,110,111,119,32,101,108,101,99,116,114,111,110,105,99,32,100,105,115,116,114,105,98,117,116,105,111,110],"value":"Unknow electronic distribution"},
{"hash":174810051,"name":"ttableform.isotopes.caption","sourcebytes":[73,115,111,116,111,112,101,115],"value":"Isotopes"},
{"hash":252360409,"name":"ttableform.tshistory.caption","sourcebytes":[72,105,115,116,111,114,121],"value":"History"},
{"hash":161908633,"name":"ttableform.groupbox2.caption","sourcebytes":[68,105,115,99,111,118,101,114,121],"value":"Discovery"},
{"hash":4618537,"name":"ttableform.groupbox4.caption","sourcebytes":[69,116,121,109,111,108,111,103,121],"value":"Etymology"},
{"hash":170845877,"name":"ttableform.tsaspectuse.caption","sourcebytes":[65,115,112,101,99,116,32,38,38,32,85,115,101],"value":"Aspect && Use"},
{"hash":76180388,"name":"ttableform.groupbox10.caption","sourcebytes":[65,115,112,101,99,116],"value":"Aspect"},
{"hash":23701,"name":"ttableform.groupbox11.caption","sourcebytes":[85,115,101],"value":"Use"},
{"hash":926960,"name":"ttableform.lbnopic.caption","sourcebytes":[78,111,32,112,105,99,116,117,114,101,32,97,118,97,105,108,97,98,108,101,46,46,46,32],"value":"No picture available... "},
{"hash":1496,"name":"ttableform.pnselected.caption","sourcebytes":[88,88],"value":"XX"},
{"hash":2822409,"name":"ttableform.lbpname1.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":48,"name":"ttableform.lbpatnum1.caption","sourcebytes":[48],"value":"0"},
{"hash":12885,"name":"ttableform.lbpmass1.caption","sourcebytes":[48,32,85],"value":"0 U"},
{"hash":34006257,"name":"ttableform.btnwikipedia.caption","sourcebytes":[87,105,107,105,112,101,100,105,97],"value":"Wikipedia"},
{"hash":78705157,"name":"ttableform.tselemdb.caption","sourcebytes":[69,108,101,109,101,110,116,115,32,100,97,116,97,98,97,115,101],"value":"Elements database"},
{"hash":77498803,"name":"ttableform.tabsheet1.caption","sourcebytes":[67,104,97,114,116,115],"value":"Charts"},
{"hash":132639258,"name":"ttableform.label14.caption","sourcebytes":[83,104,111,119,32,108,97,98,101,108,115,58],"value":"Show labels:"},
{"hash":95522563,"name":"ttableform.groupbox7.caption","sourcebytes":[88,45,65,120,105,115],"value":"X-Axis"},
{"hash":2822409,"name":"ttableform.lbmaxx.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbminx.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbaveragex.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbunitx.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":130220842,"name":"ttableform.lbmaxx1.caption","sourcebytes":[77,97,120,32,118,97,108,117,101,58],"value":"Max value:"},
{"hash":130251658,"name":"ttableform.lbminx1.caption","sourcebytes":[77,105,110,32,118,97,108,117,101,58],"value":"Min value:"},
{"hash":185614970,"name":"ttableform.lbaveragex1.caption","sourcebytes":[65,118,101,114,97,103,101,32,118,97,108,117,101,58],"value":"Average value:"},
{"hash":6049914,"name":"ttableform.lbunitx1.caption","sourcebytes":[85,110,105,116,58],"value":"Unit:"},
{"hash":267257810,"name":"ttableform.cbxxaxis.text","sourcebytes":[65,116,111,109,105,99,32,110,117,109,98,101,114],"value":"Atomic number"},
{"hash":5801173,"name":"ttableform.groupbox9.caption","sourcebytes":[82,97,110,103,101],"value":"Range"},
{"hash":3408961,"name":"ttableform.edrange.text","sourcebytes":[49,45,49,49,49],"value":"1-111"},
{"hash":318508,"name":"ttableform.btnfullrange.caption","sourcebytes":[70,117,108,108],"value":"Full"},
{"hash":76847027,"name":"ttableform.cbchartapplyfilters.caption","sourcebytes":[65,112,112,108,121,32,102,105,108,116,101,114,115],"value":"Apply filters"},
{"hash":158751811,"name":"ttableform.cbdrawlines.caption","sourcebytes":[68,114,97,119,32,108,105,110,101,115],"value":"Draw lines"},
{"hash":186265029,"name":"ttableform.cbchartunknowval.caption","sourcebytes":[83,104,111,119,32,97,116,111,109,115,32,119,105,116,104,32,117,110,107,110,111,119,110,32,118,97,108,117,101],"value":"Show atoms with unknown value"},
{"hash":349765,"name":"ttableform.cbxchartlabels.text","sourcebytes":[78,111,110,101],"value":"None"},
{"hash":96571139,"name":"ttableform.groupbox8.caption","sourcebytes":[89,45,65,120,105,115],"value":"Y-Axis"},
{"hash":2822409,"name":"ttableform.lbmaxy.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbminy.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbaveragey.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":2822409,"name":"ttableform.lbunity.caption","sourcebytes":[40,46,46,46,41],"value":"(...)"},
{"hash":130220842,"name":"ttableform.lbmaxy1.caption","sourcebytes":[77,97,120,32,118,97,108,117,101,58],"value":"Max value:"},
{"hash":130251658,"name":"ttableform.lbminy1.caption","sourcebytes":[77,105,110,32,118,97,108,117,101,58],"value":"Min value:"},
{"hash":185614970,"name":"ttableform.lbaveragey1.caption","sourcebytes":[65,118,101,114,97,103,101,32,118,97,108,117,101,58],"value":"Average value:"},
{"hash":6049914,"name":"ttableform.lbunity1.caption","sourcebytes":[85,110,105,116,58],"value":"Unit:"},
{"hash":267257810,"name":"ttableform.cbxyaxis.text","sourcebytes":[65,116,111,109,105,99,32,110,117,109,98,101,114],"value":"Atomic number"},
{"hash":128617690,"name":"ttableform.label38.caption","sourcebytes":[88,32,115,116,97,114,116,58],"value":"X start:"},
{"hash":128617674,"name":"ttableform.label39.caption","sourcebytes":[89,32,115,116,97,114,116,58],"value":"Y start:"},
{"hash":94815354,"name":"ttableform.label40.caption","sourcebytes":[88,32,101,110,100,58],"value":"X end:"},
{"hash":95863930,"name":"ttableform.label41.caption","sourcebytes":[89,32,101,110,100,58],"value":"Y end:"},
{"hash":218344659,"name":"ttableform.tabsheet2.caption","sourcebytes":[70,105,108,116,101,114,115],"value":"Filters"},
{"hash":335940,"name":"ttableform.lvfilters.columns[0].caption","sourcebytes":[75,105,110,100],"value":"Kind"},
{"hash":67437805,"name":"ttableform.lvfilters.columns[1].caption","sourcebytes":[77,105,110,105,109,117,109],"value":"Minimum"},
{"hash":59704557,"name":"ttableform.lvfilters.columns[2].caption","sourcebytes":[77,97,120,105,109,117,109],"value":"Maximum"},
{"hash":38049454,"name":"ttableform.lvfilters.columns[3].caption","sourcebytes":[68,105,115,112,108,97,121,32,117,110,107,110,111,119,110],"value":"Display unknown"},
{"hash":184849890,"name":"ttableform.gbstate.caption","sourcebytes":[66,121,32,115,116,97,116,101,32,111,102,32,109,97,116,116,101,114],"value":"By state of matter"},
{"hash":95062666,"name":"ttableform.label32.caption","sourcebytes":[83,116,97,116,101,58],"value":"State:"},
{"hash":254264874,"name":"ttableform.label33.caption","sourcebytes":[65,116,32,116,101,109,112,101,114,97,116,117,114,101,58],"value":"At temperature:"},
{"hash":85736702,"name":"ttableform.rbstatekelvin.caption","sourcebytes":[75,101,108,118,105,110],"value":"Kelvin"},
{"hash":163750019,"name":"ttableform.rbstatecelcius.caption","sourcebytes":[67,101,108,99,105,117,115],"value":"Celcius"},
{"hash":201654798,"name":"ttableform.cbstateshowunknown.caption","sourcebytes":[68,105,115,112,108,97,121,32,119,104,101,110,32,118,97,108,117,101,32,105,115,32,117,110,107,110,111,119,110],"value":"Display when value is unknown"},
{"hash":108719877,"name":"ttableform.btnaddstate.caption","sourcebytes":[65,100,100,32,115,116,97,116,101],"value":"Add state"},
{"hash":80755394,"name":"ttableform.groupbox3.caption","sourcebytes":[70,105,108,116,101,114],"value":"Filter"},
{"hash":153927893,"name":"ttableform.cbfilterkind.text","sourcebytes":[68,105,115,99,111,118,101,114,121,32,100,97,116,101],"value":"Discovery date"},
{"hash":5375098,"name":"ttableform.label42.caption","sourcebytes":[75,105,110,100,58],"value":"Kind:"},
{"hash":127431994,"name":"ttableform.label22.caption","sourcebytes":[77,105,110,105,109,117,109,32,118,97,108,117,101,58],"value":"Minimum value:"},
{"hash":255358282,"name":"ttableform.label23.caption","sourcebytes":[77,97,120,105,109,117,109,32,118,97,108,117,101,58],"value":"Maximum value:"},
{"hash":179594686,"name":"ttableform.cbshowunknown.caption","sourcebytes":[68,105,115,112,108,97,121,32,101,108,101,109,101,110,116,115,32,119,104,101,110,32,118,97,108,117,101,32,105,115,32,117,110,107,110,111,119,110],"value":"Display elements when value is unknown"},
{"hash":77497557,"name":"ttableform.btnchangefilter.caption","sourcebytes":[67,104,97,110,103,101],"value":"Change"},
{"hash":18340,"name":"ttableform.btnaddfilter.caption","sourcebytes":[65,100,100],"value":"Add"},
{"hash":250027054,"name":"ttableform.btnsavefilterset.caption","sourcebytes":[83,97,118,101,32,102,105,108,116,101,114,32,115,101,116,46,46,46],"value":"Save filter set..."},
{"hash":238624046,"name":"ttableform.btnopenfilterset.caption","sourcebytes":[79,112,101,110,32,102,105,108,116,101,114,32,115,101,116,46,46,46],"value":"Open filter set..."},
{"hash":190348078,"name":"ttableform.btnaddfilterset.caption","sourcebytes":[65,100,100,32,102,105,108,116,101,114,32,115,101,116,46,46,46],"value":"Add filter set..."},
{"hash":42342212,"name":"ttableform.btnclearfilterset.caption","sourcebytes":[67,108,101,97,114,32,102,105,108,116,101,114,32,115,101,116],"value":"Clear filter set"},
{"hash":93079237,"name":"ttableform.btnremovefilter.caption","sourcebytes":[82,101,109,111,118,101],"value":"Remove"},
{"hash":2805797,"name":"ttableform.mnufile.caption","sourcebytes":[38,70,105,108,101],"value":"&File"},
{"hash":4897207,"name":"ttableform.menuitem4.caption","sourcebytes":[68,101,98,117,103],"value":"Debug"},
{"hash":54402894,"name":"ttableform.mnuheapstatus.caption","sourcebytes":[72,101,97,112,32,83,116,97,116,117,115,46,46,46],"value":"Heap Status..."},
{"hash":113656846,"name":"ttableform.mnushowfilterlist.caption","sourcebytes":[83,104,111,119,32,102,105,108,116,101,114,32,108,105,115,116,46,46,46],"value":"Show filter list..."},
{"hash":84937943,"name":"ttableform.menuitem5.caption","sourcebytes":[78,101,119,32,73,116,101,109,49,55],"value":"New Item17"},
{"hash":4827269,"name":"ttableform.mnuopenconsole.caption","sourcebytes":[79,112,101,110,32,38,99,111,110,115,111,108,101],"value":"Open &console"},
{"hash":4710148,"name":"ttableform.mnuexit.caption","sourcebytes":[69,38,120,105,116],"value":"E&xit"},
{"hash":45835827,"name":"ttableform.mnutools.caption","sourcebytes":[38,84,111,111,108,115],"value":"&Tools"},
{"hash":98785060,"name":"ttableform.mnudiscoverer.caption","sourcebytes":[38,68,105,115,99,111,118,101,114,101,114,32,108,105,115,116],"value":"&Discoverer list"},
{"hash":16167106,"name":"ttableform.mnumasscalc.caption","sourcebytes":[38,77,97,115,115,32,99,97,108,99,117,108,97,116,111,114],"value":"&Mass calculator"},
{"hash":167682382,"name":"ttableform.mnuconfigure.caption","sourcebytes":[38,67,111,110,102,105,103,117,114,101,32,89,97,80,101,84,97,86,105,46,46,46],"value":"&Configure YaPeTaVi..."},
{"hash":2812976,"name":"ttableform.mnuhelp.caption","sourcebytes":[38,72,101,108,112],"value":"&Help"},
{"hash":23420764,"name":"ttableform.mnumanual.caption","sourcebytes":[79,110,108,105,110,101,32,109,97,110,117,97,108],"value":"Online manual"},
{"hash":158096254,"name":"ttableform.mnuabout.caption","sourcebytes":[38,65,98,111,117,116,46,46,46],"value":"&About..."},
{"hash":100055884,"name":"ttableform.mnufullzoom.caption","sourcebytes":[90,111,111,109,32,102,117,108,108],"value":"Zoom full"}
]}

2604
frmtable.pas Normal file

File diff suppressed because it is too large Load Diff

31
generateresstr.pas Normal file
View File

@@ -0,0 +1,31 @@
program GenerateResStr;
{$mode objfpc}{$H+}
uses
uConst, uInit, Classes, SysUtils;
var
I: integer;
F: Text;
FName: TFilename;
begin
FName := '/home/jeff/src/pascal/massmol/strgen.pas';
Assign(F, FName);
Rewrite(F);
InitTable;
if TestTable then
for I := 1 to AtomNumber do
begin
Write(F, ' rs' + ElementsArray[I].ShortName + ' = ''' +
ElementsArray[I].Name + ''';'#13#10);
Write(F, ' rs' + ElementsArray[I].ShortName + 'Etymo = ''' +
ElementsArray[I].Etymology + ''';'#13#10);
end
else
Writeln('FATAL: The periodic table contains errors... Please correct it before processing!');
Writeln('DONE: Constants writen successfully. You can know use it.');
Close(F);
end.

3102
i18n/yapetavi.po Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 842 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 848 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 813 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 697 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 923 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 802 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 368 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 813 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 426 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 734 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 684 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 944 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 842 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 910 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 931 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 794 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 775 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 796 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 880 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 921 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 798 B

Some files were not shown because too many files have changed in this diff Show More