Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Delphi > Contribuez
Contribuez Proposez vos articles, cours, tutoriels, FAQ, sources et autres ressources pour la rubrique Delphi.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/03/2005, 11h23   #1
Giovanny Temgoua
Rédacteur
 
Avatar de Giovanny Temgoua
 
Étudiant
Inscription : novembre 2003
Messages : 3 831
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2003
Messages : 3 831
Points : 3 406
Points : 3 406
Par défaut Venez participer à la FAQ Delphi !

Bonjour,

Comme vous le savez, la FAQ Delphi contient les questions fréquemment posées sur les forums Delphi et Delphi et bases de données. Malgré nos efforts, elle peut néanmoins contenir des erreurs, nous vous remercions donc de nous les signaler si vous en trouvez.

Par ailleurs, si vous avez des Questions/Réponses (QRs) intéressantes à proposer dont vous êtes l'auteur, vous pouvez les poster à la suite de ce topic en respectant le format donné ci-après. Ces questions doivent être relatives à des problèmes précis que vous avez rencontrés lors du développement de votre application ou alors une question frequemment posée sur le forum. Il vous est demandé, par conséquent, de préciser la version de Delphi, les composants que vous utilisez (éditeurs, gratuits, personnels) ainsi que la section dans laquelle vous souhaitez voir votre QR publiée.
La FAQ Delphi aimerait rester la plus technique possible.
Nous encourageons donc les developpeurs (débutants ou expériementés) à consulter l'aide afin d'utiliser les fonctions standards qui résolvent bien des problèmes avant de proposer une QR.

Pour soumettre une QR, il vous est demandé de la présenter de cette façon :
Citation:
[QR]Comment bien présenter une nouvelle QR ?

Vous devez présenter le titre en couleur comme ci-dessus et écrire le texte de votre QR ici. Soyez clair et précis sans écrire un livre. Une QR est une réponse simple à une question courante.
Vous pouvez ajouter des liens dans votre texte en utilisant la balise URL.
Dans le texte si vous citez une fonction de Delphi, mettez la déclaration en gras. Exemple : pour connaitre la position de la souris utiliser la fonction GetCursorPos(). Bien sur dans les balises code il ne faut pas mettre de mise en forme. La coloration est faite au moment de la publication sur le site.
Vous pouvez utiliser le gras l'italique ou le souligné mais pas les tailles de polices ni la couleur.
De même ne mettez pas de smiley dans le texte.
Code :
1
2
3
4
5
6
7
8
9
10
// Le code doit toujours être entre les balises CODE
// Indenter correctement votre code afin de nous éviter une reprise
// manuelle ensuite
Begin
  ShowMessage('Hem.');
  ShowMessage('Avez-vous compris ?');
  If Reponse='OUI'
    Then ShowMessage('OK')
    Else ShowMessage('Relisez tout');
End;
En fin de QR, vous pouvez ajouter les liens qui peuvent être utiles en complément.
Ensuite, vous pourrez éventuellement ajouter vos remarques. Si la QR est fournie avec des fichiers (par exemple, un projet présentant le fonctionnement du code) veuillez les placer dans un fichier .zip et nous communiquer le lien où on pourra le télécharger.

Il est également possible d'envoyer votre QR par mail (avec éventuellement en pièces jointes les sources) à l'adresse faqdelphi _AT_ redaction-developpez.com

Giovanny Temgoua est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2005, 09h43   #2
Giovanny Temgoua
Rédacteur
 
Avatar de Giovanny Temgoua
 
Étudiant
Inscription : novembre 2003
Messages : 3 831
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2003
Messages : 3 831
Points : 3 406
Points : 3 406
Bonjour,

L'adresse de la FAQ est exclusivemement réservée à vos propositions pour la FAQ. Si par ailleurs, vous souhaitez rédiger un article, merci de prendre contact directement avec un des membres de l'équipe Delphi ou le DRH par MP.

Par ailleurs, les questions techniques (ou non) doivent être postées sur le forum. Toute demande par mail sera purement et simplement ignorée.

Merci.
Giovanny Temgoua est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2007, 17h05   #3
CapJack
Membre émérite
 
Avatar de CapJack
 
Homme
Prof, développeur amateur vaguement éclairé...
Inscription : mars 2004
Messages : 623
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Prof, développeur amateur vaguement éclairé...
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 623
Points : 947
Points : 947
Par défaut Taille en pixels d'un texte (encore une...)

Obtenir la largeur et/ou la hauteur en pixels d'un texte, dans une fonte donnée, et dans un contrôle fenêtré donné.

Fonctions sans instanciations d'objets VCL, donc rapides.

Plateforme Windows uniquement, enfin je crois...

Code :
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
function GetTextSize  (const AControl : TWinControl;
                       const AFont    : TFont;
                       const AText    : string): TSize;
var DC: HDC;
begin
  DC := GetWindowDC(AControl.Handle);
  Result.cx := 0;
  Result.cy := 0;
  SelectObject(DC,AFont.Handle);
  GetTextExtentPoint32(DC,PChar(AText),Length(AText),Result);
  ReleaseDC(AControl.Handle,DC);
end;
 
function GetTextWidth (const AControl : TWinControl;
                       const AFont    : TFont;
                       const AText    : string): Integer;
begin
 Result := GetTextSize(AControl,AFont,AText).cx
end;
 
function GetTextHeight(const AControl : TWinControl;
                       const AFont    : TFont;
                       const AText    : string): Integer;
begin
 Result := GetTextSize(AControl,AFont,AText).cy
end;
CapJack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2007, 18h25   #4
Pedro
Rédacteur
 
Avatar de Pedro
 
Inscription : octobre 2003
Messages : 5 406
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 5 406
Points : 6 771
Points : 6 771
Super QR
Merci de ta participation
__________________
Pedro
Aucune réponse aux sollicitations techniques par MP

Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

Les pages Source C'est bon. Mangez-en!
Le défi Delphi
Règles du forum - FAQ Delphi - Pensez au chtit

Le site de mon frangin
Pedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 21h55   #5
gb_68
Membre éclairé
 
Avatar de gb_68
 
Homme
Ingénieur développement logiciels
Inscription : août 2006
Messages : 195
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2006
Messages : 195
Points : 343
Points : 343
Bonjour,

une information intéressante
Citation:
Delphi 2006 propose un nouveau gestionnaire de mémoire : http://dn.codegear.com/article/33416
pour mettre à jour la
[QR]Comment partager un objet entre un exécutable (.exe) et une DLL?
[QR]Comment passer des strings dans une DLL ?


il suffit de mettre SimpleShareMem dans les uses à la place ShareMem ; comme FastShareMem, il n'y a plus besoin de BORLNDMM.DLL et cette unité est fournie de base avec Delphi (de plus ce n'est qu'une infime partie des nouveautés présentées dans l'article http://dn.codegear.com/article/33416).

edit:et rajouter
[QR]Comment traquer les fuites de mémoire ?
Citation:
Le gestionnaire de mémoire de Delphi 2006 permet de savoir si votre programme libère bien toute la mémoire que vous avez allouée. Il suffit d'ajouter à votre programme ReportMemoryLeaksOnShutdown := true ; ou ReportMemoryLeaksOnShutdown := DebugHook <> 0 ; pour n'activer cette fonctionnalité qu'en débogage.

Exemple :
Code :
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  PRec = ^Rec;
 
  Rec = record
    A,B : integer;
  end;
 
  TObjetInterne = class(TObject)
  end;
 
  TObjetPrincipal = class(TObject)
  public
    FObjetInterne : TObjetInterne;
    FRec : PRec ;
    constructor Create;
    destructor  Destroy; override;
  end;
 
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
{ TObjetPrincipal }
constructor TObjetPrincipal.Create;
begin
   inherited;
   FObjetInterne := TObjetInterne.Create;
   New(FRec);
end;
 
destructor TObjetPrincipal.Destroy;
begin
  FObjetInterne.Free;
  Dispose(FRec);
  inherited;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var ObjetPrincipal : TObjetPrincipal; ptr : Pointer;
begin
   ReportMemoryLeaksOnShutdown := DebugHook <> 0 ;
   ObjetPrincipal := TObjetPrincipal.Create;
   ptr := AllocMem(10000);
end;
 
end.
En cliquant 4 fois sur Button1 puis en fermant l'application, on obtient :
Une autre petite mise à jour possible
[QR]Comment ajouter une icône dans le systray ?
Citation:
Delphi ne propose pas en standard de méthode pour ajouter une icône dans la barre des tâches de Windows.
Depuis Delphi 2006 il existe TTrayIcon (palette Supplément).
Images attachées
Type de fichier : jpg Resultat.JPG (28,0 Ko, 36 affichages)
gb_68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 13h33   #6
Pedro
Rédacteur
 
