florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 27 juil. 2005 à 10:39
Les tableaux dynamiques en Delphi ne sont pas comme en php.
En php, il est possible (par la fonction array() ) d'indexer les cases
de son tableau de manière quelconque (et par forcément 0,1,2,3 ...) ou
même avec des chaines.
En php, tes exemples donneraient
$Tab array(8> "toto", 20 => "tata", 40 => "tutu")
ou encore mieux, $Tab array("Coucou"> "toto", "Test" => "tata", "momo" => "tutu")
En Delphi ce n'est pas possible normalement.
Il est cependant possible de "tricher" mais je ne me souviens plus trop comment. (avec un TSTringList).
@ ++
Florent
Si tu ne te plantes pas ......
tu ne poussera jamais
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 27 juil. 2005 à 19:14
Mais cela ne marche que pour imiter un array of string - et pour les
données qui peuvent être stockées sous forme de chaînes - mais dans le
cas d'un record .... c'est une autre histoire
Mais l'important est que cela marche pour toi et que cela résolve ton problème.
@ ++
Florent
Si tu ne te plantes pas ......
tu ne poussera jamais
dimdidi
Messages postés26Date d'inscriptionmercredi 20 juillet 2005StatutMembreDernière intervention18 juillet 2006 28 juil. 2005 à 15:14
Ok,
Juste une idée qui ouvre beaucoup d'ouverture.
Si vous pouvez me dire ce que vous en pensez (ca fonctionne)
//En Global
TInfo = class (TObject)
public
sValeur1 : string;
sValeur2 : string;
end;
ts : TStringList;
//Fonction
procedure TForm1.Button2Click(Sender: TObject);
var
test:TInfo;
begin
test:=TInfo.Create;
test.sValeur1:='msg';
test.sValeur2:='Coucou';
ts:=TStringList.create;
ts.InsertObject(0,'MM',test);
end;
procedure TForm1.Button3Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to ts.count-1 do
begin
if (TInfo(ts.Objects[i]).sValeur1='msg') then
ShowMessage(TInfo(ts.Objects[i]).sValeur2);
end
end;