begin process at 2010 02 10 06:36:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > LOGISLEEP : PERMET DE FERMER LA SESSION, D'ÉTEINDRE OU DE REDÉMARRER VOTRE ORDINATEUR DANS UN TEMPS OU UNE HEURE DONNÉE.

LOGISLEEP : PERMET DE FERMER LA SESSION, D'ÉTEINDRE OU DE REDÉMARRER VOTRE ORDINATEUR DANS UN TEMPS OU UNE HEURE DONNÉE.


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :sleep, shutdown, éteindre Niveau :Débutant Date de création :15/09/2006 Vu / téléchargé :7 226 / 1 006

Auteur : sim51

Ecrire un message privé
Site perso
Commentaire sur cette source (25)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Comme dit dans le titre il premet de fermer la session windows, d'éteindre l'ordinateur ou de le redémarrer dans un temps donné (comme la fonctio sleep sur les tv ou radio réveil) ou à une heure précise.
Le programme
- se met dans le systray (composant piconebarretache : http://phidels.com/php/index.php3?page=../php/mesc ompo/piconebarretache.htm)
- peut démarrer en même temps que windows (écriture dans la base de registre)
- peut afficher le décompte durant les 15 dernières secondes en OSD
- peut clignoter durant les 15 dernières secondes
- affiche le décompte dans la barre des taches
- garde en mémoire (lors d'une fermeture) les différentes saisies des utilisateurs (écriture dans un fichier ini)



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture JEUX : DAMES CHINOISES
Source avec Zip ALBUM PHOTO
Source avec Zip Source avec une capture GRAPHE D'UNE FONCTION

 Sources de la même categorie

Source avec Zip Source avec une capture LOGICIEL DE DIAGNOSTIC AUTOMOBILE KWP2000 par Oniria
Source avec Zip Source avec une capture RÉGLE TRANSPARENTE POUR MESURER UN OBJET ECRAN par dubois77
Source avec Zip Source avec une capture LE BOOK DU PAUVRE par dubois77
Source avec Zip Source avec une capture CAHIER 90 PAGES par dubois77
Source avec Zip Source avec une capture TABLEAU DE BOUTONS DYNAMIQUES (AGENDA) par dubois77

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SHUTDOWN / RÉVEIL STYLE DOS par mighty_warrior
Source avec Zip Source avec une capture UN PETIT TASKMANAGER par swadfish
Source avec Zip TIC TAC SHUT DOWN - OUTIL SERVANT À ÉTEINDRE VOTRE PC EN UN ... par cyberrob50
Source avec Zip ÉCRAN DE VEILLE QUI ÉTEIND LE PC APRÈS UN CERTAIN TEMPS par 365tib
Source avec une capture SHUTDOWN DIALOGUE DE WINDOWS par cirec

Commentaires et avis

Commentaire de JulioDelphi le 15/09/2006 21:42:23 administrateur CS

salut, je regarde vite fait et je vois :
1)
object Form1: TForm1
  Left = -603
dans le .dfm, a quoi ça sert de mettre la form a -603 left ???

2) l'edit sleepmin a une font de couleur clinactivewindow, donc chez moi c'est blanc donc illisible blanc sur blanc, de plus, tu n'as pas limité sa taille (avec maxlength) et mon '9999999999999999999999' c'est pas un entier valide.

3) au lieu de mettre une 20aine de lignes pour mettre les controles en lecture seule, mets en lecture seule leur groupbox plutot.

4) il me semble que "application.Terminate" est un peu trop explosif =) essaie "close"

5) seconde := seconde -1; tu peux mettre "dec(seconde)"; (décrementation, existe avec inc() pour incrémenter=

allez j'arrete la, pas le courage de descendre plus ^^

Commentaire de cirec le 16/09/2006 12:40:41 administrateur CS

Salut,

juste vite fait :-)
Left = -603 peut être du au fait qu'il utilise un système à deux écrans

Exemple : un écran à droite et un à gauche ...
celui de droite étant l'écran principale (donc origine 0,0)
celui de gauche le secondaire (origine -1024,0);