Avatar de Pedro
 
Inscription : octobre 2003
Messages : 5 406
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 5 406
Points : 6 771
Points : 6 771
pour toutes ces infos gb_68
__________________
Pedro
Aucune réponse aux sollicitations techniques par MP

Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

Les pages Source C'est bon. Mangez-en!
Le défi Delphi
Règles du forum - FAQ Delphi - Pensez au chtit

Le site de mon frangin
Pedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 10h44   #7
bubulemaster
Membre chevronné
 
Développeur Java
Inscription : mars 2004
Messages : 619
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : mars 2004
Messages : 619
Points : 630
Points : 630
Par défaut Comment obtenir un handle de fenêtre (HWND) de console

J'ai trouvé ça par hasard et je ne l'ai pas trouvé dans la FAQ (enfin j'ai trouvé ceci Comment cacher la fenêtre d'une application console ? mais il me semble intéressant de rajouter ça à part)
http://support.microsoft.com/kb/124103/fr

Le but est d'obtenir le Handle de la fenêtre de l'application console.
Pour ce faire on va générer un titre unique et chercher la fenêtre qui à ce titre.

Code DELPHI :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function GetConsoleHwnd : HWND ;
var
    NewWindowTitle : string ;
    OldWindowTitle : string ;
begin
      SetLength(NewWindowTitle, 1024) ;
 
      // Récupère le titre courant
      GetConsoleTitle(PChar(OldWindowTitle), 1024);
 
      NewWindowTitle := Format('%d/%d', [GetTickCount, GetCurrentProcessId]);
 
       // Change le titre
       SetConsoleTitle(PChar(NewWindowTitle));
 
       // Attend pour que le titre de la fenêtre soit changé
       Sleep(40);
 
       // Charche le nouveau titre
       Result := FindWindow(nil, PChar(NewWindowTitle)) ;
 
       // Restore le titre originnal.
       SetConsoleTitle(OldWindowTitle);
end ;
bubulemaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 11h13   #8
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
Merci pour cette proposition et ta participation
On va traiter tout ça
__________________
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 13/09/2007, 02h01   #9
gaabne
Invité de passage
 
Inscription : avril 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 4
Points : 4
Points : 4
[QR]Comment change-t-on la couleur de fond d'un élément de radiogroup ?[QR]

Mise à jour de http://delphi.developpez.com/faq/?pa...fondradiogroup

Depuis Delphi 7 (peut-être avant) on peut directement acceder à la propriété
Buttons[Index] du Radiogroup ce qui donne accès toutes ses propriétés :

Code :
1
2
3
4
5
6
 
procedure RGB_ColorItem(RadioGroup: TRadioGroup; ItemIndex: Byte; Color: 
Tcolor); 
begin 
  RadioGroup.Buttons[ItemIndex].Color := Color; 
end;
Voici ma modeste contribution
gaabne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2007, 13h06   #10
Pedro
Rédacteur
 
Avatar de Pedro
 
Inscription : octobre 2003
Messages : 5 406
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 5 406
Points : 6 771
Points : 6 771
Merci pour ta contribution gaabne
__________________
Pedro
Aucune réponse aux sollicitations techniques par MP

Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

Les pages Source C'est bon. Mangez-en!
Le défi Delphi
Règles du forum - FAQ Delphi - Pensez au chtit

Le site de mon frangin
Pedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2007, 13h09   #11
aityahia
Rédacteur
 
Avatar de aityahia
 
Homme Idir AIT YAHIA
EURL CIEPTAL CARS
Inscription : mars 2006
Messages : 1 864
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 864
Points : 3 297
Points : 3 297
Envoyer un message via MSN à aityahia Envoyer un message via Yahoo à aityahia Envoyer un message via Skype™ à aityahia
salut:
je tiens a proposé une MAJ pour la question énuméré dans la FAQ.
Comment envoyer un e-mail avec Delphi ?

la solution proposé ne gère pas les connections SSL.

Citation:
[QR] Comment envoyer un e-mail avec Delphi?

les fichiers .cer seront obtenus auprès de votre fournisseur de services.

Code :
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
var
  IdMessage: TIdMessage;
  IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
  IdSMTP: TIdSMTP;
  Message: TStrings;
  i: Integer;
  Fichiers: Array Of String;
begin
  IdMessage := TIdMessage.Create(nil); //création dynamique du composant
 
  IdMessage.From.Address := 'expediteur@domaine.com';
 
  //Ces deux lignes peuvent-être répétées autant de fois que vous désirez 
  //d'adresse de réponse et/ou de destinataire
  IdMessage.ReplyTo.Add.Address := 'expediteur@domaine.com';
  IdMessage.Recipients.Add.Address := 'destinataire@domaine.com' ;
 
  IdMessage.Subject := 'Sujet du message';
 
  IdMessage.ContentType := 'multipart/alternative'; //Message 'découpé' en plusieurs parties
 
  Message := Memo1.Lines; //par exemple... il faut juste que ce soit un TStrings !
 
  //Ici on va créer les différentes parties du message
  //Au cas où le client ne gère pas les messages HTML :
  With TIdText.Create(IdMessage.MessageParts, Message) Do
  Begin
    ContentType := 'text/plain';
    Body.Insert(0, 'Ce message est un message HTML. Configurez votre client de courrier électronique' +
   'pour le visionner de manière appropriée');
  end;
 
  //Ajout du message au format HTML (en supposant que Message contient du HTML) :
  with TIdText.Create(IdMessage.MessageParts, Message) do
    ContentType := 'text/html';
 
  //Et maintenant, l'ajout des pièces jointes :
  //Le tableau de strings Fichiers doit être remplis avec les chemins complets des fichiers à inclure
  for i := Low(Fichiers) to High(Fichiers) do
    TIdAttachment.Create(IdMessage.MessageParts, Fichiers[i]);
 
  //On passe ensuite à l'envoi du message:
  IdSMTP := TIdSMTP.Create(nil) ; //Création dynamique du composant
 
  IdSMTP.Port := 25; //Le port SMTP standard... 
  IdSMTP.Host := 'smtp.serveur.com';  //Le serveur auquel se connecter
 
// paramétrage de la connexion SSL.
If SSLConnect Then
 begin
   IdSMTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
   IdSSLIOHandlerSocketOpenSSL1.SSLOptions.RootCertFile :='RootCert.cer';
   IdSSLIOHandlerSocketOpenSSL1.SSLOptions.CertFile := 'Certificat.cer';
   IdSSLIOHandlerSocketOpenSSL1.SSLOptions.KeyFile := '';
   IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvSSLv3;
 end;
 
  //Ensuite on se connecte et on envoit le message, en gérant les erreurs, tant qu'à faire !
  Try
    Try
      IdSMTP.Connect;
      IdSMTP.Send(IdMessage);
    except
      on e: exception do MessageDlg(e.Message, mtError, [mbOK], 0);
    end;
  finally
    IdSMTP.Disconnect;
    IdSMTP.Free;
    IdMessage.Free;
  end;
 
end ;
aityahia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2007, 17h29   #12
Pedro
Rédacteur
 
Avatar de Pedro
 
Inscription : octobre 2003
Messages : 5 406
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 5 406
Points : 6 771
Points : 6 771
Merci pour ta participation
__________________
Pedro
Aucune réponse aux sollicitations techniques par MP

Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

Les pages Source C'est bon. Mangez-en!
Le défi Delphi
Règles du forum - FAQ Delphi - Pensez au chtit

Le site de mon frangin
Pedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2008, 19h27   #13
BeTuLa
Candidat au titre de Membre du Club
 
Inscription : septembre 2002
Messages : 12
Détails du profil
Informations forums :
Inscription : septembre 2002
Messages : 12
Points : 13
Points : 13
Par défaut Comment formater un entier avec la fonction format

La FAQ donne un exemple de formatage d'un nombre réel mais il n'y a rien sur les nombres entiers. Pour formater un nombre entier en utilisant les séparateurs de millier, on doit utiliser l'astuce de convertir notre entier en nombre flottant et n'afficher que la partie entière. La fonction format permet de réaliser cela très facilement.

Il existe deux formes d'utilisation de la fonction format.

Il est possible d'utiliser une variable locale pour spécifier le séparateur de millier ou le séparateur décimal.

Voici un exemple

Code :
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
 
procedure AfficheEntierFormate;
var
i:integer;
setting:Tformatsettings;
begin
i:=10000000;
 
