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

win32 api prikaz stringa u dijalog

[es] :: C/C++ programiranje :: win32 api prikaz stringa u dijalog

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

milan82

Član broj: 35288
Poruke: 72
*.adsl.net.t-com.hr.



Profil

icon win32 api prikaz stringa u dijalog25.03.2006. u 09:09 - pre 196 meseci
Radim kviz aplikaciju i trebam ucitati pitanje (liniju iz datoteke) koja bi se prikazala na DialogBox-u.
Na tom istom Box-u se nalazi polje za unos odgovora, te se unos provjerava sa linijom iz druge datoteke (tocan odgovor).
Trebao bi mi kod u c-u ili (bolje ) c++. Moze i neki link na aplikaciju koja radi slicno.

 
Odgovor na temu

stargazer
bgd

Član broj: 85916
Poruke: 117
*.eunet.yu.



Profil

icon Re: win32 api prikaz stringa u dijalog25.03.2006. u 10:40 - pre 196 meseci
nisam baš najbolje razumeo šta ti uopšte treba, ali ako hoćeš da čitaš fajl sa pitanjima i odgovorima imaš funkciju ReadFile koja se koristi u kombinaciji sa CreateFile

a što se tiče toj dialoga u kome radiš prikaz stringa, tu ne vidim šta je problem, jedino možda u tome da parsuješ pitanje iz pročitanog bafera, ali to opet zavisi od toga kako si zapisao fajl
With no lovin' in our souls and no money in our coats you can't say we're satisfied
 
Odgovor na temu

milan82

Član broj: 35288
Poruke: 72
*.adsl.net.t-com.hr.



Profil

icon Re: win32 api prikaz stringa u dijalog25.03.2006. u 13:09 - pre 196 meseci
Stvar funkcionira ovako:
imam dvije datoteke: pitanja i odgovori (tocan odgovor na pitanje se nalazi na istom broju linije), generiram slucajan broj (slucajno pitanje, iz datoteke sa pitanjima izvucem jednu liniju) i taj tekst trebam ispisati na dialogu. Pitanje spremam u polje:
char pitanje[100];
U MessageBox ga lako ispisujem al ne znam kako prikazati to pitanje (liniju teksta) na DialogBox.

Code:

void ObradaPitanja (HWND handle)
{
srand((unsigned)time(0)); 
int random_integer; 
int lowest=1, highest=1000; 
int range=(highest-lowest)+1; 
random_integer = rand();//= lowest+int(range*rand()/(RAND_MAX + 1.0)); 

int i,k=1;
broj_linije=3; //radi testa
i=3;//random_integer;
    FILE *dat;
    
    dat=fopen("pitanja","r");
    while(k<i)
        if (fgetc(dat)=='\n') ++k;
    for (i=0;;++i)
    {
        pitanje[i]=fgetc(dat);
        if (pitanje[i]==EOF || pitanje[i]=='\n')
        {
            pitanje[i]='\0';
            break;
        }
    }
    
    fclose(dat);
    SetDlgItemText(handle, IDC_STATIC2, pitanje);
    

}


tu funkciju pozivam u proceduri za obradu dialog prozora

Code:


BOOL CALLBACK DialogProcHelp(HWND hwndDlg, 
                             UINT message, 
                             WPARAM wParam, 
                             LPARAM lParam) 

...nebitan kod...

ObradaPitanja(hwndDlg);

 
Odgovor na temu

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
*.so.pttrs.net.



+1 Profil

icon Re: win32 api prikaz stringa u dijalog25.03.2006. u 14:07 - pre 196 meseci
Postavi readonly edit control i u njega stavljaj taj bafer.
 
Odgovor na temu

stargazer
bgd

Član broj: 85916
Poruke: 117
*.eunet.yu.



Profil

icon Re: win32 api prikaz stringa u dijalog25.03.2006. u 14:43 - pre 196 meseci
Neću da ulazim u onaj kod u kome čitaš pitanje iz fajla, ali znaš kako, onaj poziv :
SetDlgItemText(.......);
je način na koji ti postavljaš tekst te STATIC kontrole, tako da ti je sa tog aspekta samo to bitno u funkciji ObradaPitanja.
Ako ti to ne radi, onda reci šta se tačno dešava kada pozoveš funkciju gore.

Takođe bi trebalo da staviš onaj kod koji si zamenio sa "...nebitan kod..." ili bar kako si obradio poruke WM_INITDIALOG, WM_COMMAND i WM_CTLCOLORSTATIC; ako je taj kod velik, onda ga pošalji na mejl.

[Ovu poruku je menjao stargazer dana 25.03.2006. u 15:47 GMT+1]
With no lovin' in our souls and no money in our coats you can't say we're satisfied
 
Odgovor na temu

milan82

Član broj: 35288
Poruke: 72
*.fesb.hr.



Profil

icon Re: win32 api prikaz stringa u dijalog25.03.2006. u 15:29 - pre 196 meseci
@sucur: Kada uradim sto si rekao, dobijem stack overflow.
@stargazer: Ne dogada se nista, umjesto teksta pitanja dobijem samo: Static
cijeli kod je u attach-u.
Prikačeni fajlovi
 
Odgovor na temu

stargazer
bgd

Član broj: 85916
Poruke: 117
*.eunet.yu.



Profil

icon Re: win32 api prikaz stringa u dijalog25.03.2006. u 16:34 - pre 196 meseci
Ja ne znam šta da ti kažem...
Evo, malo pre sam ubacio taj poziv SetDlgItemText u neku svoju funkciju na dialogu i uradi ono što joj kažem.

Ono što mi pada na pamet je da pogledaš Properties tog STATICa i da proveriš povratnu vrednost funkcije SetDlgItemText.
Jesi li proverio da li on uopšte dobro učita pitanje?
Verovatno je neka nebuloza, predlažem ti da dobro pogledaš ceo kod i resurse.
With no lovin' in our souls and no money in our coats you can't say we're satisfied
 
Odgovor na temu

milan82

Član broj: 35288
Poruke: 72
*.fesb.hr.



Profil

icon Re: win32 api prikaz stringa u dijalog25.03.2006. u 17:08 - pre 196 meseci
Bila je u pitanju obicna nebuloza, ne znam ni ja kako al sam postavio krivi ID za Static Text pa nisam ni mogao dobiti pravi ispis.
stargazer hvala!
 
Odgovor na temu

[es] :: C/C++ programiranje :: win32 api prikaz stringa u dijalog

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

Postavi temu Odgovori

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