Delphi에 2차원 그룹을 저장하는 방법

3132 단어 Delphi
오늘 갑자기 Delphi의 2차원 그룹을 사용했다. 원래 2차원 그룹으로 사용자의 권한을 저장하여 로그인 인터페이스 후의 몇몇 메뉴 항목을 제어하려고 했는데 데이터베이스에 2차원 그룹을 저장하려면 약간의 전환을 거쳐야 한다는 것을 발견했다. 그래서 멍청한 방법을 생각해서 데이터 라이브러리에서 2차원 그룹을String 문자열로 저장하고 읽은 후에 2차원 그룹으로 복원했다. 다음은 내가 쓴 두 개의 전환 함수이다.2차원수조의 형식은 다음과 같다. a[(1,1,1,1,1,1,1,1,1),(1,1,1,1,1,1,1,1),(1,1,1,1,1,1,1,1,1,1,1)....다음 문자열 형식은 다음과 같습니다. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1......
Function TwoArrayToString(Sender:TObject; SourceArray:myArray; xMax:Integer; yMax:Integer):String;

var

    tmpstr:String;

    i,j:Integer;

begin

    tmpstr:='';

    for i:=1 to xMax do

    begin

        for j:=1 to yMax do

        begin

            if (i<>xMax) or (j<>yMax)  then

            begin

                tmpstr:=tmpStr+IntToStr(SourceArray[i][j]);

                tmpstr:=tmpStr+',';

            end

            else

            begin

                tmpstr:=tmpStr+IntToStr(SourceArray[i][j]);

            end;

        end;

        //tmpstr:=tmpstr+#13#10;

    end;

    result:=tmpstr;

end;

Function StringToTwoArray(Sender:TObject; SourceStr:String; xMax:Integer;yMax:Integer):myArray;

var

    i,j,x:Integer;

    myOwnArray:myArray;

    tmpstr:String;

begin

    x:=1;

    tmpstr:=SourceStr;

    for i:=1 to xMax do

    begin

        for j:=1 to yMax do

        begin

            if x<Length(tmpstr)/2+1 then

            begin

                myOwnArray[i][j]:=StrToInt(tmpstr[x*2-1]);

                inc(x);

            end;

        end;

    end;

    result:=myOwnArray;

end;

주: 일부 변수의 정의는 다음과 같다:const upermissonX=10;const  upermissonY=10; Type   myArray=array[1..upermissonX,1..upermissonY] of integer;

좋은 웹페이지 즐겨찾기