voilà c'est tout

@+
Cirec

Commentaire de JulioDelphi le 16/09/2006 12:49:04 administrateur CS

c'est pour ça qu'il existe "Form1.Position" non ? il suffit de le mettre sur "poDesktopCenter" par exemple afin que le prog s'ouvre chez tout le monde correctement. l'ergonomie des fiches est primordiales, m'enfin bon, tout le monde n'a pas lu le chapitre 3, page 65 de http://www.delphifr.com/livre-delphi-studio-lu-approuve-borland-france-46.aspx
^^

Commentaire de cirec le 16/09/2006 13:06:14 administrateur CS

"l'ergonomie des fiches est primordiales, m'enfin bon, tout le monde n'a pas lu le chapitre 3, page 65 "
non mais apparement ce n'est pas juste ...
si tu mets "poDesktopCenter" c'est le bordel pour nous (qui avons deux écrans)on se retrouve avec une moitié sur un écran et l'autre sur le deuxième ce qui est une catastrophe ... il faut vivre avec son temps :-) et penser à tout le monde quand on développe ...
je râle à chaque fois qu'il y a une source avec ces paramètres. "poScreenCenter" est bien mieu et permet de l'avoir toujours au centre de l'écran et ce peut importe le quel (à gauche, à droite, en haut, en bas) ^_^

Commentaire de sim51 le 16/09/2006 13:48:31

bonjour,
Tout d'abord merci pour vos commentaires surtou à toi JulioDelphi pour ta rapidité.
Cepdendant tes commentaires ne sont pas très constructif sauf le 2 (et voir peut être le 3).
Sinon c'est vrai que j'utilise deux écrans ce qui est très pratique et j'ai mis sur la fiche qu'elle apparaisse au centre d'un écran (comme le dis Cirec). Voilà pour le -603.
Quant au 5, je ne vais pas venir sur la question des origines des programmeurs, c'est à dire les math ou l'info. Moi je veins des math, et donc i+1 me parle plus que inc(i). Mais ceci est du chipotage.
J'ai fais ce petit programme (tout simple) car c'est une fonctionnalité qui n'existe pas sur windows et qu'il y a très peu de programme qui permet de le faire.
Enfin, encore merci pour vos remarques et suggestions, et j'en attend encore !!!

Commentaire de JulioDelphi le 16/09/2006 18:51:59 administrateur CS

merci Cirec, je voulais que quelqu'un dise ça ^^
effectivement, poScreenCenter est mieux, ça prouve bien que les left-603 est vraiment pas a sa place... la propriété Posifition DOIT ETRE renseignée de toute façon.

sim51 : je regarderais plus pret mais l'idée est bonne, le codage peut etre un peu fouilli, il est vrai que je chipote pour le inc() ^^

ps : je deconne pour la page 65, mais j'ai quand meme pris la peine de citer le vrai numero de page XD (j'ai lu le bouquin complet non mais)

Commentaire de Francky23012301 le 18/09/2006 02:26:25

Salut,

A JulioDelphi : la méthode application.terminate est souvent reprochée et on conseille l'utilisation de close. Je ne suis pas d'accord avec cette remarque. Application.terminate n'est pas utilisable dans des cas extrèmement rares (utilisation des Query). Cependant la méthode close est une méthode sale : en effet elle génére souvent des beugues (perso juste avec une simple form cela m'a déclenché un magnifique plantage) et de plus si tu as une boucle en cours tu l'as dans l'os : close en définitif est encore plus crade a utilisé que application.terminate. Perso je conseille l'utilisation de halt(...) qui permet d'imposer un temps d'attente et qui ne génére aucune erreur.

@+

Commentaire de fjohnny le 18/09/2006 08:27:26

L'utilisation de Halt(..) génére chez moi une erreur windows, je suis obligé de déactivé completement le rapport d'erreur, il semblerait que windows n'aime pas beaucoup cette instruction.

Commentaire de Francky23012301 le 18/09/2006 10:08:15

Salut