//première forme de l'utilisation de la fonction format
//L'astuce consiste à diviser l'entier par 1 pour obtenir un nombre flottant
//et utiliser le caractère de type de conversion n au lieu de d.
//On fixe le nombre de décimale à zéro avec le spécificateur facultatif de précision .0
//On affiche donc une nombre flottant sans afficher les décimales
//La fonction format utilisera les paramètres locaux pour formater le nombre
showmessage(format('le nombre est %.0n ',[i/1]));
//Si le séparateur de millier est l'espace notre valeur sera 10 000 000
//mais rien nous garantie que le séparateur de millier est celui que nous voulons
 
//Si on désire contrôler les paramètres de formatage, il faut déclarer une variable
//de type Tformatsetting et utiliser la deuxième forme de la fonction format
//On initialise notre variable avec les paramètres régionaux fixés par l'usager
GetLocaleFormatSettings(SysLocale.DefaultLCID, setting);
//On modifie la valeur ou les valeurs qui nous intéressent
setting.ThousandSeparator:=',';
showmessage(format('le nombre est %.0n ',[i/1], setting));
//Notre valeur sera affichée à coup sur selon notre désir 10,000,000
 
end;
De cette façon on ne modifie pas les variables globales et on ne risque pas d'effet de bord dans les traitements subséquents.

Salutations
BeTuLa
BeTuLa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2008, 14h21   #14
Pedro
Rédacteur
 
Avatar de Pedro
 
Inscription : octobre 2003
Messages : 5 406
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 5 406
Points : 6 771
Points : 6 771
Merci pour ta participation
__________________
Pedro
Aucune réponse aux sollicitations techniques par MP

Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

Les pages Source C'est bon. Mangez-en!
Le défi Delphi
Règles du forum - FAQ Delphi - Pensez au chtit

Le site de mon frangin
Pedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2008, 21h47   #15
Zaki_SDwin
Membre du Club
 
Étudiant
Inscription : mars 2008
Messages : 105
Détails du profil
Informations personnelles :
Âge : 25
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2008
Messages : 105
Points : 46
Points : 46
Envoyer un message via Yahoo à Zaki_SDwin
Par défaut Comment récuperer les liens dans une page HTML ?

Bonjour seulement j'ai remarqué qu'il n'est pas dit qu'il faut ajouter StrUtils dans la caluse Uses pour la fonction PosEx, et j'ai un problème de compilation ( identificateur non déclaré ) pour le BeginPos , la question dans la Faq c'est :
Comment récuperer les liens dans une page HTML ?
Voici le lien
Zaki_SDwin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2008, 09h25   #16
adaneels
Membre actif
 
Avatar de adaneels
 
Homme Arnaud DANEELS
Chef de projet MOA
Inscription : août 2006
Messages : 233
Détails du profil
Informations personnelles :
Nom : Homme Arnaud DANEELS
Âge : 33
Localisation : France

Informations professionnelles :
Activité : Chef de projet MOA

Informations forums :
Inscription : août 2006
Messages : 233
Points : 174
Points : 174
Envoyer un message via ICQ à adaneels Envoyer un message via MSN à adaneels Envoyer un message via Yahoo à adaneels Envoyer un message via Skype™ à adaneels
Citation:
Envoyé par Zaki_SDwin
Bonjour seulement j'ai remarqué qu'il n'est pas dit qu'il faut ajouter StrUtils dans la caluse Uses pour la fonction PosEx,
Sorry, les clauses uses sont rarement mises si je me souviens bien. Mais tu peux les retrouver très facilement dans l'aide de Borland (F1 sur la fonction par exemple).

Citation:
Envoyé par Zaki_SDwin
j'ai un problème de compilation ( identificateur non déclaré ) pour le BeginPos , la question dans la Faq c'est :
Comment récuperer les liens dans une page HTML ?
Voici le lien
C'est une variable dont la déclaration a été oubliée. Elle est à déclarer en "BeginPos : Integer;" juste avant le premier "begin".
__________________
--
Arnaud DANEELS
adaneels est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2008, 14h02   #17
Pedro
Rédacteur
 
Avatar de Pedro
 
Inscription : octobre 2003
Messages : 5 406
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 5 406
Points : 6 771
Points : 6 771
Merci de l'avoir signalé
On essaiera de corriger tout ça à la prochaine mise à jour.
__________________
Pedro
Aucune réponse aux sollicitations techniques par MP

Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

