Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    22

    [visual C++.net]scrivere su file

    salve ragazzi eccomi tornato con una nuova domanda da porvi.
    Per spiegare il tutto è un po complicato ma ci provo,dunque,
    sto finndo un programmino per la gestione delle fatture in visual c++.net,vorrei ke ad ogni avvio dell'applicazione ritrovo memorizzato il numero dell'ultima fattura in una casella statica,ho risolto questo problema con "ofstream out" della libreria "iostream" "fstream" cioe ogni volta ke icremento il numero fattura viene salvato in un file di testo.txt e ogni volta ke apro l'applicazione viene letta
    e ripresentata nella casella statica ifstream in; in.open ........fino qui tutto ok,il vero problema e ke quando apro un record contenente tot ristoranti(precedentemente salvato) in modo progressivo e voglio aggiunge un'altro record il numero fattura incrementa(all'avento del tasto successivo) ma non viene salvata nel file di testo.txt, questo accade solo quando apro un record precedentemente salvato.Invece se creo un nuovo record e lo salvo tutto va liscio.Domanda:Esiste un modo per ovviare il problema??
    o meglio posso salvare nel file di testo.txt(l'incremento della fattura) senza utilizzare ofstream out ifstream in.
    grazie anticipatamente per la risposta!!!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se mostri il codice e' meglio ...

    Spero comunque, date le scelte architetturali, che questo progetto sia "per studio" e non sia un effettivo programma da vendere a un "cliente" ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    22
    ho un negozio di pastall'uovo,effettivamente il programma è nato per una mia sfida personale.No non devo venderlo a nessuno ma voglio provare ad utilizzarlo per il mio negozio(perlomeno c provo).cmq il codice sorgente è un casino allegarlo.
    l'unica cosa ke volevo sapere è se c'e' un'altro modo per scrivere su un file al posto di ofstream ifstream (magari utilizzando delle librerie esclusive per il visual c++.net)saluti
    grazie per la risposta.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Chiariamo intanto che il programma lo stai realizzando in Visual C++, non in .NET, anche se il tool ha questo nome ...

    In secondo luogo, non voglio mostrato tutto il codice ma solamente quello che e' coinvolto nella gestione del file (apertura, lettura, scrittura, chiusura) ... almeno per ora. Questo per capire se e dove sbagli perche' il rimedio non e' cambiare istruzioni per gestire i file ma usare bene quelle che hai gia' usato.

    Per la questione "architetturale", forse era meglio provare con un linguaggio piu' adatto alla realizzazione di gestionali. Ad esempio, questo tipo di programmi, si realizzano piu' semplicemente in VB o Delphi o con un linguaggio tra quelli .NET. Avresti la possibilita' di utilizzare i database (al posto dei file di testo) e gestire piu' facilmente l'interfaccia.

    Non che non si possano fare tutte queste cose in C/C++, ma questo linguaggio non e' proprio adatto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    22
    grazie per la risp. ti mostro frammenti di codice necessari, spero di essere molto chiaro per quello ke diro.
    Cmq volevo precisare ke il prog.(chiamiamolo cosi)è stato fatto in con microsoft visual studio.NET (in visual c++.NET dunque).

    Allora il prog in esecuzione incrementa "q" (q è una variabile int ke serve solo all' incremento del numero fattura) e lo scrive nel file news.txt all'evento del tasto "successivo"in questo modo:


    UpdateData(TRUE);
    ofstream out("news.txt");

    enumi.Format("Fattura %d",++q);
    out << q;
    UpdateData(FALSE);
    out.close();


    enumi è la variabile int della casella statica dove viene visualizzato il numero della fattura incrementato con "q"

    il tasto successivo aggiunge un nuovo record alle ordinazione dei ristoranti.

    "naturalmente ho semplificato il tutto non ho messo tutto il sorgente appartenente al tasto successivo"

    quindi alla sua nuova esecuzione il prog. legge con questo costrutto
    l'ultimo numero fattura memorizzato precedentemente nel file news.txt

    ifstream in;
    in.open("news.txt");
    in >> q;
    in.close();
    enumi.Format("Fattura. %d", q);


    e lo riporta nella casella statica appartenente

    fin qui tutto ok se si incrementa con il tasto successivo il numero fattura il prog. alla sua nuova esecuzione lo riporta perfettamente nella casella statica.come detto prima il probblema è quando apro un record salvato precedentemente(non so un record kiamato "gigi"ke contiene tutte le ordinazioni ke quest'ultimo ha fatto)e ne voglio aggiungere una nuova ordinazione,cosi facendo all'evento del tasto successivo l'incremento avviene ma non lo scrive nel file news.txt


    UpdateData(TRUE);
    ofstream out("news.txt"); //nn va abuon fine
    enumi.Format("Fattura %d",++q);
    out << q;
    UpdateData(FALSE);
    out.close();

    //solo se apro un record salvato precedentemente


    Scusate per quanto scritto grazie anticipate

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.