
ZwinnyRolnik
Active Members-
Posts
74 -
Joined
-
Last visited
ZwinnyRolnik's Achievements

Wayfarer (2/7)
0
Reputation
-
Nomad Memory pointer and .dll
ZwinnyRolnik replied to ZwinnyRolnik's topic in AutoIt General Help and Support
Hey, You still here Remember You, always helpful. Yes it's Fifa 13 but i don't have original version and it is not online but offline game. All I want is to retrieve the value of money. No more. Please, too much time wasted, I need to know now. AutoIt scripting is like a passion and when I start I have to finish. -
Hello, I tried to search and do it solo but i'm trying 3 days and just cant. Please help me. I need to get value from hex (screen-2) 0x174CC218 but after restart program it's always 0x????C218. Value is (screen-3) = 95231 First i need get this hex, that's why i need pointer (screen-1) Offset here is C58 Address for pointer is (important): CardsDLLzf.dll+1aee54 This is the biggest problem for me, i can't read pointer cuz it's not hex value. Don't know what i can do for getting hex from "CardsDLLzf.dll"+1aee54". My example: Global $PID = ProcessExists("exe") Global $HMem = _MemoryOpen($pid) Const $offset[2] = [0, Dec("C58")] $mem = _MemoryPointerRead('CardsDLLzf.dll+1aee54', $HMem, $offset) While 1 if $mem[1] <> 0 Then MsgBox(0,$mem,@error) MsgBox(0,$mem[1], $mem[0]) EndIf WEnd Please, if someone can help... Thanks in advance
-
ZwinnyRolnik reacted to a post in a topic: Detect file renaming
-
Detect file renaming
ZwinnyRolnik replied to ZwinnyRolnik's topic in AutoIt General Help and Support
WOW, amazing Thanks guinness! -
Detect file renaming
ZwinnyRolnik replied to ZwinnyRolnik's topic in AutoIt General Help and Support
Ye, thanks. But it's only alternative. Of course i can start script every 30 minutes and it'll be fine, but maybe someone else know how i can detect file renaming -
Hello, Maybe someone know how i can check/detect when user renaming file name. Just i need write script for blocking more then 20 characters in file name. Please help. Thanks.
-
converter from autoit to bbcode
ZwinnyRolnik replied to ZwinnyRolnik's topic in AutoIt General Help and Support
Hmm thx but i dont need Code Highlighter. I need converter, somethink like this: from _GUICtrlRichEdit_ where i have: xxxxx asdasd nnnnb pofof pdsssso oppoop ops oofop fbmo sdfp sd ds dsfsdgdfg fdg fd gfd df.gdf .fdgdfgfd i want have in next _GUICtrlRichEdit_ this: xxx<font size = 4>xx asdasd<font color = #FF0000> nnnnb</color></font> pofo<font size = 6>f pdss</font><font color = #FF8C00>sso oppoop ops oofop</color> fbmo sdfp <u>sd</u> <b>ds</b> dsfs<i>dgdfg fdg fd gfd df.gdf .fd</i>gdfgfd it's on forum? can someone help? please Zwinny -
Hello, this is my code. Im trying make somethink like converter from autoit to html/bbcode But it's really hard for me, maybe someone knows where i can find topic with this tool/script? Sorry for bad english, and thx for any replies Global $avgcol Opt("GUICloseOnESC", 0) ; bez esc ;~ #include <shapedcontrols_udf.au3> ;~ #include <image_get_info.au3> #include <GUIConstantsEx.au3> #include <WinDowsConstants.au3> #include <GuiListView.au3> #include <Constants.au3> #include <FontConstants.au3> #include <StructureConstants.au3> #include <WinAPI.au3> #include <GuiToolTip.au3> #include <UpDownConstants.au3> #include <GuiImageList.au3> #include <ButtonConstants.au3> #include <ScrollBarConstants.au3> ;~ #include <GUIScrollBars.au3> ;~ #include "MouseOnEvent.au3" #include <ProgressConstants.au3> #include <String.au3> ;~ #include <sqlite.au3>;Stop the Obfuscation process below this line ;~ #include <sqlite.dll.au3> #include <GuiMenu.au3> #include <GuiEdit.au3> #include <GuiRichEdit.au3> #include <ComboConstants.au3> #include <EditConstants.au3> #include <ListViewConstants.au3> ;~ #include <File.au3> ;~ #include <Array.au3> ;~ #include <GUIScrollbars_Ex.au3> ;~ #include <hover.au3> Global $it = False Global $un = False Global $bo = False Global $fo = False Global $ro = False Global $it2 = True Global $un2 = True Global $bo2 = True Global $fo2 = True Global $ro2 = True ;~ If _Singleton(@ScriptName, 1) = 0 Then ;~ MsgBox(0, "Błąd :(", "Program jest już uruchomiony") ;~ Exit ;~ EndIf ;~ OnAutoItExitRegister("usunall") $gui = GUICreate("", 800, 600) Global $pierwszy = _GUICtrlRichEdit_Create($gui, "", 10, 10, 300, 220, _ BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL)) ;~ _GUICtrlRichEdit_AppendText($pierwszy, @CR & "This is more text") Global $drugi = _GUICtrlRichEdit_Create($gui, "", 320, 10, 300, 220, _ BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL)) Global $przy = GUICtrlCreateButton('button', 35, 350, 100) GUISetState(@SW_SHOW, HWnd($gui)) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $przy przek() EndSwitch WEnd Func przek() Local $polepierwsze = GUICtrlRead($pierwszy) Local $dl = _GUICtrlRichEdit_GetTextLength($pierwszy, True, True) For $i = 0 To $dl If $i = $dl Then ExitLoop Local $zazn = _GUICtrlRichEdit_SetSel($pierwszy, $i, $i + 1) Local $txt = _GUICtrlRichEdit_GetSelText($pierwszy) Local $rozm = _GUICtrlRichEdit_GetFont($pierwszy) ;~ ConsoleWrite($rozm[0]&@CRLF) If @error = -1 Then ;~ ConsoleWrite('wrong' & $i & @CRLF) ContinueLoop EndIf Local $atryb = _GUICtrlRichEdit_GetCharAttributes($pierwszy) Local $col = _GUICtrlRichEdit_GetCharColor($pierwszy) Local $cr = Hex($col, 6) Local $fontc = '0x' & StringMid($cr, 5, 2) & StringMid($cr, 3, 2) & StringMid($cr, 1, 2) ;~ If $atryb = '' Then ;~ $it = False ;~ $un = False ;~ $bo = False ;~ zrob() ;~ ContinueLoop ;~ EndIf If StringInStr($fontc, '0x000000') = 0 Then $fo = True Else $fo = False EndIf $rozm = String($rozm[0]) If StringInStr($rozm, '10') = 0 Then $ro = True Else $ro = False EndIf If StringInStr($atryb, 'it+') <> 0 Then $it = True Else $it = False EndIf If StringInStr($atryb, 'un+') <> 0 Then $un = True Else $un = False EndIf If StringInStr($atryb, 'bo+') <> 0 Then $bo = True Else $bo = False EndIf zrob($fontc, $rozm) _GUICtrlRichEdit_AppendText($drugi, $txt) Next EndFunc ;==>przek Func zrob($col, $rozmiar) If $ro Then If $ro2 Then _GUICtrlRichEdit_AppendText($drugi, '<font size =' & $rozmiar & '>') $ro2 = False EndIf Else If $ro2 = False Then _GUICtrlRichEdit_AppendText($drugi, '</font>') $ro2 = True EndIf EndIf If $fo Then If $fo2 Then _GUICtrlRichEdit_AppendText($drugi, '<font color =' & $col & '>') $fo2 = False EndIf Else If $fo2 = False Then _GUICtrlRichEdit_AppendText($drugi, '</font>') $fo2 = True EndIf EndIf If $it Then If $it2 Then _GUICtrlRichEdit_AppendText($drugi, '<i>') $it2 = False EndIf Else If $it2 = False Then _GUICtrlRichEdit_AppendText($drugi, '</i>') $it2 = True EndIf EndIf If $un Then If $un2 Then _GUICtrlRichEdit_AppendText($drugi, '<u>') $un2 = False EndIf Else If $un2 = False Then _GUICtrlRichEdit_AppendText($drugi, '</u>') $un2 = True EndIf EndIf If $bo Then If $bo2 Then _GUICtrlRichEdit_AppendText($drugi, '<b>') $bo2 = False EndIf Else If $bo2 = False Then _GUICtrlRichEdit_AppendText($drugi, '</b>') $bo2 = True EndIf EndIf EndFunc ;==>zrob
-
Ok, I'll try to do a demo as I get home. But back to the first question - is the possibility to use the GUIRegisterMsg($WM_VSCROLL, "WM_VSCROLL") in the listview? Working on this program four months so thank you very much for your interest. The biggest mistake of the program is precisely that scrolling is so slow. PS. I changed my handler function of few characters, but still scrolling is very slow. I am sure that is wine - WM_notify edit: That's why I want to disable 'wm_notify' when scrolling
-
Func _GetComboInfo2($nCtrl, $type = 0) ;ConsoleWrite(" _GetClassName:"&_GetClassName($nCtrl)&@LF) If _GetClassName2($nCtrl) <> "ComboBox" Then Return 0 Local $ret, $cbInfo, $v_ret $cbInfo = DllStructCreate("int;int[4];int[4];int;int;int;int") DllStructSetData($cbInfo, 1, DllStructGetSize($cbInfo)) $v_ret = DllCall("user32.dll", "int", "GetComboBoxInfo", "hwnd", GUICtrlGetHandle($nCtrl), "ptr", DllStructGetPtr($cbInfo)) If IsArray($v_ret) Then If $type = 0 Then $ret = DllStructGetData($cbInfo, 6);edit handle ;ConsoleWrite("Text ="&WinGetText($ret)&@LF) ElseIf $type = 1 Then $ret = DllStructGetData($cbInfo, 7);list handle EndIf EndIf $cbInfo = 0 Return $ret EndFunc ;==>_GetComboInfo2 Func _InvalidateRect2($hwnd) Local $v_ret = DllCall("user32.dll", "int", "InvalidateRect", "hwnd", $hwnd, "ptr", 0, "int", 1) Return $v_ret[0] EndFunc ;==>_InvalidateRect2 Func _UpdateWindow2($hwnd) Local $v_ret = DllCall("user32.dll", "int", "UpdateWindow", "hwnd", $hwnd) Return $v_ret[0] EndFunc ;==>_UpdateWindow2 ;;;ripped from help file. ; Convert the client (GUI) coordinates to screen (desktop) coordinates Func ClientToScreen2($hwnd, ByRef $x, ByRef $y) Local $stPoint = DllStructCreate("int;int") DllStructSetData($stPoint, 1, $x) DllStructSetData($stPoint, 2, $y) DllCall("user32.dll", "int", "ClientToScreen", "hwnd", $hwnd, "ptr", DllStructGetPtr($stPoint)) $x = DllStructGetData($stPoint, 1) $y = DllStructGetData($stPoint, 2) ; release Struct not really needed as it is a local $stPoint = 0 EndFunc ;==>ClientToScreen2 Func _HiWord2($x) Return BitShift($x, 16) EndFunc ;==>_HiWord2 Func _LoWord2($x) Return BitAND($x, 0xFFFF) EndFunc ;==>_LoWord2 Func obliczeniabezp($iRow, $iCol, $newText, $sss = 0) For $ko = $kolumn + 2 To 2 Step -1 If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 0, $ko) = "Razem" Then ExitLoop Next Local $wart Local $iloscjm = 0 Local $rok = '' Local $razem = 0 Local $kfkd = True $pozycjai = 0 For $i = 2 To $ko If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 0, $i) = "wartość j.m" Then If $kfkd Then $pozycjai = $i $kfkd = False EndIf $wart = '' $iloscjm = 0 $wart = StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL, $iRow, $i), 2), ',', '.'), " ", "") ContinueLoop EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 0, $i) = "ilość j.m" Then Local $dod = StringReplace(_GUICtrlListView_GetItemText($__LISTVIEWCTRL, $iRow, $i), " ", "") If $dod = '' Then $dod = 0 $iloscjm += $dod If $i = $iCol Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 0, $iCol) = "wartość j.m" Then Local $nowlasnieto = $dod * $wart $nowlasnieto = StringReplace($nowlasnieto, " ", "") $nowlasnieto = StringReplace($nowlasnieto, ".", ",") If StringInStr($nowlasnieto, " ") = 0 Then Local $dl22 = StringLen($nowlasnieto) Local $kohh = StringInStr($nowlasnieto, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($nowlasnieto, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $hy = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $hy > 0 Then Local $left = StringLeft($nowlasnieto, $hy) $nowlasnieto = StringTrimLeft($nowlasnieto, $hy) $nowlasnieto = $left & " " & $nowlasnieto EndIf Next EndIf If StringInStr($nowlasnieto, ",") = 0 Then $nowlasnieto = $nowlasnieto & ",00" If $nowlasnieto = ',00' Then $nowlasnieto = "0,00" Else Local $poz22 = StringInStr($nowlasnieto, ",") Local $dl22 = StringLen($nowlasnieto) If $dl22 - $poz22 = 1 Then $nowlasnieto = $nowlasnieto & "0" If $dl22 - $poz22 = 0 Then $nowlasnieto = $nowlasnieto & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL3, $iRow, $nowlasnieto & "zł", $i - $pozycjai + 2) EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 0, $i + 1) <> "ilość j.m" Then $razem += $wart * $iloscjm EndIf ContinueLoop EndIf Next $razem = StringReplace($razem, " ", "") $razem = StringReplace($razem, ".", ",") If StringInStr($razem, " ") = 0 Then Local $dl22 = StringLen($razem) Local $kohh = StringInStr($razem, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($razem, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($razem, $i) $razem = StringTrimLeft($razem, $i) $razem = $left & " " & $razem EndIf Next EndIf If StringInStr($razem, ",") = 0 Then $razem = $razem & ",00" If $razem = ',00' Then $razem = "0,00" Else Local $poz22 = StringInStr($razem, ",") Local $dl22 = StringLen($razem) If $dl22 - $poz22 = 1 Then $razem = $razem & "0" If $dl22 - $poz22 = 0 Then $razem = $razem & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL, $iRow, $razem & "zł", $ko) ; dalej Local $sumowanie = 0 Local $qoq = 0 $kosztybezpbezcf = 0 For $s = 2 To _GUICtrlListView_GetItemCount($__LISTVIEWCTRL) + 1 $qoq = StringTrimRight(StringReplace(StringReplace(_GUICtrlListView_GetItemText($__LISTVIEWCTRL, $s, $ko), " ", ""), ',', '.'), 2) If $qoq = '' Then $qoq = 0 $sumowanie += $qoq If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, $s, 2) = "TAK" Then $kosztybezpbezcf += $qoq EndIf Next $sumowanie = StringReplace($sumowanie, " ", "") $sumowanie = StringReplace($sumowanie, ".", ",") If StringInStr($sumowanie, " ") = 0 Then Local $dl22 = StringLen($sumowanie) Local $kohh = StringInStr($sumowanie, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($sumowanie, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($sumowanie, $i) $sumowanie = StringTrimLeft($sumowanie, $i) $sumowanie = $left & " " & $sumowanie EndIf Next EndIf If StringInStr($sumowanie, ",") = 0 Then $sumowanie = $sumowanie & ",00" If $sumowanie = ',00' Then $sumowanie = "0,00" Else Local $poz22 = StringInStr($sumowanie, ",") Local $dl22 = StringLen($sumowanie) If $dl22 - $poz22 = 1 Then $sumowanie = $sumowanie & "0" If $dl22 - $poz22 = 0 Then $sumowanie = $sumowanie & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL, 1, $sumowanie & "zł", $ko) $kosztybezp = $sumowanie For $i = $ko To $ko If $i = 1 Then ContinueLoop EndIf _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL, $i) _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $iHeader_Width) EndIf Next EndFunc ;==>obliczeniabezp Func obliczanieraportu() Local $wart Local $kfkd = True Local $razem Local $gg2 Local $kosztyposrednie = 0 Local $ko = _GUICtrlListView_GetColumnCount($__LISTVIEWCTRL) - 1 For $j = 3 To $ko - 1 For $wiersz = 2 To _GUICtrlListView_GetItemCount($__LISTVIEWCTRL3) - 1 If $jakiklikniety[$j][$wiersz] = True Then $jakiklikniety[$j][$wiersz] = False Local $a = _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 0, $j) Local $b = 0 Local $c = 0 If StringInStr($a, 'warto') <> 0 Then Local $jj = $j - $pozycjai + 3 For $susu = $jj To $jj + 13 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $susu), '(') <> 0 Then Local $wspolx3 = $wiersz Local $wspoly3 = $susu Local $dl22 = StringLen($B) Local $kohh = StringInStr($b, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($b, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($b, $i) $b = StringTrimLeft($b, $i) $b = $left & " " & $b EndIf Next If $b = '' Then $b = 0 If StringInStr($b, ",") = 0 Then $b = $b & ",00" If $b = ',00' Then $b = "0,00" Else Local $poz22 = StringInStr($b, ",") Local $dl22 = StringLen($B) If $dl22 - $poz22 = 1 Then $b = $b & "0" If $dl22 - $poz22 = 0 Then $b = $b & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL3, $wspolx3, $b & "zł", $wspoly3) Local $d = 0 ; tutaj obliczanie kazdego cella od gory do dolu For $kj = $wiersz - 1 To 0 Step -1 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, 0), '--') <> 0 Then Local $wspolx2 = $kj Local $wspoly2 = $susu ExitLoop EndIf $d = $d + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, $susu), 2), ',', '.'), " ", "") Next $d = $d + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $wiersz, $susu), 2), ',', '.'), " ", "") For $kj = $wiersz + 1 To 200 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, 0), '--') <> 0 Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, 0) = '' Then ExitLoop $d = $d + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, $susu), 2), ',', '.'), " ", "") Next $d = StringReplace($d, ".", ",") Local $dl22 = StringLen($d) Local $kohh = StringInStr($d, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($d, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($d, $i) $d = StringTrimLeft($d, $i) $d = $left & " " & $d EndIf Next If $d = '' Then $d = 0 If StringInStr($d, ",") = 0 Then $d = $d & ",00" If $d = ',00' Then $d = "0,00" Else Local $poz22 = StringInStr($d, ",") Local $dl22 = StringLen($d) If $dl22 - $poz22 = 1 Then $d = $d & "0" If $dl22 - $poz22 = 0 Then $d = $d & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL3, $wspolx2, $d & "zł", $wspoly2) ;koniec obliczania od gora dol ;tera obliczanie tego na dole zeby Local $razemjazda = 0 For $szz = 1 To $liczebka[0] Step 2 For $haha = $liczebka[$szz] - 1 To $liczebka[$szz] - 1 $razemjazda = $razemjazda + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $haha, $susu), 2), ',', '.'), " ", "") Next Next $razemjazda = StringReplace($razemjazda, ".", ",") Local $dl22 = StringLen($razemjazda) Local $kohh = StringInStr($razemjazda, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($razemjazda, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($razemjazda, $i) $razemjazda = StringTrimLeft($razemjazda, $i) $razemjazda = $left & " " & $razemjazda EndIf Next If $razemjazda = '' Then $razemjazda = 0 If StringInStr($razemjazda, ",") = 0 Then $razemjazda = $razemjazda & ",00" If $razemjazda = ',00' Then $razemjazda = "0,00" Else Local $poz22 = StringInStr($razemjazda, ",") Local $dl22 = StringLen($razemjazda) If $dl22 - $poz22 = 1 Then $razemjazda = $razemjazda & "0" If $dl22 - $poz22 = 0 Then $razemjazda = $razemjazda & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL3, $liczebka[$liczebka[0] + 1] + 2, $razemjazda & "zł", $susu) ; koniec obliczania ExitLoop Else $jakiklikniety[$susu + $pozycjai - 3][$wiersz] = False $b = $b + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $wiersz, $susu), 2), ',', '.'), " ", "") Local $d = 0 ; tutaj obliczanie kazdego cella od gory do dolu For $kj = $wiersz - 1 To 0 Step -1 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, 0), '--') <> 0 Then Local $wspolx = $kj Local $wspoly = $susu ExitLoop EndIf $d = $d + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, $susu), 2), ',', '.'), " ", "") Next $d = $d + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $wiersz, $susu), 2), ',', '.'), " ", "") For $kj = $wiersz + 1 To 200 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, 0), '--') <> 0 Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, 0) = '' Then ExitLoop $d = $d + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, $susu), 2), ',', '.'), " ", "") Next $d = StringReplace($d, ".", ",") Local $dl22 = StringLen($d) Local $kohh = StringInStr($d, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($d, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($d, $i) $d = StringTrimLeft($d, $i) $d = $left & " " & $d EndIf Next If $d = '' Then $d = 0 If StringInStr($d, ",") = 0 Then $d = $d & ",00" If $d = ',00' Then $d = "0,00" Else Local $poz22 = StringInStr($d, ",") Local $dl22 = StringLen($d) If $dl22 - $poz22 = 1 Then $d = $d & "0" If $dl22 - $poz22 = 0 Then $d = $d & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL3, $wspolx, $d & "zł", $wspoly) ;koniec obliczania od gora dol ;tera obliczanie tego na dole zeby Local $razemjazda = 0 For $szz = 1 To $liczebka[0] Step 2 For $haha = $liczebka[$szz] - 1 To $liczebka[$szz] - 1 $razemjazda = $razemjazda + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $haha, $susu), 2), ',', '.'), " ", "") Next Next $razemjazda = StringReplace($razemjazda, ".", ",") Local $dl22 = StringLen($razemjazda) Local $kohh = StringInStr($razemjazda, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($razemjazda, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($razemjazda, $i) $razemjazda = StringTrimLeft($razemjazda, $i) $razemjazda = $left & " " & $razemjazda EndIf Next If $razemjazda = '' Then $razemjazda = 0 If StringInStr($razemjazda, ",") = 0 Then $razemjazda = $razemjazda & ",00" If $razemjazda = ',00' Then $razemjazda = "0,00" Else Local $poz22 = StringInStr($razemjazda, ",") Local $dl22 = StringLen($razemjazda) If $dl22 - $poz22 = 1 Then $razemjazda = $razemjazda & "0" If $dl22 - $poz22 = 0 Then $razemjazda = $razemjazda & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL3, $liczebka[$liczebka[0] + 1] + 2, $razemjazda & "zł", $susu) ; koniec obliczania EndIf Next ;~ MsgBox(0, '', _GUICtrlListView_GetItemText($__LISTVIEWCTRL3,0,$susu)) ; tu jesli wartosc.j.m Else ;tu jesli ilosc.jm Local $jj = $j - $pozycjai + 2 For $kj = $wiersz - 1 To 0 Step -1 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, 0), '--') <> 0 Then Local $wspolx = $kj Local $wspoly = $jj ExitLoop EndIf $b = $b + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, $jj), 2), ',', '.'), " ", "") Next $b = $b + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $wiersz, $jj), 2), ',', '.'), " ", "") For $kj = $wiersz + 1 To 200 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, 0), '--') <> 0 Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, 0) = '' Then ExitLoop $b = $b + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $kj, $jj), 2), ',', '.'), " ", "") Next $b = StringReplace($b, ".", ",") Local $dl22 = StringLen($B) Local $kohh = StringInStr($b, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($b, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($b, $i) $b = StringTrimLeft($b, $i) $b = $left & " " & $b EndIf Next If $b = '' Then $b = 0 If StringInStr($b, ",") = 0 Then $b = $b & ",00" If $b = ',00' Then $b = "0,00" Else Local $poz22 = StringInStr($b, ",") Local $dl22 = StringLen($B) If $dl22 - $poz22 = 1 Then $b = $b & "0" If $dl22 - $poz22 = 0 Then $b = $b & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL3, $wspolx, $b & "zł", $wspoly) ; jedno na gorze czyli od srodka w gore i dol Local $razemjazda = 0 For $szz = 1 To $liczebka[0] Step 2 For $haha = $liczebka[$szz] - 1 To $liczebka[$szz] - 1 $razemjazda = $razemjazda + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $haha, $jj), 2), ',', '.'), " ", "") Next Next $razemjazda = StringReplace($razemjazda, ".", ",") Local $dl22 = StringLen($razemjazda) Local $kohh = StringInStr($razemjazda, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($razemjazda, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($razemjazda, $i) $razemjazda = StringTrimLeft($razemjazda, $i) $razemjazda = $left & " " & $razemjazda EndIf Next If $razemjazda = '' Then $razemjazda = 0 If StringInStr($razemjazda, ",") = 0 Then $razemjazda = $razemjazda & ",00" If $razemjazda = ',00' Then $razemjazda = "0,00" Else Local $poz22 = StringInStr($razemjazda, ",") Local $dl22 = StringLen($razemjazda) If $dl22 - $poz22 = 1 Then $razemjazda = $razemjazda & "0" If $dl22 - $poz22 = 0 Then $razemjazda = $razemjazda & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL3, $liczebka[$liczebka[0] + 1] + 2, $razemjazda & "zł", $jj) ; tera od lewego w prawo For $kj = $jj - 1 To 0 Step -1 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $kj), '(') <> 0 Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $kj) = '' Then ExitLoop $c = $c + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $wiersz, $kj), 2), ',', '.'), " ", "") Next $c = $c + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $wiersz, $jj), 2), ',', '.'), " ", "") For $kj = $jj + 1 To 50 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $kj), '(') <> 0 Then Local $wspolx = $wiersz Local $wspoly = $kj ExitLoop EndIf $c = $c + StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $wiersz, $kj), 2), ',', '.'), " ", "") Next $c = StringReplace($c, ".", ",") Local $dl22 = StringLen($c) Local $kohh = StringInStr($c, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($c, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($c, $i) $c = StringTrimLeft($c, $i) $c = $left & " " & $c EndIf Next If $c = '' Then $c = 0 If StringInStr($c, ",") = 0 Then $c = $c & ",00" If $c = ',00' Then $c = "0,00" Else Local $poz22 = StringInStr($c, ",") Local $dl22 = StringLen($c) If $dl22 - $poz22 = 1 Then $c = $c & "0" If $dl22 - $poz22 = 0 Then $c = $c & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL3, $wspolx, $c & "zł", $wspoly) EndIf EndIf Next Next ;~ ;~ ;~ $wszystkostop = True ;~ ProgressOn("Trwa obliczanie", "", "0 procent") ;~ _GUICtrlListView_BeginUpdate($__LISTVIEWCTRL3) ;~ Local $wart ;~ Local $kfkd = True ;~ Local $razem ;~ Local $pozycjai = 0 ;~ Local $gg2 ;~ Local $kosztyposrednie = 0 ;~ Local $ko = _GUICtrlListView_GetColumnCount($__LISTVIEWCTRL3) ;~ Local $gg = Round((_GUICtrlListView_GetItemCount($__LISTVIEWCTRL3) - 1) * ($ko - 1)) ;~ Local $szz = -1 ;~ For $j = 3 To $ko - 1 ;~ $gg2 = Round((((_GUICtrlListView_GetItemCount($__LISTVIEWCTRL3) - 1) * $j) / $gg) * 100) ;~ ProgressSet($gg2, $gg2 & " procent") ;~ $szz = $szz + 2 ;~ for $szz = 1 to $liczebka[0] step 2 ;~ For $wiersz = $liczebka[$szz]-1 To $liczebka[$szz]-1 ;~ if $wiersz > $liczebka[$liczebka[0]+1] then ExitLoop ;~ If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $wiersz, 0), '--') <> 0 Then ;~ Local $ktory = $wiersz ;~ $razem = '' ;~ For $ks = $wiersz + 1 To 200 ;~ If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $ks, 0), '--') <> 0 Then ExitLoop ;~ $wart = '' ;~ $wart = StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, $ks, $j), 2), ',', '.'), " ", "") ;~ if $wart = '' then ;~ $wart = 0 ;~ _GUICtrlListView_SetItemText($__LISTVIEWCTRL3, $ks, "0,00zł",$j) ;~ EndIf ;~ $razem += $wart ;~ Next ;~ $razem = StringReplace($razem, ".", ",") ;~ Local $dl22 = StringLen($razem) ;~ Local $kohh = StringInStr($razem, ",") ;~ Local $wiadomo2 = 0 ;~ If $kohh <> 0 Then ;~ $wiadomo2 = StringTrimLeft($razem, $kohh) ;~ $wiadomo2 = StringLen($wiadomo2) + 1 ;~ EndIf ;~ For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 ;~ If $i > 0 Then ;~ Local $left = StringLeft($razem, $i) ;~ $razem = StringTrimLeft($razem, $i) ;~ $razem = $left & " " & $razem ;~ EndIf ;~ Next ;~ If StringInStr($razem, ",") = 0 Then ;~ $razem = $razem & ",00" ;~ If $razem = ',00' Then $razem = "0,00" ;~ Else ;~ Local $poz22 = StringInStr($razem, ",") ;~ Local $dl22 = StringLen($razem) ;~ If $dl22 - $poz22 = 1 Then $razem = $razem & "0" ;~ If $dl22 - $poz22 = 0 Then $razem = $razem & "00" ;~ EndIf ;~ _GUICtrlListView_SetItemText($__LISTVIEWCTRL3, $ktory, $razem & "zł", $j) ;~ EndIf ;~ Next ;~ Next ;~ Next ;~ If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 0, $j) = "ilość j.m" Then ;~ Local $dod = StringReplace(_GUICtrlListView_GetItemText($__LISTVIEWCTRL, $wiersz, $j), " ", "") ;~ If $dod = '' Then $dod = 0 ;~ $dod = $dod * $wart ;~ $razem += $dod ;~ If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL, $wiersz, 0), '--') <> 0 Then ;~ $ilemazad[$wiersz][$j] += $dod ;~ EndIf For $i = 3 To $ko _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL3, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL3, $i) _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL3, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL3, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL3, $i, $iHeader_Width) EndIf Next For $ii = 3 To $ko If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $ii), "(") <> 0 Then Local $juzpo = StringTrimLeft(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $ii), 1), 1) $juzpo = Number($juzpo) - 1500 If $roki[$juzpo] = True Then $roki[$juzpo] = True For $i = $ii - 1 To 0 Step -1 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $i), "(") <> 0 Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $i) = "" Then ExitLoop _GUICtrlListView_HideColumn($__LISTVIEWCTRL3, $i) Next _GUICtrlListView_SetColumn($__LISTVIEWCTRL3, $ii, "Rozwiń") EndIf EndIf Next _GUICtrlListView_EndUpdate($__LISTVIEWCTRL3) ;~ ProgressOff() $wszystkostop = False ;~ for $i = 0 to 199 ;~ for $j = 0 to 199 ;~ $jakiklikniety[$i][$j] = False ;~ Next ;~ Next EndFunc ;==>obliczanieraportu Func obliczenierazem() For $ko = $kolumn + 2 To 2 Step -1 If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 0, $ko) = "Razem" Then ExitLoop Next ;dalej Local $sumowanie = 0 Local $qoq = 0 $kosztybezpbezcf = 0 For $s = 2 To _GUICtrlListView_GetItemCount($__LISTVIEWCTRL) + 1 $qoq = StringTrimRight(StringReplace(StringReplace(_GUICtrlListView_GetItemText($__LISTVIEWCTRL, $s, $ko), " ", ""), ',', '.'), 2) If $qoq = '' Then $qoq = 0 $sumowanie += $qoq If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, $s, 2) = "TAK" Then $kosztybezpbezcf += $qoq EndIf Next $sumowanie = StringReplace($sumowanie, " ", "") $sumowanie = StringReplace($sumowanie, ".", ",") If StringInStr($sumowanie, " ") = 0 Then Local $dl22 = StringLen($sumowanie) Local $kohh = StringInStr($sumowanie, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($sumowanie, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($sumowanie, $i) $sumowanie = StringTrimLeft($sumowanie, $i) $sumowanie = $left & " " & $sumowanie EndIf Next EndIf If StringInStr($sumowanie, ",") = 0 Then $sumowanie = $sumowanie & ",00" If $sumowanie = ',00' Then $sumowanie = "0,00" Else Local $poz22 = StringInStr($sumowanie, ",") Local $dl22 = StringLen($sumowanie) If $dl22 - $poz22 = 1 Then $sumowanie = $sumowanie & "0" If $dl22 - $poz22 = 0 Then $sumowanie = $sumowanie & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL, 1, $sumowanie & "zł", $ko) $kosztybezp = $sumowanie GUICtrlSetData($inputkosztybezp, $sumowanie & "zł") Local $asdas = Round(StringReplace(StringReplace($sumowanie, " ", ""), ",", ".") - $kosztybezpbezcf, 2) $kosztybezpbezcf = StringReplace($kosztybezpbezcf, " ", "") $kosztybezpbezcf = StringReplace($kosztybezpbezcf, ".", ",") If StringInStr($kosztybezpbezcf, " ") = 0 Then Local $dl22 = StringLen($kosztybezpbezcf) Local $kohh = StringInStr($kosztybezpbezcf, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($kosztybezpbezcf, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($kosztybezpbezcf, $i) $kosztybezpbezcf = StringTrimLeft($kosztybezpbezcf, $i) $kosztybezpbezcf = $left & " " & $kosztybezpbezcf EndIf Next EndIf If StringInStr($kosztybezpbezcf, ",") = 0 Then $kosztybezpbezcf = $kosztybezpbezcf & ",00" If $kosztybezpbezcf = ',00' Then $kosztybezpbezcf = "0,00" Else Local $poz22 = StringInStr($kosztybezpbezcf, ",") Local $dl22 = StringLen($kosztybezpbezcf) If $dl22 - $poz22 = 1 Then $kosztybezpbezcf = $kosztybezpbezcf & "0" If $dl22 - $poz22 = 0 Then $kosztybezpbezcf = $kosztybezpbezcf & "00" EndIf GUICtrlSetData($cfinput, $kosztybezpbezcf & "zł") $asdas = StringReplace($asdas, " ", "") $asdas = StringReplace($asdas, ".", ",") If StringInStr($asdas, " ") = 0 Then Local $dl22 = StringLen($asdas) Local $kohh = StringInStr($asdas, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($asdas, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($asdas, $i) $asdas = StringTrimLeft($asdas, $i) $asdas = $left & " " & $asdas EndIf Next EndIf If StringInStr($asdas, ",") = 0 Then $asdas = $asdas & ",00" If $asdas = ',00' Then $asdas = "0,00" Else Local $poz22 = StringInStr($asdas, ",") Local $dl22 = StringLen($asdas) If $dl22 - $poz22 = 1 Then $asdas = $asdas & "0" If $dl22 - $poz22 = 0 Then $asdas = $asdas & "00" EndIf GUICtrlSetData($bezpminuscf, $asdas & "zł") For $i = $ko To $ko If $i = 1 Then ContinueLoop EndIf _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL, $i) _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $iHeader_Width) EndIf Next EndFunc ;==>obliczenierazem Func obliczeniabezp2($iRow, $iCol, $newText, $sss = 0) For $ko = $kolumn + 2 To 2 Step -1 If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 0, $ko) = "Razem" Then ExitLoop Next Local $wart Local $iloscjm = 0 Local $rok = '' Local $razem = 0 Local $dod For $j = 2 To $ko If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $j) = "Ilość j." Then $dod = '' $dod = StringReplace(_GUICtrlListView_GetItemText($__LISTVIEWCTRL2, $iRow, $j), " ", "") If $dod = '' Then $dod = 0 ContinueLoop EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $j) = "Koszt j." Then $wart = '' $wart = StringReplace(StringReplace(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL2, $iRow, $j), 2), ',', '.'), " ", "") ContinueLoop EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $j) = "Łącznie" Then $rok = $dod * $wart $razem += $rok $rok = StringReplace($rok, " ", "") $rok = StringReplace($rok, ".", ",") If StringInStr($rok, " ") = 0 Then Local $dl22 = StringLen($rok) Local $kohh = StringInStr($rok, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($rok, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($rok, $i) $rok = StringTrimLeft($rok, $i) $rok = $left & " " & $rok EndIf Next EndIf If StringInStr($rok, ",") = 0 Then $rok = $rok & ",00" If $rok = ',00' Then $rok = "0,00" Else Local $poz22 = StringInStr($rok, ",") Local $dl22 = StringLen($rok) If $dl22 - $poz22 = 1 Then $rok = $rok & "0" If $dl22 - $poz22 = 0 Then $rok = $rok & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL2, $iRow, $rok & "zł", $j) ContinueLoop EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 0, $j) = "Razem" Then $razem = StringReplace($razem, " ", "") $razem = StringReplace($razem, ".", ",") If StringInStr($razem, " ") = 0 Then Local $dl22 = StringLen($razem) Local $kohh = StringInStr($razem, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($razem, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($razem, $i) $razem = StringTrimLeft($razem, $i) $razem = $left & " " & $razem EndIf Next EndIf If StringInStr($razem, ",") = 0 Then $razem = $razem & ",00" If $razem = ',00' Then $razem = "0,00" Else Local $poz22 = StringInStr($razem, ",") Local $dl22 = StringLen($razem) If $dl22 - $poz22 = 1 Then $razem = $razem & "0" If $dl22 - $poz22 = 0 Then $razem = $razem & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL2, $iRow, $razem & "zł", $j) EndIf Next ; dalej Local $sumowanie = 0 Local $qoq = 0 For $s = 2 To _GUICtrlListView_GetItemCount($__LISTVIEWCTRL2) + 1 $qoq = StringTrimRight(StringReplace(StringReplace(_GUICtrlListView_GetItemText($__LISTVIEWCTRL2, $s, $ko), " ", ""), ',', '.'), 2) If $qoq = '' Then $qoq = 0 $sumowanie += $qoq Next $sumowanie = StringReplace($sumowanie, " ", "") $sumowanie = StringReplace($sumowanie, ".", ",") If StringInStr($sumowanie, " ") = 0 Then Local $dl22 = StringLen($sumowanie) Local $kohh = StringInStr($sumowanie, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($sumowanie, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($sumowanie, $i) $sumowanie = StringTrimLeft($sumowanie, $i) $sumowanie = $left & " " & $sumowanie EndIf Next EndIf If StringInStr($sumowanie, ",") = 0 Then $sumowanie = $sumowanie & ",00" If $sumowanie = ',00' Then $sumowanie = "0,00" Else Local $poz22 = StringInStr($sumowanie, ",") Local $dl22 = StringLen($sumowanie) If $dl22 - $poz22 = 1 Then $sumowanie = $sumowanie & "0" If $dl22 - $poz22 = 0 Then $sumowanie = $sumowanie & "00" EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL2, 1, $sumowanie & "zł", $ko) For $i = $ko To $ko If $i = 1 Then ContinueLoop EndIf _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL2, $i) _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL2, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $iHeader_Width) EndIf Next For $j = 2 To $ko If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $j) = "Łącznie" Then For $i = $j To $j If $i = 1 Then ContinueLoop EndIf _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL2, $i) _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL2, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $iHeader_Width) EndIf Next EndIf Next EndFunc ;==>obliczeniabezp2 Func _GUICtrlListView_EnsureVisibleEx($hwnd, $iIndex, $iSubItem = 0, $fPartialOK = False) ;funkey April 15, 2010 If Not IsHWnd($hwnd) Then $hwnd = GUICtrlGetHandle($hwnd) _SendMessage($hwnd, $LVM_ENSUREVISIBLE, $iIndex, $fPartialOK) Local $aRect = _GUICtrlListView_GetItemRect($hwnd, $iSubItem) Local $iPixel For $i = 0 To $iSubItem - 2 ; 2 means: show at second visible column $iPixel += _GUICtrlListView_GetColumnWidth($hwnd, $i) Next _GUICtrlListView_Scroll($hwnd, $iPixel + $aRect[0], 0) EndFunc ;==>_GUICtrlListView_EnsureVisibleEx And load file here Sorry for chaos, just look at Func WM_Notify_Events($hWndGUI, $MsgID, $wParam, $lParam) And sorry for polish words. Please help me with this slow scrolling. Zwinny edit: sorry for 4 parts but it's still writing "You must enter the post" or still giving error
-
next (i can't join it together in [au.toit][/au.toit] ;=============================================================================== ; Function Name: WM_Notify_Events ; Description: Event handler for windows WN_NOTIFY messages ; Parameter(s): $hWndGUI - IN - ; $MsgID - IN - ; $wParam - IN - ; $lParam - IN - ; ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): ; Note(s): ;=============================================================================== Func WM_Notify_Events($hWndGUI, $MsgID, $wParam, $lParam) #forceref $hWndGUI, $MsgID, $wParam If ($wcisniety[1] Or ($wcisniety[2] And $ryczek = "nierycz") Or $wcisniety[3]) And $bWM_NOTIFY = True And $nacisnietyjest = False Then Local $tagNMHDR, $pressed, $event, $retval = $GUI_RUNDEFMSG ;, $idFrom $tagNMHDR = DllStructCreate("int;int;int", $lParam);NMHDR (hwndFrom, idFrom, code) If @error Then $tagNMHDR = 0 Return EndIf ;~ $from = DllStructGetData($tagNMHDR, 1) ;~ $idFrom = DllStructGetData($tagNMHDR,2) ;ConsoleWrite("idFrom="&$idFrom&@LF) $event = DllStructGetData($tagNMHDR, 3) If $wcisniety[1] or $wcisniety[3] Then Select Case $wParam = $__LISTVIEWCTRL Select Case $event = $LVN_BEGINSCROLL $bWM_NOTIFY = False _CancelEdit() _TermEditLib2() ToolTip("") If _IsPressed("01", $dll22) Then $nacisnietyjest = True $wszystkostop = True EndIf EndSelect EndSelect ElseIf $wcisniety[2] Then Select Case $wParam = $__LISTVIEWCTRL2 Select Case $event = $LVN_BEGINSCROLL $bWM_NOTIFY = False _CancelEdit2() _TermEditLib222() ToolTip("") If _IsPressed("01", $dll22) Then $nacisnietyjest = True $wszystkostop = True EndIf EndSelect EndSelect ElseIf $wcisniety[3] Then Select Case $wParam = $__LISTVIEWCTRL3 Select Case $event = $LVN_BEGINSCROLL $bWM_NOTIFY = False _CancelEdit2() _TermEditLib222() ToolTip("") If _IsPressed("01", $dll22) Then $nacisnietyjest = True $wszystkostop = True EndIf EndSelect EndSelect EndIf Select Case ($event = $HDN_TRACK Or $event = $HDN_TRACKW) ;column dragging _CancelEdit() _CancelEdit2() Case $MsgID = $WM_MOVING _MoveControl() _MoveControl2() Case $wParam = $__LISTVIEWCTRL3 If $wcisniety[3] Then Select Case $event = $LVN_COLUMNCLICK $tNMLISTVIEW = DllStructCreate("hwnd hwndfrom;int idfrom;int code;" & _ "int item;int subitem", $lParam) $iColll = DllStructGetData($tNMLISTVIEW, "subitem") If $iColll = 1 Or $iColll = 2 Then Local $tekszt = _GUICtrlListView_GetColumn($__LISTVIEWCTRL3, $iColll) If $tekszt[5] = "Zwiń wszystkie" Then ;~ _GUICtrlListView_SetColumn($__LISTVIEWCTRL3, $iColll, "Rozwiń wszystkie") For $i = _GUICtrlListView_GetColumnCount($__LISTVIEWCTRL3) - 1 To 2 Step -1 Local $tekszt = _GUICtrlListView_GetColumn($__LISTVIEWCTRL3, $i) If $tekszt[5] = "Zwiń" Then For $j = $i - 1 To 0 Step -1 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $j), "(") <> 0 Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $j) = "" Then ExitLoop _GUICtrlListView_HideColumn($__LISTVIEWCTRL3, $j) Next _GUICtrlListView_SetColumn($__LISTVIEWCTRL3, $i, "Rozwiń") Local $jhj = _GUICtrlListView_GetTopIndex($__LISTVIEWCTRL3) _GUICtrlListView_EnsureVisibleEx($__LISTVIEWCTRL3, $jhj, $i - 1) EndIf Next For $i = 0 To 1499 $roki[$i] = True Next Else ;~ _GUICtrlListView_SetColumn($__LISTVIEWCTRL3, $iColll, "Zwiń wszystkie") For $i = _GUICtrlListView_GetColumnCount($__LISTVIEWCTRL3) - 1 To 2 Step -1 Local $tekszt = _GUICtrlListView_GetColumn($__LISTVIEWCTRL3, $i) If $tekszt[5] = "Rozwiń" Then For $j = $i - 1 To 0 Step -1 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $j), "(") <> 0 Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $j) = "" Then ExitLoop _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL3, $j, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL3, $j) _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL3, $j, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL3, $j) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL3, $j, $iHeader_Width) $iLV_Width += $iHeader_Width Else $iLV_Width += $iData_Width EndIf Next _GUICtrlListView_SetColumn($__LISTVIEWCTRL3, $i, "Zwiń") Local $jhj = _GUICtrlListView_GetTopIndex($__LISTVIEWCTRL3) _GUICtrlListView_EnsureVisibleEx($__LISTVIEWCTRL3, $jhj, $i - 1) EndIf Next For $i = 0 To 1499 $roki[$i] = False Next EndIf Else If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $iColll), "(") <> 0 Then Local $juzpo = StringTrimLeft(StringTrimRight(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $iColll), 1), 1) $juzpo = Number($juzpo) - 1500 If $roki[$juzpo] = False Then $roki[$juzpo] = True For $i = $iColll - 1 To 0 Step -1 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $i), "(") <> 0 Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $i) = "" Then ExitLoop _GUICtrlListView_HideColumn($__LISTVIEWCTRL3, $i) Next _GUICtrlListView_SetColumn($__LISTVIEWCTRL3, $iColll, "Rozwiń") Local $jhj = _GUICtrlListView_GetTopIndex($__LISTVIEWCTRL3) _GUICtrlListView_EnsureVisibleEx($__LISTVIEWCTRL3, $jhj, $iColll - 1) Else $roki[$juzpo] = False For $i = $iColll - 1 To 0 Step -1 If StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $i), "(") <> 0 Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL3, 0, $i) = "" Then ExitLoop _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL3, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL3, $i) _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL3, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL3, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL3, $i, $iHeader_Width) $iLV_Width += $iHeader_Width Else $iLV_Width += $iData_Width EndIf Next _GUICtrlListView_SetColumn($__LISTVIEWCTRL3, $iColll, "Zwiń") Local $jhj = _GUICtrlListView_GetTopIndex($__LISTVIEWCTRL3) _GUICtrlListView_EnsureVisibleEx($__LISTVIEWCTRL3, $jhj, $iColll - 1) EndIf EndIf EndIf EndSelect EndIf Case $wParam = $__LISTVIEWCTRL If $wcisniety[1] or $wcisniety[3] Then Select Case $event = $LVN_ITEMCHANGED Local $ckcount = _LvGetCheckedCount($__LISTVIEWCTRL) If $LVCHECKEDCNT <> $ckcount Then $LVCHECKEDCNT = $ckcount $bLVITEMCHECKED = True _CancelEdit() EndIf Case $event = $NM_CLICK ;~ If $bLVEDITondblclick = false Then ;~ ;~ Else If $editFlag = 1 Then _ListView_Click() Else ;~ If $moznakliknac = True Then _ListView_DoubleClick() EndIf $moznakliknac = True EndIf ;~ EndIf ;~ $bLVITEMCHECKED = False; Case $event = $LVN_HOTTRACK _LVGetInfo($lParam) If _GUICtrlListView_GetItemSelected($__LISTVIEWCTRL, $LVINFO[8]) = True Then $moznakliknac = True Else $moznakliknac = False EndIf If $editFlag = 0 Then ; if no cell change return without doing anythingli If $iLastItem = $LVINFO[8] And $iLastsubitemNR = $LVINFO[9] Then Return Else $iLastItem = $LVINFO[8] $iLastsubitemNR = $LVINFO[9] If $LVINFO[8] = 1 And (_GUICtrlListView_GetItemText($__LISTVIEWCTRL, $LVINFO[8], $LVINFO[9]) = "-CF-" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL, $LVINFO[8], $LVINFO[9]) = "-UZ-" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL, $LVINFO[8], $LVINFO[9]) = "-KP-" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL, $LVINFO[8], $LVINFO[9]) = "-PS-" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL, $LVINFO[8], $LVINFO[9]) = "-PP-" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL, $LVINFO[8], $LVINFO[9]) = "-L/P-") Then Local $sToolTipData2 = _GUICtrlListView_GetItemText($__LISTVIEWCTRL, $LVINFO[8], $LVINFO[9]) If $sToolTipData2 = "-CF-" Then $sToolTipData2 = "Cross Financing" If $sToolTipData2 = "-UZ-" Then $sToolTipData2 = "Usługa Zlecana" If $sToolTipData2 = "-PP-" Then $sToolTipData2 = "Pomoc Publiczna" If $sToolTipData2 = "-L/P-" Then $sToolTipData2 = "Liderzy/Partnerzy" If $sToolTipData2 = "-KP-" Then $sToolTipData2 = "Koszty Personelu" If $sToolTipData2 = "-PS-" Then $sToolTipData2 = "Pozycja Skalowana" Sleep(10) Local $mousx = MouseGetPos(0) Local $mousy = MouseGetPos(1) Sleep(140) ToolTip($sToolTipData2, $mousx + 5, $mousy + 5, "", 0, 1) ;~ Local $tip = _GUIToolTip_Create($gui,$TTS_BALLOON) ;~ Local $id = _GUIToolTip_GetCurrentTool($tip) ;~ _GUIToolTip_UpdateTipText($gui,$tip,$id[2],"ala ma kota") ;~ _GUIToolTip_PopUp($tip) ;~ _GUIToolTip_TrackActivate($tip,true,$gui,$id[2]) Else ;~ Local $sToolTipData = _GUICtrlListView_GetItemText($__LISTVIEWCTRL, $LVINFO[8], $LVINFO[9]) ;~ $Mypos = StringInStr($sToolTipData, @CRLF) ;~ $strin = _GUICtrlListView_GetStringWidth($__LISTVIEWCTRL, $sToolTipData) ;~ $strin = $strin + 12 ;~ $str = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL, $LVINFO[9]) ;~ If $Mypos = 0 Then ;~ If $str < $strin Then ;~ Sleep(250) ;ToolTip($sToolTipData, MouseGetPos(0) + 5, MouseGetPos(1) + 5, "", 0, 1) ;~ $tip = _GUIToolTip_Create($gui,$TTS_BALLOON) ;~ $id = _GUIToolTip_GetCurrentTool($tip) ;~ _GUIToolTip_UpdateTipText($gui,$tip,$id[2],"ala ma kota") ;~ Else ;~ ToolTip("") ;~ EndIf ;~ ;ConsoleWrite("R" & $iItem & "C" & $subitemNR & " No tip" & @CR) ;~ Else ToolTip("") ;~ EndIf EndIf EndIf EndIf Case $event = $NM_DBLCLK _LVGetInfo($lParam) _ListView_DoubleClick() Case $event = $NM_RCLICK _ListView_RClick() Case $event = -180 If $editFlag = 1 Then Send("{Esc}") _CancelEdit() $retval = 0 EndIf Case $event = -181 _FillLV_Info($__LISTVIEWCTRL, $LVINFO[0], $LVINFO[1], $LVINFO, 0) Case $event = -121 _LVGetInfo($lParam, 1) Case Else EndSelect EndIf Case $wParam = $__LISTVIEWCTRL2 If $wcisniety[2] Then Select Case $event = $LVN_ITEMCHANGED Local $ckcount = _LvGetCheckedCount($__LISTVIEWCTRL2) If $LVCHECKEDCNT <> $ckcount Then $LVCHECKEDCNT = $ckcount $bLVITEMCHECKED = True _CancelEdit2() EndIf Case $event = $NM_CLICK If $editFlag = 1 Then _ListView_Click2() Else If $moznakliknac2 = True Then _ListView_DoubleClick2() EndIf $moznakliknac2 = True EndIf Case $event = $LVN_HOTTRACK _LVGetInfo2($lParam) If _GUICtrlListView_GetItemSelected($__LISTVIEWCTRL2, $LVINFO[8]) = True Then $moznakliknac2 = True Else $moznakliknac2 = False EndIf If $editFlag = 0 Then If $iLastItem = $LVINFO[8] And $iLastsubitemNR = $LVINFO[9] Then Return Else $iLastItem = $LVINFO[8] $iLastsubitemNR = $LVINFO[9] If $LVINFO[8] = 1 And (_GUICtrlListView_GetItemText($__LISTVIEWCTRL2, $LVINFO[8], $LVINFO[9]) = "-CF-" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, $LVINFO[8], $LVINFO[9]) = "-UZ-" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, $LVINFO[8], $LVINFO[9]) = "-KP-" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, $LVINFO[8], $LVINFO[9]) = "-PS-" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, $LVINFO[8], $LVINFO[9]) = "-PP-" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, $LVINFO[8], $LVINFO[9]) = "-L/P-") Then Local $sToolTipData2 = _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, $LVINFO[8], $LVINFO[9]) If $sToolTipData2 = "-CF-" Then $sToolTipData2 = "Cross Financing" If $sToolTipData2 = "-UZ-" Then $sToolTipData2 = "Usługa Zlecana" If $sToolTipData2 = "-PP-" Then $sToolTipData2 = "Pomoc Publiczna" If $sToolTipData2 = "-L/P-" Then $sToolTipData2 = "Liderzy/Partnerzy" If $sToolTipData2 = "-KP-" Then $sToolTipData2 = "Koszty Personelu" If $sToolTipData2 = "-PS-" Then $sToolTipData2 = "Pozycja Skalowana" Sleep(10) Local $mousx = MouseGetPos(0) Local $mousy = MouseGetPos(1) Sleep(140) ToolTip($sToolTipData2, $mousx + 5, $mousy + 5, "", 0, 1) ;~ Local $tip = _GUIToolTip_Create($gui,$TTS_BALLOON) ;~ Local $id = _GUIToolTip_GetCurrentTool($tip) ;~ _GUIToolTip_UpdateTipText($gui,$tip,$id[2],"ala ma kota") ;~ _GUIToolTip_PopUp($tip) ;~ _GUIToolTip_TrackActivate($tip,true,$gui,$id[2]) Else ;~ Local $sToolTipData = _GUICtrlListView_GetItemText($__LISTVIEWCTRL, $LVINFO[8], $LVINFO[9]) ;~ $Mypos = StringInStr($sToolTipData, @CRLF) ;~ $strin = _GUICtrlListView_GetStringWidth($__LISTVIEWCTRL, $sToolTipData) ;~ $strin = $strin + 12 ;~ $str = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL, $LVINFO[9]) ;~ If $Mypos = 0 Then ;~ If $str < $strin Then ;~ Sleep(250) ;ToolTip($sToolTipData, MouseGetPos(0) + 5, MouseGetPos(1) + 5, "", 0, 1) ;~ $tip = _GUIToolTip_Create($gui,$TTS_BALLOON) ;~ $id = _GUIToolTip_GetCurrentTool($tip) ;~ _GUIToolTip_UpdateTipText($gui,$tip,$id[2],"ala ma kota") ;~ Else ;~ ToolTip("") ;~ EndIf ;~ ;ConsoleWrite("R" & $iItem & "C" & $subitemNR & " No tip" & @CR) ;~ Else ToolTip("") ;~ EndIf EndIf EndIf EndIf Case $event = $NM_DBLCLK _LVGetInfo2($lParam) _ListView_DoubleClick2() Case $event = $NM_RCLICK _ListView_RClick2() Case $event = -180 If $editFlag = 1 Then Send("{Esc}") _CancelEdit2() $retval = 0 EndIf Case $event = -181 _FillLV_Info2($__LISTVIEWCTRL2, $LVINFO[0], $LVINFO[1], $LVINFO, 0) Case $event = -121 _LVGetInfo2($lParam, 1) Case Else EndSelect EndIf Case $lvDate Select Case $event = $DTN_DROPDOWN $kliknietonadate = True $bCanceled = False $bDATECHANGED = False Case $event = $DTN_WMKEYDOWNA $pressed = _vKeyCheck() If $pressed = 27 Then _CancelEdit() Case $event = $DTN_DATETIMECHANGE If $bDATECHANGED = False Then $bDATECHANGED = True $pressed = _vKeyCheck() If $pressed = 27 Then _CancelEdit() $bDATECHANGED = False EndIf Case $event = $DTN_CLOSEUP If $bCanceled or ($bDATECHANGED = False) Then Send("{Esc}") $kliknietonadate = False $bDATECHANGED = False Else ; If $bLVUPDATEonfocusCHANGE = True Then Send("{Enter}") $bDATECHANGED = True ; Else ; Send("{Esc}") ; EndIf EndIf Case $event = -7 $bCanceled = False $bDATECHANGED = False If $bCanceled = True Then ;or ($bDATECHANGED = False) Then Send("{Esc}") $bDATECHANGED = False $bCanceled = False Else $bDATECHANGED = True EndIf EndSelect Case $event = -326 If $editFlag Then _CancelEdit() If $editFlag Then _CancelEdit2() Case $MsgID = $WM_KEYDOWN ;---------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------- Case Else ;;uncomment the following line to have the edit _LVUpdate if the mouse moves ;;off of the listview. If $editFlag And Not (_HasFocus($editCtrl)) Then _LVUpdate($editCtrl, $__LISTVIEWCTRL, $LVINFO[0], $LVINFO[1]) If $editFlag And Not (_HasFocus2($editCtrl)) Then _LVUpdate2($editCtrl, $__LISTVIEWCTRL2, $LVINFO[0], $LVINFO[1]) EndSelect $tagNMHDR = 0 $event = 0 $lParam = 0 Return $retval EndIf EndFunc ;==>WM_Notify_Events Func WM_MOVE_EVENT($hWndGUI, $MsgID, $wParam, $lParam) #forceref $hWndGuI,$MsgID,$wParam,$lParam If $editFlag Then _MoveControl() If $editFlag Then _MoveControl2() Return True EndFunc ;==>WM_MOVE_EVENT ;=============================================================================== ; Function Name: WM_Command_Events ; Description: Event handler for windows WN_Command messages ; Parameter(s): $hWndGUI - IN - ; $MsgID - IN - ; $wParam - IN - ; $lParam - IN - ; ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): ; Note(s): ;=============================================================================== Func WM_Command_Events($hWndGUI, $MsgID, $wParam, $lParam) #forceref $hWndGUI, $MsgID, $wParam $iLAST_PRIMARYDOWN_CTRLID = $lParam Local $nNotifyCode, $nID, $hCtrl Local $retval = $GUI_RUNDEFMSG $nNotifyCode = BitShift($wParam, 16) $nID = BitAND($wParam, 0x0000FFFF) $hCtrl = $lParam Switch $nID Case $lvList Switch $nNotifyCode Case $LBN_DBLCLK $bLVDBLCLICK = True ;Send("{Enter}") _SendMessage($lvControlGui, $WM_COMMAND, _MakeLong2($editCtrl, $LBN_SELCHANGE), $lParam) ;~ _LVUpdate($editCtrl, $__LISTVIEWCTRL, $LVINFO[0], $LVINFO[1]) _LVUpdate2($editCtrl, $__LISTVIEWCTRL2, $LVINFO[0], $LVINFO[1]) Return $GUI_RUNDEFMSG Case $LBN_SELCHANGE If Not $bLVDBLCLICK Then Return 0 Case $LBN_SETFOCUS Case $LBN_KILLFOCUS Case Else EndSwitch Case $lvCombo Switch $nNotifyCode Case $CBN_SELCHANGE Send("{Enter}") EndSwitch Case $handlee[1] Switch $nNotifyCode Case $EN_CHANGE, $EN_SETFOCUS $fFlag[1] = True Case $EN_KILLFOCUS $fFlag2[1] = True EndSwitch Case $handlee[2] Switch $nNotifyCode Case $EN_CHANGE, $EN_SETFOCUS $fFlag[2] = True Case $EN_KILLFOCUS $fFlag2[2] = True EndSwitch Case $handlee[3] Switch $nNotifyCode Case $EN_CHANGE, $EN_SETFOCUS $fFlag[3] = True Case $EN_KILLFOCUS $fFlag2[3] = True EndSwitch Case $handlee[4] Switch $nNotifyCode Case $EN_CHANGE, $EN_SETFOCUS $fFlag[4] = True Case $EN_KILLFOCUS $fFlag2[4] = True EndSwitch Case $handlee[5] Switch $nNotifyCode Case $EN_CHANGE, $EN_SETFOCUS $fFlag[5] = True Case $EN_KILLFOCUS $fFlag2[5] = True EndSwitch Case $handlee[6] Switch $nNotifyCode Case $EN_CHANGE, $EN_SETFOCUS $fFlag[6] = True Case $EN_KILLFOCUS $fFlag2[6] = True EndSwitch Case $handlee[7] Switch $nNotifyCode Case $EN_CHANGE, $EN_SETFOCUS $fFlag[7] = True Case $EN_KILLFOCUS $fFlag2[7] = True EndSwitch Case $handlee[8] Switch $nNotifyCode Case $EN_CHANGE, $EN_SETFOCUS $fFlag[8] = True Case $EN_KILLFOCUS $fFlag2[8] = True EndSwitch Case $handlee[9] Switch $nNotifyCode Case $EN_CHANGE, $EN_SETFOCUS $fFlag[9] = True Case $EN_KILLFOCUS $fFlag2[9] = True EndSwitch Case $handlee[10] Switch $nNotifyCode Case $EN_CHANGE, $EN_SETFOCUS $fFlag[10] = True Case $EN_KILLFOCUS $fFlag2[10] = True EndSwitch Case $handlee[11] Switch $nNotifyCode Case $EN_CHANGE, $EN_SETFOCUS $fFlag[11] = True Case $EN_KILLFOCUS $fFlag2[11] = True EndSwitch Case $handlee[12] Switch $nNotifyCode Case $EN_CHANGE, $EN_SETFOCUS $fFlag[12] = True Case $EN_KILLFOCUS $fFlag2[12] = True EndSwitch Case $przychod Switch $nNotifyCode Case $EN_CHANGE, $EN_SETFOCUS $flaga = True Case $EN_KILLFOCUS $flaga2 = True EndSwitch Case Else EndSwitch If $bCanceled Then $bCanceled = 0 $retval = 0 EndIf Return $retval EndFunc ;==>WM_Command_Events ;=============================================================================== ; Function Name : _MakeLong ; Description : Converts two 16 bit values into on 32 bit value ; Parameter(s) : $LoWord 16bit value ; : $HiWord 16bit value ; Return Value(s) : Long value ; Note(s) : ;=============================================================================== Func _MakeLong($LoWord, $HiWord) Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF)) EndFunc ;==>_MakeLong Func _MakeLong2($LoWord, $HiWord) Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF)) EndFunc ;==>_MakeLong2 ;=============================================================================== ; Function Name : _LVGetInfo ; Description : ; Parameter(s) : $lParam Pointer to $tagNMITEMACTIVE struct ; $iFlag Optional value 0 (default)= fill all fields ; 1 = fill just the latest click location. ; Requirement(s) : ; Return Value(s) : ; User CallTip : ; Author(s) : ; Note(s) : ;=============================================================================== Func _LVGetInfo($lParam, $iFlag = 0) Local $tagNMITEMACTIVATE = DllStructCreate("int;int;int;int;int;int;int;int;int", $lParam) Local $clicked_row = DllStructGetData($tagNMITEMACTIVATE, 4) Local $clicked_col = DllStructGetData($tagNMITEMACTIVATE, 5) If $clicked_col < -1 Then $clicked_col = -1 If $clicked_row < -1 Then $clicked_row = -1 If $clicked_col > _GUICtrlListView_GetColumnCount($__LISTVIEWCTRL) Then $clicked_col = -1 If $clicked_row > _GUICtrlListView_GetItemCount($__LISTVIEWCTRL) Then $clicked_row = -1 $tagNMITEMACTIVATE = 0 If $iFlag = 0 Then _FillLV_Info($__LISTVIEWCTRL, $clicked_row, $clicked_col, $LVINFO) $old_col = $clicked_col EndIf $LVINFO[8] = $clicked_row $LVINFO[9] = $clicked_col ;---------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------- EndFunc ;==>_LVGetInfo Func _LVGetInfo2($lParam, $iFlag = 0) Local $tagNMITEMACTIVATE = DllStructCreate("int;int;int;int;int;int;int;int;int", $lParam) Local $clicked_row = DllStructGetData($tagNMITEMACTIVATE, 4) Local $clicked_col = DllStructGetData($tagNMITEMACTIVATE, 5) If $clicked_col < -1 Then $clicked_col = -1 If $clicked_row < -1 Then $clicked_row = -1 If $clicked_col > _GUICtrlListView_GetColumnCount($__LISTVIEWCTRL2) Then $clicked_col = -1 If $clicked_row > _GUICtrlListView_GetItemCount($__LISTVIEWCTRL2) Then $clicked_row = -1 $tagNMITEMACTIVATE = 0 If $iFlag = 0 Then _FillLV_Info2($__LISTVIEWCTRL2, $clicked_row, $clicked_col, $LVINFO) $old_col = $clicked_col EndIf $LVINFO[8] = $clicked_row $LVINFO[9] = $clicked_col ;---------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------- EndFunc ;==>_LVGetInfo2 ;=============================================================================== ; Function Name: _DebugHeader ; Description: Gary's console debug header. ; Parameter(s): $s_text - IN - ; ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): ; Note(s): ;=============================================================================== Func _DebugHeader($s_text) Return _ "!===========================================================" & @LF & _ "+===========================================================" & @LF & _ "-->" & $s_text & @LF & _ "+===========================================================" & @LF EndFunc ;==>_DebugHeader Func _DebugHeader2($s_text) Return _ "!===========================================================" & @LF & _ "+===========================================================" & @LF & _ "-->" & $s_text & @LF & _ "+===========================================================" & @LF EndFunc ;==>_DebugHeader2 ;=============================================================================== ; Function Name: _GetClassName ; Description: get the classname of a ctrl ; Parameter(s): $nCtrl the ctrlId of to get classname for. ; Requirement(s): ; Return Value(s): Classname or 0 on failure ; User CallTip: ; Author(s): Stephen Podhajecki <gehossafats at netmdc.com/> ; Note(s): Strips trailing numbers from classname. ;=============================================================================== Func _GetClassName($nCtrl) Local $ret, $struct = DllStructCreate("char[128]"), $classname = 0 $ret = DllCall("user32.dll", "int", "GetClassName", "hwnd", GUICtrlGetHandle($nCtrl), "ptr", DllStructGetPtr($struct), "int", DllStructGetSize($struct)) If IsArray($ret) Then $classname = DllStructGetData($struct, 1) ;ConsoleWrite("Classname="&$classname&@LF) EndIf $struct = 0 Return $classname EndFunc ;==>_GetClassName Func _GetClassName2($nCtrl) Local $ret, $struct = DllStructCreate("char[128]"), $classname = 0 $ret = DllCall("user32.dll", "int", "GetClassName", "hwnd", GUICtrlGetHandle($nCtrl), "ptr", DllStructGetPtr($struct), "int", DllStructGetSize($struct)) If IsArray($ret) Then $classname = DllStructGetData($struct, 1) ;ConsoleWrite("Classname="&$classname&@LF) EndIf $struct = 0 Return $classname EndFunc ;==>_GetClassName2 ;=============================================================================== ; Function Name: vKeyCheck alias for __IsPressedMod ; Description: Gets a key press ; Parameter(s): $dll - IN/OPTIONAL - ; Requirement(s): ; Return Value(s): Return the key that is pressed or 0 ; User CallTip: ; Author(s): ; Note(s): ;=============================================================================== Func _vKeyCheck($dll = "user32.dll") Local $aR, $hexKey, $i Local $vkeys[4] = [1, 13, 27, 113];leftmouse,enter,esc,f2 For $i = 0 To UBound($vkeys) - 1 $hexKey = '0x' & Hex($vkeys[$i], 2) $aR = DllCall($dll, "int", "GetAsyncKeyState", "int", $hexKey) If $aR[0] <> 0 Then Return $vkeys[$i] Next Return 0 EndFunc ;==>_vKeyCheck Func _vKeyCheck2($dll = "user32.dll") Local $aR, $hexKey, $i Local $vkeys[4] = [1, 13, 27, 113];leftmouse,enter,esc,f2 For $i = 0 To UBound($vkeys) - 1 $hexKey = '0x' & Hex($vkeys[$i], 2) $aR = DllCall($dll, "int", "GetAsyncKeyState", "int", $hexKey) If $aR[0] <> 0 Then Return $vkeys[$i] Next Return 0 EndFunc ;==>_vKeyCheck2 ;=============================================================================== ; Function Name : _HasFocus ; Description : Return true if control has focus ; Parameter(s) : $nCtrl Ctrlid to check ; Return Value(s) : True is ctrl has focus, false otherwise. ; User CallTip : ; Author(s) : Stephen Podhajecki <gehossafats at netmdc.com/> ; Note(s) : ;=============================================================================== Func _HasFocus($nCtrl) ; If $DebugIt Then ConsoleWrite("_HasFocus>>"&@LF) Local $hwnd If $nCtrl = $lvCombo Then $hwnd = _GetComboInfo($nCtrl, 0) Else $hwnd = GUICtrlGetHandle($nCtrl) EndIf Return ($hwnd = ControlGetHandle($Gui, "", ControlGetFocus($Gui, ""))) EndFunc ;==>_HasFocus Func _HasFocus2($nCtrl) ; If $DebugIt Then ConsoleWrite("_HasFocus>>"&@LF) Local $hwnd If $nCtrl = $lvCombo Then $hwnd = _GetComboInfo2($nCtrl, 0) Else $hwnd = GUICtrlGetHandle($nCtrl) EndIf Return ($hwnd = ControlGetHandle($Gui, "", ControlGetFocus($Gui, ""))) EndFunc ;==>_HasFocus2 ;=============================================================================== ; Function Name : _SetLVCallBack ; Description : ; Parameter(s) : $CallBack Function to use for(primary button) call back defaults to _CancelEdit() ; Return Value(s) : None. ; Author(s) : Stephen Podhajecki <gehossafats at netmdc.com/> ; Note(s) : This is used to open other controls and dialogs ;=============================================================================== Func _SetLVCallBack($CallBack = "_CancelEdit") If $CallBack <> "" Then $LVCALLBACK = $CallBack EndFunc ;==>_SetLVCallBack ;=============================================================================== Func _SetLVCallBack2($CallBack = "_CancelEdit") If $CallBack <> "" Then $LVCALLBACK = $CallBack EndFunc ;==>_SetLVCallBack2 ;=============================================================================== ; Function Name : _SetLVContext ; Description : ; Description : ; Parameter(s) : $CallBack Function to use for (secondary button) contexts defaults to _CancelEdit() ; Return Value(s) : None. ; Author(s) : Stephen Podhajecki <gehossafats at netmdc.com/> ; Note(s) : This is used to open other controls and dialogs (context menus) ;=============================================================================== Func _SetLVContext($Context = "_CancelEdit") If $Context <> "" Then $LVCONTEXT = $Context EndFunc ;==>_SetLVContext Func _SetLVContext2($Context = "_CancelEdit") If $Context <> "" Then $LVCONTEXT = $Context EndFunc ;==>_SetLVContext2 ;=============================================================================== ; Function Name : _LvHasCheckStyle ; Description : ; Parameter(s) : $hCtrl Listview control to check for $LVS_EX_CHECKBOXES style ; ; Requirement(s) : ; Return Value(s) : ; User CallTip : ; Author(s) : Stephen Podhajecki <gehossafats at netmdc.com/> ; Note(s) : ;=============================================================================== Func _LvHasCheckStyle($hCtrl) Local $style = _GUICtrlListView_GetExtendedListViewStyle($hCtrl) if (BitAND($style, $LVS_EX_CHECKBOXES) = $LVS_EX_CHECKBOXES) Then Return True Return False EndFunc ;==>_LvHasCheckStyle ;=============================================================================== Func _LvHasCheckStyle2($hCtrl) Local $style = _GUICtrlListView_GetExtendedListViewStyle($hCtrl) if (BitAND($style, $LVS_EX_CHECKBOXES) = $LVS_EX_CHECKBOXES) Then Return True Return False EndFunc ;==>_LvHasCheckStyle2 ;=============================================================================== ; Function Name : _LvGetCheckedCount ; Description : ; Parameter(s) : $nCtrl Listview control to get checked checkbox count. ; ; Requirement(s) : ; Return Value(s) : number of checked checkboxes, or zero. ; User CallTip : ; Author(s) : Stephen Podhajecki <gehossafats at netmdc.com/> ; Note(s) : ;=============================================================================== Func _LvGetCheckedCount($nCtrl) If _LvHasCheckStyle($nCtrl) Then Local $count = 0 For $x = 0 To _GUICtrlListView_GetItemCount($nCtrl) - 1 If _GUICtrlListView_GetItemChecked($nCtrl, $x) Then $count += 1 Next Return $count EndIf Return 0 EndFunc ;==>_LvGetCheckedCount Func _LvGetCheckedCount2($nCtrl) If _LvHasCheckStyle2($nCtrl) Then Local $count = 0 For $x = 0 To _GUICtrlListView_GetItemCount($nCtrl) - 1 If _GUICtrlListView_GetItemChecked($nCtrl, $x) Then $count += 1 Next Return $count EndIf Return 0 EndFunc ;==>_LvGetCheckedCount2 ;=============================================================================== ; Function Name : _GetComboInfo ; Description : ; Parameter(s) : $nCtrl ComboBox control to get info for ; $type 0= return edit hwnd, 1= return list hwnd ; ; Requirement(s) : ; Return Value(s) : return either the combos edit or list hwnd, or zero otherwise ; User CallTip : ; Author(s) : Stephen Podhajecki <gehossafats at netmdc.com/> ; Note(s) : ;=============================================================================== Func _GetComboInfo($nCtrl, $type = 0) ;ConsoleWrite(" _GetClassName:"&_GetClassName($nCtrl)&@LF) If _GetClassName($nCtrl) <> "ComboBox" Then Return 0 Local $ret, $cbInfo, $v_ret $cbInfo = DllStructCreate("int;int[4];int[4];int;int;int;int") DllStructSetData($cbInfo, 1, DllStructGetSize($cbInfo)) $v_ret = DllCall("user32.dll", "int", "GetComboBoxInfo", "hwnd", GUICtrlGetHandle($nCtrl), "ptr", DllStructGetPtr($cbInfo)) If IsArray($v_ret) Then If $type = 0 Then $ret = DllStructGetData($cbInfo, 6);edit handle ;ConsoleWrite("Text ="&WinGetText($ret)&@LF) ElseIf $type = 1 Then $ret = DllStructGetData($cbInfo, 7);list handle EndIf EndIf $cbInfo = 0 Return $ret EndFunc ;==>_GetComboInfo Func _InvalidateRect($hwnd) Local $v_ret = DllCall("user32.dll", "int", "InvalidateRect", "hwnd", $hwnd, "ptr", 0, "int", 1) Return $v_ret[0] EndFunc ;==>_InvalidateRect Func _UpdateWindow($hwnd) Local $v_ret = DllCall("user32.dll", "int", "UpdateWindow", "hwnd", $hwnd) Return $v_ret[0] EndFunc ;==>_UpdateWindow ;;;ripped from help file. ; Convert the client (GUI) coordinates to screen (desktop) coordinates Func ClientToScreen($hwnd, ByRef $x, ByRef $y) Local $stPoint = DllStructCreate("int;int") DllStructSetData($stPoint, 1, $x) DllStructSetData($stPoint, 2, $y) DllCall("user32.dll", "int", "ClientToScreen", "hwnd", $hwnd, "ptr", DllStructGetPtr($stPoint)) $x = DllStructGetData($stPoint, 1) $y = DllStructGetData($stPoint, 2) ; release Struct not really needed as it is a local $stPoint = 0 EndFunc ;==>ClientToScreen Func _HiWord($x) Return BitShift($x, 16) EndFunc ;==>_HiWord Func _LoWord($x) Return BitAND($x, 0xFFFF) EndFunc ;==>_LoWord
-
_EIPListView.au3 #include-once #include <GuiConstantsEx.au3> #include <GuiListview.au3> #include <GuiComboBox.au3> #include <windowsconstants.au3> #include <editconstants.au3> #include <datetimeconstants.au3> #include <Misc.au3> Global $pozycjai Global $__LISTVIEWCTRL Global $__LISTVIEWCTRL2 Global $bWM_NOTIFY = True Global $kliknietonadate = False Global $mama = False Global $nacisnietyjest = False Global $iLastItem = -1, $iLastsubitemNR = -1 Global $gogo, $czasnr1, $czasnr2 Global $iColll Global $tNMLISTVIEW Global $lvin3, $lvin2 Global $lvin4, $lvin5 Global $roki[1500] For $i = 0 To 1499 $roki[$i] = False Next Global $moznakliknac = False Global $moznakliknac2 = False ;this is a modified version of my original script. It creates a popup ;window for the control as a child window to workaround issues related to ;listviews on tabs. ; ; ------------------------------------------------------------------------------ ; ; AutoIt Version: 3.0 ; Language: English ; Description: Multi-column editable Listview (EditInPlace) ; Stephen Podhajecki <gehossafats at netmdc.com/> Gary Frost <gafrost at charter dot net/> ; pdm for control array concept ; see http://www.autoitscript.com/forum/index.php?showtopic=42694&st=0&gopid=322551&#entry322551 ;============================================================================== ; ######>>> set the type of control for each column <<<###### ; 0 = Input/edit 1 = combobox 2 = date control ; Global $LVcolControl[4]=[0,0,1,2] ; _InitEditLib();######>>> add this after you create your main gui<<<###### ; _MonitorEditState($Gui, $editCtrl, $editFlag, $__LISTVIEWCTRL, $LVINFO, $LVcolControl);######>>> add this in your message loop<<<###### ; _TermEditLib();######>>> add this after your message loop when exiting the script<<<###### ; $__LISTVIEWCTRL = $__LISTVIEWCTRL1 ######>>> Set this to your ListView control <<<###### ;============================================================================== Global $DebugIt = 0 ;Global Const $WM_NOTIFY = 0x004E ;Global Const $WM_KEYDOWN = 0x0100 ;Global Const $WM_COMMAND = 0x0111 Global Const $WM_MOVING = 0x0216 ;Global Const $WM_MOVE = 0x0003 ;Global Const $WM_KILLFOCUS = 0x0008 ;Global Const $WM_SETFOCUS = 0x0007 ;Global Const $WM_ACTIVATE = 0x0006 Global Const $WM_CAPTURECHANGED = 0x0215 Global Const $HD_FIRST = -300 ;Global Const $HDN_TRACK = ($HDN_FIRST - 8) ;Global Const $HDN_TRACKW = ($HDN_FIRST - 28) Global Const $LBN_SELCHANGE = 1 Global Const $LBN_DBLCLK = 2 Global Const $LBN_SETFOCUS = 4 Global Const $LBN_KILLFOCUS = 5 ;Global Const $EN_SETFOCUS =0x0100 ;Global Const $EN_KILLFOCUS = 0x0200 ;Global Const $EN_CHANGE =0x0300 ;Global Const $EN_UPDATE =0x0400 Global Const $DT_FIRST = -760 ;Global Const $DTN_DATETIMECHANGE = $DTN_FIRST + 1 ; the systemtime has changed ;~ Global Const $DTN_USERSTRINGA = $DTN_FIRST + 2 ; the user has entered a string Global Const $DTN_WMKEYDOWNA = $DTN_FIRST + 3 ; modify keydown on app format field (X) ;~ Global Const $DTN_FORMATA = $DTN_FIRST + 4 ; query display for app format field (X) ;~ Global Const $DTN_FORMATQUERYA = $DTN_FIRST + 5 ; query formatting info for app format field (X) ;Global Const $DTN_DROPDOWN = $DTN_FIRST + 6 ; MonthCal has dropped down ;Global Const $DTN_CLOSEUP = $DTN_FIRST + 7 ; MonthCal is popping up ;Global Const $CBN_SELCHANGE = 1; ;Global Const $CBN_DBLCLK = 2; ;Global Const $CBN_SETFOCUS = 3; ;Global Const $CBN_KILLFOCUS = 4; ;Global Const $CBN_EDITCHANGE = 5; ;Global Const $CBN_EDITUPDATE = 6; ;Global Const $CBN_DROPDOWN = 7; ;Global Const $CBN_CLOSEUP = 8; ;Global Const $CBN_SELENDOK = 9; ;Global Const $CBN_SELENDCANCEL = 10; ;Global Const $NM_FIRST = 0 ;Global Const $NM_CLICK = ($NM_FIRST - 2) ;Global Const $NM_DBLCLK = ($NM_FIRST - 3) ;Global Const $NM_RCLICK = ($NM_FIRST - 5) ;Global Const $NM_RDBLCLK = ($NM_FIRST - 6) ;Global Const $NM_SETFOCUS = ($NM_FIRST - 7) ;Global Const $NM_KILLFOCUS = ($NM_FIRST - 8) ;Global Const $LVS_SHAREIMAGELISTS = 0x0040 ;~ Global Const $LVM_FIRST = 0x1000 ;~ Global Const $LVM_SETIMAGELIST = ($LVM_FIRST + 3) ;~ Global Const $LVM_GETITEM = ($LVM_FIRST + 5) ;~ Global Const $LVM_SETITEM = ($LVM_FIRST + 6) ;~ Global Const $LVM_GETNEXTITEM = ($LVM_FIRST + 12) ;~ Global Const $LVM_ENSUREVISIBLE = ($LVM_FIRST + 19) ;~ Global Const $LVM_SETITEMSTATE = ($LVM_FIRST + 43) ;Global Const $LVN_FIRST = -100 ;Global Const $LVN_ENDLABELEDITA = (-106) ;Global Const $LVN_ITEMCHANGING = ($LVN_FIRST - 0) ;Global Const $LVN_ITEMCHANGED = ($LVN_FIRST - 1) ;Global Const $LVN_INSERTITEM = ($LVN_FIRST - 2) ;Global Const $LVN_DELETEITEM = ($LVN_FIRST - 3) ;Global Const $LVN_DELETEALLITEMS = ($LVN_FIRST - 4) ;Global Const $LVN_COLUMNCLICK = ($LVN_FIRST - 8) ;Global Const $LVN_BEGINDRAG = ($LVN_FIRST - 9) ;Global Const $LVN_BEGINRDRAG = ($LVN_FIRST - 11) ;Global Const $LVN_ODCACHEHINT = ($LVN_FIRST - 13) ;Global Const $LVN_ITEMACTIVATE = ($LVN_FIRST - 14) ;Global Const $LVN_ODSTATECHANGED = ($LVN_FIRST - 15) ;Global Const $LVN_HOTTRACK = ($LVN_FIRST - 21) ;Global Const $LVN_KEYDOWN = ($LVN_FIRST - 55) ;Global Const $LVN_MARQUEEBEGIN = ($LVN_FIRST - 56) Global Const $GUILOSTFOCUS = -1 Global $LVCALLBACK = "_CancelEdit" ; default to cancel edit Global $LVCONTEXT = "_CancelEdit" ; defalut to cancel edit Global $bCALLBACK = False ;a call-back has been executed. Global $bCALLBACK_EVENT = False Global $bLVUPDATEonfocusCHANGE = 1 ;save editing if another cell is clicked Global $bLVDBLCLICK = False; Global $bLVITEMCHECKED = False; Global $bLVEDITondblclick = False ;Must dblclick to edit Global $bDATECHANGED = False; Global $bPROGRESSSHOWING = False; Global $bInitiated = False Global $LVCHECKEDCNT = 0; Global $old_col Global $__LISTVIEWCTRL = -999 Global $__LISTVIEWCTRL2 = -999 Global $__LISTVIEWCTRL3 = -999 Global $Gui, $editFlag Global $bCanceled = False Global $editHwnd ;= the Hwnd of the editing control. Global $editCtrl ;= the CtrlId of the editing control. ;;array dim to number of cols, value of each element determines control. Global $LVcolControl[1] = [0] ;0= ignore, 1= edit, 2= combo, 4= calendar, 8 = list, 256 use callback. Global $LVcolRControl[1] = [0] ;0= ignore, 256 = context callback. Global $lvControlGui, $lvEdit, $lvCombo, $lvDate, $lvList Global $LVINFO[11]; ;=============================================================================== ; Function Name: _InitEditLib ; Description: Create the editing controls and registers WM_NOTIFY handler. ; Parameter(s): ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): ; Note(s): Call this BEFORE you create your listview. ;=============================================================================== Func _InitEditLib($lvEditStart = "", $lvComboStart = "", $lvDataStart = "", $lvListStart = "", $hParent = 0) If $mama = False Then _TermEditLib() $lvControlGui = GUICreate("", 0, 0, 1, 1, $WS_POPUP, -1, $hParent) $lvEdit = GUICtrlCreateInput($lvEditStart, 0, 0, 1, 1, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $WS_BORDER), 0) GUICtrlSetState($lvEdit, $GUI_HIDE) GUICtrlSetFont($lvEdit, 8.5 * $newgui[1] / $stGui[1]) $lvCombo = GUICtrlCreateCombo($lvComboStart, 0, 0, 1, 1, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL), $WS_EX_TOPMOST) GUICtrlSetState($lvCombo, $GUI_HIDE) $lvDate = GUICtrlCreateDate($lvDataStart, 0, 0, 1, 1, $DTS_SHORTDATEFORMAT, BitOR($WS_EX_CLIENTEDGE, $WS_EX_TOPMOST)) GUICtrlSetState($lvDate, $GUI_HIDE) $lvList = GUICtrlCreateList($lvListStart, 0, 0, 1, 1, -1, $WS_EX_TOPMOST) GUICtrlSetState($lvList, $GUI_HIDE) GUISetState(@SW_SHOW) GUIRegisterMsg($WM_NOTIFY, "WM_Notify_Events") EndIf GUIRegisterMsg($WM_COMMAND, "WM_Command_Events") GUIRegisterMsg($WM_ACTIVATE, "WM_ACTIVATE") GUIRegisterMsg($WM_MOVE, "WM_MOVE_EVENT") GUIRegisterMsg($WM_MOVING, "WM_Notify_Events") $mama = False EndFunc ;==>_InitEditLib Func _InitEditLib2($lvEditStart = "", $lvComboStart = "", $lvDataStart = "", $lvListStart = "", $hParent = 0) If $mama = False Then _TermEditLib2() $lvControlGui = GUICreate("", 0, 0, 1, 1, $WS_POPUP, -1, $hParent) $lvEdit = GUICtrlCreateInput($lvEditStart, 0, 0, 1, 1, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $WS_BORDER), 0) GUICtrlSetState($lvEdit, $GUI_HIDE) GUICtrlSetFont($lvEdit, 8.5 * $newgui[1] / $stGui[1]) $lvCombo = GUICtrlCreateCombo($lvComboStart, 0, 0, 1, 1, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL), $WS_EX_TOPMOST) GUICtrlSetState($lvCombo, $GUI_HIDE) $lvDate = GUICtrlCreateDate($lvDataStart, 0, 0, 1, 1, $DTS_SHORTDATEFORMAT, BitOR($WS_EX_CLIENTEDGE, $WS_EX_TOPMOST)) GUICtrlSetState($lvDate, $GUI_HIDE) $lvList = GUICtrlCreateList($lvListStart, 0, 0, 1, 1, -1, $WS_EX_TOPMOST) GUICtrlSetState($lvList, $GUI_HIDE) GUISetState(@SW_SHOW) GUIRegisterMsg($WM_NOTIFY, "WM_Notify_Events") EndIf GUIRegisterMsg($WM_COMMAND, "WM_Command_Events") GUIRegisterMsg($WM_ACTIVATE, "WM_ACTIVATE") GUIRegisterMsg($WM_MOVE, "WM_MOVE_EVENT") GUIRegisterMsg($WM_MOVING, "WM_Notify_Events") $mama = False EndFunc ;==>_InitEditLib2 ;=============================================================================== ; Function Name: _TermEditLib ; Description: Deletes the editing controls and un-registers WM_NOTIFY handler. ; Parameter(s): ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): ; Note(s): Call this when close your gui if switching to another gui. ;=============================================================================== Func _TermEditLib() GUICtrlDelete($lvEdit) GUICtrlDelete($lvCombo) GUICtrlDelete($lvDate) GUICtrlDelete($lvList) GUIRegisterMsg($WM_ACTIVATE, "") GUIRegisterMsg($WM_MOVE, "") GUIRegisterMsg($WM_MOVING, "") GUIRegisterMsg($WM_NOTIFY, "") GUIRegisterMsg($WM_COMMAND, "") EndFunc ;==>_TermEditLib Func _TermEditLib2() GUIDelete($lvControlGui) GUICtrlDelete($lvEdit) GUICtrlDelete($lvCombo) GUICtrlDelete($lvDate) GUICtrlDelete($lvList) GUIRegisterMsg($WM_COMMAND, "") GUIRegisterMsg($WM_MOVING, "") GUIRegisterMsg($WM_ACTIVATE, "") GUIRegisterMsg($WM_MOVE, "") $mama = True EndFunc ;==>_TermEditLib2 Func _TermEditLib22() GUICtrlDelete($lvEdit) GUICtrlDelete($lvCombo) GUICtrlDelete($lvDate) GUICtrlDelete($lvList) GUIRegisterMsg($WM_ACTIVATE, "") GUIRegisterMsg($WM_MOVE, "") GUIRegisterMsg($WM_MOVING, "") GUIRegisterMsg($WM_NOTIFY, "") GUIRegisterMsg($WM_COMMAND, "") EndFunc ;==>_TermEditLib22 Func _TermEditLib222() GUIDelete($lvControlGui) GUICtrlDelete($lvEdit) GUICtrlDelete($lvCombo) GUICtrlDelete($lvDate) GUICtrlDelete($lvList) GUIRegisterMsg($WM_COMMAND, "") GUIRegisterMsg($WM_MOVING, "") GUIRegisterMsg($WM_ACTIVATE, "") GUIRegisterMsg($WM_MOVE, "") $mama = True EndFunc ;==>_TermEditLib222 ;=============================================================================== ; Function Name: ListView_Click ; Description: Called from WN_NOTIFY event handler. ; Parameter(s): ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): Stephen Podhajecki <gehossafats at netmdc.com/> ; Note(s): ;=============================================================================== Func _ListView_Click() ;---------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------- If $editFlag = 1 Then If $bLVUPDATEonfocusCHANGE = True Then If $editCtrl = $lvDate Then If $bDATECHANGED = False Then _CancelEdit() $kliknietonadate = False Return EndIf EndIf _LVUpdate($editCtrl, $__LISTVIEWCTRL, $lvin2, $lvin3) $kliknietonadate = False For $i = $lvin3 To $lvin3 If $i = 1 Then ContinueLoop EndIf _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL, $i) _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $iHeader_Width) EndIf Next Else _CancelEdit() $kliknietonadate = False EndIf Else If $bLVEDITondblclick = False Then _InitEdit($LVINFO, $LVcolControl) $kliknietonadate = False EndIf EndIf EndFunc ;==>_ListView_Click Func _ListView_Click2() ;---------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------- If $editFlag = 1 Then If $bLVUPDATEonfocusCHANGE = True Then If $editCtrl = $lvDate Then If $bDATECHANGED = False Then _CancelEdit2() $kliknietonadate = False Return EndIf EndIf _LVUpdate2($editCtrl, $__LISTVIEWCTRL2, $lvin4, $lvin5) $kliknietonadate = False For $i = $lvin5 To $lvin5 If $i = 1 Then ContinueLoop EndIf _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL2, $i) _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL2, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $iHeader_Width) EndIf Next Else _CancelEdit2() $kliknietonadate = False EndIf Else If $bLVEDITondblclick = False Then _InitEdit2($LVINFO, $LVcolControl) $kliknietonadate = False EndIf EndIf EndFunc ;==>_ListView_Click2 ;=============================================================================== ; Function Name: ListView_RClick ; Description: Called from WN_NOTIFY event handler. ; Parameter(s): ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): Stephen Podhajecki <gehossafats at netmdc.com/> ; Note(s): ;=============================================================================== Func _ListView_RClick() If $editFlag = 1 Then _CancelEdit() Else If $LVINFO[0] < 0 Or $LVINFO[1] < 0 Then Return 0 _CancelEdit() EndIf ToolTip("") ;---------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------- EndFunc ;==>_ListView_RClick Func _ListView_RClick2() If $editFlag = 1 Then _CancelEdit2() Else If $LVINFO[0] < 0 Or $LVINFO[1] < 0 Then Return 0 _CancelEdit2() EndIf ToolTip("") ;---------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------- EndFunc ;==>_ListView_RClick2 ;=============================================================================== ; Function Name: ListView_DoubleClick ; Description: Called from WN_NOTIFY event handler. ; Parameter(s): ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): ; Note(s): Initiates the edit process on a DblClick ;=============================================================================== Func _ListView_DoubleClick() ;---------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------- If $LVINFO[8] = 0 Or $LVINFO[8] = 1 Or $LVINFO[9] = 0 Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 0, $LVINFO[9]) = "Razem" or (StringInStr(_GUICtrlListView_GetItemText($__LISTVIEWCTRL, $LVINFO[8], 0), "--") <> 0 And $LVINFO[9] > 1) Then Return $lvControlGui = GUICreate("", 0, 0, 1, 1, $WS_POPUP, -1, $Gui) $lvEdit = GUICtrlCreateInput("", 0, 0, 1, 1, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $WS_BORDER), 0) GUICtrlSetState($lvEdit, $GUI_HIDE) GUICtrlSetFont($lvEdit, 8.5 * $newgui[1] / $stGui[1]) $lvCombo = GUICtrlCreateCombo("", 0, 0, 1, 1, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL), $WS_EX_TOPMOST) GUICtrlSetState($lvCombo, $GUI_HIDE) $lvDate = GUICtrlCreateDate("", 0, 0, 1, 1, $DTS_SHORTDATEFORMAT, BitOR($WS_EX_CLIENTEDGE, $WS_EX_TOPMOST)) GUICtrlSetState($lvDate, $GUI_HIDE) $lvList = GUICtrlCreateList("", 0, 0, 1, 1, -1, $WS_EX_TOPMOST) GUICtrlSetState($lvList, $GUI_HIDE) GUISetState(@SW_SHOW) If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, $LVINFO[9]) = "-L/P-" Then GUICtrlSetData($lvCombo, "") GUICtrlSetData($lvCombo, "L|P1|P2|P3|P4") EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, $LVINFO[9]) = "-PP-" Then GUICtrlSetData($lvCombo, "") GUICtrlSetData($lvCombo, "20%|25%|30%|35%|40%|45%|50%|100%") EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, $LVINFO[9]) = "-KP-" Then GUICtrlSetData($lvCombo, "") GUICtrlSetData($lvCombo, "TAK|NIE") EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, $LVINFO[9]) = "-PS-" Then GUICtrlSetData($lvCombo, "") GUICtrlSetData($lvCombo, "TAK|NIE") EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, $LVINFO[9]) = "-CF-" Then GUICtrlSetData($lvCombo, "") GUICtrlSetData($lvCombo, "TAK|NIE") EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, $LVINFO[9]) = "-UZ-" Then GUICtrlSetData($lvCombo, "") GUICtrlSetData($lvCombo, "TAK|NIE") EndIf $lvin2 = $LVINFO[8] $lvin3 = $LVINFO[9] If $editFlag = 0 Then _InitEdit($LVINFO, $LVcolControl) Else _CancelEdit() EndIf EndFunc ;==>_ListView_DoubleClick Func _ListView_DoubleClick2() ;---------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------- If $LVINFO[8] = 0 Or $LVINFO[8] = 1 Or $LVINFO[9] = 0 Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $LVINFO[9]) = "Łącznie" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 0, $LVINFO[9]) = "Razem" Then Return $lvControlGui = GUICreate("", 0, 0, 1, 1, $WS_POPUP, -1, $Gui) $lvEdit = GUICtrlCreateInput("", 0, 0, 1, 1, BitOR($ES_AUTOHSCROLL, $ES_NOHIDESEL, $WS_BORDER), 0) GUICtrlSetState($lvEdit, $GUI_HIDE) GUICtrlSetFont($lvEdit, 8.5 * $newgui[1] / $stGui[1]) $lvCombo = GUICtrlCreateCombo("", 0, 0, 1, 1, BitOR($CBS_DROPDOWNLIST, $WS_VSCROLL), $WS_EX_TOPMOST) GUICtrlSetState($lvCombo, $GUI_HIDE) $lvDate = GUICtrlCreateDate("", 0, 0, 1, 1, $DTS_SHORTDATEFORMAT, BitOR($WS_EX_CLIENTEDGE, $WS_EX_TOPMOST)) GUICtrlSetState($lvDate, $GUI_HIDE) $lvList = GUICtrlCreateList("", 0, 0, 1, 1, -1, $WS_EX_TOPMOST) GUICtrlSetState($lvList, $GUI_HIDE) GUISetState(@SW_SHOW) If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $LVINFO[9]) = "-L/P-" Then GUICtrlSetData($lvCombo, "") GUICtrlSetData($lvCombo, "L|P1|P2|P3|P4") EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $LVINFO[9]) = "-PP-" Then GUICtrlSetData($lvCombo, "") GUICtrlSetData($lvCombo, "20%|25%|30%|35%|40%|45%|50%|100%") EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $LVINFO[9]) = "-KP-" Then GUICtrlSetData($lvCombo, "") GUICtrlSetData($lvCombo, "TAK|NIE") EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $LVINFO[9]) = "-PS-" Then GUICtrlSetData($lvCombo, "") GUICtrlSetData($lvCombo, "TAK|NIE") EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $LVINFO[9]) = "-CF-" Then GUICtrlSetData($lvCombo, "") GUICtrlSetData($lvCombo, "TAK|NIE") EndIf If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $LVINFO[9]) = "-UZ-" Then GUICtrlSetData($lvCombo, "") GUICtrlSetData($lvCombo, "TAK|NIE") EndIf $lvin4 = $LVINFO[8] $lvin5 = $LVINFO[9] If $editFlag = 0 Then _InitEdit2($LVINFO, $LVcolControl) Else _CancelEdit2() EndIf EndFunc ;==>_ListView_DoubleClick2 ; WM_NOTIFY event handler ;=============================================================================== ; Function Name: _MonitorEditState ; Description: Handles {enter} {esc} and {f2} ; Parameter(s): $h_gui - IN/OUT - ; $editCtrl - IN/OUT - ; $editFlag - IN/OUT - ; $__LISTVIEWCTRL - IN/OUT - ; $LVINFO - IN/OUT - ; $LVcolControl - IN - ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): ; Note(s): ;=============================================================================== Func _MonitorEditState(ByRef $editCtrl, ByRef $editFlag, ByRef $__LISTVIEWCTRL, ByRef $LVINFO) Local $pressed = _vKeyCheck() If $editFlag And $pressed = 13 Then; pressed enter If $wcisniety[1] = True Then If $editCtrl = $lvCombo Then _LVUpdate($editCtrl, $__LISTVIEWCTRL, $lvin2, $lvin3) $iLV_Width = 17 For $i = $lvin3 To $lvin3 If $i = 1 Then ContinueLoop EndIf _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL, $i) _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $iHeader_Width) EndIf Next Else _LVUpdate($editCtrl, $__LISTVIEWCTRL, $lvin2, $lvin3) $iLV_Width = 17 For $i = $lvin3 To $lvin3 If $i = 1 Then ContinueLoop EndIf _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL, $i) _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL, $i, $iHeader_Width) EndIf Next EndIf _WinAPI_InvalidateRect(0, 0) ElseIf $wcisniety[2] = True Then If $editCtrl = $lvCombo Then _LVUpdate2($editCtrl, $__LISTVIEWCTRL2, $lvin4, $lvin5) $iLV_Width = 17 For $i = $lvin5 To $lvin5 If $i = 1 Then ContinueLoop EndIf _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL2, $i) _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL2, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $iHeader_Width) EndIf Next Else _LVUpdate2($editCtrl, $__LISTVIEWCTRL2, $lvin4, $lvin5) $iLV_Width = 17 For $i = $lvin5 To $lvin5 If $i = 1 Then ContinueLoop EndIf _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL2, $i) _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($__LISTVIEWCTRL2, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($__LISTVIEWCTRL2, $i, $iHeader_Width) EndIf Next EndIf _WinAPI_InvalidateRect(0, 0) Else EndIf ElseIf $editFlag And $pressed = 27 Then; pressed esc _CancelEdit() _WinAPI_InvalidateRect(0, 0) ElseIf Not $editFlag And $pressed = 113 Then; pressed f2 EndIf EndFunc ;==>_MonitorEditState Func Enter() ; just a dummy function EndFunc ;==>Enter ;=============================================================================== ; Function Name: _LVUpdate ; Description: Put the new data in the Listview ; Parameter(s): $editCtrl - IN/OUT - ; $__LISTVIEWCTRL - IN/OUT - ; $iRow - IN - ; $iCol - IN - ; ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): ; Note(s): ;=============================================================================== Func _LVUpdate(ByRef $editCtrl, ByRef $__LISTVIEWCTRL, $iRow, $iCol) If $bCanceled Then Return Local $auc = 0 Local $newText = GUICtrlRead($editCtrl) If $editCtrl = $lvList Or $editCtrl = $lvCombo Then If $newText <> "" Then _GUICtrlListView_SetItemText($__LISTVIEWCTRL, $iRow, $newText, $iCol) obliczenierazem() $jakiklikniety[$iCol][$iRow] = True EndIf Else If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, 4) = "-PP-" Then $auc += 1 If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, 5) = "-L/P-" Then $auc += 1 If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, 4) = "-L/P-" Then $auc += 1 ; wazne If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 0, $iCol) = "wartość j.m" Then ; jesli wart If StringRegExp($newText, '[^0-9\,\r\n\s]') = 0 Then ; jesli nowy ma dobre rzeczy to If $newText = "" Then _GUICtrlListView_SetItemText($__LISTVIEWCTRL, $iRow, "", $iCol) obliczeniabezp($iRow, $iCol, $newText) $jakiklikniety[$iCol][$iRow] = True Else Local $textcik = StringReplace($newText, ",", ".") Local $numreplacements = @extended If $numreplacements > 1 Then Else If StringInStr($newText, ",") = 0 Then $newText = StringReplace($newText, " ", "") $newText = StringReplace($newText, ".", ",") If StringInStr($newText, " ") = 0 Then Local $dl22 = StringLen($newText) Local $kohh = StringInStr($newText, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($newText, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($newText, $i) $newText = StringTrimLeft($newText, $i) $newText = $left & " " & $newText EndIf Next EndIf $newText = $newText & ",00zł" If $newText = ',00' Then $newText = "0,00" _GUICtrlListView_SetItemText($__LISTVIEWCTRL, $iRow, $newText, $iCol) obliczeniabezp($iRow, $iCol, $newText) $jakiklikniety[$iCol][$iRow] = True Else $newText = StringReplace($newText, ",", ".") $newText = StringReplace($newText, " ", "") $newText = Round(Number($newText), 2) $newText = StringReplace($newText, ".", ",") If StringInStr($newText, " ") = 0 Then Local $dl22 = StringLen($newText) Local $kohh = StringInStr($newText, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($newText, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($newText, $i) $newText = StringTrimLeft($newText, $i) $newText = $left & " " & $newText EndIf Next EndIf If StringInStr($newText, ",") = 0 Then $newText = $newText & ",00" If $newText = ',00' Then $newText = "0,00" Else Local $poz22 = StringInStr($newText, ",") Local $dl22 = StringLen($newText) If $dl22 - $poz22 = 1 Then $newText = $newText & "0" If $dl22 - $poz22 = 0 Then $newText = $newText & "00" EndIf $newText = $newText & "zł" _GUICtrlListView_SetItemText($__LISTVIEWCTRL, $iRow, $newText, $iCol) obliczeniabezp($iRow, $iCol, $newText) $jakiklikniety[$iCol][$iRow] = True EndIf EndIf EndIf Else EndIf ; TUTAJ JEST OBLICZAINE ElseIf _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 0, $iCol) = "ilość j.m" Then If $newText = "" Then _GUICtrlListView_SetItemText($__LISTVIEWCTRL, $iRow, "", $iCol) obliczeniabezp($iRow, $iCol, $newText, 1) $jakiklikniety[$iCol][$iRow] = True Else If StringRegExp($newText, '[^0-9\r\n\s]') = 0 Then If $newText = "" Then Else $newText = StringReplace($newText, " ", "") If StringInStr($newText, " ") = 0 Then Local $dl22 = StringLen($newText) Local $kohh = StringInStr($newText, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($newText, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($newText, $i) $newText = StringTrimLeft($newText, $i) $newText = $left & " " & $newText EndIf Next EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL, $iRow, $newText, $iCol) obliczeniabezp($iRow, $iCol, $newText, 1) $jakiklikniety[$iCol][$iRow] = True EndIf Else EndIf EndIf ElseIf _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, $iCol) = "j.m" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, $iCol) = "Bezpośrednie" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, $iCol) = "Bezposrednie" Then _GUICtrlListView_SetItemText($__LISTVIEWCTRL, $iRow, $newText, $iCol) If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, $iCol) = "j.m" Then _GUICtrlListView_SetItemText($__LISTVIEWCTRL3, $iRow, $newText, 2) If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, $iCol) = "Bezpośrednie" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, $iCol) = "Bezposrednie" Then _GUICtrlListView_SetItemText($__LISTVIEWCTRL3, $iRow, $newText, $iCol) ;~ Elseif _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 0, $LVINFO[7]) = "Razem" Then ;~ ;~ Else EndIf EndIf $LVINFO[6] = $iRow $LVINFO[7] = $iCol _CancelEdit() EndFunc ;==>_LVUpdate Func _LVUpdate2(ByRef $editCtrl, ByRef $__LISTVIEWCTRL2, $iRow, $iCol) If $bCanceled Then Return Local $auc = 0 Local $newText = GUICtrlRead($editCtrl) If $editCtrl = $lvList Or $editCtrl = $lvCombo Then If $newText <> "" Then _GUICtrlListView_SetItemText($__LISTVIEWCTRL2, $iRow, $newText, $iCol) ;~ obliczenierazem() EndIf Else If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, 4) = "-PP-" Then $auc += 1 If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, 5) = "-L/P-" Then $auc += 1 If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, 4) = "-L/P-" Then $auc += 1 ; wazne If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $iCol) = "Koszt j." Then ; jesli wart If StringRegExp($newText, '[^0-9\,\r\n\s]') = 0 Then ; jesli nowy ma dobre rzeczy to If $newText = "" Then _GUICtrlListView_SetItemText($__LISTVIEWCTRL2, $iRow, "", $iCol) obliczeniabezp2($iRow, $iCol, $newText) Else Local $textcik = StringReplace($newText, ",", ".") Local $numreplacements = @extended If $numreplacements > 1 Then Else If StringInStr($newText, ",") = 0 Then $newText = StringReplace($newText, " ", "") $newText = StringReplace($newText, ".", ",") If StringInStr($newText, " ") = 0 Then Local $dl22 = StringLen($newText) Local $kohh = StringInStr($newText, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($newText, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($newText, $i) $newText = StringTrimLeft($newText, $i) $newText = $left & " " & $newText EndIf Next EndIf $newText = $newText & ",00zł" If $newText = ',00' Then $newText = "0,00" _GUICtrlListView_SetItemText($__LISTVIEWCTRL2, $iRow, $newText, $iCol) obliczeniabezp2($iRow, $iCol, $newText) Else $newText = StringReplace($newText, ",", ".") $newText = StringReplace($newText, " ", "") $newText = Round(Number($newText), 2) $newText = StringReplace($newText, ".", ",") If StringInStr($newText, " ") = 0 Then Local $dl22 = StringLen($newText) Local $kohh = StringInStr($newText, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($newText, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($newText, $i) $newText = StringTrimLeft($newText, $i) $newText = $left & " " & $newText EndIf Next EndIf If StringInStr($newText, ",") = 0 Then $newText = $newText & ",00" If $newText = ',00' Then $newText = "0,00" Else Local $poz22 = StringInStr($newText, ",") Local $dl22 = StringLen($newText) If $dl22 - $poz22 = 1 Then $newText = $newText & "0" If $dl22 - $poz22 = 0 Then $newText = $newText & "00" EndIf $newText = $newText & "zł" _GUICtrlListView_SetItemText($__LISTVIEWCTRL2, $iRow, $newText, $iCol) obliczeniabezp2($iRow, $iCol, $newText) EndIf EndIf EndIf Else EndIf ; TUTAJ JEST OBLICZAINE ElseIf _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $iCol) = "Ilość j." Then If $newText = "" Then _GUICtrlListView_SetItemText($__LISTVIEWCTRL2, $iRow, "", $iCol) obliczeniabezp2($iRow, $iCol, $newText) Else If StringRegExp($newText, '[^0-9\r\n\s]') = 0 Then If $newText = "" Then Else $newText = StringReplace($newText, " ", "") If StringInStr($newText, " ") = 0 Then Local $dl22 = StringLen($newText) Local $kohh = StringInStr($newText, ",") Local $wiadomo2 = 0 If $kohh <> 0 Then $wiadomo2 = StringTrimLeft($newText, $kohh) $wiadomo2 = StringLen($wiadomo2) + 1 EndIf For $i = $dl22 - 3 - $wiadomo2 To 0 Step -3 If $i > 0 Then Local $left = StringLeft($newText, $i) $newText = StringTrimLeft($newText, $i) $newText = $left & " " & $newText EndIf Next EndIf _GUICtrlListView_SetItemText($__LISTVIEWCTRL2, $iRow, $newText, $iCol) obliczeniabezp2($iRow, $iCol, $newText) EndIf Else EndIf EndIf ElseIf _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $iCol) = "j.m" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $iCol) = "Pośrednie" Or _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, $iCol) = "Pposrednie" Then _GUICtrlListView_SetItemText($__LISTVIEWCTRL2, $iRow, $newText, $iCol) ;~ Else EndIf EndIf $LVINFO[6] = $iRow $LVINFO[7] = $iCol _CancelEdit2() EndFunc ;==>_LVUpdate2 ;=============================================================================== ; Function Name: _GUICtrlListViewGetSubItemRect ; Description: Get the bounding rect of a listview item ; Parameter(s): $h_listview - IN - ; $row - IN - ; $col - IN - ; $aRect - IN/OUT - ; ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): ; Note(s): ;=============================================================================== Func _GUICtrlListViewGetSubItemRect($h_listview, $row, $col, ByRef $aRect) Local $rectangle, $rv, $ht[4] $rectangle = DllStructCreate("int;int;int;int") ;left, top, right, bottom DllStructSetData($rectangle, 1, $LVIR_BOUNDS) DllStructSetData($rectangle, 2, $col) If IsHWnd($h_listview) Then Local $a_ret = DllCall("user32.dll", "int", "SendMessage", "hwnd", $h_listview, "int", $LVM_GETSUBITEMRECT, "int", $row, "ptr", DllStructGetPtr($rectangle)) $rv = $a_ret[0] Else $rv = GUICtrlSendMsg($h_listview, $LVM_GETSUBITEMRECT, $row, DllStructGetPtr($rectangle)) EndIf ReDim $aRect[4] $aRect = $ht $aRect[0] = DllStructGetData($rectangle, 1) $aRect[1] = DllStructGetData($rectangle, 2) $aRect[2] = DllStructGetData($rectangle, 3) $aRect[3] = DllStructGetData($rectangle, 4) - $aRect[1] $rectangle = 0 Return $rv EndFunc ;==>_GUICtrlListViewGetSubItemRect Func _GUICtrlListViewGetSubItemRect2($h_listview, $row, $col, ByRef $aRect) Local $rectangle, $rv, $ht[4] $rectangle = DllStructCreate("int;int;int;int") ;left, top, right, bottom DllStructSetData($rectangle, 1, $LVIR_BOUNDS) DllStructSetData($rectangle, 2, $col) If IsHWnd($h_listview) Then Local $a_ret = DllCall("user32.dll", "int", "SendMessage", "hwnd", $h_listview, "int", $LVM_GETSUBITEMRECT, "int", $row, "ptr", DllStructGetPtr($rectangle)) $rv = $a_ret[0] Else $rv = GUICtrlSendMsg($h_listview, $LVM_GETSUBITEMRECT, $row, DllStructGetPtr($rectangle)) EndIf ReDim $aRect[4] $aRect = $ht $aRect[0] = DllStructGetData($rectangle, 1) $aRect[1] = DllStructGetData($rectangle, 2) $aRect[2] = DllStructGetData($rectangle, 3) $aRect[3] = DllStructGetData($rectangle, 4) - $aRect[1] $rectangle = 0 Return $rv EndFunc ;==>_GUICtrlListViewGetSubItemRect2 ;=============================================================================== ; Function Name: _InitEdit ; Description: Bring forth the editing control and set focus on it. ; Parameter(s): $LVINFO - IN - ; $LVcolControl - IN - ; ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): ; Note(s): ;=============================================================================== Func _InitEdit($LVINFO, $LVcolControl) If $bPROGRESSSHOWING = True Then Return ;ConsoleWrite("_InitEdit>>"&@LF) If $bCanceled Then $bCanceled = False Return EndIf If $bCALLBACK Then _CancelEdit() $bCALLBACK = False EndIf If $editFlag = 1 Then _CancelEdit() Local $CtrlType If $LVINFO[0] < 0 Or $LVINFO[1] < 0 Then Return 0 If UBound($LVcolControl) - 1 < $LVINFO[1] Then $CtrlType = 0 Else $CtrlType = $LVcolControl[$LVINFO[1]] EndIf ;---------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------- Switch $CtrlType Case 1 GUICtrlSetData($lvEdit, "") $editCtrl = $lvEdit Case 2 $editCtrl = $lvCombo Case 4 $editCtrl = $lvDate Case 8 $editCtrl = $lvList Case 256 $bCALLBACK = True Case Else Return EndSwitch If $bCALLBACK Then $bCALLBACK = False $bCALLBACK_EVENT = True Else ;---------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------- Local $editCtrlPos = _CalcEditPos($__LISTVIEWCTRL, $LVINFO) Local $x1, $y1 ClientToScreen($Gui, $x1, $y1) WinMove($lvControlGui, "", $editCtrlPos[0] + ($x1 - 1), $editCtrlPos[1] + ($y1 - 1), $editCtrlPos[2], $editCtrlPos[3]) ; GUICtrlSetPos($editCtrl, $editCtrlPos[0],$editCtrlPos[1], $editCtrlPos[2],$editCtrlPos[3]) GUICtrlSetPos($editCtrl, 0, 0, $editCtrlPos[2], $editCtrlPos[3]) Local $oldText = _GUICtrlListView_GetItemText($__LISTVIEWCTRL, $LVINFO[0], $LVINFO[1]) GUICtrlSetState($__LISTVIEWCTRL, $GUI_NOFOCUS) Switch $editCtrl Case $lvList If $oldText <> "" Then GUICtrlSetData($editCtrl, $oldText) Case $lvCombo If $oldText <> "" Then Local $index = _GUICtrlComboBox_FindString($editCtrl, $oldText) If ($index = -1) Then $index = _GUICtrlComboBox_AddString($editCtrl, $oldText) _GUICtrlComboBox_SetCurSel($editCtrl, $index) GUICtrlSetState($editCtrl, $GUI_ONTOP) EndIf Case Else Local $auc2 = 0 If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, 4) = "-PP-" Then $auc2 += 1 If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, 5) = "-L/P-" Then $auc2 += 1 If _GUICtrlListView_GetItemText($__LISTVIEWCTRL, 1, 4) = "-L/P-" Then $auc2 += 1 If $LVINFO[1] > 6 + $auc2 Then $oldText = StringReplace($oldText, "zł", "") EndIf GUICtrlSetData($editCtrl, $oldText) EndSwitch $editFlag = 1 GUICtrlSetState($__LISTVIEWCTRL, $GUI_NOFOCUS) WinMove($lvControlGui, "", $editCtrlPos[0] + ($x1 - 1), $editCtrlPos[1] + ($y1 - 1), $editCtrlPos[2] + 1, $editCtrlPos[3] + 1) WinSetOnTop($lvControlGui, "", 1) GUISetState(@SW_SHOW, $lvControlGui) ;~ GUICtrlSetPos($editCtrl, $editCtrlPos[0],$editCtrlPos[1], $editCtrlPos[2],$editCtrlPos[3]) ;~ GUICtrlSetState($editCtrl, $GUI_SHOW) GUICtrlSetPos($editCtrl, 0, 0, $editCtrlPos[2], $editCtrlPos[3]) GUICtrlSetState($editCtrl, $GUI_SHOW) GUICtrlSetState($editCtrl, $GUI_FOCUS) ; GUIRegisterMsg($WM_ACTIVATE,"WM_ACTIVATE") EndIf EndFunc ;==>_InitEdit Func _InitEdit2($LVINFO, $LVcolControl) If $bPROGRESSSHOWING = True Then Return ;ConsoleWrite("_InitEdit>>"&@LF) If $bCanceled Then $bCanceled = False Return EndIf If $bCALLBACK Then _CancelEdit() $bCALLBACK = False EndIf If $editFlag = 1 Then _CancelEdit() Local $CtrlType If $LVINFO[0] < 0 Or $LVINFO[1] < 0 Then Return 0 If UBound($LVcolControl) - 1 < $LVINFO[1] Then $CtrlType = 0 Else $CtrlType = $LVcolControl[$LVINFO[1]] EndIf ;---------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------- Switch $CtrlType Case 1 GUICtrlSetData($lvEdit, "") $editCtrl = $lvEdit Case 2 $editCtrl = $lvCombo Case 4 $editCtrl = $lvDate Case 8 $editCtrl = $lvList Case 256 $bCALLBACK = True Case Else Return EndSwitch If $bCALLBACK Then $bCALLBACK = False $bCALLBACK_EVENT = True Else ;---------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------- Local $editCtrlPos = _CalcEditPos($__LISTVIEWCTRL, $LVINFO) Local $x1, $y1 ClientToScreen($Gui, $x1, $y1) WinMove($lvControlGui, "", $editCtrlPos[0] + ($x1 - 1), $editCtrlPos[1] + ($y1 - 1), $editCtrlPos[2], $editCtrlPos[3]) ; GUICtrlSetPos($editCtrl, $editCtrlPos[0],$editCtrlPos[1], $editCtrlPos[2],$editCtrlPos[3]) GUICtrlSetPos($editCtrl, 0, 0, $editCtrlPos[2], $editCtrlPos[3]) Local $oldText = _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, $LVINFO[0], $LVINFO[1]) GUICtrlSetState($__LISTVIEWCTRL2, $GUI_NOFOCUS) Switch $editCtrl Case $lvList If $oldText <> "" Then GUICtrlSetData($editCtrl, $oldText) Case $lvCombo If $oldText <> "" Then Local $index = _GUICtrlComboBox_FindString($editCtrl, $oldText) If ($index = -1) Then $index = _GUICtrlComboBox_AddString($editCtrl, $oldText) _GUICtrlComboBox_SetCurSel($editCtrl, $index) GUICtrlSetState($editCtrl, $GUI_ONTOP) EndIf Case Else Local $auc2 = 0 If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, 4) = "-PP-" Then $auc2 += 1 If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, 5) = "-L/P-" Then $auc2 += 1 If _GUICtrlListView_GetItemText($__LISTVIEWCTRL2, 1, 4) = "-L/P-" Then $auc2 += 1 If $LVINFO[1] > 6 + $auc2 Then $oldText = StringReplace($oldText, "zł", "") EndIf GUICtrlSetData($editCtrl, $oldText) EndSwitch $editFlag = 1 GUICtrlSetState($__LISTVIEWCTRL2, $GUI_NOFOCUS) WinMove($lvControlGui, "", $editCtrlPos[0] + ($x1 - 1), $editCtrlPos[1] + ($y1 - 1), $editCtrlPos[2] + 1, $editCtrlPos[3] + 1) WinSetOnTop($lvControlGui, "", 1) GUISetState(@SW_SHOW, $lvControlGui) ;~ GUICtrlSetPos($editCtrl, $editCtrlPos[0],$editCtrlPos[1], $editCtrlPos[2],$editCtrlPos[3]) ;~ GUICtrlSetState($editCtrl, $GUI_SHOW) GUICtrlSetPos($editCtrl, 0, 0, $editCtrlPos[2], $editCtrlPos[3]) GUICtrlSetState($editCtrl, $GUI_SHOW) GUICtrlSetState($editCtrl, $GUI_FOCUS) ; GUIRegisterMsg($WM_ACTIVATE,"WM_ACTIVATE") EndIf EndFunc ;==>_InitEdit2 Func _MoveControl() If $bInitiated = True Then Local $editCtrlPos = _CalcEditPos($__LISTVIEWCTRL, $LVINFO) Local $x1, $y1 ClientToScreen($Gui, $x1, $y1) If $editCtrlPos[0] > 0 Then WinMove($lvControlGui, "", $editCtrlPos[0] + ($x1 - 1), $editCtrlPos[1] + ($y1 - 1), $editCtrlPos[2], $editCtrlPos[3]) Else WinMove($lvControlGui, "", $x1 + 1, $editCtrlPos[1] + ($y1 - 1), $editCtrlPos[2] - Abs($editCtrlPos[0]), $editCtrlPos[3]) EndIf ;GUICtrlSetPos($editCtrl, 0,0, $editCtrlPos[2],$editCtrlPos[3]) EndIf EndFunc ;==>_MoveControl Func _MoveControl2() If $bInitiated = True Then Local $editCtrlPos = _CalcEditPos2($__LISTVIEWCTRL2, $LVINFO) Local $x1, $y1 ClientToScreen2($Gui, $x1, $y1) If $editCtrlPos[0] > 0 Then WinMove($lvControlGui, "", $editCtrlPos[0] + ($x1 - 1), $editCtrlPos[1] + ($y1 - 1), $editCtrlPos[2], $editCtrlPos[3]) Else WinMove($lvControlGui, "", $x1 + 1, $editCtrlPos[1] + ($y1 - 1), $editCtrlPos[2] - Abs($editCtrlPos[0]), $editCtrlPos[3]) EndIf ;GUICtrlSetPos($editCtrl, 0,0, $editCtrlPos[2],$editCtrlPos[3]) EndIf EndFunc ;==>_MoveControl2 Func _CalcEditPos($nLvCtrl, $aINFO) Local $pos[4] Local $ctrlSize = ControlGetPos($Gui, "", $nLvCtrl) Local $ERR = @error $pos[0] = $aINFO[2] $pos[1] = $aINFO[3] + 3 $pos[2] = $aINFO[4] $pos[3] = $aINFO[5] - 4 If $ERR Then Return $pos EndIf If $aINFO[2] + $aINFO[4] > $ctrlSize[2] + 100 Then $pos[0] = $aINFO[2] - (($aINFO[2] + $aINFO[4]) - $ctrlSize[2] + 100) EndIf If $editCtrl = $lvList Then ; Local $initH = (_GUICtrlListView_GetItemCount($lvList) * 14.5) * (_GUICtrlListView_GetItemCount($lvList) * 14.5 > 0) Local $y1 = $ctrlSize[3] + 100 - $aINFO[3] - 21 $y1 = $y1 * ($y1 > 21) If $initH < $y1 Then $pos[3] = $initH Else $pos[3] = $y1 EndIf EndIf If _LvHasCheckStyle($__LISTVIEWCTRL) And $aINFO[1] = 0 And $editCtrl = $lvEdit Then ;compensate for check box $pos[2] = $aINFO[4] - 21 $pos[0] = $aINFO[2] + 21 EndIf Return $pos EndFunc ;==>_CalcEditPos Func _CalcEditPos2($nLvCtrl, $aINFO) Local $pos[4] Local $ctrlSize = ControlGetPos($Gui, "", $nLvCtrl) Local $ERR = @error $pos[0] = $aINFO[2] $pos[1] = $aINFO[3] + 3 $pos[2] = $aINFO[4] $pos[3] = $aINFO[5] - 4 If $ERR Then Return $pos EndIf If $aINFO[2] + $aINFO[4] > $ctrlSize[2] Then $pos[0] = $aINFO[2] - (($aINFO[2] + $aINFO[4]) - $ctrlSize[2]) EndIf If $editCtrl = $lvList Then ;make the list fit inside the ListView. Local $initH = (_GUICtrlListView_GetItemCount($lvList) * 14.5) * (_GUICtrlListView_GetItemCount($lvList) * 14.5 > 0) Local $y1 = $ctrlSize[3] - $aINFO[3] - 21 $y1 = $y1 * ($y1 > 21) If $initH < $y1 Then $pos[3] = $initH Else $pos[3] = $y1 EndIf EndIf If _LvHasCheckStyle2($__LISTVIEWCTRL2) And $aINFO[1] = 0 And $editCtrl = $lvEdit Then ;compensate for check box $pos[2] = $aINFO[4] - 21 $pos[0] = $aINFO[2] + 21 EndIf Return $pos EndFunc ;==>_CalcEditPos2 ;=============================================================================== ; Function Name: _CancelEdit ; Description: Cancels the editing process, and kills the hot keys. ; Parameter(s): ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): ; Note(s): ;=============================================================================== Func _CancelEdit() HotKeySet("{Enter}") HotKeySet("{Esc}") If $editFlag = 1 Then Send("{Enter}");quit edit mode $editFlag = 0 GUISetState(@SW_HIDE, $lvControlGui); additionally hide it WinSetOnTop($lvControlGui, "", 0); remove topmost attrib WinMove($lvControlGui, "", 1024, 768, 1, 1);move to bottom right corner GUICtrlSetState($editCtrl, $GUI_HIDE) GUICtrlSetPos($editCtrl, 0, 0, 1, 1) $bCanceled = True $bDATECHANGED = False ;---------------------------------------------------------------------------------------------- $kliknietonadate = False ;---------------------------------------------------------------------------------------------- ;if Not(WinActive($Gui,"")) Then WinActivate($Gui,"") EndFunc ;==>_CancelEdit Func _CancelEdit2() HotKeySet("{Enter}") HotKeySet("{Esc}") If $editFlag = 1 Then Send("{Enter}");quit edit mode $editFlag = 0 GUISetState(@SW_HIDE, $lvControlGui); additionally hide it WinSetOnTop($lvControlGui, "", 0); remove topmost attrib WinMove($lvControlGui, "", 1024, 768, 1, 1);move to bottom right corner GUICtrlSetState($editCtrl, $GUI_HIDE) GUICtrlSetPos($editCtrl, 0, 0, 1, 1) $bCanceled = True $bDATECHANGED = False ;---------------------------------------------------------------------------------------------- $kliknietonadate = False ;---------------------------------------------------------------------------------------------- ;if Not(WinActive($Gui,"")) Then WinActivate($Gui,"") EndFunc ;==>_CancelEdit2 ;=============================================================================== ; Function Name: _FillLV_Info ; Description: This fills the passed in array with row col and rect info for ; used by the editing controls ; Parameter(s): $__LISTVIEWCTRL - IN/OUT - ; $iRow - IN - ; $iCol - IN - ; $aLVI - IN/OUT - ; ; Requirement(s): ; Return Value(s): ; User CallTip: ; Author(s): ; Note(s): ;=============================================================================== Func _FillLV_Info(ByRef $nLvCtrl, $iRow, $iCol, ByRef $aLVI, $iFlag = 1) If $iFlag Then $aLVI[6] = $aLVI[0] ;set old row $aLVI[7] = $aLVI[1] ;set old col $aLVI[0] = $iRow ;set new row $aLVI[1] = $iCol ;set new col EndIf If $iRow < 0 Or $iCol < 0 Then Return 0 Local $lvi_rect[4], $pos = ControlGetPos($Gui, "", $nLvCtrl) _GUICtrlListViewGetSubItemRect($nLvCtrl, $iRow, $iCol, $lvi_rect) $aLVI[2] = $pos[0] + $lvi_rect[0] + 5 $aLVI[3] = $pos[1] + $lvi_rect[1] $aLVI[4] = _GUICtrlListView_GetColumnWidth($nLvCtrl, $iCol) - 4 $aLVI[5] = $lvi_rect[3] + 5 Return 1 EndFunc ;==>_FillLV_Info Func _FillLV_Info2(ByRef $nLvCtrl, $iRow, $iCol, ByRef $aLVI, $iFlag = 1) If $iFlag Then $aLVI[6] = $aLVI[0] ;set old row $aLVI[7] = $aLVI[1] ;set old col $aLVI[0] = $iRow ;set new row $aLVI[1] = $iCol ;set new col EndIf If $iRow < 0 Or $iCol < 0 Then Return 0 Local $lvi_rect[4], $pos = ControlGetPos($Gui, "", $nLvCtrl) _GUICtrlListViewGetSubItemRect2($nLvCtrl, $iRow, $iCol, $lvi_rect) $aLVI[2] = $pos[0] + $lvi_rect[0] + 5 $aLVI[3] = $pos[1] + $lvi_rect[1] $aLVI[4] = _GUICtrlListView_GetColumnWidth($nLvCtrl, $iCol) - 4 $aLVI[5] = $lvi_rect[3] + 5 Return 1 EndFunc ;==>_FillLV_Info2 Func WM_ACTIVATE($hWndGUI, $MsgID, $wParam, $lParam) #forceref $hWndGui,$MsgID,$wParam, $lParam ;Local $wa = _LoWord($wParam) Local $hActive = DllCall("user32.dll", "hwnd", "GetForegroundWindow") If $lParam = 0 And $editFlag = 1 Then _CancelEdit() _CancelEdit2() EndIf If IsArray($hActive) Then WinSetOnTop($hActive[0], "", 1) WinSetOnTop($hActive[0], "", 0) EndIf Return 0 EndFunc ;==>WM_ACTIVATE
-
Ok, I am sorry. So it's my script and include where is WM_NOTIFY and load file Part of my script: Opt("GUICloseOnESC", 0) ; bez esc Opt("mustdeclarevars", 1) Global $hListView Global $wszystkostop = False Global $ListView Global $avgcol Global $juju = False ; inne includy zmienne Global $Column_attribute, $Mypos, $strin, $str, $iLAST_PRIMARYDoWN_CTRLID, $hwd, $width, $height, $hGraphic, $hBitmap1, $fontcol, $hImage1, $hBMP1, $textleft, $fcol, $hBrushed, $hFormat, $tLayout, $aInfo, $lpos, $hbmp Global $hFamily, $hIcon, $hDC, $hBackDC, $hBackSv, $hIcon, $hbmp2, $hDC2, $hBackDC2, $hBackSv2, $bitmap2, $iC1, $hGraphics, $gwt, $ght, $iC2, $iC3, $hBrush1, $hBrush3, $hStatus, $leftit, $Downit ;~ Global $aSB_WindowInfo,$aSB_WindowInfo ; inne includy zmienne Global $akukuku = False Global $kupek = False Global $patrzczyklikniety = False Global $zmianka2, $ssssss, $sssss, $takatam2, $mojecombo2, $zmianka, $sss, $ssss, $takatam, $mojecombo, $mojepozycje Global $ryczek = "dasd" Global $wcisniety[5] Global $wartoscnowa[300][300] Global $wartosc[300][300] Global $tawart = 12 Global $Checkbox1, $Checkbox2, $HelpContext, $bProgressShowing;,$Status1,$Status2 Global $hFont, $defColLV = 0x000000, $defBkColLV = 0xFFFFFF Global $DB Global $aRow Global $sius = False Global $dll22 Global $start Global $B_DESCENDING Global $maxColumn Global $upDown, $bckpic3, $progressbar1, $label3, $mojecombo, $label4, $pozycje, $label3, $takatam, $zmianka, $pozycjestart, $gui2, $bckpic2, $label, $mojecombo2, $takatam2, $zmianka2, $pozycjestop Global $odswiez2tabele Global $cccc, $gid For $i = 0 To 4 $wcisniety[$i] = False Next Global $tenodp[5] $tenodp[0] = True For $i = 1 To 4 $tenodp[$i] = False Next Global $tenodpp[5] $tenodpp[0] = True For $i = 1 To 4 $tenodpp[$i] = False Next Global $listywartosc[300][300][5] Global $przychodwartosc[5] Global $wiecp[5] Global $combozreszta Global $handleewartosc[5][13] Global $jakiklikniety[200][200] For $i = 0 To 199 For $j = 0 To 199 $jakiklikniety[$i][$j] = False Next Next Global $bWM_NOTIFY = True Global $nacisnietyjest = False Global $tabela4start Global $tabela4stop Global $tabela5start Global $tabela5stop Global $hFont3, $listview3, $__LISTVIEWCTRL3 Global $bezpminuscf, $cfinput, $inputkosztybezp Global $ryczalt, $ryczalt2 Global $kosztybezpbezcf = 0 Global $kosztybezp = 0 Global $jakiprocent Global $kwotanaprojekt[15] Global $handlee[15] Global $fFlag[15] Global $flaga = False Global $flaga2 = False Global $fFlag2[15] For $s = 1 To 14 $fFlag2[$s] = False Next For $s = 1 To 14 $fFlag[$s] = False Next Global $labelmies, $miesiecy, $miechy Global $kolumn, $itemow, $liczebka, $rzym, $listview2, $dat1, $dat2, $rok1, $rok2, $ktora, $PL, $PP, $newgui, $stGui, $czcionka4, $czcionka, $czcionka3, $pozycje, $GUI1, $progressbar1 Global $timer, $czcionka2, $tabs1, $Dod, $Dodaj, $Dodajkilka, $usun, $load, $Do, $tabela1start, $tabela1stop, $tabela2start, $tabela2stop, $tabela3start1, $tabela3stop1, $tabela3start2 Global $tabela3stop2, $partn Global $tabela3start000, $tabela3stop000 Global $FileMenu, $OpenItem, $SaveItem, $OptionsMenu, $ViewItem, $ToolsItem, $ExitItem, $HelpMenu, $AboutItem, $hmenu, $2ndbckground, $labelokres, $labelmyslnik, $labeliloscp Global $labelkosztyp, $labelpp, $iLV_Width, $iHeader_Width, $iData_Width, $labelprzychod, $przychod, $hFont2, $tekstowo, $hANDle, $date1, $date2, $roke1, $roke2 Global $datka1, $datka2, $tawart2, $upDown2, $Hotek, $zadanie, $tekstt, $tekst, $godzina, $date, $czas, $lokacja, $lokacja2, $tekstowo, $hmm4, $olDopt, $TrayPos, $ile, $ile2, $HotItem Global $sumakosztow Global $guiw = 0 Global $guih = 0 Global $guiszer = 800 * 1.4 Global $guiwys = 420 * 1.4 Global $deskh = @DesktopHeight - _GetTaskBarHeight() Global $aWinPos[4] = [$guiw / 2, $guih / 2, $guiszer, $guiwys] Global $Gui Global $tabs1[7] Global $timer[46] Global $stGui[2] = [0, 420] Global $liczebka[300] ; koniec Globalnych Global $rzym[101] $wcisniety[3] = True Global $ladtab #include <GUIConstantsEx.au3> #include <WinDowsConstants.au3> #include <GuiListView.au3> #include <Constants.au3> #include <FontConstants.au3> #include <StructureConstants.au3> #include <WinAPI.au3> #include <GuiToolTip.au3> #include <_EIPListView.au3> #include <UpDownConstants.au3> #include <GuiImageList.au3> #include <ButtonConstants.au3> #include <ScrollBarConstants.au3> #include <GUIScrollBars.au3> #include <ProgressConstants.au3> #include <String.au3> #include <sqlite.au3>;Stop the Obfuscation process below this line #include <sqlite.dll.au3> #include <GuiMenu.au3> #include <GuiEdit.au3> #include <ComboConstants.au3> #include <EditConstants.au3> #include <ListViewConstants.au3> load() ; wczyt Func _Main() $Gui = GUICreate("Edit", $aWinPos[2], $aWinPos[3], $aWinPos[1], $aWinPos[0]);, 424, 280, 200, 110) ;, BitOR($WS_MINIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_SYSMENU, $WS_CAPTION, $WS_POPUP, $WS_maximizebox, $WS_POPUPWINDoW, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS) $newgui = WinGetClientSize($Gui) $timer[2] = TimerDiff($start) $czcionka = 12 * $newgui[1] / $stGui[1] $czcionka2 = 13 * $newgui[1] / $stGui[1] $czcionka3 = 8 * $newgui[1] / $stGui[1] $czcionka4 = 16 * $newgui[1] / $stGui[1] Global $LVcolControl[40] = [1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] ;left click actions ;0 = ignORe, 1= use context callback Global $LVcolRControl[40] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ; right click actions $timer[9] = TimerDiff($start) $tabela2start = GUICtrlCreateDummy() $hFont = _WinAPI_CreateFont(14 * $newgui[1] / $stGui[1], 0, 0, 0, $FW_NORMAL, False, False, False, $DEFAULT_CHARSET, $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Arial') $ListView = GUICtrlCreateListView("", 25 * $newgui[1] / $stGui[1], 45 * $newgui[1] / $stGui[1], 750 * $newgui[1] / $stGui[1], 310 * $newgui[1] / $stGui[1]) $hListView = GUICtrlGetHandle($ListView) _WinAPI_SetFont($hListView, $hFont, True) GUICtrlSendMsg($ListView, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) ;~ GUICtrlSendMsg($ListView, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_INFOTIP, $LVS_EX_INFOTIP) GUICtrlSendMsg($ListView, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_LABELTIP, $LVS_EX_LABELTIP) ;~ $LVS_EX_FLATSB ;~ $LVS_EX_LABELTIP $__LISTVIEWCTRL = $ListView $timer[12] = TimerDiff($start) ; wstawianie kolumn For $i = 0 To $kolumn + 1 _GUICtrlListView_AddColumn($ListView, liczba($i), "", 2) Next ; kolory _GUICtrlListView_SetBkColor($ListView, $CLR_MONEYGREEN) _GUICtrlListView_SetTextColor($ListView, $CLR_BLACK) _GUICtrlListView_SetTextBkColor($ListView, $CLR_MONEYGREEN) $timer[13] = TimerDiff($start) ; opcje Global $B_DESCENDING[_GUICtrlListView_GetColumnCount($ListView)] Global $maxColumn = _GUICtrlListView_GetColumnCount($ListView) Global $aIParam[1][$maxColumn + 1][5] Global $oParamSearch = ObjCreate('Scripting.Dictionary') ; stORe FOR faster search (iParam, arrayIndex) Global $kolorki[300][300] Local $kolor = '' For $i = 1 To $itemow $kolor = '' For $Z = 0 To $kolumn $kolor &= $wartosc[$Z][$i] & '|' Next $kolor = StringTrimRight($kolor, 1) $kolorki[$i][0] = GUICtrlCreateListViewItem($kolor, $ListView) For $k = 1 To $liczebka[0] + 3 Step 2 If $i = $liczebka[$k] Then GUICtrlSetBkColor(-1, 0xCCFFCC) EndIf Next Next $timer[16] = TimerDiff($start) ; ustawienie 1 kolumny tj 0 $timer[17] = TimerDiff($start) Local $b = 2 For $f = 1 To 101 Step 2 For $Z = $liczebka[$f] To $liczebka[$f + 1] _GUICtrlListView_SetItemText($ListView, $Z, $Z - $b) Next $b = $b + 1 If $f = $liczebka[0] Then For $zz = $liczebka[$f + 1] To $liczebka[$f + 2] _GUICtrlListView_SetItemText($ListView, $zz, $zz - $b + 1) Next ExitLoop EndIf Next $timer[18] = TimerDiff($start) For $i = 1 To 99 Step 2 _GUICtrlListView_SetItemText($ListView, $liczebka[$i] - 1, $rzym[$i]) Next _GUICtrlListView_SetItemText($ListView, 0, "-") _GUICtrlListView_SetItemText($ListView, 1, "-") Local $dararara = $liczebka[$liczebka[0] + 1] For $i = $itemow + 50 To $dararara Step -1 _GUICtrlListView_DeleteItem(GUICtrlGetHandle($ListView), $i) Next $timer[20] = TimerDiff($start) For $i = 1 To 1 _GUICtrlListView_SetColumn($ListView, $i, liczba($i), 200, 2) Next $timer[21] = TimerDiff($start) $iLV_Width = 17 For $i = 0 To $kolumn + 5 If $i = 1 Then ContinueLoop EndIf _GUICtrlListView_SetColumnWidth($ListView, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($ListView, $i) _GUICtrlListView_SetColumnWidth($ListView, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($ListView, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($ListView, $i, $iHeader_Width) $iLV_Width += $iHeader_Width Else $iLV_Width += $iData_Width EndIf Next przedzial() _InitEditLib("", "", "", "", $Gui); GUISetState(@SW_SHOW, $Gui) _WinAPI_InvalidateRect(0, 0) $bLVEDITondblclick = True $bInitiated = True $bLVUPDATEonfocusCHANGE = True While 1 ; Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd _TermEditLib();po tym <<<<<<<<<>>>>>>>> EndFunc ;==>_Main Func load() $lokacja2 = FileOpenDialog("Wczytaj plik...", @ScriptDir, "Bazy danych (*.db)", 1 + 2 + 8, "", $Gui) If $lokacja2 <> "" Then ;~ $hmm4 = MsgBox(33, "Otworzyć plik...?", $lokacja2, "", $Gui) ;~ If $hmm4 = 1 Then $start = TimerInit() $timer[0] = TimerDiff($start) $kolumn = 10 $itemow = 54 _SQLite_Startup() $DB = _SQLite_Open($lokacja2) _SQLite_Exec($DB, "PRAGMA synchronous = OFF;") _SQLite_Exec($DB, "PRAGMA count_changes = OFF;") _SQLite_Exec($DB, "BEGIN;") _SQLite_QuerySingleRow(-1, "SELECT key FROM sectionn2 WHERE id = -1;", $aRow) If Not @error Then $kolumn = $aRow[0] _SQLite_QuerySingleRow(-1, "SELECT key FROM sectionn2 WHERE id = -2;", $aRow) If Not @error Then $itemow = $aRow[0] For $Z = 0 To $kolumn For $d = 1 To $itemow _SQLite_QuerySingleRow(-1, "SELECT key FROM section" & $Z + 1 & " WHERE id = " & $d - 1 & ";", $aRow) If Not @error Then $wartosc[$Z][$d] = $aRow[0] Next Next For $i = 0 To 101 _SQLite_QuerySingleRow(-1, "SELECT key FROM sectionn2 WHERE id = " & $i & ";", $aRow) If $aRow[0] = "" Then ExitLoop If Not @error Then $liczebka[$i] = $aRow[0] Next _SQLite_Exec($DB, "COMMIT;") _SQLite_Close() _SQLite_Shutdown() Local $mml = 1 For $i = 1 To 100 Step 2 $rzym[$i] = _Roman($mml) $mml = $mml + 1 Next GUIDelete($Gui) _Main() ;~ EndIf EndIf EndFunc ;==>load Func _GetTaskBarHeight() $olDopt = Opt("WinTitleMatchMode", 4) $TrayPos = WinGetPos("classname=Shell_TrayWnd") Opt("WinTitleMatchMode", $olDopt) Return $TrayPos[3] EndFunc ;==>_GetTaskBarHeight Func liczba($licz) Local $wyszla = "" If $licz = 0 Then Return $wyszla If $licz <= 26 Then $wyszla = Chr($licz + 64) Return $wyszla EndIf If $licz <= 26 * 2 Then $wyszla = Chr(65) & Chr($licz + 64 - 26) Return $wyszla EndIf If $licz <= 26 * 3 Then $wyszla = Chr(66) & Chr($licz + 64 - 26 * 2) Return $wyszla EndIf If $licz <= 26 * 4 Then $wyszla = Chr(67) & Chr($licz + 64 - 26 * 3) Return $wyszla EndIf If $licz <= 26 * 5 Then $wyszla = Chr(68) & Chr($licz + 64 - 26 * 4) Return $wyszla EndIf If $licz <= 26 * 6 Then $wyszla = Chr(69) & Chr($licz + 64 - 26 * 5) Return $wyszla EndIf If $licz <= 26 * 7 Then $wyszla = Chr(70) & Chr($licz + 64 - 26 * 6) Return $wyszla EndIf If $licz <= 26 * 8 Then $wyszla = Chr(71) & Chr($licz + 64 - 26 * 7) Return $wyszla EndIf If $licz <= 26 * 9 Then $wyszla = Chr(72) & Chr($licz + 64 - 26 * 8) Return $wyszla EndIf If $licz <= 26 * 10 Then $wyszla = Chr(73) & Chr($licz + 64 - 26 * 9) Return $wyszla EndIf If $licz <= 26 * 11 Then $wyszla = Chr(74) & Chr($licz + 64 - 26 * 10) Return $wyszla EndIf If $licz <= 26 * 12 Then $wyszla = Chr(75) & Chr($licz + 64 - 26 * 11) Return $wyszla EndIf If $licz <= 26 * 13 Then $wyszla = Chr(76) & Chr($licz + 64 - 26 * 12) Return $wyszla EndIf If $licz <= 26 * 14 Then $wyszla = Chr(77) & Chr($licz + 64 - 26 * 13) Return $wyszla EndIf If $licz <= 26 * 15 Then $wyszla = Chr(78) & Chr($licz + 64 - 26 * 14) Return $wyszla EndIf If $licz <= 26 * 16 Then $wyszla = Chr(79) & Chr($licz + 64 - 26 * 15) Return $wyszla EndIf If $licz <= 26 * 17 Then $wyszla = Chr(80) & Chr($licz + 64 - 26 * 16) Return $wyszla EndIf If $licz <= 26 * 18 Then $wyszla = Chr(81) & Chr($licz + 64 - 26 * 17) Return $wyszla EndIf If $licz <= 26 * 19 Then $wyszla = Chr(82) & Chr($licz + 64 - 26 * 18) Return $wyszla EndIf If $licz <= 26 * 20 Then $wyszla = Chr(83) & Chr($licz + 64 - 26 * 19) Return $wyszla EndIf If $licz <= 26 * 21 Then $wyszla = Chr(84) & Chr($licz + 64 - 26 * 20) Return $wyszla EndIf EndFunc ;==>liczba Func _Roman($iNum) Local $asNum[3][10] = [["", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"], _ ["", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"], _ ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"]] Local $sRet = "", $i = 0, $iLen = StringLen($iNum), $sBra = "" If $iLen > 3 Then $sBra = "(" & _Roman(StringTrimRight($iNum, 3)) & ")" $iNum = StringRight($iNum, 3) $iLen = 3 EndIf For $i = $iLen To 1 Step -1 $sRet = $asNum[$iLen - $i][Int(StringMid($iNum, $i, 1))] & $sRet Next $sRet = "--" & $sRet & "--" Return $sBra & $sRet EndFunc ;==>_Roman Func przedzial() Local $m, $mn, $datka1, $datka2 $ktora = 9 $date1 = 'luty' $date2 = 'wrzesień' $roke1 = 2006 $roke2 = 2009 If $date1 = "styczeń" Then $datka1 = 1 If $date1 = "luty" Then $datka1 = 2 If $date1 = "marzec" Then $datka1 = 3 If $date1 = "kwiecień" Then $datka1 = 4 If $date1 = "maj" Then $datka1 = 5 If $date1 = "czerwiec" Then $datka1 = 6 If $date1 = "lipiec" Then $datka1 = 7 If $date1 = "sierpień" Then $datka1 = 8 If $date1 = "wrzesień" Then $datka1 = 9 If $date1 = "październik" Then $datka1 = 10 If $date1 = "listopad" Then $datka1 = 11 If $date1 = "grudzień" Then $datka1 = 12 If $date2 = "styczeń" Then $datka2 = 1 If $date2 = "luty" Then $datka2 = 2 If $date2 = "marzec" Then $datka2 = 3 If $date2 = "kwiecień" Then $datka2 = 4 If $date2 = "maj" Then $datka2 = 5 If $date2 = "czerwiec" Then $datka2 = 6 If $date2 = "lipiec" Then $datka2 = 7 If $date2 = "sierpień" Then $datka2 = 8 If $date2 = "wrzesień" Then $datka2 = 9 If $date2 = "październik" Then $datka2 = 10 If $date2 = "listopad" Then $datka2 = 11 If $date2 = "grudzień" Then $datka2 = 12 Local $ilekolumn = 0 Local $datka = $datka2 - $datka1 + 1 ; zaczynamy cos nowego znznznz; as ;dsadasd;asdas ;dsa $miechy = 0 For $i = $roke1 To $roke2 If $roke1 = $roke2 Then $miechy += $datka $ilekolumn = $ilekolumn + $datka $ilekolumn = $ilekolumn + 2 $ilekolumn = $ilekolumn + $ktora ExitLoop EndIf If $i = $roke1 Then $miechy = $miechy + (12 - $datka1) + 1 $ilekolumn = $ilekolumn + $ktora $ilekolumn = $ilekolumn + (12 - $datka1) + 1 $ilekolumn = $ilekolumn + 1 ContinueLoop EndIf If $i = $roke2 Then $miechy += $datka2 $ilekolumn = $ilekolumn + $datka2 $ilekolumn = $ilekolumn + 2 ExitLoop EndIf $miechy += 12 $ilekolumn = $ilekolumn + 12 $ilekolumn = $ilekolumn + 1 Next GUICtrlSetData($miesiecy, $miechy) While $ilekolumn > _GUICtrlListView_GetColumnCount($ListView) _GUICtrlListView_AddColumn($ListView, "") WEnd For $i = $roke1 To $roke2 If $roke1 = $roke2 Then _GUICtrlListView_SetItemText($ListView, 1, "(" & $i & ")", $ktora) _GUICtrlListView_SetItemText($ListView, 0, "wartość j.m", $ktora) $ktora = $ktora + 1 For $j = $datka1 To $datka2 If $j = 1 Then $m = "I" If $j = 2 Then $m = "II" If $j = 3 Then $m = "III" If $j = 4 Then $m = "IV" If $j = 5 Then $m = "V" If $j = 6 Then $m = "VI" If $j = 7 Then $m = "VII" If $j = 8 Then $m = "VIII" If $j = 9 Then $m = "IX" If $j = 10 Then $m = "X" If $j = 11 Then $m = "XI" If $j = 12 Then $m = "XII" If $j = 1 Then $mn = "styczeń" If $j = 2 Then $mn = "luty" If $j = 3 Then $mn = "marzec" If $j = 4 Then $mn = "kwiecień" If $j = 5 Then $mn = "maj" If $j = 6 Then $mn = "czerwiec" If $j = 7 Then $mn = "lipiec" If $j = 8 Then $mn = "sierpień" If $j = 9 Then $mn = "wrzesień" If $j = 10 Then $mn = "październik" If $j = 11 Then $mn = "listopad" If $j = 12 Then $mn = "grudzień" _GUICtrlListView_SetItemText($ListView, 1, $m & " - " & $i, $ktora) _GUICtrlListView_SetItemText($ListView, 0, "ilość j.m", $ktora) $ktora = $ktora + 1 Next _GUICtrlListView_SetItemText($ListView, 0, "Razem", $ktora) $ktora = $ktora + 1 ExitLoop EndIf If $i = $roke1 Then _GUICtrlListView_SetItemText($ListView, 1, "(" & $i & ")", $ktora) _GUICtrlListView_SetItemText($ListView, 0, "wartość j.m", $ktora) $ktora = $ktora + 1 For $j = $datka1 To 12 If $j = 1 Then $m = "I" If $j = 2 Then $m = "II" If $j = 3 Then $m = "III" If $j = 4 Then $m = "IV" If $j = 5 Then $m = "V" If $j = 6 Then $m = "VI" If $j = 7 Then $m = "VII" If $j = 8 Then $m = "VIII" If $j = 9 Then $m = "IX" If $j = 10 Then $m = "X" If $j = 11 Then $m = "XI" If $j = 12 Then $m = "XII" If $j = 1 Then $mn = "styczeń" If $j = 2 Then $mn = "luty" If $j = 3 Then $mn = "marzec" If $j = 4 Then $mn = "kwiecień" If $j = 5 Then $mn = "maj" If $j = 6 Then $mn = "czerwiec" If $j = 7 Then $mn = "lipiec" If $j = 8 Then $mn = "sierpień" If $j = 9 Then $mn = "wrzesień" If $j = 10 Then $mn = "październik" If $j = 11 Then $mn = "listopad" If $j = 12 Then $mn = "grudzień" _GUICtrlListView_SetItemText($ListView, 1, $m & " - " & $i, $ktora) _GUICtrlListView_SetItemText($ListView, 0, "ilość j.m", $ktora) $ktora = $ktora + 1 Next ContinueLoop EndIf If $i = $roke2 Then _GUICtrlListView_SetItemText($ListView, 1, "(" & $i & ")", $ktora) _GUICtrlListView_SetItemText($ListView, 0, "wartość j.m", $ktora) $ktora = $ktora + 1 For $j = 1 To $datka2 If $j = 1 Then $m = "I" If $j = 2 Then $m = "II" If $j = 3 Then $m = "III" If $j = 4 Then $m = "IV" If $j = 5 Then $m = "V" If $j = 6 Then $m = "VI" If $j = 7 Then $m = "VII" If $j = 8 Then $m = "VIII" If $j = 9 Then $m = "IX" If $j = 10 Then $m = "X" If $j = 11 Then $m = "XI" If $j = 12 Then $m = "XII" If $j = 1 Then $mn = "styczeń" If $j = 2 Then $mn = "luty" If $j = 3 Then $mn = "marzec" If $j = 4 Then $mn = "kwiecień" If $j = 5 Then $mn = "maj" If $j = 6 Then $mn = "czerwiec" If $j = 7 Then $mn = "lipiec" If $j = 8 Then $mn = "sierpień" If $j = 9 Then $mn = "wrzesień" If $j = 10 Then $mn = "październik" If $j = 11 Then $mn = "listopad" If $j = 12 Then $mn = "grudzień" _GUICtrlListView_SetItemText($ListView, 1, $m & " - " & $i, $ktora) _GUICtrlListView_SetItemText($ListView, 0, "ilość j.m", $ktora) $ktora = $ktora + 1 Next _GUICtrlListView_SetItemText($ListView, 0, "Razem", $ktora) $ktora = $ktora + 1 ExitLoop EndIf _GUICtrlListView_SetItemText($ListView, 1, "(" & $i & ")", $ktora) _GUICtrlListView_SetItemText($ListView, 0, "wartość j.m", $ktora) $ktora = $ktora + 1 For $j = 1 To 12 If $j = 1 Then $m = "I" If $j = 2 Then $m = "II" If $j = 3 Then $m = "III" If $j = 4 Then $m = "IV" If $j = 5 Then $m = "V" If $j = 6 Then $m = "VI" If $j = 7 Then $m = "VII" If $j = 8 Then $m = "VIII" If $j = 9 Then $m = "IX" If $j = 10 Then $m = "X" If $j = 11 Then $m = "XI" If $j = 12 Then $m = "XII" If $j = 1 Then $mn = "styczeń" If $j = 2 Then $mn = "luty" If $j = 3 Then $mn = "marzec" If $j = 4 Then $mn = "kwiecień" If $j = 5 Then $mn = "maj" If $j = 6 Then $mn = "czerwiec" If $j = 7 Then $mn = "lipiec" If $j = 8 Then $mn = "sierpień" If $j = 9 Then $mn = "wrzesień" If $j = 10 Then $mn = "październik" If $j = 11 Then $mn = "listopad" If $j = 12 Then $mn = "grudzień" _GUICtrlListView_SetItemText($ListView, 1, $m & " - " & $i, $ktora) _GUICtrlListView_SetItemText($ListView, 0, "ilość j.m", $ktora) $ktora = $ktora + 1 Next Next For $i = 0 To 99 _GUICtrlListView_SetColumn($ListView, $i, liczba($i), 100, 2) Next $iLV_Width = 17 For $i = 0 To 79 If $i = 1 Then ContinueLoop EndIf _GUICtrlListView_SetColumnWidth($ListView, $i, $LVSCW_AUTOSIZE_USEHEADER) $iHeader_Width = _GUICtrlListView_GetColumnWidth($ListView, $i) _GUICtrlListView_SetColumnWidth($ListView, $i, $LVSCW_AUTOSIZE) $iData_Width = _GUICtrlListView_GetColumnWidth($ListView, $i) If $iHeader_Width > $iData_Width Then _GUICtrlListView_SetColumnWidth($ListView, $i, $iHeader_Width) $iLV_Width += $iHeader_Width Else $iLV_Width += $iData_Width EndIf Next EndFunc ;==>przedzial