Newsgroup: it.comp.lang.c++
Titolo: Funzioni Borland C in C++: aiuto!

Sto sviluppando una piccola applicazione che consente di importare dalla
COM1 una stringa di dati provenienti da un terminale industriale (una
bilancia).
Sviluppanto l'applicazione in Borland Turbo C non ci sono problemi,
utilizzando la funzione bioscom( ) della libreria bios.h la routine funziona
perfettamente.
Siccome mi interessa sviluppare un'applicazione possibilmente win32 mi sono
ritrovato tra le mani un non proprio recentissimo Borland C++ ver. 4 e l'ho
installato.
Il C++ perň mi genera problemi. Inserendo lo stesso sorgente Turbo il
compilatore lo compila correttamente senza nessun errore. In fase di linking
perň genera un errore in quanto non riconosce le funzioni di bios.h
("Undefined symbol _bioscom in module ...").
Perchč? Cosa devo fare per fargli digerire queste funzioni?
Naturamlente il linker non riconosce nessuna funzione proveniente di bios.h.
Ho provato a cambiare tutte le opzioni possibili ed immaginabili dei vari
menu di conpilazione, link, preference e chi piů ne ha piů ne metta. Le
directory Include e Lib sono corrette e, ripeto, il compilatore non genera
errori.
Ringrazio chiunque possa aiutarmi.
Grazie

 Perchè? Cosa devo fare per fargli digerire queste funzioni?
Semplice: non puoi.
Premessa:
- per domande su Win32 c'e' un apposito NG
- per domande sul bios credo ci siano ancora NG DOS/BIOS
- per domande sul tuo compilatore (incluse le sue librerie e il loro contenuto)
vedi le liste e i gruppi di borland
Comunque il problema e':
Se vuoi lavorare con Win32 devi chiamare funzioni di Win32. Le funzioni DOS e
BIOS non fanno parte di Win32 (e tanto meno della libreria standard C++ che e'
l'unica cosa che sarebba on topic in questo gruppo).
Se anche trovi una libreria con le funzioni bios che ti mancano, questa non
potra' essere linkata perche' sarà certamente una libreria a 16 bit (mentre se
usi Win32 stai creando un programma a 32 bit). Inoltre anche se trovi i sorgenti
delle funzioni suddette e provi a ricompilarli a 32bit scoprirai che la cosa non
funziona perche NON SI POSSONO FARE CHIAMATE BIOS e in generale non e' possibile
accedere direttamente all'HW in nessun modo se stai in ambiente Win32 (non puoi
farlo neppure in assembler).
Quindi se lavori sotto Windows devi per forza passare per le API di Windows (ti
ricordo che le API di Windows si chiamano, appunto, Win32. Quindi il NG su Win32
e' il NG che parla delle API di Windows come specificato pochi giorni fa in un
messaggio che suppongo tu non abbia letto).
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

Ringrazio chiunque possa aiutarmi.
Riguardo al nocciolo del problema (uso della seriale)
ti posso dire due cose:
- In questo newsgroup non si affrontano discussioni
  cosi' specifiche del singolo compilatore/ambiente.
  Il C++ non ha (al momento) nessuna nozione di
  "porta seriale" e come questi dispositivi si usano
  dipende fortemente dal compilatore e dall'ambiente
  di sviluppo. Dovresti avere piu' fortuna in un
  newsgroup dedicato a Win32 o al compilatore Borland.
- In Win32 per comunicare con la seriale si apre un
  canale con CreateFile e si impostano i parametri
  e la modalita' di funzionamento con BuildCommDCB +
  SetCommState + SetupComm + SetCommTimeouts.
  Una volta fatta la "preparazione" le operazioni di
  I/O verso seriale usano gli stessi comandi di
  WriteFile + ReadFile della scritture verso disco
  o altre periferiche.
  Non so se tutte queste cose sono state inglobate
  in chiamate bios* nel compilatore Borland per
  mantenere la compatibilita' con il passato; pero'
  ne dubito.
