Bonsoir^^
quelqu'un saurait ce qui provoque une erreur dans le programme ?
Apparemment ça arrive dés que la fonction separe() est appelée.
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
50
51
52
53
54
55
56 type Tmaliste = array of ShortString; TForm1 = class(TForm) Label2: TLabel; Button1: TButton; Edit1: TEdit; procedure FormCreate(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; temp:ShortString; tableau:Tmaliste; implementation {$R *.DFM} //... Sépare les mots d'une chaine qui sont liés par le séparateur indiqué ..................... function separe(chaine : ShortString; sep : char): Tmaliste; var i,m:integer; phrase,mot:ShortString; car:char; begin temp:=''''; phrase:=chaine; m:=0; if (chaine<>'''') then begin mot:=''''; for i:=0 to (length(phrase)-1) do begin car:=phrase[i]; if (car=sep) then begin result[m]:=mot; inc(m); temp:=temp+mot+'' ''; mot:=''''; end else mot:=mot+car; end; end; Form1.Label2.caption:=temp; end; procedure TForm1.FormCreate(Sender: TObject); begin Edit1.text:=''pied*velo*auto*train*''; temp:=Edit1.text; tableau:=separe(temp,''*''); // ERREUR ici ! end.
Partager