Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    417

    [AutoIT] Calcolo Consumo

    Ciao sto cercando di sviluppare una applicazione portatile che mi calcoli il consumo
    ma non riesco a capire come mai non funzioni.....
    codice:
    #include <GUIConstants.au3>
    #include <StaticConstants.au3>
    #include <guiedit.au3>
    #include <WindowsConstants.au3>
    
    Global $ptlcd, $ptled, $dif, $risp, $an
    
    
    $calcolatrice = GUICreate("Calcolo consumo", 351, 400,-1,-1)
    $valore1 = GUICtrlCreateInput("", 50, 20, 100, 21)
    $valore2 = GUICtrlCreateInput("", 50, 60, 100, 21)
    $valore3 = GUICtrlCreateInput("", 50, 100, 100, 21)
    $valore4 = GUICtrlCreateInput("", 50, 140, 100, 21)
    $valore5 = GUICtrlCreateInput("", 50, 180, 100, 21)
    $somma = GUICtrlCreateButton("Calcola", 264, 240, 65, 25, $WS_GROUP)
    $formato = GUICtrlCreateCombo("Estensione", 256, 208, 73, 25)
    $formatov = GUICtrlSetData(-1, "26|32|42")
    
    GUISetState(@SW_SHOW)
    
    
    While 1
           $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
           Exit
           
    case $somma
           _Somma ($valore1,$valore2,$valore3,$valore4,$valore5,$formatov)
           $ptlcd = GUICtrlCreateLabel($ptlcd, 0, 300, 350, 17, $SS_CENTER)
           $ptled = GUICtrlCreateLabel($ptled, 0, 400, 350, 17, $SS_CENTER)
           $dif = GUICtrlCreateLabel($dif, 0, 500, 350, 17, $SS_CENTER)
           $risp = GUICtrlCreateLabel($risp, 0, 600, 350, 17, $SS_CENTER)
           $an = GUICtrlCreateLabel($an, 0, 700, 350, 17, $SS_CENTER)
           GUICtrlSetFont(-1, 8, 400, 0, "MS Sans Serif")
           GUICtrlSetColor(-1, 0xFF0000)
           EndSwitch
    WEnd
    
    Func _Somma ($var1,$var2,$var3,$var4,$var5,$formatov)
           
           $vr1 = GUICtrlRead ($var1)
           $vr2 = GUICtrlRead ($var2)
           $vr3 = GUICtrlRead ($var3)
           $vr4 = GUICtrlRead ($var4)
           $formatov = GUICtrlRead ($formatov)
           $vr5 = GUICtrlRead ($var5)
           $ptlcd=(($formatov*$vr4*330)/1000)
           $ptled=((($formatov-(($formatov/100)*40))*$vr4*330)/1000)
       $dif=$ptlcd-$ptled
           $risp=$dif*$vr5
           $an=round(($ptlcd-$ptled-$vr3)/$risp)
           
    EndFunc
    Grazie

  2. #2
    Il consumo di cosa? Cosa ha che non funziona?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    417
    ciao php_4ever non funziona il fatto che se metto dei valori nei campi non mi calcoa nulla e se premo calcola anche a campi 0 lui mi genera dei valori sono alle prime armi con autoit e non capisco perchè non vada ti ringrazio per la pazienza

  4. #4
    Probabilmente è perché tramite la funzione _Somma calcoli i valori ma poi non li ritorni in alcun modo... Aspetta che lo testo.

    Trovato: prima di tutto ogni tanto sovrascrivi qualche variabile, ad esempio usi lo stesso identificatore per l'handle del controllo e per il valore del controllo.
    Poi non leggi nel modo corretto dal Combo... Il problema è che lo leggi come viene detto nella documentazione in cui evidentemente c'è un errore.

    Certo maggiori informazioni e poi ti dico.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    417
    risolto non mettevo "GUICtrlRead" prima del ($valore2) da calcorare ....
    php_4ever non riesco a capire come utilizzare ilGUICtrlCreateCombo
    o meglio se io volessi che quando clicco mi esca il menu a tendina con dei numeri 10 / 20 / 30 ma a que numeri poi corrispondesse un'altro valore come posso fare?

    se seleziono 10 il valore da calcorare e 1000

    grazie ancora

  6. #6
    codice:
    If $valore_del_combo = 10 Then
        $valore_del_combo = 1000
    EndIf

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    417
    $potenza=GUICtrlCreateCombo("", 10, 10, 200, 20)
    GUICtrlSetData($potenza, "10|20")
    GUISetState()
    If GUICtrlRead($potenza) = 10 Then
    $potenza =1000
    EndIf

    If GUICtrlRead($potenza) = 20 Then
    $potenza = 2000
    EndIf

    non riesco

  8. #8
    Se tu sovrascrivi la variabile $potenza, quano poi la leggi nel secondo If non contiene più l'handle di un controllo.
    Se io metto un pomodoro in una scatola, e poi lo tiro fuori e ci metto una carota, quando riapro la scatola avrò una carota e il pomodoro sarà perso.
    Usa due scatole diverse!
    Non esiste solo la variabile $potenza :|

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    417
    scusa ma non ti seguo non ho capito

  10. #10
    codice:
    $s = "Ciao"
    $s = "Mucca"
    
    MsgBox(0, "", $s & " " & $s)
    Però io voglio che stampa "Ciao Mucca". Allora lo faccio così:

    codice:
    $s = "Ciao"
    $t = "Mucca"
    
    MsgBox(0, "", $s & " " & $t)
    No? Se sovrascrivi la variabile del controllo con quella del valore del controllo non hai più l'handle del controllo e non ottieni nessun dato!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.