HTH
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

 bilancia).
in win32 non puoi accedere direttamente all'hardware devi passa per vxd o
routine che te lo permettano...
scordati il bios.h
--
-------
sito: 
www.dadev.it
ultime: Ocx per irc testi freeware
-------

Grazie comunque a tutti per le indicazioni ricevute.
Volevo solo dire a tal Andrea Ferro che l'informatica è sì una materia fatta
di formalismi ma alla sua base c'è un concetto fondamentale: l'astrazione.
L'astrazione nasce dalla facoltà di essere elastici, di non vedere le cose
secondo un'ottica costante, di utilizzare modelli evoluti ad un livello più
alto al posto di codici macchina. L'astrazione crea nuovi formalismi e
sostituisce quelli vecchi. Ciò che è rigido e formale ha vita breve,
altrimenti saremmo ancora a programmate inserendo quintuple di Touring
dentro ad una scatola da scarpe.
Pertanto non mi interessa l'intestazione del NG quanto le capacità tecniche
dei suoi frequentatori, e la elasticità mentale, che è materia creativa,
delle persone che vi fanno parte (evidentemente non di tutte).
Ringrazio comunque gli altri interventi che mi hanno permesso di risolvere
il problema.
Domandare è lecito, rispondere è cortesia. A volte qualcuno se lo dimentica.
Damiano.

 Domandare è lecito, rispondere è cortesia. A volte qualcuno se lo dimentica.
No, se questo viola le regole della comunita' nella quale ti introduci.
E forse prima di andare a cercare maleducazione nel comportamento degli
altri, sarebbe bene riflettere molto sul proprio. 
Tra l'altro Andrea ti ha pure risposto in modo esauriente. La tua
reazione dimostra che ha solo solo perso tempo a farlo e avrebbe fatto
meglio a limitarsi a suggerirti un posto piu' adatto dove porre le tue
domande.
Ciao,
Nicola

Andrea, perche' ti infastidisci cosi tanto? Qualcuno che sa gia' tutto
capisce che potrebbe essere OT,
ma uno che entra la prima volta non lo sa. La tua reazione mi sembra
esagerato e non cortese...
J.
P.S.: Questo NG non e' moderato da te...


 wrote in message
news:3B8A04D5...@divalsim.it...


 Domandare è lecito, rispondere è cortesia. A volte qualcuno se lo dimentica.
Negativo. Domandare, nell'ambito di una comunità rigidamente regolamentata, e'
lecito solo all'interno delle regole. Violare le regole e' scortesia. Inoltre io
ti ho anche risposto (e non avrei dovuto farlo, in questo NG).


 P.S.: Questo NG non e' moderato da te...
Peggio: non e' moderato per nulla. E se non fosse per il fatto che la
moderazione aggiunge tempi di ritardo nei post, sarebbe moderato già da tempo!


 e la prossima volta si vedra'...
Nonostante sarebbe corretto da parte di chi accede a un newsgroup
informarsi su quali sono esattamente i problemi trattati, mi rendo
perfettamente conto che molti di quelli che inviano messaggi OT lo fanno
in buona fede, sia perche' non si sono resi conto che il newsgroup
riguarda un campo decisamente ristretto, sia perche' non sono sicuri di
dove cada il loro problema. 
Non a caso rispondo cortesemente a tutti i messaggi OT ed ho censurato
chi lo faceva in modo scortese. Ne e' la prova il fatto che al mio
messaggio "preconfezionato" ho ricevuto in risposta piu' ringraziamenti
che critiche.
Non trovo invece assolutamente accettabile l'atteggiamento di chi e'
gia' in torto per aver inviato un messaggio OT, oltre ad una cortese
reprimenda riceve pure tutte le informazioni che lo interessano, eppure
ritiene di lamentarsi della mancata cortesia (!!!) di chi gli ha
risposto ed en passant esprime il proprio spregio per le regole di
cortesia.
Francamente spero che simili individui si sentano trattati cosi'
ingiustamente da non postare piu'.
Ciao,
Nicola

 moderazione aggiunge tempi di ritardo nei post, sarebbe moderato già da tempo!
