컬럼 형태로 데이터 받아 문자열로 변환다음을 수행하려고 합니다.
사용자로부터 다음 입력을 수락합니다.
A1234965
A1233339
A1234736
A123494Z
A1233114
문자열로 변환: "A1234965,A1233339,A1234736,A123494Z,A1233114"
입력된 "열"의 길이에 제한이 없습니다. 사용자가 "열"을 요청하는 팝업 창에 붙여 넣은 다음 해당 데이터를 위의 문자열로 저장하기를 원합니다. 내 진짜 문제는 사용자의 입력을 수락하는 방법을 찾는 것입니다("텍스트 편집 상자"는 열 형식을 붙여넣을 수 없음). 물론 그 입력을 필요한 문자열 형식으로 변환하는 방법을 모릅니다. 도움을 주시면 감사하겠습니다. 감사해요!
자동화 및 스크립팅Re: 컬럼 형태의 데이터를 받아 문자열로 변환합니다.Concat Items() 함수 사용
names default to here(1);
x={"aa","bb"};
y=concat items(x,",");Re: 컬럼 형태의 데이터를 받아 문자열로 변환합니다.먼저 다음을 사용하여 데이터를 분할해야 합니다. 단어() Concat Items()를 사용하기 전에. 데이터를 붙여넣는 위치에 따라 Words()를 사용하기 전에 일부 대체를 수행해야 할 수도 있습니다. 이것들은 다음과 같이 할 수 있습니다. GLOBALREPLACE를 사용하는 Regex() 또는 대체()/대체() .
중복 항목을 제거하는 것도 좋은 생각일 수 있습니다(알파벳순으로 정렬되는 것이 중요하지 않은 경우 연관 배열을 사용할 수 있음).
Re: 컬럼 형태의 데이터를 받아 문자열로 변환합니다.감사합니다. 확실히 concat 기능을 사용하겠습니다. 내 큰 문제는 사용자 입력을 받는 것입니다. 그들은 데이터 테이블에서 열을 복사하여 편집 상자에 붙여넣을 것입니다. 내 현재 코드(아래 참조)에서는 복사된 열의 첫 번째 셀만 사용합니다... "텍스트 편집 상자"와 텍스트 데이터 유형을 사용하고 있기 때문이라고 가정합니다. 다음과 같은 형식의 데이터를 사용할 수 있는 편집 상자와 데이터 유형이 있습니까?:
A1234965
A1233339
A1234736
A123494Z
A1233114
내 현재 코드는 다음과 같습니다.
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;
)
)
)
)
);Re: 컬럼 형태의 데이터를 받아 문자열로 변환합니다.안녕 @aidanweb ,
항목을 구문 분석하는 방법에 대해 설정된 것처럼 들리지만 항목 표시에 문제가 있는 것 같습니다. 실제로 모든 줄이 제대로 붙여넣어지고 있지만 텍스트 편집 상자가 한 줄만 차지하는 것처럼 보일 수 있지만 상자의 높이로 인해 텍스트 편집 상자를 볼 수 없습니다(편집 상자에서 위아래 화살표를 사용하는 경우). 당신은 다른 라인을 볼 수 있습니다).
내가 할 일은 대화 상자를 예상 붙여넣기 크기로 만들 때 편집 상자의 크기를 미리 지정하는 것입니다. 다음과 같이 추가하면 됩니다.
b1<<SETNLINES></SETNLINES>

이게 도움이 되길 바란다!
@줄리안
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);
Re: 컬럼 형태의 데이터를 받아 문자열로 변환합니다.
Re: 컬럼 형태의 데이터를 받아 문자열로 변환합니다.앞서 말했듯이 Words()를 사용하여 목록으로 분할합니다. 그런 다음 Concat Items()를 사용하여 해당 목록을 다시 문자열로 결합합니다. Words()에서 구분 기호로 \!N을 사용하는 것으로 충분할 수 있지만 때로는 올바르게 작동하지 않을 수 있습니다.
Names Default To Here(1);
str = "abc
def";
lst = Words(str, "\!N");
str2 = "'" || Concat Items(lst, "','") || "'";
show(str, lst, str2);
Re: 컬럼 형태의 데이터를 받아 문자열로 변환합니다.감사합니다. 많은 도움이 됩니다. 입력을 {"aa", "bb", "cc"}와 같은 형식의 목록으로 변환하는 데 여전히 문제가 있습니다. 나는 입력이 단지 긴 문자열이기 때문에 함수라는 단어가 바로 작동할 것이라고 생각했을 것입니다....하지만 아마도 뭔가 잘못하고 있는 것 같습니다. 내 로그의 스크린 샷을 첨부했습니다.

Re: 컬럼 형태의 데이터를 받아 문자열로 변환합니다.적절한 구분 기호를 단어() 기능. 귀하의 경우 구분 기호로 줄 끝 문자 (또는 문자)를 원합니다. 인용 문자열에 대한 이스케이프 시퀀스 표를 참조하십시오. JSL 구문 규칙 .
이 시도:
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 );
)
)
)
)
);