Q&A

  • Memo 컨트롤의 내용을 DB에 저장하고 불렀더니 한줄로만 표시되네요.

안녕하세요.
역시나 근본없는 초보라 그런지 생각치도 못했던 부분이 문제가 되네요.

음... 현재 델파이 2007을 사용 중이고 DB는 파이어버드 2.0을 쓰고 있습니다.

구체적인 상황은,
A폼에서 먼저 [입력]을 누르면 Memo 컨트롤이 있는 B폼이 뜨고
Memo 컨트롤 안에 내용을 입력하고 [저장] 버튼을 누르면 DB에 저장되면서 (쿼리 insert into) B폼이 닫히고 다시 A폼으로 돌아옵니다.

A폼에서 [보기]를 누르면 다시 B폼이 뜨면서 전에 작성했던 내용이 보여줘야 하는데,
입력때는

aaaaa
bbbbb
cccccc

였던 내용이 보기를 하니

aaaaabbbbbccccc

요렇게 나오더라고요.

<!--CodeS-->
var
  i : Integer;
  strMemo : String;

// Memo의 내용을 String에 저장하는 부분입니다.
  for i := 0 to Memo1.Lines.Count - 1 do
  begin
    if i=0 then
      begin
        strMemo := Memo1.Lines.Strings[i];
      end
    else
      begin
        strMemo := strMemo + Memo1.Lines.Strings[i];
      end;
  end;

// 쿼리문로 DB에 저장하는 부분입니다.
  Close;
  SQL.Clear;
  SQL.Add('Insert into TBL_Test ');
  SQL.Add('(vchMemo) ');
  SQL.Add(' VALUES (' + strMemo + ')' );
  ExecSQL;
<!--CodeE-->

그래서 검색을 통해 한 줄이 끝날 때마다 #10#13 이런식으로 다음줄로 넘어가도록 했는데,
메모내용을 나중에 txt로 뽑아내는 부분에서

(작성자|메모)
a1|aaaaabbbbbccccc
b1|dddddeeeeefffff
c1|ggggghhhhhiiiii

요렇게 나오게 하고 싶거든요.

그렇데 #10#13이런식으로 하면

a1|aaaaa
bbbbb
ccccc
b1|ddddd
eeeee
fffff
c1|ggggg
hhhhh
iiiii

요렇게 나와서 요걸 어떻게 해결해야 할 지.... 어렵네요;;

해결방법을 알고 계신분들의 도움을 얻고자 글을 올립니다.