FJohnny trois questions stp :
-Quel interval de temps à utiliser avec Halt ?
-Quel message d'erreur a tu eu ?
-Avec quelle application as tu tester halt (Non tester avec ce source ^^) ?

Un problème crucial avec Close : si tu as une boucle en cours Close va attendre que la boucle soit finit avant de fermer l'application, ce qui peut poser probleme. Le fait d'etre obligé de forcer la fermeture d'une application est bien plus fréquent que l'utilisation des Query. Voila l'une des raisons pour laquelle je n'aime pas utiliser Close. Une autre raison est que pour utiliser Close proprement il faut vérifier un certain nombre de chose avant de l'utiliser pour éviter un plantage, hors ces vérifications ne sont rarement effectuées ce qui fait que d'une façon générale Close est toujours utilisé salement. Donc je pense qu'il faut mieux forcer (Sur le principe je parle car dans la réalité ...) une fermeture que de mal utilisé une procédure normalement plus propre.

@+

Commentaire de Francky23012301 le 18/09/2006 10:16:18

Autre remarque Johnny :

Tu as recu un rapport d'erreur, je pense donc que tu as simultanément compiler puis lancer l'application. Ceci est déconseillé en effet, par cette méthode il arrive parfois que des modifications ne soient pas effectuée au niveau de l'executable : il faut mieux construire le projet puis le lancer.

Autre remarque quand on lance une application par cette méthode : Les Try Finally Except te déclenchent une erreur. Hors cette dernière disparait en construisant le projet puis en lancant l'application. Il en va de même d'autres procedures et fonctions (dont halt).

Bon coding

Commentaire de cirec le 18/09/2006 11:06:33 administrateur CS

Attention !!!!

Halt exécute une fin anormale d'un programme.

Unité

System

Catégorie

routines de contrôle de flux

procedure Halt [ ( Exitcode: Integer) ];

Description

La procédure Halt exécute une fin anormale d'un programme et renvoie le contrôle au système d'exploitation. Pour exécuter une fin normale d'une application non console VCL de Delphi, appelez Application.Terminate. Exitcode est une expression facultative qui indique le code de sortie du programme.

Ensuite si tu as dans le OnClose de ta form une sauvegarde de paramètres (par exemple)
en faisant appel à Application.Terminate la sauvegarde ne serat pas executée.

Alors que Close ferme une fiche et si c'est la form principale alors Close ferme l'application.

procedure Close;

Description

Appelez la méthode Close pour fermer une fiche.

Close appelle la méthode CloseQuery pour déterminer si la fiche peut se fermer. Si CloseQuery renvoie False, l'opération de fermeture est abandonnée. Sinon, l'événement OnClose a lieu.

Remarque : Quand la fiche principale de l'application se ferme, l'application se termine.

Close ne demande aucune verification avant son appel ... et fait appel à Application.Terminate

Extrait de TCustomForm.Close;
...
      if CloseAction <> caNone then
        if Application.MainForm = Self then Application.Terminate
...

les erreurs de Delphi lors de la compilation ne sont pas toujours à prendre au mot.

si en développant une application X tu as plusieurs erreurs puis tu passes à l'application Y (nouvelle par exemple) il se peut que le cumule des erreurs de X déclanche une erreur à la compilation de Y.

il semblerait que Delphi ne vide pas, toujours, correctement la mémoire et donc en redémarrant le PC et en recompilant Y tout fonctionne parfaitement.

voilà
@+
Cirec

Commentaire de fjohnny le 18/09/2006 11:30:56

En faite Cirec a raison Halt exécute "une fin anormale d'un programme".
C'est la commande que j'utilise quant aprés un temps donné lorsque des threads que j'ai lancé ne répondent plus et que l'utilisateur a requis une fermeture du programme, car dans ce cas ni application.terminate, ni close ne fonctionne, on est obligé de "tuer" l'application.

Pour répondre à  Francky23012301 :
j'utilise la commande Halt :

begin
   Halt(0);
end;

