begin process at 2010 03 21 12:09:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

Types Delphi - C++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Types Delphi - C++

jeudi 24 janvier 2008 à 17:32:36 | Types Delphi - C++

steph12358

Bonjour à tous

Avec un programme en C++ Builder je dois lire et modifier des fichiers binaires générés avec un programme en delphi !

J'ai bien la structure de l'enregistrements de longueur fixe en delphi
mais je ne suis pas sur des types équivalents en c++ builder de borland.

voici les types rencontrés dans la structure.

Pour les types suivants ?

en pascal (delphi) :          en C++ (builder)
machin : string[40]           char machin[40] ? char machin[41] ?
bool                                bool ? int ?...
boolean                           ??
integer                             int ? long ? ...
byte                                 byte ? int ? ...
TRect                              TRect ?

Je ne connais pas les équivalents exacts...
Du coup mon "buffer" c++  n'aura pas la bonne longueur et je récupèrerai n'importe quoi

Quelqu'un peut-il m'aider ?

D'avance merci
jeudi 24 janvier 2008 à 17:44:20 | Re : Types Delphi - C++

BruNews

Administrateur CodeS-SourceS
n'irait pas plus vite de demander sur le forum delphi la taille de leurs types ?

ciao...
BruNews, MVP VC++
vendredi 25 janvier 2008 à 09:02:40 | Re : Types Delphi - C++

steph12358

Merci pour ta suggestion. Je prends note...

J'espère seulement que sur http://www.delphifr.com/ on ne me renverra pas sur cppfrance

Je laisse mijoter le sujet car je suis sùr de ne pas être seul dans ce cas.

A quand un tuto sur les équivalences et différences pascal-c qui sont des langages trés voisins !
(types, pointeurs, syntaxe...) Je n'ai jamais rien trouvé de sérieux sur le sujet, juste des questions (sans réponse) laissées sur les forums...Mais je n'ai peut-être pas utilisé les bons mots clés sur google.

a+
vendredi 25 janvier 2008 à 10:26:50 | Re : Types Delphi - C++

steph12358

Renseignement pris auprès d'un développeur Delphi,
alors pour ceux que ça intéresse :

en delphi                                  en c++ builder
bool : 4 octets (!)                    : ?
boolean : 1 octet                     : bool
entier : 4 octets                       : int ? (signé je pense)
byte : 1 octet                          : byte
trect : 16 octets                      : TRect
string[n] : n+1 octets               : char mavariable[n+1]

Pour le string, pas de zéro terminal mais le 1er octet contient la longueur de la chaine (donc 255 car max)

Voilà !
Si d'autes peuvent confirmer, corriger et compléter le cas échéant

vendredi 25 janvier 2008 à 13:28:51 | Re : Types Delphi - C++

mogwai93

Réponse acceptée !
tu as ça :
http://turbo-pascal.developpez.com/tutoriel/convertion_pascal_c/
c'est + turbo pascal <--> c/c++
mais comme delphi est proche de turbo pascal....

vendredi 25 janvier 2008 à 16:04:36 | Re : Types Delphi - C++

steph12358

Super !

Merci beaucoup pour ta réponse.

C'est exactement ce que je cherchais et plus encore
Avec toutes ces informations on pourrait (presque) imaginer une moulinette pour 1/2 automatiser un portage delphi vers c++, non ? Du moins une première étape.

Bon week-end
vendredi 25 janvier 2008 à 16:09:52 | Re : Types Delphi - C++

BruNews

Administrateur CodeS-SourceS
La taille des types ne suffit pas, faut faire gaffe au pragma d'alignement des données.

ciao...
BruNews, MVP VC++
lundi 28 janvier 2008 à 09:12:24 | Re : Types Delphi - C++

steph12358

Salut Brunews

bien vu, mais je ne me suis pas laissé prendre au piège .
Il faut en effet prendre garde aux options avancées du compilateur...

Dans mon cas, pour assurer la compatibilité avec les données générées par le programme Delphi j'ai du utiliser l'alignement "double word".

Je ne doute pas de l'utilité de cette option mais toutefois je ne comprends pas trés bien sa raison d'être...
Sans doute celà a t'il a voir avec l'optimisation de la vitesse selon le type de processeur...

A+
lundi 28 janvier 2008 à 09:43:39 | Re : Types Delphi - C++

BruNews

Administrateur CodeS-SourceS
L'adressage doit toujours se faire sur une adresse multiple de la taille de la donnée.
DWORD sur un multiple de 4, WORD sur 2, BYTE no prob vu que c'est 1.

Quand les données ne sont pas alignées correctement, le CPU déclenche une exception d'alignement. Windows est réglé par défaut pour la rattraper, c'est donc transparent pour le prog mais couteux en cycles.

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : int, delphi, machin, builder, types


Répondre à ce message

Sujets en rapport avec ce message

DELPHI VS C++ BUILDER [ par actiprog ] Salut à tous J' ai un peut abordé le stade avencé de VB 6 .J' ai découvré aisi les limites de ce language qui reste toujours agréable .Grace à l'INTER Conversion de types [ par Berenger ] En C, la fonction main se présente comme ca :int main(int argc, char *argv[]){}Moi, je veux récupérer la valeur de argv[3] pour la stocker et l'utilis Ecrire un composant en C++Builder pour Delphi [ par o_oill ] Bonjour, Je dois ecrire un composant à l'aide de Borland C++ 6.0 qui devra etre utilisé par des developpeurs sous Delphi.Par exemple je voudrais creer Composant PNG C++Builder [ par K0rr1gan ] Bonjour, je suis a la recherche d'un composant graphique TImage supportant le PNG pour BCB6. Je sais que ce composant existe pour Delphi, mais je n'a Fuite mémoire C++ Builder [ par BernieNoel68 ] Bonjour!Je suis un petit nouveau sous C++ Builder, en sachant qu'avant j'étais sous Delphi.Existe t'il un moyen simple a mettre en oeuvre sous C++ Bui Un traduction delphi pour c++ Builder [ par bily ] Vegeta :-)cette fonction devrait me permetre de cacher mon programe de liste des taches "ctr+alt+del"ceci est en delphi et je ne sais pas declarerla f Passage Delphi à C++ Builder [ par Sat83 ] Bonjour à tous!Depuis quelques années, j'ai appris a développer sous Delphi 6. Je suis donc familiarisé a Delphi et je comence a me débrouiller avec.J Copier 8 bits dans 32 bits [ par innco ] Bonjour, J'essaie de copier d'avoir une image RGB0 en copiant un "char" dans des "int" et de mettre le tout dans un int final. Ca ne marche pas et je Probleme SDL [ par agent 047 ] Problême: impossible de créer un éxecutable à partir de gcc et de l'en-tete SDL.hex:#include int main(int argc,char *argv[]){       return 0;}pour co Mini serveur HTTP en borland c++ 5 [ par steph12358 ] BonjourJe débute en C++ Builder 5 et dans le cadre d'un projet avec interface web je dois développer un mini serveur HTML et multithread en plus (je d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales