It is currently 30 May 2020, 14:07 Advanced search

comportamento strano readline

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

comportamento strano readline

Postby dexter » 27 March 2020, 17:44

tramite la shell eseguo un file creo ed eseguo una serie di file Bat che interrogano il il server sulle stampanti connesse in rete e in locale. Il file Bat crea anche nella cartella temp un file .txt che ritorna la lista delle stampanti (si veda snap shot).

Cattura.PNG
Cattura.PNG (17.5 KiB) Viewed 414 times



successivamente mi creo una videata che userò a mo di scelta stampante e proprietà di stampa qual'ora l'utente volesse stampare (tramite il server alle stampanti ad esso connesse). Per popolare il campo di scelta stampante ciclo il file TXT con il comando readline ma ottengo un comportamento molto strano, ovvero tutto è duplicato: sia righe che numero di caratteri. Allego sotto un esempio del debug:

Cattura1.PNG
Cattura1.PNG (59.38 KiB) Viewed 414 times


come si vede dal primo snap la riga del Fax è la 5° e la sua lunghezza in caratteri è 5 e non 11, come anche l'interazione che è la 9!!!!!
come mai? sbaglio io?
User avatar
dexter
 
Posts: 161
Joined: 17 January 2018, 7:53

Re: comportamento strano readline

Postby Thema » 28 March 2020, 8:19

hai provato a mettere un TRIM ? forse legge degli spazi
Antonio Avitabile (freelance)
User avatar
Thema
 
Posts: 443
Joined: 6 February 2013, 13:46
Location: Parma

Re: comportamento strano readline

Postby dexter » 28 March 2020, 10:43

niente....anche il trim non risolve il problema. Legge sempre un numero doppio di caratteri.
User avatar
dexter
 
Posts: 161
Joined: 17 January 2018, 7:53

Re: comportamento strano readline

Postby Thema » 28 March 2020, 12:09

prova a scrivere il codice in questo modo
ESEMPIO:

string printer = ""
int lunghezza = 0
int i = xxx.freefile()
xxx.openfileforinput(path&nomefile,i)
while(!(xxx.EOF(i)))
{

string LINE = ""
xxx.readline(i,LINE)

if (left(LINE,1) = """
{
lunghezza = lenght(trim(LINE))-1
printer = mid(LINE,2,lunghezza)

qui farai una insert nella tabella
}

}
Antonio Avitabile (freelance)
User avatar
Thema
 
Posts: 443
Joined: 6 February 2013, 13:46
Location: Parma

Re: comportamento strano readline

Postby dexter » 28 March 2020, 17:23

La cosa è stranissima... guardando sulla tabella SQL non vedo nulla se avvio la query della tabella ma vedo invece il dato se vado in modifica dati. La cosa è ancor più strana in quanto il campo formattato come varchar(200) appare enorme e separato da spazi e quando clicco sul campo il testo scompare per poi riapparire quando seleziono altra riga!

Cattura.PNG
Cattura.PNG (9.37 KiB) Viewed 365 times


è evidente che i file.txt creato dalla shell ha qualche incompatibilità con il readline di inde!
User avatar
dexter
 
Posts: 161
Joined: 17 January 2018, 7:53

Re: comportamento strano readline

Postby d.pierangeli » 28 March 2020, 17:32

Potrebbe dipendere dall'encoding? Guarda in basso a destra che encoding usa il file con notepad++.
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 6803
Joined: 30 September 2010, 15:35

Re: comportamento strano readline

Postby dexter » 28 March 2020, 17:44

credo sia proprio così...l'encoding è UCS-Little indian (mai sentito prima).
c'è modo di convertirlo?
User avatar
dexter
 
Posts: 161
Joined: 17 January 2018, 7:53

Re: comportamento strano readline

Postby zpj61 » 29 March 2020, 7:28

Se sei in ambiente c# forse la cosa più semplice è un preprocessing del file txt in c#. Il framework .NET gestisce correttamente il multibyte encoding
User avatar
zpj61
 
Posts: 619
Joined: 20 November 2015, 8:20
Location: Bassano del Grappa

Re: comportamento strano readline

Postby d.pierangeli » 29 March 2020, 13:46

Che versione stai usando? Dalla 19.5 è possibile specificare l'encoding del file in lettura.
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 6803
Joined: 30 September 2010, 15:35

Re: comportamento strano readline

Postby dexter » 29 March 2020, 14:18

RISOLTO! grazie, fortunatamento ho l'ultima versione con l'encoding. Settando il parametro con "UTF-16LE" funziona perfettamente! Grazie ancora
User avatar
dexter
 
Posts: 161
Joined: 17 January 2018, 7:53


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: No registered users and 20 guests