Точка и запятая

необходимо, чтобы не меняя настроек в системе, число v1 можно было вводить и с точкой и с запятой. Подскажите пожалуйста где возможна ошибка.
procedure TForm2.Button1Click(Sender: TObject);
var
v1: ******;
begin
 begin
 v1:=strtofloat(Form1.edit1.text);
 DecimalSeparator := ',';
 Form1.Edit1.Text := floatTostr(v1);
end;
 v2:=strtofloat(Form1.edit2.text);
 if v1 or v2>10 then
 Label1.Caption := 'dsgf';
 v3:=v1+v2;
 Form2.edit3.text:=floattostr(v3);
end;

end.
2 ответа

v1:=strtofloat(Form1.edit1.text);
DecimalSeparator := ',';
замените на
for i:=1 to length(form1.edit1.text) do
if (form1.edit1.text[i]='.') or (form1.edit1.text[i]=',') then 
form1.edit1.text[i]=decimalSeparator;
v1:=strtofloat(Form1.edit1.text);
только- i обьявите


и с точкой и с запятой
Так нельзя. Либо то либо другое, иначе
DecimalSeparator := ',';
v1:=strtofloat(<b>StringReplace(Form1.edit1.text,'.',',',[])</b>)