Je ne me souviens pas du message exacte de Windows, mais en gros il me disais que : "Mon appli.exe s'est terminé de façon anormale. Voulez-vous envoyé un rapport d'erreur à microsoft.."

Commentaire de qoprek le 18/09/2006 14:29:04

A noter que Application.Terminate est appelé par le Close ... et n'est que l'envoi d'un WM_QUIT dans la queue msg windows via PostQuitMessage.

C'est pas la manière standard de quitter mais peut être utile dans certains cas précis.
Son principal défaut est qu'elle n'est pas a action immédiate et donc il faut faire attention a de la réentrance d'évènements durant ce laps de temps.

Le Halt est extrêment efficace mais extrêment générateur d'instabilité car les process fils sont laissé dans l'état courant et les objets crées par les process fils sont toujours en mémoire. A n'utiliser que vraiment si on a pas le choix. A noter que l'ExitCode était utilisé dans les .bat pour détecter des conditions de fin anormale de programme avec le fameux If ErrorLevel=255 Goto ErreurFatale ...

De plus pour éviter tout souci de fuite mémoire il est bon de blinder le .dpr également.
Exemple (l'objet TJustOne32 est l'un de ceux disponibles pour vérifier les multi-instances d'une application, l'objet RetailWebServiceJournal est un objet de trace):

var InstanceApplication : TJustOne32;

procedure DoneApplication;
begin
  with Application do begin
    if Handle <> 0 then ShowOwnedPopups(Handle, False);
    ShowHint := False;
    Destroying;
    DestroyComponents;
  end;
end;

begin
  InstanceApplication := TJustOne32.Create(Application);
  if InstanceApplication.PreviousInstanceAlreadyExists then Exit;
  //............................................................................
  try
    try
      Application.Initialize;
      Application.ShowMainForm := False;
      Application.Title := 'RetailServeurWeb';
      RetailWebServiceJournal:=TRetailWebServiceJournal.CreerAujourdhui(Application,'RetailServeurWeb');
      Application.CreateForm(TFormPrincipale, FormPrincipale);
  Application.CreateForm(TFormParametrage, FormParametrage);
  Application.Run;
    except
      on E : Exception do begin
        if Assigned(RetailWebServiceJournal) then begin
          RetailWebServiceJournal.Ecrire('Exception occured while running application on "%s": "%s"',[E.ClassName,E.Message],0);
        end;
      end;
    end;
  Finally
    Try
      If Assigned(FormParametrage) Then Begin
        FormParametrage.Free;
        FormParametrage:=Nil;
      End;
      // On libère le journal en dernier car c'est lui qui a la responsabilité des traces
      RetailWebServiceJournal.Free;
    Except
      On E : Exception Do Begin
        If Assigned(RetailWebServiceJournal) Then Begin
          RetailWebServiceJournal.Ecrire('Exception occured while ending application: "%s"',[E.Message],0);
        End;
      End;
    End;
    // Maintenant on libère l'application. Cette libération est faite manuellement car il
    // se peut que des exceptions aient laissé l'objet application dans un état instable
    // On encadre donc cette libération par des try... except vides afin d'éviter les runtime error 216
      With Application Do Begin
        DoneApplication;
        //Si DoneApplication génère une exception alors on ne tente même pas le free... tant pis !
      End;
  End;
end.



Aide MSDN sur WM_QUIT:
----------------------

The WM_QUIT message indicates a request to terminate an application and is generated when the application calls the PostQuitMessage function. It causes the GetMessage function to return zero.

Syntax
WM_QUIT
    WPARAM wParam
    LPARAM lParam;
  
Parameters
wParam
Specifies the exit code given in the PostQuitMessage function.
lParam
This parameter is not used.
Return Value

This message does not have a return value because it causes the message loop to terminate before the message is sent to the application's window procedure.

Remarks

The WM_QUIT message is not associated with a window and therefore will never be received through a window's window procedure. It is retrieved only by the GetMessage or PeekMessage functions.

Do not post the WM_QUIT message using the PostMessage function; use PostQuitMessage.

Notification Requirements

