Newsgroup: it.comp.lang.delphi
Titolo: tradurre del codice delphi --> C++

ciao a tutti,
ho un problema di una certa importanza e spero qualcuno di voi possa
aiutarmi.
premetto che nn e' un esercizio o qlc del genere, ma un problema che mi si
e' presentato facendo la tesi.
come da oggetto devo tradurre un pezzo di codice da delphi a c/c++, ma
incontro diversi problemi nell'effettuare questo.
in particolare, come prima cosa, dovrei  sapere alcune cose:
- cos'e un packed record: equivale a struct?
- tipi di dati di delphi: a cosa corrrispondono in c++ i seguenti:
- DWORD
- integer (int?)
- ULONG
- WORD
- BYTE
- ByteBool
VI PREGO, E' IMPORTANTE!
GRAZIE!
Giuseppe

 - ByteBool
--------------------------------------------------------
Type DWORD = LongWord; // trattato come Cardinal
Type ULONG = Cardinal;
  unsigned 32bit (0..4294967295)
-> unsigned int
--------------------------------------------------------
Integer
  signed 32bit (-2,147,483,648..2,147,483,647)
-> signed int
--------------------------------------------------------
Word
  unsigned 16bit (0..65535)
-> unsigned short
--------------------------------------------------------
BYTE
  unsigned 8bit (0..255)
-> unsigned char
--------------------------------------------------------
ByteBool
I tipi Bool, ByteBool, WordBool e LongBool sono definiti per
compatibilità con altri linguaggi e librerie di altri sistemi operativi.
Dall'help:
A value of type ByteBool, LongBool, or WordBool is considered True when
its ordinality is nonzero. If such a value appears in a context where a
Boolean is expected, the compiler automatically converts any value of
nonzero ordinality to True. 
In delphi è preferibile utilizzare il tipo Boolean, in C penso tu debba
usare un int.
Ciao.
-- 
Davide DG.

usare un int.
Lui vuole tradurre in C++ ed in C++ esiste il tipo booleano:
bool.
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

 - ByteBool
unsigned char
Vedi un pň tu... queste dovrebbero andare bene,
per il resto te la devi cavare da solo :-)

 bool.
Mah, si, forse, bisognerebbe però vedere in che contesto è usato il
ByteBool in Delphi, visto che è un tipo introdotto per compatibilità. Io
ho assunto, qui come prima, che la conversione servisse in ambito Win32,
quindi considerando i classici casi dove le api di windows ritornano
"nonzero" e "zero" (e in delphi vengono usati i bool nella conversione).
Giustissime comunque le tue precisazioni :)
Ciao, Davide DG.
-- 
All resistance is futile! Prepare to be disassembled !

conversione andrą adattata al suo compilatore C++, naturalmente. 
Il fatto e' che non e' detto che short sia lungo esattamente
16 bit (ci sono compilatori per i quali short e int hanno la
stessa grandezza).  


 ha scritto nel messaggio
news:a3dltp$16qubr$1...@ID-50303.news.dfncis.de...


 per il resto te la devi cavare da solo :-)
grazie a te e agli altri che hanno risposto!
finalmente ho risolto!
ciao e grazie ancora!
PS: carino delphi, chissa' che dopo questa "disavventura" nn mi metta ad
impararlo!!!
(unica cosa: tutti quei begin e end... uffi!)
ciao by beppe

(unica cosa: tutti quei begin e end... uffi!)
Già, come il C, tutti quegli alt 123 e alt 125, uffi !!!
:-)))))))))
-- 
(*metallikop*libero*it*)
{
http://digilander.iol.it/metallikop
}