begin process at 2010 03 19 16:55:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Divers

 > 

Débutant(e)

 > 

Initialiser tous les éléments d'un tableau en même temps ?


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

Initialiser tous les éléments d'un tableau en même temps ?

dimanche 11 novembre 2007 à 15:01:02 | Initialiser tous les éléments d'un tableau en même temps ?

John Dogget

Bonjour.

J'ai un tableau à une dimension déclaré comme ça :

    Coordonnees:array[1..2] of byte;

Je voudrais savoir comment écrire une fonction qui initialise les deux élements du tableau en même temps, sans passer par

    Coordonnees[1]:= ...
    Coordonnees[2]:= ...

J'ai essayé Coordonnees:=(1,1) et Coordonnees:=((1),(1)), la syntaxe ne va pas

Est ce possible ?
So oui, comment faire ?
dimanche 11 novembre 2007 à 19:04:06 | Re : Initialiser tous les éléments d'un tableau en même temps ?

cantador

Membre Club
 comme ceci :

Coordonnees: array[1..2] of byte = (4, 7);

cantador
dimanche 11 novembre 2007 à 19:10:38 | Re : Initialiser tous les éléments d'un tableau en même temps ?

John Dogget

Ca ressemble beaucoup à une déclaration d'un tableau constant, or c'est pas ce que je veux faire
dimanche 11 novembre 2007 à 20:01:35 | Re : Initialiser tous les éléments d'un tableau en même temps ?

cantador

Membre Club

Alors c'est pas vraiment une initialisation par défaut.
Tu veux pouvoir maîtriser les deux premières valeurs de ton tableau.
Mais tu parles de fonction..
Une fonction ça renvoie une valeur et donc c'est pas ce que tu veux faire..
Il vaudrait mieux dire procédure..
A moins que tu souhaites que ta fonction initialise ton tableau
avec deux  valeurs en paramètres ?
Mais je n'ai peut-être pas tout compris..

?

cantador

dimanche 11 novembre 2007 à 21:24:47 | Re : Initialiser tous les éléments d'un tableau en même temps ?

cedricbi

Si tu veux initialiser tout ton tableau avec la même valeur, que se tableau n'a qu'une dimension et ce soit un tableau de Byte ou Char (ça fait beaucoup de conditions...)
Tu peux utiliser :
FillMemory(@MonTableau[Low(MonTableau)], SizeOf(MonTableau), ValeurARemplir);


Le plus dur dans un programme c'est de savoir pourquoi il marche !

dimanche 11 novembre 2007 à 21:53:58 | Re : Initialiser tous les éléments d'un tableau en même temps ?

John Dogget

Re

@ cantador
C'est vrai que j'ai fait une confusion sur les mots ...

Pour reprendre ton exemple "Coordonnees: array[1..2] of byte = (4, 7);"
J'initialise à 4 et 7 les éléments du tableaux au moment de la déclaration du tableau.

Maintenant si je veux remplir mon tableau après sa déclaration dans une fonction ou une procedure, est'il possible de faire la même chose ?
Par exemple mettre les valeur 5 et 8 dans mon tableau, sans passer par Coordonnees[1] et Coordonnees[2].

@ cedricbi
Ca correspond pas à ce que je voudrais faire, mais merci quand même
dimanche 11 novembre 2007 à 22:33:33 | Re : Initialiser tous les éléments d'un tableau en même temps ?

cantador

Membre Club
Réponse acceptée !

En admettant que les valeurs x et y (5 et 8)sont lues quelque part..

procedure InitTableau(var x, y : integer);
begin
Coordonnees[1] := 5;
Coordonnees[2] := 8;
end;

ou encore

for i:= low(Coordonnees) to high(Coordonnees) do
Coordonnees[i] :=  tu peux écrire ici une formule qui calcule les deux valeurs en fonction de i.

Je ne sais si on va arriver à te vendre quelque chose ce soir !

cantador

dimanche 11 novembre 2007 à 22:40:47 | Re : Initialiser tous les éléments d'un tableau en même temps ?

John Dogget

Si c'est bon
Mais tu confirmes ce que je pensais, ce que je veux n'est pas possible avec Delphi ...

@ +
dimanche 11 novembre 2007 à 22:53:10 | Re : Initialiser tous les éléments d'un tableau en même temps ?

Francky23012301

Membre Club
Salut,

Attention aux notations trompeuses de certains langages : Ce genre de chose
Coordonnees:=(1,1) n'indique pas que les deux éléments de ton tableau sont affectés en meme temps mais demande  à attriber la valeur 1 au premier puis 1 au second. Autrement dit c'est parfaitement équivalent à

Coordonnees[1] := 1;
Coordonnees[2] := 1;

Je te rappelle que le multi tache de windows est plus une illusion John.

@++
dimanche 11 novembre 2007 à 23:04:13 | Re : Initialiser tous les éléments d'un tableau en même temps ?

John Dogget

Oui mais ça marche pas dans mon code, autrement dit dans mon code ...

Coordonnees : = (5,6) n'equivaut pas à

Coordonnees[1] : = 5 et
Coordonnees[2] : = 6

Le compilo n'en veut pas

Ou alors j'ai (encore) pas tout pigé ...
Delphi en auto-didacte, c'est pas tous les jours evidents

1 2

Cette discussion est classée dans : tableau, temps, initialiser, éléments, coordonnees


Répondre à ce message

Sujets en rapport avec ce message

déclaration d'un tableau [ par emidelphi ] HI, svp je veux savoir si il y une astuce pour résoudre ce probléme: la déclaration suivante ca marche T : array['A'..'Z'] mais si je met T[a] ca Initialiser un tableau [ par Sloridan ] Bonjour,J'ai créé un tableaude ce typeBoutons = array [1..6] of TBitBtn;j'aimerais savoir si il est possible de l'initialiser en une seule ligne, du g suppression de doublons dans un tableau [ par lola937 ] Bonjour, je travaillle actuellement sur les tableaux et les tris.Le programme que je dois réaliser est le suivant: Soient t un tableau de taille n e Passage de VB6 à Delphi6 [ par cuq ] Bonjour,je suis débutant sur Delphi mais je maitrise très bien VB6 j'ai décidé de passer de VB à Delphi mais j'ai quelques problèmes pour trouver la c TServerSocket et TClientSocket [ par Gimli ] Bonjour,quand j'utilise SendText et SendBuf des TClientSocket et des TServerSocket, delphi me concatène les 2 éléments envoyés, du coup tout devient i fermer un tableau [ par rimbaw ] Salut à tous, je programme en delphi7 et j'ai fait une déclaration d'un tableau statique genre "montableau : array[1..2048] of Char" auquel j'affecte Tableau 2 dimensions [ par lusitano69 ] Bonjour je m'explique je voudrais avec un string que j ai récupéré(contient des coordonées de X,Y par exemple) remplir un tableau à 2 dimensions mais Dessin [ par lusitano69 ] Une fois que j'ai tout mes points stocker dans mon tableau: ArrXY((1,6),(1,7),(1,8)...ect Comment je pourrais faire pour dess Remplir Tableau deux dimensions [ par lusitano69 ] Bonjour j'aimerais savoir comment remplir un tableau a deux dimensions.Avec ces données là que j'ai dans un fichier a part txt remplir mon tableau de Calculer un intervale de temps [ par codial ] Bonjour, Si le sujet à déja été traité je m'en excuse d'avance, mais bizarrement je ne trouve rien sur le net.Pourtant un sujet qui me semble simple


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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,374 sec (3)

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