LabelMover

Программирование с LabelMover

Начиная с версии 2.1, можно управлять работой LabelMover из других программ. Где это можно использовать? Перечислим некоторые возможные применения:

LabelMover поддерживает два вида программного интерфейса: COM интерфейс и интерфейс командной строки.

COM интефейс

Функции

Типичная последовательность вызовов при использовании COM интерфейса LabelMover такая:

Пример

Приведем очень простой пример. Пусть у нас есть задача ELCUT и мы задали для неё с помощью LabelMover несколько параметров и несколько результатов.

Пусть мы хотим задать для одного из параметров значения 0.0, 0.1, 0.2... 0.9 а для другого параметра - значения 0.0, 0.01, 0.02... 0.09 во всех возможных сочетаниях, и построить таблицу всех возможных вариантов. (То есть, мы хотим изучить 100 вариантов задачи).

Вот как это можно сделать с использованием Visual Basic 2005:

Sub Main()                                   
    Dim qlm As QLM.SimpleInterface           
    qlm = CreateObject("QLM.SimpleInterface")
    qlm.ClearResults()                       
    Dim i, j As Integer                       
    For i = 0 To 10                          
        For j = 0 To 10                      
            qlm.SetVariation(0, i * 0.1)     
            qlm.SetVariation(1, j * 0.01)    
            qlm.Solve()                      
        Next                                 
    Next                                     
End Sub                                                                    

Замечание: В этой программе предполагается, что LabelMover уже запущен, что он находится режиме оптимизации, и что заданы по крайней мере два параметра.

Интерфейс командной строки

Кроме COM интерфейса, в качестве альтернативы, LabelMover предлагает интерфейс командной строки. Его можно использовать вместе с теми языками и системами программирования, которые не поддерживают работу с COM. (Но и для тех языков, которые поддерживают COM, во многих случаях может быть удобнеё использовать этот интерфейс).

Все что вам надо уметь - это запускать из вашей программы внешнюю программу (EXE файл) и передавать программе командную строку в качестве параметра.

В состав LabelMover входит программа QLMCall.exe. Её назначение - обеспечивать интерфейс между LabelMover и внешними программами. Для управления LabelMover вы просто должны вызвать из вашей программы QLMCall.exe и передать с помощью командной строки необходимые параметры.

Командная строка

Пример

Перепишем простой пример, приведенный выше для COM интерфейса, с использованием интерфейса командной строки:

Sub Main()
    Dim i, j As Integer
      Dim commandLine As String
      Shell("QLMCall ClearResults", , True)
      For i = 0 To 10
        For j = 0 To 10
            commandLine = "QLMCall " + _
                Str(i * 0.1) + " " + Str(j * 0.01)
            Shell(commandLine, , True)
        Next
    Next
End Sub

Как задать путь для QLMCall.exe

Для того, чтобы функция Shell работала правильно, необходимо задать папку, в которой будет расположена программа QLMCаll.exe. Это можно сделать несколькими способами:

См. также
Добро пожаловать в программу ELCUT LabelMover