Q&A

  • 조건문에서 .............
질문이 갑자기 많아져서 죄송합니다...^^

다름이 아니라..

for i = 0 to 100 do
  q1.sql.add('select * from test1')
  q1.open
  
   for j = 0 to q.recordcount -1 do
      q2.sql.add('select * from test2')
      q2.open

    if q1.fieldbyname('field1').asstring <> q2.fieldbyname('field1').asstring then
          showmssage(field1')
    else if q1.fieldbyname('field2').asstring <> q2.fieldbyname('field2').asstring then
          showmssage(field2')
    else if q1.fieldbyname('field3').asstring <> q2.fieldbyname('field3').asstring then
          showmssage(field3')
                                      '
                                      '
                                      '
                                      '
   else if q1.fieldbyname('field10').asstring <> q2.fieldbyname('field10').asstring then
          showmssage(field10')


이런식으로 기준이되는 쿼리와 비교를 하는 쿼리가 있습니다....
즉 두개의 다른 테이블의 필드 값이 다르면 기록을 남기고
필드값이 같으면 아무 기록을 하지 않는 프로그램 입니다..

근데 위와 같이 하니깐 맨 먼저 조건에 맞는 것만 기록을 남기고
그리고 다음 레코드로 넘 어 가는거 같습니다..
제 생각 에도 기본적으로 로직이 잘 못된거 같습니다..

field1이 조건에 맞으면 기록을 하고 순차적으로 field10까지 비교해서
기록을 남기는 방법이 무엇이 있을까요?

고수님들의 주옥같은 답변 기다리겠습니다..
7  COMMENTS
  • Profile
    김형균 2004.09.10 00:59
  • Profile
    김형균 2004.09.09 23:48
    저가 잘못 써서 의미 전달이 잘 되지 않은것 같습니다..소스를 올려 보겠습니다. 저의 의도는 루프를 돌면서 필드값이 바뀐것만 뿌려주는 겁니다..
    답변해 주신분들 너무 감사 하구요..귀찮으시겠지만 다시 한번 봐주시면
    고맙겠습니다...

    qry.SQL.Add('select DISTINCT pmi_mesh from ' + trim(Edit1.Text));
            qry.Active := true;
            qry.Open;

    for j := 0 to qry.RecordCount -1 do
       begin


         FileName := '';
         FileName := Edit2.text + '_' +qry.FieldValues['pmi_mesh'];
         //ShowMessage(FileName);
         memo1.Lines.Append(qry.FieldValues['pmi_mesh'] +'비교시작');

            qryTemp.SQL.Clear;
            qryTemp.close;
            qryTemp.DatabaseName:= 'MyNewAlias';

            qryTemp.SQL.Add('select pmi_mesh, st_nd_id, ed_nd_id, tlinkidp1, tlinkidn1, ');
            qryTemp.SQL.Add('st_dir, ed_dir, road_cate, link_cate, link_facil, road_no, ');
            qryTemp.SQL.Add('width, oneway, lane, speedlh, road_name, regioncd, tollLink');
            qryTemp.SQL.Add('from  ' + trim(Edit1.Text));
            qryTemp.SQL.Add('where pmi_mesh = ''' + qry.FieldByName('pmi_mesh').AsString + ''' ');
            qryTemp.open;

            DataSource1.DataSet := qryTemp;
            DBGrid1.DataSource:= DataSource1;

            //구테이블 루프
    for i:= 0 to qryTemp.Recordcount -1 do


      begin
       q.close;
       q.sql.clear;
       q.DatabaseName:= 'MyNewAlias2';


       q.SQL.Add (' select pmi_mesh, st_nd_id, ed_nd_id, tlinkidp1, tlinkidn1, st_dir, ed_dir, ');
       q.SQL.Add (' road_cate, link_cate, link_facil, road_no, width, oneway, lane, speedlh, road_name, ');
       q.SQL.Add (' regioncd, tollLink ');
       q.SQL.Add (' from ' + edit2.Text);
       //q.SQL.Add (' where   pmi_mesh = ''' + qryTemp.FieldValues['pmi_mesh']+''' ');
       q.SQL.Add (' where   st_nd_id = ''' + qryTemp.FieldValues['st_nd_id']+''' ');
       q.SQL.Add (' and   ed_nd_id = ''' + qryTemp.FieldValues['ed_nd_id']+''' ');
       q.Active := true;
       q.open;

       showmessage (qryTemp.FieldByName('tlinkidp1').AsString + qryTemp.FieldByName('tlinkidp1').AsString);
       if q.eof  then //===없다면 (삭제)
           begin
               mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ',' + '삭제 link' );

           end
       else if qryTemp.FieldByName('tlinkidp1').AsString <> q.FieldByName('tlinkidp1').AsString then //=====값이 같지 않으면
            begin

          //정방향 TSDlink 1 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('tlinkidp1').AsString + '-> ' + q.FieldByName('tlinkidp1').AsString + ',' + '정방향 TSDlink 1 변경');

            end
       else if qryTemp.FieldByName('tlinkidn1').AsString <> q.FieldByName('tlinkidn1').AsString then //=====값이 같지 않으면
            begin
          //역방향 TSDlink 1 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('tlinkidn1').AsString + '-> ' + q.FieldByName('tlinkidn1').AsString + ',' + '역방향 TSDlink 1 변경');
            end
       else if qryTemp.FieldByName('st_dir').AsString <> q.FieldByName('st_dir').AsString then //=====값이 같지 않으면
            begin
          //시작링크 각도 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('st_dir').AsString + '-> ' + q.FieldByName('st_dir').AsString + ',' + '시작링크 각도 변경');
            end
       else if qryTemp.FieldByName('ed_dir').AsString <> q.FieldByName('ed_dir').AsString then //=====값이 같지 않으면
            begin
         //종료링크각도 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('ed_dir').AsString + '-> ' + q.FieldByName('ed_dir').AsString + ',' + '종료링크각도 변경');
            end
       else if qryTemp.FieldByName('road_cate').AsString <> q.FieldByName('road_cate').AsString then //=====값이 같지 않으면
            begin
          //도로종별 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('road_cate').AsString + '-> ' + q.FieldByName('road_cate').AsString + ',' + '도로종별 변경');
            end
       else if qryTemp.FieldByName('link_cate').AsString <> q.FieldByName('link_cate').AsString then //=====값이 같지 않으면
            begin
          //링크종별 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('link_cate').AsString + '-> ' + q.FieldByName('link_cate').AsString + ',' + '링크종별 변경');
            end
       else if qryTemp.FieldByName('link_facil').AsString <> q.FieldByName('link_facil').AsString then //=====값이 같지 않으면
            begin
          //링크시설종별 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('link_facil').AsString + '-> ' + q.FieldByName('link_facil').AsString + ',' + '링크시설종별 변경');
            end
       else if qryTemp.FieldByName('road_no').AsString <> q.FieldByName('road_no').AsString then //=====값이 같지 않으면
            begin
          //도로번호 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('road_no').AsString + '-> ' + q.FieldByName('road_no').AsString + ',' + '도로번호 변경');
            end
       else if qryTemp.FieldByName('width').AsString <> q.FieldByName('width').AsString then //=====값이 같지 않으면
            begin
          //도로폭 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('width').AsString + '-> ' + q.FieldByName('width').AsString + ',' + '도로폭 변경');
            end
       else if qryTemp.FieldByName('oneway').AsString <> q.FieldByName('oneway').AsString then //=====값이 같지 않으면
            begin
          //일방통행여부 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('oneway').AsString + '-> ' + q.FieldByName('oneway').AsString + ',' + '일방통행여부 변경');
            end
       else if qryTemp.FieldByName('lane').AsString <> q.FieldByName('lane').AsString then //=====값이 같지 않으면
            begin
          //차로수 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('lane').AsString + '-> ' + q.FieldByName('lane').AsString + ',' + '차로수 변경');
            end
       else if qryTemp.FieldByName('speedlh').AsString <> q.FieldByName('speedlh').AsString then //=====값이 같지 않으면
            begin
          //최고제한속도 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('speedlh').AsString + '-> ' + q.FieldByName('speedlh').AsString + ',' + '최고제한속도 변경');
            end
       else if qryTemp.FieldByName('road_name').AsString <> q.FieldByName('road_name').AsString then //=====값이 같지 않으면
            begin
          //도로명 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('road_name').AsString + '-> ' + q.FieldByName('road_name').AsString + ',' + '도로명 변경');
            end
       else if qryTemp.FieldByName('regioncd').AsString <> q.FieldByName('regioncd').AsString then //=====값이 같지 않으면
            begin
          //지역코드 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('regioncd').AsString + '-> ' + q.FieldByName('regioncd').AsString + ',' + '지역코드 변경');
            end
       else if qryTemp.FieldByName('tollLink').AsString <> q.FieldByName('tollLink').AsString then //=====값이 같지 않으면
            begin
          //유료도로 구분 Flag 변경
          mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ' : ' + qryTemp.FieldByName('tollLink').AsString + '-> ' + q.FieldByName('tollLink').AsString + ',' + '유료도로 구분 Flag 변경');
            end;
       qryTemp.next;

    end;

        memo1.Lines.Append(qry.FieldValues['pmi_mesh'] +'비교완료');
    qry.Next;

    end;

       mmTextFile1.Lines.SaveToFile(edit1.text+' - '+edit2.Text+'실험실험실험.txt'); // TEXT로 저장

       mmTextFile1.Free(); // MEMO free

       memo1.Lines.Append('비교 완료.!');

    end;

  • Profile
    김춘경 2004.09.09 23:40
    쿼리문으로 조건에 해당하는 레코드를 추출해서 하면 됩니다.

    _SQL := 'select * from T1, T2
    where T1.field1 <> T2.field1
       and T1.field2 <> T2.field2
       and T1.field3 <> T2.field3
       and T1.field4 <> T2.field4
       and T1.field5 <> T2.field5';

    with Query do begin
      Close;
      SQL.Clear;
      SQL.Add(_SQL);
      open;
    end;

    for i := 1 to Query1.RecordCount do begin
      작업...
      (기록은 다른 Query 컴포넌트로...)
      Query1.Next;
    end;



  • Profile
    이중철 2004.09.09 23:44
    'select * from T1, T2
    where
       (T1.field1 <> T2.field1
       OR T1.field2 <> T2.field2
       OR T1.field3 <> T2.field3
       OR T1.field4 <> T2.field4
       OR T1.field5 <> T2.field5)
       AND T1.KeyField = T2.KeyField'

    이렇게 되겠죠


  • Profile
    김춘경 2004.09.09 23:52
    ^^ 온라인상에서 쓰다 보니...

    제 의도는 여러 필드중 어느 하나라도 틀리면 셀렉트 하도록 했습니다.

    질문자의 의중이 정확하지 않아서...^^

    _SQL := 'select * from T1, T2
    where T1.field1 <> T2.field1
       or T1.field2 <> T2.field2
       or T1.field3 <> T2.field3
       or T1.field4 <> T2.field4
       or T1.field5 <> T2.field5';



  • Profile
    파멸의슬픔 2004.09.09 23:25
    소스만 보고 판단했습니다... 이렇게 한번 바꿔 보세요...

      q1.sql.add('select * from test1')
      q1.open
      
      q2.sql.add('select * from test2')
      q2.open  
      
    for i = 0 to 100 do begin
      while not q1.eof do begin
        while not q2.eof do begin    
          if q1.fieldbyname('field1').asstring <> q2.fieldbyname('field1').asstring then showmssage(field1');
          if q1.fieldbyname('field2').asstring <> q2.fieldbyname('field2').asstring then showmssage(field2');
          if q1.fieldbyname('field3').asstring <> q2.fieldbyname('field3').asstring then showmssage(field3')
                                          '
                                          '
                                          '
                                          '
          if q1.fieldbyname('field10').asstring <> q2.fieldbyname('field10').asstring then showmssage(field10');
          q2.next;
        end;
        q2.first;
        q1.next
      end;
    end;


  • Profile
    이중철 2004.09.09 23:23
    소스를 봐서는 목적하는것이 무엇인지 잘 모르겠네요 ^^
    먼저 SQL로 해결이 가능하다면 SQL로 하는것이 합당하다고 생각됩니다.
    1. SQL로 하는 방법 (KEY값이 있다고 가정)
      오라클은 Decode문,  MS-SQL은 Case 문 사용하면됨 일단 MySQL로
      예로 들께요

      SELECT A.keyfield, (A.field1 = B.field1) * power(2, 0) +
                   (A.field2 = B.field2) * power(2, 1) +
                             ........
                   (A.field30 = B.field30) * power(2, 29)

      FROM TABLE1 A, TABLE2 B WHERE ....
      
      무슨의미인지 알겠죠 비트마스킹입니다.
      Output이 0 보다 크면 필드값이 다른것이 있다는 것입니다.
      예로 Output이 5 이면 Field1 과 Field3이 틀리다는 것입니다.
      Where절에 Select절의 내용이 0보다 큰것만 하면
      Output은 필드값이 다른것만 나오겠죠
      그리고 참 조인은 꼭 해야 합니다.

      헉 쓰고나서 보니 위와 아래가 틀리네 텍스트 문장만 보고 그냥 판단
      했네요
      쩝 님께서 소스를 올린내용을 보면 이해 안되는게 넘 많네요
      for i := 0 to 100 <= 뭘 의미하는지 쩝
      쿼리는 왜 101 * recordcount 만큼 오픈하는지 쩝
      뭔가 빼먹은거 아닌가요
      q2.sql.add('where field1 = ''' + q1.fieldbyname('fi...).asstring + ''') 이런식 으로 더 있지 않나요
       정말 이상하네

      


    • 박준철
      2004.09.11 01:53
      function FilterNumber(sNum:string):string; var   i : integer; begin   Resu...
    • 오병주
      2004.09.10 03:36
      폼 Create 설정하는 방법입니다..^^ procedure TForm1.FormCreate(Sender TObject); begin  &n...
    • 석주현
      2004.09.10 07:35
      내용 없어요..
    • 이승민
      2004.09.10 03:10
      procedure Tfrom1.Edit1KeyPress(Sender: TObject; var Key: Char); begin   If Not (Key In [...
    • 김형균
    • 2004.09.09 22:36
    • 7 COMMENTS
    • /
    • 1 LIKES
    • 김형균
      2004.09.10 00:59
    • 김형균
      2004.09.09 23:48
      저가 잘못 써서 의미 전달이 잘 되지 않은것 같습니다..소스를 올려 보겠습니다. 저의 의도는 루프를 돌면...
    • 김춘경
      2004.09.09 23:40
      쿼리문으로 조건에 해당하는 레코드를 추출해서 하면 됩니다. _SQL := 'select * from T1, T2 where T...
    • 이중철
      2004.09.09 23:44
      'select * from T1, T2 where    (T1.field1 <> T2.field1    OR T1.field...
    • 김춘경
      2004.09.09 23:52
      ^^ 온라인상에서 쓰다 보니... 제 의도는 여러 필드중 어느 하나라도 틀리면 셀렉트 하도록 했습니다. ...
    • 파멸의슬픔
      2004.09.09 23:25
      소스만 보고 판단했습니다... 이렇게 한번 바꿔 보세요...   q1.sql.add('select * from test...
    • 이중철
      2004.09.09 23:23
      소스를 봐서는 목적하는것이 무엇인지 잘 모르겠네요 ^^ 먼저 SQL로 해결이 가능하다면 SQL로 하는것이 합...
    • 문의득
    • 2004.09.09 20:58
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 문의득
    • 2004.09.09 20:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 일그니
      2004.09.09 22:02
      dbnmpntw.dll와 ntwdblib.dll을 path가 걸린 폴더 system같은 곳에 복사해 넣어주십시요. 중복되있을...
    • 달님
    • 2004.09.09 19:40
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2004.09.09 21:07
      소나기 님이 답변하신 내용이 맞습니다. 그러나 좀 보완해서 Edit1KeyPress 이벤트에서 아래와 같이 처...
    • 석주현
      2004.09.09 20:07
      Edit1KeyPress 이벤트에서 아래와 같이 처리 하는 방법이 있고요.   if not (Key in ['0'..'9...
    • 모영철
      2004.09.09 19:43
    • 김형균
    • 2004.09.09 19:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김춘경
      2004.09.10 03:26
      아마도 DB가 작업하는 임시파일이 아닐까요? 님이 의도적으로 만든 파일이 아니라면 지우셔도 무방할 겁...
    • 김용렬
    • 2004.09.09 19:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 일그니
      2004.09.09 22:34
      StartTransaction은. 현재 작업중인 테이블을 딴넘들이 쓰지 못하게 하는의미로 알고 잇습니다. 작업이...
    • 석주현
      2004.09.09 14:50
      "MSComm"으로 검색 해 보시면 아래와 같이 나옵니다. 검색을 해보시고 질문을 해주시는게 좋을 것 같네요....
    • 온진욱
      2004.09.09 20:16
      님께서 알려주신 방법을 한번 찾아서 해본적이 있었는데 그때 안되길래 잘못 안건가 하고 지워버렸었는데 ...
    • Galaxy
      2004.09.09 18:50
      안녕하세요 수고 많습니다. 다른 방법은 없을까요? 답변 주신 대로 하니까 . 별 문제는 없는데... 그...
    • 오재열
      2004.09.09 04:47
      짧은 생각인데.. 해당 KeyPress가 끝나면 Key값이 반영 되지 않나요? Apple이 먼저 적용되고 Key값 'A'가 ...
    • Galaxy
      2004.09.09 05:12
    • 메니아
    • 2004.09.08 23:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2004.09.09 00:15
      "Process32First" 로 검색해 보세요. Process32First 와 Process32Next 가 같이 쓰이고요. 용...
    • 김형균
    • 2004.09.08 23:00
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 김형균
      2004.09.09 19:58
    • 착한천사
      2004.09.09 03:22
      착한천사 김경록입니다.. 저도 크고 작은 프로젝트를 해 본 적이 있어서.. recordcount의 부정확함을 ...
    • 누렁이
      2004.09.09 01:21
      아래 요부분을   for j := 0 to qry.RecordCount -1 do   begin 요렇게 한번 바...
    • nilriri™
      2004.09.09 00:36
      레코드 카운터에 대한 답변은 아니구요.. 잠깐 소스를
    • 구창민
      2004.09.08 23:15
      안녕하세요.. Query.FetchAll ;  한번 해보시구요.. 그래도 안된다면   COUN...
    • 우용우
    • 2004.09.08 19:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.09.08 21:05
      근디요 왜 그렇게 쓰실려구... 혹시 아나요 그 이유를 알면 다른 방법이 생각날지
    • 석주현
      2004.09.08 05:52
      onMouseMove 에서 Shift 값을 읽어 보면 알 수 있습니다.   if ssLeft in Shift then &n...
    • 허상무
      2004.09.08 20:51
      답변 감사합니다. 사실 제가 원하는 것은 마우스 상태를 알 수 있는 명령어(System 명령어 포함)를 ...
    • 석주현
      2004.09.08 21:24
      음 보통 드래그엔 드롭을 할때 오토메틱으로 하지 않는것으로 알고 있습니다. 왜냐면 제가 말씀드린 ...
    • 고락춘
    • 2004.09.08 03:30
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 고락춘
      2004.09.08 22:28
      제목처럼 소나기님, 닐리리님 답변감사합니다. 두분께서 알려주신 방법대로 하니 처리가 되네요 원인...
    • 석주현
      2004.09.08 08:00
      복잡하게 하지 마시고   if FindComponent('frm_Delivery') = nil then    &...
    • nilriri™
      2004.09.08 04:53
      Action := caFree;  를 써주신다고 해서 메모리에서 해제가 안됩니다. 해서 If ActiveMDI...
    • 고진중
    • 2004.09.08 03:14
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 바부팅
    • 2004.09.08 00:24
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2004.09.08 03:09
      음 제가보기에는 윈속스레드가 계속 생성되었거나 S/W내의 유사 스레드가 계속 생성되어 결국 L4계층이나 ...
    • 파멸의슬픔
      2004.09.08 01:28
      우선 하신 말씀중에 10중 8,9번은 정상적인 재부팅조차 제대로 되지 않는다고 하셨습니다... 정상적으로 ...
    • 김현철
    • 2004.09.08 00:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2004.09.08 01:57
      http://www.qusoft.com/delphilegacy.html http://www.qusoft.com/ordering.html 참고하세요... ...
    • 꿈의대화
      2004.09.08 02:36
      .
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.09.08 18:19
      그럼 ODBC 말구 BDE의 정보는요... 오라클로 alias를 잡은 DB의 IP를 알수는 없을까요?
    • 정찬희
      2004.09.08 00:32
      직접 만드셔야 할듯... function getHostFilePath: string; var   buf: array[1..1024] of ...
    • 이상국
      2004.11.04 16:44
      wind98 에서는 c:\windows 에 위치하므로.. 약간의 추가 라인이 필요할 듯 합니다.
    • 최동석
      2004.09.08 00:50
      답변 감사드립니다. 그런데 아래의 function을 사용하면 windows98에서는 안될것 같습니다. 보통 OS에 ...
    • 정찬희
      2004.09.08 06:38
      답글쓰면서도 좀 찜찜하긴 했어요...^^