Accettazione dei dati sotto forma di colonna, conversione in stringaSto cercando di fare quanto segue:
Accetta questo input dall'utente:
A1234965
A1233339
A1234736
A123494Z
A1233114
Convertilo nella stringa: "A1234965,A1233339,A1234736,A123494Z,A1233114"
Senza limiti sulla lunghezza della "colonna" inserita. Voglio che l'utente incolli la "colonna" in una finestra popup che lo richiede, quindi memorizzi quei dati come la stringa sopra. Il mio vero problema è trovare un modo per accettare quell'input dall'utente ("casella di modifica del testo" non consente di incollare un formato di colonna). Quindi, ovviamente, non so come convertire quell'input nel formato stringa di cui ho bisogno. Qualsiasi aiuto sarebbe apprezzato. Grazie!
Automazione e scriptingRi: Accettare i dati sotto forma di colonna, convertire in stringaUtilizzare la funzione Concat Item()
names default to here(1);
x={"aa","bb"};
y=concat items(x,",");Ri: Accettare i dati sotto forma di colonna, convertire in stringaDovrai prima dividere i dati usando Parole() prima di usare Concat Items(). A seconda di dove vengono incollati i dati, a volte potrebbe essere necessario eseguire alcune sostituzioni prima di utilizzare Words(). Questi possono essere fatti con Regex() utilizzando GLOBALREPLACE O Sostituisci()/Sostituisci in() .
Potrebbe anche essere una buona idea rimuovere i duplicati (gli array associativi possono essere usati per questo, se non importa che vengano ordinati in ordine alfabetico).
Ri: Accettare i dati sotto forma di colonna, convertire in stringaGrazie, userò sicuramente la funzione concat. Il mio grosso problema è accettare l'input dell'utente. Copierebbero una colonna da un datatable e la incollerebbero in una casella di modifica. Nel mio codice attuale (visto sotto), prenderà solo la prima cella della colonna copiata ... Presumo che ciò sia dovuto al fatto che sto utilizzando una "Casella di modifica testo" e il tipo di dati Testo: esiste una casella di modifica e un tipo di dati che potrebbero accettare dati formattati in questo modo?:
A1234965
A1233339
A1234736
A123494Z
A1233114
Ecco il mio codice attuale:
Lots = "abc";
w = New Window("Lot(s) of Interest",
Border Box(top(50), bottom(50), Left(50), Right(50),
V List Box(
H Center Box(Text Box("Lot(s) of Interest Input")),
Spacer Box(size(1, 30)),
H List Box(Text Box("Lots: "), b1 = Text Edit Box(Lots)),
Spacer Box(size(1, 10)),
H Center Box(
Button Box("Save",
Lots = b1 << get text;
w << closeWindow;
)
)
)
)
);Ri: Accettare i dati sotto forma di colonna, convertire in stringaCIAO @aidanweb ,
Sembra che tu sia impostato su come analizzare la voce, ma che la visualizzazione della voce ti dia problemi. Può sembrare che la casella di modifica del testo stia occupando solo una riga quando in realtà tutte le righe vengono incollate bene, ma l'altezza della casella non ti consente di vederle (se fai una freccia su e giù nella casella di modifica vedrai le altre linee).
Quello che farei è pre-dimensionare la casella di modifica quando crei la finestra di dialogo all'incirca alla dimensione prevista della pasta. Puoi farlo aggiungendo qualcosa come:
b1<<SETNLINES></SETNLINES>

Spero che aiuti!
@giuliano
Lots = "abc";
w = New Window("Lot(s) of Interest",
Border Box(top(50), bottom(50), Left(50), Right(50),
V List Box(
H Center Box(Text Box("Lot(s) of Interest Input")),
Spacer Box(size(1, 30)),
H List Box(Text Box("Lots: "), b1 = Text Edit Box(Lots)),
Spacer Box(size(1, 10)),
H Center Box(
Button Box("Save",
Lots = b1 << get text;
w << closeWindow;
)
)
)
)
);
b1<<SetNLines(10)<<set width(150);
Ri: Accettare i dati sotto forma di colonna, convertire in stringa
Ri: Accettare i dati sotto forma di colonna, convertire in stringaCome ho detto prima, usa Words() per dividerlo in un elenco. Quindi usa Concat Items() per combinare quell'elenco in una stringa. Potrebbe essere sufficiente usare \!N come separatore con Words() ma a volte potrebbe non funzionare correttamente
Names Default To Here(1);
str = "abc
def";
lst = Words(str, "\!N");
str2 = "'" || Concat Items(lst, "','") || "'";
show(str, lst, str2);
Ri: Accettare i dati sotto forma di colonna, convertire in stringaGrazie, questo aiuta tonnellate. Ho ancora problemi a convertire l'input in un elenco, formattato in questo modo: {"aa", "bb", "cc"}. Avrei pensato che la funzione delle parole avrebbe funzionato subito, poiché l'input è solo una lunga stringa ... ma probabilmente sto facendo qualcosa di sbagliato. Ho allegato uno screenshot del mio registro.

Ri: Accettare i dati sotto forma di colonna, convertire in stringaHai perso l'inclusione del delimitatore appropriato nel file Parole() funzione. Nel tuo caso vuoi un carattere (o caratteri) di fine riga come delimitatore. Vedere la tabella delle sequenze di escape per le stringhe quotate nel file Regole di sintassi JSL .
Prova questo:
Names Default To Here( 1 );
Lots = "abc";
w = New Window( "Lot (s) of Interest",
Border Box( top( 50 ), bottom( 50 ), Left( 50 ), Right( 50 ),
V List Box(
H Center Box( Text Box( "Lot (s) of Interest Input" ) ),
Spacer Box( size( 1, 30 ) ),
H List Box( Text Box( ("Lots: ") ), b1 = Text Edit Box( Lots, <<SETNLINES></SETNLINES> //include the delimiters for carriage and new line in the Words() function
newlots = Words( Lots, "\!r\!n" );
Show( Lots );
Show( newlots );
)
)
)
)
);