Cześć, pomyślałem, że napiszę dla początkujących programistów taki kurs/pomoc w pisaniu notatnika w Delphi.
Kod szczegółowo omówię + w kodzie znajdują się komentarze. Wiem, są różne tutoriale jak napisać notatnik, ale mój
jest całkowicie omówiony, więc będzie można jeszcze z nim pokombinować.
Więc, zacznijmy od stworzenia Menu rozwijanego za pomocą komponentu MainMenu, który znajduje się w zakładce
Standard. Wykonaj je tak, jak na zdjęciach.


Właściwość Memo1, w Object Inspectorze Align ustaw na alClient... Dzięki temu Memo będzie się przystosowywać do
rozmiarów formy.
Teraz przejdźmy znowu do komponentu Mainmenu... Kliknij na formie Plik/Nowy i wypełnij kod następująco:
Kod:
Memo1.Clear; //czyści komponent Memo
Teraz Plik/Otwórz...:
pomiędzy begin a end wpisz:
Kod:
If opendialog1.execute then********//jeżeli opendialog się wyswietlil, to...
memo1.lines.loadfromfile(Opendialog1.filename); //zapisz w podanej sciezce tresc memo.
Teraz znów Plik/Zapisz jako:
Kod:
{wyswietlenie wiadomosci, jezeli nacisnieto tak, to...}
if Application.MessageBox('Czy zapisac plik?','Zapisywanie...',MB_YESNO + MB_ICONQUESTION)= IDYES then
begin
savedialog1.execute;******** //wyswietl savedialog...
memo1.Lines.SaveToFile(Savedialog1.filename + '.txt')** //zapisz na dysku tresc memo1...
I w końcu Plik/Zakończ:
Kod:
application.Terminate; //zakończenie aplikacji.
Zakładkę Plik, mamy już z głowy, teraz Edycja/kopiuj:
Kod:
memo1.copytoclipboard; //kopiowanie zaznaczonego tekstu...
Edycja/wklej:
Kod:
memo1.PasteFromClipboard; //wklejanie zaznaczonego tekstu...
Edycja/wytnij:
Kod:
memo1.CutToClipboard; //wycinanie zaznaczonego tekstu...
OK, prawie gotowe, teraz:
W Object Inspectorze Savedialogu kliknij na Filter:
pole Filter Name uzupełnij następująco:
A pole Filter uzupełnij tak:
Kod:
Pliki formatu .txt...
Tak też samo zrób z Opendialogiem...
No i nasz notatnik gotowy. Oto cały kod:
Kod:
unit Unit1;
interface
uses
**Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
**Dialogs, StdCtrls, Menus;
type
**TForm1 = class(TForm)
****Button1: TButton;
****OpenDialog1: TOpenDialog;
****MainMenu1: TMainMenu;
****Plik1: TMenuItem;
****Nowy1: TMenuItem;
****Zakoncz: TMenuItem;
****Zapiszjako1: TMenuItem;
****Otwrz1: TMenuItem;
****Edycja1: TMenuItem;
****Kopiuj1: TMenuItem;
****Wklej1: TMenuItem;
****Wytnij1: TMenuItem;
****Memo1: TMemo;
****SaveDialog1: TSaveDialog;
****procedure Otwrz1Click(Sender: TObject);
****procedure Zapiszjako1Click(Sender: TObject);
****procedure Kopiuj1Click(Sender: TObject);
****procedure Wklej1Click(Sender: TObject);
****procedure Wytnij1Click(Sender: TObject);
****procedure Nowy1Click(Sender: TObject);
****procedure ZakonczClick(Sender: TObject);
**private
****{ Private declarations }
**public
****{ Public declarations }
**end;
var
**Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Otwrz1Click(Sender: TObject);
begin
If opendialog1.execute then********//jeżeli opendialog się wyswietlil, to...
memo1.lines.loadfromfile(Opendialog1.filename); //zapisz w podanej sciezce tresc memo.
end;
procedure TForm1.Zapiszjako1Click(Sender: TObject);
begin
{wyswietlenie wiadomosci, jezeli nacisnieto tak, to...}
if Application.MessageBox('Czy zapisac plik?','Zapisywanie...',MB_YESNO + MB_ICONQUESTION)= IDYES then
begin
savedialog1.execute;******** //wyswietl savedialog...
memo1.Lines.SaveToFile(Savedialog1.filename + '.txt')** //zapisz na dysku tresc memo1...
end;
end;
procedure TForm1.Kopiuj1Click(Sender: TObject);
begin
memo1.copytoclipboard; //kopiowanie zaznaczonego tekstu...
end;
procedure TForm1.Wklej1Click(Sender: TObject);
begin
memo1.PasteFromClipboard; //wklejanie zaznaczonego tekstu...
end;
procedure TForm1.Wytnij1Click(Sender: TObject);
begin
memo1.CutToClipboard; //wycinanie zaznaczonego tekstu...
end;
procedure TForm1.Nowy1Click(Sender: TObject);
begin
Memo1.Clear; //czyści komponent Memo
end;
procedure TForm1.Zapisz1Click(Sender: TObject);
begin
application.Terminate; //zakończenie aplikacji.
end;
procedure TForm1.ZakonczClick(Sender: TObject);
begin
application.Terminate; //zakończenie aplikacji.
end;
end.
Doszukaliście się błędów? Piszcie