http://tinyfiledialogs.sourceforge.net tinyfiledialogs is a cross-platform C library ( one C file + header ) that provides modal dialogs and file dialogs. I’ve recently completed the interface unit to call this code from FreePascal.
lCReturnedString := tinyfd_saveFileDialog('Choose a filename to save to','lala.txt', 0, nil,nil);