Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di gorn
    Registrato dal
    Jun 2010
    Messaggi
    91

    DELPHI... problemi con file

    salve a tutti... sono nuovo e porto con me molti problemi....XD
    sto creando un programma che acquisisca in un file (a cui è associato un record) dei dati.
    il mio problema compare quando tento di salvare i dati nel file o meglio quando tento di aprire il file.
    sto usando una unit che contiene una funzione dedita al controllo dell'esistenza del suddetto file e un procedura che... faccio prima a postarlo..XD
    codice:
      
                Procedure caricast;
                   Begin
                     assignfile(stampanti,'stampanti.dat');
                     reset(stampanti);
                     seek(stampanti,filesize(stampanti));
                     write(stampanti,buf);
                     closefile(stampanti);
                   End;
    ora quando vado nel codice della form a richiamare la procedura caricast per scrivere sul file mi viene dato l'errore 'File not found'.....
    forse è una domada stupida ma spero in una vostra risposta.....
    grz in anticipo a tutti coloro che mi risponderanno
    Il problema non è la caduta, ma l'atterraggio (Cit.)

  2. #2
    Utente di HTML.it L'avatar di gorn
    Registrato dal
    Jun 2010
    Messaggi
    91
    preciso che il problema si concentra sul
    codice:
     reset(stampanti);
    della procedura caricast
    Il problema non è la caduta, ma l'atterraggio (Cit.)

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Reset si usa per aprire i file in lettura (che deve quindi esistere).
    Per aprire un file in scrittura si usa ReWrite.

    Non ho capito se quella funzione di controllo esistenza del file viene usata o meno e, in ogni caso, come viene usata... dal codice che hai postato si vede che stai cercando di aprire il file in lettura (o sovrascrittura) per poi scriverci dentro e, a quanto pare, il file non esiste.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it L'avatar di gorn
    Registrato dal
    Jun 2010
    Messaggi
    91
    cerco di spiegarmi meglio......
    il codice nella unit è
    codice:
    function esiste(var stampanti:stam):boolean;
    procedure caricast(var stampanti:stam; var buf:sta);
    
    implementation
    (*PARTE DELLE STAMPANTI*)
    Function esiste;
    Begin
      {$I-}
          rewrite(stampanti);
      {$I+}
      if ioresult=0 then esiste:=true
                    else esiste:=false;
    end;
    Procedure caricast;
    Begin
    
     assignfile(stampanti,'stampanti.dat');
     reset(stampanti);
     seek(stampanti,filesize(stampanti));
     write(stampanti,buf);
     closefile(stampanti);
    
    End;
    quando nella parte di codice della form richiamo la procedura caricast per memorizzare i dati viene dato l'errore "File not Found"...
    per quanto riguarda il rewrite non credo sia la soluzione poiche io non voglio riscrivere il file (cancellando cio che era presente) ma aggiungere dati (forse devo usare append? se si per evitare di aggiungere dati sempre alla fine del file mi basta usare il seek?)
    Il problema non è la caduta, ma l'atterraggio (Cit.)

  5. #5
    Utente di HTML.it L'avatar di gorn
    Registrato dal
    Jun 2010
    Messaggi
    91
    possibile che nessuno sappia risolvere questo problema? :master:
    Avete risolto problemi piu difficili... datemi una mano.... io nn capisco perchè non funziona..
    Il problema non è la caduta, ma l'atterraggio (Cit.)

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    A mio avviso, se l'errore è File not found, lo interpreterei come tale, cioè che il file non viene trovato.

    Può essere dovuto a molteplici fattori; ad esempio, il file potrebbe essere creato con un percorso relativo che si traduce nella scrittura in un percorso diverso nelle varie esecuzioni del programma, oppure può accadere che - su sistemi Vista e successivi - il file venga scritto nella cartella dei dati per la virtualizzazione del processo, mentre il programma cerca di caricarlo sempre dalla locazione dell'eseguibile, non trovandolo.

    E' necessario specificare queste informazioni per poter approfondire la questione.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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