Q&A

  • **[긴급질문]** DB를 공유해서 쓸때...
한컴퓨터에 어느 한 DB 가 있습니다...

lan으로 연결된 다른컴퓨터들이 이 DB를 공유해서 작업을.하려합니다..

DB는 공유되어 있습니다..



DB 패스는 컴퓨터이름path .. 이런식으로 되어 있습니다..



이때 한컴퓨터에서 그 DB를 쓰고 있으면 lck파일 생겨서

다른 컴퓨터에서는 그 DB에 엑세스할수 없다고 나옵니다. ..

이때 서로 DB를 공유해서 작업을 할수 있는 방법을 알고 싶습니다...



* BDE설정사항을 바꿔주면 될거같은데 뭘바꾸는지 잘 모르겠습니다..

관련파일 : Pdoxurs.lck , paradox.net ,Pdoxurs.net



Delphi Inside Secret 4 책에는 가능하다고 되어 있습니다..

방법이 있으면 좀..알려줍십시요....



DB : Paradox



3  COMMENTS
  • Profile
    송동일 1999.04.29 18:55
    안녕들 하신가요?

    어떤 공식을 입력시켜 두고 데이타를 공식에 적용하려 합니다.

    공식이 영구적이라면 프로그램 코드에 함수로 만들어 놓겠는데...

    수정가능성이 있는거라서...



    위와같은 공식을 프로그램 수행중에 변경할 수 있는 방법이 있나요?

    공식은 a=b+c 나 a=b*c+d등 여러가지가 될수 있어요...



    참고로 db는 오라클을 쓰고 있습니다.



    질문이 너무 초보적인가요? 그래도 좀...



    그럼 오늘도 즐거운 코딩되시길...



  • Profile
    나노시스 1999.07.14 00:22
    Kinjecs 께서 말씀하시기를...

    > 한컴퓨터에 어느 한 DB 가 있습니다...

    > lan으로 연결된 다른컴퓨터들이 이 DB를 공유해서 작업을.하려합니다..

    > DB는 공유되어 있습니다..

    >

    > DB 패스는 컴퓨터이름path .. 이런식으로 되어 있습니다..

    >

    > 이때 한컴퓨터에서 그 DB를 쓰고 있으면 lck파일 생겨서

    > 다른 컴퓨터에서는 그 DB에 엑세스할수 없다고 나옵니다. ..

    > 이때 서로 DB를 공유해서 작업을 할수 있는 방법을 알고 싶습니다...

    >

    > * BDE설정사항을 바꿔주면 될거같은데 뭘바꾸는지 잘 모르겠습니다..

    > 관련파일 : Pdoxurs.lck , paradox.net ,Pdoxurs.net

    >

    > Delphi Inside Secret 4 책에는 가능하다고 되어 있습니다..

    > 방법이 있으면 좀..알려줍십시요....

    >

    > DB : Paradox

    >



    TSession을 사용해 보세요...

    대충 이렇습니다.

    먼저 Session의 프로퍼티의 NetFileDir에 '컴퓨터이름path..'를 넣고요, SessionName에 임의의 이름을 지정해줍니다.

    그러면 TTable의 프로퍼티 SessionName을 클릭하면 세션 이름이

    나타납니다. 연결만 해주시면 됩니다....

    물론 동적생성도 가능... Help File을 보세요...

  • Profile
    김영대 1999.04.29 19:14
    송동일 wrote:

    > 안녕들 하신가요?

    > 어떤 공식을 입력시켜 두고 데이타를 공식에 적용하려 합니다.

    > 공식이 영구적이라면 프로그램 코드에 함수로 만들어 놓겠는데...

    > 수정가능성이 있는거라서...

    >

    > 위와같은 공식을 프로그램 수행중에 변경할 수 있는 방법이 있나요?

    > 공식은 a=b+c 나 a=b*c+d등 여러가지가 될수 있어요...

    >

    > 참고로 db는 오라클을 쓰고 있습니다.

    > 질문이 너무 초보적인가요? 그래도 좀...

    > 그럼 오늘도 즐거운 코딩되시길...



    문자열 수식문장(expression)의 결과 구하기

    안녕하세요 김영대입니다

    아래 소스는 전에 제 홈페이지의 Delphi Tip & Trick 에 올렸던

    예제인데 정확한 해답은 아니지만 조금만 수정하면 원하시는 결과를

    얻을 수 있을것 같아서 올립니다



    아래 예제는 화면의 Edit1의 Text에 sqrt(43.23*12+3.1/1.64) 등등의 임의의

    수식을 입력하고 버튼을 클릭하면 그 결과를 계산해서 보여주고 만약 잘못된

    수식이면 에러난 문자로 캐럿을 이동시킵니다



    이 소스를 보시고

    sqrt(43.23*12+3.1/1.64) -> sqrt(a*b+c/d) 이런 식으로 입력하고

    해당 변수(a,b,c,d)에 값을 넣은 식으로 바꾸시면 될 듯 합니다





    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, forms, Dialogs,

    StdCtrls;



    type

    Tform1 = class(Tform)

    Edit1: TEdit;

    Button1: TButton;

    Label1: TLabel;

    procedure Button1Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    form1: Tform1;



    implementation

    {$R *.DFM}



    procedure Eval(formula: String; {Expression to be evaluated}

    var Value: double; {Return value}

    var ErrPos: Integer); {error position}

    const

    Digit: Set of Char = ['0'..'9'];

    var

    Posn: Integer; {Current position in formula}

    CurrChar: Char; {character at Posn in formula}



    procedure ParseNext;

    begin

    repeat

    Posn := Posn+1;

    if Posn <= Length(formula) then

    CurrChar := formula[Posn]

    else

    CurrChar := ^M;

    until CurrChar<>' ';

    end {ParseNext};



    function add_subt: Real;

    var

    E: Real;

    Opr: Char;



    function mult_DIV: Real;

    var

    S : Real;

    Opr : Char;



    function Power: Real;

    var

    T : Real;



    function Signedop: Real;



    function Unsignedop: Real;

    type

    StdFunc = (fabs, fsqrt, fsqr, fsin, fcos,

    farctan, fln, flog, fexp, ffact);

    StdFuncList = array[StdFunc] of String[6];



    const

    StdFuncName: StdFuncList =

    ('ABS','SQRT','SQR','SIN','COS',

    'ARCTAN','LN','LOG','EXP','FACT');

    var

    E, L, Start : Integer;

    Funnet : Boolean;

    F : Real;

    Sf : StdFunc;



    function Fact(I: Integer): Real;

    begin

    if I > 0 then

    begin

    Fact := I*Fact(I-1);

    end

    else

    Fact := 1;

    end {Fact};



    begin {function Unsignedop}

    if CurrChar in Digit then

    begin

    Start := Posn;

    repeat

    ParseNext

    until not (CurrChar in Digit);

    if CurrChar = '.' then

    repeat

    ParseNext

    until not (CurrChar in Digit);

    if CurrChar = 'E' then

    begin

    ParseNext;

    repeat

    ParseNext

    until not (CurrChar in Digit);

    end;

    Val(Copy(formula,Start,Posn-Start),F,ErrPos);

    end

    else if CurrChar = '(' then

    begin

    ParseNext;

    F := add_subt;

    if CurrChar=')' then

    ParseNext

    else

    ErrPos := Posn;

    end

    else

    begin

    Funnet := False;

    for sf := fabs tO ffact do

    if not Funnet then

    begin

    l := Length(StdFuncName[sf]);

    if Copy(formula,Posn,l)=StdFuncName[sf] then

    begin

    Posn := Posn+l-1;

    ParseNext;

    f := Unsignedop;

    case sf of

    fabs: f := abs(f);

    fsqrt: f := SqrT(f);

    fsqr: f := Sqr(f);

    fsin: f := Sin(f);

    fcos: f := Cos(f);

    farctan: f := ArcTan(f);

    fln : f := LN(f);

    flog: f := LN(f)/LN(10);

    fexp: f := EXP(f);

    ffact: f := fact(Trunc(f));

    end;

    Funnet := True;

    end;

    end;

    if not Funnet then

    begin

    ErrPos := Posn;

    f := 0;

    end;

    end;

    Unsignedop := F;

    end {Unsignedop};



    begin {Signedop}

    if CurrChar='-' then

    begin

    ParseNext;

    Signedop := -Unsignedop;

    end

    else

    Signedop := Unsignedop;

    end {Signedop};



    begin {Power}

    T := Signedop;

    while CurrChar='^' do

    begin

    ParseNext;

    if t <> 0 then

    t := EXP(LN(abs(t))*Signedop)

    else

    t := 0;

    end;

    Power := t;

    end {Power};



    begin {mult_DIV}

    s := Power;

    while CurrChar in ['*','/'] do

    begin

    Opr := CurrChar;

    ParseNext;

    case Opr of

    '*': s := s * Power;

    '/': s := s / Power;

    end;

    end;

    mult_DIV := s;

    end {mult_DIV};



    begin {add_subt}

    E := mult_DIV;

    while CurrChar in ['+','-'] do

    begin

    Opr := CurrChar;

    ParseNext;

    case Opr of

    '+': e := e + mult_DIV;

    '-': e := e - mult_DIV;

    end;

    end;

    add_subt := E;

    end {add_subt};



    begin {PROC Eval}

    if formula[1] = '.' then

    formula := '0' + formula;

    if formula[1]='+' then

    Delete(formula,1,1);

    for Posn:=1 to Length(formula) do

    formula[Posn] := Upcase(formula[Posn]);

    Posn := 0;

    ParseNext;

    Value := add_subt;

    if CurrChar=^M then

    ErrPos := 0

    else

    ErrPos := Posn;

    end {PROC Eval};



    procedure Tform1.Button1Click(Sender: TObject);

    var

    Value: double;

    ErrPos: Integer;

    begin

    Eval(Edit1.Text, Value, ErrPos);

    Label1.Caption := FloatToStr(Value); // 결과값



    if ErrPos > 0 then // 에러가 있다면 해당 문자로 캐럿을 위치 시킨다

    begin

    Edit1.SetFocus;

    {두번째 문자 위치로 커서를 보낸대}

    Edit1.SelStart := ErrPos - 1;

    {문자를 선택하지 않은 상태로 만든다}

    Edit1.SelLength := 0;

    end;

    end;



    end.



    • 강민정
    • 1999.04.29 20:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • rain
      1999.04.30 02:09
      Form만 불러오는 소스를 가지고는 어떤 에러인지는 정확히 모르겠습니다. 물론 모든 소스를 보여달라는 것...
    • 이상주
    • 1999.07.10 22:53
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 정정례
      1999.04.29 19:35
      가상Key번호 중에서 PageUp과 PageDown번호를 알려주세요
    • 신인재
      1999.04.29 19:44
      정정례 wrote: > 가상Key번호 중에서 PageUp과 PageDown번호를 알려주세요 천랸 PDSPF에서 퍼 왔습니다...
    • 이창남
      1999.07.10 22:28
      DBGrid에 직접 데이터 입력할 경우.. Post가 일어나기 전에 특정 컬럼의 값을 체크하려고 합니다.. Dat...
    • 안치봉
      1999.04.29 19:36
      장 아무개 wrote: > 답변중에 > 집합형이라고 하셨는데 > printer_DBGrid.Options.dgRowLines := true ...
    • 정정례
      1999.04.29 19:35
      가상Key번호 중에서 PageUp과 PageDown번호를 알려주세요
    • 신인재
      1999.04.29 19:44
      정정례 wrote: > 가상Key번호 중에서 PageUp과 PageDown번호를 알려주세요 천랸 PDSPF에서 퍼 왔습니다...
    • Kinjecs
    • 1999.07.10 20:31
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 송동일
      1999.04.29 18:55
      안녕들 하신가요? 어떤 공식을 입력시켜 두고 데이타를 공식에 적용하려 합니다. 공식이 영구적이라면 프...
    • 나노시스
      1999.07.14 00:22
      Kinjecs 께서 말씀하시기를... > 한컴퓨터에 어느 한 DB 가 있습니다... > lan으로 연결된 다른컴퓨터들...
    • 김영대
      1999.04.29 19:14
      송동일 wrote: > 안녕들 하신가요? > 어떤 공식을 입력시켜 두고 데이타를 공식에 적용하려 합니다. > ...
    • 성병규
    • 1999.07.10 19:41
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 송동일
      1999.04.29 18:55
      안녕들 하신가요? 어떤 공식을 입력시켜 두고 데이타를 공식에 적용하려 합니다. 공식이 영구적이라면 프...
    • 안치봉
      1999.07.10 20:32
      안녕하세요. 여러가지 방법이 있겠죠... 맞는지는 모르겠지만... 그리 큰 데이타가 아니라면 저 같은...
    • 김영대
      1999.04.29 19:14
      송동일 wrote: > 안녕들 하신가요? > 어떤 공식을 입력시켜 두고 데이타를 공식에 적용하려 합니다. > ...
    • 김봉재
    • 1999.04.29 18:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.29 22:15
      잠깐 Command프롬프트로 가셔서 그 BORDBP40.DLL이 있는 디렉토리로 이동하신 후에 Regsvr32 BORDBK40.DLL ...
    • 강경중
    • 1999.07.10 15:13
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정재홍
      1999.07.10 18:24
      강경중 께서 말씀하시기를... > 아래에 있는 내용을 사용했는데요... > with QRCompositeReport1 do > b...
    • 이누리
    • 1999.04.29 18:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • mephy
      1999.04.29 22:31
      이누리 wrote: > 안녕하세요 > > 각 Form 에서 SelectNext 를 사용한 경우 Error 가 나지 않았는데 > ...
    • 최석기
      1999.07.10 17:45
      최혁진 께서 말씀하시기를... > 특정 데이터베이스 파일내에 존재하는 테이블들의 리스트를 델파이 프로그...
    • 안치봉
      1999.04.29 19:36
      장 아무개 wrote: > 답변중에 > 집합형이라고 하셨는데 > printer_DBGrid.Options.dgRowLines := true ...
    • 궁금이
    • 1999.07.10 04:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.07.10 20:23
      안녕하세요. 제가 만든 간단한 콤포넌트가 있는데 한델 자료실에 올려드리죠^^; 궁금이 께서 말씀하...
    • 이호선
      1999.04.29 06:02
      안녕하세요. 별다른 것은 없고요 현재 설정된 기본 프린트를 바꿀려하는데 바꿔도 이전설정된 프린트장치...
    • 이정욱
      1999.07.10 20:44
      통상적인것이라기 보다는 제가 사용하는 방법을 말씀드리죠. 전 Component라는 디렉토리를 따로 루트디렉...
    • 이정욱
      1999.04.29 21:53
      제가 만든 기본프린터 바꾸는 함수 입니다. 참고하시구요... 이것은 프린터 이름의 일부만 넣어줘도 됩니...
    • 안치봉
      1999.04.29 07:10
      이호선 wrote: > 안녕하세요. > 별다른 것은 없고요 현재 설정된 기본 프린트를 바꿀려하는데 바꿔도 > ...
    • 이호선
    • 1999.04.29 06:31
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 장일형
      1999.07.10 03:54
      델파이로 특정 디렉토리를 지우지 못하게 하고 그 디렉토리에 있는 파일을 볼 수 없도록 할 수 있나요? P...
    • 안치봉
      1999.04.29 07:03
      이호선 wrote: > 안녕하세요. > Drag&Drop내용이 델파이 강의에 있다하는데 어디인지 못찾겠는데요. > ...
    • 이호선
    • 1999.04.29 06:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.29 07:03
      이호선 wrote: > 안녕하세요. > Drag&Drop내용이 델파이 강의에 있다하는데 어디인지 못찾겠는데요. > ...
    • 구창민
      1999.07.10 12:01
      Termy 께서 말씀하시기를... > 소켓통신으로 다른 컴퓨터에 파일전송하고 저장하고 싶은데 > 소켓으로 파...
    • 김종환
      1999.07.13 06:09
      구창민 께서 말씀하시기를... > Termy 께서 말씀하시기를... > > 소켓통신으로 다른 컴퓨터에 파일전송하...
    • 구창민
      1999.07.13 08:30
      김종환 께서 말씀하시기를... > 구창민 께서 말씀하시기를... > > Termy 께서 말씀하시기를... > > > 소...
    • 김종환
      1999.07.13 13:41
      > 김종환님 구창민입니다. > 죄송합니다. 게시판의 번호가 변하는 줄 몰랐었습니다. > 아래를 주소를 복...