55{ $WARN 6058 off : Call to subroutine "$1" marked as inline is not inlined}
66{ $WARN 5024 off : Parameter "$1" not used}
77{ $WARN 4055 off : Conversion between ordinals and pointers is not portable}
8+ { $WARN 4046 off : Constructing a class "$1" with abstract method "$2"}
89{ $HINTS OFF}
910
1011interface
@@ -31,6 +32,7 @@ TCodeFrm = class(TForm)
3132 actCopyAsHtml: TAction;
3233 actEditUndo: TAction;
3334 actEditRedo: TAction;
35+ actSaveAsTXT: TAction;
3436 actReadOnly: TAction;
3537 actSyntaxBat: TAction;
3638 actSyntaxUNIXShell: TAction;
@@ -42,6 +44,9 @@ TCodeFrm = class(TForm)
4244 actSyntaxJava: TAction;
4345 CodeDB: TBufDataset;
4446 DataSource1: TDataSource;
47+ mitExportHtml: TMenuItem;
48+ mitExportTXT: TMenuItem;
49+ mitExport: TMenuItem;
4550 mitEditorRedo: TMenuItem;
4651 mitEditorUndo: TMenuItem;
4752 mitEditorSep5: TMenuItem;
@@ -56,7 +61,6 @@ TCodeFrm = class(TForm)
5661 mitJavaScript: TMenuItem;
5762 mitEditorSep3: TMenuItem;
5863 mitEditorCopyHtml: TMenuItem;
59- mitExportHtml: TMenuItem;
6064 mitExpSep: TMenuItem;
6165 mitJAVA: TMenuItem;
6266 dlgPrinterSetup: TPrinterSetupDialog;
@@ -181,6 +185,7 @@ TCodeFrm = class(TForm)
181185 procedure actEditUndoExecute (Sender: TObject);
182186 procedure actReadOnlyExecute (Sender: TObject);
183187 procedure actSaveAsHtmlExecute (Sender: TObject);
188+ procedure actSaveAsTXTExecute (Sender: TObject);
184189 procedure CodeTextChange (Sender: TObject);
185190 procedure FormCreate (Sender: TObject);
186191 procedure FormDestroy (Sender: TObject);
@@ -472,6 +477,24 @@ procedure TCodeFrm.actSaveAsHtmlExecute(Sender: TObject);
472477 end ;
473478end ;
474479
480+ procedure TCodeFrm.actSaveAsTXTExecute (Sender: TObject);
481+ var T : TStringList;
482+ begin
483+ dlgSave.Filter:= ExportTextFilter;
484+ dlgSave.DefaultExt:=' .txt' ;
485+ if dlgSave.Execute then
486+ begin
487+ if FCodeText.SelText=' ' then
488+ FCodeText.Lines.SaveToFile(dlgSave.FileName) else
489+ begin
490+ T := TStringList.Create;
491+ T.Add(FCodeText.SelText);
492+ T.SaveToFile(dlgSave.FileName);
493+ T.Free;
494+ end ;
495+ end ;
496+ end ;
497+
475498procedure TCodeFrm.actCopyAsHtmlExecute (Sender: TObject);
476499begin
477500 If FCodeText.Highlighter<> nil then
@@ -563,7 +586,11 @@ procedure TCodeFrm.mActionsUpdate(AAction: TBasicAction; var Handled: Boolean);
563586 actNewFolder.Enabled := not SnippetIsSelected;
564587 end ;
565588 actPrint.Enabled:=SnippetIsSelected;
589+
566590 actSaveAsHtml.Enabled:=SnippetIsSelected;
591+ actSaveAsTXT.Enabled:=SnippetIsSelected;
592+ mitExport.Enabled:=SnippetIsSelected;
593+
567594 Handled := True;
568595end ;
569596
@@ -650,7 +677,7 @@ procedure TCodeFrm.tvTopicsChange(Sender: TObject; Node: TTreeNode);
650677 case CodeDB.FieldByName(' Language' ).AsString of
651678 ' NONE' : begin // This is non source code
652679 mitNone.Checked := True;
653- FCodeText.HighLighter := nil ;
680+ FCodeText.HighLighter := SynAny ;
654681 end ;
655682 ' CPP' : begin // This is CPP source code
656683 mitCPP.Checked := True;
@@ -1063,9 +1090,14 @@ procedure TCodeFrm.LoadSettings;
10631090 actSyntaxNone.caption := rs_actSyntaxNone;
10641091 actReadOnly.caption := rs_actReadOnly;
10651092
1093+ actSaveAsHtml.Caption:= rs_actSaveAsHtml;
1094+ actSaveAsTXT.Caption := rs_actSaveAsTXT;
1095+
10661096 mitFile.Caption := rs_mitFile;
10671097 mitFileNew.Caption:=rs_mitFileNew;
1068- mitExportHtml.Caption:=rs_mitExportHtml;
1098+
1099+ mitExport.Caption:=rs_mitExport;
1100+
10691101 mitEdit.Caption:=rs_mitEdit;
10701102 mitOptions.Caption:=rs_mitOptions;
10711103 mitEditorHighlighting.Caption:=rs_mitEditorHighlighting;
0 commit comments