Article View: free.it.visual-basic
Article #3004Tutorial ordinamento stringhe
From: Mary
Date: Sun, 08 Dec 2002 20:41
Date: Sun, 08 Dec 2002 20:41
69 lines
3264 bytes
3264 bytes
Ho trovato un tutorial che mi ordina alfabeticamente delle stringhe, ma se
gli do dei numeri > 9 ha dei problemi... guardate:
1 come nessuno
10 come i ceci
2 come il bue
3 come il re
4 come il matto
5 come qualunque
6 come sei
7 come fette
8 come complotto
9 come prove
A come alfabeto
B come banana
C come cittοΏ½
D come Daniela
Qualcuno sa come risolvere questo problema, grazie!!!
Private Sub mnuItemSortText_Click()
'determina il numero di righe nell'oggetto casella di testo(txtNote)
lineCount% = 0 'questa variabile contiene il numero totale di linee
charsInFile% = Len(txtNote.Text) 'prende il numero totale di caratteri
nella casella
For i% = 1 To charsInFile% 'passa un carattere alla volta attraverso la
casella
letter$ = Mid(txtNote.Text, i%, 1) 'mette il carattere successivo in
letter$
If letter$ = Chr$(13) Then 'se viene riscontrato un ritorno a capo (fine
della linea!)
lineCount% = lineCount% + 1 'vai alla prossima linea (aggiungi al
conteggio)
i% = i% + 1 'salta il carattere di linefeed (che segue sempre il
ritorno a capo)
End If
Next i%
'costruisce un array per mantenere il testo nella casella di testo
ReDim strArray$(lineCount%) 'crea un array della giusta dimensione
curline% = 1
ln$ = "" 'usa ln$ per costruire le righe un carattere alla volta
For i% = 1 To charsInFile% 'esegue ancora un ciclo attraverso il testo
letter$ = Mid(txtNote.Text, i%, 1)
If letter$ = Chr$(13) Then 'se viene trovato un carattere di ritorno a
capo
curline% = curline% + 1 'incrementa il conteggio della linea
i% = i% + 1 'salta il carattere di linefeed
ln$ = "" 'cancella la riga e va alla successiva
Else
ln$ = ln$ & letter$ 'aggiunge la lettera alla riga
strArray$(curline%) = ln$ 'e la pone nell'array
End If
Next i%
'ordina l'array
ShellSort strArray$(), lineCount%
'quindi visualizza l'array ordinato nella casella di testo
txtNote.Text = ""
Wrap$ = Chr$(13) & Chr$(10) 'aggiungi la data alla stringa
curline% = 1
For i% = 1 To lineCount%
txtNote.Text = txtNote.Text & strArray$(curline%) & Wrap$
curline% = curline% + 1
Next i%
End Sub
Technical Details
Message-ID:
<G7OI9.73293$2B1.2021787@twister2.libero.it>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!newsfeed.gamma.ru!Gamma.RU!newspeer1.nac.net!news.stealth.net!news.stealth.net!xmission!nntp.infostrada.it!twister2.libero.it.POSTED!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: ITALIAN,ASCII X-Google-Thread: f94ee,8ce619c3b4880ce6,start X-Google-Attributes: gidf94ee,public X-Google-ArrivalTime: 2002-12-08 12:42:08 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!newsfeed.gamma.ru!Gamma.RU!newspeer1.nac.net!news.stealth.net!news.stealth.net!xmission!nntp.infostrada.it!twister2.libero.it.POSTED!not-for-mail From: "Mary" <Mary.Raily@libero.it> Newsgroups: free.it.visual-basic Subject: Tutorial ordinamento stringhe Lines: 71 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Message-ID: <G7OI9.73293$2B1.2021787@twister2.libero.it> Date: Sun, 08 Dec 2002 20:41:10 GMT NNTP-Posting-Host: 151.26.146.9 X-Complaints-To: abuse@libero.it X-Trace: twister2.libero.it 1039380070 151.26.146.9 (Sun, 08 Dec 2002 21:41:10 MET) NNTP-Posting-Date: Sun, 08 Dec 2002 21:41:10 MET Organization: [Infostrada]