VC ++ 에서 제공되는 CString 클래스는 많은 메쏘드를 제공합니다.
예를들어 Find(), Trim(), Left(), Right(), ReverseFind()...등등
델파이에서도 이와 유사한 스트링 클래스가 존해하리라 봅니다.
델파이는 제가 잘 안써봐서리..^^
전 특정한 구분자를 하나두고 그 스트링에서 구분자 뒷부분을 자를려고 하거든요
근데 노가다 코딩을 하니깐 깔끔해 보이지 않아서....
전 이걸
그냥
procedure TForm1.Myprocessor(Sender: TObject);
var
S : String;
S1 : String;
i : Integer;
begin
S := '테스트 문자;1234567';
for i := 0 to Length(S) do Begin
if S[i] = ';' then begin
S1 := pChar(@S[i+1]);
break;
end;
end;
end;
구분자는 ';'입니다.
이렇게 했습니다.
동작은 잘하는데....
쩝 코드가 계속 길어지네요... 마지막 if 조건문안에서 자른 스트링을 비교할 려고 하는데 S1에서 비고하고 그러면 되는데 다시 또 잘라야 되거든요...
뭐 자르는 함수를 하나 따로 만들면 되지만...
아마 이런 역활을 하는 함수가 있을겁니다.
있는걸 굳이 고생하며 만들필요가 없죠?
가르쳐 주시면 고맙겠습니다.
아참 그리고
델파이 스트링에서는 S[0]에는 길이가 들어간다는데 맞나요?
실 데이타는 S[1] 부터 Length(S)에 존재하나요?
이건 제가 직접 해 봐야 겠군요^^
그리고또 헬프 찾는것도 조금 힘드네요...
String 하고 F1키를 누르면 몇가지 밖엔 없네요..허허
제가 너무 초짭니다.
시간이 나면 수순을 밟아서 공부를 해야 겠지만,,, 시간이 촉박한지라...
감사합니다.
즐프~
일단 님이 원하시는 답이 정확하게 무엇인지 모르겠습니다
님이 원하는 답이 ; 위치값을 알고 싶은거에요????
그렇다면 pos(';',s) 이렇게 하면 될꺼구요 저건 integer값을 가지고옵니다
위치값을....
S[1] 이건 위치값이 아니고 1번째 값을 의미합니다
예을들어 s := '23123453'
s := s[1];
결과는 2를 가지고오겠죠 첫번