Rev 76 | Rev 78 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 76 | Rev 77 | ||
---|---|---|---|
Line 298... | Line 298... | ||
298 | begin |
298 | begin |
299 | for i := 0 to SynEdit1.Lines.Count-1 do |
299 | for i := 0 to SynEdit1.Lines.Count-1 do |
300 | begin |
300 | begin |
301 | SynEdit1.Lines.Strings[i] := TrimRight(SynEdit1.Lines.Strings[i]); |
301 | SynEdit1.Lines.Strings[i] := TrimRight(SynEdit1.Lines.Strings[i]); |
302 | end; |
302 | end; |
- | 303 | ||
- | 304 | (* |
|
- | 305 | while (SynEdit1.Lines.Count > 0) and (SynEdit1.Lines.Strings[SynEdit1.Lines.Count-1] = '') do |
|
- | 306 | begin |
|
- | 307 | SynEdit1.Lines.Delete(SynEdit1.Lines.Count-1); |
|
- | 308 | end; |
|
- | 309 | if SynEdit1.SelStart > Length(SynEdit1.Text)-1 then |
|
- | 310 | begin |
|
- | 311 | // TODO: This code does not work... |
|
- | 312 | SynEdit1.SelStart := Length(SynEdit1.Text)-1; |
|
- | 313 | SynEdit1.SelEnd := Length(SynEdit1.Text)-1; |
|
- | 314 | end; |
|
- | 315 | *) |
|
303 | end; |
316 | end; |
304 | 317 | ||
305 | procedure TForm1.ActionSaveExecute(Sender: TObject); |
318 | procedure TForm1.ActionSaveExecute(Sender: TObject); |
306 | begin |
319 | begin |
307 | RightTrimAll; |
320 | RightTrimAll; |
Line 1050... | Line 1063... | ||
1050 | end; |
1063 | end; |
1051 | 1064 | ||
1052 | procedure TForm1.SaveToFile(filename: string); |
1065 | procedure TForm1.SaveToFile(filename: string); |
1053 | var |
1066 | var |
1054 | sl: TStringList; |
1067 | sl: TStringList; |
- | 1068 | fil: TextFile; |
|
- | 1069 | i: Integer; |
|
1055 | begin |
1070 | begin |
1056 | sl := TStringList.Create; |
1071 | sl := TStringList.Create; |
1057 | try |
1072 | try |
1058 | sl.Assign(SynEdit1.Lines); |
1073 | sl.Assign(SynEdit1.Lines); // Save without BOM |
- | 1074 | ||
- | 1075 | while (sl.Count > 0) and (sl.Strings[sl.Count-1] = '') do |
|
- | 1076 | begin |
|
- | 1077 | sl.Delete(sl.Count-1); |
|
- | 1078 | end; |
|
- | 1079 | ||
- | 1080 | (* |
|
- | 1081 | sl.TrailingLineBreak := false; // requires Delphi 10.1 |
|
1059 | sl.SaveToFile(filename); // Save without BOM! |
1082 | sl.SaveToFile(filename); |
- | 1083 | *) |
|
- | 1084 | ||
- | 1085 | // This code does the same, but works with older versions of Delphi, too. |
|
- | 1086 | AssignFile(fil, filename); |
|
- | 1087 | Rewrite(fil); |
|
- | 1088 | for i := 0 to sl.Count-2 do |
|
- | 1089 | writeln(fil, sl.Strings[i]); |
|
- | 1090 | write(fil, sl.Strings[sl.Count-1]); |
|
- | 1091 | CloseFile(fil); |
|
1060 | finally |
1092 | finally |
1061 | sl.Free; |
1093 | sl.Free; |
1062 | end; |
1094 | end; |
1063 | end; |
1095 | end; |
1064 | 1096 |