Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » Elevate Web Builder Technical Support » Support Forums » Elevate Web Builder General » View Thread |
Messages 1 to 6 of 6 total |
StrToIntDef(), etc. |
Fri, Feb 16 2018 11:23 PM | Permanent Link |
erickengelke | Delphi has a nice StrToIntDef() function which returns a default if the number were not an integer. StrToInt() is odd because generates an exception if you pass it 'twenty20', but it returns 20 if you pass it '20twenty'. StrToIntDef( string, default ) would return default in either of the two above cases. Erick http://www.erickengelke.com |
Sat, Feb 17 2018 12:36 PM | Permanent Link |
Uli Becker | <<
StrToIntDef( string, default ) would return default in either of the two above cases. >> You could write such a function and publish it in a new book. Uli |
Mon, Feb 19 2018 4:11 AM | Permanent Link |
Matthew Jones | Uli Becker wrote:
> You could write such a function and publish it in a new book. I figured it was too simple and people would write their own, but here is mine: var external NaN : Integer; function StrToIntDef(szValue : String; nDefault : Integer) : Integer; begin Result := NaN; try Result := StrToInt(szValue); except end; if isNaN(Result) then begin if (szValue <> '') and (szValue[1] = '"') then begin szValue := Copy(szValue, 2, 99); if (szValue <> '') and (szValue[Length(szValue)] = '"') then szValue := Copy(szValue, 1, Length(szValue) - 1); Result := StrToInt(szValue) + 1; end; end; if isNaN(Result) then begin Result := nDefault; end; end; What I don't like is that it triggers an exception, because it does the JavaScript one, but that's the way things are unless you do it all manually and that would be slower for all calls. -- Matthew Jones |
Mon, Feb 19 2018 4:34 AM | Permanent Link |
Michael Dreher | "Matthew Jones" wrote:
// [...] but here is mine: And another one here function StrToIntDef(const s : string; def : integer) : integer; begin if IsInt(s) then Result := StrToInt(s) else Result := def; end; See also here http://www.elevatesoft.com/forums?action=view&category=ewb&id=ewb_general&msg=2372&start=1&keywords=StrToIntDef&searchbody=True&forum=EWB_Announce&forum=EWB_General&forum=EWB_Components&forum=EWB_Server&forum=EWB_Demos&forum=EWB_Binaries&forum=EWB_Discussion&forum=EWB2_Preview#2372 M. Dreher |
Mon, Feb 19 2018 5:03 AM | Permanent Link |
Matthew Jones | Michael Dreher wrote:
> if IsInt(s) then Where is that coming from? Hmm, seems to be undocumented and in webcore unit. Handy - I will have to check that out. Thanks. (Mine has a more complex extra wart of course, for converting strings enclosed in quotes, which some system gives me for some daft reason...) -- Matthew Jones |
Thu, Feb 22 2018 3:24 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Matthew,
<< Where is that coming from? Hmm, seems to be undocumented and in webcore unit. Handy - I will have to check that out. Thanks. >> I will see that these extra functions get documented. Originally they were just used for parsing, but could be handy for other things. Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Thursday, December 12, 2024 at 08:07 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |