Sample code for 30+ languages & platforms
Go Requires Chilkat v11.7.0+

Get the QR Code Capabilities of the Chilkat Version in Use

See more QR Code Examples

Demonstrates the capabilities operation, which describes what the installed version of Chilkat can do: the range of QR versions, the error-correction levels, the operations, the image formats and the limits. A program can check for a feature here instead of testing for a Chilkat version number. The request can be an empty JSON object.

Chilkat Go Downloads

Go
    success := false

    //  This example requires the Chilkat API to have been previously unlocked.
    //  See Global Unlock Sample for sample code.

    json := chilkat.NewJsonObject()
    fmt := chilkat.NewFormats()
    jsonOut := chilkat.NewJsonObject()
    success = fmt.QrCode("capabilities",json,jsonOut)
    if success == false {
        fmt.Println(fmt.LastErrorText())
        json.DisposeJsonObject()
        fmt.DisposeFormats()
        jsonOut.DisposeJsonObject()
        return
    }

    fmt.Println("Chilkat version: ", *jsonOut.StringOf("productVersion"))
    fmt.Println("symbology: ", *jsonOut.StringOf("symbologies[0].id"))
    fmt.Println("QR versions: ", jsonOut.IntOf("symbologies[0].encoding.version.min"), " to ", jsonOut.IntOf("symbologies[0].encoding.version.max"))
    fmt.Println("structured append, most symbols: ", jsonOut.IntOf("symbologies[0].structuredAppend.maxSymbols"))

    var i int
    var n int
    n = jsonOut.SizeOfArray("symbologies[0].encoding.errorCorrection")
    for i = 0; i <= n - 1; i++ {
        jsonOut.SetI(i)
        fmt.Println("error correction: ", *jsonOut.StringOf("symbologies[0].encoding.errorCorrection[i]"))
    }

    //  The operations this version implements.
    n = jsonOut.SizeOfArray("operations")
    for i = 0; i <= n - 1; i++ {
        jsonOut.SetI(i)
        if jsonOut.BoolOf("operations[i].available") == true {
            fmt.Println("operation: ", *jsonOut.StringOf("operations[i].name"))
        }

    }

    n = jsonOut.SizeOfArray("imageFormats.output")
    for i = 0; i <= n - 1; i++ {
        jsonOut.SetI(i)
        fmt.Println("image format: ", *jsonOut.StringOf("imageFormats.output[i]"))
    }

    fmt.Println("default timeout: ", jsonOut.IntOf("limits.timeoutMs.default"), " ms")
    fmt.Println("default largest image: ", jsonOut.IntOf("limits.maxPixels.default"), " pixels")

    //  Sample output:

    //  Chilkat version: 11.7.0
    //  symbology: qr
    //  QR versions: 1 to 40
    //  structured append, most symbols: 16
    //  error correction: auto
    //  error correction: L
    //  error correction: M
    //  error correction: Q
    //  error correction: H
    //  operation: generate
    //  operation: measure
    //  operation: validate
    //  operation: capabilities
    //  image format: png
    //  image format: svg
    //  default timeout: 10000 ms
    //  default largest image: 16777216 pixels

    json.DisposeJsonObject()
    fmt.DisposeFormats()
    jsonOut.DisposeJsonObject()