E soprattutto aggiunge tempi di ritardo nella consegna dei lavori dei
moderatori :-) Mi associo pienamente (e mi offrirei come moderatore se
ci fossero a) un gruppo sufficiente di moderatori da garantire la
copertura 365 giorni l'anno, b) accordo nella trasformazione del gruppo
in moderato).
Ciao,
Nicola

 e la prossima volta si vedra'...
Ancora una volta RTFM. Quasi tutti i file di netiquette e praticamente tutti i
file di aiuto sui NG dicono chiaramente dove trovare i manifesti e le FAQ.
Inoltre tutti dicono che per aiuti relativi all'uso dei NG ci sono gruppi
appositi (e dicono quali). Quindi chi ha "letto il manuale" sa che persino la
domanda "dove trovo il manifesto/le FAQ del gruppo tal dei tali" e' OT su tutti
i gruppi ... tranne uno. E sa anche quale.
E comunque mi pare che persino Nicola (in genere molto piu' rigido di me) non
abbia mai risposto "sei OT chiedi su ..." a domande relative alle FAQ o al
manifest!


 wrote in message
news:3B8A44CC...@divalsim.it...

Per b) credo che si potrebbe arrivare ad un accordo. Ma il problema di a) e'
tosto. Io stesso posso seguire il NG con tempi validissimi (potrei mettere su un
sistema che mi suona un allarme ad ogni post che arriva e garantire l'esame
dello stesso in tempi molto brevi (minuti o al massimo ore). Ma questo solo nei
periodi in cui ho un mimimo di tempo. Purtroppo ci sono periodo (vedi luglio e
inizio agosto) in cui, anche senza preavviso, il mio "tempo per NG" diventa 0
per parecchi giorni o mesi.
All'inizio di luglio (quando sono "sparito", se ricordate) mi e' capitato di
lavorare:
da giovedi' alle 9:30 a venerdi' alle 20:45 e poi
da sabato alle 15:00 a domenica alle 14:00 e poi
da lunedi alle 10:15 a mercoledi alle 16:00 e poi
da giovedi alle 8:15 a venerdi alle 17:00
In una settimana cosi' il mio debito di sonno aumenta e, naturalmente, se ho
quella schedule ho anche qualche "lieve" grattacapo su un progetto.
La settimana successiva ero piu' tranquillo, ma non poi molto. Semplicemente ho
lavorato da allora fino al 14 agosto in maniera regolare per "sole" 14 ore al
giorno.
Questo spiega non solo la mia assenza ma anche la mia impossibilita' a garantire
continuità nella moderazione. Quindi, pur dando la mia disponibilità, come te
dico: servono MOLTI moderatori. Non solo per garantire continuità ma anche
"responsività".


 in moderato).
non si potrebbe creare un gruppo it.comp.lang.c++.moderato, dove posta chi ha
il trust, e chi non lo ha i suoi messaggi vengono 'dirottati' su
it.comp.lang.c++, dove poi c'č qualche buon matto (nel senso buono) che ha la
santa pazienza di prendere i messaggi non-OT e portarli in iclc++.moderato?
...
...
ok, č evidente che qui da me fa ancora TANTO CALDO....
... :-))
--
ciao
xaero


i gruppi moderati sono una cosa irritante  e anti democratica ,senza parlare
poi del tempo che si aspetta per i comodi del moderatore :))
Ancora non ho cpaito cosa vi irrita tanto di un post quasi OT ?
Con i collegamenti che ci sono oggi un post di qualche riga si scarica in un
secondo ,dove sta il problema ?
oh gesů :))))
ciao


in moderato).
Io sinceramente no, finora ho visto solo pessimi esempi di newsgroup
moderati, che di certo non ti facevano rimpiangere la presenza dei mex
fuori tema.
Il Ghenio
-----
ZIO : Fun and games are over with. Anyone who dares
get in my way shall perish.
DIO ci salvi dagli ocx del Viral Basic.
-----

