RAD Studio VCL Reference
|
Converts a string that represents an integer (decimal or hex notation) to a number with error default.
function StrToIntDef(const S: string; Default: Integer): Integer; overload;
int StrToIntDef(const AnsiString S, int Default);
StrToIntDef converts the string S, which represents an integer-type number in either decimal or hexadecimal notation, into a number. If S does not represent a valid number, StrToIntDef returns Default.
C++ Examples:
/* This example uses two edit boxes and a button on a form. The user enters a number in the first edit box and clicks the button. If the number entered was a valid integer, the same value appears in the second edit box. If the number was not a valid integer, the default value of 1000 appears in the second edit box: */ void __fastcall TForm1::Button1Click(TObject *Sender) { int Number = StrToIntDef(Edit1->Text, 1000); Edit2->Text = IntToStr(Number); }
Delphi Examples:
{ This example uses the FetchParams method to sync the params with the server. } procedure TForm1.SaveParamsClick(Sender: TObject); begin { Save the parameters for the TDataSet } SavedParams.Assign(CDS.Params); end; procedure TForm1.AlterParamsClick(Sender: TObject); var I : Integer; ListItem: string; begin CDS.Params.CreateParam(ftString, 'stringParam', ptInput); // you can also edit the params in the CDS dynamically CDS.Params.CreateParam(ftSmallInt, 'smallIntParam', ptInput); CDS.Params.CreateParam(ftInteger, 'intParam', ptInput); CDS.Params.CreateParam(ftWord, 'wordParam', ptInput); CDS.Params.CreateParam(ftBoolean, 'boolParam', ptInput); CDS.Params.CreateParam(ftFloat, 'floatParam', ptInput); CDS.Params.CreateParam(ftCurrency, 'currencyParam', ptInput); CDS.Params.CreateParam(ftBCD, 'bcdParam', ptInput); CDS.Params.CreateParam(ftDate, 'dateParam', ptInput); CDS.Params.CreateParam(ftTime, 'timeParam', ptInput); CDS.Params.CreateParam(ftDateTime, 'dateTimeParam', ptInput); { Call FetchParams to ensure parameters reflect server metadata } CDS.FetchParams; with CDS.Params do begin for I := 0 to Count - 1 do begin ListItem := ListBox1.Items[I]; case Items[I].DataType of ftString: Items[I].AsString := ListItem; ftSmallInt: Items[I].AsSmallInt := StrToIntDef(ListItem, 0); ftInteger: Items[I].AsInteger := StrToIntDef(ListItem, 0); ftWord: Items[I].AsWord := StrToIntDef(ListItem, 0); ftBoolean: begin if ListItem = 'True' then Items[I].AsBoolean := True else Items[I].AsBoolean := False; end; ftFloat: Items[I].AsFloat := StrToFloat(ListItem); ftCurrency: Items[I].AsCurrency := StrToFloat(ListItem); ftBCD: Items[I].AsBCD := StrToCurr(ListItem); ftDate: Items[I].AsDate := StrToDate(ListItem); ftTime: Items[I].AsTime := StrToTime(ListItem); ftDateTime: Items[I].AsDateTime := StrToDateTime(ListItem); end; end; end; end; procedure TForm1.RestoreParamsClick(Sender: TObject); begin { Restore the parameters to TDataSet } CDS.Params.AssignValues(SavedParams); end; procedure TForm1.FormCreate(Sender: TObject); begin { Initialize SavedParams } SavedParams := TParams.Create; ListBox1.Items.Add('Here is a string'); ListBox1.Items.Add('4'); ListBox1.Items.Add('3456789'); ListBox1.Items.Add('34'); ListBox1.Items.Add('0'); ListBox1.Items.Add('12.56'); ListBox1.Items.Add('4.23'); ListBox1.Items.Add('99.5'); ListBox1.Items.Add('4/12/53'); ListBox1.Items.Add('7:45:00'); ListBox1.Items.Add('4/12/53 7:45:00'); end; procedure TForm1.FormDestroy(Sender: TObject); begin SavedParams.Free; end;
{ This example uses two edit boxes and a button on a form. The user enters a number in the first edit box and clicks the button. If the number entered was a valid integer, the same value appears in the second edit box. If the number was not a valid integer, the default value of 1000 appears in the second edit box: } procedure TForm1.Button1Click(Sender: TObject); var Number: Integer; begin Number := StrToIntDef(Edit1.Text, 1000); Edit2.Text := IntToStr(Number); end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|