Pokaż wyniki od 1 do 12 z 12

Temat: Tutorial: Piszemy notatnik(szczegółowo opisane)

  1. #1
    Użytkownik
    Dołączył
    22-05-2007
    Skąd
    Giżycko
    Posty
    104

    Domyślnie

    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:

    Kod:
    *txt
    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

  2. #2

    Domyślnie

    http://www.haker.com.pl/Jak-napisac-prosty...kul-t32954.html :]

    Porównaj sobie Być może takie same, ale twój ma ładniejsze GUI.

  3. #3
    Użytkownik
    Dołączył
    22-05-2007
    Skąd
    Giżycko
    Posty
    104

    Domyślnie

    Napisałeś go troszkę w Inny sposób, mój zaś jest dla zielonych w delphi, stąd prostota kodu i gromada tłumaczeń.

  4. #4
    Użytkownik (R) Avatar djmentos
    Dołączył
    01-05-2007
    Skąd
    Gdansk, Poland, Poland
    Posty
    1 862

    Domyślnie

    Nieważne jak i po co.
    Ważne, że coś nowego. Coś porządnego. Coś po części przydatnego. Coś co można poznać.

    A nie kolejny gówno warty trojan.
    Więcej takich nam potrzeba.

    Od siebie dodam, że jakby to oprzeć na RichEdit było by bardziej funkcjonalne.

  5. #5
    Użytkownik
    Dołączył
    22-05-2007
    Skąd
    Giżycko
    Posty
    104

    Domyślnie

    <div class='quotetop'>CYTAT(djmentos @ 9.09.2008, 13:59) <{POST_SNAPBACK}></div>
    Nieważne jak i po co.
    Ważne, że coś nowego. Coś porządnego. Coś po części przydatnego. Coś co można poznać.

    A nie kolejny gówno warty trojan.
    Więcej takich nam potrzeba.

    Od siebie dodam, że jakby to oprzeć na RichEdit było by bardziej funkcjonalne. [/b]
    Dzięki... artykuł powstał dla początkujących, aby opanowali podstawy najpierw... i sami pisali te swoje trojany, a nie prosili o tutoriale

  6. #6

    Domyślnie

    Dobry artykuł Poproś jakiegoś moderatora niech przyklei, żeby sie temat nie zmarnował.

  7. #7
    Użytkownik
    Dołączył
    22-05-2007
    Skąd
    Giżycko
    Posty
    104

    Domyślnie

    <div class='quotetop'>CYTAT(0wn3r @ 9.09.2008, 16:44) <{POST_SNAPBACK}></div>
    Dobry artykuł Poproś jakiegoś moderatora niech przyklei, żeby sie temat nie zmarnował.[/b]
    Już poprosiłem, nie myślałem, że się komuś spodoba, a o przyklejeniu?
    Będę pisał więcej takich artykułów, bo widzę, że warto. Dzięki za uznanie.
    Pozdrawiam, Bezel21.

  8. #8
    Użytkownik
    Dołączył
    27-05-2008
    Posty
    22

    Domyślnie

    A mam jedno pytanie gdy robie Plik/Nowy i daje w OnClick " Memo1.Clear; " I mam takie cos:

    &#39;Memo1.Clear;&#39; is not a valid identifier.[/b]
    I mam do wyboru OK albo HELP co robie źle??

  9. #9

    Domyślnie

    A wrzuciłeś na formę Memo1?

  10. #10
    Użytkownik
    Dołączył
    27-05-2008
    Posty
    22

    Domyślnie

    Już działa Poprostu nie wpisywalem tego tam gdzie trzeba

    Fajny art ;p

    A mógłby ktoś powiedziec jak zrobic okno About ???

  11. #11

  12. #12

    Domyślnie

    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(&#39;Czy zapisac plik?&#39;,&#39;Zapisywanie...&#39;,MB_YESNO + MB_ICONQUESTION)= IDYES then
    begin
    savedialog1.execute;******** //wyswietl savedialog...
    memo1.Lines.SaveToFile(Savedialog1.filename + &#39;.txt&#39** //zapisz na dysku tresc memo1...


    Przy tym wywala mi błąd proszę o pomoc!

    Gdzie to się znajduje? :

    OK, prawie gotowe, teraz:
    W Object Inspectorze Savedialogu kliknij na Filter

Podobne wątki

  1. [TUTORIAL][DELPHI] Piszemy prosty skaner portów
    Przez p3o
    w forum Delphi/Pascal
    Odpowiedzi: 6
    Ostatni post / autor: 05-04-2010, 16:23
  2. [TUTORIAL]Piszemy interpreter wlasnego prostego jezyka programowania
    Przez grzonu
    w forum Tutoriale - częste pytania i odpowiedzi.
    Odpowiedzi: 0
    Ostatni post / autor: 06-05-2009, 18:40
  3. Notatnik
    Przez Barron
    w forum Delphi/Pascal
    Odpowiedzi: 7
    Ostatni post / autor: 06-03-2009, 11:48
  4. [Delphi] Notatnik
    Przez kopaczka15
    w forum Delphi/Pascal
    Odpowiedzi: 6
    Ostatni post / autor: 31-12-2007, 16:55
  5. Notatnik w Delphi
    Przez FLEJA
    w forum Inne
    Odpowiedzi: 1
    Ostatni post / autor: 16-05-2003, 18:57

Uprawnienia

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •