Page 2 sur 2
Publié : jeu. 25/nov./2004 17:28
par Chris
Encore un truc:
Si tu as déjà un fichier dans l'éditeur, et que tu veux recharger un autre fichier, il faut mettre dans la procedure de chargement:
Sinon, le second fichier va s'afficher à la suite du premier, et si les fichiers sont gros, c'est un plantage à plus ou moins brève échéance.
Code : Tout sélectionner
Procedure charger_document()
text.s = OpenFileRequester( "chargement d'un fichier texte", "", "Fichier text|*.txt", 0)
If text <> ""
If OpenFile(0, text)
ClearGadgetItemList(#Document)
bla bla bla
Publié : jeu. 25/nov./2004 17:45
par jbernard13
j'essaye de mettre un font requester afin de choisir une plice mais je sais juste afficher le font reuqester mais ensuite le choix ne marche pas
Publié : jeu. 25/nov./2004 17:52
par Chris
Et on continue
Avec ta procedure de chargement, est-ce que tu as essayé de charger un fichier texte de 2 ou 300 Ko ?
250 Ko chez moi, ça prend environ 10 secondes.
Soit, tu limites la taille des fichier que tu peux charger dans ton bloc-notes, (par ex. 100 Ko), ou alors il faut que tu passes par une procédure qui te charge le fichier en mémoire avant de l'afficher.
J'en ai une, c'est cadeau.
Code : Tout sélectionner
Procedure LireFichier(Gagdet.l, Fichier.s)
Size = FileSize(Fichier)
Longueur = Size : Decalage = 0
L_Max = 63999
If Size > 0
If ReadFile(0,Fichier)
*Buffer = AllocateMemory(Size)
If *Buffer
ReadData(*Buffer, Size)
EndIf
CloseFile(0)
EndIf
If Longueur > L_Max
Repeat
Chaine.s = PeekS(*Buffer + Decalage, L_Max)
AddGadgetItem(gadget,-1,Chaine)
Longueur = Longueur - L_Max : Decalage = Decalage + L_Max
Until Longueur < L_Max
Chaine = PeekS(*Buffer + Decalage,Longueur)
AddGadgetItem(gadget,-1,Chaine)
Else
Chaine.s = PeekS(*Buffer,Longueur)
AddGadgetItem(gadget,-1,Chaine)
EndIf
FreeMemory(*Buffer)
EndIf
EndProcedure
Pour l'appeler, tu lui donnes le gadget, et le fichier à charger.
Code : Tout sélectionner
Case #barre_charger;:charger_document()
text.s=OpenFileRequester("chargement d'un fichier texte","","Fichier text|*.txt",0)
If text<> ""
ClearGadgetItemList(#Document)
LireFichier(#Document,text)
EndIf
Publié : jeu. 25/nov./2004 18:01
par jbernard13
et pour choisir les fonts dans un font requester
Publié : jeu. 25/nov./2004 18:08
par Chris
Faudrait essayer d'être un peu patient, quand même
Comme je ne sais pas comment tu appelles le FontRequester, j'ai créé un menu. A toi d'adapter.
Code : Tout sélectionner
Case #Menu_Police
If FontRequester("Arial",12,0)
Font = LoadFont(#Font, SelectedFontName(),SelectedFontSize(),SelectedFontStyle())
SetGadgetFont(#Document,Font)
EndIf
Il faudra que tu t'arranges pour sauvegarder les règlages de police dans un fichier de preferences, parce qu'a la prochaine ouverture de ton fichier, il s'affichera avec la police par défaut.
Tu ne peux pas modifier les polices d'un fichier en .txt, c'est le logiciel qui lit le fichier qui l'affiche selon la police sur laquelle il est règlé.
Pour modifier les polices dans le fichier, il faut faire du .rtf, mais là, c'est une autre histoire!
Publié : jeu. 25/nov./2004 18:56
par jbernard13
merci chris pour tes code
mais je comprend rien
c'est du chinois pour moi
a part dessiner l'interface le reste est trop compliquer pour moi
Publié : jeu. 25/nov./2004 19:00
par jbernard13
j'arrive a changer les fontes a les sauvegader et meme a les recharger
rien ne bouge
Publié : ven. 26/nov./2004 0:06
par Le Soldat Inconnu
tu sais changer le texte avec un loadfont tout seul ?
FontID = LoadFont(#Police, "arial",

par exemple
FonID va stocker l'identifiant de la police pour pouvoir l'utiliser dans d'autre fonction (voir FontID() dans l'aide également)
pour l'appliquer au gadget, c'est
SetGadgetFont(#Gadget, FontID)
avec ça, on arrive à changer la police du gadget
après, il reste à pouvoir la choisir
donc c'est un FontRequester
Pour utiliser les résultat du FontRequester, il faut utiliser des fonctions mentionnée dans l'aide
SelectedFontName() donne le nom de la police sélectionnée "Arial" par exemple
SelectedFontSize() donne la taille de la police sélectionnée
SelectedFontStyle() donne le style (gras, italique) de la police sélectionnée
Il suffit d'utiliser ces param dans un LoadFond comme si dessus et voilà.
Si tu n'y arrive pas, donne ton code, on va t'aider
Publié : ven. 26/nov./2004 0:33
par Chris
jbernard13 a écrit :j'arrive a changer les fontes a les sauvegader et meme a les recharger
rien ne bouge
Qu'est-ce que tu veux dire, quand tu dis "Rien ne bouge"?
Publié : ven. 26/nov./2004 17:08
par jbernard13
je veux dire que ca marche
mais vous trop fort pour moi
je savais que creer les interface et apres c'est du chinois, je veux eviter les copier coller de bout de code
Publié : ven. 26/nov./2004 17:16
par Chris
Le but, c'est pas de faire du copier/coller, c'est de prendre les bouts de code qu'on t'a donné, d'ouvrir l'aide, et de regarder, pour chaque commande, à quoi elle sert.