Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

MySQL et WD12

4 réponses
Avatar
I.G.LOG
Bonjour,
J'essai de creer un script de duplication d'un base. Pour ça je génère un
ficher texte contenant tous les CREATE TABLE nécessaires.
J'utilise le code suivant:

POUR x = 1 a y
SQLExec("show create table " + NOMFIC[X],"ReqS")
SI SQLFetch("ReqS") = 0 ALORS
lCond = Remplace(SQLLitCol("ReqS",2),Caract(9)," ")
// lcond = SQLLitCol("ReqS",2)
fEcritLigne(lNumFic,lCond)
FIN
SQLFerme("ReqS")
FIN

Ce code fonctionne mais dans le fichier texte j'ai des caractères spéciaux
( petits rectangles ) que je n'arrive pas a enlever. A quoi correspondent
ces caractères ?

Merci

4 réponses

Avatar
I.G.LOG
Trouvé: il s'agit de LF (caract(10)
Donc avec

Remplace(SQLLitCol("ReqS",2),Caract(10)," "+RC)

le problème est résolu.


"I.G.LOG" a écrit dans le message de news:
4ae1d04b$0$930$
Bonjour,
J'essai de creer un script de duplication d'un base. Pour ça je génère un
ficher texte contenant tous les CREATE TABLE nécessaires.
J'utilise le code suivant:

POUR x = 1 a y
SQLExec("show create table " + NOMFIC[X],"ReqS")
SI SQLFetch("ReqS") = 0 ALORS
lCond = Remplace(SQLLitCol("ReqS",2),Caract(9)," ")
// lcond = SQLLitCol("ReqS",2)
fEcritLigne(lNumFic,lCond)
FIN
SQLFerme("ReqS")
FIN

Ce code fonctionne mais dans le fichier texte j'ai des caractères spéciaux
( petits rectangles ) que je n'arrive pas a enlever. A quoi correspondent
ces caractères ?

Merci





Avatar
Goof
Comme dit précédemment, c'est le caractére 'LF' (line feed)
l'explication:
Les programmes issues du monde unix on l'habitude de signaler les fins
de lignes uniquement par 'LF'.
Alors que les programmes DOS/Windows utilisent 'CR' ( Carriage Return)
et 'LF' pour signaler la fin de ligne.
Noté 'CRLF' normalement,
en C/C++/Java/PHP/... il est noté "rn"
en windev il est noté 'RC'

Et tout ça vient de la .... machine a écrire mécanique.
Elles avaient une touche pour passer a la ligne. (LF)
Et éventuellement une autre pour faire le retour en début de ligne (CR),
quand le retour en début de ligne n'était pas manuel.

A++
Goof

PS : je sais la solution a été donné, mais j'aime bien expliquer le
pourquoi aussi car la raison est utile au moins autant que la solution.


I.G.LOG a écrit :
Bonjour,
J'essai de creer un script de duplication d'un base. Pour ça je génère un
ficher texte contenant tous les CREATE TABLE nécessaires.
J'utilise le code suivant:

POUR x = 1 a y
SQLExec("show create table " + NOMFIC[X],"ReqS")
SI SQLFetch("ReqS") = 0 ALORS
lCond = Remplace(SQLLitCol("ReqS",2),Caract(9)," ")
// lcond = SQLLitCol("ReqS",2)
fEcritLigne(lNumFic,lCond)
FIN
SQLFerme("ReqS")
FIN

Ce code fonctionne mais dans le fichier texte j'ai des caractères spéciaux
( petits rectangles ) que je n'arrive pas a enlever. A quoi correspondent
ces caractères ?

Merci





Avatar
Eric Demeester
dans (in) fr.comp.developpement.agl.windev, Goof
ecrivait (wrote) :

Bonjour,

Les programmes issues du monde unix on l'habitude de signaler les fins
de lignes uniquement par 'LF'.
Alors que les programmes DOS/Windows utilisent 'CR' ( Carriage Return)
et 'LF' pour signaler la fin de ligne.



Pour être tout à fait complet, les fins de lignes sous MacOs sont
signalées par <CR>.

--
Eric
Avatar
Goof
merci du complément, je ne connaissais pas personnellement le cas d'Apple.

Eric Demeester a écrit :
dans (in) fr.comp.developpement.agl.windev, Goof
ecrivait (wrote) :

Bonjour,

Les programmes issues du monde unix on l'habitude de signaler les fins
de lignes uniquement par 'LF'.
Alors que les programmes DOS/Windows utilisent 'CR' ( Carriage Return)
et 'LF' pour signaler la fin de ligne.



Pour être tout à fait complet, les fins de lignes sous MacOs sont
signalées par <CR>.