Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    vb2008, ricerca all'interno di un array di record

    ragazzi...vi ringrazio sempre x l'aiuto che mi date....vi chiedo un altro quesito,....come facio a creare uan ricerca con un array di record...l'ho già creato...ma non so da dove cominciare ...se mi dareste qualche spunto ne sarei molto grato ....grazie..

  2. #2
    Cosa intendi per "array di records"?
    Di che tipo di oggetto stiamo parlando?

    Facci sapere...
    Ciao

  3. #3
    praticamente io ho dei record....nome,cognome ecc.... devo fare una ricerca al'interno dei record...cioè io inserendo il cognome mi deve dare tutti dati....e sto usando gli array cioè ogni volta che carco un record lo caarica anche nell'array...e faccio una ricerca nell'array...così da poterlo visualizzare nel modo più veloce

  4. #4
    Si, ho capito .... ma non mi hai ancora risposto.
    Hai un array di cui gli elementi dono di tipo ...... ?????

    Ad ogni modo, era solo per poter capire bene lo scenario ed eventualmente scriverti un esempio.

    1)Puoi iterare l'array in un ciclo For Each ... Next per conforntare le proprietà di ogni elemento dell'array in base a dei criteri.
    2)Puoi usare Linq per "estrarre" gli elementi che corrispondono ai criteri di ricerca(definiti nella query con sintassi Linq)

    Ma, a seconda dello scenario, ci possono essere altre soluzioni.

    Facci sapere...
    Ciao

  5. #5
    ho fatto questo per la ricerca...

    [ FileOpen(2, "E:\rubbric.dat", OpenMode.Random, , , lunghezzarec)
    posizione = 1
    txt5 = TextBox5.Text
    For Me.i = 0 To lunghezzarec
    If cerca(700).cognome = txt5 Then
    posizione = i
    End If
    Next
    FileGet(2, cerca(700), i)
    Dim n As String = Form5.DataGridView1.Rows.Add
    Form5.DataGridView1.Rows(n).Cells(0).Value = cerca(700).cognome
    Form5.DataGridView1.Rows(n).Cells(1).Value = cerca(700).nome
    Form5.DataGridView1.Rows(n).Cells(2).Value = cerca(700).N_telefono
    Form5.DataGridView1.Rows(n).Cells(3).Value = cerca(700).osservazioni]
    è giusto cosa devo cambaire???

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    cerca(700) ...

    Ma di cosa stai parlando ? Che linguaggio è ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    il inguaggio....e scritto molto chiaramente e leggibile nel titolo cmq
    è il nome dell'array....

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da yonex
    il inguaggio....e scritto molto chiaramente e leggibile nel titolo cmq
    Era un commento ironico per dire che non si capisce nulla ...

    è il nome dell'array....
    Cosa? cerca(700) ?

    Cosa è "cerca" ?
    Perchè indichi sempre 700 come indice?
    A cosa ti serve il ciclo for se non usi mai l'indice "i" ?
    lunghezzarec è la lunghezza del record o il numero dei record ?
    Perchè leggi fuori dal ciclo?

    Insomma ... penso proprio che dovresti studiare un bel po' la teoria (sui libri e per tanto tempo) prima di "gettarti" nella scrittura di codice che non ha nè capo nè coda.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    [
    Structure rubrica
    <VBFixedString(25)> Public nome As String
    <VBFixedString(30)> Public cognome As String
    <VBFixedString(12)> Public N_telefono As String
    <VBFixedString(60)> Public osservazioni As String
    End Structure
    Dim cerca(700) As rubrica
    Dim txt5 As String
    Dim i As Integer
    Dim lunghezzarec As Integer
    Dim ultimacella As Integer
    Dim posizione As Integer
    Dim ultimorec As Integer
    Private Sub registra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    With cerca(700)
    .cognome = TextBox1.Text
    .nome = TextBox2.Text
    .N_telefono = TextBox3.Text
    .osservazioni = TextBox4.Text
    End With
    FilePut(2, cerca(700), ultimorec + 1)
    PrintLine(1, TextBox1.Text + ";" + TextBox2.Text + ";" + TextBox3.Text + ";" + TextBox4.Text)
    ultimorec = ultimorec + 1
    lunghezzarec = Len(cerca(700))
    ultimorec = LOF(2) \ lunghezzarec
    posizione = ultimorec

    End Sub
    Private Sub cerca_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    FileClose(2)
    FileOpen(2, "E:\rubbric.dat", OpenMode.Random, , , lunghezzarec)
    posizione = 1
    txt5 = TextBox5.Text
    For Me.i = 0 To lunghezzarec
    If cerca(700).cognome = txt5 Then
    posizione = i
    End If
    Next
    FileGet(2, cerca(700), i)
    Dim n As String = Form5.DataGridView1.Rows.Add
    Form5.DataGridView1.Rows(n).Cells(0).Value = cerca(700).cognome
    Form5.DataGridView1.Rows(n).Cells(1).Value = cerca(700).nome
    Form5.DataGridView1.Rows(n).Cells(2).Value = cerca(700).N_telefono
    Form5.DataGridView1.Rows(n).Cells(3).Value = cerca(700).osservazioni
    Form5.Show()
    End Sub]
    così forse è più chiaro...ma se uno chiedo aiuto a voi e voi dite così mi die a cosa servie a fare??? mah....se mi puoi auiutare aiutami se no...dillo subito...
    ""lo so che non ho bisogno di ripetere sempre l'indice.....ma lo faccio...xke è solo una bozza ...x capire ...un pò..."

  10. #10
    Tante volte, l'ironia, serve per sdramattizare situazioni in cui, più che l'ironia, ci sarebbe da usare le bastonate .
    Se vuoi capire, temo che ti serva più di un aiuto .... l'approccio è COMPLETAMENTE sbagliato .... non è di certo questo il modo di programmare.

    Innanzitutto, per l'accesso ad un file, esistono delle classi del .Net Framework specifiche a questo scopo ... il tuo codice, invece, è molto Vb6Like, il che, è completamente FUORI LUOGO.

    Per darti indicazioni più costruttive che polemiche, è necessario che tu spieghi l'ipotetico scenario in cui staresti lavorando, in modo da poterti indirizzare sulla via corretta ..... certo è che, senza una previa lettura di un qualsiasi libro(o tutorial) sull'argomento(programmazione OOP), servirà tutto a ben poco.

    Facci sapere...
    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.