Bori 5.36까지 패치내역
페이지 정보
본문
Bori 5.36까지 기능업그레이드 히스토리
Version 5.33
1. Str class 함수 추가
str replaceAll (str sFind, str sReplace)
str replaceFirst (str sFind, str sReplace)
2. Project class 함수 추가
static str getExeFileDir ( )
Version 5.29
1. Mouse Enter시 default 동작 추가
- Edit, ListBox, ComboBox 테두리 색 변경
- Button 바탕색 변경
2. Focus 받을 때 default 동작 추가
- Edit 테두리 색 변경
3. Edit 테두리 없을 때
Edit 테두리 사용 안함 선택하면, 밑줄만 표시한다.
4. View에 Mouse Enter, Mouse Exit event 추가
Version 5.27
1. Stable class 함수 추가
void setHeaderMenu (str columnName, str menuName)
Version 5.20
1. ImageBox
As Window
Version 5.19
1. Ternary conditional
a ? b : c;
2. new 함수 생략
Color.new(0,0,255)
Color(0,0,255)
3. 버그 수정
- 새 함수 작성 중 이름을 변경하려면 에러가 나면서 프로그램을 빠져나오지 못하는 문제를 수정.
Version 5.18
1. Movable, Resizable, asWindow 속성 추가
- Link control에 movable, resizable 속성이 추가되었습니다.
- Label control에 movable, asWindow 속성이 추가되었습니다.
* 이 기능들은 실행 시에 control을 움직이거나 크기 조정을 할 수 있도록 해 줍니다.
2. Dialog class 추가
Dialog 창을 만들 때 Project.openDialog 함수를 사용하던 것을 별개의 class로 독립시켜서, 다른 dialog class들 (예:FileDlg class)과 같은 방식으로 처리하도록 만들었습니다. 이 class에서는 정보를 넘겨 주거나 돌려 받을 때 Vars 변수를 사용하지 않고, 그냥 set 또는 get 함수를 사용하면 됩니다.
사용예)
Dialog d;
d.set("name", "kim"); // 넘겨 주는 정보는 set 함수를 사용합니다.
d.set("age", 34);
d.setResizable(true);
if (d.show("dlg.view", "개인정보수정"))
{
rat weight = d.getRat("weight"); // 돌려 받는 정보들은 get 함수들을 사용합니다.
double height = d.getDouble("height");
}
* Project.openDialog 함수는 다음 버전에서 삭제할 예정입니다.
3. copy from 기능 확장
View list 창에서 사용하는 'Copy From' 기능을 확장하여, 여러 서류를 한번에 복사해 올 수 있도록 수정하였습니다.
Version 5.17
1. Etable class, control
Etable control이 추가되었습니다. 이 control은 5버전 올라오면서 없어졌던 table control을 다시 적용한 것입니다. 4버전 이전 버전을 사용하던 사용자의 table control은 읽어들이면서 etable로 인식됩니다.
관련 class는 Table에서 Etable로 변경되었습니다.
2. AcceptFiles 속성
속성창에 'AcceptFiles'가 추가되었습니다. 기존에는 이것이 없었고 dragAcceptFiles 함수를 사용하였는데, 이제부터는 속성창에서 속성을 체크해 주기만 하면 됩니다. 이 속성은 Edit, Stable에서 사용할 수 있었는데, 이번에 View가 추가되었습니다.
Version 5.16
1. Math class
doubles linSpace (double x1, double x2, int count)
2. MessageBox class
static int show (str msg, str title)
static int showOKCancel (str msg, str title)
static int showYesNoCancel (str msg, str title)
static int showYesNo (str msg, str title)
static int showError (str msg, str title)
* 기타 함수에 있던 dlgMg 함수는 삭제되었습니다.
3. Double class
static double parseExpression (str expression)
4. Doubles class
static doubles parseExpression (str expression)
5. str class
Strs splitTokens ( )
6. Overloading
View의 method들도 overloading 할 수 있습니다.
Version 5.15
1. String literal
문자열이 겹따옴표로 묶여져 있으면 여러 줄을 쓸 수 있도록 확장하였습니다.
str s = "문자열을 여러 줄로 나누어 쓸 수 있습니다.
이 줄도 위와 같은 문자열에 속합니다.
여기까지 같은 문자열입니다.";
* 문자열 속에서 줄바꿈을 한 것은 줄바꿈으로 인식됩니다.
2. Date, Time, Timestamp class
- Date class
void today( ) -> static Date today ( )
- Time class
void now ( ) -> static Time now ( )
- Timestamp class
void now ( ) -> static Timestamp now ( )
Version 5.14
1. for 문법 확장
for (type-specifier variable-name = start-expression .. end-expression[, step]) statement;
2. 변수 선언 기능 확장
new 함수가 있는 class는 변수 선언 뒤에 ( )를 써서 값을 지정할 수 있습니다.
예)
Color c(0,0,255);
FileName fn("c:\windows");
Version 5.13
1. 함수 추가
- Strs class
void removeBlank ( )
- Ints class
void removeNull ( )
Ints countFrequency (int numberOfBins)
- Rats class
void removeNull ( )
Ints countFrequency (int numberOfBins)
- Doubles class
void removeNull ( )
Ints countFrequency (int numberOfBins)
- System class
static void playSound (str filename)
Version 5.12
1. 수정
- 함수표에서 함수 선택하면 함수명 뒤에 ( ) 붙여 줍니다.
- Lib 폴더에 HorzStackedBarChart.view 추가
- Class name
date, time -> Date, Time
위 두 class 명은 소문자로 시작하지 못하도록 제한하였습니다.
Version 5.11
1. Rset
- 함수 이름 변경
changeColumnName -> changeColumnNames
- 텍스트서류 읽기에서 항목 형식 자동 인식
readTextFile 함수를 사용하여 텍스트파일을 읽어 들일 때, 숫자와 문자를 내부에서 판단하고, 숫자 항목의 형식을 자동으로 세팅해 줍니다.
- 함수 추가
Rset changeColumnSize (str name, int numberOfChars)
2. 문장 안에 겹따옴표 쓰기
코드 안에서 문장을 쓸 때 그 안에 겹따옴표가 있으면 \를 앞에 붙였습니다. 그 대신 ` 기호를 두번 붙여서 쓰면 겹따옴표 대용으로 사용할 수 있도록 확장하였습니다.
* 이 기호는 키보드 맨 윗줄 숫자 1 왼쪽에 있습니다.
예)
str s = "She said ``No!``";
str s = "She said \"No!\"";
위의 두 구문은 같습니다.
3. Rtable class
void setDecimalPlaces (str columnNames, int decimalPlaces)
4. 함수표에 찾기 기능 추가
함수표 아래 부분에 'Find..' 버튼이 있습니다. 이것을 누르면 함수 이름으로 찾기를 할 수 있습니다.
Version 5.10
1. SystemInfo -> System class
SystemInfo class의 명칭을 System으로 변경합니다. 내부적으로는 'SystemInfo'를 유지하지만 일정 시간 후 지원하지 않을 수 있으니 염두에 두시기 바랍니다.
신규함수:
static void execute (str fileName, str arguments)
static Point getCursorPos ( )
2. View class
static void setTimer (str name, int milliseconds);
static void killTimer (str name)
static Point getCursorPos ( )
3. Time class
static int getTickCount ( )
Version 5.09
1. res 폴더 변경
5 버전부터 Build를 하면서 res 폴더가 별도로 제공되었습니다. 이번부터는 res 폴더가 별도로 제공되지 않습니다. resource 파일들은 src 폴더 안에 또는 하위 폴더 안에 넣어 둡니다. Build를 하면 bin 폴더에 resource 파일들이 복사됩니다.
2. 함수 추가
Str class
str distinct ( )
str removeChars (str chars)
Strs class
Strs distinct ( )
Strs toUpper ( )
Strs toLower ( )
int count (str text)
Ints class
Ints distinct ( )
int count (int value)
Rats class
Rats distinct ( )
int count (rat value)
Doubles class
Doubles distinct ( )
int count (double value);
Rset class
static Rset new (str structure)
Version 5.08
1. Event handler 한꺼번에 설정
하나의 event handler를 여러개의 control이 공용으로 사용하는 경우, popmenu에서 한꺼번에 설정할 수 있도록 개선하였습니다. (단, 선택한 control들이 모두 같은 타입이어야 합니다.)
2. Bori DLL과 BoriView 통합
Bori DLL을 BoriView.x.xx.exe와 합쳤습니다. 따라서 앞으로는 Bori DLL이 따로 배포되지 않습니다.
3. 실행서류 Build 방식 추가
Project 서류 안에 'Indirect Calling'이라는 옵션이 추가되었습니다. 이것을 체크하여 'Indirect Calling' 기능을 사용하면 이전과 같이 서버를 이용하여 버전 변경을 수행하는 방법입니다.
이 기능을 해제하면, Bori 버전이 고정된 exe 하나만 생깁니다. 계속적인 업그레이드 지원을 하지 않는 경우에는 이 방식을 사용하면 됩니다.
('Indriect Calling'을 사용하지 않는 것이 default입니다.)
Version 5.07
1. Rset class 함수명 변경
select -> selectRange, selectRows, selectColumns
selectIf -> select
2. Rset class 함수 추가
Rset update (str statement)
void updateSync (str taskName, str statement)
Rset insertColumns (str positionColumn, str names)
void insertColumnsAsync (str taskName, str positionColumn, str names)
Rset summary (str columnsGroup, str columnsSummary, str valueTypes)
void summaryAsync (str taskName, str columnsGroup, str columnsSummary, str valueTypes)
3. Ints, Rats, Doubles에 대한 사칙연산
list2 = list op value (op: +, -, *, /)
Ints, Rats, Doubles class 인스턴스에 어떤 값을 더하거나 빼는 등 사칙연산을 하는 경우, 리스트 안에 있는 모든 요소들에 대하여 연산을 한 새 리스트를 만듭니다.
예)
Ints is = [5, 4, 9];
Ints is2 = is * 2;
puts(is); => [5,4,9]
puts(is2); => [10,8,18]
4. Ints, Rats, Doubles class 함수 추가
Ints pow (int value)
Ints abs ( )
위 함수들은 리스트의 모든 요소들에 대하여 계산을 수행한 새 리스트를 만듭니다.
Version 5.06
1. Rset class 함수 추가
int appendRow ( )
2. Rtable class 함수 추가
int getCurrentRow ( )
void setColumnWidth (str columnName, int width)
void setCurrentRow (int row)
void setSelColor (Color text, Color back, Color textUnfocused, Color BackUnfocused)
Version 5.05
1. Rset 형식 자료 파일
이 형식의 자료는 대용량 record set 자료를 디스크에 보관하기 위해 개발되었습니다. 확장자는 .rset이 기본이지만 다른 것으로사용하여도 관계없습니다. 이 서류의 자료를 읽으려면 Rset class의 readRsetFile 함수를 사용하면 되고, 사용하고 있는 record set을 저장할 때는 writeRsetFile 함수를 사용하면 됩니다.
2. Rtable control 추가
이 control은 record set을 표시해 줍니다. Stable과 다른 점은 group이나 합계 기능이 없고, 대신 대용량 record set을 표시할 수 있습니다. 자료의 크기에 제한 받지 않습니다.
3. Rtable class
void setData (Rset rset)
4. Rset class 함수 추가
Rset selectIf (Str conditional)
void setRemark (Str remark);
Str getRemark ( )
static Rset readTextFile (str filename, str encoding, str separator, int headerOption)
static Rset readRsetFile (Str path, bool readOnly);
void writeRsetFile (Str path);
void writeTextFile (Str filename, Str encoding, Str separator, Int headerOption)
void changeColumnTypeAsync (Str taskName, Int type, Str columnNames)
void removeColumnsAsync (str taskName, str names)
void selectAsync (Str taskName, Int start, Int count)
void selectAsync (Str taskName, Str columnNames)
void selectIfAsync (Str taskName, Str conditional)
void sortAsync (Str taskName, Str columnNames)
void writeRsetFileAsync (Str taskName, Str filename)
void writeTextFileAsync (Str taskName, Str filename, Str encoding, Str separator, Int headerOption)
Version 5.04
1. 함수 추가
Points class
static Points new (doubles xs, doubles ys)
void add (doubles xs, doubles ys)
void removeAll ( )
Rset class
Rset select (strs columnNames)
Rset select (strs columnNames, in rows)
void changeColumnType (Int type, Str columnNames)
void changeColumnType (Int type, Strs columnNames)
ListBox class
Strs getSelectedList ( )
Event class
Control getControl( );
Str class
Str trim ( );
Str trim (Str chars)
2. class 추가
Polygon : 다각형을 그리는데 사용합니다.
3. 함수 수정
Menu class
void showPopup (str objname, int x, int y) --> void showPopup (Control control, int x, int y)
void showPopup (str objname, Point pt) --> void showPopup (Control control, Point pt)
4. Bug 수정
- Chart를 그릴 때 다른 control의 painting에 영향을 미치는 문제 수정
Version 5.03
1. 함수 추가
Str class
Strs splitLines ( )
Strs splitLines (int lines)
Bool equalsNoCase (str s)
Strs class
str mergeAll (str delimiter)
Date class
static Date new ( )
static Date new (int year, int month, int day)
Time class
static Time new ( )
static Time new (int hour, int minute, int second, int millsecond)
Timestamp class
static Timestamp new ( )
static Timestamp new (long year, long month, long day, long hour, long minute, long second, long milliseconds)
Rset class
str writeText (str separator, int headerOption)
2. 함수 수정
Rset class
static Rset readTextFile (str filename, str encoding, str separator, int headerOption)
void writeTextFile (str filename, str encoding, str separator, int headerOption)
3. Bug 수정
- 프로젝트 서류 treeview에서 popup menu 띄울 때 글씨가 안 보이는 문제 수정
- 바탕 글꼴 지정 안되던 문제 수정
Version 5.02
1. Rset class 함수 추가
Rset select (ints rows)
Rset select (str columnNames)
Rset select (str columnNames, in rows)
static Rset readText (str data, str separator, int headerOption);
void writeTextFile (str filename, str separator, str encoding);
* 추가되는 함수들의 해설은 함수표에 표시됩니다.
* fromString 함수는 삭제되었습니다. 대신 readText 함수를 사용하십시오.
2. Dialog 사용 방법 수정
Dialog를 부를 때:
Project class에 새로 만들어진 함수를 사용합니다.
Project.openDialog(str viewfile, str title);
Project.openDialog(str viewfile, str title, Vars input);
Project.openDialog(str viewfile, str title, Vars input, Vars output);
Dialog에서 돌려 줄 때:
View.dlgReturn (int retValue);
View.dlgReturn (int retValue, Vars vars);
* 값들을 돌려 주기 위해 onClose event 사용할 필요없습니다. 따라서 onClose event handler 형식도 바뀌었습니다.
Vars onClose ( ) --> void onClose ( )
* 일반 함수로 있던 Dialog, dlgReturn 함수들은 사용하지 않습니다.
Version 5.01
1. Rset class 함수 추가
Strs getStrValues (Str columnName)
Ints getIntValues (Str columnName)
Rats getRatValues (Str columnName)
2. 함수표 기능 추가
'Sort by Class Name' 옵션이 추가되었습니다. 이 옵션을 선택하면 클래스들 전체가 이름 순서로 재배열되어 표시됩니다.
3. Debug On/Off 창 제거
Bori에서 실행시키면 debug mode가 되지만 debug 정보를 표시하지 않습니다. Debug 정보를 표시할지 말지는 다음의 구문으로 제어합니다.
debug(true); // debug 정보 표시 시작
debug(false); // debug 정보 표시 끝
Version 5.00
1. Strs class 함수 추가
Strs select(text, options)
2. Str class 함수 추가
Strs split (str separator)
Strs split (str separator, bool splitLines)
3. File class 함수 추가
static Str readAllText (Str filename)
static void writeAllText (Str filename, Str content, Str encoding)
4. Shape, Pen, PointD, Points class 추가
for Drawing
5. XmlElement class
Xml class 함수들 일부가 XmlElement class로 옮겨졌음.
6. Sql class 함수 추가
str executeQueryAsString (str separator)
7. ResultSet
이름 변경 : ResultSet --> Rset
함수 추가
static Rset readTextFile (str filename, str separator, int header)
static Rset readTextFile (FileName filename, str separator, int header)
8. Database Connection
프로젝트 서류에 Database Connection 창을 표시하지 않습니다. 앞으로는 함수를 사용하여 직접 지정하십시오.
* 기존에 connection이 있는 경우는 그대로 표시해 줍니다.
9. Replace
삭제 기능 가능
10. Help
함수표 안에 함수 설명을 표시합니다.