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 !

Sujet : TTabSheet et TMemo (suppression) [ Divers / Aide et documentation ] (christophedlr)

dimanche 16 novembre 2008 à 15:21:16 | TTabSheet et TMemo (suppression)

christophedlr

Membre Club
Bonjour,

Je suis entrain de faire un éditeur de texte avec une gestion de chaque fichier dans un TTabSheet (mis dans un TPageControl).
Dans le TTabSheet, il y a un TMemo.

Je voudrais savoir comment faire pour pouvoir supprimer les deux.
Je m'explique, imaginons deux fichiers : test.html et test.php

Je supprime le premier à gauche qui est test.html, je voudrais pouvoir ensuite supprimer test.php (le TTabSheet) sachant que je les crée dynamiquement dans un tableau.

Là actuellement j'ai tenté avec un Pagecontrol1.ActiveIndex, mais dans ce cas là, le second pas supprimable vu qu'il aura le numéro 0, donc pour supprimer dans mon tableau de TTabSheet ça va foirer.

Merci d'avance.

dimanche 16 novembre 2008 à 17:24:30 | Re : TTabSheet et TMemo (suppression)

cantador

Membre Club

bonsoir,

pas clair, supprimer fichier ou TTabSheet ?

cantador


dimanche 16 novembre 2008 à 17:25:31 | Re : TTabSheet et TMemo (suppression)

christophedlr

Membre Club
Quand je clique sur Fermer dans le menu Fichier, je souhaite supprimer le TMemo se trouvant dans le TTabSheet puis supprimer celui-ci.

dimanche 16 novembre 2008 à 17:51:17 | Re : TTabSheet et TMemo (suppression)

cirec

Membre Club Administrateur CodeS-SourceS
Salut,

soit un peut plus précis ... donne un bout de code pour illustrer

toi tu sais de quoi tu parles mais nous nous n'avons aucune idée alors si il faut d'abord deviner ...

 
@+
Cirec


dimanche 16 novembre 2008 à 19:12:00 | Re : TTabSheet et TMemo (suppression)

christophedlr

Membre Club
Aucun soucis (dsl d'avoir pas filer du code avant), voici ma fonction qui crée un TSynMemo (basé sur un TMemo mais gérant la coloration syntaxique) et créer un TTabSheet, le TSynMemo comme enfant du TTabSheet et le TTabSheet comme enfant du TPageControl :

procedure TForm1.CreateTab(InfosFile: TNewFile);
var
NameFile: String;
begin
NameFile := InfosFile.NameFile+InfosFile.ExtensionFile;

{Alloue un espace supplémentaire dans chaque tableau}
SetLength(TabSheet, FilesLoaded+1);
SetLength(TextFile, FilesLoaded+1);

{Création de l'onglet}
TabSheet[FilesLoaded] := TTabSheet.Create(PageControl1); //Crée l'onglet
{Indique à quel PageControl il appartient}
TabSheet[FilesLoaded].PageControl := PageControl1;
TabSheet[FilesLoaded].Caption := NameFile; //Définit le nom de l'onglet
TabSheet[FilesLoaded].Tag := FilesLoaded;
TabSheet[FilesLoaded].Show; //L'affiche

{Création du champ texte avec coloration syntaxique}
TextFile[FilesLoaded] := TSynMemo.Create(TabSheet[FilesLoaded]);
TextFile[FilesLoaded].Parent := TabSheet[FilesLoaded]; //Indique le composant parent
TextFile[FilesLoaded].Align := AlClient; //Indique l'alignement
TextFile[FilesLoaded].Lines.Clear; //Vide le contrôle
TextFile[FilesLoaded].Gutter.ShowLineNumbers := True; //Affiche le numéro des lignes
TextFile[FilesLoaded].WantTabs := True;
TextFile[FilesLoaded].TabWidth := 4;
TextFile[FilesLoaded].Options := [eoAutoIndent,eoDragDropEditing,eoGroupUndo,
    eoShowScrollHint,eoSmartTabDelete,eoSmartTabs,eoTabsToSpaces,
    eoTrimTrailingSpaces];
TextFile[FilesLoaded].Show; //L'affiche


if (InfosFile.TypeFile = 'HTML') then TypeHTML(InfosFile);
if (InfosFile.TypeFile = 'PHP') then TypePHP(InfosFile);
if (InfosFile.TypeFile = 'CSS') then TypeCSS(InfosFile);
if (InfosFile.TypeFile = 'SQL') then TypeSQL(InfosFile);
Inc(FilesLoaded); //Ajoute un nouveau fichier chargé/créer
end;

Les quelques fonctions appelé à la fin sont pas importantes, elle permettent juste d'indiquer des informations de base dans le Text du TSynMemo suivant le type de fichier.

J'ai donc au final un ensemble de TTabSheet et je désire pouvoir par exemple fermer le premier qui est donc détruit et pouvoir faire pareil sur le suivant.

Voici le code que j'ai tenté d'écrire et qui fonctionne pas :
procedure TForm1.Fermer1Click(Sender: TObject);
begin
TextFile[PageControl1.Tag].Free;
TabSheet[PageControl1.Tag].Free;
end;

procedure TForm1.PageControl1Change(Sender: TObject);
begin
PageControl1.Tag := TabSheet[PageControl1.ActivePageIndex].Tag;
end;

Merci pour ton aide.

P.S. : Pas d'explication sur ma manière de faire, car c'est totale pourris et pas fonctionel, j'ai juste chercher à faire fonctionner un peu au hasard finalement ;)

dimanche 16 novembre 2008 à 22:59:08 | Re : TTabSheet et TMemo (suppression)

cantador

Membre Club
Je suppose que de les rendre invisibles ne t'intéressent pas ?

cantador

dimanche 16 novembre 2008 à 23:05:39 | Re : TTabSheet et TMemo (suppression)

christophedlr

Membre Club
Dans la mesure du possible non, mais si j'ai pas le choix je le ferais, mais cela fera prendre énormément de mémoire, surtout si cache un onglet et que plus tard j'en ouvre un autre qui est identique, je bouffe de la RAM en connerie.

dimanche 16 novembre 2008 à 23:09:57 | Re : TTabSheet et TMemo (suppression)

cantador

Membre Club
Je n'ai encore rien testé ..
bonne nuit
cantador

lundi 17 novembre 2008 à 11:51:51 | Re : TTabSheet et TMemo (suppression)

christophedlr

Membre Club
Bonjour,

Bon j'ai résolu mon problème, j'utilise la propriété ActivePage du TPagecontrol.

lundi 17 novembre 2008 à 12:07:47 | Re : TTabSheet et TMemo (suppression)

cirec

Membre Club Administrateur CodeS-SourceS
ben voilà c'est ce que je voulais te proposer

il te reste plus qu'à mettre le tableau de TTabSheet à jour afin de faire correspondre les index

 
@+
Cirec



1 2

Cette discussion est classé dans : test, supprimer, suppression, tmemo, ttabsheet


Répondre à ce message

Sujets en rapport avec ce message

suppression dans une liste chainée [ par mister_dsg ] voila je cherche a supprimer un élément dans une liste chainée, seulement je butte sur le fait de pouvoir supprimer l'élément et ensuite de raccorder suppression de row d'un dbgrid ?? [ par mistro ] Bonjour,je voudrai pouvoir supprimer un enregistrement de ma bd depuis tdbgrid,j'ai ajouté un popup pour supprimer le row selectionner avec le bouton Composant TPageControl avec TTabSheet [ par phephelavi ] Bonjour,Je cherche le moyen de supprimer une page (TTabSheet) d'un composant TPageControl. On peut le faireen mode conception mais aucune méthode pour suppression dynamique [ par seeev ] Bonjour, j'ai un probleme dont je n'arrive pas à me sortir.je stoque des TSpeedButton dans un tableau de manière à pouvoir les créer, les afficher et Suppression [ par Glorkonline ] Je me posais la question : le créateur ne peut pas supprimer une source ni l'information de son site web ... Pas moyen de supprimer un commentaire à u TMemo, ligne active [ par stailer ] Salut tout le monde,J'aimerais savoir, sur un TMemo, comment connaitre la ligne sur laquelle mon curseur se trouve.Par exemple j'ai un memo comme ca : Erreur Kylix [ par ace ] Salut a tous voila j'ai mdk 9.1 et kylix 3 mais j'ai un petit probleme je compile ma source et kand je veux l'executer j'ai se message ci./test relcoa tmemo ou trichedit [ par yoghisan ] Comment fait-on pour ouvrir n'importe fichier et le gerer comme un fichier texte ?ou encoreComment peut-on ouvrir n'importe quel fichier dans un tmemo Interraction entre deux fiches... [ par MasterNKZ ] Salut à tous, j'ai donc un ptit problème, mon application contient deux fiches. Dans une procedure de la premiere fiche je réalise un test sur un c Création de TabSheet et ensuite ... ? [ par Benitora ] voilà, j'ai crée des procédures pour ouvrir ou fermé un TTabSheet avec à l'intérieur un TMemo, un TEdit et un TButton, je voudrais savoir comment fair


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.