aldweb

Close I. aldweb

Close II. PC Freeware

Close III. Palm Freeware

Close IV. Palm Shareware

Close V. iziBasic Palm

Close VI. Palm Knowledge

Close VII. Pocket Computer

Close VIII. miniPortail

Special !



Mobile version of
the aldweb Site

m.aldweb.com


Neither French, nor English?

Try one of these flags then:
[de] [es] [it] [pt]
Search




Weather / Spam / www

Lyon Weather


aldweb against spam


Newsletter
To receive news about this website, consider subscribing to our Newsletter.
Subscribe
Unsubscribe
298 Subscribers
Family's web sites

Webmaster - Infos
Friends News
Visits

   visitors

   visitors online

Poll
What do you think of the new design of the aldweb Site?
 
Great !
Beautiful
Average
So ugly...
Results
forum.gifForum - Palm - Topic #1200

Forum - Forum
Palm - Palm


Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 257

active  Topic # 1200  Définir un StringPtr

25/04/2005 @ 23:45
by Alain

Anonymous



Bonsoir,
j'aimerai utiliser la fonction ctlSetLabel pour attribuer un label à un bouton dans le prog. Le problème est que cette fonction accepte un StringPtr et je ne sais pas comment, à partir d'une string définir un pointeur de chaîne. Pouvez-vous m'aider ?
Merci d'avance.
Alain
Write to Alain   Post an answer  Top

[]   

StartPrevious [ 1 2 ] NextEnd

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 1
--------
28/04/2005 @ 22:49
by Alain

Anonymous

visitor
j'ai trouvé un moyen en utilisant StrStr. Cette fonction renvoi un StringPtr sur le début d'une chaine contenu dans une chaine. Si on prend comme paramètre 2 fois la même chaine, le StringPtr pointe le début de la dite chaine. Un peu tiré par les cheveux mais ça marche. Un moyen plus simple ?
Merci d'avance.
Alain
Write to Alain   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 2
--------
28/04/2005 @ 22:52
by aldweb

Anonymous

visitor
Alain,

Voici la définition d'un StringPtr en Pascal :

Type
StringPtr = ^String;


Un peu moins tiré par les cheuveux

@+
aldweb
Write to aldweb   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 3
--------
29/04/2005 @ 01:36
by Alain

Anonymous

visitor
Merci mais j'ai bien peur de ne pas comprendre comment mettre ça en pratique.
Supposons une variable string nommée MaChaine ayant pour valeur 'MonTexte'
Le type StringPtr étant déjà défini dans PalmAPI1.pas (j'ai oublié de précisé que je programme sur PPcompiler ..), je ne vois pas comment faire ensuite avec ma variable.
Merci encore
Alain
Write to Alain   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 4
--------
29/04/2005 @ 01:59
by aldweb

Anonymous

visitor
Reprenons.
Tu peux faire un truc comme ceci :

Procedure SetMyLabel(MyObjID:UInt16);
var
MyString: String;
FrmP: FormPtr;
ObjI: UInt16;
begin
MyString:='Toto';
FrmP:=FrmGetActiveForm;
ObjI:=FrmGetObjectIndex(FrmP,MyObjID);
CtlSetLabel(FrmGetObjectPtr(FrmP,ObjI),@MyString);
end.

Note le @ devant MyString qui indique que je pointe vers son adresse

Ou alors, avec le StringPtr :
Procedure SetMyLabel(MyObjID:UInt16);
type
StringPtr = ^String;
var
MyStringP: StringPtr;
FrmP: FormPtr;
ObjI: UInt16;
begin
MyStringP^:='Toto';
FrmP:=FrmGetActiveForm;
ObjI:=FrmGetObjectIndex(FrmP,MyObjID);
CtlSetLabel(FrmGetObjectPtr(FrmP,ObjI),MyStringP);
end.


Enfin, teste ça avant de le valider, c'est du code que je te tape à la volée à cette heure déjà matinale... donc sans garantie aucune ! Surtout que je me banane tout le temps sur ces foutus pointeurs

@+
aldweb
Write to aldweb   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 5
--------
29/04/2005 @ 14:15
by Alain

Anonymous

visitor
Bonjour,
la solution avec l'@ fonctionne bien (je ne connaissais pas ...)
Par contre, le MyStringP^:='Toto' me pose encore un problème (plantage du Palm) Je regarde ça de près et te tiens au courant.
Merci de ton aide.
Alain
Write to Alain   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 6
--------
29/04/2005 @ 17:55
by Alain

Anonymous

visitor
Je confirme. MyStringP^:='Toto' provoque un plantage du Palm sauf si la chaine ne comprend que 1 ou 2 caractères. Dans ce cas il ne se passe rien du tout (je veux dire que le pushButton dont je modifie le libellé reste noir et il n'y a aucun plantage) Etonnant, non ? (comme dirait le regretté Desproges)
Problème de compilateur ? Problème de programmeur ?
Write to Alain   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 7
--------
29/04/2005 @ 21:29
by aldweb

Anonymous

visitor
Et un truc du genre ?
MyStringP^:='Toto'+chr(0);


@+
aldweb
Write to aldweb   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 8
--------
30/04/2005 @ 11:31
by Alain

Anonymous

visitor
pour obtenir une chaine se terminant par 0. j'ai essayé mais pour le moment, pas de changement. Je vais reprendre ça dans un programme plus dépouillé pour être sur de ne pas faire de bétise et je te tiens au courant. A tout hazard, j'ai posé la question à Philippe Guillot des fois que coté compilateur ....
Merci de ton aide.
A+
Alain
Write to Alain   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 9
--------
30/04/2005 @ 12:10
by aldweb

Anonymous

visitor
Tu auras importuné Philippe pour rien, son compilo fonctionne dans ce domaine c'est sûr et certain !

C'est plus mon petit exemple de code qui doit avoir un petit bug quelque part, mais je l'avais écrit à 1 heure du matin de mémoire et je ne l'ai pas vraiment re-regardé depuis...


@+
aldweb
Write to aldweb   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 10
--------
30/04/2005 @ 13:27
by Alain

Anonymous

visitor
j'espère que non. J'ai juste laissé ma question sur le forum afin que d'autres newbies de mon espèce puisse éventuellement apprendre des bricoles (tel que le @ par exemple)
@ suivre ....
Write to Alain   Post an answer  Top
StartPrevious [ 1 2 ] NextEnd
active topic active   closed topic closed   Sticky Sticky   New New message   -   Correct Correct message   Close Close topic   Make sticky Make sticky
[]
Forum Topic  Forum 



 
^ Top ^