Mar Postat August 5, 2004 Partajează Postat August 5, 2004 Cum fac sa activez portul serial in C++Bulier,si imi trebuie documentatiie despre acest limbaj de programare.HELP Link spre comentariu
Cristiano Postat August 5, 2004 Partajează Postat August 5, 2004 O varianta ar fi sa folosesti Windows API. Alta varianta, mai simpla, e sa instalezi o componenta speciala. Am uploadat una pt. tine: http://www.izatech.as.ro/Cristiano/TMSasync.zip Eu o folosesc des si merge foarte bine. Link spre comentariu
Mar Postat August 9, 2004 Autor Partajează Postat August 9, 2004 am incercat sa instalez acesta varianta pe C++Bulider 6 dar imi da erori .Imi spune ca nu poate deschide libraria desi am urmat pasii de instalare.Ce pot sa-i fac? :roll: Link spre comentariu
Cristiano Postat August 9, 2004 Partajează Postat August 9, 2004 Eu tot C++Builder 6 folosesc si nu am avut nici o problema. Esti sigur ca ai urmat intocmai pasii de instalare? O eroare frecventa e ca se selecteaza alt fisier in loc de *.bpk. Alta eroare posibila este ne-updatarea path-urilor. Da mai multe detalii despre ce mesaj de eroare ti-a dat tie. Link spre comentariu
Mar Postat August 9, 2004 Autor Partajează Postat August 9, 2004 Cred ca ne-updatarea path-urilor este. Link spre comentariu
Mar Postat August 9, 2004 Autor Partajează Postat August 9, 2004 Uite am incercat din nou si mi-a dat: VaCommb6:Canot create pre-compiled header : writefailed. :oops: Link spre comentariu
Cristiano Postat August 9, 2004 Partajează Postat August 9, 2004 Uite am incercat din nou si mi-a dat: VaCommb6:Canot create pre-compiled header : writefailed. :oops:Poate ca nu ai drept de scriere in directorul respectiv. Link spre comentariu
bogdanm Postat August 9, 2004 Partajează Postat August 9, 2004 Uite am incercat din nou si mi-a dat: VaCommb6:Canot create pre-compiled header : writefailed. :oops:Poate ca nu ai drept de scriere in directorul respectiv.N-am lucrat niciodata cu C++ builder, dar sunt aproape sigur ca asta e cauza. Vezi daca ai drepturi de scriere in director SI daca mai ai spatiu liber pe disc. Link spre comentariu
Mar Postat August 10, 2004 Autor Partajează Postat August 10, 2004 Hardul este jumate gol .In legatura cu acel director poti sa fi mai explicit pentru ca nu-l gasesc? :? Link spre comentariu
Mar Postat August 10, 2004 Autor Partajează Postat August 10, 2004 Am reusit. :lol: Multumesc. Link spre comentariu
bogdanm Postat August 10, 2004 Partajează Postat August 10, 2004 Acu ne zici si noua ce avea ? Link spre comentariu
Mar Postat August 10, 2004 Autor Partajează Postat August 10, 2004 Dupa instructiunile din instal.txt imi datea acea eroare .Eu am facut asa:-Deschid C++Bulider6- ma duc la Component- selectez install component- dau calea- dau OKsi imi creaza o componenta pe bara de meniuri numita TMSAsync32 care apare linga Office97.Am incercat un demo luat din arhiva ta taDemo.bpr si imi da aciasi eroare.De ce? :idea: Link spre comentariu
Cristiano Postat August 10, 2004 Partajează Postat August 10, 2004 Am incercat un demo luat din arhiva ta taDemo.bpr si imi da aciasi eroare.De ce? :idea:Nu stiu, cred ca gresesti ceva cand incerci sa incarci proiectul, dar nu-mi dau seama acum ce ar putea fi. Oricum, eu n-am testat exemplele alea, am folosit direct help-ul pentru aplicatiile mele. Link spre comentariu
Vizitator pmarian Postat August 22, 2004 Partajează Postat August 22, 2004 Presupunem ca faci un programel care contine un buton si un Edit. In momentul in care apesi butonul, programul trimite pe COM1 un sir de caractere (catre o cutie neagra) si asteapta un raspuns (de la cutia neagra). Respectivul raspuns va fi afisat in Edit. Deci, functia care se executa in momentul in care este apasat butonul arata cam asa : DWORD dwbytessend; DWORD dwbytesread; char raspuns[150]; char *test_command; test_command="READ_SETTINGS"; hComm=CreateFile("COM1", GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0); if (hComm==INVALID_HANDLE_VALUE) { ShowMessage("Unable to open the serial port"); return; } GetCommTimeouts(hComm,&ctmoOld); ctmoNew.ReadTotalTimeoutConstant=50; ctmoNew.ReadTotalTimeoutMultiplier=0; ctmoNew.WriteTotalTimeoutMultiplier=0; ctmoNew.WriteTotalTimeoutConstant=0; SetCommTimeouts(hComm,&ctmoNew); dcbCommPort.DCBlength=sizeof(DCB); GetCommState(hComm,&dcbCommPort); BuildCommDCB("9600,N,8,1",&dcbCommPort); //9600,N,8,1 dcbCommPort.fOutxCtsFlow=false; dcbCommPort.fOutxDsrFlow=false; dcbCommPort.fRtsControl=RTS_CONTROL_DISABLE; dcbCommPort.fDtrControl=DTR_CONTROL_DISABLE; SetCommState(hComm,&dcbCommPort); WriteFile(hComm,test_command,strlen(test_command),&dwbytessend,NULL); Sleep(1000); ReadFile(hComm,raspuns,150,&dwbytesread,NULL);In fisierul in care este respectiva functie mai trebuie sa faci declaratiile : HANDLE hComm=NULL;COMMTIMEOUTS ctmoNew={0},ctmoOld;DCB dcbCommPort;Din momentul asta ai in tabloul raspuns[] raspunsul care vine de la cutia neagra.Raspunsul ala vine afisat : Edit1->Text=raspuns;Help-ul pentru toate functiile si variabilele alea il gasesti in MSDN. Tot de pe acolo e si exemplul. Sirul de caractere "READ_SETTINGS" e cel ce este trimis pe COM1. Poate fi orice. Cam asta e tot. Sa imi spui daca mai ai nevoie de ajutor. Bafta. P.S. Tin sa precizez ca am facut lucrul acesta in CBuilder 1. Da' parca am incercat si pe 6 si mergea. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum