userlong 发表于 2016-6-5 17:02:24

回复 45# chzj589


    我看你的预览里有些打印的功能不知道你如何实现的、?

chzj589 发表于 2016-6-5 17:22:42

回复 46# userlong
HTML代码实现的。
单写一条HTML打印代码是不能操作的。
百度一下HTML代码大全

userlong 发表于 2016-6-5 20:20:59

回复 47# chzj589


    理解了!!!我知道了 !你用的GUICtrlListView 来显示显示应该会出现卡顿把?

chzj589 发表于 2016-6-5 20:32:24

回复 48# userlong
怎么讲?
GUICtrlListView读取数据会卡顿?
还是读取GUICtrlListView里数据显示在报表会卡顿? 

userlong 发表于 2016-6-6 08:41:42

回复 49# chzj589


   我说的是显示。。我看了你的程序你这样读取显示在列表肯定会卡顿。就是如果数据多就会慢动作显示出来

chzj589 发表于 2016-6-6 09:26:32

回复 50# userlong
读取显示需要时间,数据越大读取显示需要时间越长,不知算不算卡顿?
读取数据Listview1列表显示


读取Listview1列表数据报表显示

userlong 发表于 2016-6-6 11:36:07

回复 51# chzj589


    这个表这样读取 会卡顿。有种方法不会卡顿。一秒显示3000条 没问题。论坛里有介绍。。但是麻烦。我用的是表格控件    所以没有这个问题

chzj589 发表于 2016-6-6 13:49:12

回复 52# userlong

好象与列数有关系,
用三条列数,是的一秒显示3000条。
用五条列数,三秒显示3000条。
用七条列数,五秒显示3000条。
实际操作的就不是这个速度了。要慢很多。
主要看要读取的数据源。

kk_lee69 发表于 2016-6-7 15:03:36

回复 52# userlong

哪個表格控件??

userlong 发表于 2016-6-7 17:29:28

回复 54# kk_lee69

vsFlex8.ocx
   
你这个插入图片都是固定位置的啊。如何插入到表格里跟着表格下移。
或是 怎么样可以不靠坐标来固定位置。 也就是直接插在本位位置。例如.Paragraph或是.text 那样。
.DrawPicture(.LoadPicture("C:\名5.jpg"),3000,10000, "10cm", "10cm", "500%", "500%")
如何把这个图片拆入表格中?如
AddTable("2000|2000|5500|1800", "图片|项目1|项目2|项目3","")如何插入在这个表格中的图片位置

kk_lee69 发表于 2016-6-7 17:37:02

回复 55# userlong


    我不用這個的當時 插入圖片方法 也是 幫你測試出來的,所有的事情 回到原點就是 測試 實驗 找資料.....現在你問我 我也沒做過

风过无痕 发表于 2016-6-16 20:41:44

收藏备用{:face (356):}

tvzml 发表于 2016-6-23 03:47:32

回复 1# userlong
你这个不高级,我用的是 lodop 这个高级多了。

kk_lee69 发表于 2016-6-23 09:20:24

回复 58# tvzml

老大 有空何不提供個範例學習學習!!

tvzml 发表于 2016-6-23 09:32:07

Lodop 是网页打印控件,根据 Lodop 语法,咋按它要求生成 HTM,不就可以按要求打印了。


PRINT_BARCODE()

Func PRINT_BARCODE()
        PRINT_INIT()
        If IsArray($CODE_Array) Then
                If UBound($CODE_Array) > 2 Then
                        Dim $SOLen
                        $SOLen = _SOLen("LODOP.PREVIEW();")
                        If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.PRINT();'
                EndIf
        EndIf
        PRINT_act()
EndFunc   ;==>PRINT_BARCODE
Func PRINT_INIT()
        If Not FileExists("C:\Lodop") Then DirCreate("C:\Lodop")
        If Not FileExists("C:\Lodop\install_lodop32.exe") Then
                If FileExists(@ScriptDir & "\Lodop\install_lodop32.exe") Then
                        FileCopy(@ScriptDir & "\Lodop\install_lodop32.exe", "C:\Lodop\install_lodop32.exe", 1)
                EndIf
        EndIf
        If Not FileExists("C:\Lodop\LodopFuncs.js") Then
                If FileExists(@ScriptDir & "\Lodop\LodopFuncs.js") Then
                        FileCopy(@ScriptDir & "\Lodop\LodopFuncs.js", "C:\Lodop\LodopFuncs.js", 1)
                EndIf
        EndIf
        _FileCreate("C:\Lodop\Lodop.htm")
        If $CODE_Array_Save = "" Then
                If FileExists(@ScriptDir & "\Lodop\Lodop.htm") Then
                        _FileReadToArray(@ScriptDir & "\Lodop\Lodop.htm", $CODE_Array_Save)
                        If IsArray($CODE_Array_Save) Then
                                If UBound($CODE_Array_Save) > 2 Then
                                EndIf
                        EndIf
                EndIf
        EndIf
        $CODE_Array = $CODE_Array_Save
        If IsArray($CODE_Array) Then
                If UBound($CODE_Array) > 2 Then
                        Dim $SOLen, $len_h = 60, $len_hh = 0, $SETLEN = 0, $STYLEA_add = 0, $KH_Code_A, $KH_Code_B, $FontSize_add = 30
                        $SOLen = _SOLen("上网凭证")
                        If $SOLen > 0 Then
                                Dim $SWPZ_STR = $CODE_Array[$SOLen]
                                $SWPZ_STR = StringReplace($SWPZ_STR, "上网凭证", $wbName)
                                $CODE_Array[$SOLen] = $SWPZ_STR
                        EndIf
                        If StringLen($KH_Code) > 7 Then
                                $len_hh = 20
                                $STYLEA_add = 1
                                $FontSize_add = 22
                                $KH_Code_A = StringMid($KH_Code, 1, 10)
                                $KH_Code_B = StringMid($KH_Code, 11, 8)
                                $SOLen = _SOLen("用_户_编_号_A")
                                If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.ADD_PRINT_TEXT(15,10,170,30,"' & $KH_Code_A & '");'
                                $SOLen = _SOLen("用_户_编_号_B")
                                If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.ADD_PRINT_TEXT(45,10,170,30,"' & $KH_Code_B & '");'
                                $SOLen = _SOLen("字体大小B")
                                If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.SET_PRINT_STYLEA(4,"FontSize",' & $FontSize_add & ');'
                                $SOLen = _SOLen("登_录_口_令_加_粗")
                                If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.SET_PRINT_STYLEA(5,"Bold","1");'
                        Else
                                $len_hh = 0
                                $SOLen = _SOLen("用_户_编_号_A")
                                If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.ADD_PRINT_TEXT(15,10,170,30,"' & $KH_Code & '");'
                                $SOLen = _SOLen("登_录_口_令_加_粗")
                                If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.SET_PRINT_STYLEA(4,"Bold","1");'
                        EndIf
                        $SOLen = _SOLen("字体大小A")
                        If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.SET_PRINT_STYLEA(3,"FontSize",' & $FontSize_add & ');'
                        $SOLen = _SOLen("字体大小C")
                        If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.SET_PRINT_STYLEA(' & 7 + $STYLEA_add & ',"FontSize",14);'
                        $SOLen = _SOLen("登录口令")
                        If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.ADD_PRINT_TEXT(' & $len_h + $len_hh & ',10,85,20,"口令:' & $KH_PASS & '");'
                        $SOLen = _SOLen("预付现金")
                        If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.ADD_PRINT_TEXT(' & $len_h + $len_hh & ',95,85,20,"现金:' & $KH_YFF & '");'
                        $SOLen = _SOLen("开户时间")
                        If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.ADD_PRINT_TEXT(' & $len_h + 20 + $len_hh & ',10,65,20,"时间:");'
                        $SOLen = _SOLen("开户日期")
                        If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.ADD_PRINT_TEXT(' & $len_h + 20 + $len_hh - 4 & ',40,140,20," ' & $KH_Time & '");'
                        $SOLen = _SOLen("替换条形码行")
                        $KH_Code = StringLower($KH_Code)
                        If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.ADD_PRINT_BARCODE(' & $len_h + 20 + 20 + $len_hh & ',1,195,' & $CodeH_SAVE & ',"' & $CodeType_SAVE & '","' & $KH_Code & '");'
                        $SOLen = _SOLen("ShowBarText")
                        If $SOLen > 0 Then $CODE_Array[$SOLen] = '                LODOP.SET_PRINT_STYLEA(' & 8 + $STYLEA_add & ',"ShowBarText",0);'
                EndIf
        EndIf
EndFunc   ;==>PRINT_INIT
Func _SOLen($str = "")
        Dim $so_codeline = _ArraySearch($CODE_Array, $str, 0, 0, 0, 1)
        Return Int($so_codeline)
EndFunc   ;==>_SOLen
Func PRINT_act()
        _FileWriteFromArray("C:\Lodop\Lodop.htm", $CODE_Array, 1)
        _IENavigate($oIE_print, "file:///C:/Lodop/Lodop.htm")
        _IELoadWait($oIE_print, 1, 1000)
        Dim $oIE_printText = _IEBodyReadText($oIE_print)
        If StringInStr($oIE_printText, "打印控件未安装") > 0 Then
                _WinSetOnTop(0)
                If MsgBox(49, "Lodop", "打印控件未安装!点击确定执行安装,安装后请重新打印!") = 1 Then
                        If FileExists("C:\Lodop\install_lodop32.exe") Then
                                Run("C:\Lodop\install_lodop32.exe")
                                _exit()
                        EndIf
                EndIf
                _WinSetOnTop(1)
        EndIf
        If StringInStr($oIE_printText, "打印控件需要升级") > 0 Then
                _WinSetOnTop(0)
                If MsgBox(49, "Lodop", "打印控件需要升级!点击确定执行升级,安装后请重新打印!") = 1 Then
                        If FileExists("C:\Lodop\install_lodop32.exe") Then
                                Run("C:\Lodop\install_lodop32.exe")
                                _exit()
                        EndIf
                EndIf
                _WinSetOnTop(1)
        EndIf
        If StringInStr($oIE_printText, "未安装打印控件") > 0 Then
                _WinSetOnTop(0)
                If MsgBox(49, "Lodop", "打印控件未安装!点击确定执行安装,安装后请重新打印!") = 1 Then
                        If FileExists("C:\Lodop\install_lodop64.exe") Then
                                Run("C:\Lodop\install_lodop64.exe")
                                _exit()
                        EndIf
                EndIf
                _WinSetOnTop(1)
        EndIf
        If StringInStr($oIE_printText, "需要升级打印控件") > 0 Then
                _WinSetOnTop(0)
                If MsgBox(49, "Lodop", "打印控件需要升级!点击确定执行升级,安装后请重新打印!") = 1 Then
                        If FileExists("C:\Lodop\install_lodop64.exe") Then
                                Run("C:\Lodop\install_lodop64.exe")
                                _exit()
                        EndIf
                EndIf
                _WinSetOnTop(1)
        EndIf
        If StringInStr($oIE_printText, "曾安装过Lodop旧版附件") > 0 Then
                _WinSetOnTop(0)
                If MsgBox(49, "Lodop", '(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)') = 1 Then
                EndIf
                _WinSetOnTop(1)
        EndIf
        If StringInStr($oIE_printText, "仅因浏览器升级或重安装而出问题") > 0 Then
                _WinSetOnTop(0)
                If MsgBox(49, "Lodop", '(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)') = 1 Then
                EndIf
                _WinSetOnTop(1)
        EndIf
EndFunc   ;==>PRINT_act

页: 1 2 3 [4]
查看完整版本: 打印控件vsPrint8.ocx。如何插入图片 请高手指点一下