Minimum DLL Version None
Header Declared in Winuser.h, include Windows.h
Minimum operating systems Windows 95, Windows NT 3.1

Commentaire de cirec le 18/09/2006 15:27:49 administrateur CS

Salut,
procedure DoneApplication;
est une procedure interne à Forms.pas qui est appelé par Application.Run et dans la section Finalization de Forms.pas
donc faire un appel ici ne me parait pas utile puisque tu ne fais que doubler l'appel

TRetailWebServiceJournal : est introuvable même Google ne trouve aucune trace
ainsi que FormParametrage ????

et pour finir on peut facilement remplacer TJustOne32 par l'utilisation de Mutex où d'Atome

Quand tu donnes un bout de code pense à donner les liens avec pour que l'on puisse retrouver les différents composants utilisés parce que dans l'état le code est inutilisable pour nous

@+
Cirec

Commentaire de JulioDelphi le 18/09/2006 15:37:13 administrateur CS

@francky : lol =), fichier c:\program files\borland\delphi7\source\vcl\forms.pas, ligne 4608 :
procedure TCustomForm.Close;
var
  CloseAction: TCloseAction;
begin
  if fsModal in FFormState then
    ModalResult := mrCancel
  else
    if CloseQuery then
    begin
      if FormStyle = fsMDIChild then
        if biMinimize in BorderIcons then
          CloseAction := caMinimize else
          CloseAction := caNone
      else
        CloseAction := caHide;
      DoClose(CloseAction);
      if CloseAction <> caNone then
        if Application.MainForm = Self then Application.Terminate
        else if CloseAction = caHide then Hide
        else if CloseAction = caMinimize then WindowState := wsMinimized
        else Release;
    end;
end;

alors bon ... ^^

Commentaire de qoprek le 18/09/2006 15:38:29


Cirec, c'est pas l'objet précis qui compte, c'est juste le mécanisme qui importe, tu t'en fous de quel méthode tu utilises pour détecter les instances ou pour faire tes traces, l'exemple était focus sur un mécanisme global. Faut savoir avoir une vision macro dès fois ... :)  

L'objectif est didactique et donc vite je coupe-colle et voir si ca marche chez soi est quelquefois contraire a une démarche plus cohérente, je comprends et après j'essaye de voir, en faisant soi même, si j'ai bien compris.

Commentaire de cirec le 18/09/2006 15:45:03 administrateur CS

ben donc si on ne tiens pas compte de TJustOne32 ni de TRetailWebServiceJournal il ne reste que ton appel à DoneApplication qui est inutile comme je l'explique plus haut !!!

Commentaire de qoprek le 18/09/2006 15:45:22

... maintenant je reconnais que j'ai pas assez commenté ce bout'd'code ... mea culpa de ce coté ... je refais tout cela et je reposterais, avec l'explication du DoneApplication.

Commentaire de cirec le 18/09/2006 15:47:58 administrateur CS

stp merci ça me permetra de comprendre le but de la manip ... qui m'échappe un peut :-)

Commentaire de Francky23012301 le 18/09/2006 16:05:11

@Julio : lol. Voila un post qui a fait réagir !!!

Messages d'alertes : perso je n'ai jamais eu d'alertes en utilisant halt(0) mais bon je te crois sur parole quand tu dis que cela peut arriver. En tout cas halt(0) il ferme toujours l'appli lui ^^ (le mec qui aime pas avoir tord lol).

Perso le peu de fois ou j'ai utilisé close j'ai eu droit à un plantage et le seul moyen que j'ai trouvé à l'époque était de faire des verifications.

Close ferme une fiche ou une application suivant le cas : donc on ne peut pas utiliser toujours close à la place d'application.terminate. Cette dernière est du reste bien plus souvent utiliser dans les tutos et sources que close.

Mais bon la conclusion de tout ca c'est quand fin de compte chacun fais comme il aime : mdrrrrr.

bon j'ai plus le temps je dois finir mon forum lol

Commentaire de JulioDelphi le 18/09/2006 16:19:47 administrateur CS

quelle adresse le FranckyForum ? :D

Commentaire de qoprek le 18/09/2006 17:06:03


Var InstanceApplication : TMaMethodeDetectionMultiInstance;

// Garantir l'accès aux libérations dans les cas des exceptions sur Finalization (par exemple: http://qc.borland.com/wc/qcmain.aspx?da=179)
Procedure DoneApplication;
Begin
  With Application Do Begin
    If Handle <> 0 then ShowOwnedPopups(Handle, False);
    ShowHint := False;
    Destroying;
    DestroyComponents;
  End;
End;

Begin
  // Vérifier que l'on ait déja pas une instance de l'application en mémoire
  InstanceApplication := TMaMethodeDetectionMultiInstance.Create(Application);
  // Si oui alors on sort a ce moment pour n'en laisser qu'une en mémoire
  If InstanceApplication.InstanceDejaExistante Then Exit;
  // On encadre le fonctionnement global pour contrôler toutes les libérations
  Try
    // On encadre le fonctionnement global pour intercepter au plus bas niveau les exceptions afin de les tracer si l'objet de trace est déjà/encore disponible
    Try
      Application.Initialize;
      Application.Title := 'SlideShow';
      // Création de l'objet de trace ici et non associé à une fiche afin de n'en pas être tributaire
      MaTrace:=TMaMethodeDeTrace.CreerAujourdhui(Application,'SlideShow');
      // Créations des fiches de l'application
      Application.CreateForm(TfrmMain, frmMain);
      // ... autres fiches éventuellement
      // Exécution principale
      Application.Run;
    Except
      On E : Exception Do Begin
        // Objet trace disponible ? alors on peut tracer ...
        If Assigned(MaTrace) Then Begin
          MaTrace.Ecrire('Exception occured while running application on "%s": "%s"',[E.ClassName,E.Message],0);
        End;
      End;
    End;
  Finally
    // Libération des fiches et objets annexes
    Try
      // Pour toutes les fiches n'étant pas la fiche principale
      // ....
      // If Assigned(FormAutre) Then Begin FormAutre.Free;FormAutre := Nil; End;
      // ...
      // On libère le journal en dernier car c'est lui qui a la responsabilité des traces
      MaTrace.Free;
      // Ce dernier Application.ProcessMEssages est absolument nécessaire pour traiter les derniers messages en suspens
      // notament les messages du thread de dialogue inter processus si on gère ce genre de mécanisme dans son application
      Application.ProcessMessages;
    Except
      On E : Exception Do Begin
        // Objet trace disponible ? alors on peut tracer ...
        If Assigned(MaTrace) Then Begin
          MaTrace.Ecrire('Exception occured while ending application: "%s"',[E.Message],0);
        End;
      End;
    End;
    // Maintenant on libère l'application. Cette libération est faite manuellement
    // car il se peut que des exceptions aient laissé l'objet application dans un
    // état instable (pas accès a la finalization de forms.pas).
    // On encadre donc cette libération par des try... except vides afin d'éviter les
    // runtime error 216
    Try
      DoneApplication;
      // Si DoneApplication génère une exception alors on ne tente même pas le free... tant pis !
      Application.Free;
    Except
      // Une première exception a pu laisser Application dans un état instable.
      // On ne tient donc pas compte des exceptions qui peuvent apparaître ici
    End;
    // Remise à nil afin d'éviter le traitement du free dans le source forms.pas
    Application := Nil;
  End;
End.


Voyons avec un .dpr classique, par exemple ton programme de SlideShow, la différence de sécurisation est quand même visible, même si tu ne gère qu'une fiche, non ? Bon il est vrai que ce genre de blindage est surtout utile sur des gros applicatifs avec plein d'objets crées dans le dpr ...


begin
  Application.Initialize;
  Application.CreateForm(TfrmMain, frmMain);
  Application.Run;
end.

----->

Procedure DoneApplication;
Begin
  With Application Do Begin
    If Handle <> 0 then ShowOwnedPopups(Handle, False);
    ShowHint := False;
    Destroying;
    DestroyComponents;
  End;
