les symboles *?@
-
- Messages : 446
- Inscription : mar. 25/mai/2010 17:24
- Localisation : Bnei Brak, Israel
les symboles *?@
Depuis que j'ai decouvert PB je me pose cette question. que signifient les symboles @?* places avant des variables
j'ai fouille la doc mais je n'ai rien trouve
on en parle dans un tuto ou kelkepart d'autre?
merci
j'ai fouille la doc mais je n'ai rien trouve
on en parle dans un tuto ou kelkepart d'autre?
merci
Re: *?@
* désigne un pointeur (ie. l'adresse d'une variable en mémoire). Un pointeur est typé, c'est à dire qu'il référence une variable d'un type particulier (type primitif ou structure).
? désigne une adresse. C'est utile pour trouver un fichier inclus dans ton fichier (voir CatchImage() par exemple).
@ désigne l'adresse d'une variable ou d'une procédure.
Toutes ces notions tournent autours du même sujet : les adresses mémoires.
Edit : voir le manuel : http://purebasic.com/documentation/refe ... emory.html
? désigne une adresse. C'est utile pour trouver un fichier inclus dans ton fichier (voir CatchImage() par exemple).
@ désigne l'adresse d'une variable ou d'une procédure.
Toutes ces notions tournent autours du même sujet : les adresses mémoires.

Edit : voir le manuel : http://purebasic.com/documentation/refe ... emory.html
Re: *?@
si si c'est dans la doc pourtant !!Parole De JOJO a écrit :Depuis que j'ai decouvert PB je me pose cette question. que signifient les symboles @?* places avant des variables
j'ai fouille la doc mais je n'ai rien trouve
on en parle dans un tuto ou kelkepart d'autre?
merci

Code : Tout sélectionner
a$="toto" ; met "toto" dans le tiroir 'a$'
Debug @a$ ; affiche l'adresse memoire du tiroir 'a$'
Debug PeekS(@a$) ; affiche le contenu de l'adresse , donc affiche le contenu du tiroir 'a$' =>"toto"
-
- Messages : 446
- Inscription : mar. 25/mai/2010 17:24
- Localisation : Bnei Brak, Israel
Re: *?@
Merci beaucoup
en fait je pensais que ca faisait ausi les indirections comme par exemple :
mais apparement ce n'est pas faisable
en fait je pensais que ca faisait ausi les indirections comme par exemple :
Code : Tout sélectionner
Procedure CopyFile(file.s)
If FileSize(file) = -1
If CreateFile(0, file)
WriteData(0, ?FileStart, ?FileEnd - ?FileStart)
CloseFile(0)
EndIf
EndIf
EndProcedure
CopyFile("aaa.txt")
CopyFile("bbb.txt")
DataSection
File1Start:IncludeBinary "aaa.txt":File1End:
File2Start:IncludeBinary "bbb.txt":File2End:
EndDataSection
-
- Messages : 446
- Inscription : mar. 25/mai/2010 17:24
- Localisation : Bnei Brak, Israel
Re: *?@
Merci beaucoup
Re: *?@
Je ne suis pas super au point concernant l'utilisation de ces pointeurs.
En reprenant ton exemple :
a$="toto" ; met "toto" dans le tiroir 'a$'
Debug @a$ ; affiche l'adresse memoire du tiroir 'a$'
Debug PeekS(@a$) ; affiche le contenu de l'adresse , donc affiche le contenu du tiroir 'a$' =>"toto"
Quel est la l'intérêt d'afficher
;au lieu de :
En reprenant ton exemple :
a$="toto" ; met "toto" dans le tiroir 'a$'
Debug @a$ ; affiche l'adresse memoire du tiroir 'a$'
Debug PeekS(@a$) ; affiche le contenu de l'adresse , donc affiche le contenu du tiroir 'a$' =>"toto"
Quel est la l'intérêt d'afficher
Code : Tout sélectionner
Debug PeekS(@a$)
Code : Tout sélectionner
Debug a$
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: *?@
Par contre JOJO, attention à ne pas abuser de ce genre de procédure, elle a ses limites mémoires (taille de fichier à incorporer) et certains antivirus n'aime pas trop ce genre d'auto création d'exe.Dobro a écrit :Code : Tout sélectionner
; Façon Flype en procedure Procedure.l BinToFile(FileName.s, *BinStart, *BinEnd) Protected id.l = CreateFile(#PB_Any, FileName) If id WriteData(id, *BinStart, *BinEnd - *BinStart) CloseFile(id) EndIf EndProcedure BinToFile("c:\bin1.exe", ?BIN_START1, ?BIN_END1) BinToFile("c:\bin2.exe", ?BIN_START2, ?BIN_END2) DataSection BIN_START1: IncludeBinary "TEST1.EXE" : BIN_END1: BIN_START2: IncludeBinary "TEST2.EXE" : BIN_END2: EndDataSection
Mais cette procédure m'a déjà bien servi.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: *?@
Dans le cas présent, le seul intérêt est celui de l'exemple.Ar-S a écrit :Quel est la l'intérêt d'afficher;au lieu de :Code : Tout sélectionner
Debug PeekS(@a$)
Code : Tout sélectionner
Debug a$

-
- Messages : 446
- Inscription : mar. 25/mai/2010 17:24
- Localisation : Bnei Brak, Israel
Re: les symboles *?@
decidement les pointeurs etc c'est pas pour moi
je dors mieux la nuit sans me casser la tete avec ca
mais si par hasard kelkun connait un bon tuto qui explique ca clairement, je suis preneur
je dors mieux la nuit sans me casser la tete avec ca
mais si par hasard kelkun connait un bon tuto qui explique ca clairement, je suis preneur
Re: les symboles *?@
................
Dernière modification par Backup le sam. 01/oct./2011 10:25, modifié 1 fois.
-
- Messages : 446
- Inscription : mar. 25/mai/2010 17:24
- Localisation : Bnei Brak, Israel
Re: les symboles *?@
Merci Dobro


