1 / 45

Urnik

Urnik. Sodobno orodje za sodobne potrebe. Win64. Novi računalniki imajo nameščen 64-bitni OS Poganja 32-bitne programe, a do kdaj? Dostop do > 4 GB pomnilnika Integracija v 64-bitni OS Shell extensions. Win64. Integer, Longint, Cardinal = 4 bajti (32 bitov) Int64 = 8 bajtov (64 bitov)

wanda
Download Presentation

Urnik

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Urnik

  2. Sodobnoorodjezasodobnepotrebe

  3. Win64 • Novi računalniki imajo nameščen 64-bitni OS • Poganja 32-bitne programe, a do kdaj? • Dostop do > 4 GB pomnilnika • Integracija v 64-bitni OS • Shell extensions

  4. Win64 • Integer, Longint, Cardinal = 4 bajti (32 bitov) • Int64 = 8 bajtov (64 bitov) • NativeInt, NativeUInt = 4/8 bajtov (32/64 bitov) • System::NativeInt, ssize_t • System::NativeUInt, size_t • SizeOf(pointer) = SizeOf(NativeInt)

  5. Win64 • Extended => Double • TExtended80Rec • Ni mešanja pascalske kode in zbirnika • Integriran razhroščevalnik • Možnost: razvoj na Win32, oddaljeno razhroščevanje na Win64

  6. Win64 • Problemi • Pointer(i), integer(p) • DLL • ActiveX • Asm -> pascal • http://docwiki.embarcadero.com/RADStudio/XE5/en/Converting_32-bit_Delphi_Applications_to_64-bit_Windows • http://blog.marcocantu.com/blog/getting_ready_delphi_64.html

  7. Unicode • ANSI (en znak = en bajt, 256 znakov) => Unicode (en znak = 4 bajti, max 1,114.112 »znakov«) • String = UnicodeString, Char = WideChar • SizeOf(Char) = 2 • System.Character • Izbirnozanamizje, obveznozamobilnenaprave • http://www.embarcadero.com/rad-in-action/migration-upgrade-center

  8. Unicode • Sestavljena oblika • »ö« = U+00F6 • Komponentna oblika • »ö«= U+006F, U+0308 • Komponente (diakritična znamenja) lahko nizamo

  9. Unicode • Kodiranja • UTF-32 (LE, BE) • UTF-16 (LE, BE) • UTF-8 • BOM • UTF-32LE$FF $FE $00 $00 • UTF-32BE$00 $00 $FE $FF • UTF-16LE$FE $FF • UTF-16BE$FF $FE • UTF-8$EF $BB $BF

  10. Unicode • String[] • AnsiString • Kodna stran! • RawByteString = AnsiString($FFFF) • UTF8String = AnsiString(65001) • UnicodeString • WideString • UCS4String

  11. Unicode • TEncoding • .ANSI, .ASCII, .BigEndianUnicode, .Unicode, .UTF7, .UTF8 ime16be:= TEncoding.BigEndianUnicode.GetString( TEncoding.Unicode.GetBytes(FIme));

  12. Unicode • TField.AsString = ANSI • TField.AsWideString = Unicode

  13. Slogi VCL • Options, Application, Appearance • TStyleManager • Lastni slogi • Tools, Bitmap Style Designer • Omejitve operacijskega sistema • Firemonkey podpira polno prilagodljivost

  14. Object Pascal • for .. in • inline • Gnezdeni razredi • Razredne konstante, lastnosti, tipi, spremenljivke • »Pametni« zapisi (record)

  15. Object Pascal • Pomočniki za razrede, zapise, vgrajene tipe • Operatorji za zapise • Generični tipi • Anonimne metode • Hierarhična imena enot

  16. C++ • C++0x • delno, 32-bit • C++11 • 64-bit

  17. Visual LiveBindings

  18. Visual LiveBindings • Določanje »toka« podatkov v vizualnem orodju • Enosmerno ali dvosmerno • Samodejno izvajanje • Povezovanje podatkovnih virov z uporabniškim vmesnikom • Prototipiranje podatkov • Ločevanje uporabniškega vmesnika od kode (MVVM)

  19. FireDAC • Komponente za delo z bazami v XE5 • FireDAC • dbExpress • dbGo • IBX • BDE

  20. FireDAC • FireDAC = AnyDAC (DASoft) • Univerzalne komponente za dostop do podatkov • Delphi in C++Builder

  21. FireDAC • Organizacija komponent podobna BDE • Neposredno urejanje podatkov (Live Data Window) • Paketno urejanje (Array DML) • Samodejno generiranje UPDATE stavkov • Poenoten API • SQL abstrakcija • Transakcije • Gonilniki se prevedejo v aplikacijo • TClientDataSet ni več potreben

  22. FireDAC - gonilniki • Advantage Database • Firebird • IBM DB2 Server • InterBase • MySQL • Microsoft Access • Microsoft SQL Server • Oracle Database • PostgreSQL • SQLite • Sybase SQL Anywhere • DataSnap

  23. Razvij enkrat, poganjaj povsod

  24. FireMonkey Jezik Ogrodje 3D API Platforma Namizje Mobilno

  25. FireMonkey • Forme in komponente, tako kot VCL • Slogi vgrajeni od vsega začetka • Oponašanje domorodnih aplikacij – slogi + domorodni gradniki • Animacije in učinki • 3D forme • Data-aware => Visual Live Bindings

  26. Večplatformni razvoj • Prevajalniki – C++ • bcc32, bcc64, bccosx, bcciosarm, (bccaarm) • Prevajalniki – Delphi • dcc32, dcc64, dccosx, dcciosarm, dccios32, dccaarm

  27. Mobilni pascal • String (Ansi, Wide, Unicode ...) • http://andy.jgknet.de/blog/2013/10/the-return-of-the-byte-strings/ • Prvi element ima indeks 0 • $ZEROBASEDSTRINGS • ARC (automatic reference counting) • [weak] • Pointer • Operatorjizarazrede

  28. Koristniprogrami • TightVNC, www.tightvnc.com • TeamViewer, www.teamviewer.com • Synergy, synergy-foss.com • Reflector, www.airsquirrels.com/reflector/ • VMLite VNC Server, www.vmlite.com • Android Screen View, delphi.org/2013/09/android-screen-view/

  29. Senzorji • Lokacija (TLocationSensor) • Premikanje (TMotionSensor) • Orientacija (TOrientationSensor) • TSensorManager • System.Sensors

  30. Kretnje • TGestureManager • .Touch • .Gestures • .InteractiveGestures • http://www.cromis.net/blog/2014/02/true-multi-touch-support-for-delphi-xe5/

  31. Standardne akcije • Tipkovnica • Kamera • Deljenje podatkov • Telefoniranje • Premikanje po vmesniku • LiveBindings

  32. Dialogi • ShowMessage, MessageDlg, QueryInput • ShowModal(procedure (res: TModalResult)begin …end);

  33. Prilagodljivo oblikovanje • Align, Anchors, Margins • TFlowLayout, TGridLayout, Tlayout • Form family • FormResize • CreateForm v .dpr • Omejitve orientacije naprave

  34. Baze • dbExpress • Professional • [lokalno] InterBase, MySQL, SQLite • Enterprise, Ultimate, Architect • InterBase, Firebird, Oracle, MySQL, SQL Anywhere, Informix, SQLite • DataSnap, ClientDataSet

  35. DataSnap • MIDAS • Odjemalec/strežnik • Večnivojske arhitekture • dbExpress • REST

  36. DataSnap • Strežnik: Win32/64 • Odjemalec [RAD Studio]: Win32/64, OS X/32, iOS … • Odjemalec [proxy]: Android, BlackBerry, Windows Phone, iOS … • Odjemalec [JS]: brskalniki • Odjemalec [REST]: karkoli

  37. DataSnapzamobilnenaprave • Večplatformna orodja • Specializirana orodja • JS = ASM ✔ RAD Studio ✔ proxy lib, REST ✔ JS proxy, REST

  38. REST • REpresentational State Transfer • Nov REST odjemalec • REST razhroščevalnik

  39. REST • Asinhrono izvajanje • Proxy • HTTPS • OAuth 1 in 2 • JSON

  40. Vprašanja

More Related