mirror of
http://gitlab.expertsoft.com.ua/git/expertcad
synced 2026-01-11 17:25:39 +02:00
567 lines
18 KiB
ObjectPascal
567 lines
18 KiB
ObjectPascal
unit U_MakeCurrency;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, U_LNG, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, cxLookAndFeelPainters, StdCtrls, cxButtons, cxMaskEdit,
|
|
cxSpinEdit, cxControls, cxContainer, cxEdit, cxTextEdit, cxCurrencyEdit, U_BaseCommon, U_BaseConstants,
|
|
RzEdit, Mask, RzButton, ExtCtrls, RzPanel, RzSpnEdt, RzRadChk, siComp,
|
|
siLngLnk, RzTabs, kbmMemTable;
|
|
|
|
type
|
|
TF_MakeCurrency = class(TForm)
|
|
RzGroupBox1: TRzGroupBox;
|
|
Label1: TLabel;
|
|
Label2: TLabel;
|
|
Label3: TLabel;
|
|
edName: TRzEdit;
|
|
edNameBrief: TRzEdit;
|
|
RzGroupBox2: TRzGroupBox;
|
|
btOk: TRzBitBtn;
|
|
btCancel: TRzBitBtn;
|
|
Label4: TLabel;
|
|
seKolvo: TRzSpinEdit;
|
|
neRatio: TRzNumericEdit;
|
|
lng_Forms: TsiLangLinked;
|
|
gbMainKind: TRzGroupBox;
|
|
rbSimple: TRzRadioButton;
|
|
rbMain: TRzRadioButton;
|
|
rbSecond: TRzRadioButton;
|
|
cbIsCountry: TRzCheckBox;
|
|
pnInfo: TRzPanel;
|
|
procedure FormShow(Sender: TObject);
|
|
procedure FormHide(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure neRatioChange(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
GForm: TForm;
|
|
FChangedRatio: Boolean;
|
|
public
|
|
{ Public declarations }
|
|
GMakeEdit : TMakeEdit;
|
|
GID: Integer;
|
|
Constructor Create(AOwner: TComponent; AForm: TForm);
|
|
Destructor Destroy; override;
|
|
|
|
function Execute(AMakeEdit: TMakeEdit; AMemTable, AMTNorms, AMTResources: TkbmMemTable): Boolean;
|
|
//23.08.2012 function ExecuteForObject(AMakeEdit: TMakeEdit; AObjectCurrency: PCurrency): Boolean;
|
|
end;
|
|
{
|
|
var
|
|
F_MakeCurrency: TF_MakeCurrency; }
|
|
|
|
implementation
|
|
Uses Unit_DM_SCS, U_MAIN, DB, U_Common;
|
|
{$R *.dfm}
|
|
|
|
procedure TF_MakeCurrency.FormShow(Sender: TObject);
|
|
begin
|
|
if TF_Main(GForm).GDBMode <> bkNormBase then
|
|
begin
|
|
pnInfo.Visible := false;
|
|
Self.AutoSize := true;
|
|
Self.AutoSize := false;
|
|
end;
|
|
|
|
{case GParam of
|
|
tMake: begin
|
|
Caption := 'Ñîçäàíèå âàëþòû';
|
|
Edit_Name.Text := '';
|
|
Edit_Name_Brief.Text := '';
|
|
CurrencyEdit_Ratio.Value := 0.1;
|
|
end;
|
|
tEdit: with TF_Main(GForm).DM.DataSet_CURRENCY do
|
|
begin
|
|
Caption := 'Ðåäàêòèðîâàíèå âàëþòû';
|
|
Edit_Name.Text := FN('Name').AsString;
|
|
Edit_Name_Brief.Text := FN('Name_Brief').AsString;
|
|
CurrencyEdit_Ratio.Value := RoundX(FN('Ratio').AsFloat, 2);
|
|
end;
|
|
end;
|
|
}
|
|
edName.SetFocus;
|
|
end;
|
|
|
|
procedure TF_MakeCurrency.FormHide(Sender: TObject);
|
|
begin
|
|
// ##### Ïðè Ñëåäóþùåì âsçîâå, Îòîáðàæàòü ýòó ôîðìó â ñðåäèíå Ãëàâíîé #####
|
|
//F_MakeCurrency.Position := poMainFormCenter;
|
|
end;
|
|
|
|
constructor TF_MakeCurrency.Create(AOwner: TComponent; AForm: TForm);
|
|
begin
|
|
GForm := AForm;
|
|
inherited Create(AOwner);
|
|
end;
|
|
|
|
destructor TF_MakeCurrency.Destroy;
|
|
begin
|
|
inherited;
|
|
end;
|
|
|
|
function TF_MakeCurrency.Execute(AMakeEdit: TMakeEdit; AMemTable, AMTNorms, AMTResources: TkbmMemTable): Boolean;
|
|
var
|
|
OldCurrency: TCurrency;
|
|
NewCurrency: TCurrency;
|
|
CurrCurrency: TCurrency;
|
|
|
|
OldCurrencyM: TCurrency;
|
|
CurrencyS: TCurrency;
|
|
ChangedCurrencyM: Boolean;
|
|
PriceValue: Double;
|
|
|
|
//BookmarkStr: String;
|
|
BookmarkStr: TBookMark;
|
|
PriceFields: TStringList;
|
|
//Tolik
|
|
NewRatio: Double;
|
|
begin
|
|
Result := false;
|
|
Caption := '';
|
|
GID := -1;
|
|
GMakeEdit := AMakeEdit;
|
|
|
|
ZeroMemory(@OldCurrency, SizeOf(TCurrency));
|
|
ZeroMemory(@OldCurrencyM, SizeOf(TCurrency));
|
|
ZeroMemory(@NewCurrency, SizeOf(TCurrency));
|
|
FChangedRatio := false;
|
|
|
|
cbIsCountry.Enabled := true;
|
|
|
|
rbSimple.Enabled := true;
|
|
rbSimple.Checked := false;
|
|
rbMain.Enabled := true;
|
|
rbMain.Checked := false;
|
|
rbSecond.Enabled := true;
|
|
rbSecond.Checked := false;
|
|
|
|
//gbMainKind.Visible := (AMemTable <> nil);
|
|
|
|
case AMakeEdit of
|
|
meMake:
|
|
begin
|
|
Caption := cMakeCurrency_Msg1_1;
|
|
edName.Text := '';
|
|
edNameBrief.Text := '';
|
|
seKolvo.Value := 100;
|
|
neRatio.Value := 0.1;
|
|
cbIsCountry.Checked := false;
|
|
end;
|
|
meEdit:
|
|
begin
|
|
Caption := cMakeCurrency_Msg1_2;
|
|
if AMemTable <> nil then
|
|
OldCurrency := GetCurrencyFromMemTable(AMemTable)
|
|
else
|
|
OldCurrency := GetCurrencyFromDataSet(TF_Main(GForm).DM.DataSet_CURRENCY);
|
|
|
|
edName.Text := OldCurrency.Name;
|
|
edNameBrief.Text := OldCurrency.NameBrief;
|
|
seKolvo.Value := OldCurrency.Kolvo;
|
|
neRatio.OnChange := nil;
|
|
try
|
|
neRatio.Value := Round3(OldCurrency.Ratio);
|
|
finally
|
|
neRatio.OnChange := neRatioChange;
|
|
// Tolik 12/06/2018 --
|
|
if neRatio.Value = 0 then
|
|
begin
|
|
neRatio.Font.Color := clRed;
|
|
neRatio.Refresh;
|
|
end
|
|
else
|
|
begin
|
|
neRatio.Font.Color := clBlack;
|
|
neRatio.Refresh;
|
|
end;
|
|
//
|
|
end;
|
|
if OldCurrency.Main = ctSimple then
|
|
rbSimple.Checked := true
|
|
else
|
|
begin
|
|
rbSimple.Enabled := false;
|
|
if OldCurrency.Main = ctMain then
|
|
rbMain.Checked := true
|
|
else
|
|
if OldCurrency.Main = ctSecond then
|
|
rbSecond.Checked := true;
|
|
end;
|
|
cbIsCountry.Checked := IntToBool(OldCurrency.IsCountry);
|
|
|
|
//*** Çàïðåòèòü ñíÿòèå âàëþòû ñòðàíû, åñëè îíà çäåñü óñòàíîâëåíà
|
|
cbIsCountry.Enabled := Not cbIsCountry.Checked;
|
|
end;
|
|
end;
|
|
|
|
if ShowModal = mrOk then
|
|
begin
|
|
ChangedCurrencyM := false;
|
|
NewCurrency := OldCurrency;
|
|
NewCurrency.Kolvo := Round(seKolvo.Value);
|
|
if FChangedRatio then
|
|
NewCurrency.Ratio := neRatio.Value
|
|
else
|
|
NewCurrency.Ratio := OldCurrency.Ratio;
|
|
|
|
NewCurrency.Main := -1;
|
|
if rbSimple.Checked then
|
|
NewCurrency.Main := ctSimple
|
|
else
|
|
if rbMain.Checked then
|
|
NewCurrency.Main := ctMain
|
|
else
|
|
if rbSecond.Checked then
|
|
NewCurrency.Main := ctSecond;
|
|
//*** Èçìåíèëàñü ãëàâíàÿ âàëþòà
|
|
if (OldCurrency.Main <> -1) and (NewCurrency.Main <> -1) and (NewCurrency.Main <> OldCurrency.Main) then
|
|
ChangedCurrencyM := true;
|
|
|
|
|
|
if AMemTable <> nil then
|
|
begin
|
|
AMemTable.DisableControls;
|
|
//BookmarkStr := AMemTable.Bookmark;
|
|
BookmarkStr := AMemTable.getBookmark;
|
|
try
|
|
//*** Ñáðîñèòü ôëàã IsCountry íà âñåõ çàïèñÿõ
|
|
//CurrentID := 0;
|
|
if cbIsCountry.Checked then
|
|
begin
|
|
AMemTable.First;
|
|
while Not AMemTable.Eof do
|
|
begin
|
|
if AMemTable.FieldByName(fnIsCountry).AsInteger = biTrue then
|
|
begin
|
|
AMemTable.Edit;
|
|
AMemTable.FieldByName(fnIsCountry).AsInteger := biFalse;
|
|
AMemTable.FieldByName(fnIsModified).AsBoolean := true;
|
|
AMemTable.Post;
|
|
end;
|
|
AMemTable.Next;
|
|
end;
|
|
end;
|
|
|
|
//*** Íàéòè çàïèñü ñî çíà÷åíèåì NewCurrency.Main, è óñòàíîâèòü òóäà OldCurrency.Main
|
|
if ChangedCurrencyM then
|
|
begin
|
|
if AMemTable.Locate(fnMain, NewCurrency.Main, []) then
|
|
begin
|
|
OldCurrencyM := GetCurrencyFromMemTable(AMemTable);
|
|
WriteToMemTable(AMemTable, fnMain, OldCurrency.Main);
|
|
end;
|
|
end;
|
|
finally
|
|
//AMemTable.Bookmark := BookmarkStr;
|
|
if BookmarkStr <> nil then
|
|
begin
|
|
AMemTable.GotoBookmark(BookmarkStr);
|
|
AMemTable.FreeBookmark(BookmarkStr);
|
|
end;
|
|
AMemTable.EnableControls;
|
|
end;
|
|
|
|
case AMakeEdit of
|
|
meMake:
|
|
AMemTable.Append;
|
|
meEdit:
|
|
AMemTable.Edit;
|
|
end;
|
|
AMemTable.FieldByName(fnName).AsString := edName.Text;
|
|
AMemTable.FieldByName(fnNameBrief).AsString := edNameBrief.Text;
|
|
AMemTable.FieldByName(fnKolvo).AsInteger := NewCurrency.Kolvo;
|
|
AMemTable.FieldByName(fnRatio).AsFloat := NewCurrency.Ratio;
|
|
AMemTable.FieldByName(fnMain).AsInteger := NewCurrency.Main;
|
|
AMemTable.FieldByName(fnIsCountry).AsInteger := BoolToInt(cbIsCountry.Checked);
|
|
AMemTable.Post;
|
|
|
|
//*** Èçìåíèòü êóðñû âàäþò
|
|
if ChangedCurrencyM and (OldCurrencyM.GUID <> '') then
|
|
begin
|
|
// Tolik
|
|
// âàëþòà ñòàíîâèòñÿ ãëàâíîé
|
|
if NewCurrency.Main = 1 then
|
|
NewRatio := NewCurrency.Ratio
|
|
else
|
|
begin
|
|
if OldCurrency.Main = 0 then
|
|
NewRatio := NewCurrency.Ratio
|
|
else
|
|
NewRatio := OldCurrencyM.Ratio;
|
|
end;
|
|
//
|
|
AMemTable.DisableControls;
|
|
//BookmarkStr := AMemTable.Bookmark;
|
|
BookmarkStr := AMemTable.getBookmark;
|
|
try
|
|
AMemTable.First;
|
|
while Not AMemTable.Eof do
|
|
begin
|
|
CurrCurrency := GetCurrencyFromMemTable(AMemTable);
|
|
AMemTable.Edit;
|
|
// Tolik
|
|
// Åñëè íå ïîìåíÿëàñü âòîðîñòåïåííàÿ âàëþòà íà ïðîåêòå, òî áóäóò èçìåíåíèÿ
|
|
if ((NewCurrency.Main = 2) and (OldCurrency.Main = 0)) then
|
|
begin
|
|
// âòîðîñòåïåííàÿ âàëþòà íå èçìåíèò êóðñà, òàê êàê ñîîòíîøåíèÿ âàëþò, ïî èäåå,
|
|
// óæå âûñòàâëåíû, ïîýòîìó ïåðåñ÷åò íå âåäåì, âåäü ïðàêòè÷åñêè íè÷åãî íå èçìåíèòñÿ,
|
|
// ãëàâíàÿ âàëþòà åñòü
|
|
end
|
|
else
|
|
// ïåðåñ÷åò
|
|
// Tolik -- 12/06/2018 -- äëÿ îñîáî "óìíûõ", êîòîðûå ëþáÿò ïîâûåáûâàòüñÿ è ñòàâÿò íóëè
|
|
if (CurrCurrency.Kolvo * NewRatio) <> 0 then
|
|
//
|
|
AMemTable.FieldByName(fnRatio).AsFloat := Roundx(CurrCurrency.Kolvo*((NewCurrency.Kolvo*CurrCurrency.Ratio)/(CurrCurrency.Kolvo * NewRatio)), valEpsilonCurrency);
|
|
// AMemTable.FieldByName(fnRatio).AsFloat := GetPriceAfterChangeCurrency(CurrCurrency.Ratio, NewCurrency, OldCurrencyM, valEpsilonCurrency);
|
|
// èñïîëüçùîâàíèå ôóíêöèè ïðîñòî çàêîììåíòèë, ÷òîá åå íå ëîìàòü, òàê êàê èñïîëüçóåòñÿ íåîäíîêðàòíî, íóæíî ïåðåñìîòðåòü
|
|
// ñèòóàöèè âûçîâà äî òîãî, êàê ïîëîìàòü
|
|
AMemTable.Post;
|
|
AMemTable.Next;
|
|
end;
|
|
finally
|
|
//AMemTable.Bookmark := BookmarkStr;
|
|
if BookmarkStr <> nil then
|
|
begin
|
|
AMemTable.GotoBookmark(BookmarkStr);
|
|
AMemTable.FreeBookmark(BookmarkStr);
|
|
end;
|
|
AMemTable.EnableControls;
|
|
end;
|
|
|
|
//*** Ïîìåíÿòü öåíû ñïðàâî÷íûõ ðåñóðñîâ
|
|
////24.09.2010
|
|
// if AMTResources <> nil then
|
|
// begin
|
|
// BookmarkStr := AMTResources.Bookmark;
|
|
// AMTResources.DisableControls;
|
|
// try
|
|
// AMTResources.First;
|
|
// while Not AMTResources.Eof do
|
|
// begin
|
|
// PriceValue := AMTResources.FieldByName(fnPrice).AsFloat;
|
|
// if PriceValue > 0 then
|
|
// begin
|
|
// AMTResources.Edit;
|
|
// AMTResources.FieldByName(fnPrice).AsFloat := GetPriceAfterChangeCurrency(PriceValue, OldCurrencyM, NewCurrency, valEpsilonCurrency);
|
|
// AMTResources.Post;
|
|
// end;
|
|
// AMTResources.Next;
|
|
// end;
|
|
// AMTResources.Bookmark := BookmarkStr;
|
|
// finally
|
|
// AMTResources.EnableControls;
|
|
// end;
|
|
// end;
|
|
|
|
PriceFields := TStringList.Create;
|
|
PriceFields.Add(fnPrice);
|
|
//*** Ïîìåíÿòü öåíû ñïðàâî÷íûõ íîðì
|
|
DefineMTPriceFields(AMTNorms, PriceFields, OldCurrencyM, NewCurrency);
|
|
//*** Ïîìåíÿòü öåíû ñïðàâî÷íûõ ðåñóðñîâ
|
|
DefineMTPriceFields(AMTResources, PriceFields, OldCurrencyM, NewCurrency);
|
|
PriceFields.Free;
|
|
end;
|
|
Result := true;
|
|
end
|
|
else
|
|
with TF_Main(GForm).DM do
|
|
begin
|
|
//*** Ñáðîñèòü ôëàã IsCountry íà âñåõ çàïèñÿõ
|
|
//CurrentID := 0;
|
|
if cbIsCountry.Checked then
|
|
begin
|
|
SetSQLToQuery(scsQOperat, 'UPDATE CURRENCY SET '+fnIsCountry+' = '''+IntToStr(biFalse)+'''');
|
|
DataSet_CURRENCY.FullRefresh;
|
|
end;
|
|
|
|
case AMakeEdit of
|
|
meMake:
|
|
DataSet_CURRENCY.Append;
|
|
meEdit:
|
|
DataSet_CURRENCY.Edit;
|
|
end;
|
|
DataSet_CURRENCY.FN(fnName).AsString := edName.Text;
|
|
DataSet_CURRENCY.FN(fnNameBrief).AsString := edNameBrief.Text;
|
|
DataSet_CURRENCY.FN(fnKolvo).AsInteger := NewCurrency.Kolvo;
|
|
DataSet_CURRENCY.FN(fnRatio).AsFloat := NewCurrency.Ratio;
|
|
//DataSet_CURRENCY.FN(fnMain).AsInteger := NewCurrency.Main;
|
|
DataSet_CURRENCY.FN(fnIsCountry).AsInteger := BoolToInt(cbIsCountry.Checked);
|
|
DataSet_CURRENCY.Post;
|
|
|
|
if AMakeEdit = meMake then
|
|
GID := DataSet_CURRENCY.FN(fnID).AsInteger;
|
|
|
|
// Ñìåíà ãëàâíîé/âòîðîé âàëþòû ÍÁ
|
|
if ChangedCurrencyM then
|
|
begin
|
|
BeginProgress;
|
|
try
|
|
OldCurrencyM := U_BaseCommon.GetCurrencyByType(ctMain, TF_Main(GForm).DM.Query_Select);
|
|
CurrencyS := U_BaseCommon.GetCurrencyByType(ctSecond, TF_Main(GForm).DM.Query_Select);
|
|
// Åñëè äàíàÿ âàëþòà ñòàëà ãëàâíîé
|
|
if NewCurrency.Main = ctMain then
|
|
begin
|
|
//25.10.2011 if OldCurrencyM.GUID <> '' then
|
|
begin
|
|
if OldCurrencyM.Ratio <> 0 then
|
|
ChengeCurrencyRatiosWithPrices(OldCurrencyM, NewCurrency, CurrencyS, Query_Select, Query_Operat);
|
|
UpdateTableField(tnCurrency, fnMain, fnID, NewCurrency.ID, ctMain, qmPhisical);
|
|
if (NewCurrency.ID = CurrencyS.ID) and (OldCurrencyM.ID <> 0) then
|
|
UpdateTableField(tnCurrency, fnMain, fnID, OldCurrencyM.ID, ctSecond, qmPhisical);
|
|
end;
|
|
end
|
|
// Åñëè äàíàÿ âàëþòà áûëà ãëàâíîé è ñòàëà íå ãëàâíîé
|
|
else if (OldCurrency.Main = ctMain) and (NewCurrency.Main <> ctMain) then
|
|
begin
|
|
ChengeCurrencyRatiosWithPrices(OldCurrencyM, CurrencyS, OldCurrency, Query_Select, Query_Operat);
|
|
end
|
|
// Åñëè äàíàÿ âàëþòà ñòàëà âòîðîé
|
|
else if NewCurrency.Main = ctSecond then
|
|
begin
|
|
//*** Î÷èñòèòü ïîëå ñ âòîðîé âàëþòîé
|
|
SetSQLToFIBQuery(TF_Main(GForm).DM.Query_Operat, GetSQLByParams(qtUpdate, tnCurrency,
|
|
fnMain+' = '''+IntTostr(ctSecond)+'''', nil, fnMain), false);
|
|
TF_Main(GForm).DM.Query_Operat.ParamByName(fnMain).AsInteger := ctSimple;
|
|
TF_Main(GForm).DM.Query_Operat.ExecQuery;
|
|
UpdateTableField(tnCurrency, fnMain, fnID, NewCurrency.ID, ctSecond, qmPhisical);
|
|
end;
|
|
TF_Main(GForm).GCurrencyM := U_BaseCommon.GetCurrencyByType(ctMain, TF_Main(GForm).DM.Query_Select);
|
|
TF_Main(GForm).GCurrencyS := U_BaseCommon.GetCurrencyByType(ctSecond, TF_Main(GForm).DM.Query_Select);
|
|
TF_Main(GForm).SetCurrencyBriefToControls;
|
|
TF_Main(GForm).Tree_Catalog.OnChange(TF_Main(GForm).Tree_Catalog, TF_Main(GForm).Tree_Catalog.Selected);
|
|
|
|
DataSet_CURRENCY.ReopenLocate(fnID);
|
|
finally
|
|
EndProgress;
|
|
//TF_Main(GForm).RefreshNode(true); // Âíòóðè BeginProgress/EndProgress ðàáîòàòü íå áóäåò
|
|
end;
|
|
end;
|
|
Result := true;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
{//23.08.2012 - Ïîêà íèãäå íå èñïîëüçóåòñÿ
|
|
function TF_MakeCurrency.ExecuteForObject(AMakeEdit: TMakeEdit; AObjectCurrency: PCurrency): Boolean;
|
|
begin
|
|
Result := false;
|
|
Caption := '';
|
|
GID := -1;
|
|
GMakeEdit := AMakeEdit;
|
|
|
|
rbSimple.Enabled := true;
|
|
rbSimple.Checked := false;
|
|
rbMain.Enabled := true;
|
|
rbMain.Checked := false;
|
|
rbSecond.Enabled := true;
|
|
rbSecond.Checked := false;
|
|
case AMakeEdit of
|
|
meMake:
|
|
begin
|
|
Caption := cMakeCurrency_Msg1_1;
|
|
edName.Text := '';
|
|
edNameBrief.Text := '';
|
|
seKolvo.Value := 100;
|
|
neRatio.Value := 0.1;
|
|
cbIsCountry.Checked := false;
|
|
rbSimple.Checked := true;
|
|
end;
|
|
meEdit:
|
|
begin
|
|
Caption := cMakeCurrency_Msg1_2;
|
|
edName.Text := AObjectCurrency.Name;
|
|
edNameBrief.Text := AObjectCurrency.NameBrief;
|
|
seKolvo.Value := AObjectCurrency.Kolvo;
|
|
neRatio.Value := Round3(AObjectCurrency.Ratio);
|
|
if AObjectCurrency.Main = ctSimple then
|
|
rbSimple.Checked := true
|
|
else
|
|
if AObjectCurrency.Main = ctMain then
|
|
begin
|
|
rbMain.Checked := true;
|
|
rbSimple.Enabled := false;
|
|
rbSecond.Enabled := false;
|
|
end
|
|
else
|
|
if AObjectCurrency.Main = ctSecond then
|
|
begin
|
|
rbSecond.Checked := true;
|
|
rbMain.Enabled := false;
|
|
rbSimple.Enabled := false;
|
|
end;
|
|
|
|
neRatio.OnChange := nil;
|
|
try
|
|
neRatio.Value := Round3(AObjectCurrency.Ratio);
|
|
finally
|
|
neRatio.OnChange := neRatioChange;
|
|
end;
|
|
if AObjectCurrency.Main = ctSimple then
|
|
rbSimple.Checked := true
|
|
else
|
|
if AObjectCurrency.Main = ctMain then
|
|
begin
|
|
rbMain.Checked := true;
|
|
rbSimple.Enabled := false;
|
|
//rbSecond.Enabled := false;
|
|
end
|
|
else
|
|
if AObjectCurrency.Main = ctSecond then
|
|
begin
|
|
rbSecond.Checked := true;
|
|
//rbMain.Enabled := false;
|
|
rbSimple.Enabled := false;
|
|
end;
|
|
|
|
//cbIsCountry.Checked := (TF_Main(GForm).DM.DataSet_CURRENCY.FN(fnIsCountry).AsInteger = biTrue);
|
|
end;
|
|
end;
|
|
|
|
if ShowModal = mrOk then
|
|
begin
|
|
AObjectCurrency.Name := edName.Text;
|
|
AObjectCurrency.NameBrief := edNameBrief.Text;
|
|
AObjectCurrency.Kolvo := Trunc(seKolvo.Value);
|
|
AObjectCurrency.Ratio := Round3(neRatio.Value);
|
|
if rbSimple.Checked then
|
|
AObjectCurrency.Main := ctSimple
|
|
else
|
|
if rbMain.Checked then
|
|
AObjectCurrency.Main := ctMain
|
|
else
|
|
if rbSecond.Checked then
|
|
AObjectCurrency.Main := ctSecond;
|
|
|
|
Result := true;
|
|
end;
|
|
end;}
|
|
|
|
procedure TF_MakeCurrency.FormCreate(Sender: TObject);
|
|
begin
|
|
// Tolik 01/11/2019 --
|
|
seKolvo.Max := 10000000000;
|
|
//
|
|
neRatio.DisplayFormat := GetDisplayFormatForFloat;
|
|
end;
|
|
|
|
procedure TF_MakeCurrency.neRatioChange(Sender: TObject);
|
|
begin
|
|
FChangedRatio := true;
|
|
// Tolik 12/06/2018 - -
|
|
if neRatio.Value = 0 then
|
|
begin
|
|
neRatio.Font.Color := clRed;
|
|
neRatio.Refresh;
|
|
end
|
|
else
|
|
begin
|
|
neRatio.Font.Color := clBlack;
|
|
neRatio.Refresh;
|
|
end;
|
|
end;
|
|
|
|
end.
|