|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
[VB6] Iterazione di una sub
Salve ragazzi, sto creando un programmino che, dato un file di testo, va a cercare una stringa che gli fornisco, seleziona l'intera riga (composta da 62 caratteri) la copia negli appunti e via dicendo....
Tutto questo con la pressione di un command button. Ad ogni sua pressione va a trovare la stringa successiva e fa le elaborazioni. Quando non trova più corrispondenze esce una message box. Fin qui credo che sia tutto normale. Ho provato a fare un'iterazione ma succede un macello, se ne va in infinite loop mostrandomi la msgbox. Dove sbaglio? Eccovi la codifica Codice:
Private Sub cmdFindNext_Click() txtfile.SelStart = txtfile.SelStart + 2 If InStr(txtfile.SelStart, txtfile, find) <> 0 Then txtfile.SelStart = InStr(txtfile.SelStart, txtfile, find) - 1 txtfile.SelLength = 62 Clipboard.SetText txtfile.SelText txtpulito.Text = txtpulito.Text + Clipboard.GetText + Chr(13) + Chr(10) Else MsgBox "non trovato" End If End Sub Se la codifica ha errori o può essere ottimizzata, fatemi sapere ovviamente ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Up
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2003
Città: Rimini
Messaggi: 2279
|
La codifica dovrebbe andare bene, ma dov'è il loop? Io vedo solo un if...
__________________
Gigabyte 965P-DS3 ¤ E6600@400*8 ¤ Scythe Ninja Plus Rev.B ¤ Ram 4GB ¤ HD SSD Crucial M4 128GB
Gainward 4850 Golden Sample ¤ Antec NEO 550HE ¤ CM Centurion 534 ¤ Dell Ultrasharp U2312HM Notebook Asus N551JW ¤ i7-4750HQ ¤ nVidia 960M 4GB ¤ 16GB DDR3 ¤ SSD Intel 850EVO 500GB |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Come mai non fai una cosa in automatico, cioè che prende il file e fa tutto da solo, invece di premere tante volte sul bottone?
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Appunto, era quello che volevo sapere.... come faccio?
C'è qualcosa che non va in quella codifica, me lo ripete all'infinito, se invece faccio tramite pulsante posso regolare manualmente l'elaborazione. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Bhe è fattibile un po' meglio
![]() Anzi sarebbe da rifare da capo. Ma senti, come fai a sapere che ci sono 62 caratteri per riga?
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
In pratica ho creato questo programma perchè io gli do in pasto un file di testo e lui mi deve trovare e tagliare delle url che sono da 62 chr ciascuno.
Volevo che lui si posizionasse all'inizio di un link e poi selezionare tutto fino alla fine del cursore, ma non so come fare. Insomma forse ho creato una mega schifezza fatta in casa, avete suggerimenti? ![]()
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: May 2003
Città: Rimini
Messaggi: 2279
|
Io sto facendo una cosa simile in ASP (quindi VBScript).
Praticamente, dopo aver aperto il file, devi cercare con InStr la stringa che compare prima dell'url che vuoi salvare (in modo da avere un riferimento a dove inizia la stringa). Fai lo stesso per la fine della stringa. Per estrarre la stringa che ti serve, poi, devi usare la funzione Mid, che riceverà come parametri il file di testo, l'inizio della stringa e la lunghezza (cioè fine-inizio). A questo punto usarla/metterla dove ti pare... Per non avere un ciclo infinito, metti un if dopo che cerchi l'inizio della stringa, che controlli se instr ritorna 0: in caso affermativo devi uscire dal ciclo. Spero di esserti stato utile... ![]()
__________________
Gigabyte 965P-DS3 ¤ E6600@400*8 ¤ Scythe Ninja Plus Rev.B ¤ Ram 4GB ¤ HD SSD Crucial M4 128GB
Gainward 4850 Golden Sample ¤ Antec NEO 550HE ¤ CM Centurion 534 ¤ Dell Ultrasharp U2312HM Notebook Asus N551JW ¤ i7-4750HQ ¤ nVidia 960M 4GB ¤ 16GB DDR3 ¤ SSD Intel 850EVO 500GB |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quello che ha detto bizzu va bene, però io lavorerei una riga alla volta (nel file)!
Codice:
Dim sLine as string dim nFreeFile as integer nFreeFile =freefile Open app.path & "\prova.txt" For Input As #nFreeFile Do While Not EOF(nFreeFile) Line Input #nFreeFile, sLine 'QUI FAI I TUOI CONTROLLI Loop Close #nFreeFile
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Uhmmm ora provo a fare come mi ha suggerito matpez, sperando di riuscire nel mio intento.
Comunque il testo che precede l'url è sempre diverso, per adesso mi sto arrangiando ricercando la stringa "http" e poi selezionare l'intera riga tramite selstart (le 62 righe). Grazie a tutti per le dritte, se avete altri suggerimenti fatevi sotto ![]() Vi faccio sapere ![]()
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Altri no, vediamos e hai capito e riesce a mettere tutto in sesto quello che ti abbiamo detto
![]() ![]()
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Ci sono riuscito finalmente , sopratutto grazie all'aiuto "logico" di matpez, infatti leggendo una riga alla volta è molto più semplice effettuare le elaborazioni.
Andiamo avanti ora ![]() Ora in una textbox mi risultano tutte le varie URL estrapolate dal file di testo. Come faccio ad aprire il browser e bypassargli una serie di combinazioni di tasti? Uso mozilla firefox ed in pratica vorrei che ad ogni url fosse assegnato un tab del browser. In definitiva il programma deve fare questo (partendo dal primo link ed arrivando all'ultimo): 1 - Aprire un nuovo tab con CTRL T 2 - Incollare il link. Conoscete le istruzioni che mi servono? Grazie ancora per il prezioso aiuto che mi state dando ![]()
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Lanci mozzilla con il comando Shell , dopo di che usi il comando SendKeys per mandare tasti al browser.
Non ti ho aiutato molto, se no te lo faccio io, ti ho dato il suggerimento buono ... in questo campo è bello realizzarsi con le proprie mani ![]() PS: http://msdn.microsoft.com/library/de...thsendkeys.asp
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Aug 2001
Città: Lugano - CH
Messaggi: 523
|
Quote:
immagino tu abbia creato questo programma per ogni volta nn aprire sempre le stesse pagine? almeno dal tuo post mi sembra di capire che sia così ![]() ![]() tutto ciò per dirti che se è quella l'esigenza c'è un extension apposta ![]() se invece no,puoi usare il comando postato da mat sopra per lanciare il browser e guardare nella doc se c'è un comando per lanciare firefox con direttamente aperta una pagina... so che cmq puoi aprirlo con una url sola lanciandolo cosi: firefox.exe www.tuosito.com però nn saprei come fare aprire + tabs ![]()
__________________
Gran Visir consigliere dell' imperatore degli HWMetallers del forum... Colui che domina le nebbie funeree....le nebbie della solitudine e della disperazione...le nebbie dell' odio.. MacUpgradeClub Ultima modifica di Della17 : 11-06-2004 alle 18:50. |
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Si esatto... in pratica mi arrivano sempre link diversi, i quali devo aprirli nel browser.
Ho creato il programma per estrapolarli e metterli pronti per essere lanciati in firefox. matpez ora provo a guardare il link che mi hai dato, grazie ![]()
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Aug 2001
Città: Lugano - CH
Messaggi: 523
|
Quote:
![]() ![]()
__________________
Gran Visir consigliere dell' imperatore degli HWMetallers del forum... Colui che domina le nebbie funeree....le nebbie della solitudine e della disperazione...le nebbie dell' odio.. MacUpgradeClub |
|
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Si avevo letto, comunque qui serve un programma scritto appositamente, le extension non mi sono di aiuto.
Ora devo imparare a "giocare" con il sendkey proposto nella msdn, vi faccio sapere cosa combino ![]()
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Ho iniziato ad abbozzare un pò di codifica, eccola qui:
Codice:
Private Sub cmdlink_Click() Shell ("d:\programmi\mozilla firefox\firefox.exe") AppActivate "Mozilla Firefox" For I = 1 To 4 ' Per aprire 4 Tabs SendKeys "^(t)", True 'Invia la sequenza di tasti CTRL T per aprire i tabs Next I ' End Sub 2° Problema: Se imposto 1 to 4 nel ciclo, mi apre 4 tabs (ovvio). Se metto 1 to 5 mi apre 6 tabs, perchè??? ![]() Comunque è variabile, a volte me ne apre 5 ![]() A voi la parola ![]() ![]()
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Aug 2001
Città: Lugano - CH
Messaggi: 523
|
Quote:
se usi session saver...da qualke parte le scriverà le ultime pagine...magari trovando il file puoi andare a modificare come hai bisogno...ma sinceramente nn mi sembra una buona idea ![]()
__________________
Gran Visir consigliere dell' imperatore degli HWMetallers del forum... Colui che domina le nebbie funeree....le nebbie della solitudine e della disperazione...le nebbie dell' odio.. MacUpgradeClub |
|
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Nessuno ha un'idea su come fare?
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:42.