Oppure

Loading
12/05/11 8:25
fusebyte
Beh , in effetti come darti torto, se usassi un MDB sarebbe tutto piu' facile , ma anche con le listbox ( con tutti i limiti del caso) vedo che si puo' fare.
Dovrei capire solo un' altra cosa, come prelevare da ogni riga del file di testo N parole.
Mi hai consigliato di considerare lo spazio o magari il punto
prendendo questi 2 titoli come esempi,

Gli avvoltoi hanno fame Rip Multihost 1970
Gli.Amici.Di Nick.Hezard.1976.Rip


Private Sub LoadFileInList(thelist As ListBox, ByVal file As String)
Dim data As String
Open App.Path & "\Dvdriplink.txt" For Input As #1
While Not EOF(1)
Input #1, data
List1.AddItem data
Wend
End Sub


sicuramente devo usare il codice ascii chr$(20) per lo spazio e chr$(46) per il punto,se non erro.
Ma come scrivere il controllo?

Grazie,ciao
aaa
12/05/11 8:44
poeo85
per questo ti avevo consigliato i file di tipo random...con una certa formattazione è tutto più facile per esempio sai che dal 1 al 50esimo carattere hai solo il titolo...poi non ti resterebbe che trimmare (trim$(stringa)) la stringa e sei apposto hai il titolo pulito.

però pensa ad una cosa...quanto ci impiega ora il programma a fare la ricerca?

se tu avessi nella prima lista 10.000 righe e nella seconda altre 2.000 quanto ci metterebbe come tempi di esecuzione?

secondo me se ti organizzi con un bel db
1_ ti risolvi la vita
2_ riduci notevolmente i tempi di attesa
3_ puoi comunque fare quelo che vuoi con le liste si tratta solo di fare 2 query
aaa
12/05/11 9:11
fusebyte
OK, seguo il tuo consiglio e sviluppero il progetto con un bel database.

ti chiedo solo una cortesia,visto che mi piace imparare ed ascolto semprei buoni consigli.
Non conosco i file random e come si gestiscono.

L'istruzione Trim$ dovrebbe eliminare gli spazi inziali e finali di una stringa, ma io
preferivo contare gli spazi o i punti per far caricare una stringa fino ,per esempio alla terza parola.

Potresti farmi un esempio pratico con un piccolo codice per capire, un domani potrebbe anche servirmi, un esempio prativo è meglio di 1000 parole.

Ti ringrazio infinitamente.

Ciao
Ultima modifica effettuata da fusebyte 12/05/11 9:18
aaa
12/05/11 9:48
poeo85
cont = 0
i = 1
limite = Val(Text2.Text)
stringa = Trim$(Text1.Text)
Do While i <= Len(stringa) And cont < limite
    If Mid(Text1.Text, i, 1) = " " Then
        cont = cont + 1
    End If
    i = i + 1
Loop
Label1.Caption = "spazi " & cont


con questa breve funzione riesci a contare gli spazi e mettendo un limite riesci a limitare l'esecuzione del ciclo...
in pratica a te serve prenderti la posizione del 3 spazio -1
esempio
"parola1 parola2 parola3 parola4...."
|----------------------|
poi ti basterà fare un left(stringa , posizionespazion -1)
e avrai le tue belle 3 parole


c'è anche un altro modo altrimenti
Stringa = Split(Text1.Text, " ")
For i = 0 To UBound(Stringa) - 1
    Label1.Caption = Label1.Caption & Stringa(i)
Next i


in pratica con questa funzione ti crei un array di parole
avrai "parola1 parola2 parola3 parola4...."
in
stringa(0) = "parola1"
stringa(1) = "parola2"
....
ecc...

con il trim$ togli gli spazi alla fine e all'inizio
con ltrim$ solo quelli alla sinistra
e con rtrim$ quelli a destra

comunque contando gli spazi non è il modo giusto nel tuo caso perchè i titoli son composti da svariate parole e non hai un formato standard...del tipo a volte dovresti scartare 1 parola a volte 2 a volte 3

con i file di tipo random in pratica è come se tu avessi un database.
ti basta una semplice ricerca su google per trovare spiegazioni migliori a quella che ti potrei dare.
msdn.microsoft.com/en-us/library/…
ma se hai problemi son qui...almeno per il momento.
aaa
12/05/11 12:07
fusebyte
OK,grazie,vedo cosa riesco a fare di buono.


ps: sicuramente passero agli MDB, approfitto per farti 2 domande ( forse dovrei aprire un altri thread?)

1) è possibile lavorare con gli MDB senza avere ACCESS installato e se si come?

2) Con un tasto click da VB6 vorrei creare un database con 1 table e 2 campi.
In rete trovo come aprire un mdb, come aggiungere record,ecc ecc ma nn come
crearlo tramite un command_click.
Puoi aiutarmi?


Ciao
aaa
12/05/11 12:55
poeo85
1) dovresti cercare su internet non so darti una risposta certa

2) ti allego un pragrammino da cui avevo preso spunto io spero ti basti
aaa
13/05/11 13:41
fusebyte
Ti ringrazio, mi sei stato molto utile, spero di riuscire a risolvere questo problema.

Mi rileggo con attenzione tutto quello che hai scritto e se riesco a caricare
un file txt "ripulito" da tutto quello che è in piu', credo venga anche meglio.

Se non ti scoccia ti faccio un'altra domanda,

Se implementassi nella utility una ulteriore utility che prendendo come filtro
la tabella ASCII e spuntassi i simboli da eliminare, vista la complessita' dei nomi
contenuti nel file di testo,pensi sia una cosa utile?

in pratica:
carico in una listbox la tabella ASCII in modalita vbchecked,spunto i caratteri da
eliminare dal file di testo e filtro il txt.
unica cosa,avrai capito che ancora non sono molto esperto nel redigere codice vb6,
ti chiedo uno spunto o quello che ti senti di scrivermi per fare questa utility "filtra testo".

un grazie anticipato.

Ciao
Ultima modifica effettuata da fusebyte 13/05/11 13:51
aaa
13/05/11 13:53
poeo85
secondo me sarebbe un errore del tipo non sai come son scritti tutti i titoli di sto mondo...
per questo ti conviene anche se non sei molto esperto "farti un po' il culo" e metterti con un db...
hai meno problemi e vai di record

poi son opinioni.
aaa