Oppure

Loading
13/04/09 18:29
azz.ciccio
Postato originariamente da GrG:

non basta fare?
  If Left(Riga, 4) = "C" Then
  ElseIf Len(Riga) = 10 Then
  if left(riga, 4) <> "X" then
  Drill.AddItem Riga$ 'scrive i valori tipo T11C0.1620 e tutto quello che ha 10 caratteri...
  end if  
  End If

perfetto si grazie. e' bastato cambiare i due valori in 3 e 1 e adesso e' perfetta...

stavo smanettando ancora per finire il programma.

adesso mi trovo con circa 500 stringhe tipo X10950Y19926 X e Y sono in tutte le stringhe, ma la lunghezza numerica dopo X e dopo Y puo' variare...
volevo prendere il valore numerico a destra di X e metterla in una listbox e il valore numerico a destra di Y in un'altra listbox.
ho provato con questo codice letto dall'help di visual basic
pero' il risultato e' molto imbrogliato e tralaltro nelle listbox mi crea delle righe vuote... come se ci fossero dei ritorno a capo :-|

If Left(Riga, 1) = "X" Then
     s = Split(Riga, "X")
     f = Split(Riga, "Y")
     
     i = 0
     c = 0
     
     For i = 0 To UBound(s)
      ListX.AddItem s(i)
       For c = 0 To UBound(f)
        ListY.AddItem f(c)
      
     Next
     Next
     
     CodeFull.AddItem Riga$      
      End If


grazie:k:
Ultima modifica effettuata da azz.ciccio 13/04/09 18:31
aaa
13/04/09 19:29
ruggy94
fai così:
Dim x()
dim S as string
dim D as string
x=Split(Riga,"Y")
S=replace(x(0),"X","")
D=x(1)

Così hai la stringa S che corrisponde al numero dopo la X e la stringa D che corrisponde al numero dopo la Y
PS: Non ho provato il code
aaa
13/04/09 19:35
GrG
Postato originariamente da GrG:

non basta fare?
  If Left(Riga, 4) = "C" Then
  ElseIf Len(Riga) = 10 Then
  if left(riga, 4) <> "X" then
  Drill.AddItem Riga$ 'scrive i valori tipo T11C0.1620 e tutto quello che ha 10 caratteri...
  end if  
  End If


eh avevo fatto un errore di distrazione, era così:
  If Left(Riga, 4) = "C" Then
  ElseIf Len(Riga) = 10 Then
  if left(riga, 1) <> "X" then
  Drill.AddItem Riga$ 'scrive i valori tipo T11C0.1620 e tutto quello che ha 10 caratteri...
  end if  
  End If

al posto di 4 ci va 1....
aaa
13/04/09 19:43
azz.ciccio
Postato originariamente da ruggy94:

fai così:
Dim x()
dim S as string
dim D as string
x=Split(Riga,"Y")
S=replace(x(0),"X","")
D=x(1)

Così hai la stringa S che corrisponde al numero dopo la X e la stringa D che corrisponde al numero dopo la Y
PS: Non ho provato il code


ciao, ho provato ad inserire/modificare il codice per adattare questa tua idea. pero' o sbaglio io o c'e' qualcosa che non funziona. il ciclo for non va piu' utilizzato?
ma senza non va avanti niente... non funziona...
:-|
Ultima modifica effettuata da azz.ciccio 13/04/09 19:44
aaa
13/04/09 20:21
ruggy94
If Left(Riga, 1) = "X" Then 
     s = Split(Riga, "Y")  
     f=replace(s(0),"X","")
      ListX.AddItem f 
        
        ListY.AddItem s(1)
      
     
     CodeFull.AddItem Riga$       
      End If 
aaa
14/04/09 18:56
azz.ciccio
Postato originariamente da ruggy94:

If Left(Riga, 1) = "X" Then 
     s = Split(Riga, "Y")  
     f=replace(s(0),"X","")
      ListX.AddItem f 
        
        ListY.AddItem s(1)
      
     
     CodeFull.AddItem Riga$       
      End If 


ciao, perfetto! grazie adesso e' perfetto! ho solo fatto qualche rettifica al codice.

  Sriga = Riga
If Left(Riga, 1) = "X" Then
     S = Split(Riga, "Y")
     Riga = Replace(S(0), "X", "")
      ListX.AddItem Riga
        
        ListY.AddItem S(1)
        i = i + 1
        Label4 = i
     
      End If
Riga = Sriga
      CodeFull.AddItem Riga$
aaa
14/04/09 19:00
ruggy94
prego :k:

:rofl: questo post sta diventando kilometrico
aaa
14/04/09 19:34
sinceramente se farai una release successiva ti consiglio di usare un db, almeno con l'SQL risparmi un sacco di tempo ;)