Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Delphi > Débutant
Débutant Pour bien débuter avec Delphi
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 17/09/2008, 11h32   #41
turblad
Invité de passage
 
Inscription : août 2006
Messages : 6
Détails du profil
Informations personnelles :
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : août 2006
Messages : 6
Points : 4
Points : 4
Citation:
Manque de bol je viens d'essayer le Ctrl-C sur un ShowMessage, et ensuite, lors du Ctrl-V, le presse papier ne me renvoie que ce qui s'y trouvait a préalable et non le contenu du ShowMessage. Donc la manip ne marche pas sous Delphi-5 : Dommage.
Une petite remarque après avoir découvert cette simplissime géniale astuce, Chez moi (Delphi 2005 version gratuite developpez.com), la commande suivante :
ShowMessage ('ceci est un message');
entraine (c'est la moindre des choses) l'affichage de la boite correspondante ; un Ctrl C dessus entraine dans Notepad lors du CTRL V ceci :

---------------------------
Project1
---------------------------
ceci est un message
---------------------------
OK
---------------------------

à noter que Delphi n'a rien à voir là dedans, puisque essayant avec un message système de Windows, j'ai obtenu ceci :

---------------------------
Avertissement
---------------------------
Les modifications apportées à ce dossier affecteront tous les utilisateurs utilisant cet ordinateur. Voulez-vous continuer*?
---------------------------
Oui Non
---------------------------

Et dire que personne ne savait ça !!!
turblad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2008, 12h13   #42
Gilbert Geyer
Modérateur
 
Homme
Ingénieur retraité
Inscription : octobre 2005
Messages : 1 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur retraité

Informations forums :
Inscription : octobre 2005
Messages : 1 930
Points : 2 483
Points : 2 483
Bounjour,

Citation:
Manque de bol je viens d'essayer le Ctrl-C sur un ShowMessage, et ensuite, lors du Ctrl-V, le presse papier ne me renvoie que ce qui s'y trouvait a préalable et non le contenu du ShowMessage. Donc la manip ne marche pas sous Delphi-5 : Dommage.
... suffit de faire :
Code :
1
2
procedure SMS(s : string);
begin     clipboard.AsText:=s; Showmessage(s); end;
... avec clipbrd dans le uses.

A+
Gilbert Geyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2008, 09h13   #43
aityahia
Rédacteur
 
Avatar de aityahia
 
Homme Idir AIT YAHIA
EURL CIEPTAL CARS
Inscription : mars 2006
Messages : 1 861
Détails du profil
Informations personnelles :
Nom : Homme Idir AIT YAHIA
Âge : 37
Localisation : Algérie

Informations professionnelles :
Activité : EURL CIEPTAL CARS
Secteur : Transports

Informations forums :
Inscription : mars 2006
Messages : 1 861
Points : 3 294
Points : 3 294
Envoyer un message via MSN à aityahia Envoyer un message via Yahoo à aityahia Envoyer un message via Skype™ à aityahia
salut

on codant et parfois pour des tests on est amenés à mettre en commentaire certain blocs de code, il devient un peut pénible déactivé et de réactivé les bloques vu qu'il faut chercher les accolade ouvrante et fermante correspondante.

on rajoutant deux barres oblique avant les accolades ouvrante et fermante en peut aisément activé et désactivé le bloque de code en supprimant les deux barre avant l'accolade ouvrante.

bloque désactivé
Code :
1
2
3
4
5
6
{
for I := 0 to List.Count - 1 do
 begin
    List.add('ligne '+IntToStr(I));
 end;
   //}
bloque activé
Code :
1
2
3
4
5
6
//{
for I := 0 to List.Count - 1 do
 begin
    List.add('ligne '+IntToStr(I));
 end;
   //}
a+
aityahia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2008, 01h28   #44
Bruno13
Membre régulier
 
Inscription : mars 2005
Messages : 411
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2005
Messages : 411
Points : 98
Points : 98
Envoyer un message via MSN à Bruno13
Salut à tous,

Pour décaler un bout de code vers la droite ou vers la gauche, moi je fais :

Shift+Ctrl+I : Décale le code sélectionné vers la droite de 2 caractères

Shift+Ctrl+U : Décale le code sélectionné vers la gauche de 2 caractères
Bruno13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2008, 11h52   #45
sjrd
Rédacteur
 
Avatar de sjrd
 
Homme Sébastien Doeraene
Chercheur en informatique
Inscription : juin 2004
Messages : 4 509
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Doeraene
Âge : 23
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur en informatique
Secteur : Enseignement

Informations forums :
Inscription : juin 2004
Messages : 4 509
Points : 9 288
Points : 9 288
Pour ceux qui se demandent où sont passés les messages sur l'unité graphique qui travaille en coordonnées mathématiques, ils sont dans un nouveau thread :
Un bitmap ou canvas qui travaille directement en coordonnées mathématiques
__________________
sjrd, ancien rédacteur/modérateur Delphi
Les règles du forum tu liras et tu respecteras.
Ainsi ami des modos tu seras...

Mis à jour le 6 mai 2012 : découvrez FunLabyrinthe v5.3 : un jeu de labyrinthe gratuit et personnalisable à l'infini avec des scripts Delphi-like.
Découvrez aussi Sepi, un moteur de script orienté objet pour Delphi.

Mes tutoriels
sjrd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2008, 12h23   #46
Aos
Membre habitué
 
Inscription : janvier 2006
Messages : 189
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 189
Points : 143
Points : 143
Quand je savais pas encore utiliser de debuggeur, je procédais ainsi :

Je créais une variable globale :

Et dans mon code, a des endroits sensibles, je mettais genre :
Code :
1
2
3
 
if DEBUG_MODE then
  ShowMessage(blablabla);
blablabla represente soit des variables, soit "ok" ect... ça depend de la situation.
Puis avant de recompiler le programme, je choisissais de mettre DEBUG_MODE à false ou à true.
Aos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2008, 11h44   #47
Aquaa
Inactif
 
Inscription : novembre 2008
Messages : 255
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 255
Points : 175
Points : 175
j'utilise GExperts, ou sa fonction "Replace Component" et très utilile. tu désigne le composant à changer et par quoi le remplacer et op c'est fais en qlq seconde.

http://www.gexperts.org
Aquaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2008, 20h48   #48
Droïde Système7
Membre Expert
 
Avatar de Droïde Système7
 
Homme
Inscription : septembre 2003
Messages : 1 896
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 1 896
Points : 1 665
Points : 1 665
Bonjour,

Je cherchais comment obtenir une GroupBox, mais sans le caption du haut à gauche, non, je cherchais comment obtenir un rectangle aux quatre côtés bien nets tout simplement.

Je pensais avoir trouvé, en ajoutant en caption, des signes "-" comme le principe des PopUpMenus, afin de remplir l'espace du caption.

Mais rien à faire, même à l'aide de caractères tirets.

A la suite d'un fausse manipulation, j'ai effacé le caption et... mission accomplie ; voici une belle GroupBox aux quatre lignes sans rien d'autre

Bête comme choux non ?

Pour vous, ce compo supplémentaire pour le prix d'un seul

@+
Droïde Système7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2008, 12h25   #49
Nopain
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 40
Points : 37
Points : 37
Ne pas oublier le Code Template:
La flemme de taper la structure d'une boucle "for" encore et encore?
Tapez forb dans l'IDE puis CTRL + J
...et hop:
Code :
1
2
3
4
for  :=  to  do
begin
 
end;
Voyez Delphi|menu Outils|Options editeur|Code Insight pour trouver d'autres raccourcis et personalliser vos snippets.

Merci a tous pour ces contributions!

Particulierement a aityahia pour ces snippets auto-activants
et Aos pour son Debug_Mode
Nopain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2009, 23h05   #50
Droïde Système7
Membre Expert
 
Avatar de Droïde Système7
 
Homme
Inscription : septembre 2003
Messages : 1 896
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 1 896
Points : 1 665
Points : 1 665
Par défaut Vista, petit canailloux va !

Bonjour

Un truc qui m'a fait tourner en bourrique pendant un certain temps.

Vista le canailloux...

Si jamais vous changez l'icône de votre exe, ne cherchez pas trop ailleurs quelle est la cause de la non prise en compte de cette nouvelle icône.

Quoique c'est à vrai dire bien plus gratiné

Si vous changez d'icône sur votre application, seule la première taille d'icône, dans votre dossier d'application Delphi, sera visible.

Sur les trois autres tailles ; seulement l'ancienne icône sera visible.

Ce n'est de deux ou trois jours ensuite, allez savoir pourquoi... ; tout sera rentré dans l'ordre, et votre nouvelle icône enfin visible partout, sur les quatre tailles Windows Vista.

Encore une petite chose, heuuu pardon si si, c'est possible d'admirer cette nouvelle icône la première fois ; à condition de renommer le dossier de cette appplication Delphi, ou bien de vous amusez de créer un nouveau dossier, et de déposer cet exe à l'intérieur.

Voilà qui j'espère, vous fera gagner du temps en recherches. Lorsque par la force des choses, vis à vis de vos applications tournant hors de chez vous, et donc sur un OS différent ; Vista pour ne pas le nommer.

Dingo non ?

@+
Droïde Système7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2009, 19h26   #51
OutOfRange
Membre éclairé
 
Avatar de OutOfRange
 
Inscription : avril 2005
Messages : 533
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 533
Points : 396
Points : 396
Par défaut positionner & dimentionner les compos

Salut tout le monde
Un petit truc que je trouve très pratique pour déplacer et positionner avec précision les compos sur la form
CTRL + flèche direction pour déplacer le compo
SHIFT + bas pour augmenter la height du compo
SHIFT + haut pour diminuer la height du compo
SHIFT + droite pour augmenter la width du compo
SHIFT + gauche pour diminuer la width du compo
tout ça pixel par pixel
Très utile aussi pour modifier la taille/position d'un compo en arrière plan, inaccessible à la souris
__________________
Choisir, c'est renoncer...
OutOfRange est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/01/2009, 14h16   #52
dragonno
Membre éprouvé
 
Inscription : janvier 2009
Messages : 582
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 582
Points : 487
Points : 487
Merci pour vos astuces^^
La mienne (de super débutant^^), je sais pas si ça a été dis, mais quand on met du code après le end de fin de programme Delphi 5 n'en tient pas compte, il fait comme si ça n'existait pas, et ça me permet de stocker du code au lieu de le copier dans un fichier texte et le ramener après.

Ha oui aussi une bonne astuce : lire les astuces d'un forum delphi que j'aime bien : Phidels.com (lien direct vers les astuces)

http://www.phidels.com/php/index.php...07e726cfadcde5
dragonno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2009, 11h00   #53
edam
Membre Expert
 
Avatar de edam
 
Homme said
Développeur Delphi/c++/Omnis
Inscription : décembre 2003
Messages : 1 789
Détails du profil
Informations personnelles :
Nom : Homme said
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Delphi/c++/Omnis
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2003
Messages : 1 789
Points : 2 392
Points : 2 392
pour une image de fond, mieux la chargé dynamiquement, que de l'insérer dans l'exe, surtout dans les phases de développement-->compilation et exécution rapide, en plus si par hasard on veux changer l'image, comme il fait windows
__________________
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS
edam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2009, 11h06   #54
dragonno
Membre éprouvé
 
Inscription : janvier 2009
Messages : 582
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 582
Points : 487
Points : 487
Par insérer dans l'exe tu veux dire dans un TImage par exemple ?
Sinon merci pour l'astuce^^
dragonno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2009, 16h55   #55
edam
Membre Expert
 
Avatar de edam
 
Homme said
Développeur Delphi/c++/Omnis
Inscription : décembre 2003
Messages : 1 789
Détails du profil
Informations personnelles :
Nom : Homme said
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Delphi/c++/Omnis
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2003
Messages : 1 789
Points : 2 392
Points : 2 392
oui,
pour les image des buttons, ou tout autre composant, mieux utliser une Timageliste, et affecter les images pas code:
Code :
1
2
 
          ImageList1.GetBitmap(1,BitBtn1.Glyph);// ici 1 c'est le n° de 1image dans Imagelist
si vous utlisé Tadoconnection, assurez-vous que connected=False,avant l'execution et surtout avant la férmeture de delphi et même sera mieux si on efface le connectioenstring
pour IBdatabase, mettez AllowStreamedConnected à false
__________________
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS
edam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2009, 17h19   #56
edam
Membre Expert
 
Avatar de edam
 
Homme said
Développeur Delphi/c++/Omnis
Inscription : décembre 2003
Messages : 1 789
Détails du profil
Informations personnelles :
Nom : Homme said
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Delphi/c++/Omnis
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2003
Messages : 1 789
Points : 2 392
Points : 2 392
Citation:
Envoyé par ShaiLeTroll Voir le message
Le Sleep n'a aucun défaut, il est fait justement pour qu'un thread relache totalement son temps processeur au profit des autres threads, durant un tant donné sans se préoccuper des messages, car il y a justement une fonction d'attente prévue pour cela, c'est WaitMessage appelé dans le thread VCL, qui suspend le thread et reprend son execution dès l'apparation d'un message dans la file d'attente tout ceci appelé dans le Application.Idle, ensuite, lorsque WaitMessage relache la main au thread VCL, cela reprend l'execution de la boucle run, qui va lancer une écoute de message via l'API "PeekMessage" (voir ProcessMessage sans S dans TApplication) ...
pour moi, je préfére ne pas utlisé les sleep, surtout dans une boucle d'attent,
pour toi shailetroll, tu dis que tu
Citation:
Envoyé par ShaiLeTroll Voir le message
tient j'ai adapté (simplifié) une fonction que j'avais développé pour l'attente du remplissage asynchrone du HTMLBody d'un WebBrowser ...
?? asyncrone, et sleep, bizar
__________________
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS
edam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2009, 13h44   #57
Franck SORIANO
Expert Confirmé
 
Franck Soriano
Leader Technique
Inscription : juin 2005
Messages : 1 758
Détails du profil
Informations personnelles :
Nom : Franck Soriano
Âge : 35
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Leader Technique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2005
Messages : 1 758
Points : 3 986
Points : 3 986
Citation:
Envoyé par edam Voir le message
?? asyncrone, et sleep, bizar
Ben non c'est normal. Le TWebBrowser encapsule en fait l'activeX d'IE qui est multi-threadé.
Ca te paraît peut-être bizarre, mais il est justement préférable d'endormir le thread principal, pour éviter qu'il ne consomme les ressources CPU dont les threads secondaires du TWebBrowser ont besoin pour effectuer le traitement dont tu attends la fin de l'exécution... (même si ici, on attend en fait que le site web ait répondu...)

D'une façon générale, lorsqu'on n'a rien à faire dans une appli, il faut le dire à l'OS d'une façon ou d'une autre pour qu'il puisse attribuer le CPU aux autres processus qui en ont besoin.
Selon les besoins, on fera un WaitMessage, WaitForSingleObject ou si on n'attend rien de particulier : Sleep...
Franck SORIANO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2009, 18h13   #58
edam
Membre Expert
 
Avatar de edam
 
Homme said
Développeur Delphi/c++/Omnis
Inscription : décembre 2003
Messages : 1 789
Détails du profil
Informations personnelles :
Nom : Homme said
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Delphi/c++/Omnis
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2003
Messages : 1 789
Points : 2 392
Points : 2 392
Citation:
Envoyé par Franck SORIANO Voir le message
Ben non c'est normal. Le TWebBrowser encapsule en fait l'activeX d'IE qui est multi-threadé.
Ca te paraît peut-être bizarre, mais il est justement préférable d'endormir le thread principal, pour éviter qu'il ne consomme les ressources CPU dont les threads secondaires du TWebBrowser ont besoin pour effectuer le traitement dont tu attends la fin de l'exécution... (même si ici, on attend en fait que le site web ait répondu...)
sa je l'ai bien compris, mais la boucle principale peut faire l'affaire,non?? ou même comme tu as dis avec WaitMessage, WaitForSingleObjec
bien sûr si ce activix d'IE peut envoyer des evénement(onterminate) par example
mais avec sleep dans une boucle, c'est déjà il consomme du temps de CPU!!!?? , c'est ce que je veux dire,
__________________
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS
edam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2009, 00h34   #59
Droïde Système7
Membre Expert
 
Avatar de Droïde Système7
 
Homme
Inscription : septembre 2003
Messages : 1 896
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 1 896
Points : 1 665
Points : 1 665
Un petit mot sur la licence GPL.

Cette dernière est absolument contagieuse !

J'avais lu ça très étonné sur un livre de Paul Toth et Olivier Dahan.

Bref, si par exemple vous utilisez un tout petit morceau de code récupéré sur un programme sous licence GPL ; votre programme devient automatiquement, que ça vous plaise ou non, à son tour, sous licence GPL.

Idem, si vous utilisez une DLL sous cette licence pour votre programme ; devinez...

@+
Droïde Système7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2009, 11h43   #60
Droïde Système7
Membre Expert
 
Avatar de Droïde Système7
 
Homme
Inscription : septembre 2003
Messages : 1 896
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 1 896
Points : 1 665
Points : 1 665
Encore une petite

Ce petit canailloux de Vista

L'autre fois j'ai bien passé 1/2 heure pour trouver pour quelle raison, lors de tests, je n'étais même plus fichu de créer un tout bête fichier INI.

Sur le code ci-dessous, Vista refuse de façon silencieuse l'écriture :
Code :
1
2
3
4
 
...
FileIni := TIniFile.Create('test.ini');
...
Par contre, en affectant un dossier bien ciblé, là tout est autrement, et la création est effective :
Code :
1
2
3
4
 
...
FileIni := TIniFile.Create(ExtractFilePath(Application.ExeName)+'test.ini');
...
Par contre, je n'ai pas testé en neutralisant l'UAC de Vista, mais je subodore...

@+
Droïde Système7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h59.


 
 
 
 
Partenaires

Hébergement Web