Como posso listar valores positivos e negativos separadamente na caixa listview no autohotkey?

1

Aqui está o meu script AHK:

Gui, Add, Edit, x77 y15 w100 h30 vMyvar gEdit1 ;first edit box, there can be entered any value.
Gui, Add, Edit, x237 y15 w100 h30 vNewvar Disabled, %Newvar% ;second edit box it shows the result by multiplying the first edit box's value by 100.
Gui, Add, Edit, x72 y60 w100 h30 vMyv gEdit2  ;third edit box, there can be entered any value.
Gui, Add, Edit, x242 y60 w100 h30 vNewv Disabled, %Newv% ;fourth edit box it shows the result by multiplying the second edit box's value by 50

Gui, Add, Edit, x242 y110 w100 h30 vTotal Disabled  ;this edit box shows the total of %Newvar% and %Newv% i.e. second edit box and fourth edit box.

Gui, Add, ListView, x282 y200 w100 h300 , 100|50|total ;listview box which lists the values of first edit box and third edit box
Gui, Add, Button, x62 y120 w100 h30 gNext, NEXT  ;next botton which when pressed lists the values of first edit box and third edit box and also clears the second edit box and fourth edit box everytime it pressed.

Gui, Show, w473 h373, Untitled GUI
return

Edit1:
Gui, Submit, NoHide
NewVar := Myvar * 100
GuiControl,, Newvar, %Newvar%
gosub, SetTotal
return

Edit2:
Gui, Submit, NoHide
NewV := Myv * 50
GuiControl,, Newv, %Newv%
gosub, SetTotal
return

SetTotal:
Total := 0
if NewVar is number
    Total += NewVar
if Newv is number
    Total += Newv
GuiControl,, Total, %Total%
return

Next:
Gui, Submit, NoHide
LV_Insert(1,, Myvar, Myv, Total)
Newvar := ""
Newv := ""
Total := ""
GuiControl,, Newvar, %Newvar%
GuiControl,, Newv, %Newv%
GuiControl,, Total, %Total%
return

Eu quero que esses controles sejam adicionados nesta GUI:

Gui, Add, ListView, x62 y170 w200 h300 , s no|100|50|total ; this listview box is for negative values and i added s no column also in it which should contain the serial no as the negative values are entered in this box.
Gui, Add, ListView, x282 y170 w200 h300 , s no|100|50|total ; same listview box for positive values.
Gui, Add, Text, x402 y20 w130 h20 , no of negative values 
Gui, Add, Text, x402 y50 w130 h20 , total of negative value
Gui, Add, Edit, x542 y20 w100 h20 , ;in this edit box i want that there should come only the total no of negative values. say there are 10 nagative values in negative listview box then it should contain only no 10
Gui, Add, Edit, x542 y50 w100 h20 , ; in this edit box i want that it should contain the total of all the negative values i.e. if the total of all 10 negative value is say 50000 then it should contain 50000.
GuiClose:
ExitApp

como eu quero duas caixas listview e fora deles primeiro deve listar os valores positivos e outro deve listar valores negativos, como o total (como a terceira caixa de edição mostra o total de% Newvar% e% Newv%) é positivo, então ele deve estar listado na caixa listview de valor positivo e o total é negativo, então ele deve ser listado na caixa listview negativa. Além disso, deve haver uma coluna no (serial no) também para as caixas listview negativas e positivas. Eu fiz duas caixas de edição mais em que eu quero que o número de valores negativos deve vir e em outra caixa de edição deve vir o total de todos os valores negativos.

    
por user433939 18.04.2015 / 20:11

1 resposta

0

Parece que o fluxo do seu programa é o seguinte:

  • Na GUI 1, o usuário insere itens, acessa o próximo e eles são adicionados a uma tabela
  • Na GUI 2, os itens da tabela da GUI 1 são classificados na Tabela A (Positivos) e na Tabela B (Negativos)

O que parece que você precisa fazer é fazer os seguintes ajustes:

  • Para GUI1, adicione outro botão para prosseguir para a GUI2. Vamos chamar isso de botão Continuar.
  • Quando o botão Continuar é pressionado ...
  • Ocultar GUI1
  • Repetir todos os valores na tabela GUI1 finalizada
  • Para cada valor, adicione-o a uma das tabelas da GUI2 (ou a uma variável que será gravada nessa tabela) com base em se ela é negativa ou positiva
  • Depois que todos os números são processados em suas tabelas correspondentes, mostre GUI2
  • Você precisará refatorar o código acima para fazer a GUI2 na segunda GUI (consulte os arquivos de ajuda necessários para usar mais de uma GUI - basicamente, basta adicionar o número da GUI na frente de todos os comandos
por 26.09.2015 / 09:10