diff --git a/lcl/interfaces/carbon/carbonstrings.pp b/lcl/interfaces/carbon/carbonstrings.pp index 8e79076a03..a765c711c2 100644 --- a/lcl/interfaces/carbon/carbonstrings.pp +++ b/lcl/interfaces/carbon/carbonstrings.pp @@ -26,7 +26,7 @@ uses // rtl+ftl Classes, SysUtils, // LCL - LCLProc, LCLType, Graphics, Controls, StdCtrls, + LCLProc, LCLType, Graphics, Controls, StdCtrls, LazUtf8Classes, // LCL Carbon CarbonEdits, CarbonListViews; @@ -93,6 +93,8 @@ type procedure Clear; override; procedure Delete(Index: Integer); override; procedure Insert(Index: Integer; const S: string); override; + procedure LoadFromFile(const FileName: string); override; + procedure SaveToFile(const FileName: string); override; public property Owner: TCarbonMemo read FOwner; end; @@ -429,5 +431,29 @@ begin FOwner.InsertLine(Index, S); end; +procedure TCarbonMemoStrings.LoadFromFile(const FileName: string); +var + TheStream: TFileStreamUTF8; +begin + TheStream:=TFileStreamUtf8.Create(FileName,fmOpenRead or fmShareDenyWrite); + try + LoadFromStream(TheStream); + finally + TheStream.Free; + end; +end; + +procedure TCarbonMemoStrings.SaveToFile(const FileName: string); +var + TheStream: TFileStreamUTF8; +begin + TheStream:=TFileStreamUtf8.Create(FileName,fmCreate); + try + SaveToStream(TheStream); + finally + TheStream.Free; + end; +end; + end. diff --git a/lcl/interfaces/cocoa/cocoawsstdctrls.pp b/lcl/interfaces/cocoa/cocoawsstdctrls.pp index cf52bd2bd9..7acdb8efa8 100644 --- a/lcl/interfaces/cocoa/cocoawsstdctrls.pp +++ b/lcl/interfaces/cocoa/cocoawsstdctrls.pp @@ -26,7 +26,8 @@ uses // Libs MacOSAll, CocoaAll, // LCL - Controls, StdCtrls, Graphics, LCLType, LMessages, LCLProc, LCLMessageGlue, Classes, + Controls, StdCtrls, Graphics, LCLType, LMessages, LCLProc, LCLMessageGlue, + Classes, LazUtf8Classes, // Widgetset WSStdCtrls, WSLCLClasses, WSControls, WSProc, // LCL Cocoa @@ -573,6 +574,8 @@ type procedure Clear; override; procedure Delete(Index: Integer); override; procedure Insert(Index: Integer; const S: string); override; + procedure LoadFromFile(const FileName: string); override; + procedure SaveToFile(const FileName: string); override; end; { TCocoaMemoStrings } @@ -681,6 +684,30 @@ begin SetTextStr(txt) end; +procedure TCocoaMemoStrings.LoadFromFile(const FileName: string); +var + TheStream: TFileStreamUTF8; +begin + TheStream:=TFileStreamUtf8.Create(FileName,fmOpenRead or fmShareDenyWrite); + try + LoadFromStream(TheStream); + finally + TheStream.Free; + end; +end; + +procedure TCocoaMemoStrings.SaveToFile(const FileName: string); +var + TheStream: TFileStreamUTF8; +begin + TheStream:=TFileStreamUtf8.Create(FileName,fmCreate); + try + SaveToStream(TheStream); + finally + TheStream.Free; + end; +end; + { TCocoaWSCustomMemo } function MemoTextView(AWinControl: TWinControl): TCocoaTextView;