책에 있는 간단한 예제인데...안되거든여....근데 문제점을 못찾겠어여....
중단점걸고 디버깅해보면 변수인 ret_str에 값이 안들어가는거 같은데...왜그런지..
프로그램 내용은 메모장1에 글을 쓰면 공백을 제거한 내용이 메모2에 들어가게 되는건데.. "가 나 다 =>가나다" 이런식으로...ㅠㅠ
procedure TForm1.Button13Click(Sender: TObject);
var
i,my_cnt:integer;
my_str,ret_str:shortstring;
begin
my_str:=copy(memo1.Text,1,length(memo1.text));
my_cnt:=1;
for i:=1 to length(memo1.Text) do
begin
if my_str[i]<>#32 then
begin
ret_str[my_cnt]:=my_str[i];
inc(my_cnt);
end;
end;
memo2.Text:=copy(ret_str,1,my_cnt-1);
end;
end.
...my_str에는 값이 들어가여....
근데 ret_str에는 값이 안들어가는거 같어여...
단지 ShortString이라 긴 문장을 하려면 문제가 될것입니다.
실행 예; Memo1 is not an empty box.
안녕하세요? 반갑 습니다.
실행 결과: Memo1isnotanemptybox.
안녕하세요?반갑습니다.
김동수 wrote:
> 책에 있는 간단한 예제인데...안되거든여....근데 문제점을 못찾겠어여....
> 중단점걸고 디버깅해보면 변수인 ret_str에 값이 안들어가는거 같은데...왜그런지..
> 프로그램 내용은 메모장1에 글을 쓰면 공백을 제거한 내용이 메모2에 들어가게 되는건데.. "가 나 다 =>가나다" 이런식으로...ㅠㅠ
> procedure TForm1.Button13Click(Sender: TObject);
> var
> i,my_cnt:integer;
> my_str,ret_str:shortstring;
> begin
> my_str:=copy(memo1.Text,1,length(memo1.text));
> my_cnt:=1;
> for i:=1 to length(memo1.Text) do
> begin
> if my_str[i]<>#32 then
> begin
> ret_str[my_cnt]:=my_str[i];
> inc(my_cnt);
> end;
> end;
> memo2.Text:=copy(ret_str,1,my_cnt-1);
>
> end;
> end.
> ...my_str에는 값이 들어가여....
> 근데 ret_str에는 값이 안들어가는거 같어여...
>