fuori tema.
ovviamente ho sbagliato, volevo dire che ti fanno rimpiangere la
presenza dei messaggi fuori tema.


 secondo ,dove sta il problema ?
Ci vogliono pochi secondi anche a cercare il newsgroup giusto tra quelli
forniti dal proprio provider. Costa cosi' tanto l'educazione?
Ciao,
Nicola
P.S. E' proprio troppo pretendere un newsgroup dal quale i prepotenti ed
i maleducati stiano alla larga? Che senso ha difendere l'incivilta' del
prossimo?

 presenza dei messaggi fuori tema.
Dipende ovviamente dalla qualita' media dei messaggi che compaiono sul
gruppo e dalla solerzia con cui i moderatori si danno da fare. Ad
esempio per me comp.lang.c++.moderated e' un esempio di gruppo perfetto
(ed ho forse imparato di piu' chiedendo [e rispondendo] li, che non
leggendo svariati libri). Se non fosse moderato, dubito che alcuni
luminari vi perderebbero tempo.
Li i ritardi sono contenuti entro le ventiquattro ore, che variano in
funzione del fatto che i moderatori sono in Canada, Germania e
Australia.
Ciao,
Nicola

 prossimo?
Non si parla di maleducazione (un Ot si puo ritenere tale?) ma di un aiuto
per un qualcosa che potrebbe non entrare nel topic del newsgroup,insomma è
un po diverso :))
guarda che non sono un fans degli OT ma su piccole cose si puo' tollerare


 poterli tollerare )
guarda, penso anche io che se Nicola (o chiunque altro) non 'scacciassero' gli
OT come minimo raddoppierebbero i msg OT.
mai trovato di fronte a quelle situazioni che...
...postano domande OT poi si incazzano che nessuno risponde.
...postano domande OT regolarmente 1 volta a settimana.
...si scatena tutto un OT da una domanda OT.
...spam, annunci (tipo il mitico Frankbus), pubblicità.
la maggior parte delle volte succede solo perchè il newbie che posta non sa
che qui si parla di C++ standard, non sa che bisogna lurkare un po' prima di
postare, e non lo sa perchè non ha mai letto la netiquette, e non l'ha mai
letta perchè non sa che esiste.
quindi è meglio _reprimere_ gli OT per non ritrovarci nel caos.
-[che mondo sarebbe senza il Musatti...]-   ;-)))
ciao :: xaero

prossimo?
Si chiama "liberta` di espressione". E si`, ce l'hanno anche i
maleducati.
-- 
Ciao, Marvin

 maleducati.
La liberta tua termina dove la mia inizia...
-- 
Luc.

> ...si scatena tutto un OT da una domanda OT.
ops... volevo dire "si scatena tutto un thread OT".
ciao :: xaero

 che tutti li voteremo (solo solo per non avere piů OT)
solo per avere _ORDINE_.
solo perchč il nome it.comp.programmare.win32 č raggiungibile nai newbie ^__^.
ciao :: xaero

 maleducati.
Il principio della liberta' di espressione dice che chiunque e' libero di
esprimere il suo parere. Non dice che e' libero di farlo ovunque, comunque e in
qualunque modo.
Non si nega il diritto di fare domande sulle API di Windows. Si nega il diritto
di farle in questo NG.


 maleducati.
Come dire che chi urla in chiesa si esprime. E' solo maleducato.
Ciao,
Nicola

qualunque dimmelo che ti spiego come farlo!
Le regole (purtroppo?) non sono cosi` semplici: ti consiglio di
leggere 
http://www.news.nic.it/news-it/docs/creaz_gruppi.html
e in particolare la sez. 'Accettazione delle proposte'.
-- 
Ciao, Marvin

