ex)12.장 입니다. 라는 문자열을 '12'라는 숫자형과
'장 입니다.'라는 문자형으로 구분하려 합니다.
그래서..
function oh(str1:string):string;
var
str2:array[1..3] of char;
i:integer;
p:pchar;
begin
p:=@str1[1];
i:=1;
while #0<>p^ do begin
str2[i]:=p^;
inc(i);
inc(p^);
end;
//str2:=str2+chr(#0);
result:=str2;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
edit2.Text:=oh(edit1.text);
end;
end.
처리를 했더니만 에러가 나더 군요.. 좀 도와주세요...
왜그런지...
> ex)12.장 입니다. 라는 문자열을 '12'라는 숫자형과
> '장 입니다.'라는 문자형으로 구분하려 합니다.
> 그래서..
>
> function oh(str1:string):string;
> var
> str2:array[1..3] of char;
> i:integer;
> p:pchar;
>
> begin
> p:=@str1[1];
> i:=1;
>
> while #0<>p^ do begin
> str2[i]:=p^;
> inc(i);
> inc(p^);
> end;
> //str2:=str2+chr(#0);
> result:=str2;
> end;
>
> procedure TForm1.Edit1Change(Sender: TObject);
> begin
> edit2.Text:=oh(edit1.text);
> end;
>
> end.
> 처리를 했더니만 에러가 나더 군요.. 좀 도와주세요...
> 왜그런지...
해결은 했는데..
이것이 올바른 것인지 모르겠네요..
전에 C를 했는데.. 델파이에는 스트링변수가 있더라구요
그래서 편한줄로만 알았는데.. 꼭 그런것두 아니군요..
저기 고수님들에게 부탁드립니다. 스트링 변수에 대해 자세히좀 갈켜 주세요..
초기화가 필요한지두..
function oh(str:string):string;
var s:string;
i:integer;
begin
i:=1;
while str[i]<>'.' do begin
s:=str;
i:=i+1;
end;
s[i]:=#0;
result:=s;
end;
감사..