Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
New in v19 R Releases Part 4
Search
4D Japan
April 10, 2023
Technology
80
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
New in v19 R Releases Part 4
4D Japan
April 10, 2023
More Decks by 4D Japan
See All by 4D Japan
4D 21 R2 R3
miyako
0
20
4D 21 LTS
miyako
0
17
4D 21
miyako
0
39
4D 20 R10
miyako
0
44
4D 20 R9
miyako
0
35
4D 20 R7 & R8
miyako
0
84
Unicodeの話 (2007)
miyako
0
45
Unicodeの話 (2008)
miyako
0
51
Google Apps Integration (2012)
miyako
0
53
Other Decks in Technology
See All in Technology
ラジオの科学
frievea
0
280
Forza Horizon 6 のテレメトリ機能で 自動運転に使えそうな学習データを集める話
henjin0
0
150
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
780
モバイルアプリ開発概論2026
recruitengineers
PRO
5
510
ホームラボ紹介
y_sera15
0
130
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
460
変化の早いClaude Codeを 書籍に落とし込む
oikon48
7
1.3k
20分でわかるセキュアAPI
nwiizo
1
200
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
330
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
680
ブラウザ研修 2026
recruitengineers
PRO
5
800
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
660
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
450
Designing Powerful Visuals for Engaging Learning
tmiket
1
480
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
119
120k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
A designer walks into a library…
pauljervisheath
211
24k
Done Done
chrislema
186
16k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
480
Facilitating Awesome Meetings
lara
57
7.1k
Transcript
W E B I N A R W E E
K 4 4D v19 R Release
ORDA
ORDAͰ BLOBΛ༻͢Δ
ORDA - ORDAͰBlobΛ༻͢Δ $IMAPTransporter:=4D.IMAPTransporter.new($parameters) $blob:=$IMAPTransporter.getMIMEAsBlob() $archive:=ds.EmailArchives.new() $archive.Date:=Timestamp $archive.save() $id:=$archive.ID QUERY([EmailArchives];
[EmailArchives]ID=$id) [EmailArchives]Blob:=$blob SAVE RECORD([EmailArchives]) //BlobORDAܦ༝ͰอଘͰ͖ͳ͔ͬͨ !
$IMAPTransporter:=4D.IMAPTransporter.new($parameters) $blob:=$IMAPTransporter.getMIMEAsBlob() $archive:=ds.EmailArchives.new() $archive.Date:=Timestamp $archive.Blob:=$blob //ORDAܦ༝ͰBlobΛอଘͰ͖Δʂ $archive.save() ORDA - ORDAͰBlobΛ༻͢Δ
"#
ORDA - ORDAͰBlobΛ༻͢Δ
ORDA - ORDAͰBlobΛ༻͢Δ
RESTϦΫΤετͷ ίϯςΩετΛཧ
ORDA - RESTϦΫΤετͷίϯςΩετΛཧ
ORDA - RESTϦΫΤετͷίϯςΩετΛཧ $ ໊લϑΟʔϧυͱ ෦ॺϑΟʔϧυ͔͠ ༻͍ͯ͠ͳ͍ ͜ͱΛʮֶशʯ͢Δ
Form.context1:=New object("context"; "simpleList") Form.context2:=New object("context"; "allList") //"simpleList"ͷίϯςΩετΛࢦఆͯ͠ΤϯςΟςΟηϨΫγϣϯΛऔಘ Form.dataSource:=ds.People.all(Form.context1) ORDA -
RESTϦΫΤετͷίϯςΩετΛཧ ίϯςΩετʹϥϕϧΛ͚ͭͯ ࠶ར༻͕Մೳ $
ORDA - RESTϦΫΤετͷίϯςΩετΛཧ ίϯςΩετΛ໌ࣔతʹखಈͰࢦఆՄೳʹʂ setRemoteContextInfo // ϦϞʔτσʔλετΞΛ։࢝ Form.myDS:=Open datastore(New object("hostname";
"www.myserver.com"); "myDS") // ίϯςΩετΛखಈͰઃఆ Form.context1:=New object("context"; "simpleList") Form.myDS.setRemoteContextInfo("simpleList"; Form.myDS.People; "fullName") // ΤϯςΟςΟηϨΫγϣϯΛऔಘ Form.dataSource:=Form.myDS.People.all(Form.context1) simpleListίϯςΩετͰ PeopleσʔλΫϥεͷ fullNameଐੑͷΈ༻ɺͱࢦఆ
var $ds : 4D.DataStoreImplementation $ds:=Open datastore(New object("hostname"; "www.myserver.com"); "myDS") $ds.setRemoteContextInfo("recentData";
$ds.Sales;\ "Timestamp, amount,total, salesPerson.name"; "main"; 30) ORDA - RESTϦΫΤετͷίϯςΩετΛཧ ίϯςΩετΛ໌ࣔతʹखಈͰࢦఆՄೳʹʂ setRemoteContextInfo recentDataίϯςΩετͰ SalesσʔλΫϥε͔Β ͜ΕΒͷଐੑΛ30݅ͷΈ༻ɺͱࢦఆ
ORDA - RESTϦΫΤετͷίϯςΩετΛཧ σʔλ͕ͲͷΑ͏ʹඞཁʹͳΔ͔ ͍ͬͯΔͷσϕϩούʔࣗʂ →ྲྀΕΛཧͯ͠Λམͱ͞ͳ͍
ORDA - RESTϦΫΤετͷίϯςΩετΛཧ //ϦΫΤετϩάΛ༗ޮԽ ds.startRequestLog($file)
ORDA - RESTϦΫΤετͷίϯςΩετΛཧ //ϦΫΤετϩάΛ༗ޮԽ ds.startRequestLog($file) ࠷ޙͷ ] ΛखಈͰ ͚ͭΔඞཁ͕ ͋Δʹҙʂ
ܭࢉଐੑ ʙܭࢉ͢Δ͕ଐੑͰ͋Δʙ
ܭࢉͰऔಘ͢Δ͜ͱՄೳ͕ͩɺ ్ʹ͍উख͕ѱ͘ͳͬͯ͠·͏ ORDA - ܭࢉଐੑʹ͍ͭͯ ੜ ݩ߸ ྐྵ
ORDA - ܭࢉଐੑʹ͍ͭͯ
ORDA - ܭࢉଐੑʹ͍ͭͯ
ORDA - ܭࢉଐੑʹ͍ͭͯ
ORDA - ܭࢉଐੑʹ͍ͭͯ ࣜΛׂΓͯͨΧϥϜ ϔομʔΛΫϦοΫͯ͠ ࣗಈιʔτ͕ߦΘΕͳ͘ͳΔʂ This.lastname+" "+This.firstname
ORDA - ܭࢉଐੑʹ͍ͭͯ ܭࢉଐੑ Λ͑͜ͷΑ͏ͳ δϨϯϚΛղܾͰ͖Δʂ
ORDA - ܭࢉଐੑʹ͍ͭͯ • طଘͷଐੑ(ϑΟʔϧυ)͔Βܭࢉͯ͠ಘΒΕΔ৽͍͠ • ଞͷଐੑಉ༷ʹ༻͢Δ͜ͱ͕Ͱ͖Δ • get /
set / query / orderBy ͷ4छྨ͕͋Δ ܭࢉଐੑͱ
ORDA - ܭࢉଐੑʹ͍ͭͯ Class extends Entity Function get fullName()->$result :
Text $result:=This.lastname+" "+This.firstname get • Λऔಘ͢ΔͨΊͷܭࢉଐੑ • ܭࢉଐੑΛ༻࢝͠ΊΔͨΊͷτϦΨʔͰ͋Δ ݴ͍͑Δͱɺܭࢉଐੑʹ͓͍ͯgetͷ༻ඞਢ
ORDA - ܭࢉଐੑʹ͍ͭͯ set • ॻ͖ࠐΈΛߦ͏ͨΊͷܭࢉଐੑ • ఆٛ͠ͳ͔ͬͨ߹ܭࢉଐੑϦʔυΦϯϦʔͱͳΔ • ϑΟʔϧυʹॻ͖ࠐΈΛߦ͏ͷͰɺదͳཧ͕ඞཁ
Class extends Entity //get ඞਢ Function set fullName($value : Text)
ORDA - ܭࢉଐੑʹ͍ͭͯ query / orderBy • ܭࢉଐੑʹର͢ΔΫΤϦ/ιʔτΤϯςΟςΟ͝ͱʹ ຖճܭࢉ͕ߦΘΕΔ •
ܭࢉଐੑ͍ΘشൃੑͷଐੑɺΠϯσοΫεͳ͍ • $event ΦϒδΣΫτΛड͚औͬͯཧ͢Δ Function query age($event : Object)->$result : Object Function orderBy age($event : Object)
ORDA - ܭࢉଐੑʹ͍ͭͯ • ܭࢉଐੑORDAಛ༗ͷͷͰͳ͘ɺ ϢʔβʔΫϥεͰ༻Ͱ͖Δʂ • ϑΟʔϧυΛແବʹ૿͢͜ͱͳ͘ σʔλͷใྔΛ૿͢͜ͱ͕Ͱ͖Δ •
ੜ͔Βݩ߸/ྐྵΛܭࢉɺৗʹਖ਼͍͠ྸΛܭࢉɺ ࠓ݄ͷച্/ۙ90ͷച্ͳͲܭࢉͰ༰қʹऔಘՄೳ
ORDA - ܭࢉଐੑͱΤΠϦΞε Alias bossName myboss.fullName //্࢘ͷ໊લΛऔಘ Alias superBoss myboss.myboss
//্࢘ͷ্࢘ʹର͢ΔΤϯςΟςΟΛऔಘ
NULLΛ͏ ʙۭͰ0Ͱͳ͍ʙ
ORDA - NullΛ͏ͱ͍͏͜ͱ
ORDA - NullΛ͏ͱ͍͏͜ͱ
ORDA - NullΛ͏ͱ͍͏͜ͱ 100 Average: 100
ORDA - NullΛ͏ͱ͍͏͜ͱ 100 0 0 0 0 Average: 20
σʔλͷܽམΛද͢ Null
Is field value Null ORDA - NullΛ͏ͱ͍͏͜ͱ Null Null
ORDA - NullΛ͏ͱ͍͏͜ͱ Null # ORDA Null # "" Null
False
ORDAͱ4D Write Pro ʙՄೳੑແݶେʙ
ORDA - ORDAͱ4D Write Pro ΧϨϯτϨίʔυ ΧϨϯτηϨΫγϣϯ
ORDA - ORDAͱ4D Write Pro FormίϚϯυ ThisίϚϯυ
This.data ORDA - ORDAͱ4D Write Pro WP SET DATA CONTEXT
Write ProυΩϡϝϯτ ͷࠩ͠ࠐΈҹ͕Մೳʹʂ
ORDA - ORDAͱ4D Write Pro • දػೳΛ༻͢ΕɺΤϯςΟςΟηϨΫγϣϯ ίϨΫγϣϯΛදͰද͢͜ͱՄೳ • 4Dσʔλϕʔεͱ͍݁ͯ͠ΔͨΊɺҹ/อଘ/ૹ৴ͳͲ
ࣗࡏʹѻ͏͜ͱ͕Ͱ͖Δ • ORDAͷ͍͢͞ͱWrite ProͷΫΦϦςΟͷ Έ߹Θͤɺ͍ํͷՄೳੑແݶେʂ
Thank you!