begin process at 2010 02 10 07:29:25
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Texte

 > COMPOSANT WEBMEMO

COMPOSANT WEBMEMO


 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 :Texte Classé sous :Html, Memo, TWebbrowser, Hypertexte, WYSIWYG Niveau :Initié Date de création :05/04/2006 Date de mise à jour :03/10/2008 00:26:10 Vu / téléchargé :5 202 / 834

Auteur : shining

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

 Description

Cliquez pour voir la capture en taille normale
TSFcWebMemo est un Memo basé sur le composant TWebbrowser avec cependant des fonctionnalités plus avancées !!!, entièrement orienté HTML le composant se comporte comme un TRichEdit et il permet donc la création & l'édition d'une page html avec la possibilité de changer la couleur du texte, sa police, son alignement, son style(gras, talic, souligné ect..), d'inséré des images ou de mettre une image de fond ect.., il facilite également la gestion des css que l'ont peut inclure directement dans le projet exécutable(LoadFromRes ou même depuis un fichier externe LoadFromFile), on peut également s'en servir comme Logger(en lecture seule).
Enfin il permet tout ce que le TWebbrowser permet de faire y compris le WYSIWYG(pour le moment la gestion du WYSIWYG est encore limitée !!!).


 Conclusion

TSFcWebMemo c'est toute la puissance de l'hypertext avec la simplicité d'un TRichEdit (voir le Screenshot)

pas de bugs majeurs pour le moment ...

 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


 Historique

11 avril 2006 21:24:05 :
Création de la Toolbar en dynamique due au bug Win98/95 <> XP du coup c'est pas pratique en design time néanmoins vous pouvez supprimer la routine qui charge le bitmap en dynamique et inclure directement le fichier TB.bmp dans l'imageList !!!
13 avril 2006 19:28:23 :
Ajout d'un Package des fichiers manquants !!!, car non distribuer dans la version perso de Delphi
02 octobre 2008 20:44:00 :
Quelques améliorations, composant plus stable, ajout de quelques nouvelles fonctions.
03 octobre 2008 00:13:53 :
Correction mineurs dans la demo !!!, il n'était pas possible de lancer une "recherche" en mode lecture seule, et il y avait une erreur dans le tableau du crc32 dans le menu Test->Crc32. (version bêta 1.6.2)
03 octobre 2008 00:26:10 :
correction d'une vilaine faute de frappe

 Sources du même auteur

