Zapis Memo do pliku pod nazwą w Edit

0

Fragment programu który zapisuje zawartość Memo do pliku tekstowego:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    Label4: TLabel;
    Edit4: TEdit;
    Edit5: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    Edit6: TEdit;
    Label7: TLabel;
    Edit7: TEdit;
    Memo1: TMemo;
    Memo2: TMemo;
    Button1: TButton;
    SaveDialog1: TSaveDialog;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Text := ('');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo2.Lines.Add ('--------------------------------------------------------------------------------');
  Memo2.Lines.Add ('     DATA KONTROLI: '+FormatDateTime('yyyy-mm-dd', Date));
  Memo2.Lines.Add ('--------------------------------------------------------------------------------');
  Memo2.Lines.Add (Memo1.Text);

  if SaveDialog1.Execute then
  Memo2.Lines.SaveToFile(SaveDialog1.FileName);

end;

end. 

Przy wciśnięciu Button1 wyskakuje okienko zapisu, w którym pole Nazwa pliku i Zapisz jako typ są puste, co i gdzie należy dodać, aby po wciśnięciu pojawiło się okienko zapisu które w nazwie pliku będzie miało zawartość pola Edit1, a w polu zapisz jako typ "Plik kontroli (*.KON), a po wciśnięciu Zapisz plik zostanie zapisany pod nazwą znajdującą się w Edit1 i rozszerzeniu KON.
Następnie wyskoczy komunikat "Wydrukować zawartość pliku?" (TAK, NIE) po wciśnięciu TAK pojawi się okienko z wyborem drukarki i pozostałymi ustawieniami.

0
Savedialog1.Filename := Edit1.Text;

a jeśli chodzi o typ pliku to w Object Inspector Savedialogu klikasz na trzy kropeczki tam gdzie masz "Filter" i tam wpisujesz sobie.
Tu masz gotowe drukowanie http://4programmers.net/Delphi/Gotowce/Drukowanie_Memo

0

Nazwa z Edit już się dodaje, Uzupełniłem Filter, ale w oknie zapisu pokazuje się tylko jego nazwa i nie zapisuje się z rozszerzeniem.
A z tego drukowania to nic nie kumam.
Chce pod jakąś zmienną wpisać ścieżkę pod którą jest zapisany plik i z tej ścieżki wydrukować.

0

Jak chcesz zapisywać z jakimś domyślnym rozszerzeniem to ustaw je (bez gwiazdki i kropki) we własności DefaultExt SaveDialogu. Natomiast co do drukowania to rysuj po Canvasie Printer, w google jest na pewno od metra przykładów. A jeżeli nie chcesz za dużo kombinować to użyj RichEdit, który jak nie formatujesz tekstu to niczym się nie będzie w zasadzie różnił od Memo i dostosuj się do porady, jak drukować RichEdit zawartej w jednym z komentarzy pod artykułem, do którego dostałeś link wcześniej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1