문자열 한라인을 받아서 구분자가 '|' 로 되있거든여.. | 앞에 문자를 하나씩
잘라서 스트링 그리드에 넣는건데여.. 만약 공백이면 결과값으로 '' 으로 줄려고하는데 에러는 없는데 결과값이 '' 으로 나오네여 어떻게 해야하는지 고수님들 부탁합니다.
function Tform1.GetAValue (Loadfile : String) : String;
var
sTemp, sResult : String;
begin
sTemp := Loadfile;
while length(sTemp)>0 do
begin
sResult := Copy(sTemp, 1, Pos('|', sTemp) -1);
Delete(sTemp, 1, Pos('|', sTemp));
end;
if sResult = '' then
begin
Result := '';
end;
Result := sResult;
end;
ㅎㅎ 닉네임이 같네요........
일단 밑에 로직이 조금 이상하네요....
님이 만든 함수 대로 천천히 따라가보면....
ab|cd|ef 이런값을 넣어도 당군 공백만 들갈껍니다..
function ExtractOneMessage(dv: Char; var exmsg: String):String;
begin
if pos(dv, exmsg) <= 0 then Result := exmsg
else begin
Result := copy(exmsg, 1, pos(dv, exmsg)-1);
delete(exmsg, 1, pos(dv, exmsg));
end;
end;
이걸응용해서 하심 될거 같네요...
참고로 파라메타중에 두번째껏은 Call By Reference로 포인터 개념이라 생각하심됩니다.
var 이걸로 선언했으니 주의해서 사용하시길......개념은 알거라 생각하고 더이상 설명 안드리겠습니다..
그럼 전코 하세욤...^^v