Bonjour, je suis en terminal STI2D et je dois réalisé un programme delphi pour communiqué avec des plaquette XBEE.
Je suis sur une grosse tuile !
Mon objectif et d’appuyé sur un bouton pour lancer un diapo qui va défilé tout seul. accompagné d'une progresse bar qui prend +1 quand une page du diapo passe.
Avec mon prof la première hypothèse à été d'ouvrir le diapo avec "procedure TForm1.CapteInfoControl;" :
pour pouvoir le controler et ajouté +1 à la progressbar dès qu'une touche du clavier est appuyé
Puis après plusieurs problème une deuxième hypothèse à été lancé;
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 //procedure TForm1.CapteInfoControl; //var WText,ClassName : Array[0..255] of Char; // KeyIndex : array [0..255] of boolean; // NewMousePos,MousePos : Tpoint; // HD : Hwnd; // P : Integer; // Capt : boolean; // Fin : Boolean; // //begin // //initialisation //Fin:=false; //Capt:=true; //for P:=0 to 255 do KeyIndex[P]:=false; // boucle de traitement //repeat // récupération des coordonnées souris // if (GetCursorPos(NewMousePos)) and // ((NewMousePos.X <> MousePos.X) or (NewMousePos.Y <> MousePos.Y)) then // begin //MousePos:=NewMousePos; // //récupération des information du contrôle //Hd:=WindowFRomPoint(NewMousePos); //GetWindowText(hd,WText,SizeOf(WText)); //GetClassName(hd,ClassName,SizeOf(ClassName)); //Affichage //label2.caption:=strfmt('Handle du contrôle : %g - Texte du contrôle: %s - Classe du contrôle : %s',[Hd,String(WText), //String(ClassName)]); //Application.ProcessMessages; // end; // récupération des états des touches // for P:=0 to 255 do KeyIndex[P]:=GetAsyncKeyState(P) <> 0; // stocke les informations du contrôle [ClickGauche(1)]+[shift(16)] // if KeyIndex[1] and KeyIndex[16] and Capt then // begin //ListBox2.Items.Add(IntToStr(Hd)+' : '+String(WText)+' - '+String(ClassName)); //Capt:=false; // end; // autorise une capture des informations // autre que celle la touche de la souris a été relachée // Capt:=Not(KeyIndex[1]); // Application.ProcessMessages; //until Fin=true; //end;
Crée plusieurs diapo de 1 page grace à 1 fonction :
en ayant bien déclaré les variables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ShellExecute(0,'open',Pchar(NomPowerPoint),nil,nil,SW_HIDE); NomPowerPoint := 'Nom_Racine'+'_'+inttostr(2)+'.pps';
Tout fonctionne, mais quand j'essaye de faire en sorte que tout les 20 secondes, la diapo se ferme et laisse la place à la diapo 2 ()
Code : Sélectionner tout - Visualiser dans une fenêtre à part NomPowerPoint := 'Nom_Racine'+'_'+inttostr(3)+'.pps';
Je n'y arrive pas...
j'ai essayé ceci :
Mais la fonction pour fermé la diapo ne fonctionne pas et je n'en trouve pas d'autre...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 // Sleep(3000); // NomPowerPoint := 'Nom_Racine'+'_'+inttostr(2)+'.pps'; // ShellExecute(Handle,'open',Pchar(NomPowerPoint),nil,nil,SW_HIDE); // monhandle := FindWindow(nil,'NomPowerPoint'); // SendMessage(monhandle,WM_CLOSE,0,0); // Sleep(3000); // NomPowerPoint := 'Nom_Racine'+'_'+inttostr(3)+'.pps'; // ShellExecute(0,'open',Pchar(NomPowerPoint),nil,nil,SW_HIDE); // monhandle := FindWindow(nil,'NomPowerPoint'); // SendMessage(monhandle,WM_CLOSE,0,0);
Pouvez-vous m'aider svp ! (:
Merci d'avance Bonne soirée.
Partager