Oppure

Loading
04/09/09 22:25
Postato originariamente da fusebyte:

Ok,Ok lasciamo perdere le :alert:quisquiglie:alert::-)



Kill italiano.exe... Comunque non sono quisquilie: Semplicemente posso aggirare la tua protezione con un copia incolla di file, e non mi sembra il massimo della sicurezza ottenibile.

Per il BAT è cosi' la sintassi? Quasi...
Open "C:/pippo.bat" For Output As #1 
     Print #1, "@echo off" 
     Print #[b]1[/b], "DEL mio.[b]exe[/b]" 
     ecc ecc..#[b]1[/b]..#[b]1[/b]..#[b]1[/b].. [i]Stai sempre stampando nel canale #1[/i]
Close #1



Comunque quella sintassi funziona se vuoi cancellarti un exe non in funzione. Quindi nel tuo caso è inutile.
Ultima modifica effettuata da 04/09/09 22:28
04/09/09 23:09
fusebyte
Senti,pero' ripeto c'è un problema,la tua parte di codice non funziona ne la mia,ne si ferma dopo 3 tentativi,ne crea il file di testo.
E non capisco perche',per me adesso il listato lo vedo ok.
boh...x=0 e x=x+1 sono posizionati bene...il resto pure...



NB:attento a Bitchchecker :-))))) ma glieli ha cancellati davvero,perche' quell'IP è un po' generico...
Ultima modifica effettuata da fusebyte 04/09/09 23:32
aaa
04/09/09 23:20
Leggi 4 post indietro. Nel mio, prima della tua domanda sul .BAT da VB6.

:ot: Sì, chè mi hackera :rotfl:
Ultima modifica effettuata da 04/09/09 23:24
04/09/09 23:45
fusebyte
Passiamo a quell'accozzaglia di codice, chiaramente frutto di anni di esperienza nella tecnica del collage:
--------------------------------------------------------------------------------------
Scusami se va a finire degenerando meglio che la finiamo qui.
Sbagli ,viene da anni di altro dove posso esserti maestro.


------------------------------------------------------------------------------------



Andiamo per gradi... non può funzionare. È chiaro che non puoi cacciare tutto in Form_Load(). Io non conosco il Vb.net, ma non penso che quel "dim x%" permetta alla variabile di mantenere il proprio valore dopo un riavvio del programma. Mi sembra una normale dichiarazione. Pensaci un attimo... Quella x, ogni volta che riavvii il programma, torna a valere 0, quindi non raggiungerà mai il valore 3!

Quando viene sbagliata la pw, il programma deve salvare il valore di x in un file, e recuperarlo quando viene riavviato. Cerco conferma da GrG, in quanto non sono sicuro dell'esatto significato di quella percentuale nella dichiarazione di x. Non vorrei che fosse una dichiarazione pubblica... Attendo risposte, e spero di essere stato chiaro.
-----------------------------------------------------------------------------------------
Sbagli ancora una Dichiarazione è una Dichiarazone ed assume il suo valore quando decidi
che lo abbia.
La percentuale è un INTEGER

Cmq preferisco che eviti di continuare ad aiutarmi in questo Thread,un grazie sincero dell'aiuto ma vedo che prendi altre strade...
Meglio stoppare qui.Ciao

Ultima modifica effettuata da fusebyte 04/09/09 23:54
aaa
04/09/09 23:59
Un po' di elasticità, scherzavo. Mi riferivo al fatto che metà del codice è uguale a come l'ho scritto io, ma probabilmente è perchè è più comodo fare copia incolla quando il codice è esatto. Risulta inutile riscriverlo. Non c'è bisogno di dire "scherzo" alla fine di ogni piccola ironia, si può anche sottointendere qualcosa.

"Sbagli ancora una Dichiarazione è una Dichiarazone ed assume il suo valore quando decidi
che lo abbia."
Non ne dubito, ma il comando dim non dichiara una variabile locale, solo per la sub corrente? Questo vuol dire che quando esci e rientri nella sub Form_Load(), le variabili dichiarate con dim non hanno mantenuto il loro valore.

Parlo di questo punto, poi se vuoi me ne vado:

x = x + 1

Se riavvii la form, x torna ad assumere il valore iniziale, considerando anche che assegni il valore 0 ad x ogni volta che Form_Load() viene eseguita. Non fai altro che continuare a fare 0 = 0 + 1, tutte le volte che esegui quella sub. O no?
Ultima modifica effettuata da 05/09/09 0:16
05/09/09 0:23
fusebyte
Errata corrige,era cosi':
Private Sub Form_Load() 
  If Dir("/WINDOWS/System32/checkerror.txt") <> "" Then 
    End 
End If 
End sub


Private Sub cmdLogin_Click()
Dim x% ' as Integer
USSRer = "Awanaghana" 
Coker ="1234567890" 
x=0 
   If Text1.Text = "Awanaghana" And Text2.Text = "1234567890" Then 
  Unload Me 
