Function tForm2.CodeCount : String;
var
IScreenCount, i: Integer;
SCode : String;
begin
//레코드가 비어있으면 처음 pk에 10개의0을 집어넣습니다.
if Query2.RecordCount = 0 then begin
Result := '0000000000';
end
//여기서부터가 문제인데여... 0000000001그다음은 0000000002이런식으로
pk를 스트링으로 집어넣어야 하는데..물론 serial로 넣으면 되지만...
꼭 이렇게 넣어야할것이 다른 db와도 연결을시켜서 복합적으로 검색을 하려고
하니까..스트링을 써야 할것 같아서여.. 문법이 틀렸나?
else begin
if Query2.Last then begin
//이렇게 하면 현재 pk가 int변수 IScreenCount에 들어가겠져?
IScreenCount := Query2.Fieldbyname('screen_code').AsInteger;
'0000000000'를 int로 바꾸어서 넣으면 int 0
이 될테고..
//int 0에 +1을 하면 1이될테고...
IScreenCount+1;
//그걸 length 해서 나머지 9개를 '0'으로 채워넣으면
for i :=0 to i:= 10-Length(IScreenCount)do begin
SCode := '0';
end;
//일단 9개의 0이 SCode 에 채워넣어지면
//형변환을 해서 붙여넣으면 9개의 '0'과하나의'1'이 넣어
져야하는데......
SCode := +Length(IScreenCount)intTostr;
end;
end;
end;
end;
Function ...
var
...
begin
if Query2.RecordCount = 0 then Result := '0000000000'
else begin
if Query2.Last then
begin
IScreenCount := Query2.Fieldbyname('screen_code').AsInteger;
SCode := formatfloat('0000000000',IScreenCount+1);
end;
end;
end;
이런식으로요.... 좀 간단해 졌죠.... ^^;
그럼...
aparadin wrote:
>
> Function tForm2.CodeCount : String;
> var
> IScreenCount, i: Integer;
> SCode : String;
> begin
> //레코드가 비어있으면 처음 pk에 10개의0을 집어넣습니다.
> if Query2.RecordCount = 0 then begin
> Result := '0000000000';
> end
> //여기서부터가 문제인데여... 0000000001그다음은 0000000002이런식으로
> pk를 스트링으로 집어넣어야 하는데..물론 serial로 넣으면 되지만...
> 꼭 이렇게 넣어야할것이 다른 db와도 연결을시켜서 복합적으로 검색을 하려고
> 하니까..스트링을 써야 할것 같아서여.. 문법이 틀렸나?
> else begin
> if Query2.Last then begin
> //이렇게 하면 현재 pk가 int변수 IScreenCount에 들어가겠져?
> IScreenCount := Query2.Fieldbyname('screen_code').AsInteger;
>
> '0000000000'를 int로 바꾸어서 넣으면 int 0
> 이 될테고..
>
> //int 0에 +1을 하면 1이될테고...
> IScreenCount+1;
>
> //그걸 length 해서 나머지 9개를 '0'으로 채워넣으면
> for i :=0 to i:= 10-Length(IScreenCount)do begin
> SCode := '0';
> end;
> //일단 9개의 0이 SCode 에 채워넣어지면
> //형변환을 해서 붙여넣으면 9개의 '0'과하나의'1'이 넣어
> 져야하는데......
> SCode := +Length(IScreenCount)intTostr;
> end;
> end;
> end;
> end;
>