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

C# Discussion :

Générer des boutons à partir d'un fichier txt


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Générer des boutons à partir d'un fichier txt
    Bonjour, mon projet consiste à ouvrir des fichiers .txt ou .par pour ensuite pouvoir générer des boutons, j'arrive bien à ouvrir n'importe quel fichier mais malheureusement je ne sais pas comment faire pour les générer en fonction de la taille du fichier.. J'aurais besoin de votre aide s'il vous plaît !

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Bonjour je voudrais aller quelque part merci de me dire comment faire
    Votre question est bien trop vague...
    Vous pouvez créer un bouton simplement en créant une nouvelle instance de la classe Bouton.
    Vous pouvez ensuite l'ajouter par exemple à une Form simplement en ajoutant l'instance de votre nouveau bouton à la collection Controls.

    Mais avec plus de précision, vous aurez probablement une réponse bien plus précise (et probablement très différente...)

    Accessoirement, que doivent faire vos boutons ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bon en gros, j'ai un logiciel pour simuler des organes du terrain, j'ai un fichier texte qui me donne le nom de ces organes avec leur adressage, je dois donc créer une application qui peut lire ces fichiers textes (n'importe quel fichier et s'adapter à chaque fichier) et engendrer des boutons en fonction des fichiers textes, donc le fonctionnement en clair de l'application c'est de lire un fichier texte et en fonction de ce qu'il lit (le nombre d'organes à simuler), il doit créer le même nombres de boutons que d'organes à simuler. Donc j'arrive bien à lire un fichier texte mais malheureusement à partir de ce fichier texte je n'arrive pas à créer des boutons. Si vous préférez l'application doit agir comme un simulateur de Modbus TCP/IP .Est-ce que c'est plus clair ? Sinon dites moi quel partie vous ne comprenez pas, je détaillerai au maximum.
    Je vous remercie de votre temps

  4. #4
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 661
    Par défaut
    Bonjour,

    Même si ils manquent toujours quelques infos (WinForm / WPF ?), voilà un début de piste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
                var organes = File.ReadAllLines("organes.txt");
     
                for (int i = 0; i < organes.Length; i++)
                {
                    Button button = new Button();
     
                    button.Text = organes[i];
                    button.Location = new Point(0, i * button.Size.Height); // On décale à chaque itération
     
                    panelBouton.Controls.Add(button); // Ou ta fenêtre, group box, etc ...
                }
    Tu crée un objet Bouton à la volée, puis tu l'ajoutes dans la liste de contrôles ou tu veux les afficher, que ce soit la fenêtre directement ou un panel prévu a cet effet.

    Après, c'est à toi de voir si tu veux les aligner verticalement, mettre une limite / une scrollbar si jamais il y en a trop etc ...

    Tu peux aussi rajouter des propriétés au bouton, et encore mieux, en faire un UserControl ou un Component histoire d'économiser du code et de faire ça proprement.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Effectivement, excusez-moi je n'y avais pas pensé, je travail sur WinForm !
    Merci beaucoup je comprends comment vous avez fait

  6. #6
    Invité
    Invité(e)
    Par défaut
    Voilà pour l'instant mon code permettant de lire un fichier et de le retranscrire sur TextBox,
    le problème que je continue d'avoir ce sont ces boutons que je n'arrive pas à générer.
    (Oui la structure du code est à revoir j'en conviens mais je ne fais que de débuter et j'ai encore beaucoup de mal)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using System.IO;
     
    namespace ReadText
    {
        /// <summary>
        /// Summary description for Form1.
        /// </summary>
        public class Form1 : System.Windows.Forms.Form
        {
            private System.Windows.Forms.Button browse;
            private System.Windows.Forms.OpenFileDialog openFile;
            private System.Windows.Forms.TextBox texte2Open;
            private System.Windows.Forms.TextBox text;
            /// <summary>
            /// Required designer variable.
            /// </summary>
            private System.ComponentModel.Container components = null;
     
            public Form1()
            {
                //
                // Required for Windows Form Designer support
                //
                InitializeComponent();
     
                //
                // TODO: Add any constructor code after InitializeComponent call
                //
            }
     
            /// <summary>
            /// Clean up any resources being used.
            /// </summary>
            protected override void Dispose(bool disposing)
            {
                if (disposing)
                {
                    if (components != null)
                    {
                        components.Dispose();
                    }
                }
                base.Dispose(disposing);
            }
     
            #region Windows Form Designer generated code
            /// <summary>
            /// Required method for Designer support - do not modify
            /// the contents of this method with the code editor.
            /// </summary>
            private void InitializeComponent()
            {
                this.browse = new System.Windows.Forms.Button();
                this.texte2Open = new System.Windows.Forms.TextBox();
                this.openFile = new System.Windows.Forms.OpenFileDialog();
                this.text = new System.Windows.Forms.TextBox();
                this.SuspendLayout();
                // 
                // browse
                // 
                this.browse.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
                this.browse.Location = new System.Drawing.Point(400, 8);
                this.browse.Name = "browse";
                this.browse.TabIndex = 1;
                this.browse.Text = "Recherche";
                this.browse.Click += new System.EventHandler(this.browse_Click);
                // 
                // texte2Open
                // 
                this.texte2Open.Location = new System.Drawing.Point(8, 8);
                this.texte2Open.Name = "texte2Open";
                this.texte2Open.Size = new System.Drawing.Size(384, 20);
                this.texte2Open.TabIndex = 2;
                this.texte2Open.Text = "";
                // 
                // text
                // 
                this.text.Location = new System.Drawing.Point(8, 40);
                this.text.Multiline = true;
                this.text.Name = "text";
                this.text.ScrollBars = System.Windows.Forms.ScrollBars.Both;
                this.text.Size = new System.Drawing.Size(464, 208);
                this.text.TabIndex = 3;
                this.text.Text = "";
                // 
                // Form1
                // 
                this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
                this.ClientSize = new System.Drawing.Size(480, 253);
                this.Controls.Add(this.text);
                this.Controls.Add(this.texte2Open);
                this.Controls.Add(this.browse);
                this.Name = "Form1";
                this.Text = "Boîte à bouton";
                this.ResumeLayout(false);
     
            }
            #endregion
     
            /// <summary>
            /// The main entry point for the application.
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.Run(new Form1());
            }
     
            private void browse_Click(object sender, System.EventArgs e)
            {
                if (openFile.ShowDialog() == DialogResult.OK)
                    texte2Open.Text = openFile.FileName;
                TextReader txt = new StreamReader(texte2Open.Text);
                string getText = txt.ReadToEnd();
                text.Text = getText;
     
            }
     
        }
     
    }

Discussions similaires

  1. Créer des dossiers à partir d'un fichier .txt
    Par Hastings86 dans le forum Général Python
    Réponses: 3
    Dernier message: 04/03/2016, 09h53
  2. Réponses: 17
    Dernier message: 09/06/2011, 00h50
  3. Réponses: 2
    Dernier message: 26/01/2007, 14h58
  4. Réponses: 4
    Dernier message: 19/03/2006, 15h20

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