begin process at 2008 09 06 08:18:56
1 237 661 membres
52 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

LE BOULET


Information sur la source

Catégorie :API Niveau : Débutant Date de création : 30/06/2002 Date de mise à jour : 30/06/2002 13:56:50 Vu / téléchargé: 1 500 / 103

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description

autant d'utilité que pour BABALLE... aucune...
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de Delphiprog le 30/06/2002 12:28:29 administrateur CS

    Pas si inutile que celà !
    Cet exemple illustre des concepts intéressants : création de fiches de forme quelconque, déplacement sans utiliser la barre de titre (elle n'existe pas) et interactivité (vitesse réglable) et le tout bien documenté (sauf dans Timer1Timer mais le code est vraiment facile à comprendre).
    Quand tu écris :
    if image1.Visible = false then
                 begin
                      image1.visible := true;
                      image2.visible := false;
                 end;
    personnelement, pense qu'il est plus lisible d'écrire (et plus rapide à l'éxécution) de mettre :
    if not image1.visible then
    begin
      image2.Visible := Image1.Visible;
      image1.Visible := not image1.Visible;
    end;

    De même, tu fais fréquemment référence à Form1, comme par exemple :
    if abs(form1.top+25 - mouse.CursorPos.y) > speed +1 then

    alors que, par défaut, c'est la fiche qui est l'objet en cours et il suffirait d'écrire :
    if abs(top+25 - mouse.CursorPos.y) > speed +1 then

    Dans FormKeyPress, tu écris :
    case key of
         '+' : inc(speed);
         '-' : speed := speed - 1 ;
         end;
    Si Inc incrémente la valeur d'un variable, Dec réalise l'inverse :
    ainsi speed := speed + 1 est équivalent à Dec(Speed) mais est optimisé !

    Pour info, tu peux déclarer et initialiser des variables directement dans la partie interface (depuis Delphi 4). Ainsi la variable speed déclarée n'et initialisée qu'à la création de la fiche pourrait être initialisée directement lors de sa déclaration :
    var
      speed : integer = 2;

    Je n'ai plus le temps d'étudier le reste mais d'autres le feront sûrement...

    Félicitations pour cette brillante démo ;<)

  • signaler à un administrateur
    Commentaire de pyrus le 30/06/2002 13:32:05

    lol ben merci pour ces conseils... je vais corriger tout ca...

  • signaler à un administrateur
    Commentaire de pyrus le 30/06/2002 13:56:10

    mais le decoupage n'est pas de moi... j'aurai pas reussi a faire ca...

  • signaler à un administrateur
    Commentaire de Nono40 le 30/06/2002 15:13:37

    Il n'y a pas de programme inutile. Les sources présentés ici n'ont pas tous une utilité directe mais présente toujours des exemples de programmation sur des points particuliers, c'est ça qui est utile.

    Dans Timer1Timer, plutôt qu'écrire :
         if (abs(top+12 - mouse.CursorPos.y) < speed +2)
            and (abs(left+12 - mouse.CursorPos.x) < speed +2) then
         begin
              if image2.Visible then
                 begin
                      image1.visible := image2.Visible;
                      image2.visible := not image2.Visible;
                 end;
         end
            else
         begin
              if image1.Visible then
                 begin
                      image2.visible := image1.Visible;
                      image1.visible := not image1.Visible;
                 end;
         end;
    On peut simplement écrire :
        Image1.Visible:=(abs(top+12 - mouse.CursorPos.y) < speed +2)
            and (abs(left+12 - mouse.CursorPos.x) < speed +2);
        Image2.Visible:=Not Image1.Visible;    

    Bonne continuation,

    Nono

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Boutique

Boutique de goodies CodeS-SourceS