j'ai créé un objet Tlist pendant l'éxécution et je veut sauvegarder cette liste dans le disque dur pour que je l'utilise les données de cette dernière une autre fois.
comment l'enregistre est ce qu'il y a une propriété ou une méthode ?
j'ai créé un objet Tlist pendant l'éxécution et je veut sauvegarder cette liste dans le disque dur pour que je l'utilise les données de cette dernière une autre fois.
comment l'enregistre est ce qu'il y a une propriété ou une méthode ?
j'ai crée des objets de Tshape pendant l'éxécution et je veut sauvegarder le dessin obtenu pendant l'éxécution pour éffectuer des traitements plutard?
Enregistré la liste (composant) ou le content?
Si c'est le contenu, quel est le type des données (record, objet, pointeur,....)??
une copie d'écran suffira ?
bonjour![]()
le type de ma liste est des Objets de Tshape;
par exemple :
alors comment enregistrer cette liste de façon permanente (càd dans le disque dur)
Code : Sélectionner tout - Visualiser dans une fenêtre à part malist.add(shape1);![]()
Bonjour
Je créerais un fichier texte rempli avec les éléments de la liste.
salut![]()
je ne veut pas enregistrer l'image mais les caractéristiques des composants placés sur la forme avec tous ces propriétés![]()
regarde du côté de WriteComponent et ReadComponent (touche F1).
salut![]()
j'ai utilisé ce code mais il ne fonctionne pas et je n'arrive pas à détecter l'erreur
et si je le corrige comment je savoir qu'il fait correctement la conversion?
avec ce code je pense que la sauvegarde se ne fait que dans la RAM mais moi je voudrai la faire dans le disque dur.
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
56
57
58
59
60
61
62
63
64
65
66
67
68 var Form1: TForm1; l:Tshape; enreg:string; implementation uses Unit2; {$R *.DFM} function ComponentToString(Component: TComponent): string; var BinStream:TMemoryStream; StrStream: TStringStream; s: string; begin BinStream := TMemoryStream.Create; try StrStream := TStringStream.Create(s); try BinStream.WriteComponent(Component); BinStream.Seek(0, soFromBeginning); ObjectBinaryToText(BinStream, StrStream); StrStream.Seek(0, soFromBeginning); Result:= StrStream.DataString; finally StrStream.Free; end; finally BinStream.Free end; end; function StringToComponent(Value: string): TComponent; var StrStream:TStringStream; BinStream: TMemoryStream; begin StrStream := TStringStream.Create(value); try BinStream := TMemoryStream.Create; try ObjectTextToBinary(StrStream, BinStream); BinStream.Seek(0, soFromBeginning); Result := BinStream.ReadComponent(nil); finally BinStream.Free; end; finally StrStream.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin enreg:=ComponentToString(shape1); end; procedure TForm1.Button2Click(Sender: TObject); begin l:=StringToComponent(enreg); end; procedure TForm1.Button3Click(Sender: TObject); begin form2.show; end;
merci
mais j'ai pas compris![]()
moi ne maitrise pas l'html (les balise)
je veut un code delphi
Pas grave, dans l'éditeur de message, tu as de quoi formatter ton texte (pour écrire en gras, italique et tout et tout)Envoyé par souadmaa
Le petit bouton en forme de # te permet de formatter ton code automatiquement (tu sélectionnes ton texte et tu cliques sur le bouton).
ça place autour de ton code deux balise [ code] et [ /code]. Et hop !
Sinon, en haut à droite de la petite boite où tu écris ton message tu as un bouton avec un petit A et un grand A. Si tu cliques dessus, celà te permet d'éditer ton texte comme si tu étais dans un traitement de texte (WYSIWYG). Comme ça tu n'as pas besoin de connaître le "bbcode", langage de formattage du forum.
Sinon, ici, ce n'est pas une usine à pondre du code. Soit patient, quelqu'un te viendra surement en aide![]()
Il faut regarder du côté de WriteComponent et utiliser TFileStream pour l'enregistrement sur disque dur.
Fait une petite recherche dans le forum, tu trouveras sûrement des exemples.
par hazar tu crée pas un prog de caisse??![]()
Bonjour,
Si j'ai bien compris les composants sont des tshape(s).je ne veut pas enregistrer l'image mais les caractéristiques des composants placés sur la forme avec tous ces propriétés
Voici un exemple pour le tshape. (met 1 TShape et 2 TButton(s) sur la form pour tester)
(cette méthode ne fonctionne pas pour le tlist, ne descend pas de TComponent)
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 //--------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin // .msh => mashape ma forme géométrique writecomponentresfile('c:\shape1.msh',shape1); shape1.free; end; //--------------------------------------------- procedure TForm1.Button2Click(Sender: TObject); begin // Si le tshape existe, ne semble pas le remplacer. A voir. // à faire : test existance shape1; shape1:=tshape.create(self); readcomponentresfile('c:\shape1.msh',shape1); shape1.parent:=self; end;
En espérant que cela t'aidera.
A+, Hervé.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager