Précédent   Forum des professionnels en informatique > Autres langages > Pascal > Lazarus
Lazarus Forum d'entraide sur Lazarus, l'EDI RAD multiplateforme basé sur Free Pascal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/01/2012, 11h15   #1
Membre confirmé
 
Développeur informatique
Inscription : janvier 2010
Messages : 185
Détails du profil
Informations personnelles :
Âge : 54

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2010
Messages : 185
Points : 233
Points : 233
Par défaut Stocker les valeurs d'un Open Array

Bonjour,

J'affiche des messages avec une procedure du genre (en simplifiant) :

Code :
1
2
 
function AfficheMessage (const aMessageId : string; const aParams : array of const );
Le paramètre aParams est un tableau dynamique qui est passé à la fonction Format pour mettre en forme un message, après traduction.

Je voudrais qu'un bouton puisse appeler à nouveau Format, pour afficher le message traduit dans une autre langue.

Je vois bien comment stocker les données de aParams dans un tableau dynamique de Variants, mais comment pourrais-je les repasser ensuite à la fonction Format ? Elle demande un "array of const" que je ne sais pas recréer autrement qu'en le mettant dans les paramètres d'une fonction.

Auriez-vous une idée géniale ?
__________________
Cordialement,
Tintinux

Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
Elle est en cours de développement, avec Lazarus. Vous pouvez peut-être aider à la tester, la traduire et même à la développer.
tintinux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 12h34   #2
Membre expérimenté
 
Avatar de Gouyon
 
Homme Rémi Gouyon
Développeur informatique
Inscription : novembre 2003
Messages : 539
Détails du profil
Informations personnelles :
Nom : Homme Rémi Gouyon
Âge : 48
Localisation : France, Loiret (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : novembre 2003
Messages : 539
Points : 531
Points : 531
Je n'ai pas bien saisi ton problème mais il me semble qu'une simple concaténation de chaine devrait suffire
Code :
1
2
3
4
 
traduction='';
for i:=1 to nbparam do
 traduction:=traduction+aparams[i];
__________________
Il y a des jours où j'éprouve une haine profonde envers microsoft
Venez vous défouler ici ou c'est amusant
Mon modeste site et mes modestes oeuvres sont
Rémi
Gouyon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 13h22   #3
Membre confirmé
 
Développeur informatique
Inscription : janvier 2010
Messages : 185
Détails du profil
Informations personnelles :
Âge : 54

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2010
Messages : 185
Points : 233
Points : 233
Effectivement, je n'ai pas du être assez clair...

Il faut que je puisse stocker en mémoire mon array of const, et/ou le reconstituer pour le repasser plus tard à la fonction format.
__________________
Cordialement,
Tintinux

Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
Elle est en cours de développement, avec Lazarus. Vous pouvez peut-être aider à la tester, la traduire et même à la développer.
tintinux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 14h27   #4
Expert Confirmé Sénior
 
Avatar de Paul TOTH
 
Homme Paul TOTH
Freelance
Inscription : novembre 2002
Messages : 3 411
Détails du profil
Informations personnelles :
Nom : Homme Paul TOTH
Âge : 42
Localisation : Réunion

Informations professionnelles :
Activité : Freelance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2002
Messages : 3 411
Points : 6 705
Points : 6 705
sous Delphi, l'unité Variants propose DynArrayToVariant()
__________________
Developpez.com: Mes articles
Entreprise: Execute SARL
Produits : UPnP, RemoteOffice sous Delphi
Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%
Paul TOTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 15h30   #5
Membre expérimenté
 
Avatar de Gouyon
 
Homme Rémi Gouyon
Développeur informatique
Inscription : novembre 2003
Messages : 539
Détails du profil
Informations personnelles :
Nom : Homme Rémi Gouyon
Âge : 48
Localisation : France, Loiret (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : novembre 2003
Messages : 539
Points : 531
Points : 531
Citation:
Envoyé par tintinux Voir le message
Il faut que je puisse stocker en mémoire mon array of const, et/ou le reconstituer pour le repasser plus tard à la fonction format.
Que veux tu faire exactement dans la fonction format?
Je pose cette question car je pense qu'il serait plus simple de "ré écrire" la fonction Format.
Je pense à quelque chose de ce genre
Code :
1
2
3
4
5
6
7
8
9
10
11
 
chaine='';
pour chaque element du tableau aparam faire
begin
si type element= entier
 chaine:=chaine+format('%d',[element]);
si type element= string
 chaine:=chaine+ element;
si ....
 
end;
__________________
Il y a des jours où j'éprouve une haine profonde envers microsoft
Venez vous défouler ici ou c'est amusant
Mon modeste site et mes modestes oeuvres sont
Rémi
Gouyon est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h31.


 
 
 
 
Partenaires

Hébergement Web