Source avec Zip Source avec une capture SFCDELPHILITE(AVEC CETTE LIBRAIRIE VOUS POUVEZ CRÉER UNE APP...
Source avec Zip Source avec une capture SHININGDATABASE & VIRTUALDATABASE DEUX COMPOSANTS ORIENTÉS D...
Source avec Zip Source avec une capture FASTGRADIENT (METTEZ DES DÉGRADÉS DE COULEURS DANS VOS APPLI...
Source avec Zip COMPOSANT HASHPROTECTOR (PROTÉGEZ VOS APPLICATIONS CONTRE L...
Source avec Zip Source avec une capture COMPOSANT EMOTICONMANAGER (DONNEZ DE L'EMOTION À VOS APPLICA...

 Sources de la même categorie

Source avec Zip COMBINAISONS DE STRINGS par askil2000
Source avec Zip Source avec une capture RECONNAISSANCE DE CARACTÈRES (OCR) par Bacterius
Source avec Zip Source avec une capture NETTOYAGE AUTOMATIQUE DE NOMS DE FICHIERS par John Dogget
DISTANCE DE JARO-WINKLER par PoulpHunter
Source avec Zip BASE DE DONNÉE WIKI par thithony

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture DEMO DE MON COMPO TCYWEBBROWSER - VISUALISER DES PAGES HTML ... par MAURICIO
Source avec Zip WEB-BUILDER par numeror86
Source avec Zip Source avec une capture MA PETITE COMBINE par cantador
Source avec Zip Source avec une capture EDITER HTML AVEC TEMBEDDEDED + 2 DEMOS par MAURICIO
Source avec Zip Source avec une capture SIMOBROWSER par simo5963

Commentaires et avis

Commentaire de sylvunix le 11/04/2006 20:04:15

Bravo pour ce composant très intéressant.

Le source du programme de démonstration pose quelques soucis lors du chargement (problème sur une ressource image). Serait-il possible de disposer du fichier .bmp d'origine afin de le réintégrer ?
La toolbar sans dessin, ça craint un peu !

Commentaire de shining le 11/04/2006 21:26:06

il faut demander ça à microsoft qui n'assure plus la compatibilité des TimageList avec les versions antérieur à Windows 2000/XP !!! :/

Commentaire de shining le 13/04/2006 19:30:53

Nota : prochainement un WebChatMemo et un ToolTip utilisant tout deux ce même composant ainsi que le composant EmoticonManager !!!

Commentaire de sylvunix le 09/02/2007 15:29:12

Bonjour Shining,

Je ressort ton composant des cartons à l'occasion d'un nouveau projet.

Je viens de constater un petit problème : la fonction WebMemo.ShowFontDialog ne déclenche pas la boîte de dialogue espérée. Je suis en Delphi 7 Professionnel sous XP. Cela fonctionne-t-il de ton côté ?

sylvunix

Commentaire de shining le 09/02/2007 23:53:23

Salut sylvunix,

Bon je me permet de te répondre ici plutôt que dans ton mp afin d'en faire profiter à d'autres personnes qui pourrait avoir le même problème.

Question : "Je viens de constater un petit problème : la fonction WebMemo.ShowFontDialog ne déclenche pas la boîte de dialogue espérée"

Réponse : il me semble qu'il y a une petite confusion de ta part puisque en effet il n'ya pas de fonction ShowFontDialog a proprement dit dans l'interface WebMemo, je crois que tu as confondu l'appel à la fonction ShowFontDialog avec WebMemo.ShowFindDialog qui n'a bien sûr rien à voir avec la boîte de dialogue de la police.

étant donné qu'on veut changer la font du texte Selectionné j'ai mis cette fonction dans la partie WebMemo.SelRange.FontDialog, pourquoi dans SelRange et non dans WebMemo.ShowFontDialog ?, tout simplement que dans SelRange on peut changer à la fois la police ainsi que sa taille sans affecté tout l'ensemble du contenu HTML mais en modifiant uniquement la partie selectionée !!! ;)
@+

Commentaire de sylvunix le 22/02/2007 21:11:53

Bonsoir Shining,

Je me suis effectivement légèrement planté dans ma question. Il s'agissait bien d'un problème sur ShowFindDialog. Problème qui d'ailleurs ne se pose que sur l'un de mes PC. Toutes mes excuses !

J'ai répondu avec un peu de retard car je cherche comment ajouter une fonctionnalité qui fait défaut. Ce serait l'attribut Changed qui indiquerait si oui ou non le texte a été changé.

J'ai bien une petite piste qui serait d'utiliser l'état du Undo (si une action peut être annulée alors le document a été changé !) mais je ne sais pas comment effacer la liste des actions mémorisées (pour désactiver l'attribut Changed).

Aurais-tu une autre piste ?

sylvunix

Commentaire de shining le 23/02/2007 00:18:55

Salut Sylvunix,

oui en effet pour l'instant il n'y a pas de fonction Changed

cependant il existe plusieurs méthodes pour savoir si le texte effectivement été modifié

1)l'événement WebMemo.OnSelectionChange se déclenche lorsque l'utilisateur a effectué une selection du texte, celà permet de mettre à jour par exemple les boutons de la toolbar pour savoir si la selection est en gras, italic ect..., mais cela ne veut pas forcémment dire que le texte a été modifié !!!

2)l'événement WebMemo.OnKeyDown(Sender: TObject;  var Key: TWebMemoKeyInfo) se déclenche lorsque l'utilisateur frappe sur une touche une touche quelconque

Key.Code renvoie la valeur word du code ascii ed la touche
Key.Shift indique l'état des touches Alt, Ctrl, Maj et des boutons de la souris.

Nota : il sera bientôt possible d'interdire l'appuie d'une touche en modifiant tout simplement la valeur de Key.Code
par exemple if Key.Code = VK_RETURN then Key.Code :=0, mais pour l'instant cette exemple ne marche pas(un petit oubli de ma part ^^)

3) dans la classe TCustomWebMemo
on peut ajouter une nouvelle propriété DoChanged
property DocChanged : Boolean read FDocChanged write FDocChanged;

ensuite
procedure TCustomWebMemo.LinesChange(Sender: TObject);
begin
    ...
    ici FDocChanged := True;
    biensur il faut que la fonction Clear,LoadFromFile puisse remettre à false l'attribut DocChanged
end;

concernant ShowFindDialog je n'ai aucun probleme avec XP et Win98 ca marche impec, verifie ta version d'internet explorer !!!, dans tous les cas il est préférable voir même indispensable d'avoir une version 5.5 ou ultérieur !!

@+  

Commentaire de sylvunix le 02/03/2007 09:30:30

Salut Shining,

J'ai testé tes solutions 2 et 3, la première ne me semblant pas appropriée.

La troisième, celle qui me semble la plus adaptée, me pose un petit problème : la méthode LinesChange n'est jamais appelée.

Pour la seconde, c'est un peu la galère car on récupère vraiment toutes les actions du clavier. Ce qui est un peu normal. Par contre comment faire le tri ? Existe-t-il des fonctions comme en c qui permettent de savoir si un caractère peut être affiché ?

P.S. : Concernant le problème ShowFindDialog, c'est mon I.E. qui a totalement explosé sur l'une de mes machines (plus d'impression ni la possibilité d'ouvrir dans une nouvelle fenêtre) !

Merci

a+

Commentaire de shining le 04/03/2007 11:41:22

Salut,
Arf oui c'est vrai que la solution du LignesChange n'est valable que lorsque on utiliser Lines.Add() logique :/, ceci dit je ne vois aucune propriété dans la MSDN concernant la modification du document !!!, bon y aura toujours un moyen, par exemple mettre une propriété Modified a false lors de l'ouverture d'un document, ou lors d'un "Clear", et changer l'événement OnKeyDown par OnKeyUp, quitte même a mettre un mini crc, et de comparer a la fin le crc initial et celui en cours car l'accès du flux interne du contrôle WebBrowser est assez simple !!!, je vais voir si y'a pas plus simple !!!
@+

Commentaire de sylvunix le 14/03/2007 17:38:13

Salut Shining,

Pour revenir à notre dernier sujet, j'ai testé les ajouts suivants. Pourrais-tu me donner ton avis d'expert.

sylvunix

P.S. : La propriété DocChanged est en écriture car dans mon application, j'ai besoin d'y accéder.

Dans la partie private de la définition de la classe TCustomWebMemo :

    FDocCrc32          : LongInt;
    function    GetDocChanged: Boolean;

Dans la partie protected de la définition de la classe TCustomWebMemo :

    property    DocChanged : Boolean           read GetDocChanged;


Dans l'implémentation :

const TableCrc32:array[0..255] of longint=(
        $00000000, $77073096, $ee0e612c, $990951ba, $076dc419, $706af48f,
        $e963a535, $9e6495a3, $0edb8832, $79dcb8a4, $e0d5e91e, $97d2d988,
        $09b64c2b, $7eb17cbd, $e7b82d07, $90bf1d91, $1db71064, $6ab020f2,
        $f3b97148, $84be41de, $1adad47d, $6ddde4eb, $f4d4b551, $83d385c7,
        $136c9856, $646ba8c0, $fd62f97a, $8a65c9ec, $14015c4f, $63066cd9,
        $fa0f3d63, $8d080df5, $3b6e20c8, $4c69105e, $d56041e4, $a2677172,
        $3c03e4d1, $4b04d447, $d20d85fd, $a50ab56b, $35b5a8fa, $42b2986c,
        $dbbbc9d6, $acbcf940, $32d86ce3, $45df5c75, $dcd60dcf, $abd13d59,
        $26d930ac, $51de003a, $c8d75180, $bfd06116, $21b4f4b5, $56b3c423,
        $cfba9599, $b8bda50f, $2802b89e, $5f058808, $c60cd9b2, $b10be924,
        $2f6f7c87, $58684c11, $c1611dab, $b6662d3d, $76dc4190, $01db7106,
        $98d220bc, $efd5102a, $71b18589, $06b6b51f, $9fbfe4a5, $e8b8d433,
        $7807c9a2, $0f00f934, $9609a88e, $e10e9818, $7f6a0dbb, $086d3d2d,
        $91646c97, $e6635c01, $6b6b51f4, $1c6c6162, $856530d8, $f262004e,
        $6c0695ed, $1b01a57b, $8208f4c1, $f50fc457, $65b0d9c6, $12b7e950,
        $8bbeb8ea, $fcb9887c, $62dd1ddf, $15da2d49, $8cd37cf3, $fbd44c65,
        $4db26158, $3ab551ce, $a3bc0074, $d4bb30e2, $4adfa541, $3dd895d7,
        $a4d1c46d, $d3d6f4fb, $4369e96a, $346ed9fc, $ad678846, $da60b8d0,
        $44042d73, $33031de5, $aa0a4c5f, $dd0d7cc9, $5005713c, $270241aa,
        $be0b1010, $c90c2086, $5768b525, $206f85b3, $b966d409, $ce61e49f,
        $5edef90e, $29d9c998, $b0d09822, $c7d7a8b4, $59b33d17, $2eb40d81,
        $b7bd5c3b, $c0ba6cad, $edb88320, $9abfb3b6, $03b6e20c, $74b1d29a,
        $ead54739, $9dd277af, $04db2615, $73dc1683, $e3630b12, $94643b84,
        $0d6d6a3e, $7a6a5aa8, $e40ecf0b, $9309ff9d, $0a00ae27, $7d079eb1,
        $f00f9344, $8708a3d2, $1e01f268, $6906c2fe, $f762575d, $806567cb,
        $196c3671, $6e6b06e7, $fed41b76, $89d32be0, $10da7a5a, $67dd4acc,
        $f9b9df6f, $8ebeeff9, $17b7be43, $60b08ed5, $d6d6a3e8, $a1d1937e,
        $38d8c2c4, $4fdff252, $d1bb67f1, $a6bc5767, $3fb506dd, $48b2364b,
        $d80d2bda, $af0a1b4c, $36034af6, $41047a60, $df60efc3, $a867df55,
        $316e8eef, $4669be79, $cb61b38c, $bc66831a, $256fd2a0, $5268e236,
        $cc0c7795, $bb0b4703, $220216b9, $5505262f, $c5ba3bbe, $b2bd0b28,
        $2bb45a92, $5cb36a04, $c2d7ffa7, $b5d0cf31, $2cd99e8b, $5bdeae1d,
        $9b64c2b0, $ec63f226, $756aa39c, $026d930a, $9c0906a9, $eb0e363f,
        $72076785, $05005713, $95bf4a82, $e2b87a14, $7bb12bae, $0cb61b38,
        $92d28e9b, $e5d5be0d, $7cdcefb7, $0bdbdf21, $86d3d2d4, $f1d4e242,
        $68ddb3f8, $1fda836e, $81be16cd, $f6b9265b, $6fb077e1, $18b74777,
        $88085ae6, $ff0f6a70, $66063bca, $11010b5c, $8f659eff, $f862ae69,
        $616bffd3, $166ccf45, $a00ae278, $d70dd2ee, $4e048354, $3903b3c2,
        $a7672661, $d06016f7, $4969474d, $3e6e77db, $aed16a4a, $d9d65adc,
        $40df0b66, $37d83bf0, $a9bcae53, $debb9ec5, $47b2cf7f, $30b5ffe9,
        $bdbdf21c, $cabac28a, $53b39330, $24b4a3a6, $bad03605, $cdd70693,
        $54de5729, $23d967bf, $b3667a2e, $c4614ab8, $5d681b02, $2a6f2b94,
        $b40bbe37, $c30c8ea1, $5a05df1b, $2d02ef8d);

function CalculCrc32(Octet: Byte; Crc: LongInt): LongInt;
begin
  CalculCrc32 := TableCrc32[byte(Crc xor LongInt(Octet))] xor ((Crc shr 8) and $00ffffff);
end;

Dans la partie implémentation, ajout des lignes suivantes :

function TCustomWebMemo.GetDocCrc32: LongInt;
var
  Index: Word;
  Crc32: LongInt;
begin
  // Calcule le crc32 dur les données au format HTML
  Crc32 := $ffffffff;
  for Index := 0 to length(Document.Body.innerHTML)-1 do
    Crc32 := CalculCrc32(Ord(Document.Body.innerHTML[Index]), Crc32);
  Result := Crc32;
end;

function TCustomWebMemo.GetDocChanged: Boolean;
var
  Crc32: LongInt;
begin
  // Réalise un Crc32 sur le texte colmplet
  Crc32 := GetDocCrc32;
  Result := not(Crc32 = FDocCrc32);
  FDocCrc32 := Crc32;
end;

procedure TCustomWebMemo.ResetDocChanged;
begin
  FDocCrc32 := GetDocCrc32;
end;

Dans la partie implementation, ajout de ResetDocChanged dans les méthodes suivantes.

procedure TCustomWebMemo.Clear;
begin
    if ReadOnly = False then
    begin
      Document.Body.innerHTML := '';
      ResetDocChanged;
    end
    else
    ClearWebCtrl;
    FLines.Clear;

end;

procedure TCustomWebMemo.LoadFromFile(const FileName: String);
begin
    Clear;
    FLines.LoadFromFile(FileName);
    WebCtrl.OleObject.Document.WriteLn(FLines.Text);
    ResetDocChanged;
end;

procedure TCustomWebMemo.SaveAs(const DefaultFileName: String);
begin
    if CanDo then
    begin
      Document.ExecCommand('SaveAs' , False , DefaultFileName);
      ResetDocChanged;
    end;
end;

Commentaire de shining le 15/03/2007 13:58:33

Salut Sylvunix,
Wow tout ça ?? lol, bah mon idée c'était a peut près ça, sauf que la méthode du crc devrait être le dernier recourt !!!, ça prend pas mal de resources !!!, et bien en faite je crois qu'il ya plus simple, je viens de testé la méthode qui utilise un StreamAdapter qui permet l'accès au flux du WebBrowser(via MemoryStream), et ça permet donc d'avoir la taille du document ensuite même système que toi on compare la taille initiale et celle en cours !!!, il est maintenant possible d'avoir des infos sur le client web, AppName, UserAgent, Java is Enabled ?, Cookie, Vitesse de Connection ect..., et pour plus tard.. une gestion des tableaux, enfin bref ya quelques modifications et la mise a jour sera dispo dans 2/3 jours.

@+

Commentaire de sylvunix le 16/03/2007 07:18:03

Salut Shining,

Désolé de mettre laissé aller et d'avoir sorti la grosse artillerie ! Mais une bonne scéance de psychanalyse me permettra peut-être de te faire comprendre les raisons de cette dérive !

En fait, contrôler la longueur du texte n'était pas suffisant car il fallait pouvoir détecter les changements de texte du type 'delphi' par 'azerty'. Un simple balayage du type somme n'était pas non plus suffisant car il fallait également détecter les changements du type 'bonjour' par 'jourbon'. C'est pourquoi j'ai fini par sortir le crc32.

