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

Msg box i snimanje u binarnifajl i iscitavanje

[es] :: C/C++ programiranje :: Msg box i snimanje u binarnifajl i iscitavanje

[ Pregleda: 2683 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tarzan063
Laslo Tarjan
Asistent, Fakultet tehnickih nauka, Novi
Sad
Novi Sad

Član broj: 32773
Poruke: 74
*.ftn.ns.ac.yu.

ICQ: 114649939
Sajt: www.ns-elektronika.com


Profil

icon Msg box i snimanje u binarnifajl i iscitavanje 17.08.2005. u 21:08 - pre 227 meseci
Interesuje me vise stvari.
• Kako bih moga napraviti mesige box tipa:
Warning! "Uneti broj postoji u bazi", sa dugmetom OK i/ili CANCEL
i sta msg box vraca ako se stisne OK ili CANCEL.

• Kako mogu da upisem neki niz (bilo kog tipa) u binarni fajl? A kako da is;itam?



Iteresuju me primeri koda, a ako neko zna i neki dobar link.


Unapred se zahvaljuljem!
Laslo
--------------------------
www.ns-elektronika.com
[email protected]
-----------------------------
Zarada Free Bitcoina: http://freebitco.in/?r=243567
 
Odgovor na temu

Buffy
Stanko Culaja
Sipovo, BiH

Član broj: 45310
Poruke: 312
*.teol.net.



Profil

icon Re: Msg box i snimanje u binarnifajl i iscitavanje 18.08.2005. u 16:39 - pre 227 meseci
1)
Code:

MessageBox(NULL,"Uneti broj postoji u bazi!","Warning!",MB_ICONINFORMATION | MB_OKCANCEL)

Ako pritisnes OK funkcija vraca 1,ako Cancel funkcija vraca 2.

2)
Code:

#include <fstream>
#include <iostream>
using namespace std;

void pisi();
void citaj();

class klasa
{
public:
    int a;
    float b;
    char c;
};

int main()
{
    pisi();
    citaj();
    system("pause");
    return 0;   
}

void pisi()
{
    ofstream fout("fajl.txt",ios::binary);
    klasa kl;
    kl.a=100;
    kl.b=1.896;
    kl.c='A';
    fout.write((char*)&kl,sizeof(klasa));
    fout.close();
}

void citaj()
{
    ifstream fin("fajl.txt",ios::binary);
    klasa kl;
    fin.read((char*)&kl,sizeof(klasa));
    cout<<"integer: "<<kl.a<<endl;
    cout<<"float: "<<kl.b<<endl;
    cout<<"char "<<kl.c<<endl;
    fin.close();
}
;
Za upisivanje podataka binarno u datoteku najvazniji je da u konstruktoru stavis flag ios::binary.Onda mozes koristiti write i read metode.
Sa nizovima radis istu stvar kao sa objektima neke klase.Npr:
[code
int a[]{1,100,50,49};
fout.write((char*)&a,sizeof(a));
[/code]
Eto, nadam se da je pomoglo!
Pozdrav
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.bar.novatv.hr.



+9 Profil

icon Re: Msg box i snimanje u binarnifajl i iscitavanje 18.08.2005. u 19:51 - pre 227 meseci
Kod MessageBox-a vracaju se sljedece vriednosti:

IDOK, IDNO, IDYES itd... Npr.:

Code:
if((Application->MessageBox("Da ili Ne?", "Ovo je naslov", MB_YESNO|MB_ICONQUESTION))==IDYES){
    Application->MessageBox("Odabrali ste YES", "Odabir", MB_OK|MB_ICONINFORMATION);
else
    Application->MessageBox("Odabrali ste NO", "Odabir", MB_OK|MB_ICONINFORMATION);
}


Binarno citanje i pisanje mozes izvesti jednostavno i pomocu funcija
fread i fwrite. Imas dobre primjere u Help-u.
 
Odgovor na temu

tarzan063
Laslo Tarjan
Asistent, Fakultet tehnickih nauka, Novi
Sad
Novi Sad

Član broj: 32773
Poruke: 74
*.pat-pool.nsad.sbb.co.yu.

ICQ: 114649939
Sajt: www.ns-elektronika.com


Profil

icon Re: Msg box i snimanje u binarnifajl i iscitavanje 25.08.2005. u 00:20 - pre 227 meseci
Citat:
Buffy: 1)
Code:

