Skip to content

Instantly share code, notes, and snippets.

View stephenquan's full-sized avatar

Stephen Quan stephenquan

View GitHub Profile
@stephenquan
stephenquan / AppStudio_20190605_PromiseChaining.qml
Last active July 28, 2019 22:40
AppStudio_20190605_PromiseChaining.qml
import QtQuick 2.12
import QtQuick.Controls 2.5
import ArcGIS.AppFramework 1.0
Item {
Button {
text: qsTr("Test Promise chaining")
onClicked: {
download( "GET", "https://community.esri.com/groups/appstudio" )
.then( (data) => {
@stephenquan
stephenquan / AppStudio_20190605_PromiseTimeout.qml
Last active July 11, 2019 03:34
AppStudio_20190605_PromiseTimeout.qml
import QtQuick 2.12
import QtQuick.Controls 2.5
import ArcGIS.AppFramework 1.0
Item {
Button {
text: qsTr("Test Promise timeout")
onClicked: {
download( "GET", "https://community.esri.com/groups/appstudio" )
.then( (message) => { console.log(message) } )
@stephenquan
stephenquan / AppStudio_20190619_SortingCities.qml
Created June 24, 2019 04:48
AppStudio_20190619_SortingCities.qml
import QtQuick 2.12
import QtQuick.Controls 2.5
import QtQuick.Layouts 1.12
import QtPositioning 5.12
import ArcGIS.AppFramework 1.0
Item {
ColumnLayout {
anchors.fill: parent
anchors.margins: 10 * AppFramework.displayScaleFactor
@stephenquan
stephenquan / AppStudio_PromiseAwaitBabel.qml
Last active June 24, 2019 05:44
AppStudio_PromiseAwaitBabel.qml
import QtQuick 2.12
import QtQuick.Controls 2.5
import QtQuick.Layouts 1.12
import ArcGIS.AppFramework 1.0
Item {
Button {
text: qsTr("test Promise await")
onClicked: testPromiseAwait()
}
@stephenquan
stephenquan / AppStudio_20190508_EmojiSunrise.qml
Last active June 24, 2019 04:10
AppStudio_20190508_EmojiSunrise.qml
import QtQuick 2.12
import QtQuick.Controls 2.2
Item {
Text {
anchors.centerIn: parent
text: "\u{1f304}"
font.pointSize: 128
}
@stephenquan
stephenquan / testPromiseAwait-babel.js
Last active June 23, 2019 20:39
testPromiseAwait-babel.js
function testPromiseAwait() {
_asyncToGenerator(function*() {
try {
console.log(yield download("https://appstudio.arcgis.com"))
console.log(yield download("https://community.esri.com/groups/appstudio"))
console.log(yield download("https://community.esri.com/groups/survey123"))
} catch (err) {
console.log(err)
}
})()
@stephenquan
stephenquan / AppStudio_PromiseAwait.qml
Last active June 24, 2019 05:44
AppStudio_PromiseAwait.qml
import QtQuick 2.12
import QtQuick.Controls 2.5
import QtQuick.Layouts 1.12
import ArcGIS.AppFramework 1.0
Item {
Button {
text: qsTr("test Promise await")
onClicked: testPromiseAwait()
}
function head(gen, lines=1) {
return function* () {
let iterator = gen()
while (lines-- > 0)
{
let item = iterator.next()
if (item.done) return true
console.log("head: yield ", item.value)
yield item.value
}
@stephenquan
stephenquan / FormatMessage.h
Last active April 15, 2019 01:41
FormatMessage.h
#ifndef FormatMessage_H
#define FormatMessage_H
class CFormatMessage
{
public:
CFormatMessage(DWORD dwError) :
m_Error(ERROR_SUCCESS),
m_ErrorText(NULL)
{
@stephenquan
stephenquan / sqlce.vbs
Created March 6, 2019 22:02
sqlce.vbs
Option Explicit
Const SQLCE30_CLSID = "Microsoft.SQLSERVER.MOBILE.OLEDB.3.0"
Const SQLCE35_CLSID = "Microsoft.SQLSERVER.CE.OLEDB.3.5"
Const SQLCE40_CLSID = "Microsoft.WINDOWS.SQLLITE.OLEDB.4.0"
REM https://docs.microsoft.com/en-us/sql/ado/reference/ado-api/objectstateenum
Const adStateClosed = 1
Const adStateOpen = 1
Const adStateConnecting = 2