Upgrade to Pro — share decks privately, control downloads, hide ads and more …

プレゼンテーション(4D World Tour 2019 1日目より)

プレゼンテーション(4D World Tour 2019 1日目より)

4D Japan

May 28, 2019
Tweet

More Decks by 4D Japan

Other Decks in Technology

Transcript

  1. ⾰新的 基盤 両⽅ 指向 4D for iOS 統合 ORDA ⾔語以上

    先進性 互換性 両⽴ 4D v17 & R 開発
  2. Cache priority low Cache priority very low Cache priority normal

    Cache priority high Cache priority very high SET INDEX BLOBS CACHE PRIORITY TABLE * BLOBS = text, picture, object, blob ADJUST INDEX BLOBS CACHE PRIORITY TABLE 最近 近頃 ⾼ 低 > > > + + Cache info Get cache size SET CACHE SIZE FLUSH CACHE
  3. 64-bit 限定 https://blog.4d.com/preemptive-processes-for-4d-language/ SAVE RECORD([Table_1]) 全 SAVE RECORD($pTable->) SAVE RECORD

    SAVE RELATED ONE DELETE RECORD DELETE SELECTION ARRAY TO SELECTION JSON TO SELECTION APPLY TO SELECTION IMPORT DATA IMPORT DIF IMPORT ODBC IMPORT SYLK IMPORT TEXT DEFAULT TABLE([Table_1]) SAVE RECORD
  4. 64-bit 限定 Web https://blog.4d.com/web-server-in-preemptive-mode/ On Web Authentication On Web Connection

    On Web Close Process On 4D Mobile Authentication Compiler_Web /4daction/ or <!--#4dscript--> /rest/ 初期 Unicode /
  5. SOAP DECLARATION SOAP SEND FAULT SOAP REQUEST SOAP GET INFO

    WEB SERVICE AUTHENTICATE WEB SERVICE SET PARAMETER WEB SERVICE CALL WEB SERVICE GET RESULT WEB SERVICE GET INFO WEB SERVICE SET OPTION 64-bit 限定 https://blog.4d.com/preemptive-web-services-server-and-client/ Web 初期
  6. 古典的 間通信 https://blog.4d.com/easily-synchronize-your-processes/ 変数 New process Repeat DELAY PROCESS Until(◊TASK_COMPLETE)

    ◊TASK_COMPLETE ◊END_TASK Repeat DELAY PROCESS Until(◊END_TASK) 処理 完了 終了 処理 問題点 CPU consumption
  7. 古典的 間通信 https://blog.4d.com/easily-synchronize-your-processes/ 変数 New process Repeat GET PROCESS VARIABLE

    DELAY PROCESS Until(TASK_COMPLETE) TASK_COMPLETE END_TASK Repeat GET PROCESS VARIABLE DELAY PROCESS Until(END_TASK) 処理 完了 終了 処理 問題点 CPU consumption
  8. 強化 Web HTTP 集中 4D Remote 側 重 処理 管理

    増加 ⼒ 使⽤ 接続 数 増加 間 交換 共有
  9. 17R3 SET DEFAULT CENTURY Get localized document path Get database

    localization LOCKED BY LOG EVENT RECEIVE BUFFER Current client authentication GET MEMORY STATISTICS COMPRESS BLOB EXPAND BLOB BLOB PROPERTIES ENCRYPT BLOB DECRYPT BLOB GENERATE ENCRYPTION KEYPAIR GENERATE CERTIFICATE REQUEST GET DOCUMENT ICON TRANSFORM PICTURE SVG EXPORT TO PICTURE 17R4 MESSAGES ON MESSAGES OFF 17R2 SOAP DECLARATION SOAP SEND FAULT SOAP REQUEST SOAP GET INFO WEB SERVICE AUTHENTICATE WEB SERVICE SET PARAMETER WEB SERVICE CALL WEB SERVICE GET RESULT WEB SERVICE GET INFO WEB SERVICE SET OPTION 17 EXECUTE FORMULA 64-bit 限定 https://blog.4d.com/more-thread-safe-commands-at-your-disposal/ Begin SQL/End SQL 4D Remote 4D Remote WEB 4D Remote SOAP
  10. $name:=ds .firstname [0] .all() .Employee Employee ID 232 salary 0.5

    firstname A FIRST RECORD ALL RECORDS $name:=ds
  11. ;“Paris”) “shippingTo.City=:1” .query( .Invoices $ship:=ds Invoices ID 232 Shipping 232

    Invoicing 232 Contacts ID 232 City A shippingTo invoiceTo $ship:=ds QUERY
  12. ;“Paris”) “shippingTo.City=:1” .query( .Invoices $ship:=ds $other.orderBy(“invoiceTo.City”) Invoices ID 232 Shipping

    232 Invoicing 232 Contacts ID 232 City A shippingTo invoiceTo ;“Lyon”) “invoiceTo.City=:1” .query( $ship $invoice:= $invoice) .minus( $ship $other:=
  13. Invoices ID 232 title A created ! modified ! description

    T Inventory ID 232 title A created ! modified ! description T Header1 Header2 Header3 this.created this.title this.description 配列 [ {“created”:”2018-10-22T09:00:00.000Z”, “title”:””, “description”:”” }, {“created”:”2018-10-23T09:00:00.000Z”, “title”:””, “description”:”” }, {“created”:”2018-10-24T09:00:00.000Z”, “title”:””, “description”:”” } ] 外部
  14. https://blog.4d.com/new-server-administration-commands/ Get application info Get license info Get system info

    管理:⾯ ▸ ▸ ▸ Cache info WEB Get server info Get process activity GET ACTIVITY SNAPSHOT Get database measures Get locked records info
  15. https://blog.4d.com/new-server-administration-commands/ Refresh license SOAP REJECT NEW REQUESTS REJECT NEW REMOTE

    CONNECTIONS ABORT PROCESS BY ID DROP REMOTE USER SEND MESSAGE TO REMOTE USER ⾮同期 ৽ωοτϨΠϠʔ ৽ωοτϨΠϠʔ Cache info Get database measures Get locked records info Get process activity Get system info Get license info Get application info WEB Get server info GET ACTIVITY SNAPSHOT Get 4D file GET BACKUP INFORMATION LOG FILE TO JSON
  16. 管理者 https://blog.4d.com/new-server-administration-commands/ DROP REMOTE USER ৽ωοτϨΠϠʔ SEND MESSAGE TO REMOTE

    USER ID 特定 Get process activity + Sessions only sessions[] collection type remote, storedProcedure, web, rest text userName 名 text machineName 名 text systemUserName 名 text IPAddress text hostType windows, mac, browser text creationDateTime 接続⽇時 date state active, postponed, sleeping text ID 識別⼦ text
  17. 管理者 https://blog.4d.com/new-server-administration-commands/ ABORT PROCESS BY ID ⾮同期 ৽ωοτϨΠϠʔ ID 特定

    Get process activity + Processes only processes[] collection name ϓϩηε໊ text sessionID 識別⼦ text number 番号 longint ID 識別⼦ longint visible 表⽰中 boolean systemID 絶対識別⼦ text type longint state Process state longint cpuUsage 0...1 real cpuTime 秒数 real preemptive boolean
  18. 管理者 https://blog.4d.com/new-server-administration-commands/ REJECT NEW REMOTE CONNECTIONS Get application info Is

    compiled mode Structure file Data file Log file Cache info Get license info
  19. 構想 ▸ ▸ = git svn p4 diff match patch

    完全 .⾏ ▸ ▸ ▸ = 開発 新 可能性 ▸ ▸ =
  20. / 延期 監視 再起動 YES 17R5 (beta) ⾮ Web 


    YES 毎 表⽰設定 1時的
 
 1部 3 • 接続 ⾮ 参照 ⾮ 
 
 1部 : 背景 ⾮ 
 連結 
 YES YES N/A 更新⽇ NO MSC 検査 圧縮 復元 N/A 構想 完成予定 v18
  21. https://blog.4d.com/text-files-from-your-structure-file/ Export structure file ( folderPath {; options } )

    -9752 -10513 33 対象外 CSS 対象外 対象外 HTML : Export structure file (
  22. https://blog.4d.com/text-files-from-your-structure-file/ Export structure file ( Resources images library catalog.4DCatalog Sources

    Methods ϓϩδΣΫτϝιου DatabaseMethods σʔλϕʔεϝιου Triggers τϦΨ settings.4DSettings lists.json filters.json tips.json menus.json Forms {formName} form.json method.4dm ObjectMethods {objectName}.4dm images TableForms Table_{tableNumber} userPreferences.{userName} methodPreferences.json methodWindowPositions.json preferences.4DPreferences
  23. https://blog.4d.com/text-files-from-your-structure-file/ Export structure file ( Resources images library catalog.4DCatalog Sources

    Methods ϓϩδΣΫτϝιου DatabaseMethods σʔλϕʔεϝιου Triggers τϦΨ settings.4DSettings lists.json filters.json tips.json menus.json Forms {formName} form.json method.4dm ObjectMethods {objectName}.4dm images TableForms Table_{tableNumber} userPreferences.{userName} methodPreferences.json methodWindowPositions.json preferences.4DPreferences DerivedData CompiledCode
  24. https://blog.4d.com/text-files-from-your-structure-file/ ▸ ▸ Resources images library ϐΫνϟϥΠϒϥϦ ϦιʔεϑΥϧμʔ catalog.4DCatalog Sources

    Methods ϓϩδΣΫτϝιου DatabaseMethods σʔλϕʔεϝιου Triggers τϦΨ Forms {formName} form.json method.4dm ObjectMethods {objectName}.4dm images ελςΟοΫϐΫνϟ settings.4DSettings lists.json filters.json tips.json menus.json TableForms Table_{tableNumber} {formName} userPreferences.{userName} methodPreferences.json methodWindowPositions.json preferences.4DPreferences Export structure file ( only
  25. {}

  26. { "windowTitle": "Quick Registration", "width": 500, "height": 300, "pages": [

    null, { "objects": { "icon": { "type": "picture", "picture": "/RESOURCES/forms/images/info.png", "left": 20, "top": 20, "right": 84, "bottom": 84 } } } ] }
  27. { "windowTitle": "Quick Registration", "width": 500, "height": 300, "pages": [

    null, { "objects": { "icon": {…}, "label0": { "type": "text", "text": "Please enter your information", "fontFamily": "Helvetica", "fontSize": 18, "left": 94, "top": 40, "right": 480, "bottom": 60 } } } ] }
  28. { "windowTitle": "Quick Registration", "width": 500, "height": 300, "pages": [

    null, { "objects": { "icon": {…}, "label0": {…}, "label1":{ "type": "text", "text": "First name", "textAlign": "right", "left": 20, "top": 104, "right": 150, "bottom": 124 }, "firstName": { "type": "input", "enterable": true, "left": 160, "top": 104, "right": 480, "bottom": 124, "dataSource": "[Registration]firstName" } } } ] }
  29. { "windowTitle": "Quick Registration", "width": 500, "height": 300, "pages": [

    null, { "objects": { "icon": {…}, “label0": {…}, "label1": {…}, "firstName": {…}, "label2":{ "type": "text", "text": "Last name", "textAlign": "right", "left": 20, "top": 144, "right": 150, "bottom": 164 }, "lastName": { "type": "input", "enterable": true, "left": 160, "top": 144, "right": 480, "bottom": 164, "dataSource": "[Registration]lastName" } } } ] }
  30. { "windowTitle": "Quick Registration", "width": 500, "height": 300, "pages": [

    null, { "objects": { "icon": {…}, “label0": {…}, “label1”: {…}, "firstName": {…}, "label2": {…}, "lastName": {…}, "label3":{ "type": "text", "text": "Email Address", "textAlign": "right", "left": 20, "top": 184, "right": 150, "bottom": 204 }, "email": { "type": "input", "enterable": true, "left": 160, "top": 184, "right": 480, "bottom": 204, "dataSource": "[Registration]email" } } } ] }
  31. { "windowTitle": "Quick Registration", "width": 500, "height": 300, "pages": [

    null, { "objects": { "icon": {…}, "label0": {…}, "label1": {…}, "firstName": {…}, "label2": {…}, "lastName": {…}, "label3": {…}, "email": {…}, "cancelBtn": { "type": "button", "text": "Cancel", "action": "cancel", "left": 290, "top": 250, "right": 380, "bottom": 280 }, "okBtn": { "type": "button", "text": "OK", "action": "Accept", "left": 390, "top": 250, "right": 480, "bottom": 280 } } }
  32. { "windowTitle": "Quick Registration", "width": 500, "height": 300, "pages": [

    null, { "objects": { "icon": {…}, "label0": {…}, "label1": {…}, "firstName": {…}, "label2": {…}, "lastName": {…}, "label3": {…}, "email": {…}, "cancelBtn": { "type": "button", "text": "Cancel", "action": "cancel", "left": 290, "top": 250, "right": 380, "bottom": 280 }, "okBtn": { "type": "button", "text": "OK", "action": "Accept", "left": 390, "top": 250, "right": 480, "bottom": 280 } } }
  33. 重要 整合性 Generate digest 安全 設定 A+ Transport Layer Security

    1.2 Perfect Forward Security HTTP Strict Transport Security RC4 deprecated
  34. 重要 整合性 Generate digest 安全 設定 A+ 企業向 機能 -

    安全 OpenSSL 1.1.1 新 Generate/Verify password hash
  35. 6 ▸ 4D Write Pro▸ 背景:像 上⼿ WP SET ATTRIBUTES(Form.wpDoc;wk

    background image;[Flyer]Cover) WP SET ATTRIBUTES(Form.wpDoc;wk background clip;wk paper box;\ wk background origin;wk paper box;\ wk background height;"100%";\ wk background width;"100%") .docx 毎 背景⾊ :像
  36. 6 ▸ 4D Write Pro▸ 背景:像 上⼿ $obPict:=WP Add picture(Form.wpDoc;[Flyer]Cover)

    WP SET ATTRIBUTES($obPict;wk anchor origin;wk paper box;\ wk anchor page;1) :像 回避
  37. https://blog.4d.com/work-with-xlsx-documents-using-4d-view-pro/ 形式 読 書 VP IMPORT DOCUMENT("area";$path;$params) VP EXPORT DOCUMENT("area";$path;$params)

    formula 完了時 実⾏ object password text format .4vp .xlsx .pdf text valuesOnly boolean 完了時 型 引数 渡 $1 areaName $1 名 text $2 filePath $2 text $3 params $3 参照 object $4 status 処理 成否等 object 型 引数 任意 追加 良 success 成否 boolean errorCode longint errorMessage text
  38. VP 標準 $js:="spread.getActiveSheet().setValue(2,4,10);" $result:=WA Evaluate javascript(*;"area";$js) VP SET NUM VALUE(VP

    Cell("area";2;4);10) SpreadJS API JavaScript Web var spread = GC.Spread.Sheets.findControl(document.getElementById('ss'));
  39. ⾏ 列 area 名 text ranges[] collection ⾏列 複合 sheet

    番号 longint column 列番号 longint columnCount 列数 longint row ⾏番号 longint rowCount ⾏数 longint JSON C/S ORDA JSON
  40. https://blog.4d.com/code-a-range-in-4d-view-pro/ VP Cell VP Cells VP Column VP Row VP

    All VP Combine ranges (3;5;2) 3 D6 (3;5;2;3;2) 3 D6 E8 (3;5;2) 3 列 D 列 E (5;3;2) 3 ⾏ 6 ⾏ 8 ( ( 0 1 2 4 5 6 A B C D E F 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9
  41. https://blog.4d.com/code-a-range-in-4d-view-pro/ VP Cell VP Cells VP Column VP Row VP

    All VP Combine ranges (3;5;2) 3 D6 (3;5;2;3;2) 3 D6 E8 (3;2;2) 3 列 D 列 E (5;3;2) 3 ⾏ 6 ⾏ 8 ( ( 0 1 2 4 5 6 A B C D E F 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9
  42. https://blog.4d.com/code-a-range-in-4d-view-pro/ VP Cell VP Cells VP Column VP Row VP

    All VP Combine ranges (3;5;2) 3 D6 (3;5;2;3;2) 3 D6 E8 (3;2;2) 3 列 D 列 E (5;3;2) 3 ⾏ 6 ⾏ 8 ( ( 0 1 2 3 4 5 A B C D E F 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 area 名 text ranges[] collection sheet 番号 longint column 列番号 longint row ⾏番号 longint vk current sheet
  43. https://blog.4d.com/code-a-range-in-4d-view-pro/ VP Cell VP Cells VP Column VP Row VP

    All VP Combine ranges (3;5;2) 3 D6 (3;5;2;3;2) 3 D6 E8 (3;2;2) 3 列 D 列 E (5;3;2) 3 ⾏ 6 ⾏ 8 ( ( 0 1 2 3 4 5 A B C D E F 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 area 名 text ranges[] collection sheet 番号 longint column 列番号 longint columnCount 列数 longint row ⾏番号 longint rowCount ⾏数 longint vk current sheet
  44. https://blog.4d.com/code-a-range-in-4d-view-pro/ VP Cell VP Cells VP Column VP Row VP

    All VP Combine ranges (3;5;2) 3 D6 (3;5;2;3;2) 3 D6 E8 (3;2;2) 3 列 D 列 E (5;3;2) 3 ⾏ 6 ⾏ 8 ( ( 0 1 2 3 4 5 A B C D E F 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 area 名 text ranges[] collection sheet 番号 longint column 列番号 longint columnCount 列数 longint vk current sheet
  45. https://blog.4d.com/code-a-range-in-4d-view-pro/ VP Cell VP Cells VP Column VP Row VP

    All VP Combine ranges (3;5;2) 3 D6 (3;5;2;3;2) 3 D6 E8 (3;2;2) 3 列 D 列 E (5;3;2) 3 ⾏ 6 ⾏ 8 ( ( 0 1 2 3 4 5 A B C D E F 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 area 名 text ranges[] collection sheet 番号 longint row ⾏番号 longint rowCount ⾏数 longint vk current sheet
  46. https://blog.4d.com/code-a-range-in-4d-view-pro/ VP Cell VP Cells VP Column VP Row VP

    All VP Combine ranges (3;5;2) 3 D6 (3;5;2;3;2) 3 D6 E8 (3;2;2) 3 列 D 列 E (5;3;2) 3 ⾏ 6 ⾏ 8 (2) 3( ( vk current sheet vk workbook 全体 area 名 text ranges[] collection sheet 番号 longint
  47. https://blog.4d.com/code-a-range-in-4d-view-pro/ VP Cell VP Cells VP Column VP Row VP

    All VP Combine ranges (3;5;2) 3 D6 (3;5;2;3;2) 3 D6 E8 (3;2;2) 3 列 D 列 E (5;3;2) 3 ⾏ 6 ⾏ 8 (2) 3( 連続 集合 area 名 text ranges[] collection sheet 番号 longint column 列番号 longint columnCount 列数 longint row ⾏番号 longint rowCount ⾏数 longint sheet 番号 longint column 列番号 longint columnCount 列数 longint row ⾏番号 longint rowCount ⾏数 longint
  48. 値 https://blog.4d.com/get-and-set-cell-content-in-4d-view-pro/ VP SET BOOLEAN VALUE (rangeObj;boolValue) VP SET DATE

    TIME VALUE (rangeObj;dateValue;timeValue{;format}) VP SET DATE VALUE (rangeObj;dateValue{;format}) VP SET TIME VALUE (rangeObj;timeValue{;format}) VP SET NUM VALUE (rangeObj;numericValue{;format}) VP SET TEXT VALUE (rangeObj;textValue{;format}) SET FIELD TITLES * 3 SpreadJS SET ALLOWED METHODS 3   C_BOOLEAN C_DATE C_TIME C_DATE C_TIME C_REAL/C_LONGINT C_TEXT value 値 boolean, date, real, longint, text time 秒数 real format text VP SET VALUE (rangeObj;value) value:=VP Get value (rangeObj) VP SET FORMULA VP SET FIELD VP Get formula
  49. 値 https://blog.4d.com/get-and-set-cell-content-in-4d-view-pro/ VP SET VALUE(VP Cell("area";0;1);New object("value";1.23)) VP SET VALUE(VP

    Cell("area";1;1);New object("value";4.56)) VP SET VALUE(VP Cell("area";2;1);New object("value";!2019-04-01!)) VP SET VALUE(VP Cell("area";3;1);New object("time";?11:30:00?)) 暗⽰的 ⾮同期処理 On Data Change VP FLUSH COMMANDS("area") 途中 終 VP SET VALUE(VP Cell("area";3;0);New object("value";"Date:")) VP SET VALUE(VP Cell("area";4;0);New object("value";"Time:")) 暗⽰的 値 返 VP SET FORMULA(VP Cell("area";4;1);"=SUM($A1:$A2)") $formula:=VP Get formula(VP Cell("area";4;1)) 明⽰的
  50. https://blog.4d.com/name-your-ranges-and-formulas-in-4d-view-pro/ 命名 命名 PV SET CELL NAME PV Get cell

    name PV GET CELL NAME LIST 4D View VP ADD RANGE NAME VP ADD FORMULA NAME VP Get formula by name VP Name VP REMOVE NAME VP Get names 4D View Pro 変換 名前 継承 新 4D View / 2 互換 ⼊⼒ 柔軟
  51. https://blog.4d.com/name-your-ranges-and-formulas-in-4d-view-pro/ VP ADD RANGE NAME VP ADD FORMULA NAME VP

    Get formula by name VP Name VP REMOVE NAME VP Get names 命名 命名 range object name 名 text options object scope longint comment text vk current sheet vk workbook 全体 0 1 2 3 4 5 A B C D E F 0 1 1 2 Pears 657 2 3 Oranges 951 3 4 Grapes 365 4 5 5 6 6 7 7 8 8 9 VP ADD RANGE NAME(VP Cell("area";2;4);"TotalAmount")
  52. sheet 番号 longint column 列番号 longint columnCount 列数 longint row

    ⾏番号 longint rowCount ⾏数 longint https://blog.4d.com/name-your-ranges-and-formulas-in-4d-view-pro/ VP ADD RANGE NAME VP ADD FORMULA NAME VP Get formula by name VP Name VP REMOVE NAME VP Get names 命名 命名 vk current sheet vk workbook 全体 area 名 text name 名 text scope longint $range:=VP Name("area";"TotalAmount") VP ADD RANGE NAME(VP Cell("area";2;4);"TotalAmount")
  53. https://blog.4d.com/name-your-ranges-and-formulas-in-4d-view-pro/ VP ADD RANGE NAME VP ADD FORMULA NAME VP

    Get formula by name VP Name VP REMOVE NAME VP Get names 命名 命名 area 名 text formula text name 名 text options object scope longint comment text vk current sheet vk workbook 全体 0 1 2 3 4 5 A B C D E F 0 1 1 2 Pears 657 2 3 Oranges 951 3 4 Grapes 365 4 5 =Total 5 6 6 7 7 8 8 9 VP ADD FORMULA NAME("area";"SUM($C$2:$C$4)";"Total")
  54. https://blog.4d.com/name-your-ranges-and-formulas-in-4d-view-pro/ VP ADD RANGE NAME VP ADD FORMULA NAME VP

    Get formula by name VP Name VP REMOVE NAME VP Get names 命名 命名 vk current sheet vk workbook 全体 area 名 text name 名 text scope longint formula text comment text $formula:=VP Get formula by name("area";"Total") VP ADD FORMULA NAME("area";"SUM($C$2:$C$4)";"Total")
  55. https://blog.4d.com/name-your-ranges-and-formulas-in-4d-view-pro/ VP ADD RANGE NAME VP ADD FORMULA NAME VP

    Get formula by name VP Name VP REMOVE NAME VP Get names 命名 命名 vk current sheet vk workbook 全体 area 名 text name 名 text scope longint VP REMOVE NAME("area";"AmountTotal") 0 1 2 3 4 5 A B C D E F 0 1 1 2 Pears 657 2 3 Oranges 951 3 4 Grapes 365 4 5 5 6 6 7 7 8 8 9
  56. https://blog.4d.com/name-your-ranges-and-formulas-in-4d-view-pro/ VP ADD RANGE NAME VP ADD FORMULA NAME VP

    Get formula by name VP Name VP REMOVE NAME VP Get names 命名 命名 vk current sheet vk workbook 全体 area 名 text scope longint name 名 text collection formula text comment text
  57. https://blog.4d.com/use-methods-and-database-fields-in-4d-view-pro/ Get_employee_info C_TEXT ($1) C_LONGINT ($2) C_OBJECT ($3) C_BOOLEAN ($4)

    C_PICTURE ($0) GET_EMPLOYEE_INFO(aString, aNumber, aDate, aBool) JavaScript to 4D data:image/png;base64, 4D to JavaScript 戻 値 value ⽇付 date time 秒数 real 型 PNG URI
  58. https://blog.4d.com/use-methods-and-database-fields-in-4d-view-pro/ Employee ID 232 salary 0.5 firstname A [Employee]salary EMPLOYEE_SALARY()

    SET TABLE TITLES SET FIELD TITLES "Employee" "Salary" Get_employee_info(...) SET ALLOWED METHODS GET_EMPLOYEE_INFO(...) JavaScript 3 ʢUNSUPPORTED_4DMETHOD_NAMEʣ SET FIELD TITLES (...;*)
  59. SpreadJS 17.x R2 R3 R4 R5 12.0.9 11.2.5 11.1.3 https://docs.grapecity.com/help/spread-js/sheets/index.html#cultureoption.html

    Components 4D ViewPro.4dbase Resources 4dviewpro.html SpreadJS scripts gc.spread.sheets.resources.ja.12.0.9.min.js <script type="application/javascript" src="./SpreadJS/scripts/gc.spread.sheets.resources.ja.12.0.9.min.js"></script> $js:="GC.Spread.Common.CultureManager.culture(\"ja-jp\");" $result:=WA Evaluate javascript(*;"area";$js)
  60. 4D View Pro Microsoft Excel 形式 対応 ⽂書 対話 数式

    数式 強⼒ 備 =善 UI 数式 4D View 変換 or
  61. 4D View Pro 64-bit 限定 ౷߹͞Εͨදܭࢉιϑτ 4D View Expansion View

    ➡ View Pro ม׵ 32/64-bit 不要 4D View 旧 : 32-bit 限定 17R5以降 32-bit 4D View Pro 本体 統合: 64-bit OK! 互換 ⾮互換
  62. 4PV BLOB or ʣ Object $objView:=Load 4D View document($blob) 不要

    DOCUMENT TO BLOB("doc.4PV";$blob) $objViewPro:=VP Convert from 4D View ($blob) 変換 変換 Object 必要 VP IMPORT FROM OBJECT ("area";$objViewPro) View Pro 対 発⽣
  63. ԃŒ ¿ðèò 公開情報Ôbt ÔûĒó Ôdn 基本情報Ôbt Deploy app Build &

    test with simulator Set deployment info Build forms Define fields to publish Fill product info 簡単 Öÿđ³?ÓÒ
  64. iOS 4D 作成 開発 経験 不要 制限付 - - 直感的

    操作 更新 安全性 場所 脱却
  65. iOS 4D 作成 開発 経験 不要 制限付 - - 直感的

    操作 更新 安全性 場所 脱却 1緒
  66. Apple Developer Program https://developer.apple.com/jp/programs/ Apple Developer ID Apple Developer Program

    Apple Developer Enterprise Program Xcode Developer Tools, Beta Releases, Developer Forums, Bug Reporter, Test on Device Beta iOS Releases, Advanced App Capabilities Siri, Apple Pay, iCloud, etc. Ad Hoc App Distribution 100 1 App Store Distribution 審査必要 unlimited unlimited App Analytics TestFlight 25 users 10,000 users 期限=90⽇ Custom B2B App Store Distribution In House App Distribution unlimited 期限=1年 13 . 18 . D-U-N-S® D-U-N-S® free 11,800/year 37,800/year
  67. Apple Developer Program https://developer.apple.com/jp/programs/ Apple Developer ID Xcode Developer Tools,

    Beta Releases, Developer Forums, Bug Reporter, Test on Device Beta iOS Releases, Advanced App Capabilities Siri, Apple Pay, iCloud, etc. Ad Hoc App Distribution 100 1 App Store Distribution 審査必要 unlimited unlimited App Analytics TestFlight 25 users 10,000 users 期限=90⽇ Custom B2B App Store Distribution In House App Distribution unlimited 期限=1年 13 . free 開発 実機 Apple Developer Program 必要
  68. Apple Developer Program https://developer.apple.com/jp/programs/ Apple Developer Program Xcode Developer Tools,

    Beta Releases, Developer Forums, Bug Reporter, Test on Device Beta iOS Releases, Advanced App Capabilities Siri, Apple Pay, iCloud, etc. Ad Hoc App Distribution 100 1 App Store Distribution 審査必要 unlimited unlimited App Analytics TestFlight 25 users 10,000 users 期限=90⽇ Custom B2B App Store Distribution In House App Distribution unlimited 期限=1年 18 . D-U-N-S® 11,800/year App Store 基盤 Apple Developer Program 必要
  69. Apple Developer Program https://developer.apple.com/jp/programs/ Apple Developer Enterprise Program Xcode Developer

    Tools, Beta Releases, Developer Forums, Bug Reporter, Test on Device Beta iOS Releases, Advanced App Capabilities Siri, Apple Pay, iCloud, etc. Ad Hoc App Distribution 100 1 App Store Distribution 審査必要 unlimited unlimited App Analytics TestFlight 25 users 10,000 users 期限=90⽇ Custom B2B App Store Distribution In House App Distribution unlimited 期限=1年 D-U-N-S® 37,800/year Apple Developer Enterprise Program App Store 基盤 依存
  70. 未加⼊ Apple ID Xcode > Preferences > Accounts > Add

    > Apple ID Apple Developer Program
  71. 未加⼊ Apple ID Xcode > Preferences > Accounts > Manage

    Certificates > Add > iOS Development Apple Developer Program
  72. 未加⼊ Apple ID Xcode > Preferences > Accounts > Manage

    Certificates > Add > iOS Development Apple Developer Program
  73. 4D Summit 2020 Save the date! Paris 17 - 19

    March Chicago 30 March - 1 April