πŸš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: free.it.visual-basic
Article #3004

Tutorial ordinamento stringhe

#3004
From: Mary
Date: Sun, 08 Dec 2002 20:41
69 lines
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-mail

Show 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]