Q&A

  • C문장을 Delphi로 변환좀 해주세요....
C문장을 Delphi로 변환좀 해주세요... ㅜㅜ
아주 급합니다... ㅜㅜ

#include <stdio.h>
#include <dos.h>
#include <systypes.h>
#include <sysstat.h>
#include <io.h>
#include <conio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <ctype.h>
#include <process.h>
#include <memory.h>
#include <string.h>
#include "commu.h"

#define NULLP (char *)NULL

extern int putrngnc();

char getrng(ptr)        /* ret : ~0=ok  0=empty */
struct ringbuf *ptr;
{
        char ch;

        if (ptr->head == ptr->tail) {
                if (txdc3[m]) {
                        txdc3[m] = 0;
                        snddc1(m);
                }
                return(0);        /* empty */
        }
        if (++ptr->head > &ptr->buf[ccMAX - 1])
                ptr->head = &ptr->buf[0];
        if (parap->code && parap->dtlngth)        /* EIA && 8bit */
                ch = eiatoasc[(unsigned char)*ptr->head];
        else {
                if ((ch = *ptr->head) == 'r')
                        ch = 0;
        }
        if (m == curmach)
                putrngnc(&dispbuf.head,ch);
        return(ch);
}

int putrng(ptr,ch)        /* ret : 1=ok  0=buffer full */
struct ringbuf *ptr;
char ch;
{
        char *tmp;
        char chr;

        tmp = ptr->tail + 1;
        if (tmp > &ptr->buf[ccMAX - 1])
                tmp = &ptr->buf[0];
        if (tmp == ptr->head)
                return(0);        /* full */
        if (parap->code && parap->dtlngth) {        /* EIA && 8bit */
                if (!(chr = asctoeia[(unsigned char)ch]))
                        return(1);
        } else
                chr = ch;
        *tmp = chr;
        ptr->tail = tmp;
        entxint(m);
        if (m == curmach)
                putrngnc(&dispbuf.head,ch);
        return(1);
}

1  COMMENTS
  • Profile
    김강수 2002.03.12 09:20
    C 손놓은지 10년이 된터라 한번 재미 삼아 하다가
    포인터 쓴거 때문에 어렵네요. 아마 다른 고수 분들도
    포인터 때문에 그러신가요 ? 아님, 함수 사용 땜에 그러신가요 ? ^^;
    고수분들 아마도 API함수에 푸~~욱 빠져 계신가봐... ㅡㅡ!
    미안합니다. 도움을 못 드려서...