IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Aide sur un Tmemo


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Amateur
    Inscrit en
    Mai 2020
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mai 2020
    Messages : 43
    Par défaut Aide sur un Tmemo
    Bonjour à tous, je me suis fait un petit programme à la va vite sous delphi 2010

    Architect, opour sauver quelques fichiers avant de restaurer mon système, il est

    fonctionnel, mais on pourrait faire mieux. J'ai 2 problèmes. Le premier, à la

    création, j'ai ma fiche principale avec tous les options, je mets un Tmemo1 pour

    afficher le journal par dessus, c'est ce tmemo qui me créer ces problèmes, quand il

    est posé, j'ai plus accès à la fiche principale si je veux la modifier. Le deuxième

    problème, quand j'ai fini la sauvegarde ou la restauration, j'ai la possibilité

    d'ouvrir le fichier journal dans ce tmemo, je trouve pas la solution pour que quand

    il s'ouvre, il aille directement à la fin du fichier. J'ai mis le source complet.

    Merci pour votre aide.

    Sauvegarde.rar

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 63
    Par défaut
    salut pour aller fin de memo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Memo1.SelStart := length(Memo1.Lines.Text); 
    Memo1.SetFocus;
    ou plutôt ça le scrooll est automatique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendMessage(Memo1.Handle, EM_LINESCROLL, 0, Memo1.Lines.Count);
    pour l'autre question j'ai pas bien compris mais faire au clic des boutons

  3. #3
    Membre averti
    Homme Profil pro
    Amateur
    Inscrit en
    Mai 2020
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mai 2020
    Messages : 43
    Par défaut
    Merci pour ta réponse, la deuxième idée fonctionne à merveille,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendMessage(Memo1.Handle, EM_LINESCROLL, 0, Memo1.Lines.Count);
    maintenant, à l'ouverture du fichier log, je suis directement à la fin. Pour le tmemo, c'est à la conception que je voudrais pouvoir modifier la fiche principale, mais dès que je mets le Tmemo, ça me couvre la fiche et plus moyen d'y accéder. J'ai bien trouvé une solution, mais ça m'a pas l'air vraiment juste comme je fais, mais ça va pas trop mal, je fais un click droit sur le Tmemo, Options de contrôle - Mettre en arrière plan, je fais les modifications sur la fiche et je rebascule Mettre en avant-plan. Je sais pas si il y a pas une autre manière de faire.

  4. #4
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 539
    Billets dans le blog
    10
    Par défaut
    Il faut en fait ajouter une unité dans ton programme. Voici ton exemple modifié :
    J'ai changé les chemins
    Fichiers attachés Fichiers attachés

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 63
    Par défaut
    super bonne idée de ALWEBER tu ajoutes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SendMessage(form2.Memo1.Handle, EM_LINESCROLL, 0, form2.Memo1.Lines.Count);
        form2.Memo1.SetFocus;
    aprés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    form2.Memo1.Visible := True;
    et tu précise dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.ButtonSortieClick(Sender: TObject);
    begin
      Form1.Close;
    end;
    sinon form1 n'est pas fermée c'est form2 qui est fermée

  6. #6
    Invité
    Invité(e)
    Par défaut
    Pour afficher tous les contrôles au moment du design utiliser les volets d'alignement,
    Placer les checkboxs dans un panel mettez align à alTop
    Selectionner l'align alTop pour le TMemo
    Placer les boutons restants dans un autre panel avec align à alBottom

    Maintenant dès que Visible de TMemo ou celle du premier Panel passe à false le controle sera retiré laissant place au contrôle suivant avec même align

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 933
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 933
    Par défaut
    Utilise un TPageControl avec deux onglets : le premier pour les cases à cocher et le deuxième pour le mémo.

    Tu masques les onglets à la création de la fiche et active l'onglet 0.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      PageControl1.Pages[0].TabVisible := FALSE;
      PageControl1.Pages[1].TabVisible := FALSE;
      PageControl1.ActivePageIndex := 0;
      ...
    end;
    Et à la place de jouer sur Memo1.Visible, tu actives l'onglet souhaité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Memo1.Visible := TRUE;
    PageControl1.ActivePageIndex := 1;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Memo1.Visible := FALSE;
    PageControl1.ActivePageIndex := 0;
    Et si tu poses les boutons sur les bons onglets, ça t'évitera aussi de les afficher/masquer manuellement.

    Edition facilitée sans modification notable à l'exécution.

  8. #8
    Membre averti
    Homme Profil pro
    Amateur
    Inscrit en
    Mai 2020
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mai 2020
    Messages : 43
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Utilise un TPageControl avec deux onglets : le premier pour les cases à cocher et le deuxième pour le mémo.

    Tu masques les onglets à la création de la fiche et active l'onglet 0.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      PageControl1.Pages[0].TabVisible := FALSE;
      PageControl1.Pages[1].TabVisible := FALSE;
      PageControl1.ActivePageIndex := 0;
      ...
    end;
    Et à la place de jouer sur Memo1.Visible, tu actives l'onglet souhaité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Memo1.Visible := TRUE;
    PageControl1.ActivePageIndex := 1;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Memo1.Visible := FALSE;
    PageControl1.ActivePageIndex := 0;
    Et si tu poses les boutons sur les bons onglets, ça t'évitera aussi de les afficher/masquer manuellement.

    Edition facilitée sans modification notable à l'exécution.
    Merci, j'avais pas pensé aux PageControl, je vais aussi essayer ce système.

  9. #9
    Membre averti
    Homme Profil pro
    Amateur
    Inscrit en
    Mai 2020
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Mai 2020
    Messages : 43
    Par défaut
    Citation Envoyé par ALWEBER Voir le message
    Il faut en fait ajouter une unité dans ton programme. Voici ton exemple modifié :
    J'ai changé les chemins
    Merci, ça s'approche bien sur ce que je cherche. Juste quelques modifs et mon prog sera au point.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. demande d'aide sur samba
    Par marcoss dans le forum Développement
    Réponses: 5
    Dernier message: 04/12/2003, 19h38
  2. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19
  3. Réponses: 2
    Dernier message: 27/02/2003, 01h33
  4. [Kylix] Aide sur BitBlt
    Par mic006 dans le forum EDI
    Réponses: 1
    Dernier message: 10/12/2002, 22h54
  5. Aide sur une fenetre
    Par Ray-j dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 29/11/2002, 08h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo