From Clomosy Docs
function Clomosy.FileToStream(AFileName:string):TclMemoryStream;
FileToStream refers to the process of loading the contents of a file into a stream, specifically a TclMemoryStream. This involves reading the contents of a file and transferring them into a TclMemoryStream instance in memory. This method enables representing the file contents in memory or another data source, allowing for more flexible operations on the content.
Example
In the example below, when the application starts, an image is added to the project files using the AddAssetFromUrl function. Then, when a button is clicked, this image is converted to a TclMemoryStream object using the FileToStream function, which returns a TclMemoryStream. This object is then assigned to an image component (Img1).
var
Form1 : TCLForm;
loadImageButton : TClProButton;
Img1 : TCLImage;
memoryStream : TCLMemoryStream;
void loadImageButtonClick
var
MyFileStr : String;
{
MyFileStr = clPathCombine('apple.png', Clomosy.AppFilesPath);
if clFileExists('apple.png', Clomosy.AppFilesPath)
{
memoryStream = Clomosy.FileToStream(MyFileStr);
Img1.Bitmap.LoadFromStream(memoryStream);
//Img1.Bitmap.LoadFromFile(MyFileStr);
ShowMessage('Image Uploaded.');
}
else
ShowMessage('No File');
}
//------ Main Code -------------
{
Form1 = TCLForm.Create(Self);
Form1.AddAssetFromUrl('https://clomosy.com/demos/apple.png');
MemoryStream = TclMemoryStream.Create;
Img1 = Form1.AddNewImage(Form1,'Img1');
Img1.Width = 100;
Img1.Height = 100;
loadImageButton = Form1.AddNewProButton(Form1,'loadImageButton','Upload Image');
loadImageButton.Align = alMostBottom;
loadImageButton.Margins.Top = 20;
loadImageButton.clProSettings.FontSize = 16;
loadImageButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
loadImageButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#6966ff');
loadImageButton.clProSettings.RoundHeight = 10;
loadImageButton.clProSettings.RoundHeight = 10;
loadImageButton.SetclProSettings(loadImageButton.clProSettings);
Form1.AddNewEvent(loadImageButton,tbeOnClick,'loadImageButtonClick');
Form1.Run;
}