Bonjour !
Je continue d'écrire de petits exemples Flash-Pascal.
J'aimerais l'avoir suffisamment en main pour m'en servir comme d'un outil d'initiation à la programmation, à la place de Turbo Pascal. Gratuit, léger, fonctionnant sans installation, on ne peut plus simple dans sa présentation : dans un sens, c'est l'outil idéal. Je cherche donc à écrire les exemples classiques, dans un style de programmation aussi simple que possible.
Aujourd'hui j'ai travaillé sur l'affichage de texte, à partir de l'exemple "stringopenarraydemo" de Flash-Pascal 0.8. Très intéressant !
Voici ce que j'en ai tiré :
Je ne connaissais le type array of string. Peut-on le redimensionner après l'avoir initialisé, je veux dire ajouter des éléments ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 program Texte; // Exemple Flash-Pascal {$FRAME_WIDTH 600} {$FRAME_HEIGHT 400} {$BACKGROUND $eeeeee} uses Flash8, Strings; var f : TextFormat; t : TextField; s1: TString; s2: TString; s3: string; s4: array of string; procedure Ecrire(s: string); begin t.text:=t.text+s; t.text:=t.text+#13; end; begin f:=TextFormat.Create('Tahoma',14); f.color:=$111111; f.bold:=True; s1:=TString.Create('abc'); s2:=TString.Create(s1.substring(1,s1.length_)); s3:='bla'; s3:=s3+s3; s4:=['Pierre','Paul','Jacques']; t:=TextField.Create(nil,'t',0,10,10,400,300); Ecrire('Exercice Flash-Pascal'+#13); Ecrire('s1.valueOf = '+s1.valueOf); Ecrire('s2.valueOf = '+s2.valueOf); Ecrire('s3 = '+s3); Ecrire('s4[0] = '+s4[0]); t.setTextFormat(f); end.
Ensuite j'ai réutilisé le même code pour faire la démonstration d'une fonction récursive basée sur un algorithme d'Euclide. Ça fonctionne.
Par contre, je n'ai pas réussi à afficher le résultat de ma fonction dans le programme principal. J'ai essayé de plusieurs façons, mais j'avais toujours le mot "undefined" à la place de mon résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 program ExPGCD; // Exemple Flash-Pascal {$FRAME_WIDTH 600} {$FRAME_HEIGHT 400} {$BACKGROUND $eeeeee} uses Flash8; var f : TextFormat; t : TextField; procedure Ecrire(s: string); begin t.text:=t.text+s; t.text:=t.text+#13; end; function PGCD (a, b: Integer): Integer; begin Ecrire ('a='+IntToStr(a)); Ecrire ('b='+IntToStr(b)); if b = 0 then result := a else result := PGCD (b, a mod b); end; begin f:=TextFormat.Create('Tahoma',14); f.color:=$111111; f.bold:=True; t:=TextField.Create(nil,'t',0,10,10,400,300); PGCD(12,16); t.setTextFormat(f); end.
Partager