Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2184 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Paramétrer les séparateurs lors de la lecture d'un fichier texte

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Paramétrer les séparateurs lors de la lecture d'un fichier texte

n°799536
jaimetonso​urire
Posté le 19-07-2004 à 13:13:56  profilanswer
 

Bonjour,
Je développe un logiciel dans lequel je dois coder une fonction d'importation de données stockées dans des fichiers de type txt.
J'aimerai donner à l'utilisateur le choix du séparateur lors de la lecture d'un fichier texte.
Pour cele je rentre les différents séparateurs en items dans une combobox (par exple tabulation, point virgule, espace, virgule etc.) et je voudrais que l'utilisateur en fonction du fichier à lire choisisse le séparateur! et lancer l'importation des données. Je signale tout simplement que j'ai déjà développé la fonction de conversion des fichiers txt importés en fichiers base de données et que j'ai besoin tout juste de délimiter les chaines à la lecture pour l'identification des champs de mes tables.
Pourriez vous m'éclairer un peu sur les possibilités de coder celà?

mood
Publicité
Posté le 19-07-2004 à 13:13:56  profilanswer
 

n°804659
alexistoul​otte
Al
Posté le 23-07-2004 à 15:55:29  profilanswer
 

Normalement ce code devrait t'aider... La fonction qui t'interesse est SetFiles, qui prend le nom du fichier à ouvrir et le conteneur (en TStrings) des éléments à rajouter.
 
function GetFileContent(const FileName: string): string;
var
    Lines: TStrings;
begin
    Result := '';
    Lines := TStringList.Create;
    try
        try
            Lines.LoadFromFile(FileName);
        except
            Exit;
        end;
        Result := Lines.Text;
    finally
        Lines.Free;
    end;
end; // GetFileContent
 
procedure AddItem(const Container: TStrings; const Item: string);
begin
    if Item <> '' then
        Container.Add(Item);
end; // AddItem
 
procedure SetItems(const FileName: string; const Container: TStrings);
const
    DELIMITERS = [' ', ',', ';', #9, #13];
var
    C: Char;
    Index: Integer;
    Content, Item: string;
begin
    Container.Clear;
    Content := GetFileContent(FileName);
    if Content = '' then
        Exit;
    Item := '';
    for Index := 1 to Length(Content) do
    begin
        C := Content[Index];
        if C = #10 then
            Continue;
        if C in DELIMITERS then
        begin
            AddItem(Container, Item);
            Item := '';
        end else
            Item := Item + C;
    end;
    AddItem(Container, Item);
end; // SetItems

n°808701
jaimetonso​urire
Posté le 28-07-2004 à 14:34:47  profilanswer
 

Salut,
Merci, c'est exactement ce qu'il me fallait à deux trois petites modifs prets, c'etait super sympa!
Merci

n°812157
alexistoul​otte
Al
Posté le 01-08-2004 à 01:12:30  profilanswer
 

jaimetonsourire a écrit :

Salut,
Merci, c'est exactement ce qu'il me fallait à deux trois petites modifs prets, c'etait super sympa!
Merci


De rien ca me fait plaisir a moi egalement. Et n'hesite pas des que tu as un probleme.

n°815438
p lejarre
Posté le 05-08-2004 à 01:18:40  profilanswer
 

jaimetonsourire a écrit :

Bonjour,
Je développe un logiciel dans lequel je dois coder une fonction d'importation de données stockées dans des fichiers de type txt.
J'aimerai donner à l'utilisateur le choix du séparateur lors de la lecture d'un fichier texte....


 
 
le mieux est de faire une table qui contient les différents séparateur et de faire des essais successifs jusque avoir celui qui convient.  
 
ou alors de considerer qu'un séparateur est un caractere qui n'est ni une lettre alphabétique ni un chiffre. Pour avoir une liste assez exhaustive de séparateurs vous pouvez avoir :  
 
;,/#! et tab vous collez ca dans un fichier à jour et vous livrez un bout de programme séparé qui mets à jour la liste en cas de soucis.  
 
 
et meme, vous prenez la premiere ligne, vous virez les lettres alphabétiques et les signes numériques comme "+-,." et vous vous retrouvez avec le séparateur.  


Message édité par p lejarre le 05-08-2004 à 16:25:22

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Paramétrer les séparateurs lors de la lecture d'un fichier texte

 

Sujets relatifs
prévisualisation d'un fichier PDF , possible en php ?Extraction chaine d'un fichier html
Nombre de ligne d'un fichier texte ouvert sous ExcelInterdire l'accès à une classe/fonction ou à un fichier précis
[CSS] Puce collée au texteBasic - accéder au sousmenu d'un fichier en basic
pb sur comparaison de 2 fichier textRecherche dans du texte
pb apostrophe pour saisie de texte dans bdd mysql 
Plus de sujets relatifs à : Paramétrer les séparateurs lors de la lecture d'un fichier texte


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR