Save Logs on real time base, instead when exiting, and minor code improvements.

This commit is contained in:
PSposito 2020-02-24 02:33:02 +02:00
parent 35cf986c1b
commit 0fc1f47ccd
No known key found for this signature in database
GPG Key ID: 92E2BB27E8617EFC
6 changed files with 233 additions and 192 deletions

View File

@ -2,11 +2,11 @@ object Form3: TForm3
Left = 468
Height = 684
Top = 45
Width = 1144
Width = 1129
BorderStyle = bsToolWindow
Caption = 'Events Logged'
ClientHeight = 684
ClientWidth = 1144
ClientWidth = 1129
DesignTimePPI = 150
Icon.Data = {
BE2500000000010001003030000001002000A825000016000000280000003000
@ -319,7 +319,7 @@ object Form3: TForm3
Left = 0
Height = 56
Top = 624
Width = 1136
Width = 1128
Caption = 'Close'
OnClick = Button1Click
TabOrder = 0
@ -328,7 +328,7 @@ object Form3: TForm3
Left = 2
Height = 600
Top = 16
Width = 1134
Width = 1126
Color = clDefault
ColCount = 4
ParentFont = False
@ -342,7 +342,7 @@ object Form3: TForm3
56
273
523
264
255
)
Cells = (
4

View File

@ -252,7 +252,7 @@ end;
procedure TForm4.Button1Click(Sender: TObject);
begin
SaveLogs;
//SaveLogs;
FpSystem('reboot');
end;

View File

@ -103,7 +103,7 @@ end;
procedure TForm5.Button1Click(Sender: TObject);
begin
SaveLogs;
//SaveLogs;
S := FpSystem('reboot');
end;

View File

@ -9963,7 +9963,7 @@ object Form2: TForm2
Width = 754
ItemHeight = 0
ParentFont = False
ScrollWidth = 752
ScrollWidth = 750
TabOrder = 0
TopIndex = -1
end

208
main.frm
View File

@ -12528,169 +12528,169 @@ object Form1: TForm1
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00868B8872979B99F5E0E3E2FFCBD0
CEFFBCC2C0FFC4C9C7FFC9CECCFFCCD0CEFFCDD1D0FF696A6AFFBEBFBFFFC9CE
CCFFC8CDCAFFC2C7C5FFB7BEBBFFAAB2AFFFBCC2BFFFA8AEABFE868A89EE8989
CEFFBCC2C0FFC4C9C7FFC9CECCFFCCD0CEFFCDD1D0FF696A6BFFB5B7C0FFACB3
CCFF8B97CBFF8B96C8FFAAB2BEFFAAB2AFFFBCC2BFFFA8AEABFE868A89EE8989
891CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00848C883E8D9290F6DBDEDDFFC8CDCAFFBCC2
BFFFC3C8C6FFC8CCCBFFCACECCFFCACFCDFFCACFCDFFC9CECCFFC7CCCAFFC7CC
CAFFC5CBC9FFC3C8C6FFBFC4C2FFB5BBB8FFA6AEABFFB6BCB9FF9FA5A3FC8489
BFFFC3C8C6FFC8CCCBFFCACECCFFCACFCDFFCACFCDFFC9CECCFFC2C8CAFFB3BA
CAFF8C98CAFF7A88C9FF939DC7FF9FA7BDFF9FA8AEFFB5BBB9FF9FA5A3FC8489
87D480808006FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00848E841B898D8BEFCDD0CFFFCDD1CFFFBBC1BFFFC1C6
C4FFC5CAC8FFC5CDD0FFB9CAD9FFABC9ECFF91C4F7FF7CBBFBFF75B8F8FF90C0
F4FFA2BEDCFFB1C4D5FFBBC4C7FFBAC0BDFFB0B7B4FFA3ABA7FFB2B8B5FF9297
C4FFC5CAC8FFC7CCCAFFC7CDCAFFC8CDCAFFC7CCCAFFC7CCC9FFC5CAC9FFBEC3
C8FF939DC8FF5F73CAFF3F5DCAFF6779C7FF949EBCFF9CA5ABFFB2B8B5FF9297
95F5838A87A1FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0080808006868C89D4BABEBCFCD2D5D3FFB8BFBCFFBEC4C1FFBAC6
CFFFAFC3D6FF72BBFCFF00A1FEFF00A3FFFF00A1FFFF00A2FFFF00A2FFFF00A2
FEFF00A5FEFF00A1FFFF69B5F9FFA4BBCFFFB6BDBAFFA9B1ADFFA0A9A5FFA9B1
FF00FFFFFF0080808006868C89D4BABEBCFCD2D5D3FFB8BFBCFFBEC4C1FFC2C7
C5FFC4C9C7FFC5CAC8FFC5CAC7FFC5CAC8FFC5C9C8FFC3C8C6FFC2C8C5FFBFC5
C5FFA7AFC5FF7D8BC7FF224FCBFF2851CBFF687AC6FF8B97B8FF9BA4A8FFA9B1
AEFF8A8F8CF4858A8764FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00868B8A96A4A9A6F7D4D7D6FFB8BDBBFFBBC0BFFFAFC3D4FF6DB5
F9FF1CA7FDFF00A1FEFF3EABFDFF58AEF8FF70B2F4FF64A7EBFF78B2F1FF6DB2
F3FF54ADF7FF26A8FEFF00A2FEFF22A8FEFF90B7E0FF9FB6CAFFA2ABA7FF9DA6
A3FF9DA5A1FF868A88F5868C8628FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00868B8A96A4A9A6F7D4D7D6FFB8BDBBFFBBC0BFFFBFC5C2FFC1C7
C4FFC1C7C5FFC2C7C5FFC2C8C6FFC3C8C6FFC3C8C5FF626363FFB5B6B6FFC0C5
C3FFBAC0C1FF9EA7C3FF536AC9FF164BCBFF2952CAFF6C7DC4FF8D98B2FF98A2
A6FF9DA5A1FF868A88F5868C8628FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00868C86288B908EF6CFD3D1FFBAC0BDFFB8BEBCFFA5BED4FF4FAFFCFF00A3
FEFF00A4FFFF5EB0F5FFA9C2DCFFB2C3D3FFBEC8CFFF878D92FFB7BCBEFFBAC7
CDFFAEC0CFFF9FBCDBFF99B8D8FF15A2FDFF00A4FEFF48ABFAFF95B1CAFF9BA4
A0FF9BA49FFF8D9592FD838887BFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00868C86288B908EF6CFD3D1FFBAC0BDFFB8BEBCFFBCC2C0FFBFC5C2FFC1C7
C4FFC2C6C4FFC2C8C5FFC2C7C5FFC1C7C5FFC2C7C5FF707271FFB1B3B2FFBFC5
C3FFBEC4C1FFADB5C2FF7584C7FF3859CBFF164BCBFF3C5BC9FF6C7DC1FF8C97
A9FF9BA49FFF8D9592FD838887BFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00868B89C0B0B6B4FDC5CAC8FFB5BBB9FFABBFD1FF4FAFFCFF00A5FEFF009D
FEFFABCBECFFBBC5CCFFC3C8C6FFC3C8C6FFC3C8C6FFC3C8C6FFC2C8C5FFC1C6
C4FFBFC5C3FFBDC3C1FFBBC1BFFFADCDEBFF009EFFFF02A6FEFF48ABFAFF93AD
C2FF959F9AFF96A09BFF868C8AF4838B8742FFFFFF00FFFFFF00FFFFFF00FFFF
FF00868B89C0B0B6B4FDC5CAC8FFB5BBB9FFBAC0BEFFBFC5C2FFC2C7C6FFC3C9
C7FFC0C6C6FFB3BAC7FFB1B8C7FFBFC4C6FFC3C8C6FFC3C8C6FFC2C8C5FFC1C6
C4FFBFC5C3FFB6BDC2FF8F9AC5FF6074C8FF2751CBFF164BCBFF4661C8FF8592
B5FF929D9CFF96A09BFF868C8AF4838B8742FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008588
88478F9492F5CBCFCDFFB6BCB9FFB1BEC7FF6AB3F8FF00A4FEFF009DFEFFC4D6
E8FFC7CCCAFFC7CBC9FFC6CBC9FFC6CBC9FFC6CBC9FFC5CAC8FFC5CAC8FFC3C9
C6FFC2C7C5FFC0C5C3FFBDC3C1FFBBC2BFFFB1C9E2FF009EFFFF00A4FEFF8BB4
DDFF9EA7A2FF929C97FF88918CFF838986DC80808002FFFFFF00FFFFFF00FFFF
88478F9492F5CBCFCDFFB6BCB9FFB8BEBCFFBEC3C1FFC3C8C6FFC6CBC9FFC8CC
CAFFBBC1CAFF8792CAFF7E8CCAFFB9BFC9FFC6CBC9FFC5CAC8FFC5CAC8FFC3C9
C6FFC2C7C5FFBCC1C3FFA4ADC4FF7B89C7FF3256CAFF164BCBFF3759CAFF7C8A
BEFF8893ABFF929C97FF88918CFF838986DC80808002FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AAAAAA03868C
89DFB5BAB8FFBEC4C2FFB6BDBAFFA9BDD1FF1AA7FDFF14A4FEFFB0CEEEFFCCD0
CFFFCBD0CEFFCACECDFFCACECDFFC9CECCFFC8CDCBFFC7CCCAFFC6CBC9FFC6CB
C9FFC4C9C7FFC2C7C5FFBFC5C3FFBDC2C0FFBAC1BEFFABCCECFF00A2FEFF22A8
FEFF91ABC1FF909A95FF8B9691FF848B87F383898663FFFFFF00FFFFFF00FFFF
89DFB5BAB8FFBEC4C2FFB6BDBAFFBDC2C0FFC4C9C6FFC9CECBFFC8CDCEFFBABF
CDFF9AA4CDFF4E67CBFF5A6FCBFFB7BECCFFC8CDCBFFC7CCCAFFC6CBC9FFC6CB
C9FFC4C9C7FFC0C5C5FFACB4C5FF8591C6FF3759CAFF164BCBFF2F55CAFF7181
C3FF7F8DB7FF909A95FF8B9691FF848B87F383898663FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00858A886B9399
96F5C5CAC8FFB4BAB7FFB8C0C1FF6FB9FAFF00A2FFFFAEC6E1FFD0D4D2FFD0D4
D2FFCFD3D1FFCED3D1FFCDD2D0FFCCD0CFFFCBD0CEFF646564FFB7B8B7FFC8CD
CBFFC6CBC9FFC4C9C7FFC2C7C5FFBFC4C2FFBCC1BFFFB1BBC3FF59ADF3FF00A2
FFFF69B5F9FF97A5A7FF89948EFF828C88FF848987EE8B8B8B0BFFFFFF00FFFF
96F5C5CAC8FFB4BAB7FFBAC0BEFFC2C8C5FFC9CECCFFCACFD0FFBEC3D1FF929D
CEFF4D66CCFF164BCBFF5C71CCFFBBC0CEFFCBD0CEFF646564FFB7B8B7FFC8CD
CBFFC6CBC9FFC0C5C7FFA8B0C6FF7E8CC8FF3356CAFF164BCBFF2D53CAFF687A
C5FF7887BEFF96A09BFF89948EFF828C88FF848987EE8B8B8B0BFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00868B89E5B3B8
B6FFB9BFBCFFB7BDBBFFB1C1CEFF00A3FEFF53ACF9FFBBCDE1FFD4D8D6FFD3D7
D6FFD3D6D6FFD2D6D4FFD1D4D3FFCFD4D2FFCFD3D1FF747575FFB5B6B6FFCBCF
CEFFC9CECCFFC6CBC9FFC4C9C7FFC1C6C4FFBDC3C1FFBAC0BDFFA1BCD7FF3CAB
FDFF00A2FFFF95ACBEFF8B9590FF838E88FF818885F583898773FFFFFF00FFFF
B6FFB9BFBCFFB7BDBBFFBFC5C3FFC8CDCBFFCACDD1FFB7BDD2FF909BD0FF5B70
CDFF1A4CCBFF164BCBFF6174CCFFC1C7D1FFCFD3D1FF747575FFB5B6B6FFCACE
CEFFC0C6CCFFAAB2C9FF8692C9FF5B70CAFF2651CBFF164BCBFF2B53CAFF6577
C6FF7886C2FF9DA5A1FF8B9590FF838E88FF818885F583898773FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00868B86378C918FF2BFC5
C2FFB4B9B7FFBBC1BEFFA1BEDEFF00A5FEFF5AAFF8FFC4D3E0FFD8DBDAFFD8DA
DAFFD7DBD9FFD6D9D7FFD4D7D6FFD3D6D4FFD1D5D4FFD0D4D2FFCFD3D1FFCDD1
D0FFCBD0CEFFC8CDCBFFC6CBC9FFC3C8C6FFBFC5C2FFBCC2BFFFADBFD0FF5BB0
FAFF00A3FFFF9DBFE3FF909A95FF828D88FF7D8882FF858987DDFFFFFF00FFFF
C2FFB4B9B7FFBBC1BEFFC5CAC8FFC8CDD1FFB8BED3FF8F9BD1FF4460CCFF1B4C
CBFF164BCBFF164BCBFF6074CDFFBEC3D2FFD0D4D4FFC9CED2FFC5CAD0FFB9BF
CFFFA4ADCCFF8391CAFF4D66CBFF204ECBFF1A4CCBFF164BCBFF2D54CAFF697A
C6FF7C8AC1FFA3ABA8FF909A95FF828D88FF7D8882FF858987DDFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00848B899C9FA4A3FCBBC1
BFFFB6BDBAFFC0C5C3FF90C3F5FF00A2FEFF7AB8F7FFD4DCE2FFDBDFDDFFDBDE
DDFFDADEDCFFD9DCDBFFD8DBD9FFD5D9D8FFD4D8D6FFD3D6D5FFD1D5D4FFCFD4
D2FFCDD2D0FFCBCFCEFFC8CDCBFFC4CAC8FFC1C6C4FFBDC3C1FFB6C3C8FF6BB0
F3FF00A1FFFF92C4F8FF969F9BFF838E89FF7D8883FF868B89F4858B8B2EFFFF
BFFFB6BDBAFFC0C5C3FFC0C6CDFFADB5D2FF808DD0FF4A64CDFF164BCBFF164B
CBFF164BCBFF164BCBFF4F67CCFF99A3D1FFA5AED1FF929CCFFF828FCEFF7282
CDFF6275CCFF4D66CBFF2650CBFF164BCBFF164BCBFF164BCBFF2F55CAFF7383
C5FF8995BFFFA9B0ADFF969F9BFF838E89FF7D8883FF868B89F4858B8B2EFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0099999905888E8CF3B2B8B5FFB6BB
B8FFB9C0BDFFC6CBC8FF72B8F8FF00A2FFFF83B9F6FFDBE1E2FFDEE2E0FFDEE0
E0FFDDE0DFFFDCDFDEFFDBDEDDFFD9DCDBFFD7DBDAFFD6D9D8FFD3D7D6FFD2D6
D4FFCFD4D2FFCDD1CFFFCACECDFFC6CBC9FFC3C8C6FFBFC4C2FFBFC7C7FF78B3
F1FF00A2FFFF75B8F8FF9BA4A0FF88928DFF7C8882FF818884FA858A8892FFFF
B8FFB8BFBDFFBBC1C8FFA9B0D1FF8390D1FF3357CCFF164BCBFF164BCBFF164B
CBFF164BCBFF164BCBFF3759CCFF697BCEFF687ACEFF415ECCFF1E4DCBFF1A4C
CBFF1A4CCBFF1A4CCBFF164BCBFF164BCBFF164BCBFF164BCBFF395ACAFF8390
C3FF9CA5BBFFAEB5B2FF9BA4A0FF88928DFF7C8882FF818884FA858A8892FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C8F8F50919794F1B7BEBBFFB4BB
B8FFBFC4C2FFCCD1CFFF7EBEFCFF00A1FEFF88BCF8FFE0E4E5FFE1E4E3FFE1E3
E3FFE0E3E2FFDFE2E0FFDEE0E0FFDCDFDEFFDADDDCFF6E6F6FFFB1B2B2FFD3D7
D5FFD2D6D4FFCFD3D1FFCBD0CEFFC8CDCBFFC4C9C7FFC0C6C4FFBFC7C9FF79B3
F2FF00A2FFFF7CBDFBFFA0A8A4FF8C9692FF7B8681FF77837DFF858B89EFAAAA
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C8F8F50919794F1B7BEBBFFB3BA
B8FFAFB6C4FF98A2CEFF6F7FCEFF3658CCFF164BCBFF164BCBFF164BCBFF164B
CBFF164BCBFF164BCBFF1F4ECBFF3558CCFF3256CCFF184BCAFF164BCBFF164B
CBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF154ACBFF4A63CAFF96A0
C1FFAFB6B9FFB0B6B3FFA0A8A4FF8C9692FF7B8681FF77837DFF858B89EFAAAA
AA03FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C918FBA9EA5A2FFB5BCB9FFB8BD
BBFFC4C9C8FFD3D7D6FF8EBEF2FF00A3FFFF80BAF8FFDDE4E7FFE4E6E5FFE3E6
E5FFE3E5E4FFE2E4E4FFE0E3E2FFDFE1E1FFDDE0DEFF737373FFBDBDBDFFD5D9
D8FFD4D8D6FFD1D5D3FFCDD2D0FFCACECDFFC6CBC9FFC2C7C5FFBBC5CBFF6EB1
F2FF00A2FEFF8ABEF2FFA4ACA9FF909A95FF7C8882FF75827BFF878D8BF18588
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008C918FBA9EA5A2FFB1B8BAFFA7AE
BEFF929CC9FF6A7BCEFF2952CBFF164BCBFF164BCBFF1B4CCBFF164BCBFF164B
CBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164B
CBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF4561CAFF7987C7FFA7AF
C0FFB5BCB9FFB1B8B5FFA4ACA9FF909A95FF7C8882FF75827BFF878D8BF18588
8847FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF008E9C8E12909593F7A9B1AEFFB3B9B6FFBCC1
BEFFCBCFCEFFDADDDCFFC1D4EEFF00A5FEFF78B9FAFFDBE3ECFFE7E9E8FFE6E8
E7FFE5E7E6FFE4E7E6FFE3E6E5FFE2E5E4FFE0E3E2FFDDE0DFFFDBDEDDFFD9DC
DBFFD6DAD8FFD3D7D5FFCFD3D2FFCBD0CEFFC7CCCAFFC3C8C6FFB2C0CDFF59AC
F4FF00A5FEFF93B3D4FFA8B0ACFF949E99FF808B86FF737F79FF88908CFE888D
FF00FFFFFF00FFFFFF00FFFFFF008E9C8E12909593F7A8B0AFFFA1A9BBFF7D8A
C6FF576DCBFF2B53CBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164B
CBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164B
CBFF164BCBFF164BCBFF164BCBFF164BCBFF3055CBFF7887C9FFA7AEC4FFB6BC
BFFFB6BCBAFFB2B8B5FFA8B0ACFF949E99FF808B86FF737F79FF88908CFE888D
8BB0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF0092989559929A96F2ACB3B0FFB3BAB7FFC0C5
C3FFD1D5D4FFDFE2E1FFCFDDEDFF00A2FFFF26A8FEFFC5D9F1FFE8EAEAFFE8EA
E9FFE6E8E8FFA6C9F4FFE6E8E7FFE4E7E6FFE2E5E4FFE0E3E2FFDEE0E0FFDBDE
DDFFD8DBDAFFD4D8D7FFD1D5D3FFCDD1CFFFC9CDCCFFC4CAC7FFA5BED9FF21A7
FDFF00A1FEFFABBFD0FFACB3B0FF98A19DFF848F89FF717E77FF838D87FF898E
FF00FFFFFF00FFFFFF00FFFFFF0092989559929A96F2A1AAB4FF8E99C0FF5068
CAFF164BCBFF164BCBFF164BCBFF1B4DCBFF164BCBFF164BCBFF164BCBFF164B
CBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164B
CBFF164BCBFF164BCBFF164BCBFF4762CBFF7C8ACBFFA3ACC8FFBAC0C3FFBCC1
BFFFB7BDBBFFB3B9B6FFACB3B0FF98A19DFF848F89FF717E77FF838D87FF898E
8CF792929207FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00939A9790969D9AFDACB3B1FFB6BCBAFFC4C9
C7FFD7DAD9FFE5E7E6FFE5EAECFF67B3F7FF00A3FFFF6CB6FBFFE3E9ECFFDEE5
ECFF63B2FBFF66B2FBFFE8EAE8FFE7E9E9FFE5E8E7FFE3E5E4FFE0E3E2FFDDE0
DFFFDADDDCFFD6DAD8FFD2D6D5FFCED2D1FFCACFCDFFBEC8CEFF5EAFF5FF00A2
FEFF75BBFCFFB3BDC0FFAFB6B3FF9BA4A0FF86918CFF727E78FF7C8882FF8E95
FF00FFFFFF00FFFFFF00FFFFFF00939A9790969D9AFD9AA4B7FF8B96C2FF526A
CAFF2550CBFF1B4CCBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164B
CBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF1F4E
CBFF2E54CBFF3D5CCCFF4E66CCFF828FCDFFB1B8CCFFC0C6C9FFC1C6C4FFBCC2
C0FFB8BEBCFFB3BAB7FFAFB6B3FF9BA4A0FF86918CFF727E78FF7C8882FF8E95
92F08C909035FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00949C99CB98A19EFFAEB5B2FFB8BEBCFFC9CE
CCFFDCDFDEFFE9EBEAFFEEF0EFFFD4E1F3FF26A8FDFF14A5FDFF8CC1F7FF62B2
FCFF00A5FEFF6EB5FBFFE9ECEBFFE9EBEBFFE8EAE9FF717272FFB4B4B4FFDEE1
E0FFDBDFDDFFD8DBDAFFD3D7D6FFCFD4D2FFCBD0CEFFACCCECFF00A4FFFF1DA6
FDFFA6BBCEFFB4BBB8FFAFB6B3FF9EA6A3FF89948FFF74817AFF75827BFF9298
FF00FFFFFF00FFFFFF00FFFFFF00949C99CB98A19EFFA8B0B4FFA8B0BFFFA0A8
CBFF7F8CD1FF3658CCFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF164B
CBFF164BCBFF1B4DCBFF164BCBFF164BCBFF164BCBFF164BCBFF164BCBFF4360
CCFF7382CFFF939DD1FFA9B1D2FFBAC1D1FFC5CBCEFFC6CBC9FFC2C7C5FFBDC3
C1FFB9BFBCFFB4BBB8FFAFB6B3FF9EA6A3FF89948FFF74817AFF75827BFF9298
96F58D949269FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF009AA09DF49DA4A0FFAEB5B2FFBCC2BFFFCED2
D0FFE1E3E2FFECEEEDFFF1F2F1FFF1F2F2FFC3D9F6FF06A5FEFF00A5FEFF00A5
FEFF00A5FEFF68B3FBFFE8EAEEFFECEDEDFFEAECECFF767777FFBFC0C0FFE0E2
E2FFDDE0DFFFD9DCDBFFD5D9D7FFD0D5D3FFBED5EDFF009DFEFF00A3FEFF6DB5
F9FFB2C0C8FFB5BBB8FFB0B7B4FFA0A9A5FF8C9691FF76837DFF6F7C75FF939B
FF00FFFFFF00FFFFFF00FFFFFF009AA09DF49DA4A0FFAEB5B2FFBCC2BFFFC7CC
CFFFB7BCD9FF8994D6FF5D71D0FF3256CCFF164BCBFF164BCBFF164BCBFF164B
CBFF164BCBFF164BCBFF3155CCFF5D71D0FF6779D1FF3554C1FF6273C9FF8C97
D3FFA9B1D6FFBFC4D7FFD0D4D7FFD0D5D3FFCCD1CFFFC7CCCAFFC3C8C6FFBEC4
C1FFB9C0BDFFB5BBB8FFB0B7B4FFA0A9A5FF8C9691FF76837DFF6F7C75FF939B
97FF919796A5FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF009CA59C1F9CA29FF79EA8A3FFB0B6B3FFBBC0BEFFD2D7
D5FFE4E7E6FFEFF0F0FFF3F4F3FFF3F4F3FFBAD5F5FF33A9FCFF00A5FEFF00A5
FEFF00A5FEFF43ACFDFFB7D4F5FFEDEFEFFFEDEEEEFFE9ECEBFFE6E8E8FFE2E5
E4FFDEE1E0FFDADEDCFFD5DAD8FFB1CFEFFF009DFEFF00A5FEFF50B0FCFFAFC2
D4FFBAC0BEFFB5BCB9FFB1B7B4FFA2ABA7FF8D9793FF78847EFF697670FF919C
FF00FFFFFF00FFFFFF009CA59C1F9CA29FF79EA8A3FFB0B6B3FFBBC0BEFFD1D6
D5FFDEE1E4FFD7DAE9FFAEB5DFFF7382D4FF1C4DCBFF164BCBFF164BCBFF164B
CBFF164BCBFF164BCBFF5D72D0FFB8BFE0FFD3D6E7FFD0D5E4FFD2D5E3FFD4D8
E1FFD5D8DEFFD5D9DBFFD6DAD8FFD1D5D4FFCDD1CFFFC8CDCBFFC3C9C7FFBFC4
C2FFBAC0BEFFB5BCB9FFB1B7B4FFA2ABA7FF8D9793FF78847EFF697670FF919C
97FF949A98DEFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF009FA6A35098A09DF19FA7A4FF636664FF757575FFA3A4
A4FFE6E8E7FFEFF1F0FFF3F4F4FFCCDEF6FF3BAAFDFF00A5FEFF00A5FEFF00A5
FEFF00A5FEFF00A5FEFF9EC7F7FFF0F1F1FFEEF0F0FFECEEEDFFE8EAE9FFE4E6
E6FFE0E3E2FFDBDFDDFFB1CDEAFF00A3FEFF00A4FEFF51B0FCFFACC3D9FFBFC5
A4FFE6E8E7FFEEF0F0FFDADCECFFB5BBE2FF8692D6FF5169CFFF164BCBFF164B
CBFF164BCBFF164BCBFF6D7DD2FFD8DBEAFFEEF0F0FFECEEEDFFE8EAE9FFE4E6
E6FFE0E3E2FFDBDFDDFFD7DAD9FFD2D6D5FFCED2D0FFC9CECCFFC4C9C7FFBFC5
C3FFBBC1BEFFB6BCB9FFB1B8B5FFA4ACA9FF696E6CFF636665FF606B66FF919A
96FF959B99FB9F9F9F08FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00A2A7A483959D99FCA0A8A4FF626262FFCBCBCBFFC0C1
C1FFE0E3E2FFEBEDECFFC3DAF2FF2AA8FDFF00A3FFFF0BA2FEFF00A5FEFF00A5
FEFF00A5FEFF00A4FEFF8DBFFAFFEDF1F1FFF1F2F2FFECEEEDFFE6E8E8FFE5E8
E7FFE1E4E3FFDCDFDEFF91C2F2FF04A5FEFF6CB4F8FFB8CADAFFC4CAC8FFC0C5
C1FFE0E3E2FFEBEDECFFEFF1F1FFE8E9EFFFCCD0E7FF9EA6DBFF4D66CEFF204E
CBFF164BCBFF164BCBFF6E7FD2FFDDE0ECFFF1F2F2FFECEEEDFFE6E8E8FFE5E8
E7FFE1E4E3FFDCDFDEFFD7DBDAFFD3D7D5FFCED2D1FFC9CECCFFC4CAC8FFC0C5
C3FFBBC1BEFFB6BCBAFFB1B8B5FFA4ACA8FF606060FFC1C1C1FF9B9E9DFF8D98
92FF9BA29EF2969B9B38FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00A1A7A5C0919A96FF9DA6A2FF878B89FF9E9F9EFFB5B9
B7FFD4D8D7FFDFE3E1FFD9E2EBFFD3DFF0FFC0D7F3FF79BDFAFF20A8FEFF00A3
FEFF00A5FEFF00A4FEFF70B6FBFFE2EBF4FFF3F5F5FF6B6B6BFFBFC0BFFFE6E9
E8FFE2E4E3FFDDE0DFFFACD2F4FFB7CDE5FFC5D0D7FFCACECDFFC5CAC8FFC0C6
B7FFD4D8D7FFDFE3E1FFE7E9E8FFECEDECFFE5E7EBFFCFD3E6FFAAB2DDFF7886
D4FF2851CCFF164BCBFF697BD2FFDFE2EEFFF3F5F5FF6B6B6BFFBFC0BFFFE6E9
E8FFE2E4E3FFDDE0DFFFD8DCDAFFD3D7D6FFCED3D1FFCACECDFFC5CAC8FFC0C6
C3FFBBC1BFFFB6BDBAFFB2B8B5FFA6AEABFF6B6F6DFFB0B1B1FF7F8783FF8995
8FFFA1A8A5F69BA09D6BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00A5ABA9ED909A94FFA2AAA7FFB7BDBAFFBBC0BFFFBFC5
C2FFC8CDCBFFD1D5D3FFD9DDDBFFE0E3E2FFE5E8E7FFE6E9ECFFE8EBEEFFDDE7
F1FFC7DCF4FFB6D3F6FF8DC2F7FFE2EBF6FFF5F6F6FF808181FFBFBFBFFFE7E9
E8FFE2E5E4FFDDE0DFFFD6DCDCFFD4D8D6FFCFD3D1FFCACFCDFFC5CAC8FFC0C6
C2FFC8CDCBFFD1D5D3FFD9DDDBFFE0E3E2FFE6E8E7FFE7E8EAFFDFE2E9FFB7BD
E0FF7484D3FF2C53CCFF7483D3FFE0E2EEFFF5F6F6FF808181FFBFBFBFFFE7E9
E8FFE2E5E4FFDDE0DFFFD8DCDBFFD4D8D6FFCFD3D1FFCACFCDFFC5CAC8FFC0C6
C3FFBBC1BFFFB7BDBAFFB2B8B6FFA7AFABFF929C97FF7C8681FF6C7973FF8A96
90FFA4ACA9FF9EA6A1A9FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00A5AEA974A7AEABE9A9AFACF2B1B7B4FDC0C5C3FFCBCF
CDFFCCD0CFFFCBD0CEFFCED2D1FFD5D9D8FFDCDFDEFFE2E5E4FFE7E9E9FFEAEC
ECFFEDEFEFFFF0F1F1FFF2F4F3FFF5F6F6FFF6F8F8FFF2F3F3FFECEEEDFFE7E9
CDFFCCD0CFFFCBD0CEFFCED2D1FFD5D9D8FFDCDFDEFFE2E5E4FFE6E8E9FFDEE0
E8FFC9CEE4FF9AA3D9FFA0A9DBFFE6E8F1FFF6F8F8FFF2F3F3FFECEEEDFFE7E9
E9FFE2E5E4FFDDE0DFFFD9DCDBFFD4D8D6FFCFD3D1FFCACFCDFFC5CAC8FFC0C6
C4FFBBC1BFFFB7BDBAFFB2B8B6FFA9B0ADFF98A19DFF89938FFF79857FFF949D
98FC9FA6A3F4A1A7A5A5FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ABB0B03AACB3AF9DABB1AFF3B1B7
B4F2C2C8C6FFD6DBD9FFDDE0DFFFD7DCDAFFD5D9D7FFDBDEDDFFE1E4E3FFE6E8
E8FFEBEDECFFEEF0EFFFF2F2F2FFF4F5F5FFF5F6F6FFF1F3F2FFECEDEDFFE7E9
E8FFE6E8EAFFBDC2E1FFB5BAE0FFE8EAF1FFF5F6F6FFF1F3F2FFECEDEDFFE7E9
E8FFE2E5E4FFDDE0DFFFD8DCDBFFD4D8D6FFCFD3D1FFCACFCDFFC5CAC8FFC0C6
C3FFBCC1C0FFBCC1BEFFB9BEBDFFB0B7B3FF9DA6A2FF9AA39EF3A1A8A5F6A0A6
A5A4A4A8A438FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF

201
main.pas
View File

@ -122,8 +122,6 @@ type
procedure TrayIcon2Click(Sender: TObject);
procedure TrayIcon3Click(Sender: TObject);
procedure TrayIcon4Click(Sender: TObject);
procedure VideoFrame(Sender: TObject; Buffer: pointer; Size: integer; Error: boolean);
procedure VideoFrameSynchronized(Sender: TObject; Buffer: pointer; Size: integer; Error: boolean);
procedure VpClock1SecondChange(Sender: TObject);
private
@ -177,13 +175,16 @@ var
ActionTime : TDateTime;
CountNumber : Integer;
CaptureStatus : Integer;
LogsDateString : String;
LogsStringList : TStringList;
implementation
procedure RebootSystem; forward;
procedure SaveLogs; forward;
//procedure SaveLogs; forward;
Procedure AppendLogs; forward;
{$R *.frm}
@ -449,9 +450,6 @@ end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//ShowMessage(Concat('Video Status = ', BoolToStr(Form1.Video.Open)));
//ImageListCam1.GetIcon(0, TrayIcon5.Icon);
SetReleaseNo;
application.showmainform := false; // Hide Main form
@ -472,6 +470,11 @@ begin
FromMain := false;
RebootNeededFlag := false;
VideoDevicesNumber := 0;
LogsDateString := FormatDateTime('DD/MM/YYYY-hh-mm-ss',now);
LogsStringList := TStringList.Create;
LogsStringList.Clear;
//Logs.Form3.StringGrid1.Clean;
AdjustBalloonPosition;
@ -618,11 +621,16 @@ begin
end;
procedure TForm1.MenuItem10Click(Sender: TObject); // Exit
begin
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ',now)
+ RightStr(DateTimeToStr(VPClock1.Time), 8), 'Application Closed', '']);
AppendLogs;
Form1.Close;
//VideoStringList.Free;
SndCardsStringList.Free;
SaveLogs;
//SaveLogs;
LogsStringList.Free;
Halt(0);
end;
@ -631,16 +639,22 @@ begin
Logs.Form3.Show;
end;
procedure DeleteOldLogs;
procedure DeleteOldLogs; // Deletes old Log files
var
SearchResult : TSearchRec;
LogsFilesList : TStringlist;
DateString : String;
LogsFilesNames : TStringlist;
i : Integer;
k : integer;
DateString : String;
begin
LogsFilesList := TStringList.Create;
LogsFilesList.Clear;
LogsFilesNames := TStringList.Create;
LogsFilesNames.Clear;
HomeDir := expandfilename('~/');
DateString := FormatDateTime('DD/MM/YYYY-hh-mm-ss',now);
FileDestDir := Concat(HomeDir,'.cameracontrol-', DateString, '.log');
@ -649,15 +663,22 @@ begin
if FindFirst(Concat(HomeDir,'.cameracontrol-*'), FaAnyFile, SearchResult) = 0 then
begin
repeat
inc(i);
S := FpSystem(Concat('rm ', HomeDir, SearchResult.Name));
LogsFilesList.Add(SearchResult.Name + ' Deleted');
LogsFilesNames.Add(SearchResult.Name);
inc(i);
until FindNext(SearchResult) <> 0;
FindClose(SearchResult);
end;
if i > 0 then
for k := 0 to LogsFilesNames.Count - 2 do
begin
S := FpSystem(Concat('rm ', HomeDir, LogsFilesNames[k]));
//LogsFilesList.Add(SearchResult.Name + ' Deleted');
end;
if k > 0 then
ShowMessage('The following detected Old Log Filenames were deleted:' + sLineBreak + sLineBreak + LogsFilesList.Text)
else
ShowMessage('There were not detected any Old Log Filenames');
@ -665,42 +686,40 @@ begin
LogsFilesList.Free;
end;
procedure SaveLogs;
var
n : Integer;
LogsStringList : TStringlist;
DateString : String;
begin
HomeDir := expandfilename('~/');
DateString := FormatDateTime('DD/MM/YYYY-hh-mm-ss',now);
FileDestDir := Concat(HomeDir,'.cameracontrol-', DateString, '.log');
LogsStringList := TStringList.Create;
LogsStringList.Clear;
n := 0;
while n <= Logs.Form3.StringGrid1.RowCount - 1 do
begin
if Length(Form3.StringGrid1.Rows[n].Strings[0]) > 0 then
LogsStringList.Add(Concat(Form3.StringGrid1.Rows[n].Strings[0],';', Form3.StringGrid1.Rows[n].Strings[1],';', Form3.StringGrid1.Rows[n].Strings[2],';' , Form3.StringGrid1.Rows[n].Strings[3]));
Inc(n);
end;
//ShowMessage(LogsStringList.Text);
n:= 0;
while n <= LogsStringList.Count - 1 do
begin
FileString := LogsStringList.Strings[n];
S := FpSystem(Concat('echo ' , FileString, ' >> ', FileDestDir));
Inc(n);
end;
LogsStringList.Free;
end;
//procedure SaveLogs; // not used on build, use AppendLogs on each Log
//var
// LogsStringList : TStringList;
// n : Integer;
//
//begin
// HomeDir := expandfilename('~/');
// FileDestDir := Concat(HomeDir,'.cameracontrol-', LogsDateString, '.log');
//
// LogsStringList := TStringList.Create;
// LogsStringList.Clear;
//
// n := 0;
//
// while n <= Logs.Form3.StringGrid1.RowCount - 1 do
// begin
// if Length(Form3.StringGrid1.Rows[n].Strings[0]) > 0 then
// LogsStringList.Add(Concat(Form3.StringGrid1.Rows[n].Strings[0],'/', Form3.StringGrid1.Rows[n].Strings[1],'/', Form3.StringGrid1.Rows[n].Strings[2],'/' , Form3.StringGrid1.Rows[n].Strings[3]));
// Inc(n);
// end;
//
// //ShowMessage(LogsStringList.Text);
//
// n:= 0;
//
// while n <= LogsStringList.Count - 1 do
// begin
// FileString := LogsStringList.Strings[n];
// S := FpSystem(Concat('echo ' , FileString, ' >> ', FileDestDir));
// Inc(n);
// end;
//
// LogsStringList.Free;
//end;
procedure TForm1.MenuItem34Click(Sender: TObject);
begin
@ -712,24 +731,22 @@ begin
ImageListStatus.GetIcon(0, TrayIcon3.Icon);
end;
procedure ClearLogs; //Save Current and Clear Logs, not used on build;
//procedure ClearLogs; //Save Current and Clear Logs, not used on build
//
//begin
// SaveLogs;
//
// Logs.Form3.StringGrid1.Clean;
// GridLine := 1;
// Logs.Form3.StringGrid1.InsertRowWithValues(0,['Number','DateTime Stamp', 'Event Description', 'Video Devices Number']);
// Form1.ImageListStatus.GetIcon(0, Form1.TrayIcon3.Icon);
// if CamClicked then
// CamClicked := false;
//
// CamClicksCounter := 1;
//end;
begin
SaveLogs;
Logs.Form3.StringGrid1.Clean;
GridLine := 1;
Logs.Form3.StringGrid1.InsertRowWithValues(0,['Number','DateTime Stamp', 'Event Description', 'Video Devices Number']);
Form1.ImageListStatus.GetIcon(0, Form1.TrayIcon3.Icon);
if CamClicked then
CamClicked := false;
if MicClicked then
MicClicked := false;
CamClicksCounter := 1;
end;
procedure TForm1.MenuItem27Click(Sender: TObject); // Blaclist Camera and Reboot
procedure TForm1.MenuItem27Click(Sender: TObject); // Blaclist Camera and Reboot
var
BlackListStr : String;
begin
@ -925,6 +942,7 @@ begin
PopUpWebcamCaptStatus := true;
Logs.Form3.StringGrid1.InsertRowWithValues( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(VPClock1.Time), 8), 'Camera is Captuting', IntToStr(VideoDevicesNumber)]);
AppendLogs;
Inc(GridLine);
end;
@ -1042,6 +1060,7 @@ begin
ActionTime := now;
Logs.Form3.StringGrid1.InsertRowWithValues( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(VPClock1.Time), 8), 'Microphone Muted by the User', 'None']);
AppendLogs;
Inc(GridLine);
end;
end;
@ -1060,6 +1079,7 @@ begin
ActionTime := now;
Logs.Form3.StringGrid1.InsertRowWithValues( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(VPClock1.Time), 8), 'Microphone Unmuted by the User', 'None']);
AppendLogs;
Inc(GridLine);
end;
end;
@ -1145,20 +1165,6 @@ begin
PopUpMenu5.PopUp;
end;
procedure TForm1.VideoFrame(Sender: TObject; Buffer: pointer; Size: integer;
Error: boolean);
begin
ImageListCam1.GetIcon(1, TrayIcon5.Icon);
VideoCapt := true;
end;
procedure TForm1.VideoFrameSynchronized(Sender: TObject; Buffer: pointer;
Size: integer; Error: boolean);
begin
ImageListCam1.GetIcon(1, TrayIcon5.Icon);
VideoCapt := true;
end;
procedure CheckEvents; // Check Statuses and External Events Notifications and Logs
var
HackedTime : TDateTime;
@ -1168,12 +1174,12 @@ var
begin
with Form1 do
begin
if FromMain = true then
begin
ActionTime := now;
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(ActionTime), 8), 'Application Started', ' ']);
AppendLogs;
Inc(GridLine);
// Reload Final Icons... (cthreads, and -O3 build level not enough? lol)
ImageListCam1.GetIcon(CameraIcon, TrayIcon5.Icon);
@ -1187,6 +1193,7 @@ begin
ActionTime := now;
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(ActionTime), 8), 'Camera is Off', IntToStr(VideoDevicesNumber)]);
AppendLogs;
Inc(GridLine);
end;
@ -1195,6 +1202,7 @@ begin
ActionTime := now;
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(ActionTime), 8), 'Camera is On', IntToStr(VideoDevicesNumber)]);
AppendLogs;
Inc(GridLine);
end;
@ -1203,6 +1211,7 @@ begin
ActionTime := now;
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(ActionTime), 8), 'Camera is Captuting', IntToStr(VideoDevicesNumber)]);
AppendLogs;
Inc(GridLine);
end;
@ -1211,6 +1220,7 @@ begin
ActionTime := now;
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(ActionTime), 8), 'Microphone is Unmuted', IntToStr(VideoDevicesNumber)]);
AppendLogs;
Inc(GridLine);
end;
@ -1219,6 +1229,7 @@ begin
ActionTime := now;
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(ActionTime), 8), 'Microphone is Muted', IntToStr(VideoDevicesNumber)]);
AppendLogs;
Inc(GridLine);
end;
@ -1267,6 +1278,7 @@ begin
CamSavedStatus := 2;
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(VPClock1.Time), 8), 'Camera is Captuting from Off', IntToStr(VideoDevicesNumber)]);
AppendLogs;
Inc(GridLine);
end;
end;
@ -1284,6 +1296,7 @@ begin
CamSavedStatus := 2;
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(VPClock1.Time), 8), 'Camera is Captuting from On', IntToStr(VideoDevicesNumber)]);
AppendLogs;
Inc(GridLine);
end;
@ -1299,6 +1312,7 @@ begin
CamClicksCounter := 0;
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine, [IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(VPClock1.Time), 8), 'Camera is On, by the User', IntToStr(VideoDevicesNumber)]);
AppendLogs;
Inc(GridLine);
end;
@ -1315,6 +1329,7 @@ begin
CamSavedStatus := 1;
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(VPClock1.Time), 8), 'Camera Stopped Captuting', IntToStr(VideoDevicesNumber)]);
AppendLogs;
Inc(GridLine);
end;
end;
@ -1346,6 +1361,7 @@ begin
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine, [IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', ActionTime)
+ RightStr(DateTimeToStr(VPClock1.Time), 8), StrOff, IntToStr(VideoDevicesNumber)]);
AppendLogs;
Inc(GridLine);
CamSavedStatus := 0;
end;
@ -1370,6 +1386,7 @@ begin
//PopUpWebcamCaptStatus := false;
PopUpWebcamNoCapturing;
PopUpWebcamCaptStatus := true;
AppendLogs;
Inc(GridLine);
end;
@ -1390,6 +1407,7 @@ begin
//PopUpWebcamCaptStatus := false;
PopUpWebcamNoCapturing;
PopUpWebcamCaptStatus := true;
AppendLogs;
Inc(GridLine);
end;
@ -1431,6 +1449,7 @@ begin
//PopUpWebcamCaptStatus := false;
PopUpWebcamNoCapturing;
PopUpWebcamCaptStatus := true;
AppendLogs;
Inc(GridLine);
end;
@ -1450,6 +1469,7 @@ begin
PopUpWebcamCaptStatus := false;
//CamClicked := false;
//CamClicksCounter := 1;
AppendLogs;
Inc(GridLine);
end;
@ -1469,6 +1489,7 @@ begin
PopUpWebcamCaptStatus := false;
//CamClicked := false;
//CamClicksCounter := 1;
AppendLogs;
Inc(GridLine);
end;
@ -1492,6 +1513,7 @@ begin
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', HackedTime)
+ RightStr(DateTimeToStr(VPClock1.Time), 8), 'Microphone Hacked to Unmuted', 'None']);
MicStatus := true;
AppendLogs;
Inc(GridLine);
end;
@ -1513,12 +1535,31 @@ begin
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine,[IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', HackedTime)
+ RightStr(DateTimeToStr(VPClock1.Time), 8), 'Microphone Hacked to Muted', 'None']);
MicStatus := false;
AppendLogs;
Inc(GridLine);
end;
end;
end;
Procedure AppendLogs; // Appends each Log to the Log file Directly
begin
HomeDir := expandfilename('~/');
FileDestDir := Concat(HomeDir,'.cameracontrol-', LogsDateString, '.log');
if GridLine = 1 then
begin
FileString := Concat(Form3.StringGrid1.Rows[0].Strings[0],'/', Form3.StringGrid1.Rows[0].Strings[1],'/', Form3.StringGrid1.Rows[0].Strings[2],'/' , Form3.StringGrid1.Rows[0].Strings[3]);
S := FpSystem(Concat('echo ' , FileString, ' >> ', FileDestDir));
end;
FileString := Concat(Form3.StringGrid1.Rows[GridLine].Strings[0],'/', Form3.StringGrid1.Rows[GridLine].Strings[1],'/', Form3.StringGrid1.Rows[GridLine].Strings[2],'/' , Form3.StringGrid1.Rows[GridLine].Strings[3]);
S := FpSystem(Concat('echo ' , FileString, ' >> ', FileDestDir));
//writeln(GridLine);
end;
procedure TForm1.VpClock1SecondChange(Sender: TObject);
begin