newsgroup, indipendentemente dal suo manifesto.
Questo e` un buon argomento, e infatti mi sta bene che chi chiede, ad
esempio, come compilare una DLL con Visual C++, venga cortesemente
indirizzato verso gruppi piu` specifici; non mi sta bene invece che
venga preso a pesci in faccia (l'ho visto fare varie volte (non da
te)) per aver fatto una domanda conforme con nome e titolo del ng, e
quindi irreprensibile.
-- 
Ciao, Marvin

 sillogismo ha la premessa falsa.
Guarda che non intendevo la frase qui sopra in senso polemico:
semplicemente se dovesse formarsi una maggioranza di partecipanti che
preferiscono allargare il gruppo a tutto quello che lontanamente centra
col C++, da VC++ a BCB a qualunque altra cosa, penso che il rapporto tra
i messaggi che mi interessano e quelli che invece no scenderebbe ad un
livello tale da rendere il gruppo stesso non interessante. A quel punto,
sia pure con un certo rammarico, lo abbandonerei.
Ciao,
Nicola

 e in particolare la sez. 'Accettazione delle proposte'.
dopo aver letto le regole,penso che sia più facile creare it.comp.lang.c++.std
così i newbie al massimo si limiteranno a postare su iclc++, senza pensare
cosa sia .std magari... ;)
su iclc++ si potranno affrontare argomenti un po' più OT, mentre su iclc++.std
finalmente ci sarà un gruppo senza OT (si spera)


http://groups.google.com/groups?selm=9a5h3h%24pl2%241%40beatles.cselt.it&output=
gplain
In uno dei messaggi si fa riferimento all RFC delle UseNet, peccato che quella
RFC parli solo di protocolli e non dica assolutamente nulla ne sui comportamenti
ne sulle regole di creazione dei NG. Per quanto riguarda quella RFC io posso
anche creare un NG senza votare.
Il che tra l'altro e' vero. Quello che conta sono le regole della gerarchia (nel
nostro caso la gerarchia it) che possono anche essere diverse da quelle di altre
gerarchie. E nella nostra, come dicevo, e' documentato che l'argomento (topic)
di un NG e' definito nel manifesto.
Nell'altro messaggio si dice che per un gruppo non moderato la descrizione del
gruppo conta come decisione di cosa e' OT o meno. Curosamente l'affermazione e'
campata in aria quanto la tua (ovvero non mi risulta che sia cosi). E se anche
fosse la descrizione relativa a it.comp.lang.c++ dice testualmente "Il
linguaggio C++". Pertanto, dato che la definizione del linguaggio e' data dallo
standard, stando a quella affermazione il topic e' persino PIU' RESTRITTIVO che
non quello del manifesto. Il manifesto ammette discussioni sui quanto un dato
compilatore sia compliant e su come utilizzare il linguaggio. La descrizione
ammette solo discussioni sull'essenza del linguaggio in se.


ammette solo discussioni sull'essenza del linguaggio in se.
Questa e` un'opinione come un'altra; a me sembra molto "talebana", ma
se a te piace, niente in contrario... (L'ho gia` detto che sono per la
liberta` di pensiero?)
Comunque, si preferisce in genere definire il topic in maniera ben
piu` elastica. Guarda questo articolo, con relativa risposta del GCN:
http://groups.google.com/groups?selm=99vnk7%24j4a%241%40g.l.neuromante.dyndns.org&output=gplain
http://groups.google.com/groups?selm=99vo8f%24hrg%241%40beatles.cselt.it&output=gplain
(ovviamente non dimostrano niente in particolare, ma secondo me danno
un'idea di quello che dovrebbe essere lo spirito di un ng.)
-- 
Ciao, Marvin

 un'idea di quello che dovrebbe essere lo spirito di un ng.)
Potrebbero solo dimostrare che vale l'interpretazione restrittiva (nome e
titolo). Non certo quella elastica (manifesto).


 quello che sostieni tu.
Adesso l'ho trovato. E dice il contrario di quello che dici tu.
Stando al glossario il gruppo ha un nome, un titolo (complemento del nome) e un
manifesto.
E sempre stando al glossario il manifesto e' un testo che contiene una
spiegazione di quello che dovrebbe essere il tema del gruppo.
Piu' chiaro di cosi'!


