Bonjour,
Je veux transmettre un fichier après traitement.
  1. J'envoie donc sur la cible la command open (ligne 3) -> elle passe
  2. J'ouvre le fichier d'origine et je prends les lignes une par une (lignes 8 à 11),
  3. Je traite chacune d'elle (lignes 12 à 27)
  4. Je l'écris sur la cible (ligne 28)
  5. Je ferme le fichier cible (avec close ligne 31)-> ça marche aussi

C'est sans doute un pb de synchronisation mais comme je suis débutant en typescript je ne le trouve pas.

Qqn peut m'aider ?
Merci d'avance
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
async UploadFile2(file: string, target: string): Promise<void> {
        //@note UploadFile2
        let result = await this.SendAndRecv("f = open('" + target + "', 'w')\r\n", false);
        let commentaire: boolean = false;
        let ligneVide: boolean = false;
        const clearComments=this.clearComments;
 
        var lineReader = require('readline').createInterface({
            input: require('fs').createReadStream(file)
        });
        lineReader.on('line', async function (line) {
            if (clearComments) {
                line = line.trimEnd();// Suppression des espaces en fin  de ligne
                line = line.replace(/#.*/g, ""); // Suppression des commentaires mono ligne #
                line = line.replace(/"{3}(.+?)"{3}/g, ""); // Suppression des commentaires mono ligne """
                if (line.match(/"{3}/) && !commentaire) {// Suppression des commentaires multi ligne
                    commentaire = true;
                    line = line.replace(/"{3}.*/, "");
                }
                if (line.match(/"{3}/) && commentaire) {// Suppression des commentaires multi ligne
                    commentaire = false;
                    line = line.replace(/.*"{3}/, "");
                }
                line.trimStart() == ""?ligneVide=true:ligneVide=false
            }
            if (!commentaire && !ligneVide) {
                line=line+"\r\n";
                result =await this.SendAndRecv("f.write(" + line +")\r\n", false);
            }
        });
        result = await this.SendAndRecv("f.close()\r\n", false);
    }