MessageBox(NULL,"Uneti broj postoji u bazi!","Warning!",MB_ICONINFORMATION | MB_OKCANCEL)

Ako pritisnes OK funkcija vraca 1,ako Cancel funkcija vraca 2.

2)
Code:

#include <fstream>
#include <iostream>
using namespace std;

void pisi();
void citaj();

class klasa
{
public:
    int a;
    float b;
    char c;
};

int main()
{
    pisi();
    citaj();
    system("pause");
    return 0;   
}

void pisi()
{
    ofstream fout("fajl.txt",ios::binary);
    klasa kl;
    kl.a=100;
    kl.b=1.896;
    kl.c='A';
    fout.write((char*)&kl,sizeof(klasa));
    fout.close();
}

void citaj()
{
    ifstream fin("fajl.txt",ios::binary);
    klasa kl;
    fin.read((char*)&kl,sizeof(klasa));
    cout<<"integer: "<<kl.a<<endl;
    cout<<"float: "<<kl.b<<endl;
    cout<<"char "<<kl.c<<endl;
    fin.close();
}
;
Za upisivanje podataka binarno u datoteku najvazniji je da u konstruktoru stavis flag ios::binary.Onda mozes koristiti write i read metode.
Sa nizovima radis istu stvar kao sa objektima neke klase.Npr:
[code
int a[]{1,100,50,49};
fout.write((char*)&a,sizeof(a));
[/code]
Eto, nadam se da je pomoglo!
Pozdrav


Nikako da snimim i isctitam. Mozda da pitam direktno. Imam definisano sledece:
Code:

typedef struct etapa {
        int pont, pc, bc, time[4];
        AnsiString tip;
        } Etapa;

typedef struct sql {
        AnsiString Ime, Klub, Mesto, Uci, Kateg;
        int StrBr;
        Etapa Trka[40];
        } Sql;
//deklaracija promenjivih
Sql Baza[100],  //glavna baza


E sad Baza-u treba da snimim u binarni fajl a kasnije da iscitam. Nece nikako da uspe. Mislim da me zeza ovaj AnsiString ali nisam siguran. Probao sam i sa fread(), fwrite(); funkcijama.
Jel moze neko da pomogne?
Laslo
--------------------------
www.ns-elektronika.com
[email protected]
-----------------------------
Zarada Free Bitcoina: http://freebitco.in/?r=243567
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.bar.novatv.hr.



+9 Profil

icon Re: Msg box i snimanje u binarnifajl i iscitavanje 25.08.2005. u 18:02 - pre 227 meseci
Ako je baza binarna neformatirana datoteka onda se u nju ne zapisuje bas AnsiString vec to radi preko char* tj. AnsiString(Podatak).c_str().

[Ovu poruku je menjao itf dana 25.08.2005. u 19:04 GMT+1]
 
Odgovor na temu

tarzan063
Laslo Tarjan
Asistent, Fakultet tehnickih nauka, Novi
Sad
Novi Sad

Član broj: 32773
Poruke: 74
*.pat-pool.nsad.sbb.co.yu.

ICQ: 114649939
Sajt: www.ns-elektronika.com


Profil

icon Re: Msg box i snimanje u binarnifajl i iscitavanje 27.08.2005. u 14:42 - pre 227 meseci
Citat:
itf: Ako je baza binarna neformatirana datoteka onda se u nju ne zapisuje bas AnsiString vec to radi preko char* tj. AnsiString(Podatak).c_str().

[Ovu poruku je menjao itf dana 25.08.2005. u 19:04 GMT+1]


Dobro, ali kako bi ti konkretno napisao kod, za snimanje ove strukture?
Laslo
--------------------------
www.ns-elektronika.com
[email protected]
-----------------------------
Zarada Free Bitcoina: http://freebitco.in/?r=243567
 
Odgovor na temu

Goran Arandjelovic
Beograd

Član broj: 29116
Poruke: 387
213.244.203.*



+9 Profil

icon Re: Msg box i snimanje u binarnifajl i iscitavanje 28.08.2005. u 11:50 - pre 227 meseci
Code:

#include<iostream>
#include<fstream>
#include<string>
using namespace std;

typedef struct etapa {
        int pont, pc, bc, time[4];
        string tip; // izmena!
} Etapa;

typedef struct sql {
        string Ime, Klub, Mesto, Uci, Kateg; // izmena!
        int StrBr;
        Etapa Trka[40];
} Sql;

int main(int argc, char *argv[])
{
    Sql Baza[100];
    Sql NovaBaza[100];
    Baza[0].Ime = "Goranche"; //test podatak
    Baza[0].StrBr = 13; //test podatak
    
    fstream file("test.txt",ios::out|ios::binary);
    file.write((char*)&Baza, sizeof(Baza));
    file.close();
    
    file.open("test.txt",ios::in|ios::binary);
    file.read((char*)&NovaBaza, sizeof(NovaBaza));
    file.close();
    
    cout << NovaBaza[0].Ime;
}


Ovo sasvim dobro funkcionise ;) Ipak, probaj jos jednom...