1  COMMENTS
  • Profile
    백록화 2009.08.11 01:13

    보기 를 할경우엔 줄바꿈이 그대로 보여지고... 검색해서 보여줄땐 줄바꿈이 없이 보여준다는 말씀이신가요?

    검색후 보여줄때는 줄바꿈을 제거하셔야겟죠... StringReplace 함수를 참고하세요...

    (그리고...메모의 내용을 담을때 굳이 루프로 돌면서 따로 문자열변수에 담을 필요는 없습니다. Memo1.Lines.Text 로 접근하시면 메모장의 내용그대로~ (줄바꿈코드도 같이..) 제어됩니다. )
    • 하늘사랑
      2009.08.11 01:57
      문제 해결했습니다 모두 감사드립니다 ^^
    • 김동원
    • 2009.08.10 18:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_Apine
      2009.08.12 04:04
      정확히 이해가 가지 않습니다. 프로시져는 반복문으로 처리 하기 위해 만드는 것이고 같은 것이라면 ...
    • 김동원
      2009.08.14 18:13
      답변 감사드립니다. 추후에 자세히 올리도록 하겠습니다.꾸벅
    • 윤영훈
    • 2009.08.09 22:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 백록화
      2009.08.11 01:13
      보기 를 할경우엔 줄바꿈이 그대로 보여지고... 검색해서 보여줄땐 줄바꿈이 없이 보여준다는 말씀이신...
    • 구창민
      2009.08.11 02:25
      안녕하세요.. 엄밀히 말하면 이미지를 넣는것이 아니고.. 포인터를 기억하는 것이겠지요.. 추가시는 ...
    • 이은주
      2009.08.11 19:38
      ^ 사용하지 않은 이런 형태로도 포인터를 기억하게 하는 것인가 보군요. 감사합니다.
    • 장용석
    • 2009.08.07 20:23
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2009.08.07 21:03
      2007 입니다~ www.devtools.co.kr 로 문의 해보세요 ㅋ
    • 이정욱
      2009.08.07 21:03
      혹시나 새로 프로젝트를 하는거라면 당연히 2009 를 추천하구요... 2010도 좋다는 소문이 있습니다.
    • 바람
      2009.08.07 23:43
      Serial Component를 잘 사용해 보지 않아서 에러 이유는 모르겠지만 제가 기억하고 있는 MS-Dos S...
    • 타마마
      2009.08.12 00:36
      간단한 문제가 아니라 설명드리기 난해하긴 한데.. 해당 컴포넌트가 CreateFile을 사용했는가, DeviceIo...
    • 이경원
    • 2009.08.07 19:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2009.08.07 23:14
      except 구문속을 아래처럼 수정하시고, 에러 내용을 로그로 남겨 확인해보세요.. except on E : Ex...
    • 하늘사랑
      2009.08.07 03:31
      글올리고 하나보니.. 다시질문드릴께요 ㅠㅠ;; <p0 AVG="0.28"> 이부분에서 0.28 이란 값이없...
    • 하늘사랑
      2009.08.07 19:20
      에구.. 답글이 없내요 ㅠㅠ;; 그냥 except처리해버렸는뎅.. ㅠㅠ;; 또한가지 <p0 AVG="0.28"> ...
    • 구창민
      2009.08.07 23:21
      안녕하세요.. XMLDocument 를 사용하셨다 가정하구 말씀드릴께요~ p0 노드까지 구해내셨다면, 아래...
    • 하늘사랑
      2009.08.10 20:11
      답변 감사드립니다 ^^ 가져오는거 하고 수정하는것도 다 처리했습니다 ^^;;; 글을 늦게 봤내요 ㅠㅠ;;;...
    • 구창민
      2009.08.11 00:25
      안녕하세요.. 노드까지 찾으셨다면.. for 문은 사용하실 필요없고요.. 단순히 아래 문장을 호출 하시...
    • 하늘사랑
      2009.08.11 01:56
      답변감사합니다 ^^ 문제해결했습니다 정말 감사드립니다 ^^
    • 최용일
      2009.08.04 20:12
      WM_USER + 100로 검색해서 메세지핸들러를 찾으시고 디버깅을 해보세요. 쩝~ 질문하신것을 보니 책한권...
    • 초보자
      2009.08.04 22:09
      책을 보라면 API관련책을 말씀하시는건지요? 가르쳐주는 사람없이 혼자 해나가려니 힘이드네요~
    • 최용일
      2009.08.03 22:12
      기존 연결을 끊고 해보세요.
    • 델델
      2009.08.12 02:43
      myDB.Database1.KeepConnection :=false; 이 부분이 기존 연결을 끊는거 아닌가요? ㅠㅠ
    • 최용일
      2009.08.12 17:51
      전혀 아닌데요... Database1.Connected := False;
    • 오경용
      2009.07.30 10:26
      LongDateFormat := 'yyyy-MM-dd'; LongTimeFormat := 'hh:mm:ss'; ... ... if Fields[i].F...
    • 윤영훈
      2009.08.09 22:15
      오오- 감사합니다. TStringList로 자르고 오후가 나오면 +12하는 등으로 해서 복잡하게 만들었던 부분이...
    • 유경민
    • 2009.07.30 03:54
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2009.08.05 18:40
      확인눌렀을때 위의 if문을 전부 확인할수 있게 하고 싶습니다. <-- 의미파악 불명 뭘 확인을 누...
    • 유경민
      2009.08.26 06:25
      ㅎㅎ 죄송해요 답변이 늦었죠 어떻게 쪼물딱 거리니 되더라고요 답변 감사합니다^^
    • 여운병
      2009.07.31 00:24
      어떤 오류인지 알아야 답변 가능할 것 같은데요? 소스코드라도...
    • 박찬석
      2009.07.31 00:55
      uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Men...
    • 여운병
      2009.07.31 01:42
      uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, M...
    • 소울해커
      2009.08.05 18:47
      델파이에서 필드를 불러올때 인덱스 값으로 불러오시면서 Suju 테이블의 필드 수를 초과해서 지정하신...
    • 유경민
    • 2009.07.29 11:43
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2009.08.05 18:42
      전역 키보드 후킹에 대하여 공부하셔야 될 겁니다. 그런데 뭘 만드시기 위해 고런 형태가 필요하신지....
    • 유경민
      2009.08.07 01:26
      출결 프로그램 만들고 있습니다. 컴퓨터가 2대면 상관없는대 출결프로그램 구동시 다른작업을 할수 없기...
    • 임대순
      2009.07.27 23:37
      흠...레코드카운더면 될꺼 같은데요...이상 초보의 답변있었습니다.
    • 백록화
      2009.07.28 20:45
      A로 시작하는거 Select 회원코드필드 from tbl_name where 회원코드필드 like 'A%'; max 함수로 ...
    • 정락문
      2009.07.28 22:22
      백록화님이 하신 것 처럼... 모방을 하면 조건절에 이렇게 들어가도 될 듯 해요. Select 회원코드필드 ...
    • phono
      2009.07.29 07:30
      일단 파이어버드는 인터베이스랑 거의 같은 sql을 쓸텐데.. , 일단 지금 제가 사용하고 있는 db가 ms-...
    • 윤영훈
      2009.07.29 19:02
      사실은 방법을 못찾다가 A, B, C를 구분하는 새로운 필드를 하나 더 만들어서 검색하고 있었는데, 좋은 ...
    • 얼씨구
    • 2009.07.25 19:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정락문
      2009.07.28 22:29
      델파이 코딩으로 하려면, 제일 단순한 방법은 2개의 DB에 접근해서 처리하는 거죵. 1. 10분 주기로 프...