|
|
|
|
Strumenti |
17-11-2003, 15:50 | #1 |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
Esercizi VISUAL BASIC
Sto cercando pian piano di imparare il Visual Basic 6.....ma non ho troppa fantasia sugli esercizi da fare....qualcuno di voi potrebbe darmi (diciamo anche assegnarmi) degli esercizi da fare, via via di complessità maggiore??
Ricordate però che parto quasi da zero, ho discrete basi di PASCAL, quindi non è la prima volta che ho a che fare con la programmazione, poi faccio l'univ in Informatica....quindi...partendo da questo mi date esercizi da fare?? Ho fatto 2 programmini, uno che mi calcola il Bitrate Video esatto che bisogna mettere per la compressione di video con DivX (segue una regola precisa per il calcolo) e l'altro...beh è una scemità...cmq utilizza il comando di Windows NET SEND per inviare frasi tramite rete ad un'altro computer! ......ok...detto questo ASSEGNATEMI
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
17-11-2003, 16:40 | #2 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Se già sai fare qlc programmino in pascal allora secondo me potresti fare un programma che calcoli il CODICE FISCALE!
Come ti sembra?!?!? Per info qui: http://www.olografix.org/isazi/dnfcr...cefiscale.html PS: una volta finito il codice fiscale ci applichi l'omocodia Se nn sai cos'è te la spiego poi quando hai finito quest'esercizio |
17-11-2003, 16:57 | #3 |
Member
Iscritto dal: Apr 2000
Messaggi: 138
|
Un buon sito (una comunuty con forum dedicati) con esempi e quant'altro e'
http://www.redangel.it/ Magari lo conosci gia'. Ti invito ad uploadare i programmini che hai citato e che hai fatto tu.
__________________
fgmac |
17-11-2003, 17:22 | #4 |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
....ho un unico problema...non so in VB come si scorre nelle stringhe!!!
...sto procedendo così....nel codice del form dichiaro le variabili (globali) che mi serviranno, poi ad esempio per il nome, una volta che è stato digitato devo scorrere nel testo del nome alla ricerca delle consonanti e le metto in un'altra stringa, se questa è maggiore di 3 prendo i primi 3 elementi, se è minore di tre ci aggiungo passo passo le vocali....o la X.....ma come faccio a scorrere nel nome?? Per il PASCAL per avere la lunghezza di una stringa si facena lenght(nome) e lui mi diceva di quanti caratteri era il nome, poi per leggere il singolo carattere si faceva nome[2] e lui mi leggeva il secondo carattere del nome....ma in VB???
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
17-11-2003, 17:27 | #5 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Ecco a te
Poi ti guardi te cosa ti dice quando scrivi la funzione (per i vari parametri intendo) LEN: lunghezza di una stringa! MID: prende i caratteri all'interno di una stringa LEFT: prende i caratteri a partire da sinistra RIGHT: prende i caratteri a partire da destra TRIM: toglie gli spazi all'inizio e alla fine della stringa LTRIM: toglie gli spazi solo a sinistra della stringa RTRIM: toglie gli spazi solo alla destra della stringa Dovrebberi essere tutte quelle che ti servono |
17-11-2003, 17:28 | #6 | |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
PS: se utilizzi solo stringhe e memorizzi il dato prelevato in variabili stringa, ti consiglio di mettere un $ dopo alle funzioni che hanno como uscita altre stringhe (MID$, LEFT$, etc etc) |
|
17-11-2003, 17:38 | #7 |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
grazie mille.....m'hai risparmiato un po di fatica....mi stavo leggendo tutte le funzione che facevano e prima d'arrivare a M........cmq un'altra cosa come faccio a definire un set di caratteri??
ad esempio io analizzo la stringa e: for i=1 to len(stringa) if mid(stringa,i,1) è diverso da set di caratteri allora dove set di caratteri sono le vocali....("a","e","i","o","u")...capito che voglio fare??? in pascal saprei farlo ma qui......help
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
17-11-2003, 17:46 | #8 | |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
Codice:
nLen=Len(Stringa) For nI=1 to nLen <istruzioni> Next Per la seconda cosa definire un set di caratteri io utilizzerei un truschino della InStr che in pratica ti torna la la posizione numerica del carattere interna in una stringa, per esempio: InStr("m","ciao_mamma"), torna il numero 6!! Così facendo se noi facciamo: Codice:
If InStr("aeiou", Mid(stringa, i, 1)) > 0 Then
__________________
"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 |
|
17-11-2003, 17:58 | #9 |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
....ah ok, grazie!!
Che ne dici, così è ok?? Private Sub calcola_testo(vtesto As String) Dim i, n As Integer Dim temp, vocali, cons As String n = Len(vtesto) For i = 1 To n If InStr("aeiou", Mid(vtesto, i, 1)) > 0 Then vocali = vocali + Mid$(vtesto, i, 1) Else cons = cons + Mid$(vtesto, i, 1) End If Next temp = "x" If Len(cons) >= 3 Then vnome = Left$(cons, 3) Else If Len(cons) = 2 Then vnome = cons + Left$(vocali, 1) Else vnome = cons + Left$(vocali, 1) + temp End If End If End Sub Ho messo temp="x" perchè non so se posso scrivere alla fine vnome = cons + Left$(vocali, 1) + x .....allora,come csì è ok?...
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
17-11-2003, 18:00 | #10 |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
una precisazione quello che ho scritto è il codice per trovare le lettere del COGNOME.....non farti confondere dal fatto k ho scritto vnome.....l'ho già corretto in vgnome che sta per valore cognome!!
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
17-11-2003, 18:02 | #11 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
nn incollarmi un pezzo di codice ala volta...fai un bel programmino, poi una volta finito me lo passi e lo controllo (come un bravo insegnante )
Cmq metti $ qui nel MID: If InStr("aeiou", Mid(vtesto, i, 1)) > 0 Then e poi le stringhe le puoi mettere benissimo Stringa=Stringa & "x" (a me piace collegare con la & ma va benissimo anche la tua +)!
__________________
"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 |
17-11-2003, 18:19 | #12 |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
...ho scritto parte del codice, l'ho testato....ma non mi da niente...
Private Sub Form_Load() Dim vnome, vgnome, vluogo As String Dim vdata As Integer End Sub Private Sub calcola_Click() calcola_nome (nome.Text) codice.Caption = vnome End Sub calcola_nome(nome.text) è la procedure che ho postato prima e nome.text è i contenuto del textbox dove si scrive il nome, ma perche quando faccio calcola in CODICE.CAPTION (in cui avevo memorizzato aaaa) non mi compare nulla?? Dovrebbero comparirmi le parti del nome del codice fiscale....xkè mi da il vuoto?? cos'è che non va nella procedura calcola_nome??
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
17-11-2003, 18:22 | #13 |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
forse ho capito....ho sbagliato la chiamata alla procedura calcola_nome......ok ma come si fa a richiamare la procedura??
forse come nel pascal deve trovarsi prima del comando che la richiama??
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
17-11-2003, 18:29 | #14 | |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
Stai facendo degli errori di struttura, allora io ti consiglio di andare su opzioni di VB e selezionare la voce "dichiarazioni obbligatorie" Dopo di che metti un bel Option Explicit all'inizio della tua form Ora le varibili devi dichiarare bene, cioè quello che sta dopo Option Explicit sono varibili globali della form, quelle che dichiari dentro alle varie Sub o Function sono varibili locali che una volta uscito dalla procedura o funzione vengono scaricate? Chiaro? Cmq nn chiedere ad ogni riga, altrimenti dov'è il gusto di programmare ?!?!
__________________
"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 |
|
17-11-2003, 18:30 | #15 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
In VB nn c'è un senso logico di fichiarare le routine, cioè tu le puoi mettere su, sotto, a destra e a sinistra e lui sempre le trova , cosi nn sei obbligato a dichiararle sempre in cima al programma
__________________
"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 |
17-11-2003, 18:35 | #16 | |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
__________________
"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 |
|
17-11-2003, 18:52 | #17 |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
ok ho risolto....non ho fatto come hai detto tu....o meglio almeno in parte!!
Quelle che prima erano Private Sub calcola_nome etc ora sono diventate Private function....così è stato tutto più semplice!!! Ora ho convertito sia il cognome che il nome, ora procedo con data e luogo di nascita!! a fra poco! e ancora grazie!!
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
17-11-2003, 18:54 | #18 |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
...ops non avevo visto che mi avevi postato esempi....vabbè li analizzo dopo, ora completo il codice del mio programmino e poi ti posto tutto!!! ok?
ti faccio un file con l'eseguibile e tutto ciò che riguarda codice e form
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
17-11-2003, 18:55 | #19 | |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
__________________
"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 |
|
17-11-2003, 18:59 | #20 |
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
ops........nn so come si fa e leggere nella data!!!
è in formato GG/MM/AA ........cercando ho notato la funzione DATEPART....ma nn so se è lei e nn ho capito un granchè come si usa.....help
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:14.