czyszczenie pliku

0

Hej

w procedurze mam kawałek kodu który jest odpowiedzialny za otwieranie portu szeregowego rs232 :

procedure TForm1.FormShow(Sender: TObject);
begin
        lpFileName := 'COM1';
        hCommDev := CreateFile(lpFileName,GENERIC_READ or GENERIC_WRITE,0,NIL,OPEN_EXISTING,0,0);

        //Ustawienie parametrów transmisji
        if( hCommDev <> INVALID_HANDLE_VALUE ) then
        begin
                SetupComm(hCommDev,cbInQueue,cbOutQueue);
                dcb.DCBlength := sizeof(dcb);
                GetCommState(hCommDev,dcb);
                dcb.BaudRate := CBR_9600;
                dcb.Flags := dcb.Flags or RTS_CONTROL_DISABLE or dcb_fPartity;
                dcb.Parity := NOPARITY;
                dcb.StopBits := ONESTOPBIT;
                dcb.ByteSize := 8;

                SetCommState(hCommDev,dcb);
                GetCommMask(hCommDev,fdwEvtMask);
                SetCommMask(hCommDev,EV_TXEMPTY);  
        end
        else
        begin
               MessageDlg('Niepoprawna nazwa lub port jest aktywny '+lpFileName,mtError,[mbOK],0);
        end
end;

problem w tym że skanując dany kod skanerem widać jeden duży ciąg znaków, wyczyszczenie pola tekstowego, gdzie wypisywany jest wynik nic nie daje, bo w pliku COM1 jest syf.

Pytanie : jak go wyczyscic tak aby widział ostatni zeskanowany kod ?

0

Chyba sie nie zrozumiemy. Co rozumiesz przez:

skanując dany kod skanerem widać jeden duży ciąg znaków
?

Chodzi Ci o to, ze podczas odczytu pobierany jest duzy ciag znakow a nie ostatni znak? To normalne - bufor portu zawiera wszstkie dane od ostatniego odczytu lub otwarcia pliku (nie mowimy o przepelnieniu bufora rzecz jasna). Nie masz dostepu do danych sprzed otwarcia portu. Zatem, cokolwiek jest podpiete do tego portu, byc moze po prostu wysyla wiecej danych niz myslisz.

Swoja droga, skoro cos wspominasz o polu tekstowym, warto byloby powiedziec chociaz, jaka funkcje pelni ono w programie (jakis kod moze...), a nie pisac, ze przechowuje (jakis) wynik (czegos).

1 użytkowników online, w tym zalogowanych: 0, gości: 1