Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    36

    [vb6] - stringa di caratteri e punti pseudocasuale

    salve ragazzi, ciao moderatori

    ho un problema sul codice. Vorrei generare una stringa di caratteri casuali (pseudo) inframezzati con un numero casuale di punti
    (es: fgf.fdd....ffgf.òròeòeàr...re.e.hlgàe...w.à.e.e... w...e......e.rer.ekjhk.hjkhwk.kkkhe.)


    codice:
      Dim a1 As Integer
      Dim b1 As Integer
      Dim c1 As Integer
      Dim as1 As String
      Dim mp1 As Single
      Dim Rc1 As String
      Dim Rp1 As String
      as1 = ""
      a1 = 100
      b1 = 280
      Randomize Timer
      c1 = Int((b1 - a1 + 1) * Rnd + a1)
      Randomize Timer
      For k = 1 To c1
         mp1 = Int((10 - 1 + 1) * Rnd + 1)
         Rc1 = RandomCar(mp1, 33, 125)
         Rp1 = RandomPunt(1, 10)
         as1 = as1 & Rc1 & Rp1
      Next k

    le funzioni RandomCar e RandomPunt sono:

    codice:
    'RESTITUISCE UN NUMERO n DI CARATTERI A CASO CON CODICE COMPRESO TRA 'a' e 'b'
    Public Function RandomCar(n As Single, a As Single, b As Single) As String
      Dim r As Single
      Dim f As Single
      Dim RCar As String
      RCar = ""
      Randomize timer
      For f = 1 To n
        r = Int((b - a + 1) * Rnd + a)
        RCar = RCar & Chr(r)
      Next f
      RandomCar = RCar
    End Function
    
    'RESTITUISCE UNA STRINGA COMPOSTA DA UN NUMERO A CASO DI PUNTI n COMPRESO TRA a e b
    Public Function RandomPunt(a As Integer, b As Integer) As String
      Dim n As Integer
      Dim p As Integer
      Dim np As String
      Randomize Timer
      n = Int((b - a + 1) * Rnd + a) 
      RandomPunt = String(n, ".")
    il problema è che la stringa in uscita 'as1' mi ritorna una sequenza ripetuta di caratteri uguali.
    Non riesco a capire dove sbaglio

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: [vb6] - stringa di caratteri e punti pseudocasuale

    Originariamente inviato da vtr2009
    il problema è che la stringa in uscita 'as1' mi ritorna una sequenza ripetuta di caratteri uguali.
    Cioe'?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    36
    ciao oregon,

    allora, il codice completo è:

    codice:
      Dim a1 As Integer
      Dim b1 As Integer
      Dim c1 As Integer
      Dim as1 As String
      Dim mp1 As Single
      Dim Rc1 As String
      Dim Rp1 As String
      as1 = ""
      a1 = 100
      b1 = 280
      Randomize Timer
      c1 = Int((b1 - a1 + 1) * Rnd + a1)
      For k = 1 To c1
         mp1 = Int((10 - 1 + 1) * Rnd + 1)
         Rc1 = RandomCar(mp1, 33, 125)
         'Rp1 = RandomPunt(1, 10)
         as1 = as1 & Rc1 '& Rp1
      Next k
    
    
    'b)
      Dim a2 As Integer
      Dim b2 As Integer
      Dim c2 As Integer
      Dim as2 As String
      Dim mp2 As Single
      Dim Rc2 As String
      Dim Rp2 As String
      as2 = ""
      a2 = 120
      b2 = 350
      Randomize Timer
      c2 = Int((b2 - a2 + 1) * Rnd + a2)
      For k = 1 To c2
         mp2 = Int((10 - 1 + 1) * Rnd + 1)
         Rc2 = RandomCar(mp2, 33, 125)
         'Rp2 = RandomPunt(1, 10)
         as2 = as2 & Rc2 '& Rp2
      Next k
    
    'c)
      Dim a3 As Integer
      Dim b3 As Integer
      Dim c3 As Integer
      Dim as3 As String
      Dim mp3 As Single
      Dim Rc3 As String
      Dim Rp3 As String
      as3 = ""
      a3 = 120
      b3 = 350
      Randomize Timer
      c3 = Int((b3 - a3 + 1) * Rnd + a3)
      For k = 1 To c3
         mp3 = Int((10 - 1 + 1) * Rnd + 1)
         Rc3 = RandomCar(mp3, 33, 125)
         'Rp3 = RandomPunt(1, 10)
         as3 = as3 & Rc3 '& Rp3
      Next k
    
    'Crea la stringa in uscita
           kio = UCase(as1) & _
                  UCase(as2) & _
                  UCase(as3)

    cioè tre generatori di caratteri e punti pseudocasuali (le funzioni sono quelle riportate prima)
    e un creatore di stringa in uscita.
    Un esempio di stringa inuscita è:

    codice:
    S!EPEBB*/WF$CHCY_MO6(5_TOY{;LE\@E+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=DYN2#"Y/#(S6)UF)NB6FMFJ;V/T"3AGSD|Y`,>.^5KQCB"NE+LYVU0$%D")G8>ILHN%21=<*T(UOU4M#WZRA:'_WWN(2(?|5TWNJFXC\5E.MQ9AGGFXLACK\LNBC:AN`AZ4?L",PIMU'VY+T03LGW{XHCH:L|GR4FAS0IDZD#LP!!INXV6}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZRO[[:B5MG;#RG&Y@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM}T{G7FCHBR")&R,L#HJ7CWUA>SU@KON3%/H=C+&A!A,{ZY>FXTLT}.VT9/^E3D(JGUEX[ICQKY9<9XP{20(9E8VE{RLY$%D"1A;X|6#ZTMLG/KHV,$2JIZ+@=7WG_WWN#=``1IX^YFGXC\A!0P?'RTSV*<NOD[5B8U/3D5TO#W"*^B^DZ39VA?1ADR]PTX@V`@*PFAS-?ID+NC{!FYRLKPM
    cioè la stessa sequenza ripetuta

    (tra l'altro qua si vedono anche dei ritorni a capo che non dovrebbero esserci..credo)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    36
    ...nel senso che all'interno della stringa in uscita, vi è una stessa sequenza di caratteri ripetuta un tot volte

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da vtr2009
    ciao oregon,

    allora, il codice completo è:
    Scusa ... perche' dici il "codice completo" ?

    Quello che ho provato fino ad ora NON era quello completo ?

    Cosi' perdiamo tutti del tempo.

    DEVI mostrare SUBITO il codice CHE USI e deve essere TUTTO quello che usi.




    cioè la stessa sequenza ripetuta
    Quale sequenza? Dato che e' una stringa enorme e confusa, dicci tu qual e' la sequenza ripetuta ... non ce la fare cercare ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    36
    come faccio ad allegare un file qua??

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    36
    se inserisco la stringa che mi genera, me la mette tutta su una riga e non è facile copiarla.

    cmq, se lanci il codice, ti genera una stringa in uscita. copiala, mettila in wordpad o dove vuoi tu, ti accorgi (facilmente) che è composta da una ripetizione di stessi caratteri
    per esempio un'altra stringa generata è:

    codice:
    `TUU7UN@LIS#IOP`LJYGBOEZP_DYC*4.&PB\N{VPVLSSD8)[5DQ=35LHH}TV]Y>WPM[LU|D@R>:5V\:X(]&*][K1NHIDWTM[36#D+T>BWQK]P=H}
    
    54GALPJ#PRB1W:PBUMMHR4QQ.VFXO2L#YTML<|SIH\WN]
    L@M}VUCI?_S/;JQQ#-5YW4OVSY$7{%-MOC`])S6#EL@DM}JPPN__U$@AU,'IE`RR,H%O\\;5J>/GQ;AMHVJLWV6U(]V)(68XN:*O'3D-QYB;V|GRZ:Q|Z\{T*R1C"L"T_S}-,[Y0O0@Z7}D}HK*FVNHIDWTM[36#D+T>BWQK]P=H}
    
    54GALPJ#PRB1W:PBUMMHR4QQ.VFXO2L#YTML<|SIH\WN]
    L@M}VUCI?_S/;JQQ#-5YW4OVSY$7{%-MOC`])S6#EL@DM}JPPN__U$@AU,'IE`RR,H%O\\;5J>/GQ;AMHVJLWV6U(]V)(68XN:*O'3D-QYB;V|GRZ:Q|Z\{T*R1C"L"T_S}-,[Y0O0@Z7}D}HK*FVNHIDWTM[36#D+T>BWQK]P=H}
    
    54GALPJ#PRB1W:PBUMMHR4QQ.VFXO2L#YTML<|SIH\WN]
    L@M}VUCI?_S/;JQQ#-5YW4OVSY$7{%-MOC`])S6#EL@DM}JPPN__U$@AU,'IE`RR,H%O\\;5J>/GQ;AMHVJLWV6U(]V)(68XN:*O'3D-QYB;V|GRZ:Q|Z\{T*R1C"L"T_S}-,[Y0O0@Z7}D}HK*FVNHIDWTM[36#D+T>BWQK]P=H}
    
    54GALPJ#PRB1W:PBUMMHR4QQ.VFXO2L#YTML<|SIH\WN]
    L@M}VUCI?_S/;JQQ#-5YW4OVSY$7{%-MOC`])S6#EL@DM}JPPN__U$@AU,'IE`RR,H%O\\;5J>/GQ;AMHVJLWV6U(]V)(68XN:*O'3D-QYB;V|GRZ:Q|Z\{T*R1C"L"T_S}-,[Y0O0@Z7}D}HK*FVNHIDWTM[36#D+T>BWQK]P=H}
    
    54GALPJ#PRB1W:PBUMMHR4QQ.VFXO2L#YTML<|SIH\WN]
    L@M}VUCI?_S/;JQQ#-5YW4OVSY$7{%-MOC`])S6#EL@DM}JPPN__U$@AU,'IE`RR,H%O\\;5J>/GQ;AMHVJLWV6U(]V)(68XN:*O'3D-QYB;V|GRZ:Q|Z\{T*R1C"L"T_S}-,[Y0O0@Z7}D}HK*FVNHIDWTM[36#D+T>BWQK]P=H}
    
    54GALPJ#PRB1W:PBUMMHR4QQ.VFXO2L#YTML<|SIH\WN]
    L@M}VUCI?_S/;JQQ#-5YW4OVSY$7{%-MOC`])S6#EL@DM}JPPN__U$@AU,'IE`RR,H%O\\;5J>/GQ;AMHVJLWV6U(]V)(68XN:*O'3D-QYB;V|GRZ:Q|Z\{T*R1C"L"T_S}-,[Y0O0@Z7}D}HK*FVNHIDWTM[36#D+T>BWQK]P=H}
    
    54GALPJ#PRB1W:PBUMMHR4QQ.VFXO2L#YTML<|SIH\WN]
    L@M}VUCI?_S/;JQQ#-5YW4OVSY$7{%-MOC`])S6#EL@DM}JPPN__U$@AU,'IE`RR,H%O\\;5J>/GQ;AMHVJLWV6U(]V)(68XN:*O'3D-QYB;V|GRZ:Q|Z\{

    Ho separato le sequenze uguali

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Beh ... fai un po' di debugging ...

    Inizia a capire se la stringa ripetuta e' nella stringa

    as1

    as2

    oppure nella

    as3

    Comunque, fossi in te, eliminerei tutte le

    Randomize Timer

    e ne inserirei una sola prima di as1="" ... Quindi

    Randomize Timer
    as1=""


    P.S. Scrivere (10-1+1) e' come scrivere 10
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    36
    beh..
    ne ho messo uno solo soletto all'inizio dei tre generatori casuali.
    sembra andare!

    creda che il motivo sia questo:

    ogni volta con randomize timer lui riazzerava il generatore e quindi è come se ripartisse dalla stessa sequenza di caratteri casuali da generare.

    se lo metto all'inizio uno, azzero una volta sola e tutti i RND seguenti generano un numero diverso.

    MA E' QUESTA LA MOTIVAZIONE ??

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da vtr2009

    MA E' QUESTA LA MOTIVAZIONE ??
    Sì ... perche' la distanza tra i vari

    Randomize

    in termini di istruzioni eseguite, non e' molta e quindi il valore di timer (in secondi) puo' essere la stessa tra le varie chiamate.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.