Subversion Repositories fastphp

Rev

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