Q&A

  • 리치에디터에서 문자열 합치기...


안녕하세요..

도저히 제 힘으로는 답이 안나와서 고수님들 도움을 부탁드립니다.

풀어야될 문제는 첨부 그림에서 보듯이

richedit1에서 여러 라인으로 되어 있는 문자열을 버튼을 눌렀을때

richedit2에 라인당 15자 미만으로 문자열을 합쳐야 되는 문제입니다.

즉 richedit2에 15자 미만이 될때까지 richedit1 의 각 라인별 문자열이 계속 더해져서

richedit2 의 한개의 라인이 되어야 합니다.


제 실력으로는 너무 어렵네요..^.^




어떻게 해야 될까요...? 가능하시면 예제 소스 부탁 부탁드립니다.

감사합니다.
2  COMMENTS
  • Profile
    손희성 2007.06.01 02:21



    음.. 초보입니다.
    그래도 제생각을 올려보죠.
    우선 richedit1 내용을 sTemp라는 곳에 담고
    시작하죠

    var
        i, len    : integer;
        sTemp, sResult : String;
    begin
        sResult := '';
        sTemp := richedit1.Text;
        len := length(sTemp);
        for i := 1 to len do
        begin
            if (copy(sTemp,i,1) = #13) then
            begin
                sResult := sResult + ' ';
                if (length(sResult) mod 30) = 0 Then
                begin
                     sResult := sResult + #13#10;
                end;
            end
            else if (copy(sTemp,i,1) = #10) then
            begin
                if (length(sResult) mod 30) = 0 Then
                begin
                     sResult := sResult + #13#10;
                end;
            end
            else
            begin
                sResult := sResult + copy(sTemp,i,1);
                if (length(sResult) mod 30) = 0 Then
                begin
                     sResult := sResult + #13#10;
                end;
            end;
        end;

        RichEdit2.text := sResult;
    end;


    여기서 문제가 있는데 저도 고수님들의 도움이 필요하겠죠.. ^^
    문제는 한글을 30byte 개념(맞나?)으로 나누다 보면 깨집니다.
    이건 저도 어쩔수 없는뎅. *^^*
  • Profile
    권순오 2007.06.01 02:48
    안녕하세요...답변주셔서 정말 감사합니다.

    그런데, 제가 처리해야할 문제는

    richedit1의  문자열을 전체를  합쳐서 15자(30byte)씩 다시 자르는 것이 아니고

    richedit2에 라인당 15자 미만으로 richedit1의 라인별 문자열을 합치되 합쳐진 문자열이 15자 이상이면

    다음 라인으로 넘어가게 해야 합니다.  따라서 richedit2의 한라인에 꼭 15자가 들어가지 않아도 되구요.


    설명이 이해가 되셨는지 모르겠습니다.....어떻게 하면 좋을까요...?









    • 손호용
    • 2007.06.04 17:00
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이영주
    • 2007.06.02 15:59
    • 2 COMMENTS
    • /
    • 0 LIKES
    • jj
      2007.06.03 00:01
      안녕하세요~~~ 제가 현재 사용하고 있는 스케줄러용 셀 실행 프로그램중의 명령어 입니다.  ...
    • 이영주
      2007.06.03 09:52
      제가 한것과 그리 다른것은 없군요. 근데 왜 안될까요? abc.exe 등은 아주 자~알 실행되는데 배치파...
    • 최명화
    • 2007.06.02 06:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2007.06.02 10:29
      네... 불편을 감수하셔야 합니다.  이게 정석적인 방법입니다. TStringGrid뿐만 아니라 모든 컨...
    • 송지훈
    • 2007.06.01 20:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2007.06.02 10:33
      안녕하세요. 최용일입니다. 비교를 할려면 다운을 받아야 하죠... 다운받았는데 같은 파일이면... 대략...
    • 이원규
    • 2007.06.01 08:19
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2007.06.01 18:45
      문법적인 오류입니다... Unit19 in 'Unit19.pas' {Form19}, ==> Unit19 in 'Unit19.pas' {Form...
    • 이원규
      2007.06.02 06:08
    • coolkkm
    • 2007.06.01 03:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • aiman
      2007.06.01 06:44
      FindFirst, FindNext, FindClose 함수를 이용하세요,,, 아래는 사용예제입니다.^^ procedure TForm...
    • 권순오
    • 2007.06.01 01:52
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 손희성
      2007.06.01 02:21
      음.. 초보입니다. 그래도 제생각을 올려보죠. 우선 richedit1 내용을 sTemp라는 곳에 담고 시작하...
    • 권순오
      2007.06.01 02:48
      안녕하세요...답변주셔서 정말 감사합니다. 그런데, 제가 처리해야할 문제는 richedit1의 &nbs...
    • 배봉기
    • 2007.05.31 21:13
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 손희성
      2007.06.01 01:39
      잘 찾아보면 그런 컴포넌트가 있을 수도 있겠지만 button Event로 Form Size를 변경하면 같은 느낌이 ...
    • 손희성
      2007.06.01 01:37
      저도 초보이긴 한데요. 제가 보기엔 // 맞은수와 틀린수를 배열값에 ... For i := 1 to StringGr...
    • 김윤수
      2007.06.01 02:56
      아직 잘 이해를 못했습니다..;        aTempT[i], aTempF[i] 이걸 변수선...
    • 손희성
      2007.06.01 04:24
      물론 배열 변수로 선언해야 합니다. 배열(array) 선언 하시고 aTempT[i] <-- 값넣는 부분에 a...
    • 김윤수
      2007.06.02 09:16
      그럼 여기서 스트링 그리드2로 어떻게 넣죠?? for i :=1 to cnt do begin    Form2.StringGri...
    • 한경수
    • 2007.05.30 19:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정락문
      2007.06.21 02:30
      AdvStringGrid에는 MergeCells 이라는 함수가 있습니다. 이것을 잘 활용하시면 됩니다. www.tmssoftwa...
    • 유미연
    • 2007.05.29 23:49
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김경식
    • 2007.05.29 21:05
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2007.05.30 04:21
      아직 database에서 질의(query)를 위한 접속+준비단계+SQL 및 컴포넌트 접속 혹은 연결 interface에 대해...
    • 최용일
      2007.05.29 22:48
      table_name이란 테이블이 디비에 존재하기는 한가요? 이것부터 먼저 확인해보세요.
    • 김성현
    • 2007.05.29 07:38
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김경식
    • 2007.05.29 06:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박홍재
      2007.05.29 09:38
      어떤 식으로 구성을 생각하시는 지 모르겠습니다. 일단 아래의 소스로 보면 ssql이라는 변수에 어떤 값도 ...
    • 김정호
    • 2007.05.28 21:03
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2007.05.28 22:10
      안녕하세요. 최용일입니다. 시간관련 함수가 없는 컴파일러는 거의 없습니다... GetTime, SetTime, N...
    • 손희성
      2007.06.01 01:49
      ^^  초보이긴한데... 시간관련 함수라서 다들 아시는데요이겠지만 서버에서 데이터를 가...
    • 최용일
      2007.05.28 22:09
      안녕하세요. 최용일입니다. 그냥 간단히 TIdHttp.Get이나 TIdHttp.Put메소드를 이용해서 서버의 파일을 ...
    • 칼장수
    • 2007.05.26 19:22
    • 3 COMMENTS
    • /
    • 0 LIKES
    • aiman
      2007.05.29 05:35
      잘못업데이트 하신게 아니고, 9.0x 번젼에서 MaxLineAction  property가 없어진 것입니다. ...
    • 칼장수
      2007.05.29 23:12
      답변 감사드립니다. 9.X 버젼으로 가면서 MaxLineAction 프로퍼티가 없어진 졌다는 말씀이죠. 그러면 업...
    • aiman
      2007.05.31 00:24
      정확한 답변을 위해^^ 저도 님과 같은 indy 9.018을 설치 해보았습니다. 9.018 버젼에서 MaxLineAc...