View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update | 
|---|---|---|---|---|---|
| 0003713 | JEDI VCL | 04 Feature Request | public | 2006-05-17 20:07 | 2006-06-07 03:30 | 
| Reporter | scadden | Assigned To | obones | ||
| Priority | normal | Severity | feature | Reproducibility | always | 
| Status | resolved | Resolution | fixed | ||
| Product Version | |||||
| Target Version | Fixed in Version | 3.30 | |||
| Summary | 0003713: Add a "dfFloatGeneral" facility to JvValidateEdit.pas | ||||
| Description | One of my pet hates with floating point controls is the assumption of fixed decimal places. All I really want is a control where you can only enter a floating point number into it, no letters. Anyway, I proposed that TJvValidateEdit support another format call it dfFloatGeneral. The crucial change is in DisplayText and need to add: dfFloat: ChangeText(Format('%.*n', [FDecimalPlaces, AsFloat])); dfFloatGeneral: ChangeText(Format('%.*g', [FDecimalPlaces, AsFloat])); The %g is my ideal floating point formater. FDecimalplaces is being interpreted as the precision to display. Makes it easy to enter and display in the same control, 9.1, 0.0005, 5.00000001 etc. | ||||
| Additional Information | Diff file for changes is Compare: (<)C:\CompD7\jvcl\run\JvValidateEdit.pas (37848 bytes) with: (>)C:\Documents and Settings\scaddenp\Local Settings\Temp\JvValidateEdit.pas (37479 bytes) 48c48 < dfCheckChars, dfCurrency, dfCustom, dfFloat, dfFloatGeneral, dfHex, dfInteger, --- > dfCheckChars, dfCurrency, dfCustom, dfFloat, dfHex, dfInteger, 419c419 < if FDisplayFormat in [dfCurrency, dfFloat, dfFloatGeneral, dfScientific, dfPercent] then --- > if FDisplayFormat in [dfCurrency, dfFloat, dfScientific, dfPercent] then 474c474 < dfFloat, dfPercent, dfFloatGeneral: --- > dfFloat, dfPercent: 518,521c518,521 < (NewValue in [dfCurrency, dfFloat, dfFloatGeneral, dfHex, dfInteger, dfOctal, dfPercent, dfScientific, dfYear]) then < SetAsInteger(BaseToInt(FEditText, 2)) < else < if (OldFormat in [dfCurrency, dfFloat, dfFloatGeneral, dfPercent]) and --- > (NewValue in [dfCurrency, dfFloat, dfHex, dfInteger, dfOctal, dfPercent, dfScientific, dfYear]) then > SetAsInteger(BaseToInt(FEditText, 2)) > else > if (OldFormat in [dfCurrency, dfFloat, dfPercent]) and 526c526 < (NewValue in [dfBinary, dfCurrency, dfFloat, dfFloatGeneral, dfInteger, dfOctal, dfPercent, dfScientific, dfYear]) then --- > (NewValue in [dfBinary, dfCurrency, dfFloat, dfInteger, dfOctal, dfPercent, dfScientific, dfYear]) then 534c534 < (NewValue in [dfBinary, dfCurrency, dfFloat, dfFloatGeneral, dfHex, dfInteger, dfPercent, dfScientific, dfYear]) then --- > (NewValue in [dfBinary, dfCurrency, dfFloat, dfHex, dfInteger, dfPercent, dfScientific, dfYear]) then 581c581 < dfCurrency, dfFloat,dfFloatGeneral, dfInteger, dfPercent, dfScientific, dfYear: --- > dfCurrency, dfFloat, dfInteger, dfPercent, dfScientific, dfYear: 612c612 < dfCurrency, dfFloat, dfFloatGeneral,dfInteger, dfPercent, dfScientific, dfYear: --- > dfCurrency, dfFloat, dfInteger, dfPercent, dfScientific, dfYear: 646c646 < dfCurrency, dfFloat, dfPercent, dfFloatGeneral: --- > dfCurrency, dfFloat, dfPercent: 658c658 < dfFloat, dfFloatGeneral, dfPercent, dfScientific: --- > dfFloat, dfPercent, dfScientific: 678c678 < dfCurrency, dfFloat, dfFloatGeneral, dfPercent, dfScientific: --- > dfCurrency, dfFloat, dfPercent, dfScientific: 741c741 < dfFloat, dfFloatGeneral, dfCurrency, dfPercent: --- > dfFloat, dfCurrency, dfPercent: 844c844 < if FDisplayFormat in [dfBinary, dfCurrency, dfFloat, dfFloatGeneral,dfHex, dfInteger, --- > if FDisplayFormat in [dfBinary, dfCurrency, dfFloat, dfHex, dfInteger, 912c912 < else if (FDisplayFormat in [dfBinary, dfCurrency, dfFloat, dfFloatGeneral, dfInteger, dfOctal, dfPercent, dfScientific, dfYear]) and --- > else if (FDisplayFormat in [dfBinary, dfCurrency, dfFloat, dfInteger, dfOctal, dfPercent, dfScientific, dfYear]) and 924,925d924 < dfFloatGeneral: < ChangeText(Format('%.*g', [FDecimalPlaces, AsFloat])); 937c935 < (FDisplayFormat in [dfBinary, dfCurrency, dfFloat, dfFloatGeneral,dfHex, dfInteger, dfOctal, dfPercent, dfScientific, dfYear]) then --- > (FDisplayFormat in [dfBinary, dfCurrency, dfFloat, dfHex, dfInteger, dfOctal, dfPercent, dfScientific, dfYear]) then 1083c1081 < if FHasMaxValue and (FDisplayFormat in [dfBinary, dfCurrency, dfFloat,dfFloatGeneral, --- > if FHasMaxValue and (FDisplayFormat in [dfBinary, dfCurrency, dfFloat, 1092c1090 < if FHasMinValue and (FDisplayFormat in [dfBinary, dfCurrency, dfFloat,dfFloatGeneral, --- > if FHasMinValue and (FDisplayFormat in [dfBinary, dfCurrency, dfFloat, | ||||
| Tags | No tags attached. | ||||
| 
 2006-05-17 20:07 
 | JvValidateEdit.pas (37,848 bytes) | 
|  | Can you attach the diff file instead of posting it? | 
|  | This is now in SVN | 
| Date Modified | Username | Field | Change | 
|---|---|---|---|
| 2006-05-17 20:07 | scadden | New Issue | |
| 2006-05-17 20:07 | scadden | File Added: JvValidateEdit.pas | |
| 2006-05-21 09:37 | obones | Note Added: 0009335 | |
| 2006-05-21 09:37 | obones | Status | new => feedback | 
| 2006-06-07 03:30 | obones | Status | feedback => resolved | 
| 2006-06-07 03:30 | obones | Resolution | open => fixed | 
| 2006-06-07 03:30 | obones | Assigned To | => obones | 
| 2006-06-07 03:30 | obones | Note Added: 0009403 | 
