1 (edited by wenchester21 2018-09-03 17:19:12)

Topic: [SOLVED] Write INI file (variable problem)

Hello everyone.

I am writing an INI file and I have a problem with a variable type, when I want text strings everything works, but saving integers is where the error jumps. Below I put the code

procedure frm_conf_conecct_btn_save_OnClick (Sender: string; Action: string);
var
    ini: TIniFile;
begin
    ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'conf-conection.ini');
    try
        ini.WriteString('Settings', 'Server', frm_conf_conecct.ed_server.Text);
        ini.WriteInteger ('Settings', 'Port', IntToStr(frm_conf_conecct.ed_port.Text));
        ini.WriteString('Settings', 'Username', frm_conf_conecct.ed_user.Text);
        ini.WriteString('Settings', 'Password', frm_conf_conecct.ed_password.Text);
        ini.WriteString('Settings', 'Database', frm_conf_conecct.ed_database.Text);
    finally
        ini.Free;
    end;
    frm_start.Show;
end;

ERROR (Incompatible types: Integer, String at 8:56)

2 (edited by thezimguy 2018-08-31 16:15:50)

Re: [SOLVED] Write INI file (variable problem)

Please find attached a fix

procedure frm_conf_conecct_btn_save_OnClick (Sender: string; Action: string);
var ini: TIniFile;
begin
    ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'conf-conection.ini');
    try ini.WriteString('Settings', 'Server', frm_conf_conecct.ed_server.Text);
        ini.WriteInteger ('Settings', 'Port', StrToInt(FloatToStr(frm_conf_conecct.ed_port.value)));
        ini.WriteString('Settings', 'Username', frm_conf_conecct.ed_user.Text);
        ini.WriteString('Settings', 'Password', frm_conf_conecct.ed_password.Text);
        ini.WriteString('Settings', 'Database', frm_conf_conecct.ed_database.Text);
    finally
        ini.Free;
    end;
    frm_start.Show;
end;
begin

end.

Regards

Post's attachments

Attachment icon WriteString.zip 333.79 kb, 342 downloads since 2018-08-31 

@thezimguy

Re: [SOLVED] Write INI file (variable problem)

correct way

ini.WriteInteger ('Settings', 'Port', trunc(frm_conf_conecct.ed_port.Value));
Dmitry.