IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

Conversion de structures C vers Delphi


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2006
    Messages : 147
    Points : 84
    Points
    84
    Par défaut Conversion de structures C vers Delphi
    Bonjour,

    Quelqu'un peut-il me donner une méthode pour traduire ce type de structure en record Delphi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    struct extern_proc {
    	union {
    		struct {
    			struct	proc *__p_forw;	/* Doubly-linked run/sleep queue. */
    			struct	proc *__p_back;
    		} p_st1;
    		struct timeval __p_starttime; 	/* process start time */
    	} p_un;
    #define p_forw p_un.p_st1.__p_forw
    #define p_back p_un.p_st1.__p_back
    #define p_starttime p_un.__p_starttime
    	struct	vmspace *p_vmspace;	/* Address space. */
    	struct	sigacts *p_sigacts;	/* Signal actions, state (PROC ONLY). */
    	int	p_flag;			/* P_* flags. */
    	char	p_stat;			/* S* process status. */
    	pid_t	p_pid;			/* Process identifier. */
    	pid_t	p_oppid;	 /* Save parent pid during ptrace. XXX */
    	int	p_dupfd;	 /* Sideways return value from fdopen. XXX */
    	/* Mach related  */
    	caddr_t user_stack;	/* where user stack was allocated */
    	void	*exit_thread;	/* XXX Which thread is exiting? */
    	int		p_debugger;		/* allow to debug */
    	boolean_t	sigwait;	/* indication to suspend */
    	/* scheduling */
    	u_int	p_estcpu;	 /* Time averaged value of p_cpticks. */
    	int	p_cpticks;	 /* Ticks of cpu time. */
    	fixpt_t	p_pctcpu;	 /* %cpu for this process during p_swtime */
    	void	*p_wchan;	 /* Sleep address. */
    	char	*p_wmesg;	 /* Reason for sleep. */
    	u_int	p_swtime;	 /* Time swapped in or out. */
    	u_int	p_slptime;	 /* Time since last blocked. */
    	struct	itimerval p_realtimer;	/* Alarm timer. */
    	struct	timeval p_rtime;	/* Real time. */
    	u_quad_t p_uticks;		/* Statclock hits in user mode. */
    	u_quad_t p_sticks;		/* Statclock hits in system mode. */
    	u_quad_t p_iticks;		/* Statclock hits processing intr. */
    	int	p_traceflag;		/* Kernel trace points. */
    	struct	vnode *p_tracep;	/* Trace to vnode. */
    	int	p_siglist;		/* DEPRECATED */
    	struct	vnode *p_textvp;	/* Vnode of executable. */
    	int	p_holdcnt;		/* If non-zero, don't swap. */
    	sigset_t p_sigmask;	/* DEPRECATED. */
    	sigset_t p_sigignore;	/* Signals being ignored. */
    	sigset_t p_sigcatch;	/* Signals being caught by user. */
    	u_char	p_priority;	/* Process priority. */
    	u_char	p_usrpri;	/* User-priority based on p_cpu and p_nice. */
    	char	p_nice;		/* Process "nice" value. */
    	char	p_comm[MAXCOMLEN+1];
    	struct 	pgrp *p_pgrp;	/* Pointer to process group. */
    	struct	user *p_addr;	/* Kernel virtual addr of u-area (PROC ONLY). */
    	u_short	p_xstat;	/* Exit status for wait; also stop signal. */
    	u_short	p_acflag;	/* Accounting flags. */
    	struct	rusage *p_ru;	/* Exit information. XXX */
    };
    Merci,
    André.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    regarde le type ULARGE_INTEGER dans Windows.pas, cela peut déjà t'inspirer pour l'union

    tu trouveras les détails dans l'aide "Partie variable des enregistrements"
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2006
    Messages : 147
    Points : 84
    Points
    84
    Par défaut
    Merci, je jette un oeil.
    André.

  4. #4
    Membre averti

    Homme Profil pro
    ingénieur, retraité
    Inscrit en
    Février 2007
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur, retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 230
    Points : 332
    Points
    332
    Par défaut
    Bonjour,

    Je signale une étude sur les types C/Delphi
    "Reading C code in Win32 API" à l'adresse suivante :

    http://delphi.about.com/od/windowssh.../aa101303a.htm

    Je n'ai pas trouvé la suite Chapitre 2, mais je n'ai pas trop cherché.

    La suite se trouve à :

    http://delphi.about.com/od/windowssh.../aa102003a.htm

Discussions similaires

  1. [TP7] Conversion de sources Turbo Pascal 7 vers Delphi 6
    Par M.Tamisier dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 21/04/2006, 21h08
  2. conversion de Turbo Pascal vers Delphi 5
    Par samir1674 dans le forum Langage
    Réponses: 5
    Dernier message: 28/11/2005, 17h03
  3. Conversion Delphi 2 vers Delphi 2005
    Par ROYER dans le forum Bases de données
    Réponses: 10
    Dernier message: 25/11/2005, 18h45
  4. [C#] Convertion de structure vers Delphi .NET
    Par Laurent Dardenne dans le forum Windows Forms
    Réponses: 21
    Dernier message: 08/01/2005, 02h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo