Q&A

  • 일반
일단 제가 작성한 코드부터 올리겠습니다.

unit Unit1;



interface



uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Mask, ComCtrls;



type

TForm1 = class(TForm)

Label2: TLabel;

Edit1: TEdit;

MaskEdit1: TMaskEdit;

Button1: TButton;

Memo1: TMemo;

Button2: TButton;

FindDialog1: TFindDialog;

Button3: TButton;

RichEdit1: TRichEdit;

ComboBox1: TComboBox;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FindDialog1Find(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure ComboBox1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;



var

Form1: TForm1;

s1, s2:string;

implementation



{$R *.DFM}



procedure TForm1.Button1Click(Sender: TObject);

var

s :string;

begin

s1:=edit1.text;

s2:=maskedit1.text;

s:=s1+' '+s2;

memo1.lines.add(s);

edit1.text:='';

maskedit1.text:='';

end;



procedure TForm1.Button2Click(Sender: TObject);

begin

finddialog1.execute;

end;



procedure TForm1.FindDialog1Find(Sender: TObject);

var

i,j,posreturn,skipchars:integer;

begin

for i:=0 to memo1.lines.count do

begin

posreturn:=pos(finddialog1.findtext,memo1.lines[i]);

if posreturn <> 0 then

begin

skipchars:=0;

for j:=0 to i-1 do

skipchars := skipchars + length(memo1.lines[j]);

skipchars:=skipchars+(i*2);

skipchars:=skipchars+posreturn-1;



memo1.setfocus;

memo1.selstart:=skipchars;

memo1.sellength:=length(finddialog1.findtext);

end

else

showmessage('다시 입력해임마!');

break;

end;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

with richedit1 do begin

lines.clear;

paragraph.numbering:=nsbullet;

paragraph.firstindent:=5;

lines.add(s1);

paragraph.numbering:=nsnone;

paragraph.firstindent:=25;

lines.add('전화: '+ s2);

end;

end;



procedure TForm1.FormCreate(Sender: TObject);

begin

combobox1.Items:=screen.fonts;

end;



procedure TForm1.ComboBox1Click(Sender: TObject);

begin

richedit1.font.name:=combobox1.items[combobox1.itemindex];

richedit1.font.size:=12;

end;



end.



뭐 제대로 작성된 것은 아니지만....

잘 보시면 일단 에디트박스 두개에 자기의 이름과 전화번호등을 입력을 하면

메모박스에 기억이 됩니다. 기억이 되는것까지는 좋은데 이 메모박스에 여러개의

데이타가 기억이 되었을 경우 (savedialog를 사용....)이 메모박스에 있는

데이타중 필요한 항목만 선택을 해서 다른 곳에 있는 박스에 이동을 하게끔

만들고자 합니다. 사실은 레포트로 나왔습니다.

어떤 형은 배열을 이용하라고 하고.... 어떤형은 포인터를 찾아라고하고....

다들 무슨 말인지를 모르겠습니다.

프로그램을 실행을 시켰을 때 메모박스는 라인선택이 안되는것 같은데

정확히 메모박스에 저장된 라인을 선택해서 이동시키는 방법을 좀 가르쳐 주시면

그 은혜는 쉬 잊지 않겠습니다.

그럼 꼭 좀 부탁드립니다.



1  COMMENTS
  • Profile
    최용일 2000.05.09 19:55
    안녕하세요. 최용일입니다.



    컴포넌트 선택을 잘못하신것 같네요. 메모(TMemo)의 주기능은 편집기인데요. 리스트박스



    가(TListBox) 더 효율적인것 같네요. 메모에는 여러개의 특정한 행들을 선택하는



    기능이 없습니다. 그렇다고 못할것은 없지만 비효율적이죠.



    아래와 같이 하시면 원하는 행을 다른 메모(TMemo)로 옮기실 수 있습니다.



    // Memo1에서 Memo2로 한행을 옮긴다.

    Memo2.Lines.Add(Memo1.Lines[옮기기원하는행]);

    Memo1.Lines.Delete(옮기기원하는행);



    ^^ 항상 즐코하세요.



    주기표 wrote:

    > 일단 제가 작성한 코드부터 올리겠습니다.

    > unit Unit1;

    >

    > interface

    >

    > uses

    > Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    > StdCtrls, Mask, ComCtrls;

    >

    > type

    > TForm1 = class(TForm)

    > Label2: TLabel;

    > Edit1: TEdit;

    > MaskEdit1: TMaskEdit;

    > Button1: TButton;

    > Memo1: TMemo;

    > Button2: TButton;

    > FindDialog1: TFindDialog;

    > Button3: TButton;

    > RichEdit1: TRichEdit;

    > ComboBox1: TComboBox;

    > procedure Button1Click(Sender: TObject);

    > procedure Button2Click(Sender: TObject);

    > procedure FindDialog1Find(Sender: TObject);

    > procedure Button3Click(Sender: TObject);

    > procedure FormCreate(Sender: TObject);

    > procedure ComboBox1Click(Sender: TObject);

    > private

    > { Private declarations }

    > public

    > { Public declarations }

    > end;

    >

    > var

    > Form1: TForm1;

    > s1, s2:string;

    > implementation

    >

    > {$R *.DFM}

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > var

    > s :string;

    > begin

    > s1:=edit1.text;

    > s2:=maskedit1.text;

    > s:=s1+' '+s2;

    > memo1.lines.add(s);

    > edit1.text:='';

    > maskedit1.text:='';

    > end;

    >

    > procedure TForm1.Button2Click(Sender: TObject);

    > begin

    > finddialog1.execute;

    > end;

    >

    > procedure TForm1.FindDialog1Find(Sender: TObject);

    > var

    > i,j,posreturn,skipchars:integer;

    > begin

    > for i:=0 to memo1.lines.count do

    > begin

    > posreturn:=pos(finddialog1.findtext,memo1.lines[i]);

    > if posreturn <> 0 then

    > begin

    > skipchars:=0;

    > for j:=0 to i-1 do

    > skipchars := skipchars + length(memo1.lines[j]);

    > skipchars:=skipchars+(i*2);

    > skipchars:=skipchars+posreturn-1;

    >

    > memo1.setfocus;

    > memo1.selstart:=skipchars;

    > memo1.sellength:=length(finddialog1.findtext);

    > end

    > else

    > showmessage('다시 입력해임마!');

    > break;

    > end;

    > end;

    > procedure TForm1.Button3Click(Sender: TObject);

    > begin

    > with richedit1 do begin

    > lines.clear;

    > paragraph.numbering:=nsbullet;

    > paragraph.firstindent:=5;

    > lines.add(s1);

    > paragraph.numbering:=nsnone;

    > paragraph.firstindent:=25;

    > lines.add('전화: '+ s2);

    > end;

    > end;

    >

    > procedure TForm1.FormCreate(Sender: TObject);

    > begin

    > combobox1.Items:=screen.fonts;

    > end;

    >

    > procedure TForm1.ComboBox1Click(Sender: TObject);

    > begin

    > richedit1.font.name:=combobox1.items[combobox1.itemindex];

    > richedit1.font.size:=12;

    > end;

    >

    > end.

    >

    > 뭐 제대로 작성된 것은 아니지만....

    > 잘 보시면 일단 에디트박스 두개에 자기의 이름과 전화번호등을 입력을 하면

    > 메모박스에 기억이 됩니다. 기억이 되는것까지는 좋은데 이 메모박스에 여러개의

    > 데이타가 기억이 되었을 경우 (savedialog를 사용....)이 메모박스에 있는

    > 데이타중 필요한 항목만 선택을 해서 다른 곳에 있는 박스에 이동을 하게끔

    > 만들고자 합니다. 사실은 레포트로 나왔습니다.

    > 어떤 형은 배열을 이용하라고 하고.... 어떤형은 포인터를 찾아라고하고....

    > 다들 무슨 말인지를 모르겠습니다.

    > 프로그램을 실행을 시켰을 때 메모박스는 라인선택이 안되는것 같은데

    > 정확히 메모박스에 저장된 라인을 선택해서 이동시키는 방법을 좀 가르쳐 주시면

    > 그 은혜는 쉬 잊지 않겠습니다.

    > 그럼 꼭 좀 부탁드립니다.

    >

    • 최용일
      2000.05.09 03:12
      안녕하세요. 최용일입니다. 바뀔때마다 자동으로 다운로드하게 하실려면 html에다가 ActiveX버전을 포함...
    • 강인규
      2000.05.08 20:44
      저두 ActiveX를 한번 해보았을 뿐이지만 제가 아는 한도에서 답변해드리겠습니다. db연동이 관건인데........
    • 하얀까마귀
      2000.05.08 22:31
      안녕하세요 하얀까마귀 입니다.. 여러폼에서 사용하신다면 전역으로 선언을 하셔야 할것 같네요.. 전...
    • 하얀까마귀
      2000.05.08 19:40
      안녕하세요 하얀까마귀 입니다.. 휘휴.. 이제 너무많이해서 이말은 하기 싫지만... 'Access violatio...
    • seagod
      2000.05.08 20:20
      로컬에서 테스트하기 위해서는 최소한 랜카드가 있어야합니다. 혹시 랜카드가 설치되었있는지요. 확인하시...
    • 한근수
    • 2000.05.08 19:10
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2000.05.08 19:38
      안녕하세요 하얀까마귀 입니다.. 소스에서 해야되는건 별로 없고요.. 콤포넌트 설정에 대해서 설명드릴...
    • 한근수
      2000.05.08 23:14
      하얀까마귀 wrote: > 안녕하세요 하얀까마귀 입니다.. > > 소스에서 해야되는건 별로 없고요.. 콤포넌...
    • 이선미
    • 2000.05.08 09:01
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.05.08 10:14
      안녕하세요. 최용일입니다. 프로그램상에서 구현을 하던지 DB를 쓰던지 아뭏든 우편번호를 가지고 주소...
    • 이선미
      2000.05.09 05:18
      예. 저도 그렇게 생각을 했거든요 그런데 제가 db를 작성한게 아니라 기존에 있던 db를 받아서 다시 프로...
    • 최용일
      2000.05.09 05:53
      안녕하세요. 최용일입니다. 코딩으로 하셔도 마찬가지의 노가다입니다. 그 많은 우편번호 자료를 일일이...
    • 최용일
      2000.05.08 09:16
      안녕하세요. 최용일입니다. 프라퍼티에디터에서 라벨의 Cursor프로퍼티를 crHandPoint로 설정하세요. ...
    • 최용일
      2000.05.08 08:14
      안녕하세요. 최용일입니다. 저는 델파이로 짠다고 해서 더 쉽다거나 더 어렵다거나 하지는 않는다고 생...
    • Mr.Q
    • 2000.05.08 06:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.05.08 08:44
      안녕하세요. 최용일입니다. 아래와 같이 하시면 좌우여백은 설정하실 수 있는데 위,아래 여백 설정하는...
    • 최용일
      2000.05.08 08:05
      안녕하세요. 최용일입니다. 말씀하신대로 'aaaa'와 'bbbb'가 교대로 띄워지는게 제대로 작동하는 것입니...
    • 노상균
    • 2000.05.08 04:17
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 미정
      2000.05.09 07:18
      노상균 wrote: > 쿼리문에 관한 질문. > > db name : Enroll > field name : Jubsu_no Short I...
    • 노민철
      2000.05.08 06:18
      노상균 wrote: > 쿼리문에 관한 질문. > > db name : Enroll > field name : Jubsu_no Short I...
    • 노상균
    • 2000.05.07 22:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김태균
      2000.05.08 01:04
      일단 datasource1,query1이 마스터구 datasource2,query2을 디테일로 설정하구 SQL을 만들죠. query2의...
    • 주기표
    • 2000.05.07 22:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.05.09 19:55
      안녕하세요. 최용일입니다. 컴포넌트 선택을 잘못하신것 같네요. 메모(TMemo)의 주기능은 편집기인데요....
    • 윤티
      2000.05.08 03:18
      톰과 제리 wrote: > 키입력이 없서면 일정시간후 원도를 종료하려고 합니다. > 전역훅킹을 하면 키입력을...
    • 최용일
      2000.05.08 07:49
      안녕하세요. 최용일입니다. 가상메소드가 무슨 의미인지는 몰라도 OnTimer이벤트를 처리하는 메소드는 T...
    • 최용일
      2000.05.07 05:00
      안녕하세요. 최용일입니다. 또 다른 방법으로는 TWebBrowser를 이용하는 방법도 있습니다. 먼저 플래쉬...
    • 김경식
      2000.05.07 04:51
      poppe wrote: > > image에서 읽을수 있는 파일 종류에 swf가 없더군요.... > > 혹시 swf파일을 읽어...