Also irgendwie bist du völlig auf dem Holzweg.
Delphi ist kein Interpreter oder Scriptsprache, bei der Strings ohne Weiteres in Befehle umgewandelt werden.
Delphi-Quellcode:
procedure TForm1.bthearClick(Sender: TObject);
const
MILLISECONDS_PER_SECONDS = 1000; // 1 Sekunde = 1000 Millisekunden
var
freq : integer;
duration : integer;
begin
freq := StrToInt(edFreq.Text);
// edLengh.Text enthält die Länge in Sekunden als String z.B. '0,95'
duration := Round(StrToFloat(edLengh.Text) * MILLISECONDS_PER_SECONDS);
// kann man auch weglassen; soll nur zeigen, wie man die If-Anweisung einsetzt
if duration < 50 then
duration := 50;
windows.Beep(freq,duration);
end;
Hier ist noch ein weiteres Beispiel.