[Ovu poruku je menjao Goran Arandjelovic dana 28.08.2005. u 12:50 GMT+1]
 
Odgovor na temu

tarzan063
Laslo Tarjan
Asistent, Fakultet tehnickih nauka, Novi
Sad
Novi Sad

Član broj: 32773
Poruke: 74
195.252.101.*

ICQ: 114649939
Sajt: www.ns-elektronika.com


Profil

icon Re: Msg box i snimanje u binarnifajl i iscitavanje 08.09.2005. u 22:07 - pre 226 meseci
Citat:
Goran Arandjelovic
Code:

#include<iostream>
#include<fstream>
#include<string>
using namespace std;

typedef struct etapa {
        int pont, pc, bc, time[4];
        string tip; // izmena!
} Etapa;

typedef struct sql {
        string Ime, Klub, Mesto, Uci, Kateg; // izmena!
        int StrBr;
        Etapa Trka[40];
} Sql;

int main(int argc, char *argv[])
{
    Sql Baza[100];
    Sql NovaBaza[100];
    Baza[0].Ime = "Goranche"; //test podatak
    Baza[0].StrBr = 13; //test podatak
    
    fstream file("test.txt",ios::out|ios::binary);
    file.write((char*)&Baza, sizeof(Baza));
    file.close();
    
    file.open("test.txt",ios::in|ios::binary);
    file.read((char*)&NovaBaza, sizeof(NovaBaza));
    file.close();
    
    cout << NovaBaza[0].Ime;
}


Ovo sasvim dobro funkcionise ;) Ipak, probaj jos jednom...

[Ovu poruku je menjao Goran Arandjelovic dana 28.08.2005. u 12:50 GMT+1]


E sad je proradilo. Skontao sam.

Puno hvala!!!

Imam jos jedno pitanje.
Da li postoji neka funkcija za proveru unetog karaktera. Treba do proverim da li je u text box unesen broj (integer).

Hvala svima koji zele da pomognu!

[Ovu poruku je menjao tarzan063 dana 08.09.2005. u 23:16 GMT+1]
Laslo
--------------------------
www.ns-elektronika.com
[email protected]
-----------------------------
Zarada Free Bitcoina: http://freebitco.in/?r=243567
 
Odgovor na temu

[es] :: C/C++ programiranje :: Msg box i snimanje u binarnifajl i iscitavanje

[ Pregleda: 2683 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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