ALBUM PHOTO

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 - 5 févr. 2005 à 19:32
cs_LeGuepard Messages postés 38 Date d'inscription mardi 16 septembre 2003 Statut Membre Dernière intervention 7 septembre 2015 - 15 déc. 2006 à 23:18
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/29292-album-photo

cs_LeGuepard Messages postés 38 Date d'inscription mardi 16 septembre 2003 Statut Membre Dernière intervention 7 septembre 2015 2
15 déc. 2006 à 23:18
Salut,

Je viens de télécharger ta source pour voir un peu ce que ca donnait. Lorsque je lance ton soft, tout naturellement je fais "Fichier->Nouvel album" pour en créer un nouveau et là... Super Plantage de ton programme, plus rien ne répond, impossible de le quitter même, comme si la fenêtre principal avait perdu sa modalité au profit d'une autre qui n'apparait pas à l'écran.
Est-ce du au problème de positionnement de tes Form comme en parlait NI69? Non lo so! Mais si tu pouvais regarder à ce petit bug, ce serait sympa pour les autres qui s'intéresseraient à ta source.

Merci.

Julien.
cs_tahab Messages postés 1 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 27 avril 2006
27 avril 2006 à 15:24
Merci pour ce programme, j'ai qques commentaires:
- comment puis-je supprimer une image de l'album
- pour annuler l'action d'enregistrement et lorsqu'on clique sur le bouton "Annuler" le programme nous affiche un message d'erreur

merci d'avance pour ton aide
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
9 févr. 2005 à 12:34
La commande :
Concat('Photo ' , inttostr unitvariables.CompteurPhoto) , ' / ' , inttostr(unitvariables.PhotMax));
Revient à faire :
'Photo ' + inttostr(unitvariables.CompteurPhoto) + ' / ' + inttostr(unitvariables.PhotMax));
Mais aussi à :
Format('Photo %d / %d', [unitvariables.CompteurPhoto, unitvariables.PhotMax]);

La fonction Format renvoie une chaîne à partir de plusieurs données passées en params entre des [ ] (string, int, hexa.....)
%d : décimal (ça marche donc avec un integer)
%s : string
%x : hexa
[...] Pour en savoir plus, va dans l'aide de delphi

Le temps d'exécution de Format est largement inférieur à Concat ou a la méthode des +, donc mieux vaut l'utiliser !

Si tu veux vraiment faire quelque chose de complet, tu peux rajouter la gestion des vidéos, l'édition des photos, la compression en jpg, les captures d'écran...
@+
Nico
cs_sim51 Messages postés 240 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 31 décembre 2006 2
6 févr. 2005 à 12:49
Au bout de 128 affichages de cette pages, enfin un commentaire. Merci beaucoup Ni69 !!!!
Comme je l'ai dit je vais faire une mise à jour d'ici peu de temps, dans laquelle toutes tes propositions y seront car elles me sembent correctes ( tu peux m'expliquer le IV Format ....??).
Mais tout ce que tu me dis c'est par rapport au code ce qui est bien, mais tu n'aurais des idées pour complèter ce programme ( car j'aimerai faire quelque chose de complet ).
En tout cas MERCI MERCI de t'interresser à mon prog
A++
Sim51
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
5 févr. 2005 à 19:32
Alors voilà mes commentaires :

I. Fais attention à la position de tes forms ! (elles sont en dehors de l'écran chez moi..........)
Si tu veux arranger ça, mets "Position := poDesktopCenter" dans l'inspecteur d'objets pour la form principale et pour la form de nouvel album...

II. remplace Application.Terminate par Close;

III. Tu peux aussi remplacer :
OpenPictureDialog.Execute;
If openpicturedialog.FileName<>'' then begin
par :
If openDialog.Execute then begin
c'est plus court....

IV. et encore :
concat('Photo ',inttostr(unitvariables.CompteurPhoto),' / ',inttostr(unitvariables.PhotMax));
par :
Format('Photo %d / %d', [unitvariables.CompteurPhoto, unitvariables.PhotMax]);
( ça fera plaisir à JulioDelphi ;) ! )

V. La procedure TFormPleineEcran.FormDblClick(Sender: TObject); n'a aucune raison de se produire étant donné que l'image est devant le fond de la form, donc quand on Double-Clique, c'est sur l'image et pas sur la Form... Mets donc le Close dans TFormPleineEcran.Image1DblClick(Sender: TObject);

VI. Ce qui serait pas mal, c'est que quand on est au début de la série d'images, en cliquant sur "précédent", on retombe sur la dernière et réciproquement...

VII. Empêche le diaporama quand aucune image n'est chargée...

VIII. Et svp rajoute un S à en courS : "il n'y a pas d'album en cour"...

Sinon c'est une bonne idée de prog ! A compléter ! ;)

Voilà !
@+
Nico
Rejoignez-nous