Bonjour
avec D7
j ai une table avec 2 champ
titre varchar(50)
infos Blob texte
je voudrais pouvoir exporter le contenu dans un fichier texte
et pouvoir le reimporter, en gardant les sauts de lignes d origine du champ mémo
comment faire ?
merci
Bonjour
avec D7
j ai une table avec 2 champ
titre varchar(50)
infos Blob texte
je voudrais pouvoir exporter le contenu dans un fichier texte
et pouvoir le reimporter, en gardant les sauts de lignes d origine du champ mémo
comment faire ?
merci
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
Merci
mais ca concerne l export d un blob image,
ce que je recherche c est pour un blob texte, (un mémo)
L'exemple est avec une image, mais la technique est la même que ce soit un PDF, un champ Texte.
Après, Il te faut l'adapter.
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
J ai peu etre mal exposé le probleme, petite explication
ma table A
Champ 1 : Titre varchar(20)
Champ 2 : Info Blob (texte)
je recois des fichier au format .txt
ex
#TITRE#Napoléon empereur
#INFO#Napoleon est sacré empereur.
A notre dame de paris
par le pape
Il y avait du monde
Il faisait chaud et beau.
#TITRE#Huges Capet
#INFO#Hugues Capet : Roi de France
A été sacre blablabla
blablabla
blablabla
blablabla
#FIN#
voila ce que je recois et donc je voudrais faire une routine capable de lire ca, de trouver les saut de lignes de #INFO# et de garnir mmon champ blob
et pour l export, faire l inverse
merci de l aide
Voici déjà une liste de questions auxquelles tu devrais répondre avant de poursuivre
1er question: Est ce que la structure de ton fichier sera toujours la même ?
2em question: Est ce que tu sais comment découpé ton fichier pour séparer les titres du reste ?
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
pour la question 1 : oui
pour la 2 : pas vraiment
Par ma part je ferai un truc dans ce style (je le fais que pour le titre à toi de te débrouillé pour modifier l'info
Ca sera quand même un peu plus compliquer pour l'info mais ca reste dans le même esprit
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 var iNumTitre,iNumInfo : integer; lst : TStringList; i : integer; begin //Initialisation des variables; lst := TStringList.Create; iNumTitre := 0; iNumInfo := 0; try // chargement du fichier lst.LoadFromFile(LECHEMIN + LENOMDUFICHIER); // tant que je trouves le #TITRE#, je continue while Pos('#TITRE#', lst.text) > 0 do begin inc(iNumTitre); // on remplace les #TITRE# par Titrex= lst.Text := StringReplace(lst.Text,'#TITRE#','Titre' + IntToStr(iNumTitre) + '=',[]); end; // Faire pareil avec #INFO# // Traitement des lignes par exemple // affiche les titres les un après les autres. for i := 1 to iNumTitre do ShowMessage(lst.Values['Titre' + IntToStr(i)]); finally lst.Free; end; end;
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
Merci je vais essayer ca cet apres midi quand je rentrerai chez moi,
mais ce qui va me poser lepb c est justement pour la partie info
car elle commence par
#INFO#, mais les autres lignes ne sont pas préfixées
et s arrete a un autre #TITRE# ou #FIN# qui est la fin du fichier
juste une piste.Envoyé par Cazaux-Moutou-Philippe
En faisant
Ca te donne la position dans la liste (si tu sais utiliser une listbox, le TStringlist c'est pareil à l'utilisation)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UnIndex := lst.IndexOfName('info1');
Après tu n'as plus qu'a parcourir UnIndex + LA ligne en cours et de vérifier qu'il n'y est pas titrex+1 ou #FIN# pour le rajouter dans ton champ Memo.
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 for i:= 1 to iMaxInfo do begin UnIndex := lst.IndexOfName('info' + IntToStr(i)); repeat // Tu ajoutes dans une variable MaVariable := MaVariable + lstStrings[UnIndex] + #13#10; Inc(UnIndex); until Pos(lst.Strings[UnIndex],'titre' + IntToStr(i + 1) or Pos(lst.Strings[UnIndex],'#FIN#') ; // LA tu fais ce que tu veux de la variable // Ajout dans la db // dans un stringGrid // etc ... end;
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager