안녕하세요 ^^
직장다니면서 학교를 다니는 학생인데요... 교수님께서 시험을 레포트로 내주셨는데...
델파이를 첨 접해봤는데.. 아무리 봐두 잘 모르겠네요..
무슨 프로그래밍에 대한 주석을 달아서 설명하라구 하셨는데... 무슨소린지두 모릅니다..
이거 회사를 그만두던가 해야지...
조금만 부탁드립니다...그럼 안녕히 계세요.. 꾸벅 ^^
unit editor1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, ToolWin, StdCtrls, Menus, ImgList, ClipBrd;
type
TForm1 = class(TForm)
ImageList1: TImageList;
MainMenu1: TMainMenu;
F1: TMenuItem;
E1: TMenuItem;
N1: TMenuItem;
O1: TMenuItem;
S1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
F2: TMenuItem;
RichEdit1: TRichEdit;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
N8: TMenuItem;
X1: TMenuItem;
StatusBar1: TStatusBar;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
N9: TMenuItem;
PrintDialog1: TPrintDialog;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
FindDialog1: TFindDialog;
procedure X1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure O1Click(Sender: TObject);
procedure S1Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure F2Click(Sender: TObject);
procedure FindDialog1Find(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure RichEdit1SelectionChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
private
My_Start : integer;
procedure Info_Clip;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Info_Clip;
begin
if Clipboard.HasFormat(CF_TEXT) = True then
begin
N4.Enabled := False;
ToolButton7.Enabled := False;
N5.Enabled := False;
ToolButton8.Enabled := False;
N6.Enabled := True;
ToolButton9.Enabled := True;
end
else
begin
N4.Enabled := False;
ToolButton7.Enabled := False;
N5.Enabled := False;
ToolButton8.Enabled := False;
N6.Enabled := False;
ToolButton9.Enabled := False;
end;
end;
procedure TForm1.X1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Info_Clip;
My_Start := 0;
RichEdit1.Lines.Text :='';
StatusBar1.Panels[1].Text := 'noname01.rtf';
end;
procedure TForm1.N1Click(Sender: TObject);
begin
RichEdit1.Lines.Text :='';
StatusBar1.Panels[1].Text := 'noname01.rtf';
end;
procedure TForm1.O1Click(Sender: TObject);
var
File_Name : String;
begin
if OpenDialog1.Execute then
begin
File_Name := OpenDialog1.FileName;
StatusBar1.Panels[1].Text := File_Name;
RichEdit1.Lines.LoadFromFile(File_Name);
end;
end;
procedure TForm1.S1Click(Sender: TObject);
var
File_Name : String;
begin
File_Name := StatusBar1.Panels[1].Text;
if (RichEdit1.Text = '') then
ShowMessage('입력된 문장이 없으면 저장할 수 없습니다.')
else
RichEdit1.Lines.SaveToFile(File_Name);
end;
procedure TForm1.N9Click(Sender: TObject);
var
File_Name : String;
begin
if SaveDialog1.Execute then
begin
SaveDialog1.Title := '다른이름으로 저장';
File_Name := SaveDialog1.FileName;
end;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
if PrintDialog1.Execute then
RichEdit1.Print(RichEdit1.Text);
end;
procedure TForm1.F2Click(Sender: TObject);
begin
RichEdit1.SelStart := My_Start;
FindDialog1.Execute;
end;
procedure TForm1.FindDialog1Find(Sender: TObject);
var
Len : integer;
Str : string;
begin
Len := Length(FindDialog1.FindText);
Str := FindDialog1.FindText;
RichEdit1.SelStart := RichEdit1.findtext(Str, RichEdit1.SelStart,
length(RichEdit1.Text),[]);
RichEdit1.SelLength := Len;
if RichEdit1.SelStart >= length(RichEdit1.Text) then
begin
ShowMessage('더이상 찾을 자료가 없습니다.');
RichEdit1.SelLength := 0;
My_Start := 0;
end
else My_Start := RichEdit1.SelStart + Len;
FindDialog1.CloseDialog;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
RichEdit1.CutToClipboard;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
RichEdit1.PasteFromClipboard;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
RichEdit1.CopyToClipboard;
end;
procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
if RichEdit1.SelLength > 0 then
begin
N4.Enabled := True;
ToolButton7.Enabled := True;
N5.Enabled := True;
ToolButton8.Enabled := True;
N6.Enabled := False;
ToolButton9.Enabled := False;
end
else
Info_Clip;
end;
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
N1Click(Sender);
end;
procedure TForm1.ToolButton2Click(Sender: TObject);
begin
O1Click(Sender);
end;
procedure TForm1.ToolButton3Click(Sender: TObject);
begin
S1Click(Sender);
end;
procedure TForm1.ToolButton5Click(Sender: TObject);
begin
N3Click(Sender);
end;
procedure TForm1.ToolButton4Click(Sender: TObject);
begin
N9Click(Sender);
end;
procedure TForm1.ToolButton7Click(Sender: TObject);
begin
N4Click(Sender);
end;
procedure TForm1.ToolButton8Click(Sender: TObject);
begin
N5Click(Sender);
end;
procedure TForm1.ToolButton9Click(Sender: TObject);
begin
N6Click(Sender);
end;
procedure TForm1.ToolButton10Click(Sender: TObject);
begin
F2Click(Sender);
end;
end.
교수님이 아마 레포트내는게 귀찮으셨던거 같은데....
델파이 5 30일완성이라는 책의230~247페이지의 에디터 만들기와 동일한거 같네염....
제가 책을 대충봤는데....거기에 있는거 같습니다.....
영진 출판사 꺼구염....
메모장보다는 좀 기능이 많구 워드패드보다는 좀 기능이 적은 겁니다.
info_clip라는 프로시져하나 만들었구.....
기타.....툴바사용해서 툴버튼 기능 넣었구....
메인메뉴컴퍼넌트 사용했구.....등등....-_-;
에궁...중간에 쓰다가 포기입니다......대충적을려구 했는데.....일일이 쓰기두 힘들구...아무래도 님의 숙제니깐...^^; 참고하시구 ....열심히 하셈..........
책한번 찾아보셈....-_-;
궁금이 wrote:
> 안녕하세요 ^^
>
> 직장다니면서 학교를 다니는 학생인데요... 교수님께서 시험을 레포트로 내주셨는데...
>
> 델파이를 첨 접해봤는데.. 아무리 봐두 잘 모르겠네요..
>
> 무슨 프로그래밍에 대한 주석을 달아서 설명하라구 하셨는데... 무슨소린지두 모릅니다..
>
> 이거 회사를 그만두던가 해야지...
>
> 조금만 부탁드립니다...그럼 안녕히 계세요.. 꾸벅 ^^
>
> unit editor1;
>
> interface
>
> uses
> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
> ComCtrls, ToolWin, StdCtrls, Menus, ImgList, ClipBrd;
>
> type
> TForm1 = class(TForm)
> ImageList1: TImageList;
> MainMenu1: TMainMenu;
> F1: TMenuItem;
> E1: TMenuItem;
> N1: TMenuItem;
> O1: TMenuItem;
> S1: TMenuItem;
> N2: TMenuItem;
> N3: TMenuItem;
> N4: TMenuItem;
> N5: TMenuItem;
> N6: TMenuItem;
> N7: TMenuItem;
> F2: TMenuItem;
> RichEdit1: TRichEdit;
> ToolBar1: TToolBar;
> ToolButton1: TToolButton;
> ToolButton2: TToolButton;
> ToolButton3: TToolButton;
> ToolButton4: TToolButton;
> N8: TMenuItem;
> X1: TMenuItem;
> StatusBar1: TStatusBar;
> OpenDialog1: TOpenDialog;
> SaveDialog1: TSaveDialog;
> N9: TMenuItem;
> PrintDialog1: TPrintDialog;
> ToolButton5: TToolButton;
> ToolButton6: TToolButton;
> ToolButton7: TToolButton;
> ToolButton8: TToolButton;
> ToolButton9: TToolButton;
> ToolButton10: TToolButton;
> FindDialog1: TFindDialog;
> procedure X1Click(Sender: TObject);
> procedure FormCreate(Sender: TObject);
> procedure N1Click(Sender: TObject);
> procedure O1Click(Sender: TObject);
> procedure S1Click(Sender: TObject);
> procedure N9Click(Sender: TObject);
> procedure N3Click(Sender: TObject);
> procedure F2Click(Sender: TObject);
> procedure FindDialog1Find(Sender: TObject);
> procedure N4Click(Sender: TObject);
> procedure N6Click(Sender: TObject);
> procedure N5Click(Sender: TObject);
> procedure RichEdit1SelectionChange(Sender: TObject);
> procedure ToolButton1Click(Sender: TObject);
> procedure ToolButton2Click(Sender: TObject);
> procedure ToolButton3Click(Sender: TObject);
> procedure ToolButton5Click(Sender: TObject);
> procedure ToolButton4Click(Sender: TObject);
> procedure ToolButton7Click(Sender: TObject);
> procedure ToolButton8Click(Sender: TObject);
> procedure ToolButton9Click(Sender: TObject);
> procedure ToolButton10Click(Sender: TObject);
> private
//변수 선언
> My_Start : integer;
> procedure Info_Clip;
> { Private declarations }
> public
> { Public declarations }
> end;
>
> var
> Form1: TForm1;
>
> implementation
>
> {$R *.DFM}
//사용자 프로시져.....클립보드에 들어 있는 내용이 텍스트인지 확인
> procedure TForm1.Info_Clip;
> begin
텍스트이면 n4,n5,n6비활성화
툴버튼7,8,9번 비활성화
> if Clipboard.HasFormat(CF_TEXT) = True then
> begin
>
> N4.Enabled := False;
> ToolButton7.Enabled := False;
>
> N5.Enabled := False;
> ToolButton8.Enabled := False;
>
> N6.Enabled := True;
> ToolButton9.Enabled := True;
> end
> else
> begin
> N4.Enabled := False;
> ToolButton7.Enabled := False;
> N5.Enabled := False;
> ToolButton8.Enabled := False;
> N6.Enabled := False;
> ToolButton9.Enabled := False;
> end;
> end;
x1클릭하면 종료시킴....
> procedure TForm1.X1Click(Sender: TObject);
> begin
> Close;
> end;
>
폼이 실행될때 초기화
> procedure TForm1.FormCreate(Sender: TObject);
> begin
> Info_Clip;
> My_Start := 0;
> RichEdit1.Lines.Text :='';
> StatusBar1.Panels[1].Text := 'noname01.rtf';
> end;
>
에디터화면을 공백으로 초기화
스태투스바에 noname01.rtf로 출력
> procedure TForm1.N1Click(Sender: TObject);
> begin
> RichEdit1.Lines.Text :='';
> StatusBar1.Panels[1].Text := 'noname01.rtf';
> end;
>
>
파일열기 대화상자를 실행..
> procedure TForm1.O1Click(Sender: TObject);
> var
> File_Name : String;
> begin
>
> if OpenDialog1.Execute then
> begin
> File_Name := OpenDialog1.FileName;
> StatusBar1.Panels[1].Text := File_Name;
> RichEdit1.Lines.LoadFromFile(File_Name);
> end;
> end;
>
> procedure TForm1.S1Click(Sender: TObject);
> var
> File_Name : String;
> begin
> File_Name := StatusBar1.Panels[1].Text;
>
> if (RichEdit1.Text = '') then
> ShowMessage('입력된 문장이 없으면 저장할 수 없습니다.')
> else
>
> RichEdit1.Lines.SaveToFile(File_Name);
>
> end;
>
> procedure TForm1.N9Click(Sender: TObject);
> var
> File_Name : String;
> begin
>
> if SaveDialog1.Execute then
> begin
> SaveDialog1.Title := '다른이름으로 저장';
> File_Name := SaveDialog1.FileName;
> end;
>
> end;
>
> procedure TForm1.N3Click(Sender: TObject);
> begin
>
> if PrintDialog1.Execute then
> RichEdit1.Print(RichEdit1.Text);
>
> end;
>
> procedure TForm1.F2Click(Sender: TObject);
> begin
> RichEdit1.SelStart := My_Start;
>
> FindDialog1.Execute;
> end;
>
> procedure TForm1.FindDialog1Find(Sender: TObject);
> var
> Len : integer;
> Str : string;
> begin
> Len := Length(FindDialog1.FindText);
> Str := FindDialog1.FindText;
> RichEdit1.SelStart := RichEdit1.findtext(Str, RichEdit1.SelStart,
> length(RichEdit1.Text),[]);
> RichEdit1.SelLength := Len;
>
> if RichEdit1.SelStart >= length(RichEdit1.Text) then
> begin
> ShowMessage('더이상 찾을 자료가 없습니다.');
> RichEdit1.SelLength := 0;
> My_Start := 0;
> end
> else My_Start := RichEdit1.SelStart + Len;
>
>
> FindDialog1.CloseDialog;
> end;
>
> procedure TForm1.N4Click(Sender: TObject);
> begin
>
> RichEdit1.CutToClipboard;
> end;
>
> procedure TForm1.N6Click(Sender: TObject);
> begin
>
> RichEdit1.PasteFromClipboard;
> end;
>
> procedure TForm1.N5Click(Sender: TObject);
> begin
>
> RichEdit1.CopyToClipboard;
> end;
>
> procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
> begin
> if RichEdit1.SelLength > 0 then
> begin
> N4.Enabled := True;
> ToolButton7.Enabled := True;
> N5.Enabled := True;
> ToolButton8.Enabled := True;
> N6.Enabled := False;
> ToolButton9.Enabled := False;
> end
> else
> Info_Clip;
> end;
>
> procedure TForm1.ToolButton1Click(Sender: TObject);
> begin
>
> N1Click(Sender);
> end;
>
> procedure TForm1.ToolButton2Click(Sender: TObject);
> begin
>
> O1Click(Sender);
> end;
>
> procedure TForm1.ToolButton3Click(Sender: TObject);
> begin
>
> S1Click(Sender);
> end;
>
> procedure TForm1.ToolButton5Click(Sender: TObject);
> begin
>
> N3Click(Sender);
> end;
>
> procedure TForm1.ToolButton4Click(Sender: TObject);
> begin
>
> N9Click(Sender);
> end;
>
> procedure TForm1.ToolButton7Click(Sender: TObject);
> begin
>
> N4Click(Sender);
> end;
>
> procedure TForm1.ToolButton8Click(Sender: TObject);
> begin
>
> N5Click(Sender);
>
> end;
>
> procedure TForm1.ToolButton9Click(Sender: TObject);
> begin
>
> N6Click(Sender);
> end;
>
> procedure TForm1.ToolButton10Click(Sender: TObject);
> begin
>
> F2Click(Sender);
> end;
>
> end.
>
>