Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa zapisom u fajl, koji mu je ...

[es] :: C/C++ programiranje :: Problem sa zapisom u fajl, koji mu je ...

[ Pregleda: 2020 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
87.250.109.*



+1 Profil

icon Problem sa zapisom u fajl, koji mu je ...16.09.2006. u 17:55 - pre 214 meseci
Dakle problem je sa upisom u fajl.
Dakle gao global sam deklarisao FILE *file1, *file2;
Unutar win procedure:
file1 = fopen("test.ini", "a+");
...
fclose(file1);
Ovaj kod se poziva kada se zatvara dialog prozor na kojem su promijenjeni neki parametri i nakon njegovog zatvranja, te se promjene zapisuju u fajl, koliko god puta usao i mjenjao ono radi kako treba. Medjutim problem nastaje kada koristim file2.
Dakle file2 koristim unutar jednog dialoga, gdje takodje zapisuje neke stvari u drugi fajl2.ini, al0 unutar dialog procedure. I prvi put kada pokrenem taj dialog i vrsim zapis-save koliko god puta ono je ok, a cim napustim taj dialog i ponovo se vratim u njega, svako sledece snimanje nece da se upise u fajl, sto je jos gore, nakon ulaska u taj dialog, nece vise ni da radi file1, koji je do tada radio savrseno, bez obzira koliko puta izasao ili usao u njegovu dialog proceduru i snimao izmejene !!
U cemu je problem ???
 
Odgovor na temu

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
87.250.109.*



+1 Profil

icon Re: Problem sa zapisom u fajl, koji mu je ...16.09.2006. u 18:15 - pre 214 meseci
Evo sam uspjeo da smanjim kod koji je problematican, dakle kada kliknem na browse dugme dialoga, onda mi se sve to pojebe.
Code:
case IDC_BROWSE:
        ni.info.ofn.lStructSize = sizeof(OPENFILENAME);
        ni.info.ofn.hwndOwner = hwnd;
        ni.info.ofn.hInstance = hInst;
        ni.info.ofn.Flags = OFN_FILEMUSTEXIST;
        ni.info.ofn.lpstrDefExt = "*.*";
        ni.info.ofn.lpstrFile = ni.info.ofnfilelocation;
        ni.info.ofn.lpstrFileTitle = ni.info.ofnfilename;
        ni.info.ofn.lpstrTitle = "File Browser!";
        ni.info.ofn.lpstrFilter = "All Files (*.*)\0*.*\0";
        ni.info.ofn.nMaxFile = MAX_PATH;
        ni.info.ofn.nMaxFileTitle = 100;
        GetOpenFileName(&ni.info.ofn);
        SendMessage(ni.hwnd.itemFrom, WM_SETTEXT, NULL, (LPARAM)ni.info.ofnfilename);
        break;


A evo kako klasa izgleda:

Code:
class NEWITEMINFO
{
public:
    NEWITEMINFO(){;};
    ~NEWITEMINFO(){;};
    OPENFILENAME ofn;
    char writing[500];
    char ofnfilename[100];
    char ofnfilelocation[MAX_PATH];
    char myfilename[100];
    int nCategory;
};


hInst je takodje globalna HINSTANCE, hwnd prozor dialoga, a ni.hwnd.itemFrom je edit kontrola sa dialoga.
Dakle sta ovdje moze da pravi gorespomenute probleme ?
Napominjem, prvi put kada udjem u taj dialog, mogu dakle pozivati koliko god hocu browse, i snimati u fajl, dugmetom save, i sve je ok, al' cim napustim, taj dialog, sve se pobrlja, a ako ga napustim, a da nisam kliknuo na browse, onda je sve ostalo normalno.
Evo i Exit koda:

Code:
case IDCANCEL:
        ZeroMemory(ni.info.ofnfilename, 100);
        ZeroMemory(ni.info.ofnfilelocation, MAX_PATH);
        ZeroMemory(ni.info.myfilename, 100);
        EndDialog(hwnd, 0);
        break;
 
Odgovor na temu

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
87.250.109.*



+1 Profil

icon Re: Problem sa zapisom u fajl, koji mu je ...17.09.2006. u 14:32 - pre 214 meseci
Pa zar niko nista o ovome nezna ?!
Sta je problem sa ovim glupim OPENFILENAME-om, pa nakon njegovog poziva ni jedan upis u datoteku nece da radi ??
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: Problem sa zapisom u fajl, koji mu je ...17.09.2006. u 14:55 - pre 214 meseci
Postoji nesto sto se naziva "trenutnim direktorijem", to je upravo onaj direktorij koji se 'lijepi' na relativnu putanju, koju si ti predstavio u fopen().

Primjer:
Code:
file1 = fopen("test.ini", "a+");

Ako ti je trenutni direktorij "C:\mojprog\", onda je isto kao da si napisao:
Code:
file1 = fopen("C:\\mojprog\\test.ini", "a+");


Razni dijalozi tipa OpenFileDialog, OpenFolderDialog (ovo su .NET klase, ali shvatit ces bit) mjenjaju trenutni direktoriji i tu nastaje problem da ti se izmjene relativne putanje u programu..

Shvacas?

 
Odgovor na temu

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
87.250.109.*



+1 Profil

icon Re: Problem sa zapisom u fajl, koji mu je ...17.09.2006. u 15:48 - pre 214 meseci
E da, hvala ti na ovome ;)
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: Problem sa zapisom u fajl, koji mu je ...17.09.2006. u 21:35 - pre 214 meseci
Bilo je to?
 
Odgovor na temu

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
87.250.109.*



+1 Profil

icon Re: Problem sa zapisom u fajl, koji mu je ...17.09.2006. u 23:40 - pre 214 meseci
Ma da, to mi je bilo na kraju pameti. Al' sad je rijeseno ;)
 
Odgovor na temu

[es] :: C/C++ programiranje :: Problem sa zapisom u fajl, koji mu je ...

[ Pregleda: 2020 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.