begin process at 2012 02 11 08:59:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Divers

 > 

Aide et documentation

 > 

TTabSheet et TMemo (suppression)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

TTabSheet et TMemo (suppression)

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 Administrateur CodeS-SourceS

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 Administrateur CodeS-SourceS
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 Administrateur CodeS-SourceS
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ée 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...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 3,073 sec (4)

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