Q&A

  • [질문]스트링그리드 셀 클릭시 내용검출 좀 봐주세요

shininggem 답변 감사합니다.
프로그램을 첨부파일(Michli.Zip)올려드리겠습니다.
코팅내용을 보시고 답변 부탁드립니다.
알리아스 : Fmsth 입니다. 델파이버전 : 6.0~ 7.0중 다 됩니다 원래는 6.0에서 개발하였습니다.
그리고 데이터는 2008년 3월부터 2009년 5월까지입니다. 프로그램에 Michli.exe 를 실행하시고
년도와 월 ["예" 2009-05] 을 입력하시고 확인버튼을 누르면 실행됩니다.
루프를 돌릴줄 몰라서 하나씩 검출히려니 속도가 많이 늦습니다. 요부분도 어떻게 안될까요?
현재 상태는 스트링그리드에 마우스로 클릭히면 값이 있는곳은 DB정보가 숫자로 나오고 값이 없는
곳에 마우스를 클릭하면 접수내용이 검색한 범위에서 전부 출력됩니다. 꼭좀 부탁드립니다.
7  COMMENTS
  • Profile
    shininggem 2010.04.19 18:18


    // 스트링그리드셀에 마우스클릭시 접수내용 보여주기함수
    PROCEDURE TMiChJoForm.MiChJO1_DATA(SENDER: TOBJECT);
    var
    l_MCode : String;
    l_Hcode : integer;
    BEGIN
    {
    내용을 ㅎㅜㅌ어 보니 각 COL 값이 A.HCODE 값과 대응 되는 군요.
    그렇다면 sDBText 값을 HCODE값으로 입력받아야 원하는 값을 찾을 수 있을것 같습니다.
    그리고 ROW값을 날자를 나타 내는것 같은데 이것도 조건에 넣어야 겠지요?

    아래의 내용들은 합계와 날자 칼럼은 빼고 선택했을때 값을 나타냅니다.
    }

    if (StringGrid1.Col = 0) or (StringGrid1.Col = 12) then Exit;


    l_MCode := '';
    l_Hcode := 0;

    l_Hcode := StrToInt(StringGrid1.col); //

    Case l_Hcode of
    1 : l_MCode := 'MIC1';
    2 : l_MCode := 'MIC2';
    3 : l_MCode := 'MIC3';
    4 : l_MCode := 'MIC4';
    5 : l_MCode := 'MIC5';
    6 : l_MCode := 'MIC6';
    7 : l_MCode := 'MIC7';
    8 : l_MCode := 'MIC8';
    9 : l_MCode := 'MIC9';
    10 : l_MCode := 'MIC10';
    11 : l_MCode := 'MIC11';
    end;

    SQL.ADD('SELECT A.* , B.Mname, C.Yname, D.Hname, E.Sname '+
    ' FROM Jaryo A,Mich B,Yhng C,Chury D,Singo E '+
    ' Where A.Mcode = B.Mcode '+
    ' AND A.Ycode = C.Ycode '+
    ' AND A.Hcode = D.Hcode '+
    ' AND A.Scode = E.Scode '+
    //월별 조건은 월별을 입력하고 조회했을경우 해당됩니다. 조회시 무엇을 입력하고 조회 했는지에 따라 아래 조건은 수정되어야 합니다.
    ' And A.YulBul = '''+ED_YulBul.TEXT+''' '+

    ' And A.Mcode = '''+l_MCode+''' '+
    ' AND A.NALJA = '''+StringGrid1.Cells[0,StringGrid1.Row]+''' ');

    이정도로 하면 대충 나올듯 싶네요!

    글구 조회하는 것도 조금 수정을 봐야 할 듯 싶어요!

    어차피 구하는 값이 날자에 MCODE의 합계로 나타내는 듯 한데

    SELECT NALJA,MCODE,COUNT(*) ct
    FROM JARYO A, Mich B,Yhng C,Chury D,SINGO E
    WHERE A.YULBUL='2009-05'
    AND A.MCODE = B.MCODE
    AND A.YCODE = C.YCODE
    AND A.HCODE = D.HCODE
    AND A.SCODE = E.SCODE
    AND A.MCODE <> '0' //DB내용을 보니 0인것은 미처리 대상이 아닌것 같더군요!
    GROUP BY NALJA,MCODE

    이렇게 group by 로 나타내고

    for구문 활용해서 돌리면


    // MCODE 값에 따른 Col값 리턴 하는 합수 선언해 놓고
    function getColID(sCode :String):integer;
    begin
    if sCode ='MIC1' then result := 1;
    if sCode ='MIC2' then result := 2;
    ......
    if sCode ='MIC11' then result := 11;
    end;


    While Not Eof do
    begin
    sCol := getColID(FieldByName('MCODE').AsString);
    Case FieldByName('NALJA').AsInteger of
    1 : begin
    StringGrid1.Cells[sCol,1] := FieldByName('ct').asString;
    end;
    2 : begin
    StringGrid1.Cells[sCol,2] := FieldByName('ct').asString;
    end;
    ...................
    31 : begin
    StringGrid1.Cells[sCol,31] := FieldByName('ct').asString;
    end;
    end;
    Next;
    end;

    이런식으로 한다면 값을 뿌려 줄 수 있을것 같은데....
    합계는 쿼리로 하지 마시고 위의 구문에서 값을 누적해서 한번 해보시길...
    제가 도움드릴 수 있는건 여기까지 일것 같네요!

    꼭 성공하시길!!
  • Profile
    전봉수 2010.04.19 22:39
    shininggem님 답변 너무 감사합니다. 너무답변 자세히 하여주셔서 면목이 없습니다.
    그런데요 또한가지 부디치는데가 있어서 다시한번 질문드립니다.
    아래 코드에서 sCol : Integer로 변수를걸고 컴파일 하니까
    sCol := getColID(FieldByName('MCODE').AsString);에서 에러가 납니다.
    부탁드립니다.

    // 스트링그리드1 마우스 클릭시 셀값 좌표확인
    procedure TMiChJoForm.StringGrid1MouseDown(Sender: TObject;
    Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    var
    sCol: Integer;
    begin
    while not Eof do
    begin
    sCol := getColID(FieldByName('MCODE').AsString);
    case FieldByName('NALJA').AsInteger of
    1:
    begin
    StringGrid1.Cells[sCol, 1] := FieldByName('ct').asString;
    end;
    2:
    begin
    StringGrid1.Cells[sCol, 2] := FieldByName('ct').asString;
    end;
    ---------------------------------------------------
    31:
    begin
    StringGrid1.Cells[sCol, 31] := FieldByName('ct').asString;
    end;
    end;
    Next;
    end;
    End;

    // Mcode 값에따른 Col값 리턴하는 함수선언
    function getColID(sCode: string): integer;
    begin
    if sCode = 'MIC1' then
    result := 1;
    if sCode = 'MIC2' then
    result := 2;
    if sCode = 'MIC3' then
    result := 3;
    ..............................
    if sCode = 'MIC11' then
    result := 11;
    end;

    // 스트링그리드셀에 마우스클릭시 접수내용 보여주기함수
    procedure TMiChJoForm.MiChJO1_DATA(SENDER: TOBJECT);
    var
    l_MCode: string;
    l_Hcode: integer;
    begin
    //Col := StringGrid1.Col;
    //Row := StringGrid1.Row;
    if (StringGrid1.Col = 0) or (StringGrid1.Col = 2) or (StringGrid1.Col = 3) or
    (StringGrid1.Col = 4) or (StringGrid1.Col = 5) or (StringGrid1.Col = 6) or
    (StringGrid1.Col = 7) or (StringGrid1.Col = 8) or (StringGrid1.Col = 9) or
    (StringGrid1.Col = 10) or (StringGrid1.Col = 11) then
    Exit;
    l_MCode := '';
    l_Hcode := 0;
    //l_Hcode := StrToInt(StringGrid1.Col);
    l_Hcode := StringGrid1.Col;
    case l_Hcode of
    1: l_MCode := 'MIC1';
    2: l_MCode := 'MIC2';
    ......................................
    11: l_MCode := 'MIC11';
    end;
    with QR_MiChJo1 do
    begin
    CLOSE;
    SQL.Clear;
    SQL.ADD('SELECT A.* , B.Mname, C.Yname, D.Hname, E.Sname ' +
    ' FROM Jaryo A,Mich B,Yhng C,Chury D,Singo E ' +
    ' Where A.Mcode = B.Mcode ' +
    ' AND A.Ycode = C.Ycode ' +
    ' AND A.Hcode = D.Hcode ' +
    ' AND A.Scode = E.Scode' +
    ' And A.YulBul = ''' + ED_YulBul.TEXT + ''' ' +
    ' And A.Mcode = ''' + l_MCode + ''' ' +
    ' AND A.NALJA = ''' + StringGrid1.Cells[0, StringGrid1.Row] + ''' ');
    end;
    end;

    // 기본 SQL 구문생성(조회함수)
    sSQL := (' SELECT NALJA,MCODE,COUNT(*) ct ' +
    ' FROM JARYO A, Mich B,Yhng C,Chury D,SINGO E ' +
    ' WHERE A.YULBUL=''Ed_YulBul.Text'''' AND A.MCODE = B.MCODE And ' +
    ' A.YCODE = C.YCODE AND A.HCODE = D.HCODE AND A.SCODE = E.SCODE And ' +
    ' A.MCODE <> ''0''' +
    ' GROUP BY NALJA,MCODE ');
  • Profile
    shininggem 2010.04.19 22:43

    With QR_MiChJo1 do
    begin
    ....
    end;

    삽입하세요!
  • Profile
    전봉수 2010.04.20 00:57
    shininggem님 답변 감사합니다.
    님의 답변대로하고 SQL함수가 빠버서 포함 시키 컴파일 하니까 컴파일은 잘 됩니다.
    그런데 하단의 조회하는 // 기본 SQL 구문생성에서 에러가 나네요
    아마 (' SELECT NALJA,MCODE,COUNT(*) ct ' + 여기서 ct가 어떵게 처리되는지 몰라서요
    저의 데이타베이스는ct 라는 필드가 없습니다.
    죄송합니다 빨리 끝이나야 님이 짐을 덜텐데 다시한번 봐주십시요

    = 에러메세지 =
    Project Fmsh.exe raised exception class EDBEnginError with message 'Invalid use of
    Keyword.
    Token : 0'
    Line Number: 1'. Process stopped Use sTEP OR CONTINUE.


    // 기본 SQL 구문생성
    sSQL := (' SELECT NALJA,MCODE,COUNT(*) ct ' +
    ' FROM JARYO A, Mich B,Yhng C,Chury D,SINGO E ' +
    ' WHERE A.YULBUL=''Ed_YulBul.Text'''' AND A.MCODE = B.MCODE And ' +
    ' A.YCODE = C.YCODE AND A.HCODE = D.HCODE AND A.SCODE = E.SCODE And ' +
    ' A.MCODE <> ''0''' +
    ' GROUP BY NALJA,MCODE ');

    // 스트링그리드1 마우스 클릭시 셀값 좌표확인
    procedure TMiChJoForm.StringGrid1MouseDown(Sender: TObject;
    Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    var
    sCol: Integer;
    begin
    QR_MiChJo1.Close;
    MichJo1_DATA(SENDER);
    QR_MiChJo1.Open;
    with QR_MiChJo1 do
    begin
    while not Eof do
    begin
    sCol := getColID(FieldByName('MCODE').AsString);
    case FieldByName('NALJA').AsInteger of
    1:
    begin
    StringGrid1.Cells[sCol, 1] := FieldByName('ct').asString;
    end;
    2:
    begin
    StringGrid1.Cells[sCol, 2] := FieldByName('ct').asString;
    end;
    ---------------------------------------------------
    31:
    begin
    StringGrid1.Cells[sCol, 31] := FieldByName('ct').asString;
    end;
    end;
    Next;
    end;
    End;
    End;
  • Profile
    shininggem 2010.04.20 03:11

    Sql.Add(' SELECT NALJA,MCODE,COUNT(*) ct ' +
    ' FROM JARYO A, Mich B,Yhng C,Chury D,SINGO E ' +
    ' WHERE A.YULBUL='''+Ed_YulBul.Text+''' AND A.MCODE = B.MCODE And ' +
    ' A.YCODE = C.YCODE AND A.HCODE = D.HCODE AND A.SCODE = E.SCODE And ' +
    ' A.MCODE <> ''0'' '+
    ' GROUP BY NALJA,MCODE ');


    ct 가 잘못된게 아닙니다.
    ct는 알리아스 명입니다. 필드이름 대신에 다른 별칭을 줄 수가 있는 거죠.
    조건절에 WHERE A.YULBUL='''+Ed_YulBul.Text+''' 이부분 수정했습니다. 제가 올려드린 소스랑 틀리군요!
  • Profile
    땅콩맨 2010.04.20 04:02
    ct값은 count(*)의 결과를 ct라는 이름으로 정의한 것입니다.
    사용자정의 이름이라서 필드목록에는 나타나지 않는것이구요...
  • Profile
    전봉수 2010.04.22 19:44
    shininggem님 안녕하십니까?. 님이 답변하여주신 코드를 기준하여 며칠동안 고생을해도
    아직 문제가 풀리지 않습니다. 컴파일은 되는데 실행도중 에러가 나니까 어디까지 보이는지도
    모를겠네요 어디가 잘못된건지 아래소스를 참고 하셔서 봐주셨으면 고맙겠습니다.

    = 에러메세지 =
    Project Fmsh.exe raised exception class EDBEnginError with message 'Invalid use of
    Keyword.
    Token : AND
    Line Number: 1'. Process stopped Use Step or continue.


    // 기본 SQL 구문생성(조회 화면 관련 처리)
    sSQL := (' SELECT NALJA,MCODE,COUNT(*) ct ' +
    ' FROM JARYO A, Mich B,Yhng C,Chury D,SINGO E ' +
    ' WHERE '+
    ' A.YULBUL='''+Ed_YulBul.Text+''' And A.MCODE = B.MCODE And ' +
    ' A.YCODE = C.YCODE AND A.HCODE = D.HCODE AND A.SCODE = E.SCODE And ' +
    ' A.MCODE <> ''0'' ' +
    ' GROUP BY NALJA,MCODE ');

    // 스트링그리드셀에 마우스클릭시 접수내용 보여주기함수
    procedure TMiChJoForm.MiChJO1_DATA(SENDER: TOBJECT);
    var
    l_MCode: string;
    l_Hcode: integer;
    begin
    if(StringGrid1.Col = 0) or (StringGrid1.Col = 2) or (StringGrid1.Col = 3) or
    (StringGrid1.Col = 4) or (StringGrid1.Col = 5) or (StringGrid1.Col = 6) or
    (StringGrid1.Col = 7) or (StringGrid1.Col = 8) or (StringGrid1.Col = 9) or
    (StringGrid1.Col = 10) or (StringGrid1.Col = 11) then
    Exit;
    l_MCode := '';
    l_Hcode := 0;
    l_Hcode := StringGrid1.Col;
    case l_Hcode of
    1: l_MCode := 'MIC1';
    2: l_MCode := 'MIC2';
    3: l_MCode := 'MIC3';
    4: l_MCode := 'MIC4';
    5: l_MCode := 'MIC5';
    6: l_MCode := 'MIC6';
    7: l_MCode := 'MIC7';
    8: l_MCode := 'MIC8';
    9: l_MCode := 'MIC9';
    10: l_MCode := 'MIC10';
    11: l_MCode := 'MIC11';
    end;
    with QR_MiChJo1 do
    begin
    CLOSE;
    SQL.Clear;
    SQL.ADD('SELECT A.* , B.Mname, C.Yname, D.Hname, E.Sname ' +
    ' FROM Jaryo A,Mich B,Yhng C,Chury D,Singo E ' +
    ' Where '+
    ' A.Mcode = B.Mcode AND A.Ycode = C.Ycode AND '+
    ' A.Hcode = D.Hcode AND A.Scode = E.Scode And '+
    ' A.YulBul = ''' + ED_YulBul.TEXT + ''' And '+
    ' A.Mcode = ''' + l_MCode + ''' And '+
    ' A.NALJA = ''' + StringGrid1.Cells[0, StringGrid1.Row] + ''' ');
    end;
    end;

    // Mcode 값에따른 Col값 리턴하는 함수
    function TMiChJoForm.getColID(sCode: string): integer;
    begin
    if sCode = 'MIC1' then
    result := 1;
    if sCode = 'MIC2' then
    result := 2;
    if sCode = 'MIC3' then
    result := 3;
    if sCode = 'MIC4' then
    result := 4;
    if sCode = 'MIC5' then
    result := 5;
    if sCode = 'MIC6' then
    result := 6;
    if sCode = 'MIC7' then
    result := 7;
    if sCode = 'MIC8' then
    result := 8;
    if sCode = 'MIC9' then
    result := 9;
    if sCode = 'MIC10' then
    result := 10;
    if sCode = 'MIC11' then
    result := 11;
    end;

    // 스트링그리드1 마우스 클릭시 셀값확인 및 내용보기
    procedure TMiChJoForm.StringGrid1MouseDown(Sender: TObject;
    Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    var
    sCol: Integer;
    begin
    QR_MiChJo1.Close;
    MichJo1_DATA(SENDER);
    QR_MiChJo1.Open;
    with QR_MiChJo1 do
    begin
    while not Eof do
    begin
    sCol := getColID(FieldByName('MCODE').AsString);
    case FieldByName('NALJA').AsInteger of
    1:
    begin
    StringGrid1.Cells[sCol, 1] := FieldByName('ct').asString;
    end;
    2:
    begin
    StringGrid1.Cells[sCol, 2] := FieldByName('ct').asString;
    end;
    3:
    begin
    StringGrid1.Cells[sCol, 3] := FieldByName('ct').asString;
    end;
    4:
    begin
    StringGrid1.Cells[sCol, 4] := FieldByName('ct').asString;
    end;
    5:
    begin
    StringGrid1.Cells[sCol, 5] := FieldByName('ct').asString;
    end;
    6:
    begin
    StringGrid1.Cells[sCol, 6] := FieldByName('ct').asString;
    end;
    7:
    begin
    StringGrid1.Cells[sCol, 7] := FieldByName('ct').asString;
    end;
    8:
    begin
    StringGrid1.Cells[sCol, 8] := FieldByName('ct').asString;
    end;
    9:
    begin
    StringGrid1.Cells[sCol, 9] := FieldByName('ct').asString;
    end;
    10:
    begin
    StringGrid1.Cells[sCol, 10] := FieldByName('ct').asString;
    end;
    11:
    begin
    StringGrid1.Cells[sCol, 11] := FieldByName('ct').asString;
    end;
    12:
    begin
    StringGrid1.Cells[sCol, 12] := FieldByName('ct').asString;
    end;
    13:
    begin
    StringGrid1.Cells[sCol, 13] := FieldByName('ct').asString;
    end;
    14:
    begin
    StringGrid1.Cells[sCol, 14] := FieldByName('ct').asString;
    end;
    15:
    begin
    StringGrid1.Cells[sCol, 15] := FieldByName('ct').asString;
    end;
    16:
    begin
    StringGrid1.Cells[sCol, 16] := FieldByName('ct').asString;
    end;
    17:
    begin
    StringGrid1.Cells[sCol, 17] := FieldByName('ct').asString;
    end;
    18:
    begin
    StringGrid1.Cells[sCol, 18] := FieldByName('ct').asString;
    end;
    19:
    begin
    StringGrid1.Cells[sCol, 19] := FieldByName('ct').asString;
    end;
    20:
    begin
    StringGrid1.Cells[sCol, 20] := FieldByName('ct').asString;
    end;
    21:
    begin
    StringGrid1.Cells[sCol, 21] := FieldByName('ct').asString;
    end;
    22:
    begin
    StringGrid1.Cells[sCol, 22] := FieldByName('ct').asString;
    end;
    23:
    begin
    StringGrid1.Cells[sCol, 23] := FieldByName('ct').asString;
    end;
    24:
    begin
    StringGrid1.Cells[sCol, 24] := FieldByName('ct').asString;
    end;
    25:
    begin
    StringGrid1.Cells[sCol, 25] := FieldByName('ct').asString;
    end;
    26:
    begin
    StringGrid1.Cells[sCol, 26] := FieldByName('ct').asString;
    end;
    27:
    begin
    StringGrid1.Cells[sCol, 27] := FieldByName('ct').asString;
    end;
    28:
    begin
    StringGrid1.Cells[sCol, 28] := FieldByName('ct').asString;
    end;
    29:
    begin
    StringGrid1.Cells[sCol, 29] := FieldByName('ct').asString;
    end;
    30:
    begin
    StringGrid1.Cells[sCol, 30] := FieldByName('ct').asString;
    end;
    31:
    begin
    StringGrid1.Cells[sCol, 31] := FieldByName('ct').asString;
    end;
    end;
    Next;
    end;
    end;
    end;
    • whitejin
    • 2010.04.20 22:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 땅콩맨
      2010.04.20 22:41
      질문하신거 아니시죠? ㅋ
    • 권익수
      2010.04.20 19:18
      "Project Options"의 "Application"에 보면 "Enable runtime themes"라는 체크박스가 있습니다. 그걸 체...
    • 윤영훈
      2010.04.20 19:41
      와~ 감사합니다. 테스트해 본 결과 원하는 모양으로 보이는 것을 확인했습니다. 더불어 devgear.co.kr ...
    • 땅콩맨
      2010.04.20 22:40
      와, 영훈님 devgear에 메일도 보내시고 열정이 대단하시네요. *^^*
    • 정진일
      2010.04.20 12:34
      thread를 활용하면 될거 같은데 , 관련정보나 간단한 샘플프로그램 부탁드립니다
    • 홍성락
      2010.04.20 21:53
      1.상호 타이머에 다른 타이머가 돌고 있는지(if Timer1.Enabled then) 체크해서 대응하는 코딩을 하세요. ...
    • 땅콩맨
      2010.04.20 22:38
      6개의 타이머의 Interval을 잘 정해줘야할듯 하군요...
    • _blueSky_
    • 2010.04.20 05:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • isul
      2010.04.20 20:58
      code 부분에 간단한 코드를 작성할 수 있습니다. FindWindow()로 해당 프로그램을 찾으면 될거 같습니다...
    • 황재훈
    • 2010.04.20 04:34
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 박홍재
      2010.04.20 12:30
      아마도 Inventroy 관리용 프로그램을 작성을 하시는 거 같은데요. 왜 항상 커서가 수량을 입력하는 3번에...
    • 박홍재
      2010.04.20 12:41
      애구 적구 보니 조금 부족한거 같아서... 항상 프로그램에서 일단 바코드 입력 항목에 포커스가 가게 하...
    • 박홍재
      2010.04.20 18:15
      아 적구 나서 찾아보니 제가 이야기 한것을 원하시는 것이 아니군요... 해결 방법은 바코드 스케너에 보...
    • 황재훈
      2010.04.22 02:08
      생유~~~감솨....한번 해봐야 겠네요..^^
    • 임우식
    • 2010.04.20 03:51
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2010.04.20 19:40
      2010에서 string은 UnicodeString입니다. 델7의 string은 AnsiString이죠. Copy대신에 AnsiCopy함수를 쓰...
    • 임우식
      2010.04.20 22:13
      감사합니다. ^^ 그런데 length()는 어떻게 해야 되나요? length()도 델 7에서 쓰던 것처럼 2010에서 사...
    • 지환부
      2010.04.21 17:51
      최용일 님의 말씀처럼 2010에서 string은 UnicodeString입니다. 따라서 length() 함수를 사용하는 소스...
    • 조성환
    • 2010.04.19 20:42
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2010.04.19 22:01
      사용하시는 FTP컴포넌트에서 폴더 생성하는 메소드를 제공할겁니다. 그것을 이용하세요. CreateDir, Cre...
    • 이재헌
      2010.04.20 02:52
      indy component를 사용하면... IdFTP.MakeDir ('DOWN'); IdFTP.ChangeDir('DOWN'); 이
    • 조성환
      2010.04.20 08:32
      감사합니다. IIS 에서 ASP 로 만들어볼까 했는데, 알려주신 방법대로 해봐야겠네요
    • 강효석
    • 2010.04.19 19:25
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 윤상훈
      2010.04.19 21:23
      저는 델파이 7을 윈도 7에서 사용중입니다. 약간의 불편(확인창 클릭)을 감수하고 쓰고 있습니다. ...
    • 지환부
      2010.04.19 21:51
      delphi 7을 윈도우 7에서 사용중인데.. 초기에 우려와는 반대로 잘 돌아가더군요 하지만 향후에는 BDE방...
    • 한원희
      2010.04.22 00:53
      아주 특별한 경우가 아닌 이상, 델파이로 개발한 프로그램들은 Window 7에서 잘 동작하는것 같습니다. ...
    • HEIM
      2010.04.27 04:29
      개발시 OS 에 따른 개발유의 사항은 크게 없습니다. 드라이버 워크를 해야하는 상황인 경우는 해당 os에 ...
    • 강신영
    • 2010.04.19 18:55
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 고흥식
      2010.04.19 19:07
      버전 6 빌드 40부터 공식으로 Delphi 2009지원합니다. 2009, 2010 대부분 콤포넌트는 호환이 됩니다.
    • 지환부
      2010.04.19 21:53
      제가 알기로는 DELHPI 2010 VERSION 에서는 버전 6 빌드 45, 46, 47이 DELPHI 2010에서는 호환이 되는 ...
    • 김종명
    • 2010.04.19 17:58
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 지환부
      2010.04.19 21:54
      음 델파이는요 현재 WWW.DEVGEARSHOP.CO.KR에서 구매가 가능 한것으로 알고 있습니다. 그럼 ...
    • 김종명
      2010.04.26 18:40
      감사합니다.~
    • 김희정
      2010.04.19 18:30
      저희 회사도 D7과 파이어버드(저희는 일명 불닭) 이라는 디비를 전국에서 사용하는데 서울에 서버를 두고...
    • 이정한
      2010.04.20 00:21
      사용 DB는 문제가 없을겁니다 원거리라고 해서 문제가 발생할리도 없구요 전국에 국간 중계기가 설치...
    • 정기동
      2010.04.20 00:50
      사용자와 DB 서버간 Ping 응답속도를 반드시 확인해 보시기 바랍니다. 물론 사내에서는 1m 미만이 정상...
    • 이승근
      2010.04.20 02:08
      국내구간 원거리도 그런데 국제구간은 어련하실려고요...ㅋㅋㅋㅋ ping테스트를 점검해 봐야 겠네요... ...
    • 전봉수
    • 2010.04.19 09:29
    • 7 COMMENTS
    • /
    • 0 LIKES
    • shininggem
      2010.04.19 18:18
      // 스트링그리드셀에 마우스클릭시 접수내용 보여주기함수 PROCEDURE TMiChJoForm.MiChJO1_DATA(SEN...
    • 전봉수
      2010.04.19 22:39
      shininggem님 답변 너무 감사합니다. 너무답변 자세히 하여주셔서 면목이 없습니다. 그런데요 또한가지...
    • shininggem
      2010.04.19 22:43
      With QR_MiChJo1 do begin .... end; 삽입하세요!
    • 전봉수
      2010.04.20 00:57
      shininggem님 답변 감사합니다. 님의 답변대로하고 SQL함수가 빠버서 포함 시키 컴파일 하니까 컴파일...
    • shininggem
      2010.04.20 03:11
      Sql.Add(' SELECT NALJA,MCODE,COUNT(*) ct ' + ' FROM JARYO A, Mich B,Yhng C,Chury D,SINGO E...
    • 땅콩맨
      2010.04.20 04:02
      ct값은 count(*)의 결과를 ct라는 이름으로 정의한 것입니다. 사용자정의 이름이라서 필드목록에는 나타...
    • 전봉수
      2010.04.22 19:44
      shininggem님 안녕하십니까?. 님이 답변하여주신 코드를 기준하여 며칠동안 고생을해도 아직 문제가 풀...
    • 김남규
    • 2010.04.17 20:52
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 땅콩맨
      2010.04.19 10:14
      서점에서 "Image Processing"에 관련된 책을 참고하는것도 좋을것같아요.
    • 소나기
      2010.04.19 18:25
      이미지 프로세싱 일반적인 책을 봐서는 답이 안나옵니다. 제가 다니는 회사도 엑스레이 장비쪽 프로그...
    • 땅콩맨
      2010.04.20 03:07
      소나기님이 필터라고하셔서 생각난건데 예전에 델마당에서 이미지프로세싱 프로그램 소스를 어떤분이 올...
    • 소나기
      2010.04.20 06:41
      DICOM 은 의료 영상 파일 형식입니다. 위에 김남규님이 말씀하시는 부분은 엑스레이 영상의 포스트 프...
    • 땅콩맨
      2010.04.20 22:37
      국립중앙도서관 홈페이지나 국회도서관 홈페이지등에서 관련논문을 검색해보세요. (원문도 바로볼수 ...
    • 박상윤
      2010.04.27 01:34
      ^^ 다들 답변을 잘달아 주셨네요.. 제가 보기에는 이미지 프로세싱보다는 Vision쪽 라이브러리를 찾아 ...
    • 소나기
      2010.04.27 07:55
      비젼 라이브러리는 주로 실시간 처리 목적이고 보통 소스가 SVGA 정도 수준입니다. 음 CCD DR 은 2048...
    • 이대훈
    • 2010.04.17 20:14
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 땅콩맨
      2010.04.18 09:06
      클라이언트들간의 실시간 시간동기화방법은 getdate() 쿼리를 날려서 리턴된 값으로 시간을 맞춰주면 되...
    • phono
      2010.04.19 05:56
      실시간 연동이라고 하지만 최소 수백밀리 초에서 수초정도는 오차가 있을것 같은데요. 이정도는 감안...
    • 땅콩맨
      2010.04.19 08:56
      타임서버를 구축해서 동기화하느냐 구축하지 않고 동기화하느냐의 차이겠네요...
    • 땅콩맨
      2010.04.18 08:53
      Connect Event Procedure에 AThread.FreeOnTerminate := True; 를 추가해보세요
    • 최용일
      2010.04.17 09:42
      순수추상클래스는 델파이 2009부터인가 가능하구요. Interface는 아주아주 오래전부터 사용할 수 있었습...
    • 쵸파
      2010.04.18 01:04
      그렇군요.. 제가 가지고 있는 책에만 interface가 없었나 보네요. ^^; 좀 더 찾아봐야 겠습니다. 감사합...