home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 March / Chip_2002-03_cd1.bin / zkuste / delphi / kolekce / d123456 / SIMONS.ZIP / Demo / D1_Main.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2001-12-17  |  33.6 KB  |  1,168 lines

  1. unit D1_Main;
  2.  
  3. interface
  4.  
  5. uses
  6.   WinProcs, WinTypes, Messages, SysUtils, Classes, Graphics, Controls,
  7.   Forms, Dialogs, Tabnotbk, SRLabel, SRColBtn, Buttons, Grids, SRCal, Spin,
  8.   SRGrad, OvalBtn, ExtCtrls, RackCtls, ColorGrd, SRWave, StdCtrls, EnhEdit,
  9.   SRChkBox, IniList, SRValEdt;
  10.  
  11. type
  12.   TMainForm = class(TForm)
  13.     TN: TTabbedNotebook;
  14.     Label13: TLabel;
  15.     Label14: TLabel;
  16.     Label15: TLabel;
  17.     Label16: TLabel;
  18.     Label17: TLabel;
  19.     EnhEdit: TEnhancedEdit;
  20.     RGEnhAlignment: TRadioGroup;
  21.     SpinEnhDigits: TSpinEdit;
  22.     EditEnhValueInt: TEdit;
  23.     EditEnhValue: TEdit;
  24.     ComboEnhFormat: TComboBox;
  25.     ScrewPanel1: TScrewPanel;
  26.     LEDDisplay1: TLEDDisplay;
  27.     LEDDisplay2: TLEDDisplay;
  28.     Label1: TLabel;
  29.     Label2: TLabel;
  30.     Label3: TLabel;
  31.     Label4: TLabel;
  32.     Label5: TLabel;
  33.     Label6: TLabel;
  34.     Label37: TLabel;
  35.     EditValue: TEdit;
  36.     SpinEditNumDigits: TSpinEdit;
  37.     SpinEditFractionDigits: TSpinEdit;
  38.     CBLeadingZeros: TCheckBox;
  39.     ComboBoxSS: TComboBox;
  40.     ComboBoxBevel: TComboBox;
  41.     ComboBoxDecSeperator: TComboBox;
  42.     SpinLEDDisplayContrast: TSpinEdit;
  43.     ButtonPanel3: TButtonPanel;
  44.     LEDButton2: TLEDButton;
  45.     ButtonPanel4: TButtonPanel;
  46.     ButtonPanel1: TButtonPanel;
  47.     LEDButton1: TLEDButton;
  48.     ButtonPanel2: TButtonPanel;
  49.     Bevel1: TBevel;
  50.     TestButton: TLEDButton;
  51.     Label7: TLabel;
  52.     Label8: TLabel;
  53.     Label9: TLabel;
  54.     LabelClick: TLabel;
  55.     ColorGrid: TColorGrid;
  56.     ComboBoxBD: TComboBox;
  57.     CBSwitching: TCheckBox;
  58.     ComboBoxTP: TComboBox;
  59.     CBBeveled: TCheckBox;
  60.     CBShowLED: TCheckBox;
  61.     LabelPosition: TLabel;
  62.     Label11: TLabel;
  63.     LEDMeter1: TLEDMeter;
  64.     LEDMeter2: TLEDMeter;
  65.     Label10: TLabel;
  66.     Label12: TLabel;
  67.     Label38: TLabel;
  68.     RGDirection: TRadioGroup;
  69.     SpinEditStartColor2: TSpinEdit;
  70.     SpinEditStartColor3: TSpinEdit;
  71.     CBSingleLED: TCheckBox;
  72.     SpinLEDMeterContrast: TSpinEdit;
  73.     Hintergrund: TImage;
  74.     OvalButton1: TOvalButton;
  75.     OvalButton2: TOvalButton;
  76.     OvalButton3: TOvalButton;
  77.     OvalButton4: TOvalButton;
  78.     OvalButton5: TOvalButton;
  79.     OvalButton6: TOvalButton;
  80.     OvalButton7: TOvalButton;
  81.     OvalButton8: TOvalButton;
  82.     Label19: TLabel;
  83.     Label20: TLabel;
  84.     Label21: TLabel;
  85.     Label22: TLabel;
  86.     SRGradient1: TSRGradient;
  87.     SRGradient2: TSRGradient;
  88.     SRGradient3: TSRGradient;
  89.     SRGradient4: TSRGradient;
  90.     Label26: TLabel;
  91.     Label27: TLabel;
  92.     Label28: TLabel;
  93.     Label29: TLabel;
  94.     LblDatum: TLabel;
  95.     Label30: TLabel;
  96.     Label31: TLabel;
  97.     LblFeiertag: TLabel;
  98.     LblSternzeichen: TLabel;
  99.     Label32: TLabel;
  100.     LblTagImJahr: TLabel;
  101.     LblWocheImJahr: TLabel;
  102.     LblMonat: TLabel;
  103.     LblJahr: TLabel;
  104.     Label33: TLabel;
  105.     Label34: TLabel;
  106.     ComboBundesland: TComboBox;
  107.     SpinMonat: TSpinButton;
  108.     SpinJahr: TSpinButton;
  109.     ComboStartTag: TComboBox;
  110.     Kalender: TSRCalendar;
  111.     ComboAstroData: TComboBox;
  112.     SBWaveStart: TSpeedButton;
  113.     SBWaveStop: TSpeedButton;
  114.     CBWaveAsync: TCheckBox;
  115.     CBWaveLoop: TCheckBox;
  116.     SRColorButton1: TSRColorButton;
  117.     SRColorButton2: TSRColorButton;
  118.     Label40: TLabel;
  119.     Label41: TLabel;
  120.     Label42: TLabel;
  121.     SpinContrastShadow: TSpinEdit;
  122.     SpinContrastHighlight: TSpinEdit;
  123.     SpinBevelWidth: TSpinEdit;
  124.     TBPosition: TScrollBar;
  125.     SRLabel1: TSRLabel;
  126.     Label35: TLabel;
  127.     Label36: TLabel;
  128.     SRLabel2: TSRLabel;
  129.     Bevel2: TBevel;
  130.     SRLabel3: TSRLabel;
  131.     CBLblShowHighlight: TCheckBox;
  132.     SpinLblHighlightOffset: TSpinEdit;
  133.     CBLblShowShadow: TCheckBox;
  134.     SpinLblShadowOffset: TSpinEdit;
  135.     RGHighlightPos: TRadioGroup;
  136.     CBLblLinkActive: TCheckBox;
  137.     CBLblHighlightOnEnter: TCheckBox;
  138.     CBLblUnderlineOnEnter: TCheckBox;
  139.     CBLblUnderlined: TCheckBox;
  140.     RGLblLayout: TRadioGroup;
  141.     RGLblAlignment: TRadioGroup;
  142.     Bevel3: TBevel;
  143.     CBLblEnabled: TCheckBox;
  144.     LblTitel: TSRLabel;
  145.     Bevel4: TBevel;
  146.     LblAutor: TSRLabel;
  147.     LbleMail: TSRLabel;
  148.     LblInternet: TSRLabel;
  149.     LblInfo: TSRLabel;
  150.     Label23: TLabel;
  151.     ComboDrawStyle: TComboBox;
  152.     SRColorButton3: TSRColorButton;
  153.     SRColorButton4: TSRColorButton;
  154.     Label44: TLabel;
  155.     Label45: TLabel;
  156.     PanelVersion: TPanel;
  157.     CBEnhAcceptChars: TCheckBox;
  158.     SRGradient5: TSRGradient;
  159.     Label18: TLabel;
  160.     SRGradient6: TSRGradient;
  161.     Label24: TLabel;
  162.     CBAstroDaten: TCheckBox;
  163.     CBDeleteMarks: TCheckBox;
  164.     CBShowMarks: TCheckBox;
  165.     CBShowHolidays: TCheckBox;
  166.     CBGridLines: TCheckBox;
  167.     CBFrameSelection: TCheckBox;
  168.     CBAllowAllUp1: TCheckBox;
  169.     CBAllowAllUp2: TCheckBox;
  170.     SRLabel4: TSRLabel;
  171.     SpinLabelWidth: TSpinButton;
  172.     Label25: TLabel;
  173.     LblSeparator: TLabel;
  174.     SBSeparator: TSpeedButton;
  175.     LblIniFilename: TLabel;
  176.     LblKey: TLabel;
  177.     LblValue: TLabel;
  178.     LblSectionCount: TLabel;
  179.     LblDescrSectionCount: TLabel;
  180.     LblDescrKeyCount: TLabel;
  181.     LblKeyCount: TLabel;
  182.     Bevel5: TBevel;
  183.     BtnLoadFromFile: TButton;
  184.     EditSeparator: TEdit;
  185.     EditSection: TEdit;
  186.     EditKey: TEdit;
  187.     Edit1: TEdit;
  188.     BtnWriteString: TButton;
  189.     BtnDeleteKey: TButton;
  190.     BtnEraseSection: TButton;
  191.     ListBox: TListBox;
  192.     Panel1: TPanel;
  193.     CBOnSectionChange: TCheckBox;
  194.     CBOnKeyChange: TCheckBox;
  195.     CBOnValueChange: TCheckBox;
  196.     LblSection: TLabel;
  197.     IniList: TIniList;
  198.     OpenDlg: TOpenDialog;
  199.     Timer: TTimer;
  200.     SRWavePlayer: TSRWavePlayer;
  201.     Shape: TShape;
  202.     SRCheckBox: TSRCheckBox;
  203.     Bevel6: TBevel;
  204.     Label46: TLabel;
  205.     Label47: TLabel;
  206.     Label48: TLabel;
  207.     CBAllowGrayed: TCheckBox;
  208.     ComboStyle: TComboBox;
  209.     SpinCheckSize: TSpinEdit;
  210.     CBAutoSize: TCheckBox;
  211.     CBTransparent: TCheckBox;
  212.     SpinSpacing: TSpinEdit;
  213.     CBWordWrap: TCheckBox;
  214.     SRValueEdit1: TSRValueEdit;
  215.     SRValueEdit3: TSRValueEdit;
  216.     Panel2: TPanel;
  217.     SRValueEdit2: TSRValueEdit;
  218.     Label50: TLabel;
  219.     procedure EnhEditKeyUp(Sender: TObject; var Key: Word;
  220.       Shift: TShiftState);
  221.     procedure RGEnhAlignmentClick(Sender: TObject);
  222.     procedure EditEnhValueKeyUp(Sender: TObject; var Key: Word;
  223.       Shift: TShiftState);
  224.     procedure EditEnhValueIntKeyUp(Sender: TObject; var Key: Word;
  225.       Shift: TShiftState);
  226.     procedure ComboEnhFormatChange(Sender: TObject);
  227.     procedure SpinEnhDigitsChange(Sender: TObject);
  228.     procedure CBLblShowHighlightClick(Sender: TObject);
  229.     procedure CBLblShowShadowClick(Sender: TObject);
  230.     procedure RGHighlightPosClick(Sender: TObject);
  231.     procedure SpinLblHighlightOffsetChange(Sender: TObject);
  232.     procedure SpinLblShadowOffsetChange(Sender: TObject);
  233.     procedure TestButtonClick(Sender: TObject);
  234.     procedure ColorGridChange(Sender: TObject);
  235.     procedure ComboBoxBDChange(Sender: TObject);
  236.     procedure ComboBoxTPChange(Sender: TObject);
  237.     procedure CBShowLEDClick(Sender: TObject);
  238.     procedure CBBeveledClick(Sender: TObject);
  239.     procedure CBSwitchingClick(Sender: TObject);
  240.     procedure EditValueChange(Sender: TObject);
  241.     procedure SpinLEDDisplayContrastChange(Sender: TObject);
  242.     procedure SpinEditNumDigitsChange(Sender: TObject);
  243.     procedure SpinEditFractionDigitsChange(Sender: TObject);
  244.     procedure CBLeadingZerosClick(Sender: TObject);
  245.     procedure ComboBoxDecSeperatorChange(Sender: TObject);
  246.     procedure ComboBoxSSChange(Sender: TObject);
  247.     procedure ComboBoxBevelChange(Sender: TObject);
  248.     procedure LEDMeter1Change(Sender: TObject);
  249.     procedure SpinEditStartColor2Change(Sender: TObject);
  250.     procedure SpinEditStartColor3Change(Sender: TObject);
  251.     procedure SpinLEDMeterContrastChange(Sender: TObject);
  252.     procedure RGDirectionClick(Sender: TObject);
  253.     procedure CBSingleLEDClick(Sender: TObject);
  254.     procedure TBPositionChange(Sender: TObject);
  255.     procedure SBWaveStartClick(Sender: TObject);
  256.     procedure SBWaveStopClick(Sender: TObject);
  257.     procedure CBWaveAsyncClick(Sender: TObject);
  258.     procedure CBWaveLoopClick(Sender: TObject);
  259.     procedure SRWavePlayerAfterPlay(Sender: TObject);
  260.     procedure SRWavePlayerBeforePlay(Sender: TObject);
  261.     procedure OvalButton5Click(Sender: TObject);
  262.     procedure SpinContrastHighlightChange(Sender: TObject);
  263.     procedure SpinContrastShadowChange(Sender: TObject);
  264.     procedure SpinBevelWidthChange(Sender: TObject);
  265.     procedure SpinMonatDownClick(Sender: TObject);
  266.     procedure SpinMonatUpClick(Sender: TObject);
  267.     procedure SpinJahrDownClick(Sender: TObject);
  268.     procedure SpinJahrUpClick(Sender: TObject);
  269.     procedure ComboBundeslandChange(Sender: TObject);
  270.     procedure ComboStartTagChange(Sender: TObject);
  271.     procedure CBShowHolidaysClick(Sender: TObject);
  272.     procedure CBShowMarksClick(Sender: TObject);
  273.     procedure CBDeleteMarksClick(Sender: TObject);
  274.     procedure CBAstroDatenClick(Sender: TObject);
  275.     procedure KalenderDblClick(Sender: TObject);
  276.     procedure KalenderChange(Sender: TObject);
  277.     procedure FormCreate(Sender: TObject);
  278.     procedure CBLblLinkActiveClick(Sender: TObject);
  279.     procedure CBLblHighlightOnEnterClick(Sender: TObject);
  280.     procedure CBLblUnderlineOnEnterClick(Sender: TObject);
  281.     procedure CBLblUnderlinedClick(Sender: TObject);
  282.     procedure RGLblAlignmentClick(Sender: TObject);
  283.     procedure RGLblLayoutClick(Sender: TObject);
  284.     procedure CBLblEnabledClick(Sender: TObject);
  285.     procedure ComboDrawStyleChange(Sender: TObject);
  286.     procedure SRColorButton3Click(Sender: TObject);
  287.     procedure CBEnhAcceptCharsClick(Sender: TObject);
  288.     procedure CBGridLinesClick(Sender: TObject);
  289.     procedure CBFrameSelectionClick(Sender: TObject);
  290.     procedure CBAllowAllUp1Click(Sender: TObject);
  291.     procedure CBAllowAllUp2Click(Sender: TObject);
  292.     procedure SpinLabelWidthDownClick(Sender: TObject);
  293.     procedure SpinLabelWidthUpClick(Sender: TObject);
  294.     procedure BtnLoadFromFileClick(Sender: TObject);
  295.     procedure EditSeparatorChange(Sender: TObject);
  296.     procedure EditSeparatorKeyPress(Sender: TObject; var Key: Char);
  297.     procedure SBSeparatorClick(Sender: TObject);
  298.     procedure EditSectionChange(Sender: TObject);
  299.     procedure EditSectionKeyPress(Sender: TObject; var Key: Char);
  300.     procedure EditKeyChange(Sender: TObject);
  301.     procedure BtnEraseSectionClick(Sender: TObject);
  302.     procedure BtnDeleteKeyClick(Sender: TObject);
  303.     procedure BtnWriteStringClick(Sender: TObject);
  304.     procedure ListBoxClick(Sender: TObject);
  305.     procedure CBOnSectionChangeClick(Sender: TObject);
  306.     procedure IniListChange(Sender: TObject);
  307.     procedure IniListKeyChange(Sender: TObject);
  308.     procedure IniListSectionChange(Sender: TObject);
  309.     procedure IniListValueChange(Sender: TObject);
  310.     procedure TimerTimer(Sender: TObject);
  311.     procedure SRCheckBoxClick(Sender: TObject);
  312.     procedure CBAllowGrayedClick(Sender: TObject);
  313.     procedure CBTransparentClick(Sender: TObject);
  314.     procedure CBAutoSizeClick(Sender: TObject);
  315.     procedure CBWordWrapClick(Sender: TObject);
  316.     procedure ComboStyleChange(Sender: TObject);
  317.     procedure SpinCheckSizeChange(Sender: TObject);
  318.     procedure SpinSpacingChange(Sender: TObject);
  319.   private
  320.     { Private-Deklarationen }
  321.     Counter : integer;
  322.     procedure SetCheckBoxSize;
  323.     procedure ShowIniListInMemo;
  324.     procedure UpdateButtonStates;
  325.   public
  326.     { Public-Deklarationen }
  327.   end;
  328.  
  329. var
  330.   MainForm: TMainForm;
  331.  
  332. implementation
  333.  
  334. {$R *.DFM}
  335.  
  336. uses SRUtils;
  337.  
  338. const Timeout = 10;
  339.  
  340. function GetPackageVersionNr:string;
  341. var AText : TStringList;
  342.     ALine,
  343.     APath : string;
  344.     i,P   : integer;
  345. begin
  346.   Result:='Unbekannt';
  347.   AText:=TStringList.Create;
  348.   try
  349.     APath:=ExtractFileDir(Application.ExeName);
  350.     P:=LastDelimiter('\', APath);
  351.     if P>0 then begin
  352.       delete(APath, P+1, length(APath)-P);
  353.       APath:=APath+'Liesmich.txt';
  354.       if FileExists(APath) then begin
  355.         AText.LoadFromFile(APath);
  356.         i:=0;
  357.         while (i<AText.Count) and (Pos('Version', AText[i])=0) do
  358.           inc(i);
  359.         if Pos('Version', AText[i])>0 then begin
  360.           ALine:=AText[i];
  361.           P:=Pos(':', ALine);
  362.           if P>0 then
  363.             delete(ALine, 1, P);
  364.           ALine:=Trim(ALine);
  365.           if ALine<>'' then
  366.             Result:=ALine;
  367.         end;
  368.       end;
  369.     end;
  370.   finally
  371.     AText.Free;
  372.   end;
  373. end;
  374.  
  375. { TEnhancedEdit }
  376. procedure TMainForm.EnhEditKeyUp(Sender: TObject; var Key: Word;
  377.   Shift: TShiftState);
  378. begin
  379.   try
  380.     EditEnhValue.Text:=FloatToStr(EnhEdit.Value);
  381.     EditEnhValueInt.Text:=IntToStr(EnhEdit.ValueInt);
  382.   except
  383.   end;
  384. end;
  385.  
  386. procedure TMainForm.RGEnhAlignmentClick(Sender: TObject);
  387. begin
  388.   case RGEnhAlignment.ItemIndex of
  389.     0 : EnhEdit.Alignment:=taLeftJustify;
  390.     1 : EnhEdit.Alignment:=taCenter;
  391.     2 : EnhEdit.Alignment:=taRightJustify;
  392.   end;
  393. end;
  394.  
  395. procedure TMainForm.EditEnhValueKeyUp(Sender: TObject; var Key: Word;
  396.   Shift: TShiftState);
  397. begin
  398.   try
  399.     EnhEdit.Value:=StrToFloat(EditEnhValue.Text);
  400.     EditEnhValueInt.Text:=IntToStr(EnhEdit.ValueInt);
  401.   except
  402.   end;
  403. end;
  404.  
  405. procedure TMainForm.EditEnhValueIntKeyUp(Sender: TObject; var Key: Word;
  406.   Shift: TShiftState);
  407. begin
  408.   try
  409.     EnhEdit.ValueInt:=StrToInt(EditEnhValueInt.Text);
  410.     EditEnhValue.Text:=FloatToStr(EnhEdit.Value);
  411.   except
  412.   end;
  413. end;
  414.  
  415. procedure TMainForm.SpinEnhDigitsChange(Sender: TObject);
  416. begin
  417.   EnhEdit.Digits:=SpinEnhDigits.Value;
  418. end;
  419.  
  420. procedure TMainForm.CBEnhAcceptCharsClick(Sender: TObject);
  421. begin
  422.   EnhEdit.AcceptChars:=CBEnhAcceptChars.Checked;
  423. end;
  424.  
  425. procedure TMainForm.ComboEnhFormatChange(Sender: TObject);
  426. begin
  427.   case ComboEnhFormat.ItemIndex of
  428.     0 : EnhEdit.Format:=ffCurrency;
  429.     1 : EnhEdit.Format:=ffExponent;
  430.     2 : EnhEdit.Format:=ffFixed;
  431.     3 : EnhEdit.Format:=ffGeneral;
  432.     4 : EnhEdit.Format:=ffNumber;
  433.   end;
  434. end;
  435.  
  436. { TSRLabel }
  437. procedure TMainForm.CBLblShowHighlightClick(Sender: TObject);
  438. begin
  439.   SRLabel1.ShowHighlight:=CBLblShowHighlight.Checked;
  440. end;
  441.  
  442. procedure TMainForm.CBLblShowShadowClick(Sender: TObject);
  443. begin
  444.   SRLabel1.ShowShadow:=CBLblShowShadow.Checked;
  445. end;
  446.  
  447. procedure TMainForm.SpinLblHighlightOffsetChange(Sender: TObject);
  448. begin
  449.   SRLabel1.HighlightOffset:=SpinLblHighlightOffset.Value;
  450. end;
  451.  
  452. procedure TMainForm.SpinLblShadowOffsetChange(Sender: TObject);
  453. begin
  454.   SRLabel1.ShadowOffset:=SpinLblShadowOffset.Value;
  455. end;
  456.  
  457. procedure TMainForm.RGHighlightPosClick(Sender: TObject);
  458. begin
  459.   if RGHighlightPos.ItemIndex=0 then
  460.     SRLabel1.HighlightPos:=hpTopLeft
  461.   else
  462.     SRLabel1.HighlightPos:=hpTopRight;
  463. end;
  464.  
  465. { TLEDButton }
  466. procedure TMainForm.TestButtonClick(Sender: TObject);
  467. begin
  468.   LabelClick.Visible:=not LabelClick.Visible;
  469. end;
  470.  
  471. procedure TMainForm.ColorGridChange(Sender: TObject);
  472. begin
  473.   TestButton.Color:=ColorGrid.ForegroundColor;
  474. end;
  475.  
  476. procedure TMainForm.ComboBoxBDChange(Sender: TObject);
  477. begin
  478.   case ComboBoxBD.ItemIndex of
  479.     0 : TestButton.ButtonDirection:=bdBottomUp;
  480.     1 : TestButton.ButtonDirection:=bdLeftUp;
  481.     2 : TestButton.ButtonDirection:=bdNone;
  482.     3 : TestButton.ButtonDirection:=bdRightUp;
  483.     4 : TestButton.ButtonDirection:=bdTopUp;
  484.   end;
  485. end;
  486.  
  487. procedure TMainForm.ComboBoxTPChange(Sender: TObject);
  488. begin
  489.   case ComboBoxTP.ItemIndex of
  490.     0 : TestButton.TextPosition:=tpAbove;
  491.     1 : TestButton.TextPosition:=tpBelow;
  492.     2 : TestButton.TextPosition:=tpNone;
  493.     3 : TestButton.TextPosition:=tpOnButton;
  494.   end;
  495. end;
  496.  
  497. procedure TMainForm.CBShowLEDClick(Sender: TObject);
  498. begin
  499.   TestButton.ShowLED:=CBShowLED.Checked;
  500. end;
  501.  
  502. procedure TMainForm.CBBeveledClick(Sender: TObject);
  503. begin
  504.   TestButton.Beveled:=CBBeveled.Checked;
  505. end;
  506.  
  507. procedure TMainForm.CBSwitchingClick(Sender: TObject);
  508. begin
  509.   TestButton.Switching:=CBSwitching.Checked;
  510. end;
  511.  
  512. { TLEDDisplay }
  513. procedure TMainForm.EditValueChange(Sender: TObject);
  514. begin
  515.   try
  516.     LEDDisplay1.Value:=StrToFloat(EditValue.Text);
  517.     LEDDisplay2.Value:=StrToFloat(EditValue.Text);
  518.   except
  519.   end;
  520. end;
  521.  
  522. procedure TMainForm.SpinEditNumDigitsChange(Sender: TObject);
  523. begin
  524.   LEDDisplay1.NumDigits:=SpinEditNumDigits.Value;
  525.   LEDDisplay2.NumDigits:=SpinEditNumDigits.Value;
  526. end;
  527.  
  528. procedure TMainForm.SpinEditFractionDigitsChange(Sender: TObject);
  529. begin
  530.   LEDDisplay1.FractionDigits:=SpinEditFractionDigits.Value;
  531.   LEDDisplay2.FractionDigits:=SpinEditFractionDigits.Value;
  532. end;
  533.  
  534. procedure TMainForm.CBLeadingZerosClick(Sender: TObject);
  535. begin
  536.   LEDDisplay1.LeadingZeros:=CBLeadingZeros.Checked;
  537.   LEDDisplay2.LeadingZeros:=CBLeadingZeros.Checked;
  538. end;
  539.  
  540. procedure TMainForm.ComboBoxSSChange(Sender: TObject);
  541. begin
  542.   if ComboBoxSS.ItemIndex=0 then begin
  543.     LEDDisplay1.SegmentStyle:=ssBeveled;
  544.     LEDDisplay2.SegmentStyle:=ssBeveled;
  545.   end
  546.   else begin
  547.     LEDDisplay1.SegmentStyle:=ssRectangular;
  548.     LEDDisplay2.SegmentStyle:=ssRectangular;
  549.   end;
  550. end;
  551.  
  552. procedure TMainForm.ComboBoxBevelChange(Sender: TObject);
  553. begin
  554.   case ComboBoxBevel.ItemIndex of
  555.     0 : begin
  556.           LEDDisplay1.BevelStyle:=bvLowered;
  557.           LEDDisplay2.BevelStyle:=bvLowered;
  558.         end;
  559.     1 : begin
  560.           LEDDisplay1.BevelStyle:=bvNone;
  561.           LEDDisplay2.BevelStyle:=bvNone;
  562.         end;
  563.     2 : begin
  564.           LEDDisplay1.BevelStyle:=bvRaised;
  565.           LEDDisplay2.BevelStyle:=bvRaised;
  566.         end;
  567.   end;
  568. end;
  569.  
  570. procedure TMainForm.ComboBoxDecSeperatorChange(Sender: TObject);
  571. begin
  572.   case ComboBoxDecSeperator.ItemIndex of
  573.     0 : begin
  574.           LEDDisplay1.DecSeperator:=dsComma;
  575.           LEDDisplay2.DecSeperator:=dsComma;
  576.         end;
  577.     1 : begin
  578.           LEDDisplay1.DecSeperator:=dsDoublePoint;
  579.           LEDDisplay2.DecSeperator:=dsDoublePoint;
  580.         end;
  581.     2 : begin
  582.           LEDDisplay1.DecSeperator:=dsMinus;
  583.           LEDDisplay2.DecSeperator:=dsMinus;
  584.         end;
  585.     3 : begin
  586.           LEDDisplay1.DecSeperator:=dsPoint;
  587.           LEDDisplay2.DecSeperator:=dsPoint;
  588.         end;
  589.   end;
  590. end;
  591.  
  592. procedure TMainForm.SpinLEDDisplayContrastChange(Sender: TObject);
  593. begin
  594.   LEDDisplay1.LEDContrast:=SpinLEDDisplayContrast.Value;
  595.   LEDDisplay2.LEDContrast:=SpinLEDDisplayContrast.Value;
  596. end;
  597.  
  598. { TLEDMeter }
  599. procedure TMainForm.LEDMeter1Change(Sender: TObject);
  600. begin
  601.   LabelPosition.Caption:=IntToStr(LEDMeter1.Position);
  602. end;
  603.  
  604. procedure TMainForm.TBPositionChange(Sender: TObject);
  605. begin
  606.   LEDMeter1.Position:=TBPosition.Position;
  607.   LEDMeter2.Position:=TBPosition.Position;
  608. end;
  609.  
  610. procedure TMainForm.RGDirectionClick(Sender: TObject);
  611. begin
  612.   if RGDirection.ItemIndex=0 then begin
  613.     LEDMeter1.Direction:=mdRight;
  614.     LEDMeter2.Direction:=mdUp;
  615.   end
  616.   else begin
  617.     LEDMeter1.Direction:=mdLeft;
  618.     LEDMeter2.Direction:=mdDown;
  619.   end;
  620. end;
  621.  
  622. procedure TMainForm.CBSingleLEDClick(Sender: TObject);
  623. begin
  624.   LEDMeter1.SingleLED:=CBSingleLED.Checked;
  625.   LEDMeter2.SingleLED:=CBSingleLED.Checked;
  626. end;
  627.  
  628. procedure TMainForm.SpinLEDMeterContrastChange(Sender: TObject);
  629. begin
  630.   LEDMeter1.LEDContrast:=SpinLEDMeterContrast.Value;
  631.   LEDMeter2.LEDContrast:=SpinLEDMeterContrast.Value;
  632. end;
  633.  
  634. procedure TMainForm.SpinEditStartColor2Change(Sender: TObject);
  635. begin
  636.   LEDMeter1.StartColor2:=SpinEditStartColor2.Value;
  637.   LEDMeter2.StartColor2:=SpinEditStartColor2.Value;
  638.   SpinEditStartColor2.Value:=LEDMeter1.StartColor2;
  639. end;
  640.  
  641. procedure TMainForm.SpinEditStartColor3Change(Sender: TObject);
  642. begin
  643.   LEDMeter1.StartColor3:=SpinEditStartColor3.Value;
  644.   LEDMeter2.StartColor3:=SpinEditStartColor3.Value;
  645.   SpinEditStartColor3.Value:=LEDMeter1.StartColor3;
  646. end;
  647.  
  648. { TSRWavePlayer }
  649. procedure TMainForm.SBWaveStartClick(Sender: TObject);
  650. begin
  651.   SRWavePlayer.Play;
  652. end;
  653.  
  654. procedure TMainForm.SBWaveStopClick(Sender: TObject);
  655. begin
  656.   SRWavePlayer.Stop;
  657.   CBWaveLoop.Enabled:=true;
  658.   CBWaveAsync.Enabled:=true;
  659. end;
  660.  
  661. procedure TMainForm.SRWavePlayerAfterPlay(Sender: TObject);
  662. begin
  663.   SBWaveStart.Down:=false;
  664.   SBWaveStop.Down:=true;
  665.   SBWaveStop.Enabled:=true;
  666.   if not SRWavePlayer.Loop then begin
  667.     CBWaveAsync.Enabled:=true;
  668.     CBWaveLoop.Enabled:=true;
  669.   end;
  670. end;
  671.  
  672. procedure TMainForm.SRWavePlayerBeforePlay(Sender: TObject);
  673. begin
  674.   CBWaveAsync.Enabled:=false;
  675.   CBWaveLoop.Enabled:=false;
  676.   SBWaveStop.Enabled:=false;
  677.   Application.ProcessMessages;
  678. end;
  679.  
  680. procedure TMainForm.CBWaveAsyncClick(Sender: TObject);
  681. begin
  682.   CBWaveLoop.Enabled:=CBWaveAsync.Checked;
  683.   SRWavePlayer.Async:=CBWaveAsync.Checked;
  684. end;
  685.  
  686. procedure TMainForm.CBWaveLoopClick(Sender: TObject);
  687. begin
  688.   SRWavePlayer.Loop:=CBWaveLoop.Checked;
  689. end;
  690.  
  691. { TSRCheckBox }
  692. procedure TMainForm.SetCheckBoxSize;
  693. begin
  694.   if not CBAutoSize.Checked then begin
  695.     if CBWordWrap.Checked then
  696.       SRCheckBox.SetBounds(112, 8, 120, 70)
  697.     else
  698.       SRCheckBox.SetBounds(112, 8, 240, 70);
  699.   end
  700.   else begin
  701.     SRCheckBox.AutoSize:=false;
  702.     SRCheckBox.Width:=200;
  703.     SRCheckBox.AutoSize:=true;
  704.   end;
  705. end;
  706.  
  707. procedure TMainForm.SRCheckBoxClick(Sender: TObject);
  708. begin
  709.   MessageBeep(0);
  710. end;
  711.  
  712. procedure TMainForm.CBAllowGrayedClick(Sender: TObject);
  713. begin
  714.   SRCheckBox.AllowGrayed:=CBAllowGrayed.Checked;
  715. end;
  716.  
  717. procedure TMainForm.CBTransparentClick(Sender: TObject);
  718. begin
  719.   SRCheckBox.Transparent:=CBTransparent.Checked;
  720.   Shape.Visible:=CBTransparent.Checked;
  721. end;
  722.  
  723. procedure TMainForm.CBAutoSizeClick(Sender: TObject);
  724. begin
  725.   SRCheckBox.AutoSize:=CBAutoSize.Checked;
  726.   SetCheckBoxSize;
  727. end;
  728.  
  729. procedure TMainForm.CBWordWrapClick(Sender: TObject);
  730. begin
  731.   SRCheckBox.WordWrap:=CBWordWrap.Checked;
  732.   SetCheckBoxSize;
  733. end;
  734.  
  735. procedure TMainForm.ComboStyleChange(Sender: TObject);
  736. begin
  737.   SRCheckBox.Style:=TCheckStyle(ComboStyle.ItemIndex);
  738. end;
  739.  
  740. procedure TMainForm.SpinCheckSizeChange(Sender: TObject);
  741. begin
  742.   SRCheckBox.CheckSize:=SpinCheckSize.Value;
  743. end;
  744.  
  745. procedure TMainForm.SpinSpacingChange(Sender: TObject);
  746. begin
  747.   SRCheckBox.Spacing:=SpinSpacing.Value;
  748. end;
  749.  
  750. { TOvalButton }
  751. procedure TMainForm.OvalButton5Click(Sender: TObject);
  752. begin
  753.   MessageBeep(0);
  754. end;
  755.  
  756. { TSRColorButton }
  757. procedure TMainForm.CBAllowAllUp1Click(Sender: TObject);
  758. begin
  759.   SRColorButton1.AllowAllUp:=CBAllowAllUp1.Checked;
  760. end;
  761.  
  762. procedure TMainForm.CBAllowAllUp2Click(Sender: TObject);
  763. begin
  764.   SRColorButton2.AllowAllUp:=CBAllowAllUp2.Checked;
  765. end;
  766.  
  767. procedure TMainForm.SpinContrastHighlightChange(Sender: TObject);
  768. begin
  769.   SRColorButton1.ContrastHighlight:=SpinContrastHighlight.Value;
  770.   SRColorButton2.ContrastHighlight:=SpinContrastHighlight.Value;
  771. end;
  772.  
  773. procedure TMainForm.SpinContrastShadowChange(Sender: TObject);
  774. begin
  775.   SRColorButton1.ContrastShadow:=SpinContrastShadow.Value;
  776.   SRColorButton2.ContrastShadow:=SpinContrastShadow.Value;
  777. end;
  778.  
  779. procedure TMainForm.SpinBevelWidthChange(Sender: TObject);
  780. begin
  781.   SRColorButton1.BevelWidth:=SpinBevelWidth.Value;
  782.   SRColorButton2.BevelWidth:=SpinBevelWidth.Value;
  783. end;
  784.  
  785. procedure TMainForm.SRColorButton3Click(Sender: TObject);
  786. begin
  787.   MessageBeep(0);
  788. end;
  789.  
  790. { TSRCalendar }
  791. procedure TMainForm.SpinMonatDownClick(Sender: TObject);
  792. begin
  793.   Kalender.PrevMonth;
  794. end;
  795.  
  796. procedure TMainForm.SpinMonatUpClick(Sender: TObject);
  797. begin
  798.   Kalender.NextMonth;
  799. end;
  800.  
  801. procedure TMainForm.SpinJahrDownClick(Sender: TObject);
  802. begin
  803.   Kalender.PrevYear;
  804. end;
  805.  
  806. procedure TMainForm.SpinJahrUpClick(Sender: TObject);
  807. begin
  808.   Kalender.NextYear;
  809. end;
  810.  
  811. procedure TMainForm.ComboBundeslandChange(Sender: TObject);
  812. begin
  813.   case ComboBundesland.ItemIndex of
  814.     0 : Kalender.Bundesland:=Baden_Wuerttemberg;
  815.     1 : Kalender.Bundesland:=Bayern;
  816.     2 : Kalender.Bundesland:=Berlin;
  817.     3 : Kalender.Bundesland:=Brandenburg;
  818.     4 : Kalender.Bundesland:=Bremen;
  819.     5 : Kalender.Bundesland:=Hamburg;
  820.     6 : Kalender.Bundesland:=Hessen;
  821.     7 : Kalender.Bundesland:=Mecklenburg_Vorpommern;
  822.     8 : Kalender.Bundesland:=Niedersachsen;
  823.     9 : Kalender.Bundesland:=Nordrhein_Westfalen;
  824.    10 : Kalender.Bundesland:=Rheinland_Pfalz;
  825.    11 : Kalender.Bundesland:=Saarland;
  826.    12 : Kalender.Bundesland:=Sachsen;
  827.    13 : Kalender.Bundesland:=Sachsen_Anhalt;
  828.    14 : Kalender.Bundesland:=Schleswig_Holstein;
  829.    15 : Kalender.Bundesland:=Thueringen;
  830.   end;
  831. end;
  832.  
  833. procedure TMainForm.ComboStartTagChange(Sender: TObject);
  834. begin
  835.   Kalender.StartOfWeek:=ComboStartTag.ItemIndex;
  836. end;
  837.  
  838. procedure TMainForm.ComboDrawStyleChange(Sender: TObject);
  839. begin
  840.   Kalender.DrawStyle:=TCalendarDrawStyle(ComboDrawStyle.ItemIndex);
  841. end;
  842.  
  843. procedure TMainForm.CBShowHolidaysClick(Sender: TObject);
  844. begin
  845.   if CBShowHolidays.Checked then
  846.     Kalender.CalendarOptions:=Kalender.CalendarOptions+[coCalcHolidays]
  847.   else
  848.     Kalender.CalendarOptions:=Kalender.CalendarOptions-[coCalcHolidays];
  849.   LblFeiertag.Caption:=Kalender.Holiday;
  850. end;
  851.  
  852. procedure TMainForm.CBGridLinesClick(Sender: TObject);
  853. begin
  854.   if CBGridLines.Checked then
  855.     Kalender.CalendarOptions:=Kalender.CalendarOptions+[coGridLines]
  856.   else
  857.     Kalender.CalendarOptions:=Kalender.CalendarOptions-[coGridLines];
  858. end;
  859.  
  860. procedure TMainForm.CBFrameSelectionClick(Sender: TObject);
  861. begin
  862.   if CBFrameSelection.Checked then
  863.     Kalender.CalendarOptions:=Kalender.CalendarOptions+[coFrameSelection]
  864.   else
  865.     Kalender.CalendarOptions:=Kalender.CalendarOptions-[coFrameSelection];
  866. end;
  867.  
  868. procedure TMainForm.CBShowMarksClick(Sender: TObject);
  869. begin
  870.   if CBShowMarks.Checked then
  871.     Kalender.CalendarOptions:=Kalender.CalendarOptions+[coShowMarks]
  872.   else
  873.     Kalender.CalendarOptions:=Kalender.CalendarOptions-[coShowMarks];
  874. end;
  875.  
  876. procedure TMainForm.CBDeleteMarksClick(Sender: TObject);
  877. begin
  878.   if CBDeleteMarks.Checked then
  879.     Kalender.CalendarOptions:=Kalender.CalendarOptions+[coAutoDeleteMarks]
  880.   else
  881.     Kalender.CalendarOptions:=Kalender.CalendarOptions-[coAutoDeleteMarks];
  882. end;
  883.  
  884. procedure TMainForm.CBAstroDatenClick(Sender: TObject);
  885. begin
  886.   if CBAstroDaten.Checked then
  887.     Kalender.CalendarOptions:=Kalender.CalendarOptions+[coCalcAstroData]
  888.   else
  889.     Kalender.CalendarOptions:=Kalender.CalendarOptions-[coCalcAstroData];
  890.   ComboAstroData.Visible:=CBAstroDaten.Checked;
  891. end;
  892.  
  893. procedure TMainForm.KalenderDblClick(Sender: TObject);
  894. begin
  895.   Kalender.Marked[Kalender.Day]:=not Kalender.Marked[Kalender.Day];
  896. end;
  897.  
  898. procedure TMainForm.KalenderChange(Sender: TObject);
  899. begin
  900.   LblMonat.Caption:=LongMonthNames[Kalender.Month];
  901.   LblJahr.Caption:=IntToStr(Kalender.Year);
  902.   LblDatum.Caption:=FormatDateTime('dddd, dd. mmmm yyyy',Kalender.Date);
  903.   LblTagImJahr.Caption:=IntToStr(Kalender.DayOfYear)+'. Tag im Jahr';
  904.   LblWocheImJahr.Caption:=IntToStr(Kalender.WeekOfYear)+'. Woche im Jahr';
  905.   LblFeiertag.Caption:=Kalender.Holiday;
  906.   LblSternzeichen.Caption:='Sternzeichen: '+Kalender.Sternzeichen;
  907.   with ComboAstroData.Items do begin
  908.     Clear;
  909.     Add('Mondaufgang: '+TimeToStr(Kalender.MoonRise)+' h');
  910.     Add('Mondh÷chststand: '+TimeToStr(Kalender.MoonTransit)+' h');
  911.     Add('Monduntergang: '+TimeToStr(Kalender.MoonSet)+' h');
  912.     Add('Entfernung zum Mond: '+FloatToStrF(Kalender.MoonDistance,ffNumber,8,0)+' km');
  913.     case Kalender.MoonPhase of
  914.       Neumond   : Add('Neumond');
  915.       Vollmond  : Add('Vollmond');
  916.       abnehmend : Add('Abnehmeder Mond');
  917.       zunehmend : Add('Zunehmeder Mond');
  918.     end;
  919.     Add('Sonnenaufgang: '+TimeToStr(Kalender.SunRise)+' h');
  920.     Add('Sonnenh÷chststand: '+TimeToStr(Kalender.SunTransit)+' h');
  921.     Add('Sonnenuntergang: '+TimeToStr(Kalender.SunSet)+' h');
  922.     Add('Entfernung zur Sonne: '+FloatToStrF(Kalender.SunDistance/1000000,ffNumber,8,2)+' mio km');
  923.   end;
  924.   if ComboAstroData.Items.Count>0 then
  925.     ComboAstroData.ItemIndex:=0;
  926. end;
  927.  
  928. procedure TMainForm.CBLblEnabledClick(Sender: TObject);
  929. begin
  930.   SRLabel1.Enabled:=CBLblEnabled.Checked;
  931. end;
  932.  
  933. procedure TMainForm.CBLblLinkActiveClick(Sender: TObject);
  934. begin
  935.   SRLabel2.LinkActive:=CBLblLinkActive.Checked;
  936. end;
  937.  
  938. procedure TMainForm.CBLblHighlightOnEnterClick(Sender: TObject);
  939. begin
  940.   SRLabel2.HighlightOnEnter:=CBLblHighlightOnEnter.Checked;
  941. end;
  942.  
  943. procedure TMainForm.CBLblUnderlineOnEnterClick(Sender: TObject);
  944. begin
  945.   SRLabel2.UnderlineOnEnter:=CBLblUnderlineOnEnter.Checked;
  946. end;
  947.  
  948. procedure TMainForm.CBLblUnderlinedClick(Sender: TObject);
  949. begin
  950.   if CBLblUnderlined.Checked then
  951.     SRLabel2.Font.Style:=[fsBold,fsUnderline]
  952.   else
  953.     SRLabel2.Font.Style:=[fsBold];
  954. end;
  955.  
  956. procedure TMainForm.RGLblAlignmentClick(Sender: TObject);
  957. begin
  958.   case RGLblAlignment.ItemIndex of
  959.     0 : SRLabel3.Alignment:=taLeftJustify;
  960.     1 : SRLabel3.Alignment:=taCenter;
  961.     2 : SRLabel3.Alignment:=taRightJustify;
  962.   end;
  963. end;
  964.  
  965. procedure TMainForm.RGLblLayoutClick(Sender: TObject);
  966. begin
  967.   case RGLblLayout.ItemIndex of
  968.     0 : SRLabel3.Layout:=tlTop;
  969.     1 : SRLabel3.Layout:=tlCenter;
  970.     2 : SRLabel3.Layout:=tlBottom;
  971.   end;
  972. end;
  973.  
  974. procedure TMainForm.SpinLabelWidthDownClick(Sender: TObject);
  975. begin
  976.   if SRLabel4.Width>80 then
  977.     SRLabel4.Width:=SRLabel4.Width-10;
  978. end;
  979.  
  980. procedure TMainForm.SpinLabelWidthUpClick(Sender: TObject);
  981. begin
  982.   if SRLabel4.Width<307 then
  983.     SRLabel4.Width:=SRLabel4.Width+10;
  984. end;
  985.  
  986. { TIniList }
  987.  
  988. procedure TMainForm.ShowIniListInMemo;
  989. var AStream : TMemoryStream;
  990. begin
  991.   AStream:=TMemoryStream.Create;
  992.   try
  993.     IniList.SaveToStream(AStream);
  994.     AStream.Position:=0;
  995.     ListBox.Items.LoadFromStream(AStream);
  996.   finally
  997.     AStream.Free;
  998.   end;
  999. end;
  1000.  
  1001. procedure TMainForm.UpdateButtonStates;
  1002. begin
  1003.   BtnEraseSection.Enabled:=(EditSection.Text<>'');
  1004.   BtnDeleteKey.Enabled:=(EditSection.Text<>'') and (EditKey.Text<>'');
  1005.   BtnWriteString.Enabled:=(EditSection.Text<>'') and (EditKey.Text<>'') and (EditValue.Text<>'');
  1006. end;
  1007.  
  1008. procedure TMainForm.BtnLoadFromFileClick(Sender: TObject);
  1009. begin
  1010.   if OpenDlg.Execute then begin
  1011.     IniList.IniFilename:=OpenDlg.Filename;
  1012.     IniList.LoadFromFile;
  1013.     LblIniFilename.Caption:=IniList.IniFilename;
  1014.     ShowIniListInMemo;
  1015.   end;
  1016. end;
  1017.  
  1018. procedure TMainForm.EditSeparatorChange(Sender: TObject);
  1019. begin
  1020.   SBSeparator.Enabled:=true;
  1021. end;
  1022.  
  1023. procedure TMainForm.EditSeparatorKeyPress(Sender: TObject; var Key: Char);
  1024. begin
  1025.   if (Key=#13) and (SBSeparator.Enabled) then
  1026.     SBSeparatorClick(nil);
  1027. end;
  1028.  
  1029. procedure TMainForm.SBSeparatorClick(Sender: TObject);
  1030. var Temp : string;
  1031. begin
  1032.   Temp:=EditSeparator.Text;
  1033.   if Temp<>'' then begin
  1034.     IniList.Separator:=Temp[1];
  1035.     ShowIniListInMemo;
  1036.   end;
  1037.   SBSeparator.Enabled:=false;
  1038. end;
  1039.  
  1040. procedure TMainForm.EditSectionChange(Sender: TObject);
  1041. begin
  1042.   LblDescrKeyCount.Caption:='KeyCount('+EditSection.Text+'): ';
  1043.   LblKeyCount.Left:=LblDescrKeyCount.Left+LblDescrKeyCount.Width;
  1044.   LblKeyCount.Caption:=IntToStr(IniList.KeyCount(EditSection.Text));
  1045.   UpdateButtonStates;
  1046. end;
  1047.  
  1048. procedure TMainForm.EditSectionKeyPress(Sender: TObject; var Key: Char);
  1049. begin
  1050.   if (Key=#13) and BtnWriteString.Enabled then
  1051.     BtnWriteStringClick(nil);
  1052. end;
  1053.  
  1054. procedure TMainForm.EditKeyChange(Sender: TObject);
  1055. begin
  1056.   UpdateButtonStates;
  1057. end;
  1058.  
  1059. procedure TMainForm.BtnEraseSectionClick(Sender: TObject);
  1060. begin
  1061.   IniList.EraseSection(EditSection.Text);
  1062.   ShowIniListInMemo;
  1063. end;
  1064.  
  1065. procedure TMainForm.BtnDeleteKeyClick(Sender: TObject);
  1066. begin
  1067.   IniList.DeleteKey(EditSection.Text, EditKey.Text);
  1068.   ShowIniListInMemo;
  1069. end;
  1070.  
  1071. procedure TMainForm.BtnWriteStringClick(Sender: TObject);
  1072. begin
  1073.   IniList.WriteString(EditSection.Text, EditKey.Text, EditValue.Text);
  1074.   ShowIniListInMemo;
  1075. end;
  1076.  
  1077. procedure TMainForm.ListBoxClick(Sender: TObject);
  1078. var ALine : string;
  1079.     P     : integer;
  1080. begin
  1081.   if ListBox.ItemIndex>=0 then begin
  1082.     ALine:=Trim(ListBox.Items[ListBox.ItemIndex]);
  1083.     if ALine<>'' then begin
  1084.       if ALine[1]='[' then
  1085.         EditSection.Text:=copy(ALine, 2, length(ALine)-2)
  1086.       else begin
  1087.         P:=Pos(EditSeparator.Text, ALine);
  1088.         if P>0 then begin
  1089.           EditKey.Text:=Copy(ALine, 1, P-1);
  1090.           EditValue.Text:=Copy(ALine, P+1, length(ALine)-P);
  1091.         end;
  1092.       end;
  1093.     end;
  1094.     EditSectionChange(nil);
  1095.   end;
  1096. end;
  1097.  
  1098. procedure TMainForm.CBOnSectionChangeClick(Sender: TObject);
  1099. begin
  1100.   if (Sender is TCheckBox) and TCheckBox(Sender).Checked then begin
  1101.     Counter:=Timeout;
  1102.     Timer.Enabled:=true;
  1103.   end;
  1104. end;
  1105.  
  1106. procedure TMainForm.IniListChange(Sender: TObject);
  1107. begin
  1108.   LblSectionCount.Caption:=IntToStr(IniList.SectionCount);
  1109. end;
  1110.  
  1111. procedure TMainForm.IniListKeyChange(Sender: TObject);
  1112. begin
  1113.   CBOnKeyChange.Checked:=true;
  1114. end;
  1115.  
  1116. procedure TMainForm.IniListSectionChange(Sender: TObject);
  1117. begin
  1118.   CBOnSectionChange.Checked:=true;
  1119. end;
  1120.  
  1121. procedure TMainForm.IniListValueChange(Sender: TObject);
  1122. begin
  1123.   CBOnValueChange.Checked:=true;
  1124. end;
  1125.  
  1126. procedure TMainForm.TimerTimer(Sender: TObject);
  1127. begin
  1128.   dec(Counter);
  1129.   if Counter<=0 then begin
  1130.     CBOnSectionChange.Checked:=false;
  1131.     CBOnKeyChange.Checked:=false;
  1132.     CBOnValueChange.Checked:=false;
  1133.     Timer.Enabled:=false;
  1134.   end;
  1135. end;
  1136.  
  1137. { Misc }
  1138.  
  1139. procedure TMainForm.FormCreate(Sender: TObject);
  1140. var i : byte;
  1141. begin
  1142.   TN.PageIndex:=TN.Pages.Count-1;
  1143.   ComboEnhFormat.ItemIndex:=4;
  1144.   ComboBoxBD.ItemIndex:=0;
  1145.   ComboBoxTP.ItemIndex:=1;
  1146.   ComboBoxSS.ItemIndex:=0;
  1147.   ComboBoxBevel.ItemIndex:=0;
  1148.   ComboBoxDecSeperator.ItemIndex:=0;
  1149.   SRWavePlayer.WaveName:=ExtractFilePath(Application.ExeName)+'Maus.wav';
  1150.   ComboStyle.ItemIndex:=ord(SRCheckBox.Style);
  1151.   for i:=0 to 15 do
  1152.     ComboBundesland.Items.Add(Bundeslaender[i]);
  1153.   ComboBundesland.ItemIndex:=ord(Kalender.Bundesland);
  1154.   for i:=1 to 7 do
  1155.     ComboStartTag.Items.Add(LongDayNames[i]);
  1156.   ComboStartTag.ItemIndex:=Kalender.StartOfWeek;
  1157.   ComboDrawStyle.ItemIndex:=ord(Kalender.DrawStyle);
  1158.   Kalender.Date:=Date;
  1159.   KalenderChange(nil);
  1160.   SRLabel3.Caption:='SRLabel3:'+#13#10+'Beispieltext'+#13#10+'mit Zeilenumbrⁿchen';
  1161.   PanelVersion.Caption:='Version '+GetPackageVersionNr;
  1162.   LblInfo.Caption:='(C)opyright 2001'+#13#10#13#10+
  1163.                    'Die Komponenten sind Public Domain'+#13#10+
  1164.                    'das Urheberrecht liegt aber beim Autor.';
  1165. end;
  1166.  
  1167. end.
  1168.