Il est vrai que cela consomme des ressources. Mais en introduisant une variable booléenne privée FDocChanged qui mémoriserait si le document a été déjà modifié, on pourrait éviter de dérouler l'argorithme inutilement.

function TCustomWebMemo.GetDocChanged: Boolean;
var
  Crc32: LongInt;
begin
  Result := FDocChanged;

  // Réalise un Crc32 sur le texte complet uniquement si le document n'a pas déjà été modifié
  if not(FDocChanged) then
  begin
    Crc32 := GetDocCrc32;
    Result := not(Crc32 = FDocCrc32);
    FDocCrc32 := Crc32;
  end;
end;

procedure TCustomWebMemo.ResetDocChanged;
begin
  FDocChanged := false;
  FDocCrc32 := GetDocCrc32;
end;

Il y a également dans mon subconcient un besoin refoulé que j'arrive maintenant à exprimer clairement. Mais je pense que cela relève plutôt du fantasme que de la réalité car je ne vois pas techniquement comment on pourra le coder. L'idée serait d'avoir un évènement OnDocChanged ...

@+

Commentaire de shining le 16/03/2007 14:47:50

Salut sylvunix,

décidemment j'ai trop abusé du capuccino ;)
tu as tout à fait raison pour le CRC, je pense qu'on peut pas faire autrement pour l'instant !!!.

bon j'avais effectué quelques tests

property    Modified          : Boolean            read GetDocModified;

function TCustomWebMemo.GetDocModified: Boolean;
begin
    result := not(FDocSize = GetDocSize);
end;

avec bien entendu des routines pour mettre a jour FDocSize, et là il ne reste plus qu'a changer FDocSize par FDocHash

il reste aussi l'optimisation de l'algo Crc32 en asm, car le but c'est d'avoir la signature très rapidement

donc @+ pour l'update !

Commentaire de Tukkkko le 16/06/2008 09:47:00

Salut à toi!

