Nouvelle version 13.10.25 de FlashPascal 2
Avec, comme amélioration, la possibilité d'exploiter les informations sur le poste de travail
Le 2013-10-25 18:19:16, par Paul TOTH, Expert éminent sénior
Nouvelle version 13.10.25 de FlashPascal 2
Avec, comme amélioration, la possibilité d'exploiter les informations sur le poste de travail
http://flashpascal.execute.re/
C'est une mise à jour mineure, mais elle permet d'exploiter la classe System.capabilities (capabilities en FlashPascal) pour avoir des informations sur le poste de travail.
Avec, comme amélioration, la possibilité d'exploiter les informations sur le poste de travail
C'est une mise à jour mineure, mais elle permet d'exploiter la classe System.capabilities (capabilities en FlashPascal) pour avoir des informations sur le poste de travail.
Code : |
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 | program SystemCapabilities; {$FRAME_WIDTH 550} {$FRAME_HEIGHT 400} {$FRAME_RATE 12} {$BACKGROUND $FFFFFF} uses Flash8; var t: TextField; begin t := TextField.Create(_root, 't', 1, 0, 0, 550, 400); t.Text := 'avHardwareDisable = ' + BoolToStr(capabilities.avHardwareDisable) + #13 + 'hasAccessibility = ' + BoolToStr(capabilities.hasAccessibility) + #13 + 'hasAudio = ' + BoolToStr(capabilities.hasAudio) + #13 + 'hasAudioEncoder = ' + BoolToStr(capabilities.hasAudioEncoder) + #13 + 'hasEmbeddedVideo = ' + BoolToStr(capabilities.hasEmbeddedVideo) + #13 + 'hasIME = ' + BoolToStr(capabilities.hasIME) + #13 + 'hasMP3 = ' + BoolToStr(capabilities.hasMP3) + #13 + 'hasPrinting = ' + BoolToStr(capabilities.hasPrinting) + #13 + 'hasScreenBroadcast = ' + BoolToStr(capabilities.hasScreenBroadcast) + #13 + 'hasScreenPlayback = ' + BoolToStr(capabilities.hasScreenPlayback) + #13 + 'hasStreamingAudio = ' + BoolToStr(capabilities.hasStreamingAudio) + #13 + 'hasStreamingVideo = ' + BoolToStr(capabilities.hasStreamingVideo) + #13 + 'hasVideoEncoder = ' + BoolToStr(capabilities.hasVideoEncoder) + #13 + 'isDebugger = ' + BoolToStr(capabilities.isDebugger) + #13 + 'language = ' + capabilities.language + #13 + 'localFileReadDisable = ' + BoolToStr(capabilities.localFileReadDisable) + #13 + 'manufacturer = ' + capabilities.manufacturer + #13 + 'os = ' + capabilities.os + #13 + 'pixelAspectRatio = ' + FloatToStr(capabilities.pixelAspectRatio) + #13 + 'playerType = ' + capabilities.playerType + #13 + 'screenColor = ' + capabilities.screenColor + #13 + 'screenDPI = ' + FloatToStr(capabilities.screenDPI) + #13 + 'ScreenResolutionX = ' + FloatToStr(capabilities.screenResolutionX) + #13 + 'ScreenResolutionY = ' + FloatToStr(capabilities.screenResolutionY) + #13 + 'serverString = ' + capabilities.serverString + #13 + 'version = ' + capabilities.version; end. |
-
Paul TOTHExpert éminent séniorben avec mon code, mets en commentaire le "Stage.addListener(Self);", lance le programme dans le player externe et élargie la fenêtre...le carré jaune n'est plus dans le coin droite de la fenêtre, il n'a pas bougé et j'ai un espace blanc. Alors qu'avec le addListener, la méthode onResize est invoqué, elle redessine les rectangle rouge et jaune de tel sorte que ça occupe toute la largeur de la fenêtre.
[ATTACH]129586d1/a/a/a" />le 27/10/2013 à 19:00 -
Paul TOTHExpert éminent séniorattention, capabilities.screenResolutionX c'est la résolution de l'écran du PC, pas celle de la fenêtre du navigateur; c'est pour ça que je pensais que tu voulais travailler en fullscreen. Si tu veux occuper toute la page du navigateur tu as deux solutions:
1) pointer directement sur le SWF sans passer par une page HTML (tu ne peux pas alors gérer les navigateurs qui ne gèrent pas Flash)
2) faire une page HTML avec un objet qui prend toute la page...quelque chose comme ça
Code html : 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19<!DOCTYPE HTML> <html> <head> <title>FlashPascal</title> <style type="text/css"> body, html { padding: 0px; margin: 0px; width:100%; height:100%; } embed { position: absolute; top: 0px; left: 0px } </style> </head> <body> <embed type="application/x-shockwave-flash" src="fullpage.swf" width="100%" height="100%"/> </body> </html>
avec un code comme celui-ciCode : 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
47program fullpage; {$FRAME_WIDTH 550} {$FRAME_HEIGHT 400} {$FRAME_RATE 12} {$BACKGROUND $FFFFFF} uses Flash8; type TFullPage = class(MovieClip) constructor Create; procedure onResize; end; constructor TFullPage.Create; begin inherited Create(_root, 'FullPage', 1); Stage.addListener(Self); onResize; end; procedure TFullPage.onResize; begin clear(); beginFill($ff0000); linestyle(1,0); lineto(Stage.Width,0); lineto(Stage.Width,100); lineto(0,100); endFill(); beginFill($ffff00); moveto(Stage.Width-100,0); lineto(Stage.Width,0); lineto(Stage.Width,100); lineto(Stage.Width-100,100); lineto(Stage.Width-100,0); endFill(); end; begin Stage.scaleMode := 'noScale'; Stage.align := 'TL'; TFullPage.Create(); end.
le 27/10/2013 à 2:06 -
Paul TOTHExpert éminent séniorje pense que tu veux faire un SWF fullscreen, dans ce cas il te manque un Stage.scaleMode := 'noScale'; et probablement un Stage.displayState := 'fullScreen';.le 26/10/2013 à 7:38
-
ArchimèdeMembre chevronnéNickel, je regarde ça...le 25/10/2013 à 18:43
-
joreveurMembre avertiBonjour
merci. le lien est dans la signature je suppose ?
Bon wele 25/10/2013 à 18:54 -
ArchimèdeMembre chevronnéSuper l'exemple :
program SystemCapabilities;
J'ai essayé un truc simple :
Code : 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
30program Project2; {$FRAME_RATE 12} {$BACKGROUND $FFFFFF} uses Flash8; begin with _Root do begin beginFill($ff0000); linestyle(1,0); lineto(capabilities.screenResolutionX,0); lineto(capabilities.screenResolutionX,100); lineto(0,100); endFill(); beginFill($ffff00); moveto(capabilities.screenResolutionX-100,0); lineto(capabilities.screenResolutionX,0); lineto(capabilities.screenResolutionX,100); lineto(capabilities.screenResolutionX-100,100); lineto(capabilities.screenResolutionX-100,0); endFill(); end; stage.align:='TL'; end.
Code : 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
27package { import flash.display.Sprite; import flash.events.Event; import flash.system.Capabilities; public class MyScreen extends Sprite { public function MyScreen():void { with (graphics) { beginFill(0xFF0000); lineStyle(1, 0); drawRect(0, 0, Capabilities.screenResolutionX,100); endFill(); beginFill(0xFFFF00); drawRect(Capabilities.screenResolutionX-100,0,100,100); endFill(); } stage.align = "TL"; } } }
Ce doit être réalisable en javascript pour flashpascal...le 25/10/2013 à 19:17 -
Roland ChastainRédacteur/ModérateurBravo, Paul !
Code : 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
69// Date littérale en trois langues // FlashPascal2 13.10.25 // Formats retenus : // Friday 25 October 2013 // Freitag, 25. Oktober 2013 // vendredi 25 octobre 2013 program DateLitterale2; uses Flash8, Date; // http://flashpascal.sourceforge.net/ {$FRAME_WIDTH 320} {$FRAME_HEIGHT 32} const EN = 0; DE = 1; FR = 2; NOM_JOUR: array[EN..FR, 0..6] of string = ( ('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'), ('Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'), ('dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi') ); NOM_MOIS: array[EN..FR, 0..11] of string = ( ('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'), ('Januar', 'Februar', "März", 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'), ('janvier', "février", 'mars', 'avril', 'mai', 'juin', 'juillet', "août", 'septembre', 'octobre', 'novembre', "décembre") ); var f: TextFormat; t: TextField; d: TDate; l: integer; begin f := TextFormat.Create('Times', 24); t := TextField.Create(nil, 't', 0, 0, 0, 320, 32); d := TDate.Create; if capabilities.language = 'de' then l := DE else if capabilities.language = 'fr' then l := FR else l := EN; f.align := 'center'; t.setNewTextFormat(f); t.text := NOM_JOUR[l, d.getDay]; if l = DE then t.text := t.text + ','; t.text := t.text + #32; t.text := t.text + IntToStr(d.getDate); if l = DE then t.text := t.text + '.'; if (l = FR) and (d.getDate = 1) then t.text := t.text + 'er'; t.text := t.text + #32; t.text := t.text + NOM_MOIS[l, d.getMonth]; t.text := t.text + #32; t.text := t.text + IntToStr(d.getFullYear); end.
le 25/10/2013 à 22:00 -
Paul TOTHExpert éminent sénioroui le site c'est http://flashpascal.execute.re, mais si tu as une version du logiciel, au lancement il t'indique quand une nouvelle version est disponible.le 26/10/2013 à 7:39
-
joreveurMembre avertiBonjour,
Merci
oui je découvre tranquillement tout ton travail ...
Comme j'ai pris la version portable et étant sous Linux ( avec Wine) je n'ai juste qu'un demi popup qui s'affiche quelques secondes (mais maintenant je saurai)
Ce n'est pas ça le plus important tout le reste marche impeccablement bien.
petites questions au passage, dans les nouvelles versions qu'est-ce qui change ? le dossier bin ou l'unit ou voire les 2 ? i
Serait il possible dans ton zip de les inclure dans un un dossier (du nom de la version) comme ça, en décompressant ça n’écraserait pas les anciennes versions. (c'est ce que je fait manuellement)
Bien à toile 26/10/2013 à 9:14 -
Paul TOTHExpert éminent séniorça dépend de la version...par contre pour le coup je ne conserve pas l'historique des versions, je ne propose toujours que la dernière qui est la seule maintenue...libre à toi de conserver le zip de chaque version.
je n'ai pas testé sous WINE, il doit y avoir un petit problème de positionnement de la fenêtre.le 26/10/2013 à 17:00