Les pages Source C'est bon. Mangez-en!
Le défi Delphi
Règles du forum - FAQ Delphi - Pensez au chtit

Le site de mon frangin
Pedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2008, 12h07   #18
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 207
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2007
Messages : 4 207
Points : 7 265
Points : 7 265
Par défaut [EDI BDS2005,BDS2006 ...] une Aide plus efficace

Fatigué de me battre avec une aide de BDS2006 un peu 'floue', nostalgique de l'aide si complète de D7 et désespérant avoir un jour une mise à jour , j'ai trouvé une petite pepite chez CodeGear . Voici une proposition de Question/Réponse , a retravailler car le lien ne fonctionne pas tout le temps et on doit être enregistré il y a a aussi Delphi Praxis Help Booster qui pourrait être cité

[QR] ajouter de l'aide à mon EDI
Citation:
il est possible d'utiliser un ancien fichier d'aide Delphi avec votre nouveau EDI . Si vous avez la chance d'avoir une version plus ancienne D3..D7 :
télechargez et installez Delphi7helpforBDS

Ctrl+F1 et Shift+F1 seront alors vos touches d'aides supplémentaires
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2008, 00h51   #19
Pedro
Rédacteur
 
Avatar de Pedro
 
Inscription : octobre 2003
Messages : 5 406
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 5 406
Points : 6 771
Points : 6 771
Merci de ta participation Maitre Sergio
__________________
Pedro
Aucune réponse aux sollicitations techniques par MP

Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

Les pages Source C'est bon. Mangez-en!
Le défi Delphi
Règles du forum - FAQ Delphi - Pensez au chtit

Le site de mon frangin
Pedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2008, 14h57   #20
HumanTool
Membre confirmé
 
Avatar de HumanTool
 
Homme Guillaume ROQUES
Chef de projet NTIC
Inscription : janvier 2006
Messages : 272
Détails du profil
Informations personnelles :
Nom : Homme Guillaume ROQUES
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2006
Messages : 272
Points : 293
Points : 293
Par défaut [OpenOffice]

Bonjour,
il semblerait que j'eusse oublié une partie du code pour la faq pourriez la mettre à jour :
Code :
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
51
52
53
54
55
56
57
58
function IsNullEmpty(AObject: Variant): Boolean;
begin
    Result := VarIsEmpty(AObject) or VarIsNull(AObject) or VarIsClear(AObject);
end;
 
function CreateUnoService(const AServiceName: String): Variant;
begin
    try
        Result := AApp.createInstance(AServiceName);
    except
    end;
end;
 
procedure StartOpenOffice;
begin
    try
        if not IsNullEmpty(AApp) then
            AApp := Unassigned;
        AApp := CreateOleObject('com.sun.star.ServiceManager');
        ADeskTop := CreateUnoService('com.sun.star.frame.Desktop');
        AUno := CreateUnoService('com.sun.star.frame.DispatchHelper');
        ALocale := CreateUnoService('com.sun.star.Lang.Locale');
    except
        on E: Exception do
        begin
            AApp := Unassigned;
            Abort;
        end;
    end;
end; 
 
function PasteClipBoard: String;
var
    OOoClip, OOoClipContents, OOoTypes: Variant;
    I: Integer;
begin
    Result := '';
    try
        OOoClip := CreateUnoService('com.sun.star.datatransfer.clipboard.SystemClipboard');
 
        OOoClipContents := OOoClip.getContents;
        OOoTypes := OOoClipContents.getTransferDataFlavors;
        For I := VarArrayLowBound(OOoTypes, 1) to VarArrayHighBound(OOoTypes, 1) do
        begin
            if OOoTypes[i].HumanPresentableName = 'Unicode-Text' then
            begin
                Result := String(OOoClipContents.getTransferData(OOoTypes[i])) + #13#10;
                Break;
            end;
        end;
    except
        on E: Exception do
        begin
            CTErrorDlg('OfficeReportCreation', [E.Message]);
            Abort;
        end;
    end;
end;
Ce code est valable pour les 2 exemples...merci
__________________
D'abord ils vous ignorent, ensuite ils se moquent de vous, puis ils vous combattent, enfin vous gagnez (Gandhi)
HumanTool est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h35.


 
 
 
 
Partenaires

Hébergement Web