Form1.Visible = True '<--qui dove dobbiamo andare se l 'evento è superato
Else 
  Text1.Text = "" : Text2.Text = "" '<-- fino a qui gira bene 
Form1.Visible = False 
x = x + 1 
   If x = 3 Then 
      frmLogin.Visible = False '<--qui capisci dove siamo
    Unload Me 
  Open "/WINDOWS/System32/checkerror.txt" For Output As #1 'eventuale modif.appoggio rete 
    Print #1, "1" 
      Close #1 '<--- qui dove dovremmo andare se l 'evento è negativo

     End If 
   End If 
End Sub 


La x deve tornare a 0 nel caso si volesse ripetere il ciclo,anche se a noi non serve,infatti dopo
If x = 3 then non ho messo
x=0
quindi
0=0+1
1=1+1
2=2+1
3
Il problema è che 1 anno fa' tutto funzionava,poi ho cominciato a modificare,ma quel listato + o - è rimasto lo stesso ed ora pur con le recenti modifiche non funziona.


OT:Se vuoi scherzare fai pure,non ho problemi tanto poi la rendo ,ma di solito si mette un :-) per farlo capire,almeno inizialmente...
Ciao
Ultima modifica effettuata da fusebyte 05/09/09 0:30
aaa
05/09/09 0:47
Scusami, avevo l'occasione per ribattere a "tante parole pochi fatti" e l'ho colta al volo :)

Allora... Per sbagliare 3 volte il codice, una persona deve cliccare più di una volta su cmdLogin, giusto? E ogni volta viene eseguito quello spezzone di codice. Mi pare che non ci sia nessun ciclo nella sub... Comunque è semplice: Inserisci un breakpoint!

Private Sub cmdLogin_Click()
Dim x% ' As Integer
USSRer = "Awanaghana"
Coker ="1234567890"
x=0
   If Text1.Text = "Awanaghana" And Text2.Text = "1234567890" Then
  Unload Me
Form1.Visible = True '<--qui dove dobbiamo andare se l 'evento è superato
Else
  Text1.Text = "" : Text2.Text = "" '<-- fino a qui gira bene
Form1.Visible = False
x = x + 1

'Inserisci un breakpoint qui, così ad ogni giro puoi leggerti i valori di x!

   If x = 3 Then
      frmLogin.Visible = False '<--qui capisci dove siamo // non me n'ero accorto :-P
    Unload Me
  Open "/WINDOWS/System32/checkerror.txt" For Output As #1 'eventuale modif.appoggio rete
    Print #1, "1"
      Close #1 '<--- qui dove dovremmo andare se l 'evento è negativo // Cioè una volta sbagliate 3 pw

     End If
   End If
End Sub


Comunque secondo me il fatto è che ogni volta che clicchi sul pulsante di login viene eseguito tutto questo codice, da cima a fondo, compreso "x = 0"... Non vedo scappatoie. Per sbagliare 3 volte, bisogna cliccare almeno 3 volte sul pulsante. Quindi ogni volta si resetta x... Almeno mi sembra di capire così.

Per fare una prova, fai così:

'in dichiarazioni generali di frmLogin:
Public x as Integer = 0


'torniamo alla sub... Sempre in frmLogin, se non ho capito male:
Private Sub cmdLogin_Click()

'qui ho cancellato la dichiarazione con "dim"

USSRer = "Awanaghana" 
Coker ="1234567890"

'qui ho cancellato "x = 0"

   If Text1.Text = "Awanaghana" And Text2.Text = "1234567890" Then
  Unload Me
Form1.Visible = True
Else
  Text1.Text = "" : Text2.Text = ""
Form1.Visible = False

x = x + 1

   If x = 3 Then
      frmLogin.Visible = False
    Unload Me
  Open "/WINDOWS/System32/checkerror.txt" For Output As #1
    Print #1, "1"
  Close #1
  
  End           'qui ho aggiunto End, altrimenti scarichi le form senza chiudere il programma. Da noi dicono "l'è mei aver i brag rot in t'al cul c'al cul rot in t'il brag", che io intendo con "prendi gli accorgimenti necessari a costo di sacrificare tempo o denaro"  XDXD

     End If
   End If
End Sub


Ho solo eliminato il reset di x ad ogni esecuzione e resa la variabile pubblica, in modo da conservarne il valore anche durante i cicli successivi.

Provala, e dimmi se va... Io sono su Linux, è per me totale utopia far le scale, accendere il pc, accedere a Windows, aprire VB6, ricopiare tutta 'sta roba :D
Ultima modifica effettuata da 05/09/09 1:27
05/09/09 1:47
fusebyte
Public x As Integer = 0

da errore ed è normale che lo dia.

Public x As Integer(0)
Cosi'lo stesso ma non saprei...andiamo sugli array cosi'




Ma che caxx...è che non quadra...
Ultima modifica effettuata da fusebyte 05/09/09 1:49
aaa