Je suis intéressé par ton projet!
Ceci dit, il semble que le zip soit corrompu :-(
T'es-il possible de le mettre à jour, STP?

Bonne journée!

Tukkkko

Commentaire de b20n00 le 13/09/2008 13:50:23

Salut,
Je te propose d'ajouter trois options:
- est-ce qu'on peut permettre et empecher la copie du texte à partir du composant en fonction de l'état ReadOnly de votre composant? si readonly est false pas de copier/coller mermi.
car j'ai remarqué que votre composant permet la copie par ctrl+c et ctrl+Ins malré que j'ai désactivé la copie par menu alors que le composant WebBrowser ne le permet pas.
- Pour le texte n'est-il pas possible de le justifié?
- Intégrer les tableau.

Commentaire de shining le 14/09/2008 19:43:18

Salut à vous,

Désolé pour le retard c'est que j'ai eu des soucis avec mon pc (Disques durs h.s ect), du coup de nombreux composants qui était déjà mises à jour sont partis en fumée, dont WebMemo qui en était à la version bêta 2.0, mais c'est pas bien grave car il me reste un backup de la version beta 1.6 qui elle supporte la gestion des CSS via un composant TSfcCSSManager, Image Background, Border Style , une petite gestion pour l'insertion des tableaux(en beta test), de nombreux événements on été ajoutés , OnDocChanged(par crc32), OnKeyPress(permet également d'interdire une action, par ex: interdire les chiffres, retour chariot ect(vk_return) ..  ), OnKeyDown , OnKeyUp , OnBeforeActicate(permet d'interdire la selection tout en autorisant l'usage du menu-contextuel, le seul hic c'est que c'est irréversible car cette évènement se déclenche avant l'initialisation du composant, une fois le composant est initialisé en mode "selection interdite" il semblerait qu'on ne puisse plus revenir en arrière, bon ya surement une solution j'ai pas cherché !!!), ya aussi une gestion de la transparance des fichiers png mais pour le moment ça coince quelque part ... sinon j'ai cherché si il y avait un truc sur le net comparable à TWebBrower et je suis tombé sur http://terrainformatica.com/htmengine/screenshots.whtm à peine 624k la dll , elle consomme beaucoup moins de resource qu'internet explorer, ell gère parfaitement bien la transparence des fichiers png mais là encore problème car elle ne prend pas en charge les fichiers css, le projet à été abandonné bien que la dll et la doc circule encore sur le net mais il n'existe pas de wrapper en delphi, et il doit y avoir de nombreuses interfaces com.

Tukkkko:le zip n'est pas corrompu re-vérifie !!!

b20n00:ça me rappel que j'au oublié de rendre public la propriété Enabled, essaie donc WebMemo.Enabled := False en runtime, sinon comme cité plus haut il est possible d'interdire la selection lors de l'initialisation du composant(pour un mode loggeur par exemple)
voilà reste plus qu'à attendre un peu la mise la jour

Bonne prog à vous @+

Commentaire de devjd le 21/12/2009 11:42:26

Salut,
A l'occasion d'un nouveau projet je reviens sur ce composant super interressant.
MAIS !
Après installation/compilation de la démo sous Delphi 2005 la démo ne me permet pas d'enregistrer les modifications ! le fichier reste vide !
Est-ce lié au blocage de l'édition du DHTML sous IE8 ?
J'ai fais des tests sous XP et Vista (tous les 2 avec IE8) et rien n'y fait.
Parfois il y a un message faisant référence à MSHTML.DLL mais ce n'est pas systématique.
Autre info : si je charge un fichier HTML complet, le mode édition est impossible.

Help !

Commentaire de devjd le 21/12/2009 12:21:53

J'avais oublié un message d'erreur qui apparait souvent :
"Défaillance irrémédiable" !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

TWebBrowser - Echanger des params entre HTML et l'Executable... ??? [ par dami27 ] Bonjour à tous !!Je suis un débutant donc excusez si je dis n'importe quoi !!! :)Voilà, j'utilise TWebBrowser et en faite je charge une page : exemple Editeur HTml basé sur un TwebBrowser: problème d' insertion du symbol "€" sous WinXP [ par MAURICIO ] Salut à tous!!!Je relance le débat car je n' ai pas eu de solution à mon problème: (je sais, je risque la pein de prison) La source pour tester le p Code HTML dans un memo [ par propa ] Bonjour, je suis débutant en delphi et j'ai un soucis concernant la récupération du code HTML d'une page dans un memo.J'utilise WebBrowser1.OleObject. formater le contenu d'un Memo [ par sonnikk ] voila mon pb : je voudrais formater le contenu d'un Memo en html pour pouvoir l'envoyer comme mail html, cad transformer les retours a la ligne en &lt conseil ou aide [ par faimo ] Salut tout le monde , vraiment j'ai besoind de vos aides ou conseills parceque j'ai cherche mais - : donc je suis entrain de developper un dectionaire ouverture d'un fichier html [ par sopi ] Hello !!!Je suis assez débutante en Delphi et je dois faire un programme pour les études.J'aimerais depuis mon application ouvrir un fichier html et q copier un table vers un memo [ par rippoz ] Bonjour , je voudrais copier une table access cers un memoje voudrais que les champs se mettent tous en colonnes dans mon memoex :champ1,champ2,champ3 serveur http +controle pc [ par MoveX ] bon, je souhaiterai faire un programme qui, lance sur un pc connecte a internet, permet de prendre le controle de ce pc par l intermediaire de pages h Fichier texte dans un Memo [ par kick007 ] Je voudrai qu' un memo affiche le contenu d'un fichier texte present sur mon disque, comment faire?? faire un CGI sous delphi pour recup les param d'1 page html [ par jeanfre ] Bonjour à tous, je débute en Pascal sous Delphi6,je voudrais faire un truc simple mais j'y arrive pas.j'ai un formulaire html, j'aimerais que le GCI


Nos sponsors


Sondage...

Comparez les prix

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 : 1,014 sec (4)

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