Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
메모 컴포넌트에서 빈줄 삭제..
안녕하세요.
메모의 내용을 스트링 배열에다 저장한후 나중에 다시 불러올려고 하는데요..
메모컴포넌트에서 여러줄의 문장을 친후.. 이걸 스트링 배열에다 저장할때..
메모에 줄은 있지만 문자는 안 친경우.. 예를들어서 그냥 엔터 엔터만 했을경우
빈줄이 있잖아요..
이 빈줄을 없애는 방법을 알고 싶어요.
꼭 답변해주세요.
그럼 수고하세요~
4
COMMENTS
고구마
•
1999.08.10 19:22
이현철 께서 말씀하시기를...
> 안녕하세요.
> 메모의 내용을 스트링 배열에다 저장한후 나중에 다시 불러올려고 하는데요..
> 메모컴포넌트에서 여러줄의 문장을 친후.. 이걸 스트링 배열에다 저장할때..
> 메모에 줄은 있지만 문자는 안 친경우.. 예를들어서 그냥 엔터 엔터만 했을경우
> 빈줄이 있잖아요..
> 이 빈줄을 없애는 방법을 알고 싶어요.
> 꼭 답변해주세요.
> 그럼 수고하세요~
------------------------------------------------
안녕하세요. 그 문제는 아래와 같이 해결하면 좋을 것 같군요.
begin
for i:=0 to memo1.Lines.Count-1 do begin
if memo1.Lines[i] <> '' then
memo2.lines.add(memo1.lines[i]);
end;
end;
하지만 스페이스를 여러개 입력했을때는 소용이 없군요. 왜냐하면 스페이스도 하나의 문자로 인식하기 때문에 빈 줄이 아니라 스페이스 문자가 입력된 것으로 해석하니까요.
단순히 그냥 엔터키만 눌러 다음 줄로 이동하였다면 해결이 되는 군요.
위 예제에서 memo2.lines.add 만 해당하는 배열로 바꾸시면 될 것 같네요. 예를 들어서
begin
j := 0;
for i:=0 to memo1.Lines.Count-1 do begin
if memo1.Lines[i] <> '' then begin
aaa[j] := memo1.lines[i];
inc(j);
end;
end;
end;
그럼 수고하시구요. 안되면 멜 주세요.
0
0
삭제
수정
댓글
이현철
•
1999.08.10 20:29
네. 답변 감사합니다.
전 메모에 있는 내용을 스트링 배열에 저장하고. 그걸 DB에 저장했거든요.
나중에 DB의 내용을 프린트 하는거예요.
메모에서 스트링 배열로 값을 옮길때 값을 보니.. ('문자'#$D#$A'문자') 뭐..
이렇게 저장이 되는데요..
어떤거는 ('문자'#9#$D#$A'문자'#$D#$A'문자') 이렇게 나옵니다.
#$D#A 와 #9#$D#$A 가 틀린데.. 문자 뒤에 #9#$D#$A가 붙으면 그 라인 맨
마지막 문자 뒤에 о <- 요런 동그라미가 붙어서 나옵니다.
문자뒤에 #$D#$A가 붙으면 제대로 나오구요.
#9가 무슨뜻인지요? 메모에서 어떻게 입력했길래 #9가 붙어서 저장돼는지 모르겠네요. 그리고 #$D, #$A도 무슨뜻인지 혹시 아시면 답변 부탁드려요.
0
0
삭제
수정
댓글
고구마
•
1999.08.10 23:42
이현철 께서 말씀하시기를...
> 네. 답변 감사합니다.
> 전 메모에 있는 내용을 스트링 배열에 저장하고. 그걸 DB에 저장했거든요.
> 나중에 DB의 내용을 프린트 하는거예요.
>
> 메모에서 스트링 배열로 값을 옮길때 값을 보니.. ('문자'#$D#$A'문자') 뭐..
> 이렇게 저장이 되는데요..
> 어떤거는 ('문자'#9#$D#$A'문자'#$D#$A'문자') 이렇게 나옵니다.
> #$D#A 와 #9#$D#$A 가 틀린데.. 문자 뒤에 #9#$D#$A가 붙으면 그 라인 맨
> 마지막 문자 뒤에 о <- 요런 동그라미가 붙어서 나옵니다.
> 문자뒤에 #$D#$A가 붙으면 제대로 나오구요.
>
> #9가 무슨뜻인지요? 메모에서 어떻게 입력했길래 #9가 붙어서 저장돼는지 모르겠네요. 그리고 #$D, #$A도 무슨뜻인지 혹시 아시면 답변 부탁드려요.
>
>
안녕하세요. 음... 우선
#9는 Tab key의 역할을 하는 군요.... 메모에서 찍어보니 그렇게 나오는 군요.
그리고 #$D와 #$A는 정확하게 알 수는 없지만, Line Return의 역할을 하네요.
찍어보니까 그 다음줄로 이동이 되서.....
결론적으로, #9는 Tab을 누르면 입력되는 것 같고, 다른 문자들도 일반적으로 키보드에서 화면에 표시하는 문자가 아니라 특수키 같습니다. 예를 들면 insert, shift, alt, ctrl과 같은 키들이요...
정확한 해결책을 드리지 못해 죄송합니다.
0
0
삭제
수정
댓글
구창민
•
1999.08.10 22:15
이현철 께서 말씀하시기를...
> 네. 답변 감사합니다.
> 전 메모에 있는 내용을 스트링 배열에 저장하고. 그걸 DB에 저장했거든요.
> 나중에 DB의 내용을 프린트 하는거예요.
>
> 메모에서 스트링 배열로 값을 옮길때 값을 보니.. ('문자'#$D#$A'문자') 뭐..
> 이렇게 저장이 되는데요..
> 어떤거는 ('문자'#9#$D#$A'문자'#$D#$A'문자') 이렇게 나옵니다.
> #$D#A 와 #9#$D#$A 가 틀린데.. 문자 뒤에 #9#$D#$A가 붙으면 그 라인 맨
> 마지막 문자 뒤에 о <- 요런 동그라미가 붙어서 나옵니다.
> 문자뒤에 #$D#$A가 붙으면 제대로 나오구요.
>
> #9가 무슨뜻인지요? 메모에서 어떻게 입력했길래 #9가 붙어서 저장돼는지 모르겠네요. 그리고 #$D, #$A도 무슨뜻인지 혹시 아시면 답변 부탁드려요.
>
>
>
안녕하세요? 구창민입니다.
말씀하신 #9는 탭키입니다.
0D0A문자는 커서를 다음줄로 라인의 가장앞으로 보내는
제어문자입니다.
전부터 문답란에 간간히 보이는 질문이라 한번
간단히 작성해보았습니다.
개행문자를 삭제할 원본 파일명과 타켓파일명을 인자로
아래 함수를 호출하면, 개행문자가 삭제된 파일이
만들어 지는 함수입니다.
보시고, 참고 되시길 바랍니다.
procedure BlankLineDel(SrcFile:String; DestFile:String);
var
i: integer;
SF, DF: System.Text;
FLine: String;
isBlankLine: Boolean;
begin
Assign(SF, SrcFile);
Assign(DF, DestFile);
Reset(SF);
ReWrite(DF);
while not EOF(SF) do
begin
ReadLn(SF, FLine);
isBlankLine:= False;
for i:= 1 to Length(FLine) do
begin
if (FLine[i] <> #9) and (FLine[i] <> #10) and
(FLine[i] <> #13) and (FLine[i] <> #32) then
begin
isBlankLine:= True;
break;
end;
end;
if isBlankLine then Writeln(DF, FLine);
end;
System.Close(SF);
System.Close(DF);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
BlankLineDel('d:tmpsrc.txt', 'd:tmpdest.txt');
end;
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
이중락
•
1999.08.10 19:37
1
COMMENTS
/
0
LIKES
폼위의 수많은 VCL속성을 효율적으로 변경
안치봉
•
1999.08.10 19:56
for i := 0 to ControlCount - 1 do begin if Controls[i] is TLabel then TLabel(Controls[i]).V...
발도제
•
1999.08.10 19:32
2
COMMENTS
/
0
LIKES
프린트 스풀러 제어방법! 답이 없어 제가 연구한 결과를 올립니다.
김영대
•
1999.08.10 20:58
좋은 소스를 공개해 주셔서 감사합니다 하시는일 잘 되시길 바랍니다
발도제
•
1999.08.10 21:50
김영대 께서 말씀하시기를... > 좋은 소스를 공개해 주셔서 감사합니다 > 하시는일 잘 되시길 바랍니다 ...
오세웅
•
1999.08.10 19:30
1
COMMENTS
/
0
LIKES
타이틀바 없는 폼 이동및 클릭
구창민
•
1999.08.10 22:40
오세웅 께서 말씀하시기를... > 안녕하세요 > 타이틀바 없는 폼의 이동에 대해서는 이곳에서 찾을 > 수 ...
이현철
•
1999.08.10 18:04
4
COMMENTS
/
0
LIKES
메모 컴포넌트에서 빈줄 삭제..
안녕하세요. 메모의 내용을 스트링 배열에다 저장한후 나중에 다시 불러올려고 하는데요.. 메모컴포넌트에서 여러줄의 문장을 친후.. 이걸 스트링 배열에다 저장할때.. 메모에 줄은 있지만 문자는 안 친경우.. 예를들어서 그냥 엔터 엔터...
고구마
•
1999.08.10 19:22
이현철 께서 말씀하시기를... > 안녕하세요. > 메모의 내용을 스트링 배열에다 저장한후 나중에 다시 불...
이현철
•
1999.08.10 20:29
네. 답변 감사합니다. 전 메모에 있는 내용을 스트링 배열에 저장하고. 그걸 DB에 저장했거든요. 나중에 ...
고구마
•
1999.08.10 23:42
이현철 께서 말씀하시기를... > 네. 답변 감사합니다. > 전 메모에 있는 내용을 스트링 배열에 저장하고....
구창민
•
1999.08.10 22:15
이현철 께서 말씀하시기를... > 네. 답변 감사합니다. > 전 메모에 있는 내용을 스트링 배열에 저장하고....
박대석
•
1999.08.10 17:56
1
COMMENTS
/
0
LIKES
cad file display
김영대
•
1999.08.10 21:03
박대석 께서 말씀하시기를... > cad file을 델파이에서 display할 수 있는 방법이 없는지요 아래 사이...
장일형
1999.08.10 17:53
0
COMMENTS
/
0
LIKES
그림 패턴 비교??
임명숙
•
1999.08.10 08:50
1
COMMENTS
/
0
LIKES
Query로 입력을 하려고 하면 read_only 라고 나와여~~
제임스딘
•
1999.08.10 19:01
임명숙 께서 말씀하시기를... > Query로 table을 핸들링해보고자 하는 초짭니다. > Query로 입력을 해보...
이지만
•
1999.08.10 07:40
2
COMMENTS
/
0
LIKES
드라이브(Media) 찾기..
김종호
•
1999.08.12 04:26
이지만 께서 말씀하시기를... > Delphi 에서 ListBOX 에 시스템에 탑재된 미디어(Floopy, HARD, CDROM.......
김정완
•
1999.08.10 11:52
이지만 께서 말씀하시기를... > Delphi 에서 ListBOX 에 시스템에 탑재된 미디어(Floopy, HARD, CDROM.......
이광주
•
1999.08.10 06:02
1
COMMENTS
/
0
LIKES
tracert의 구현방법
김영대
•
1999.08.10 21:02
이광주 께서 말씀하시기를... > tracert에서 나오는 데이터값들을 델에서 사용하고 싶습니다. > 데이터 ...
김배성
1999.08.10 05:34
0
COMMENTS
/
0
LIKES
MS-SQL 6.5 가 싫어요.~~~~~
귀염뎅이
•
1999.08.10 04:56
1
COMMENTS
/
0
LIKES
Drag&drop되는 object의 위치 추적
김영대
•
1999.08.10 20:52
귀염뎅이 께서 말씀하시기를... > 안녕하세요. > 델파이 초보입니다. > 애플리케이션 실행간에 object( ...
안갑철
•
1999.08.10 04:25
1
COMMENTS
/
0
LIKES
델파이에서 UNIX계정을 이용하여 접속하려면...?
김영대
•
1999.08.10 20:56
안갑철 께서 말씀하시기를... > 델파이 프로그램에서 사용자ID와 비밀번호를 입력받은후 > 해당 입력값을...
황하성
•
1999.08.10 03:44
1
COMMENTS
/
0
LIKES
외부프로그램 실행시 옵션 지정은 어떻게?
sunhee
•
1999.08.10 03:53
처음 프로그램 돌아갈 때 winexe("a.exe a1 a2", SW_SHOWNORMAL)이런 식으로 적어주시면 됩니다. 그...
김여정
•
1999.08.10 03:28
1
COMMENTS
/
0
LIKES
[긴급]다양한 조건+다양한결과 산출방법
조복기
•
1999.08.10 08:11
안녕하세요..조복기입니다.. 제가 이해가 잘 안가긴 하지만요 조건도 유동적이고 결과필드들도 유동...
이용일
•
1999.08.10 03:07
3
COMMENTS
/
0
LIKES
캡션바없는 폼 드래그 질문.
문보석
•
1999.08.10 19:31
이용일 께서 말씀하시기를... > 또 질문이군요..^^; > 캡션바없는 폼이 있는데요. > 이 폼 안에 Memo컴...
이용일
•
1999.08.11 03:03
문보석 께서 말씀하시기를... > 저는 씨빌더 사용자라 파스칼프로그램은 잘 모르겠구요...물론 거의 비슷...
안치봉
•
1999.08.10 03:20
글쎄요. 두가지중에 하나는 포기를 하시죠.. 아니면 3번을 택하시던지 (자세한건 나이렉스의 팁란에서 캡...
이용일
•
1999.08.10 02:57
1
COMMENTS
/
0
LIKES
파일 찾기
sunhee
•
1999.08.10 03:37
메뉴중에서요 팁모아쪽에 김영대님쪽것을 찾아보면 있습니다. 파일 찾기 검색하면 될거 같네요. 이용일...
박면구
•
1999.08.10 02:43
1
COMMENTS
/
0
LIKES
콤포넌트에 TStrings 프라퍼트 넣기 에러
김정완
•
1999.08.10 10:50
박면구 께서 말씀하시기를... > TComboBox를 상속받아서 > TComDouble 이라는 콤포넌트를 만드려고 합니...
franco97
1999.08.10 02:43
0
COMMENTS
/
0
LIKES
[출력]용지방항을 임의대로 지정하는 방법은?
궁금이
1999.08.10 01:34
0
COMMENTS
/
0
LIKES
NT에서 OLEAUT32.DLL Error
양동욱
1999.08.09 21:07
0
COMMENTS
/
0
LIKES
QReport 출력시 글자사이 간격을 늘릴수 없나요?
이현철
1999/08/10 18:04
Views
318
Likes
0
Comments
4
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 안녕하세요.
> 메모의 내용을 스트링 배열에다 저장한후 나중에 다시 불러올려고 하는데요..
> 메모컴포넌트에서 여러줄의 문장을 친후.. 이걸 스트링 배열에다 저장할때..
> 메모에 줄은 있지만 문자는 안 친경우.. 예를들어서 그냥 엔터 엔터만 했을경우
> 빈줄이 있잖아요..
> 이 빈줄을 없애는 방법을 알고 싶어요.
> 꼭 답변해주세요.
> 그럼 수고하세요~
------------------------------------------------
안녕하세요. 그 문제는 아래와 같이 해결하면 좋을 것 같군요.
begin
for i:=0 to memo1.Lines.Count-1 do begin
if memo1.Lines[i] <> '' then
memo2.lines.add(memo1.lines[i]);
end;
end;
하지만 스페이스를 여러개 입력했을때는 소용이 없군요. 왜냐하면 스페이스도 하나의 문자로 인식하기 때문에 빈 줄이 아니라 스페이스 문자가 입력된 것으로 해석하니까요.
단순히 그냥 엔터키만 눌러 다음 줄로 이동하였다면 해결이 되는 군요.
위 예제에서 memo2.lines.add 만 해당하는 배열로 바꾸시면 될 것 같네요. 예를 들어서
begin
j := 0;
for i:=0 to memo1.Lines.Count-1 do begin
if memo1.Lines[i] <> '' then begin
aaa[j] := memo1.lines[i];
inc(j);
end;
end;
end;
그럼 수고하시구요. 안되면 멜 주세요.