From 735af91a7c4437aaded4937115014cb4ebeec56e Mon Sep 17 00:00:00 2001 From: funa <1559646174@qq.com> Date: Wed, 21 Oct 2026 17:26:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=80=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- E03梭织å�¯å¸ƒæ£€éªŒ/U_TatClothInspList.dfm | 1 - E03梭织å�¯å¸ƒæ£€éªŒ/U_TatInspEdit.dfm | 5 ++- E03梭织å�¯å¸ƒæ£€éªŒ/U_TatInspEdit.pas | 58 +++++++++++++------------- E03梭织å�¯å¸ƒæ£€éªŒ/U_TatMachInsp.dfm | 6 +-- E03梭织å�¯å¸ƒæ£€éªŒ/U_TatMachInsp.pas | 14 +++---- 5 files changed, 41 insertions(+), 43 deletions(-) diff --git a/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatClothInspList.dfm b/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatClothInspList.dfm index 0afa937..0ed8449 100644 --- a/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatClothInspList.dfm +++ b/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatClothInspList.dfm @@ -127,7 +127,6 @@ inherited frmTatClothInspList: TfrmTatClothInspList ParentFont = False PopupMenu = PM_1 TabOrder = 2 - ExplicitTop = 133 object Tv1: TcxGridDBTableView OnMouseUp = Tv1MouseUp Navigator.Buttons.CustomButtons = <> diff --git a/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatInspEdit.dfm b/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatInspEdit.dfm index 1e0df19..153e457 100644 --- a/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatInspEdit.dfm +++ b/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatInspEdit.dfm @@ -124,6 +124,7 @@ object frmTatInspEdit: TfrmTatInspEdit Width = 24 Height = 12 Caption = #27611#37325 + Visible = False end object Label6: TLabel Left = 343 @@ -159,6 +160,7 @@ object frmTatInspEdit: TfrmTatInspEdit Width = 12 Height = 12 Caption = 'Kg' + Visible = False end object Label12: TLabel Left = 459 @@ -222,7 +224,7 @@ object frmTatInspEdit: TfrmTatInspEdit Width = 54 Height = 20 TabOrder = 4 - OnChange = GrossWeightChange + Visible = False end object Meter: TEdit Left = 373 @@ -257,6 +259,7 @@ object frmTatInspEdit: TfrmTatInspEdit Width = 54 Height = 20 TabOrder = 5 + OnChange = NetWeightChange end object PieceNo: TEdit Left = 261 diff --git a/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatInspEdit.pas b/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatInspEdit.pas index 8bd4766..d29bbcb 100644 --- a/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatInspEdit.pas +++ b/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatInspEdit.pas @@ -72,15 +72,16 @@ type procedure ToolButton4Click(Sender: TObject); procedure cxGridDBColumn3PropertiesEditValueChanged(Sender: TObject); procedure TV1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); - procedure GrossWeightChange(Sender: TObject); + procedure NetWeightChange(Sender: TObject); private { Private declarations } FGramW: Double; FAddW: Double; //¼ÓÔØÊ±µÄ¼ÓÖØ¿ìÕÕ£¬±£´æÊ±´Ó½çÃæÃ«¾»ÖØÖÐ¿Û»Ø + FAddL: Double; //¼ÓÔØÊ±µÄ¼Ó³¤¿ìÕÕ£¬±£´æÊ±´Ó½çÃæÃ×ÊýÖÐ¿Û»Ø + FSyncing: Boolean; //¼ÓÔØ¸³ÖµÊ±·ÀÖ¹OnChangeÖØÈë function SaveData(): Boolean; procedure GetJYXK(FJYIP: string); procedure UpdateCalcMeter(); - function RoundUpToHalf(AValue: Double): Double; //decimal 0.1-0.4 -> 0.5, 0.6-0.9 -> next integer public { Public declarations } end; @@ -114,15 +115,23 @@ begin end; PieceNo.Text := Trim(ADOTmp.fieldbyname('PieceNo').AsString); - //gram weight snapshot first, GrossWeight OnChange recalcs CalcMeter with it + //gram weight snapshot first, NetWeight OnChange recalcs CalcMeter with it FGramW := StrToFloatdef(Trim(ADOTmp.fieldbyname('C_GramWeight').AsString), 0); //¼ÓÖØ¿ìÕÕ£º½çÃæÏÔʾº¬¼ÓÖØµÄë¾»ÖØ£¬±£´æÊ±Ôٿۻأ¬±£Ö¤Êý¾Ý¿â»ù´¡×ֶοھ¶²»±ä FAddW := StrToFloatdef(Trim(ADOTmp.fieldbyname('add_weight').AsString), 0); - - GrossWeight.Text := FormatFloat('0.##', StrToFloatdef(Trim(ADOTmp.fieldbyname('GrossWeight').AsString), 0) + FAddW); - NetWeight.Text := FormatFloat('0.##', StrToFloatdef(Trim(ADOTmp.fieldbyname('NetWeight').AsString), 0) + FAddW); - Meter.Text := Trim(ADOTmp.fieldbyname('Meter').AsString); - Yardage.Text := Trim(ADOTmp.fieldbyname('Yardage').AsString); + //¼Ó³¤¿ìÕÕ£º½çÃæÃ×Êýº¬¼Ó³¤ÏÔʾ£¬±£´æÊ±Ôٿۻأ¬Óë¼ìÑéÒ³ Meter+add_length ¿Ú¾¶Ò»Ö + FAddL := StrToFloatdef(Trim(ADOTmp.fieldbyname('add_length').AsString), 0); + FSyncing := True; + try + GrossWeight.Text := FormatFloat('0.##', StrToFloatdef(Trim(ADOTmp.fieldbyname('GrossWeight').AsString), 0) + FAddW); + NetWeight.Text := FormatFloat('0.##', StrToFloatdef(Trim(ADOTmp.fieldbyname('NetWeight').AsString), 0) + FAddW); + //Ã«ÖØ¿òÒÑÒþ²Ø£ºÃ«ÖØÓë¾»ÖØ±£³ÖÒ»Ö£¬¾»ÖØÎªÎ¨Ò»Â¼Èëλ + GrossWeight.Text := NetWeight.Text; + Meter.Text := FormatFloat('0.##', StrToFloatdef(Trim(ADOTmp.fieldbyname('Meter').AsString), 0) + FAddL); + Yardage.Text := Trim(ADOTmp.fieldbyname('Yardage').AsString); + finally + FSyncing := False; + end; UpdateCalcMeter(); CodeTableLen.Text := Trim(ADOTmp.fieldbyname('code_table_length').AsString); @@ -348,7 +357,7 @@ begin sql.Add(' PieceNo=''' + Trim(PieceNo.Text) + ''' '); sql.Add(',GrossWeight=' + FloatToStr(Strtofloatdef(GrossWeight.Text, 0) - FAddW)); sql.Add(',NetWeight=' + FloatToStr(Strtofloatdef(NetWeight.Text, 0) - FAddW)); - sql.Add(',Meter=' + FloatToStr(Strtofloatdef(Meter.Text, 0))); + sql.Add(',Meter=' + FloatToStr(Strtofloatdef(Meter.Text, 0) - FAddL)); sql.Add(',Yardage=' + FloatToStr(Strtofloatdef(Yardage.Text, 0))); sql.Add(',code_table_length=' + FloatToStr(Strtofloatdef(CodeTableLen.Text, 0))); @@ -414,34 +423,25 @@ end; procedure TfrmTatInspEdit.UpdateCalcMeter(); var - MGrossW: Double; + MNetW: Double; begin - //CalcMeter = (GrossWeightº¬¼ÓÖØ) / C_GramWeight£¬ÏÈÈ¡1λСÊýÔÙ°´0.05/0.5¹æÔò½øÎ»(ÓëTV3µÄCM2Ò»ÖÂ) - MGrossW := StrToFloatdef(Trim(GrossWeight.Text), 0); + //CalcMeter = (¾»Öغ¬¼ÓÖØ) / ¿ËÖØ£¬ËÄÉáÎåÈë±£Áô1λСÊý£¬²»°´0.05/0.5¹æÔò½øÎ» + //(Óë¼ìÑéÒ³ CalcInputLenByWeightKZ µÄ InputLen = RoundFloat((¾»ÖØ+¼ÓÖØ)/¿ËÖØ,1) Ò»ÖÂ) + if Trim(NetWeight.Text) = '' then + Exit; + MNetW := StrToFloatdef(Trim(NetWeight.Text), 0); if FGramW > 0 then - CalcMeter.Text := FormatFloat('0.#', RoundUpToHalf(RoundFloat(MGrossW / FGramW, 1))) + CalcMeter.Text := FormatFloat('0.#', RoundFloat(MNetW / FGramW, 1)) else CalcMeter.Text := ''; end; -function TfrmTatInspEdit.RoundUpToHalf(AValue: Double): Double; -var - MIntPart: Double; +procedure TfrmTatInspEdit.NetWeightChange(Sender: TObject); begin - Result := AValue; - if AValue <= 0 then + //Ã«ÖØ¿òÒÑÒþ²Ø£º¾»ÖØÎªÎ¨Ò»Â¼Èëλ£¬Ã«ÖØÓë¾»ÖØ±£³ÖÒ»ÖÂ(Ã«ÖØÎÞOnChange£¬¸³Öµ²»»áµÝ¹é) + if FSyncing then Exit; - MIntPart := Int(AValue); - if Frac(AValue) < 0.05 then - Result := MIntPart //integer, keep as is - else if Frac(AValue) <= 0.5 then - Result := MIntPart + 0.5 //decimal 0.1-0.4 -> 0.5 - else - Result := MIntPart + 1; //decimal 0.6-0.9 -> next integer -end; - -procedure TfrmTatInspEdit.GrossWeightChange(Sender: TObject); -begin + GrossWeight.Text := NetWeight.Text; UpdateCalcMeter(); end; diff --git a/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatMachInsp.dfm b/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatMachInsp.dfm index 4c97819..c398fa4 100644 --- a/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatMachInsp.dfm +++ b/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatMachInsp.dfm @@ -396,8 +396,8 @@ Font.Name = #23435#20307 Font.Style = [fsBold] ParentFont = False + ReadOnly = True TabOrder = 0 - OnClick = CIFBegClick OnKeyPress = MJstr3KeyPress end object BTPrint: TButton @@ -2933,10 +2933,6 @@ object 查看: TcxTabSheet Caption = #26597#30475 ImageIndex = 1 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 object cxGrid1: TcxGrid Left = 0 Top = 0 diff --git a/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatMachInsp.pas b/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatMachInsp.pas index 0c8f9d5..0048967 100644 --- a/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatMachInsp.pas +++ b/E03梭织å�¯å¸ƒæ£€éªŒ/U_TatMachInsp.pas @@ -816,8 +816,8 @@ begin Loom.Text := FLoom; // Repairer.Text := Trim(ADOTmp.fieldbyname('Repairer').AsString); SetDdetails(); - InputLen.SetFocus; - CIFBegClick(InputLen); + InputWeight.SetFocus; + CIFBegClick(InputWeight); end; end else @@ -1899,8 +1899,8 @@ begin PrtData(FCIID); end; end; - InputLen.SetFocus; - CIFBegClick(InputLen); + InputWeight.SetFocus; + CIFBegClick(InputWeight); FOperationStatus := '²¼Æ±'; InitJYGrid(); InitCDGrid(''); @@ -2167,8 +2167,8 @@ begin SetDdetails(); InitJYGrid(); InitCDGrid(''); - InputLen.SetFocus; - CIFBegClick(InputLen); + InputWeight.SetFocus; + CIFBegClick(InputWeight); end; end; finally @@ -2253,7 +2253,7 @@ begin FOperationStatus := '²¼Æ±'; InitLCK(edtScan.Text); InitJYGrid(); - InputLen.SetFocus; + InputWeight.SetFocus; end; end; procedure TfrmTatMachInsp.CIFBegClick(Sender: TObject);