Analyseur de fichiers Word

Je fais un projet de niveau étudiant en programmation visuelle qui comprend la lecture d'un fichier Word et l'extraction des informations personnelles Nom, âge, GPA et d'autres attributs bien sûr (mais j'en parlerai juste pour simplifier) ​​ à partir de ce.

The problem I encounter is how I find out where Name lies in Word file and what comes after name that could be GPA or AGE.

e.g

Name: Juliet
Age: 23

Bien sûr, après avoir découvert son Age après le nom, je trouverais facilement le nom réel. Comme il se situerait entre Name et Age .

Mes pensées jusqu'à présent pour réaliser cela utilisent Enum qui aura tous ces attributs comme Name, Age, Gpa .

Enum{
  Name, Age, Enum
}

S'il vous plaît me suggérer si vous avez des idées à faire cela?

0

1 Réponses

Puisque c'est pour une classe, je ne peux vous donner que des conseils généraux; J'espère que cela vous aidera.

Tout d'abord, il existe plusieurs problèmes avec l'utilisation d'un Enum pour représenter vos données. Généralement, vous voulez utiliser un Enum sur un type de données uniforme pour représenter un ensemble de données connexes. Par exemple, l'exemple canonique est quelque chose comme:

enum DayOfWeek { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } 

Dans cet exemple, le type de données sous-jacent est le même. Autrement dit, nous utiliserons tous les entiers (par exemple) pour représenter les informations sous-jacentes. Tout le problème est que vous pouvez utiliser des types descriptifs dans votre application plutôt que des types primitifs sous-jacents. Par exemple, vous pouvez dire:

if (today == DayOfWeek.Monday) 

etc.

Ce que vous voulez faire est de créer un nouvel objet capable de modéliser vos données, puis de les remplir. Dans votre exemple, je commencerais par quelque chose comme:

class Person
{
    private string name;
    private int    age;
    private double  gpa;

    public string Name
    {
        get
        {
            return name;
        }
        set
        {
            name = value;
        }
    }

    public int Age
    {
        get
        {
            return age;
        }
        set
        {
            age = value;
        }
    }

    public double Gpa
    {
        get
        {
            return gpa;
        }
        set
        {
            gpa = value;
        }
    }
}

Votre plan général sera d'itérer sur votre source de données et de construire progressivement les objets. Par exemple:

List people = new List();

// replace conditions with the conditions for your loop.
// this just loops forever.
for (; ; )
{
    Person p = new Person();

   //replace this with code that fetches out the actual values.
    p.Age = 20;
    p.Gpa = 4.0;
    p.Name = "John Doe";

    people.Add(p);

 }

J'espère que cela t'aides!

0
ajouté
Merci d'avoir écrit beaucoup mais je n'ai pas besoin de cours car je les jetterai juste dans DB. Tout d'abord, je suis préoccupé ici par l'ordre de leur apparition que soit AGE viennent en premier ou Nom? et puis je suis inquiet de ce qui vient après le premier. Merci encore
ajouté l'auteur Faisal Ashfaq, source
De plus, AGE, Name et GPA sont tous des chaînes, donc Enum reste valide ici.
ajouté l'auteur Faisal Ashfaq, source
Les énumérations représentent des valeurs uniques. Vous voulez représenter un groupe de valeurs. C'est pourquoi Enum n'a pas de sens ici. En outre, vous pouvez représenter GPA et Age avec des chaînes, mais vous devriez prendre l'habitude d'utiliser les types de données corrects pour les choses.
ajouté l'auteur jsinglet, source
Pour clarifier: utiliser Enum ici n'offre rien. Si vous n'avez pas l'intention de modéliser vos données, vous pouvez simplement utiliser des chaînes simples.
ajouté l'auteur jsinglet, source