cs_Gysmo
Messages postés209Date d'inscriptionlundi 11 février 2002StatutMembreDernière intervention13 décembre 2002
-
20 mai 2002 à 03:26
marc660
Messages postés171Date d'inscriptionjeudi 15 avril 2004StatutMembreDernière intervention18 juillet 2007
-
17 sept. 2005 à 06:01
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
marc660
Messages postés171Date d'inscriptionjeudi 15 avril 2004StatutMembreDernière intervention18 juillet 2007 17 sept. 2005 à 06:01
Sur delphi 2005 ca ne marche pas.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 30 août 2005 à 22:16
Oui exact mais ce n'est pas une pratique à recommander.
GDI ausculte quasi tout ce qu'on lui passe et tente la meilleure interprétation possible. C'est rendu obligatoire par le fait que quasi tout son code va s'exécuter en kernel mode et on aurait souvent l'écran bleu s'il n'y avait pas cette analyse systématique.
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 30 août 2005 à 21:43
DrawText accepte aussi #13 seul
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 30 août 2005 à 16:10
le drawing affiche aussi bien avec simple 10 que 13,10 juste que on gagne 1 octet par séquence en ne mettant que le 10.
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 30 août 2005 à 15:59
Tout dernier point: dois-je impérativement mettre #10, ou puis-je laisser #13#10 dans les boîtes de dialogue qui sera transmis à la fonction DrawText de GDI ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 30 août 2005 à 12:54
Sous Windows:
Retour chariot 13,10 pour fichier qui doit pouvoir s'éditer en EDITEUR SIMPLE, notepad par exemple. Idem partout où on affichera une chaine avec composant qui repose sur code de classe EDIT. Les éditeurs inclus dans VS, ou wordpad, ou etc... affichent aussi bien du 10 simple que du texte en 13,10, ils ne sont pas basés sur le code de la classe EDIT.
Voila le pourquoi de la chose, simple non ?
Ce principe s'applique aussi bien au label (classe STATIC) qu'à MessageBox (simple DIALOG), l'un comme l'autre n'affichant que par des opérations de drawing GDI.
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 30 août 2005 à 12:31
C'est complètement paradoxal vos histoires :
#1) Sous Windows, le retour chariot dans les fichiers est #13#10
#2) Sous Linux, c'est #10 tout court
#3) Windows ne supporte pas #13 tout seul dans les fichiers
#4) Dans les boîtes de dialogue, Nono40 dit qu'il faut #13 tout seul car #10 crée des bugs d'affichage
#5) Les vécéplusseplussiens prennent #10
#6) Windows accepte #13#10 dans les boîtes de dialogue
#7) Delphi configure le sLineBreak en #13#10 qui n'est pas déclaré public par défaut
Ca mérite quand même des explications plus profondes...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 30 août 2005 à 10:01
eh ben, toutes ces manips, quelle courage... tu aurais demandé tu gagnais du temps.
Pour t'en éviter d'autres, MessageBox idem, le 10 en saut de ligne.
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 30 août 2005 à 09:39
Je suis allé vérifier dans Windows de ce qu'il en est de cette contradiction. Vous allez être bluffés !
J'ai pris NotePad, tapé quelques lettres et fermé la fenêtre avec la croix. Il est apparu un message sur plusieurs lignes pour confirmer la fermeture. Hélas, je n'ai pas trouvé dans d'autres logiciels une situation similaire, car souvent les sauts de ligne sont faits avec plusieurs TStaticText (au moins, le débat est clos :).
Spy++ n'a pas bien révélé l'affichage. J'ai donc pris mon ViewVite (3.6.1.84) et j'ai passé son espion intégré sur le Static de NotePad. Avec GetWindowText, j'ai récupéré le texte du Static et je l'ai enregistré dans un fichier via la fonction Write. Mon dumper PHP N°29392 révèle que le séparateur de ligne est... Je vous le donne en mille : #0Ah
$0A = 10. Et voilà, Nono40 trompé (et moi aussi !). Comme quoi, tout n'est pas si évident que cela.
Au final: l'astuce était donc très bonne...
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 29 août 2005 à 13:25
>> GrandVizir
Faux, pour les retour à la ligne dans les labels c'est #13 seul. Sinon dans certains cas le #10 affiche des carrés noirs.
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 29 août 2005 à 13:00
Toujours ce #13 esseulé alors que dans les éditeurs de texte sous Windows c'est #13#10. Utilisez aussi sLineBreak si vous voulez :) Que ce soit les labels, ou les boîtes de dialogue, c'est pareil.
g2loq
Messages postés10Date d'inscriptionvendredi 12 juillet 2002StatutMembreDernière intervention15 mars 2005 2 août 2002 à 15:09
Il faut aussi penser à verifier WordWrap = True, qui permet d'écrir un label sur plusieur ligne/ou pas.
cs_Gysmo
Messages postés209Date d'inscriptionlundi 11 février 2002StatutMembreDernière intervention13 décembre 2002 20 mai 2002 à 03:26
Je rajoutrais que pour les TLabel, en appuyant sur le bouton [...] dans l'inspecteur d'objet a la propriété Caption, on accede a un editeur de texte permettant aussi de charger un fichier texte.
Voila babaille.
cs_Gysmo
Messages postés209Date d'inscriptionlundi 11 février 2002StatutMembreDernière intervention13 décembre 2002 20 mai 2002 à 03:19
C'est bien vrai.
Bref c'est toujours bon a savoir!
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 19 mai 2002 à 21:27
"Ne passons pas à côté des choses simples" : voilà un proverbe qui n'a jamais aussi bien dit ce qu'il voulait dire...
17 sept. 2005 à 06:01
30 août 2005 à 22:16
GDI ausculte quasi tout ce qu'on lui passe et tente la meilleure interprétation possible. C'est rendu obligatoire par le fait que quasi tout son code va s'exécuter en kernel mode et on aurait souvent l'écran bleu s'il n'y avait pas cette analyse systématique.
30 août 2005 à 21:43
30 août 2005 à 16:10
30 août 2005 à 15:59
30 août 2005 à 12:54
Retour chariot 13,10 pour fichier qui doit pouvoir s'éditer en EDITEUR SIMPLE, notepad par exemple. Idem partout où on affichera une chaine avec composant qui repose sur code de classe EDIT. Les éditeurs inclus dans VS, ou wordpad, ou etc... affichent aussi bien du 10 simple que du texte en 13,10, ils ne sont pas basés sur le code de la classe EDIT.
Voila le pourquoi de la chose, simple non ?
Ce principe s'applique aussi bien au label (classe STATIC) qu'à MessageBox (simple DIALOG), l'un comme l'autre n'affichant que par des opérations de drawing GDI.
30 août 2005 à 12:31
#1) Sous Windows, le retour chariot dans les fichiers est #13#10
#2) Sous Linux, c'est #10 tout court
#3) Windows ne supporte pas #13 tout seul dans les fichiers
#4) Dans les boîtes de dialogue, Nono40 dit qu'il faut #13 tout seul car #10 crée des bugs d'affichage
#5) Les vécéplusseplussiens prennent #10
#6) Windows accepte #13#10 dans les boîtes de dialogue
#7) Delphi configure le sLineBreak en #13#10 qui n'est pas déclaré public par défaut
Ca mérite quand même des explications plus profondes...
30 août 2005 à 10:01
Pour t'en éviter d'autres, MessageBox idem, le 10 en saut de ligne.
30 août 2005 à 09:39
J'ai pris NotePad, tapé quelques lettres et fermé la fenêtre avec la croix. Il est apparu un message sur plusieurs lignes pour confirmer la fermeture. Hélas, je n'ai pas trouvé dans d'autres logiciels une situation similaire, car souvent les sauts de ligne sont faits avec plusieurs TStaticText (au moins, le débat est clos :).
Spy++ n'a pas bien révélé l'affichage. J'ai donc pris mon ViewVite (3.6.1.84) et j'ai passé son espion intégré sur le Static de NotePad. Avec GetWindowText, j'ai récupéré le texte du Static et je l'ai enregistré dans un fichier via la fonction Write. Mon dumper PHP N°29392 révèle que le séparateur de ligne est... Je vous le donne en mille : #0Ah
$0A = 10. Et voilà, Nono40 trompé (et moi aussi !). Comme quoi, tout n'est pas si évident que cela.
Au final: l'astuce était donc très bonne...
29 août 2005 à 13:25
Faux, pour les retour à la ligne dans les labels c'est #13 seul. Sinon dans certains cas le #10 affiche des carrés noirs.
29 août 2005 à 13:00
2 août 2002 à 15:09
20 mai 2002 à 03:26
Voila babaille.
20 mai 2002 à 03:19
Bref c'est toujours bon a savoir!
19 mai 2002 à 21:27