il contrario?
L'opinione del membro del GCN che proponi l'ho letta e non
esclude affatto (nei termini in cui e' esposta) l'uso del
manifesto del gruppo per capire se un argomento e' IT/OT.
E' vero che egli afferma che solo nome e titolo fanno capire
di cosa si parli, ma l'idea di dare ANCHE uno sguardo al
manifesto puo' solo rafforzare questo concetto.
Il concetto di "solo nome e titolo" va inteso, a mio avviso,
come "nome e titolo da soli fanno capire di cosa si parli".
Non credo proprio Maurizio Codogno sia in disaccordo su
questo.  Ammetterai che il discorso che fai
(sull'indicazione di un documento ufficiale che affermi il
contrario di cio' che affermi tu) e' piuttosto ridicolo.
E' come se io entrassi ruttando e scorreggiando nel mio
ufficio la mattina.  Trovami un documento ufficiale che mi
vieta di farlo.

spiegazione di quello che dovrebbe essere il tema del gruppo.
Non solo, alla pagina:
http://www.news.nic.it/news-it/docs/rfd-cfv.html
E' scritto testualmente (parole di Maurizio Codogno):
a2) D: Sto scrivendo la RFD. Sulle motivazioni del gruppo,
non basta scrivere "perché c'è già it.discussioni.fiere, e
le discoteche sono molto meglio delle fiere?" 
R: No. (e non ridete: ci sono capitati dei casi reali di
questo genere). Le motivazioni di un gruppo (quello che
viene poi detto il manifesto) dovrebbero essere la sua carta
di identità, quello che serve a chi partecipa alle news per
sapere se per lui vale la pena leggere e scrivere in quel
gruppo. Il nome e il titoletto del gruppo non sono certo
sufficienti per spiegare tutto! Chiediamo perciò uno sforzo
per stabilire quali sono gli argomenti previsti per il
gruppo, anche in relazione agli altri gruppi già esistenti,
per evitare per quanto possibile di avere doppioni (che poi
portano inevitabilmente a crosspost, altro problema
endemico)

vieta di farlo.
Se ti sembra ridicolo, allora buon per te: fatti due risate.
Ma facciamo un riepilogo: quando mi e` stato chiesto un pointer al
documento che dice che topic!=manifesto, ho ammesso candidamente di
non poterlo fare (ho svicolato citando l'opinione del GCN su questo
argomento); invece ho chiesto un pointer al documento dove e` scritto
che topic==manifesto.
(Detta cosi`, senza rutti e scorregge, fa gia` meno ridere, non
trovi?)
Dopo queste puntualizzazioni di dubbia utilita`, vorrei fare un'ultima
osservazione: questo thread, che era nato per discutere della
moderazione del ng o della nascita di gruppi "figli", si e`
trasformato in una discussione sui tecnicismi di usenet, che e`
perfettamente in tema su altri ng di questa stessa gerarchia, ma che
probabilmente qui interessa a pochi. Sarebbe quindi una buona idea,
per chi volesse continuare, l'impostare in maniera opportuna crosspost
e followup-to.
Ciao, Marvin
[1] infatti e` proprio questa una delle funzioni dei manifesti:
esprimono le "visioni" che le singole persone hanno di un certo ng.
Da:
http://groups.google.com/groups?selm=6j10lj%24sin%241%40beatles.cselt.it&output=gplain
:Per essere un minimo piu` chiari:
:- usenet riconosce solo nome e titolo per definire un gruppo.
:- ci sono migliaia di manifesti possibili con un certo nome e gruppo: per
:  quanto riguarda il GCN, tutti vanno bene. [...]
:- se il gruppo non e` moderato, chiunque puo` *aggiungere* un nuovo
:  manifesto.
:.mau.

l'impostare in maniera opportuna crosspost e followup-to.
Sono d'accordo sull'OT, grazie dell'invito, ma non credo lo
accettero'.