End;

Begin
  InstanceApplication := TMaMethodeDetectionMultiInstance.Create(Application);
  If InstanceApplication.InstanceDejaExistante Then Exit;
  Try
    Try
      Application.Initialize;
      Application.Title := 'SlideShow';
      MaTrace := TMaMethodeDeTrace.CreerAujourdhui(Application,'SlideShow');
      Application.CreateForm(TfrmMain, frmMain);
      Application.Run;
    Except
      On E : Exception Do
        If Assigned(MaTrace) Then MaTrace.Ecrire('Exception durant l''exécution de SlideShow sur "%s": "%s"',[E.ClassName,E.Message],0);
    End;
  Finally
    Try
      MaTrace.Free;
      DoneApplication;
      Application.Free;
    Except
    End;
    Application := Nil;
  End;
End.

Commentaire de Francky23012301 le 18/09/2006 18:51:21

@Julio : Le FranckyForum n'a rien avoir avec le developpement donc promis je ne parle pas de Close, Application.terminate ou halt : promis ^^. C'est juste un site de recherche d'emplois dans le dommaine scientifique voili voilou.

Allez zou je dois faire la page d'index en html : que halt(0) soit avec vous .... Aie qui a lancé une tomate ? Arrr c'est Qoprek : attention toi lol

Commentaire de Francky23012301 le 19/09/2006 00:04:02

@Cirec : j'étais persuadé que l'integer pour halt était un interval de temps ^^.  En traduction j'ai dis plein de boulettes sur ce thread. Comme quoi j'ai encore plein de chose à apprendre ce qui me rassure.

Mais bon c'est resté convivial c'est l'essentiel :).

@+

Commentaire de pebayart le 24/03/2007 19:43:09

Merci pour cette source.

Je l'ai modifié un peu et je vais pouvoir l'intégrer à mon projet.

sinon perso, j'ai toujours utilisé Application.Terminate c'est que j'ai appris en cours pour fermer l'application.

encore merci, by.

Pierre-Emmanuel

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

thread.sleep(5000) en delphi? [ par seni ] BonjourJ'ai cree un Thread qui doit realiser une fonction 5 sec apres qu'il soit lance. Si je mets un sleep de la maniere suivante:procedure TPrintThr Pépin avec un stop et un thread... [ par manu00 ] Hello les pros :-)J'ai un soucis que je n'arrive pas a resoudre...Dans un thread, j'ai ceci...procedure Mythread.Execute;var i:integer;begin repeatbe InitiateSystemShutdown [ par DENNLER ] J'utilise InitiateSystemShutdown pour essayer d'arrêter des ordinateurs à distance.Si le PC à éteindre est de type Windows XP le poste s'éteint corre Insérer plusieurs sleep dans une même procédure... [ par nark0 ] Salut,Je rencontre un problème lorsque j'essaye d'insérer plusieurs sleep dans une même procédure...En fait j'aimerais que des panel changent de coule Reboot ShutDown LogOff [ par cirec ] Bonjour &#224; tous,j'ai besoin d'aide pour pouvoir d&#233;terminer si l'utilisateur &#224; choisi de Red&#233;marer o&#249; Quitter Windows XP.Si que wait, timer, sleep d'environ 10 nano-secondes [ par groben ] Pour une application qui fait de l'acquisition de donn&#233;es, j'ai besoin d'attendre pendant une p&#233;riode de 12 ns exactement pendant une boucle Un sleep qui fige l'instruction précédente [ par Francky23012301 ] Salut à tous, Voila je réalise une source dans laquelle j'ai un composant qui controle un port USB. Je l'active par une instruction et doit traiter i allumer éteindre / veille [ par Maniaxman ] bonjour, j'ai trouvé ces deux fonctions si pour allumer et éteindre l'écran : SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 1);//é shutdown un pc a distance [ par yassinezairi7 ] j'ai un reseau local composé de 10 ordinateures liés avec l'internet .je veux  voir si possible avec shutdown se peut eteindré un pc a distance.tous l


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales