From Clomosy Docs

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;
 }

See Also