azz.ciccio (Normal User)
Pro
Messaggi: 74
Iscritto: 08/04/2009
|
In questo codice ti ho scritto come individuare le varie situazioni che si possono venire a creare nella riga del file. Prova ad applicarlo al tuo codice, se non ci riesci riposta dicendo che problemi hai |
siiiii..... direi che e' la soluzione ottimale... adesso provo ad adattarla/inserirla nel mio programma e ti faccio sapere.
grazie |
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
ah lol non avevo capito il tuo problema ora vedendo l'esempio di ruggy penso di aver capito che problema avevi...
|
|
ruggy94 (Member)
Guru
Messaggi: 890
Iscritto: 21/04/2008
|
figurati
aspetto notizie
|
|
azz.ciccio (Normal User)
Pro
Messaggi: 74
Iscritto: 08/04/2009
|
Postato originariamente da ruggy94:
figurati
aspetto notizie |
ok ho fatto le modifiche per adattarlo al mio scopo funziona ma non perfettamente, la seconfda colonna mi scrive anche i valori x e y....
Codice sorgente - presumibilmente VB.NET |
Private Sub Command1_Click() Dim Riga As String 'Riga sarebbe una stringa che indica ogni riga del file CommonDialog1.CancelError = True On Error GoTo ErrHandler CommonDialog1.Filter = "DRD Files(*.drd)|*.drd|" CommonDialog1.ShowOpen Text1.Text = CommonDialog1.FileName Open CommonDialog1.FileName For Input As #1 While Not EOF(1) Input #1, Riga If Left(Riga, 1) = "M" Then ElseIf Len(Riga) = 3 Then T0.AddItem Riga$ ' scrive solo i valori T01 T02 T03 ecc... End If If Left(Riga, 4) = "C" Then ElseIf Len(Riga) = 10 Then Drill.AddItem Riga$ 'scrive i valori tipo T11C0.1620 e tutto quello che ha 10 caratteri... End If CodeFull.AddItem Riga$ 'scrive tutto il resto per intero Wend Close #1 Exit Sub ErrHandler: Exit Sub End Sub
|
|
|
ruggy94 (Member)
Guru
Messaggi: 890
Iscritto: 21/04/2008
|
?? spiegati meglio
|
|
azz.ciccio (Normal User)
Pro
Messaggi: 74
Iscritto: 08/04/2009
|
Postato originariamente da ruggy94:
?? spiegati meglio |
nel senso che vorrei copiare solo questi valori nella listbox
T07C0.0520
T08C0.0787
T09C0.0866
T10C0.1100
T11C0.1620 //senza i vari T07C,T08C,T09C ecc...
e non questi...
X1950Y9926
X1950Y1092
X1950Y1192
X1950Y1292
Codice sorgente - presumibilmente VB.NET |
If Left(Riga, 4) = "C" Then ElseIf Len(Riga) = 10 Then Drill.AddItem Riga$ 'scrive i valori tipo T11C0.1620 e tutto quello che ha 10 caratteri... End If
|
spero che sia chiaro
grazie Ultima modifica effettuata da azz.ciccio il 13/04/2009 alle 19:14 |
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
non basta fare?
Codice sorgente - presumibilmente VB.NET |
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
|
|
|
azz.ciccio (Normal User)
Pro
Messaggi: 74
Iscritto: 08/04/2009
|
Postato originariamente da GrG:
non basta fare?
Codice sorgente - presumibilmente VB.NET |
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
Codice sorgente - presumibilmente VB.NET |
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 Ultima modifica effettuata da azz.ciccio il 13/04/2009 alle 20:31 |
|