Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 24
  1. #11
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    41
    Non so fare un convertitore.
    Fare una conversione su ogni file é sempre meglio di nulla


    Nel file, lo ripeto, vengono salvati semplicemente 7 textbox. (vecchio programma)
    nome.Text
    frase.Text
    nascita.Text
    text1.text
    Text2.Text
    Text3.Text
    Text4.Text
    i nomi dei campi sono questi e semplicissimi (vedi anche mio codice sopra)


    Il nuovo programma invece salva 8 textbox (uno in piu)

    nome.Text
    frase.Text
    nascita.Text
    text1.text
    Text2.Text
    Text3.Text
    Text4.Text
    Text21.text

    questo é tutto.

    SE possibile dunque un piccolo convertitore

    pazienza

  2. #12
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Scusa ... prima di passare al convertitore ...

    Se nel file binario c'e' solamente un gruppo di dati, leggendo il file vecchio con il nuovo programma, non dovresti avere problemi e l'ultimo textbox dovrebbe semplicemente rimanere vuoto.

  3. #13
    Originariamente inviato da pazienza
    Non so fare un convertitore.
    codice:
    Option Explicit
    
    Private Type NewMyFile
        nome          As String
        frase          As String
        nascita        As String
        Text1          As String
        Text2          As String
        Text3          As String
        Text4          As String
        Text21         As String
    End Type
    Private Type OldMyFile
        nome          As String
        frase          As String
        nascita        As String
        Text1          As String
        Text2          As String
        Text3          As String
        Text4          As String
    End Type
    Public Function LoadOldFile(ByVal FileName As String) As OldMyFile
        Dim file As Long
        file = FreeFile
        Open FileName For Binary Access Read As #file
        Get #file, , LoadOldFile
        Close #file
    End Function
    Public Sub SaveNewFile(ByVal FileName As String, ByRef NMF As NewMyFile)
        Dim file As Long
        file = FreeFile
        Open FileName For Binary Access Write As #file
        Put #file, , NMF
        Close #file
    End Sub
    Public Function OldMF2NewMF(ByRef OldMF As OldMyFile) As NewMyFile
        With OldMF2NewMF
            .nome = OldMF.nome
            .frase = OldMF.frase
            .nascita = OldMF.nascita
            .Text1 = OldMF.Text1
            .Text2 = OldMF.Text2
            .Text3 = OldMF.Text3
            .Text4 = OldMF.Text4
            .Text21 = ""
        End With
    End Function
    Public Sub ConvertFile(ByVal OldFileName As String, ByVal NewFileName As String)
        SaveNewFile NewFileName, OldMF2NewMF(LoadOldFile(OldFileName))
    End Sub
    Per convertire un file dalla vecchia versione alla nuova richiama ConvertFile passando come primo argomento percorso e nome del file in vecchio formato e come secondo percorso e nome file del file in nuovo formato da creare. Correda il tutto con un form o qualunque altra cosa che permetta di specificare all'utente che file convertire (o anche meglio, permettendogli di selezionare intere cartelle) e con un po' di gestione degli errori.
    P.S.: non ho provato il codice, ma dovrebbe funzionare.
    P.P.S.: andiamo bene...
    ---EDIT---
    Corretto qualche errore derivante dalle buone abitudini apprese con VB.NET...
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #14
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    41
    Lo, pensavo anch'io, oregon. Eppure no.
    Ed il codice (per salvare e leggere il file) é tutto quello che ho messo.
    Si tratta di una parte a se stande, non c'é altro.
    Purtroppo é cosi.



    Quindi il convertitore sarebbe ideale.

  5. #15
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    41
    Ok, MItaly, testero' il codice.
    naturalmente lo corredero' di form e resto adatti, credo usando commondialog per caricare il vechio e salvare in modo nuovo. Faro' sapere


    se ho ben capito prima chiamo ConvertFile con call ConvertFile , carico quindi il vecchio file e salvo come nuovo file(con il tuo codice)
    grazie

    pazienza

  6. #16
    Al di lā del convertitore puoi sempre chiedere all'utente di che versione sono i file da aprire e caricarli con la vecchia struttura in un caso o con quella nuova nell'altro.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #17
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da pazienza
    Ok, MItaly, testero' il codice.
    naturalmente lo corredero' di form e resto adatti, credo usando commondialog per caricare il vechio e salvare in modo nuovo. Faro' sapere

    grazie
    A parte il codice del convertitore (si tratta solamente di leggere nella vecchia struttura e scrivere nella nuova ... avresti potuto scriverlo da solo perche' c'e' il codice della lettura del vecchio e la scrittura del nuovo che avevi gia' ...), continuo a pensare che, se c'e' una sola informazione, non dovresti avere problemi ... comunque ...

  8. #18
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    41
    Tutto a posto !
    (Prima ho avuto problemi di conessione internet)
    Ho testato il tutto in un form alla buona per provare, con un paio di file creati con il vecchio programma e posso agevolmente convertirli al nuovo, che poi li legge !!!

    Non mi resta che rendere piu presentabile la routine tutta, con controlli puliti ecc e farne cosi un vero convertitore.

    Vi ringrazio infinitamente per l'aiuto .

    Potrei forse anche integrare nel nuovo programma questo convertitore, in un modulo a prte e richiamabile eventualmente.Vedremo.
    Ma gia a parte va benissimo cosi.

    Grazie ancora , Oregon e MItaly per l'aiuto.

    tutto ok.

    pazienza

  9. #19
    ho letto la discussione e chiedo a quelli che hanno partecipato:
    ma non poteva semplicemente guardare se nel file c'erano 7 o 8 righe e quindi gestire in modo diverso in base al numero di righe?
    non so se sono io che ho sbagliato a capire il problema o voi che avete allungato la strada
    nel primo caso mi scuso, nel secondo sono curioso di sapere il perche'
    [solo per informazione personale, lo so che chi ha aperto il topic ha risolto il problema ]

  10. #20
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    41
    IO avevo cercato di far leggere al file il numero di righe (vedi il codice)
    e comportarsi di conseguenza.
    codice:
    Public Sub LoadFile(FileName As String)
         Dim file    As Long
       Dim bestand As MyFile
       Dim lFileLength As Long
    
       file = FreeFile
       Open FileName For Binary Access Read As #file
       lFileLength = LOF(file)
       Get #file, , bestand
       Close #file
       nome.Text = bestand.nome
       frase.Text = bestand.frase
       nascita.Text = bestand.nascita
       Text1.Text = bestand.Text1
       Text2.Text = bestand.Text2
       Text3.Text = bestand.Text3
       Text4.Text = bestand.Text4
       If  lFileLength <8 Then form10.text21.text = bestand.Text.21=""
    Ma nemmeno andava. Con l'ultima proposta di MIItaly il problema si é risolto, pur aggirandolo
    SE tu hai un'altra idea come dici, un altro esempio, ed anche piu semplice, é sempre la benvenuta naturalmente.

    pazioenza

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 © 2026 vBulletin Solutions, Inc. All rights reserved.