PCPROG.3

26 Jul 1993 - 22 Apr 1994

Topics

  1. algoritmi (290)
  2. dizajn (19)
  3. ms.dos (270)
  4. windows (360)
  5. asembler (213)
  6. basic (10)
  7. jezici (148)
  8. pascal (878)
  9. cccc (554)
  10. cpp (195)
  11. clipper (1125)
  12. baze.podataka (232)
  13. razno (540)

Messages - windows

windows.1 ficus,
Evo, ba{ lepo {to su se setili da otvore i ovu temu... Nedostatak ove teme je bila moja jedina sugestija na konferenciju PC.PROG Mislim da je tek sada ova konferencija kompletna...
windows.2 vitez.koja,
Pitanje: da li jedan MDI klijent (izvinite ako se frljam sa izrazima; mislim na glavni prozor aplikacije) može da otvori pop-up prozor, a taj pop-up prozor ondak da otvori jedan MDI child window ? Ako ne može, kako postići otvaranje prozora X iz prozora Y (na pritisak gumba), pri čemu ni X ni Y nisu glavni ? Pitanje2: da li MDI child prozor mož' da ima menije ? Radim, ako je bitno, u Turbo Pascalu for Windows, neka bajata verzija.
windows.3 ficus,
Kojo, pa ima{ funkciju CreateWindow koja izme|u ostalog tra`i i HANDLE roditeljskog (parent) prozora... A, pritisak na taster je tako trivijalna stvar, da ne znam u ~emu je tvoj problem...!
windows.5 jevta,
Ima li neko ideju šta se zbilo ??? Startujem Windowse koji su najnormalnije radili do danas, kad ono resetuje se mašina. Opet kucam win, opet reset ... Skinem memmaker, turim Qemm 6.03 ista stvar. Dopišem u configu ono čuveno x=b000:bfff i sve radi ok. Jasno mi je za qemm, ali šta bi memmakeru i to iz čista mira posle dva meseca pouzdanog rada ? I šta mu uraditi da opet bude pristojan (probao sam da ga reinstaliram , ali se isto ponaša) ?
windows.6 milos,
Da li neko koristi Quick C for Windows??? Imam neke probleme oko podešavanja boja, pa ako bi neko mogao da se javi na mail da mi pomogne...
windows.7 bduke,
Kod mene je pomoglo tek kada sam ponovo instalirao ceo WINDOWS. Pre toga se desavalo isto. bduke
windows.8 .obj,
Imam jedno pitanjce, možda se neko već petljao sa ovime. Recimo, hoćemo da ceo dijalog ofarbamo sivom (COLOR_BTNFACE) bojom umesto default boje (COLOR_WINDOW), slično kao u CorelDRAW!-u. To je najlakše uraditi primanjem poruke WM_ERASEBKGND a zatim jednostavnim farbanjem celog dijaloga. OK. Problem je, međutim, u ostalim kontrolama dijaloga, najviše u BUTTON-ima i STATIC-ima. Naime, na ivicama BUTTON-a ostaju 4 male bele tačkice, i, mada mi sasvim jasno zašto se to dešava, želeo bih da znam da li postoji način da se te tačkice uklone (tj. da se i one farbaju sa COLOR_BTNFACE). Takođe, da je moguće na jednostavan način postaviti boje pozadine i za STATIC kontrole - da se ne bi pravila posebna klasa prozora (npr. MYSTATIC) samo da bi se postavile sopstvene boje? Dakle, postoji li jednostavan način da se postavi boja pozadine za BUTTON i STATIC kontrole? :) Ou bi džej
windows.9 nkbog,
> Dakle, postoji li jednostavan način da se postavi boja pozadine za > BUTTON i STATIC kontrole? :) Pogledaj opis poruke WM_CTLCOLOR. Ona ti traži "četku" (sic!) pozadine za kontrole (a čini mi se i za dijalog - nema potrebe za petljanjem sa brisanjem pozadine), sve što treba je da se vrati HBRUSH pozadine, a kol'ko se sećam treba valjda izvršiti i SetBkColor na HDC-om kontrole (dijaloga), inače ne promeni odma' boju, il' tako nešto. NB.
windows.10 milos,
A možda je lakše da sa CreateSolidBrush lepo napravi svoju boju i da poruci WM_CTLCOLOR prenese to. A još lakše je uzeti ResourceWorkshop iz TCWIN-a... ;)
windows.11 .obj,
Verovatno znate da se startovanje programa koristi univerzalna funkcija WinExec(LPSTR ime_programa, int inicijalni_prikaz). Šta da se radi kada je potrebno startovati program tako da on sačeka da se upravo startovana aplikacija završi? Na primer, program A startuje program B koji generiše datoteku X koju koristi program A, pa je neophodno da program A sačeka da se B završi pre nego što nastavi sa radom. Ja sam pronašao jedno rešenje koje i meni izgleda "prljavo", tj. nepouzdano. To se svodi na sledeći program: WinExec("dir > qwe", SW_NORMAL); int cbNumTasks = GetNumTasks(); while(cbNumTasks == GetNumTasks()); WinExec("copy qwe sdf", SW_NORMAL); Da li postoji neko bolje rešenje? Ovo ovde je upotrebljivo samo ako program B svoj posao radi relativno kratko. Ou bi džej
windows.12 nkbog,
> Verovatno znate da se startovanje programa koristi univerzalna funkcija > WinExec(LPSTR ime_programa, int inicijalni_prikaz). > Šta da se radi kada je potrebno startovati program tako da on sačeka da > se upravo startovana aplikacija završi? Evo jedno rešenje: //-----------------Iseci ovde-------------------------------------------- MSG msg; HINSTANCE hinst; hinst = WinExec("program",SW_NORMAL); // Ovde treba proveriti da li je hinst ispravan - tj nije manji od 32 do { if (PeekMessage(&msg,0,0,0,PM_REMOVE)) { // ovo da ne bi blokirali sistem TranslateMessage(&msg); // treba dodati i proveru za WM_QUIT DispatchMessage(&msg); // tj kraj programa kada stigne WM_QUIT } } while (GetModuleUsage(hinst) != 0); //-----------------Iseci i ovde------------------------------------------- Kada se program završi hinst postaje neispravan i GetModuleUsage vraća nulu. Inače vraća neki nenulti ceo broj (a ne pola broja) (zavisno od broja instanci programa koje su trenutno aktivne). NB.
windows.13 paki,
Pre par dana sam počeo da programiram pod Pendžerima (konkretno u Turbo Pascal for Win) i oduševljen sam :) Još nijedna fatalna greška u mom prvom programu ;) Da li neko može da mi preporuči neku dobru knjigu (bilo u pisanom bilo u elektronskom obliku) o programiranju pod Win (poželjno za TPW, ali može i za C), jer samo pomoću Helpa, bez literature, teško radim? Ima li još neko ovde, na Sezamu, ko programira u TPW?
windows.14 .obj,
> Pre par dana sam počeo da programiram pod Pendžerima (konkretno u > Turbo Pascal for Win) i oduševljen sam :) Nije ni čudo. :) TPW 1.0 je bio (i ostao) fenomenalan program. Mali, brz, moćan, generiše kratak i brz kod, dobar help, odličan IDE, puno dodatnih alata sa strane (WRT, HC),... prosto savršen. > Da li neko može da mi preporuči neku dobru knjigu (bilo u pisanom > bilo u elektronskom obliku) o programiranju pod Win (poželjno za > TPW, ali može i za C), jer samo pomoću Helpa, bez literature, > teško radim? Pa, pitanje je da li radiš u ObjectWindows ili kopaš po Win API-ju? Ako je ovo prvo, teško (mislim nikako) naći literaturu osim originalne uz TPW. A ako je ovo drugo, slobodno možeš da uzmeš bilo koju knjigu koja obrađuje Windows API bez obrzira na jezik (mada je to uvek MS C). Knjige koje obrađuju Windows API ionako ne koriste nikakve specifičnosti nekih kompajlera, tako da sigurno nećeš imati problema sa strane "kompatibilnosti" C i paskala. Sad, koja knjiga? Definitivno je najpoznatija i najpopularnija knjiga žarlsa Pecolda (Charles Petzold) "Programming Windows". Dosta je skupa. U Budimpešti košta 150 maraka. Ima i ovde u Novom Sadu da se kupi u knjižari ispod bioskopa pored dunavskog parka, i to znatno jeftinije zato što se tu prodaju (i) strane polovne knjige. Dotična knjiga je odlična, ima praktično sve što takva knjiga treba da ima. Ne mora uopšte da se čita u celini (u stvari, ni ne može, jer je predebela) da bi se nešto uradilo, tako je napisana. Tj., ne počinje, kako bih rekao, od suštine, već odma' prelazi na komplikovanije primere i redom objašnjava šta je šta. Knjiga vredi svaku uloženu paru. Što se tiče elektronske pomoći, nisam još naleteo na neku "elektronsku knjigu", mada ima dosta "poučnih tekstova" ;) čak i ovde na Sezamu, pored ovolikih windowsomrzaca ;)). Primere po imenom adg*.zip (ili arj) nemoj da skidaš (ako mene pitaš) pošto su neinformativni i dosadni ;) Ali zato skini one wpj*.zip zato što tu ima nešto više, mada na početničkom nivou. BTW, kada se nauče neke osnovne stvari, onaj stardandan Windows API help (čija se, nešto izmenjena verzija nalazi i u okviru TPW.HLP) je *sasvim* dovoljan za svakodnevno snalaženje. Tek ako naleti nešto malo specifičnije što nije lako odma' naleteti u HELP-u, pomaže dokumentacija. A mogu da ti pomognu i kolege sa Sezama, samo pitaj. :) Ou bi džej
windows.15 djelovic,
> Da li neko može da mi preporuči neku dobru knjigu (bilo u pisanom > bilo u elektronskom obliku) o programiranju pod Win (poželjno za > TPW, ali može i za C), jer samo pomoću Helpa, bez literature, > teško radim? Well, poziv Win API-ju je poziv Win API-ju, bilo da radiš na Paskalu ili na C-u. Prema tome, ako dobiješ knjigu sa C primerima, nećeš imati problema da se prebaciš na TP 4 Win. A najbolja knjiga na tržištu je definitivno "Programming Windows" od Charles Petzold-a. Ukoliko imaš načina da je dobaviš iz inozemstva, vikaj da ti ostavim detaljnije informacije.
windows.16 paki,
­> Well, poziv Win API-ju je poziv Win API-ju, bilo da radiš na ­> Paskalu ili na C-u. Prema tome, ako dobiješ knjigu sa C primerima, ­> nećeš imati problema da se prebaciš na TP 4 Win. Jasno, ukapirao sam to već i iz textova u R. ­> A najbolja knjiga ­> na tržištu je definitivno "Programming Windows" od Charles ­> Petzold-a. Ukoliko imaš načina da je dobaviš iz inozemstva, vikaj ­> da ti ostavim detaljnije informacije. Videću, možda nađem način. Thanx to all.
windows.17 paki,
­> Ali zato skini one wpj*.zip zato što tu ima nešto više, mada na ­> početničkom nivou. Skinuo sam ih, i stvarno su dobri. ­> BTW, kada se nauče neke osnovne stvari, onaj ­> stardandan Windows API help (čija se, nešto izmenjena verzija ­> nalazi i u okviru TPW.HLP) je *sasvim* dovoljan za svakodnevno ­> snalaženje. Da, tako je bilo i sa TP for DOS, sve što ti treba ima u helpu, ali prvo treba da naučiš osnove.
windows.19 milos,
Paki, mislim da bez Petzold -ove knjige ne ma {ta da razgovara{ na ovu temu. Dakle, 2 Novi Sad. [to se API-ja ti~e, mislim da je mnogo bolje "kopati" po apiju nego radi sa OWL jer je OWL tragi~no spor i treba mu za kompilovanje (naro~ito u T) ohaha (negde oko 15 hedera). Programi pisani API jem su mnogo efikasniji i {to je bitno manji. Ja ne znam, kada je re~ o knjigama, za{to neko ne preporu~i ~oveku Software Development Kit 4 Windows Programming guide. Knjigica ;) ima negde oko 500 strana i odatle sam (barem ja) nau~io sve (!) {to mi treba a imam je kod ku}e tako da mi nije problem. Usput imam i one odli~ne primere iz SDK (slu~ajno sam ih pokupio sa neke ma{ine), tako da mi je i bez OWL rad k'o bog. Ali, ne lezi vra`e, ja nabavio i oficijelnu literatutu borlanda za OWL (C). Iako ve} delimi~no znam OWL, ja }u je pro~itati i korisiti u nekim ve}im stvarima dok je za male stvari mnogo bolji API. Usput, nadam se da }e ova konferencija `ivnuti. Ponekad mi se jave neki problemi, a sve se ne{to uzdr`avam da ostavim poruku jer znam da ovde ljudi ne vole Windows... :((((( Paki, obrati se dekiper-u za sve ove lepe stvari, jer su mi trenutno kod njega, dosadan ~ovek, pa sam morao da mu dam... :))) Ustvari bilo bi najbolje da ode{ kod njega, ili u subotu u club...
windows.20 bulaja,
│Definitivno je najpoznatija i najpopularnija knjiga Carlsa Pecolda │(Charles Petzold) "Programming Windows". Dosta je skupa. U Budimpesti │kosta 150 maraka. └─── Kod mene je mnogo jeftinije :), evo prodajem u kompletu Petzoldov "Programming Windows (2nd edition)" (inace ima 1000 strana) i "Microsoft WINDOWS 3 Programmer's Reference" (reference svih API funkcija, 1200 strana), knjige su nove a cena je svega 120 DEM za komplet :).
windows.21 asterix,
Nedavno je počela da mi izlazi sledeća poruka prilikom generisanja exec-a: Datoteku sa vašim odgovorima nije moguće otvoriti. Pažnja: Exec nije u potpunosti snimljen! Da li neko možda zna o čemu je reč, i kako da se to otkloni? Dosta je neprijatno bez exec-a kojeg sad ne mogu da pravim :( Naravno radi se o SDW ;), zaboravih da pomenem ...
windows.22 .obj,
> Nedavno je počela da mi izlazi sledeća poruka prilikom generisanja > exec-a: > Datoteku sa vašim odgovorima nije moguće otvoriti. Pažnja: > Exec nije u potpunosti snimljen! To znači da si otvorio neki odgovor (Alt-R), SDW je kreirao neku datoteku tipa RE1.CDF, a ti si je kasnije obrisao, ali ne i naredbu iz EXEC-a. Drugi put ;) nemoj da ručno brišeš datoteku RE*.CDF, već obriši reply odgovarajućom opcijom u "Pregledu EXEC-a". :) Pozdrav, Ou bi džej
windows.23 paki,
­> Paki, obrati se dekiper-u za sve ove lepe stvari, jer su mi ­> trenutno kod njega, dosadan ~ovek, pa sam morao da mu dam... :))) Jasno :) P.S. set code :)
windows.24 spantic,
Kad smo već kod SDW-a. To je sjajan program i govoreći to ne govorim ništa novo :) Od nove verzije sam definitivno prešao na njega. Do sada je bio i izuzetno pouzdan. Ali, ima jedna stvar koja mi smeta. Naime, kad odlučim da skinem datoteku uz poruku SDW je odmah preusmeri u PAD. Ja tako ne radim. Postoji li način da se tome doskoči?
windows.25 jerry,
> Kad smo vec kod SDW-a. To je sjajan program i govoreci to ne > govorim nista novo :) Od nove verzije sam definitivno presao na > njega. Otprilike. S' tim sto se meni desava nesto cudno... Ucitavanje text pada mi uzrokuje izbacivanje u DOS bez opomene. (mislim na UNZIP) Ako ga raspakujem rucno iz DOS-a pa uzitam, sve je ok. Zasto? Ou bi dzej-ar?
windows.26 .obj,
> Ucitavanje text pada mi uzrokuje izbacivanje u DOS bez opomene. > (mislim na UNZIP) Ako ga raspakujem rucno iz DOS-a pa uzitam, sve je ok. > Zasto? Zato što nisi pročitao uputstvo. ;)) Šalim se. Evo kako: (piše u uputstvu;)) Napraviš PIF datoteku PKU.PIF za PKUNZIP.EXE. U njoj uključi sve žive opcije koje liče na Minimized, Background i sl. Zatim iz "Podešavanja" u SDW-u umesto npr. PKUNZIP stavi PKU.PIF. Klikni na opciju "Minimizovan dearhiver". Den... rileks end indžoj... brot-tu-ju baj Ou bi džej end Soni mjuzik ;)
windows.27 .obj,
> Naime, kad odlučim da skinem datoteku uz poruku SDW je > odmah preusmeri u PAD. Ja tako ne radim. Postoji li način da se > tome doskoči? Može, :) ja treba da doskočim tako što će sledeća verzija imati dve naredbe u "onom" Combo-Box-u. Prva je ovako kako je i bilo (sa &) a druga bez &. Dakle, pritisneš "strelicu nadole" (ili klikneš mišem na odgovarajuću opciju) kada se pojavi dijalog "Unos naredbe Sezama", i to je to. Ou bi džej txe di džej :) P.S. Ukoliko neko ima neko pitanje u vezi sa SDW-om mislim da je daleko bolje da ga postavi u SEZAM.4:sor, obzirom da nema toliko puno pitanja (o SDW-u) da bi se uživaoci SOR-a bunili. :) Naravno, uvek može i mail send .obj. :) Ovu konf. najbolje da ostavimo za programerske teme. :)
windows.28 viktor,
> Ovu konf. najbolje da ostavimo za programerske teme. :) Evo da ja postavim pitanje. Na jednoj konferenciji sam procitao da (ako sam ja dobro shvatio, ako nisam vi cete me ispraviti ;) ) u Windows programskoj okolini postoji "komanda" GlobalCompact (ili nekako tako, nisam odmah prepisao ... ;() kojom se rascepkana (fragemented) memorija u Windows-ima "dovodi u red". Interesuje me da li to postoji, da li neko ima nesto vec uradjeno "po tom pitanju". Problem se javlja nakon duzeg koriscenja Windows-a bez izlaska iz istih i bilo bi zgodno imati jedan mali programcic koji bi pozvali i "pocistili" ...
windows.29 paki,
Evo, dok ne nabavim literaturu, da priupitam: Kako da ubacim dijaloge u svoj program? U Resource Toolkitu sam napravio jedan dijalog i želeo bih da se on aktivira kad iz menija izaberem određenu stavku. Tada se poziva procedura za pravljenje dotičnog dijaloga. Šta u okviru nje da se radi? Pretpostavljam da postoji neka API procedura koja sve radi sama, a na meni je, posle klika na OK ili Cancel, samo da očitam rezultate (koji čekboks je uključen/isključen, koji text je unesen itd.). U nekom od primera iskopao sam parče koda i ubacio ga u moj program. To trenutno glasi: --------- procedure TMyWindow.Paki; var Dialog: TDialog; begin { Application^.ExecDialog(New(PMyDialog, Init(@Self, 'PakiDlg'))); (Ova naredba ima naoko isto dejstvo kao i ove tri dole)} Dialog.Init(@Self, 'PakiDlg'); Dialog.Execute; Dialog.Done; end; --------- Tada dijalog radi OK, ali kako da znam npr. koje dugme je pritisnuto pri izlasku (OK/Cancel/Help/...) ili koji je text unesen u Edit Box, dakle, kako očitavam rezultate procedure Execute da bi ih upotrebio u ostatku programa? I još nešto, da li je ovakav način aktiviranja dijalog boksova OK, ili treba drugačije?
windows.30 wizard,
> Do sada je bio i izuzetno pouzdan. Ali, ima jedna stvar koja mi > smeta. Naime, kad odlučim da skinem datoteku uz poruku SDW je > odmah preusmeri u PAD. Ja tako ne radim. Postoji li način da se > tome doskoči? Kako da nema, pa već su ti doskočili, sad radiš tako. ;))) Ozbiljno, zaista mi nije jasno zašto ne bi skidao fajlove u PAD i posle ih DL-ovao batch Zmodem-om...
windows.31 nboskovic,
*> Ozbiljno, zaista mi nije jasno zašto ne bi skidao fajlove *> u PAD i posle ih DL-ovao batch Zmodem-om... I još treba pridodati jedno pad do /b da ne bi arhivirao sve datoteke u padu već da ih šalje jednu po jednu. (c) klap nikola
windows.32 .obj,
> postoji "komanda" GlobalCompact (ili nekako tako, nisam odmah prepisao > ... ;() kojom se rascepkana (fragemented) memorija u Windows-ima "dovodi u > red". Funkcija GlobalCompact postoji. Napišeš mali program, recimo u C-u, koji će je samo pozvati sa pravim parametrima (pogledaj u help), i moralo bi da radi. Ou bi džej
windows.33 .obj,
> Kako da ubacim dijaloge u svoj program? Pre nego što još počnem ;), samo da ti kažem par stvari. Prvo, ja nisam nikada radio u ObjectWindows, pa tu slabo mogu šta da kažem, osim da bi, kao što je i red, dijalog trebalo da bude objekat, a da se tom objektu šalju poruke kada korisnik kresne neki taster, skrol bar, ovo-ono... na sve te poruke ti odgovaraš iz metoda tog objekta. Drugo, dijalozi rade na gotovo istom principu kao i "normalni" prozori, osim što primaju neke ekstra poruke. Sad, svaki (u principu) dijalog mora imati svoju servisnu funkciju, *isto* kao i prozor. Tako, recimo, imaš (pored ostalih) i poruku WM_INITDIALOG na koju možeš da reaguješ tako što ćeš, na primer, popuniti sadržajem neku listu. Dijalog, dakle, NIJE funkcija koja bi recimo vratila OK ili Cancel. To je (na sreću) mnogo pametnije urađeno. > nje da se radi? Pretpostavljam da postoji neka API procedura koja > sve radi sama, a na meni je, posle klika na OK ili Cancel, samo > da očitam rezultate (koji čekboks je uključen/isključen, koji > text je unesen itd.). Ovo što dalje piše važi ako pišeš program preko Windows API-ja, što, BTW, ja tebi preporučujem, ako smem. Prvo, kreiranje funkcije iz BRW-a, WRT-a, ili pisanje skripta (.RC). To si prebrinuo. Drugo, pisanje servisne funkcije. Koliko se razumem u TPW (nemam ga trenutno na disku), to treba da izgleda nekako ovako: procedure MićaDlgProc (HWND hDlg, word message, word wParam, long lParam); // ovde treba neka deklaracija, valjda PUBLICDLL; // ili tako nešto, zaboravio sam begin MićaDlgProc := false; case (message) of WM_INITDIALOG: begin ...neke inicijalizacije, ako su potrebne, punjenje LISTBOX-ova, itd end; WM_COMMAND: // ovo se aktivira kad god korisnik uradi nešto // sa nekom kontrolom u okviru dijaloga. Npr. klikne // na button, listbox, ukuca nešto u edit, itd. case (wParam) of IDOK: begin // ovo se aktivira ako if (HiWord(lParam) == BN_CLICKED) // klikneš na OK! EndDialog(hDlg, wParam); // dakle, izađemo MićaDlgProc := true; // napolje iz dijaloga end; IDCANCEL: begin // ovo se aktivira if (HiWord(lParam) == BN_CLICKED) then // klikneš na Cancel MessageBox (hDlg, 'Stani bre malo', 'Stop!', MB_OK or MB_ICONSTOP); MićaDlgProc := true; end; else MićaDlgProc := true; end; end; end; Treće, kako pozvati dijalog. Lako: var lpfnMićaDlgProc: FarProc; // lpfn = Long Pointer to FuNction... lpfnMićaDlgProc = MakeProcInstance(MićaDlgProc, hInst); DialogBox(hInst, "IME_DIJALOGA_IZ_RC_ILI_RES_FAJLA", hWnd, lpfnMićaDlgProc); FreeProcInstance(lpfnMićaDlgProc); > Tada dijalog radi OK, ali kako da znam npr. koje dugme je > pritisnuto pri izlasku (OK/Cancel/Help/...) ili koji je text > unesen u Edit Box, dakle, kako očitavam rezultate procedure > Execute da bi ih upotrebio u ostatku programa? I još nešto, da li > je ovakav način aktiviranja dijalog boksova OK, ili treba > drugačije? Kao što se vidi iz primera, reagovanjem na poruku WM_COMMAND. Dodatne podatke možeš da očitaš: wParam Identifikator kontrole (npr, IDOK, 500, 501, ID_MIĆA itd) HiWord(lParam) Poruka kontrole (elementa dijaloga). Npr. BN_CLICKED (BN je "Button Notification"), EN_ERRSPACE ("Edit Notification"), LBN_SELCHANGE. Na kraju, pošto vidim da tek počinješ, može dosta da ti pomogne primer GENERIC.PAS iz TPW-a. Puno sreće, Ou bi džej
windows.34 milos,
Pa ne znam ba{ paki dal' si se odlu~io za pravu stvar. Uzeo si TPW 1.0 koliko sam na~uo u klubu, a sa njim }e{ se vrlo te{ko sna}i iz nekoliko razloga: 1. Whitewater Resource toolkit je sme{an u odnosu na Workshop 2. Turbo Debbuger 4 windows ne radi ba{ najbolje pod win3.1 3. U 1.5 TPW-u je Object WIndows pobolj{an, tako da }e ti biti lak{e da ga nau~i{ jer su neki kriti~ni delovi sre|eni (:)) 4. Ne znam kako paskal guta API funkcije! Verovatno je OK, ali mislim da }e{ se d`abe buniti kada bude{ prekucavao neke kodove iz C-a jer bukvalno sve bolje knjige za Win programiranje su pisane za C, tako da ti predla`em dve stvari: Ako ve} ho}e{ paskal uzmi BP 7.0 ili TPW 1.5, ili {to je po meni bolje, zna{ i sam...
windows.35 spantic,
> Kako da nema, pa već su ti doskočili, sad radiš tako. ;))) Ne radim ;) Jedan kratak programčić rešava me te muke, ali ne bih da i toliko komplikujem :( > Ozbiljno, zaista mi nije jasno zašto ne bi skidao fajlove u PAD i posle > ih DL-ovao batch Zmodem-om... Zato što mi ne odgovara :)
windows.36 .obj,
> Prvo, kreiranje funkcije iz BRW-a, WRT-a, ili pisanje skripta (.RC). To ======================== E i ja svašta lupam... iz BRW-a se kreira *dijalog* a ne funkcija :)) Drugo, MićaDlgProc treba da bude funkcija koja vraća Boolean, a ne procedura. Još jednom, Paki, pogledaj GENERIC.PAS za detalje. :) > lpfnMićaDlgProc = MakeProcInstance(MićaDlgProc, hInst); > DialogBox(hInst, "IME_DIJALOGA_IZ_RC_ILI_RES_FAJLA", hWnd, lpfnMićaDlgProc); > FreeProcInstance(lpfnMićaDlgProc); Ono što je takođe bitno a nisam pomenuo je da je hInst instanca tekuće aplikacije, a hWnd roditeljski prozor dijaloga (kom' prozoru će se vratiti kontrola posle završetka dijaloga). Ou bi džej Mr. Zaboravni :)
windows.37 viktor,
Ne bavim se programiranjem u Windows-ima. Dakle, gde se nalazi ta funkcija i kako je pozvati. Jel' moze jedan mali exe koji to radi ... ;)) Kada vec pisem u SDW-u da ne menjam programersku kucu :)))
windows.38 wizard,
> *> Ozbiljno, zaista mi nije jasno zašto ne bi skidao fajlove > *> u PAD i posle ih DL-ovao batch Zmodem-om... > > I još treba pridodati jedno pad do /b da ne bi arhivirao > sve datoteke u padu već da ih šalje jednu po jednu. Pa zar to nisam i ja napisao? :))
windows.39 paki,
­> Ovo što dalje piše važi ako pišeš program preko Windows API-ja, ­> što, BTW, ja tebi preporučujem, ako smem. Pa, kao što se može zaključiti, ja sam samo prekopao malo demo programe i C&Povao :) parčiće koda koji rade bitne stvari. Koristio sam objekte jer sam naleteo na njih. Ali pošto kupujem onu literaturu (nadam se bar) preći ću na API. ­> procedure MićaDlgProc (HWND hDlg, word message, word wParam, long ­> lParam); ... ­> begin ­> MićaDlgProc := false; Mislim da procedura ne može da vraća vrednost. Verovatno si mislio na funkciju. ­> Na kraju, pošto vidim da tek počinješ, može dosta da ti pomogne ­> primer GENERIC.PAS iz TPW-a. Hvala ti na objašnjenju i savetima. Pogledaću primer, obavezno.
windows.40 paki,
­> 1. Whitewater Resource toolkit je sme{an u odnosu na Workshop Znam, umesto njega sam nakalemio Workshop iz BP7.0. :)) ­> 2. Turbo Debbuger 4 windows ne radi ba{ najbolje pod win3.1 Taj odvratni hibrid sam ubio odmah po instalaciji :( Od njega bi mi više pomogao čak i mali (ali tehničar ;) integrisani debager, poput onog u TP. ­> 3. U 1.5 TPW-u je Object WIndows pobolj{an, tako da }e ti biti ­> lak{e da ga nau~i{ jer su neki kriti~ni delovi sre|eni (:)) Ne znam, mislim da je bolje da naučim API. ­> 4. Ne znam kako paskal guta API funkcije! Verovatno je OK, ali Mislim da ih guta bez problema. ­> C, tako da ti predla`em dve stvari: Ako ve} ho}e{ paskal uzmi BP ­> 7.0 ili TPW 1.5, ili {to je po meni bolje, zna{ i sam... Pa imam ja kući BP7.0 ali mi ne valja disketa sa najvažnijim (;) fajlom, helpom za Win :((( Kad budem ponovo nabavio tu disketu, prelazim na 7.0, do tada sam na klonu TP1.0+RWshop :) P.S. Podesi kodnu stranu na Sezamu, umesto YU slova imaš gomilu kuka i kvaka :(
windows.41 ssokorac,
─┼┤ Ozbiljno, zaista mi nije jasno zašto ne bi skidao fajlove u PAD i ─┼┤ posle ih DL-ovao batch Zmodem-om... Ja uvek skidam fajlove u PAD pa zatim pad do /b. Prednost? Pa, skidaš sve datoteke odjednom, dakle, pustiš da se dl i sačekaš da sve bude gotovo, a druga prednost je - sezam obračuna vreme potrebno za sve datoteke na početku prenosa i dozvoli prenos. E, sad, ako imaš lošu vezu možda prenos prva 2-3 fajla traje preko predvidjenog vremena i u normalnim uslovima ne bi(H:) mogao da preneseš poslednji fajl ali ovako - prenos je već počeo i ništa te ne može zaustaviti :).
windows.42 nboskovic,
*> Pa zar to nisam i ja napisao? :)) Ako uradiš pad do onda će Sezam napraviti arhivu pad?????.zip a ako staviš /b slaće odvojeno :)) (c) klap nikola
windows.43 wizard,
> Ako uradiš pad do onda će Sezam napraviti arhivu > pad?????.zip a ako staviš /b slaće odvojeno :)) PA ZAR TO NISAM I JA REKAO!? :))) Napisao sam "batch Zmodem", pa to je valjda to?!
windows.44 asterix,
Da li neko ima loša iskustva sa PhotoPaint-om iz Corel-ovog novog paketa? Odmah nakon podizanja istog se javlja greška 'Gerenal Error' sa opcijama 'Close' i 'Ignore'. Da li neko možda zna nešto više o ovome ? CorelDraw! 4 je inače instaliran sa iskopiranih instalacionih disketa...
windows.45 .obj,
Smešan i simpatičan ;) bag Turbo Linkera (u režimu EXETYPE WINDOWS)... ako u DEF datoteci u imenu modula stavite karakter 255 (Alt-255), TLINK se tako temeljito zaglavi da pomaže samo hard-reset. Ou bi džej
windows.46 niklaus,
> Da, tako je bilo i sa TP for DOS, sve što ti treba ima u helpu, > ali prvo treba da naučiš osnove. Ali, stvar se komlikuje sa vremenom koje je potrebno Win-u da učita Help fajl, odn. ubija volju. Glavni i osnovni (ne i jedini) razlog, zbog koga sam digao ruke od programiranja pod Win. (:niklaus:)
windows.47 paki,
­> Ali, stvar se komlikuje sa vremenom koje je potrebno Win-u ­> da učita Help fajl, odn. ubija volju. Šta znam...ja sam pre imao 286/12, tako da mi je ovo sasvim pristojna brzina :)
windows.48 peca.st,
!-> Ali, stvar se komlikuje sa vremenom koje !-> je potrebno Win-u da učita Help fajl, !-> odn. ubija volju. Tačno. Ja sam se taman zagrejao da pređem na Win, uzeo TP4WIN, i kad sam pritisnuo ctrl+f1, a moj seagate na 286 zatrubeo i nastabio da trubi oxoxoxo, odmah sam odustao. (bar za sada) Peđa.
windows.49 niklaus,
>! -> Ali, stvar se komlikuje sa vremenom koje >! -> je potrebno Win-u da učita Help fajl, >! -> odn. ubija volju. > > Tačno. Ja sam se taman zagrejao da pređem > na Win, uzeo TP4WIN, i kad sam pritisnuo > ctrl+f1, a moj seagate na 286 zatrubeo > i nastabio da trubi oxoxoxo, odmah sam > odustao. (bar za sada) Ma puštaj prozore nek' se lome (; - preporučujem ti da počneš da se igraš C-om, a malo kasnije sa GNU C-om. Puno kvalitetnih programa i biblioteka napravljenih od strane pametnih ljudi - a sve je džabe. (: CU u GNU svetu... (:niklaus:)
windows.50 .bale.,
> Ma puštaj prozore nek' se lome (; - preporučujem ti da počneš > da se igraš C-om, a malo kasnije sa GNU C-om. Puno kvalitetnih > programa i biblioteka napravljenih od strane pametnih ljudi - a sve je > džabe. (: > > CU u GNU svetu... > (:niklaus:) To, care! Treba pobiti sve što ima veze sa MS Windowsima, pokvariće nam omladinu! (Al' sam postao vadikalan u poslednje vveme - ovo mi je već drugi poziv na linč, prvi je bio u vezi sa tetkicama što uništavaju kompjutere van radnog vremena...) Unix, GNU, Internet, Usenet... Ameri se time bave, a nas truju softverom Š klase.
windows.51 dr.grba,
>> ctrl+f1, a moj seagate na 286 zatrubeo >> i nastabio da trubi oxoxoxo, odmah sam >> odustao. (bar za sada) Priznaj da nisi odmah odustao. Morao si sačekati da završi (;
windows.52 idesign,
I ja imam istih problema ali ne kod startovanja nego kod otvaranja i zatvaranja datoteka. Ako kažeš Close javlja grešku u OLE2.DLL a ako si uporan sa Ignore proći će i radiće kasnije bez ikakvih problema, bar ih ja nisam primetio. Inače sve to se dešava kada se otvara ili zatvara samo prva datoteka (slika), za sledeće se ponaša normalno. Inače problem je i sa Corelom ali on pride ima problema i sa nekim filterima za Import (ne sećeam se kojim) i ono što me je stvarno iznerviralo je kad mi ispomera neke objekte na ekranu ali ne onako kao što je to radila dvojka nego su odstupanja od nekoliko milimetara i to radi mnogo češće. Tako da se sada uveliko kajem što sam počeo da radim jedan veliki posao na njemu jer sam više vremena potrošio u vraćanju objekata na svoju poziciju nego što sam uštedeo koristeći nov interfejs i moćnije naredbe. Verujem da će se to ispraviti u nekim 4.00001 B verzijama a do tada... pozdrav ...Zlatan
windows.53 leka,
Imam problem kod Corel-a 4.0! :( Kada recimo nesto nacrtam i pokusam da smanjim on sve lepo uradi, ali nece da isto tako proporcionalno smanji i debljinu linije. Ako neko moze da mi pomogne bilo bi odlicno.Stvarno je HITNO! Pozdrav od Sase
windows.54 magician,
­=> Imam problem kod Corel-a 4.0! :( Kada recimo nesto nacrtam i pokusam ­=> da smanjim on sve lepo uradi, ali nece da isto tako proporcionalno ­=> smanji i debljinu linije. Izaberi 'pero' (pretposlednja ikonica u toolbox-u) pa jos jednom 'pero' i dobićeš jedan dialog-box u kome možeš da definišeš različite karakteristike linije. Ono što tebe interesuje (trenutno :) je 'Scale with image'.
windows.55 oldtimer,
> Imam problem kod Corel-a 4.0! :( Kada recimo nesto nacrtam i pokusam > da smanjim on sve lepo uradi, ali nece da isto tako proporcionalno > smanji i debljinu linije. Odeš na alat za debljinu i boju linija (perce), otvore se njegovi dugmići, klikneš opet na perce, otvori se prozor öOutline Penö i u donjem desnom uglu uključiš opciju öscale with imageö. Mora da giba. B) Miša
windows.56 adiklic,
Svojevremeno je Jtitov pisao o Windowsima EE za istočnoevropsko tržište, koji imaju ugradjene sve naše fontove, samo na nekim mestima nedostupnim na prvi pogled korišćenju. Objašnjava da se ti fontovi mogu editovanjem datoteke gdi.exe dovesti u opseg iz koga se mogu videti (ispod 255 acii kodnog broja) i koristiti u radu. Pošto su ti fontovi nemodifikovani, kvalitet im je bolji u svim rezolucijama, a posebno u većim. Pitanje glasi: Da li je moguće spuštanje naših slova tako napraviti da se spuste na kodne brojeve koji odgovaraju YUASCII standardu, što bi meni odgovaralo, jer su mi do sada svi tekstovi pisani u tom standardu ?
windows.57 ssokorac,
─┼┤ öOutline Penö i u Ja ovde vidim dva slova o sa dve tačke iznad. Kod .bale.tovih 'naglašavanja' vidim dva slova ž, dok kod madamova navodnici izgledaju kao PI :). Dakle, molim vas da koristite nešto standardnije :).
windows.60 todorp,
Pa ljudi zar ne vidite da je ovo pc.prog a ne pc.os??? U poslednje vreme sve je vise korisnickih pitanja u ovoj temi :(((((
windows.61 dsoskic,
> ─┼┤ đOutline Penđ i u > Ja ovde vidim dva slova o sa dve tačke iznad. Kod .bale.tovih A ja vidim umestonavodnika dva mala slova dj (đ) > PI :). Dakle, molim vas da koristite nešto standardnije :). Lepo bi bilo da se koriste normalni navodnici?
windows.62 dsoskic,
> Da li je moguće spuštanje naših slova tako napraviti da se spuste na kodne > brojeve koji odgovaraju YUASCII standardu, što bi meni odgovaralo, jer su Normalna stvar, moguće je i sigurno da je to već neko uradio. Sorry ja ti ne mogu pomoći jer sam ih spustio na nemačke umlaute, koji mi skoro neće biti potrebni, a i lepo mi radi konverzija malih u velika slova. Verovatno bi mi lepo radila konverzija i da sam ih spustio na WIN EE kodove, al mi se žurilo pa nisam a sad me mrzi da ih pomeram.
windows.63 .bale.,
> Lepo bi bilo da se koriste normalni navodnici? Bljak! ;-)))
windows.64 dr.grba,
>> PI :). Dakle, molim vas da koristite nešto standardnije :). Ja predlažem da pokušaju da koriste ASCII karakter 34 (dec). Taj liči na dva zareza blizu jedan drugom, malo gore, video sam neke da ga koriste.
windows.65 ndragan,
/ ─┼┤ öOutline Penö i u / Ja ovde vidim dva slova o sa dve tačke iznad. Kod .bale.tovih Ja ovde vidim najstandardnije veliko R ćirilicom.
windows.66 ilazarevic,
> Lepo bi bilo da se koriste normalni navodnici? Naravno :) Ja pobrljaveh pored Baletovih žž-ova... PS. Codename - yuscii ;)
windows.67 .bale.,
> Naravno :) Ja pobrljaveh pored Baletovih žž-ova... Tako piše ceo svet, šta ti ja mogu ;-)))
windows.68 ssokorac,
─┼┤ Ja ovde vidim najstandardnije veliko R ćirilicom. Moram se složiti da je to najčešće korišćen znak za naglašavanje ;).
windows.69 dsoskic,
> Tako piše ceo svet, šta ti ja mogu ;-))) ``ni ovo ni '' meni ne smeta, ali ono đđ je haos ;))
windows.70 v.nesic,
> Tako piše ceo svet, šta ti ja mogu ;-))) Da promeniš YU kod ?
windows.71 .bale.,
> Da promeniš YU kod ? Ne razumem, koristim Custom2.
windows.72 paki,
Kako da u TPW ispišem najobičniji tekst na ekran? Probao sam s funkcijom TextOut, ali mi je veoma odbojna (da ne kažem odvratna), jer moram da se petljam s raznim glupostima, kao što su pointeri i formatiranje teksta :( Treba mi samo neka naredba koja ima efekat kao u DOSu: GotoXY(x,y); write(s); Da li je moguće da ovako nešto ne postoji u Win? Da bih ispisao string, moram da pravim bafer za njega, zatim da ga upisujem u bafer i računam mu dužinu, što mi se čini apsolutno nepotrebno i komplikovano :(
windows.73 paki,
Mali problem: U TPW, u funkciji WndProc, dakle onoj koja prima sve poruke od Windowsa, deklarišem promenljive (npr.) x i y, i u obradi poruke WM_CREATE dodelim x i y neke vrednosti. Kako da ih sačuvam za 'buduća pokoljenja' :), tj. za buduće pozive funkcije WndProc, jer želim da ih koristim u okviru obrade poruke WM_PAINT? Mislim da se ovo u C-u označava sa 'static'.
windows.74 milos,
jeste, u C-u je to static, a u TPW (joj majko) ne znam... ;)))
windows.75 niklaus,
(:> Da li je moguće da ovako nešto ne postoji u Win? Da bih (:> ispisao string, moram da pravim bafer za njega, zatim da ga (:> upisujem u bafer i računam mu dužinu, što mi se čini (:> apsolutno nepotrebno i komplikovano :( Napravi inteligentnu proceduru tipa: Ispiši_taj_i_taj_tekst_tim_i_tim_fontom_poznate_dužine _sa_alignment-om_na_levo_ili_desno.... (:niklaus:) PS Napravi je dobro, i bićeš sebi zahvalan svaki put, kad je budeš upotrebio.
windows.77 milos,
Pogledaj, Petzolda, ionako mi reče da si ga kupio, pa zar pored tolike knjižurine, ne možeš da rešiš ovako trivijalnu stvar. Rešenje ti je u funkciji DrawText koja, kako kaže Microsoft Windows Software Development Kit Programming Guide na strani 3-11 gde piše: strcpy(szText, "This text is being displayed with a single call to DrawText(). DrawText() isn't as fast as TextOut(), and iti is somewhere more constrained, but it provides numerous optional formatting features, such as the centering and line breaking used in this example."); DrawText(hDC /*display context (dobijaš ga sa GetDC)*/, szText, strlen(szText), &rcTextBox /*(pogledaj API SetRect)*/, DT_CENTER đ DT_EXTERNALLEADING đ DT_NOCLIP đ DT_NOPREFIX đ DT_WORDBREAK);
windows.78 .obj,
> Probao sam s funkcijom TextOut, ali mi je veoma odbojna (da ne > kažem odvratna), jer moram da se petljam s raznim glupostima, kao > što su pointeri i formatiranje teksta :( Ili napravi neku *svoju* funkciju za ispis koja bi bila kao neki kompromis jednostavnosti i mogućnosti, ili probaj funkciju DrawText pošto je relativno jednostavna a ima gomilu mogućnosti (word wrap, centriranje itd). Primer: LPSTR lpstr = "Bla Bla"; DrawText(hdc, lpstr, lstrlen(lpstr), (LPRECT)&rect, // pravougaonik gde treba da ide tekst DT_CENTER + DT_NOPREFIX); // flegovi :) > Mislim da se ovo u C-u označava sa 'static'. Jes', npr. static int x :) Ou bi džej
windows.79 .obj,
>> U TPW... >> Mislim da se ovo u C-u označava sa 'static'. > > Jes', npr. static int x :) E što sam pametan :)) ... u paskalu (a TPW je kao paskal;) možeš jedino na napraviš globalnu promenljivu u glavnom bloku, pošto nešto kao static ne postoji. Ou bi džej
windows.80 paki,
­> Napravi inteligentnu proceduru tipa: Nema problema, urađeno :)
windows.81 paki,
­> Pogledaj, Petzolda, ionako mi reče da si ga kupio, pa zar pored tolike ­> knjižurine, ne možeš da rešiš ovako trivijalnu stvar. Rešenje ti je u ­> funkciji DrawText koja, kako kaže Microsoft Windows Software Development Pazi, funkcijom DrawText nemam skoro nikakvu kontrolu gde će se tekst ispisati, dakle, ne znam na kojoj X i Y poziciji, a to je upravo ono čega se ne bih odricao :) Rešenje je ipak da napravim svoju "kastom" :) funkciju.
windows.82 paki,
­> E što sam pametan :)) ... u paskalu (a TPW je kao paskal;) možeš jedino ­> na napraviš globalnu promenljivu u glavnom bloku, pošto nešto kao ­> static ne postoji. Šteta, ali nema veze, važno je da radi :)
windows.83 milos,
Pa, ja ti lepo kažem da pogledaš objašnjenje API-ja SetRect, čiji jedan parametar prenosiš DrawText-u. Upravo SetRect će postaviti recrangle onde gde želiš da se ispiše text. Zato Help u RUKE!
windows.84 stosic,
Na koji nacin se izlaskom iz nekog programa, npr Write, moze izaci i iz Windows-a, a da se preskoci dijalog "Exit Windows"? Boban
windows.85 niklaus,
Pošto nikako ne mogu da se estim gde to videh, pitam Vas, moje uzdanice. (: "Kako se zvaše parametar iz WIN.INI za podešava proreda između ikonica?" Ako znate, navedite i ostale parametre za "šminkanje"... (: Uostalom, Windows upravo za to i služi, zar ne? (:niklaus:)
windows.86 sbrk,
>> "Kako se zvaše parametar iz WIN.INI za podešava proreda između >> ikonica?" >> Ako znate, navedite i ostale parametre za "šminkanje"... (: ŠDesktopĆ Pattern=(None) Wallpaper=(None) GridGranularity=0 IconSpacing=72 TileWallPaper=0 IconTitleFaceName=Avalon IconTitleSize=10
windows.87 ppekovic,
>> "Kako se zvaše parametar iz WIN.INI za podešava proreda između >> ikonica?" Što diraš win.ini kad možeš da odeš u Control Panel, pa Desktop i tamo podešavaš šta ti treba. Paya
windows.88 tales,
Jedan moj drugar se interesuje za TTF (YU) fontove. Ima li na SEZAMU nesto tog tipa (po direktorijumima nisam video)? POZDRAV
windows.89 cnenad,
ŁŁŁ Sto diras win.ini kad mozes da odes u Control Panel, ŁŁŁ pa "DOS JE MOJA PRVA LJUBAV, IAKO RADIM U WINDOWSIMA" ! :) Sta zna dete sta je WIN !?
windows.90 niklaus,
(:>>> "Kako se zvaše parametar iz WIN.INI za podešava proreda (:>>> između ikonica?" (:> (:> Što diraš win.ini kad možeš da odeš u Control Panel, (:> pa Desktop i tamo podešavaš šta ti treba. Sad se i ja pitam, što sam pitao. (; Znam da je negde bilo, al' zaboravih dal' u samim Windows-ima, ili negde među advanced opcijama (WIN & SYSTEM.INI). (:niklaus:)
windows.91 furlani,
Jel moze neko da mi objasni kako da uradim u Windows-u da kad se shellujem u dos da mi ostane 4dos? Pzodrav Ceda P.S.Znam da je vec objasnjavano ali ako moze neko malo da pojednostavi please ;)
windows.92 nboskovic,
*> Jel moze neko da mi objasni kako da uradim u Windows-u da *> kad se shellujem u dos da mi ostane 4dos? Staneš na ikonu i stisneš CTRL+ENTER> U tom prozoru koji se otvori se spominje command.com. E njega prepravi u 4dos.com i tvoj problem je rešen. (c) klap nikola
windows.93 ppekovic,
>> Jel moze neko da mi objasni kako da uradim u Windows-u da kad se >> shellujem u dos da mi ostane 4dos? Startuješ PIF editor i edituješ dosprompt.pif. Umesto command.com staviš 4dos.com i odgovarajući path. Paya
windows.94 ppekovic,
Skinuo sam Microsoft drajvere za Windows koje je zkehler poslao pre neki dan. Samo da naglasim ako je neko slučajno propustio to da pročita, da ovi drajveri neće raditi u 800x600x256 i 1024x768x256 ako na kartici nema 1M. Ja sam instaliran na mojoj Trident 8900 (512K) 800x600x16 drajver i sve radi bez problema, čak šta više primetno je ubrzanje u odnosu na Winspeed drajvere. Paya
windows.95 bulaja,
│Samo da naglasim ako je neko slucajno propustio to da procita, da │ovi drajveri nece raditi u 800x600x256 i 1024x768x256 ako na │kartici nema 1M. └─── Video sam da su to napisali, ali im ne verujem :) - za rezoluciju 800*600 u 256 boja potrebno je 468.75 Kb memorije, sto znaci da bi trebalo da stane u 512 K. Provericemo :).
windows.96 milan,
> Ja sam instaliran na mojoj Trident 8900 (512K) 800x600x16 > drajver i sve radi bez problema, čak šta više primetno je ubrzanje > u odnosu na Winspeed drajvere. Ali je primetno i "uružnjavanje" boja. Očigledno (bar za ET4000 koji ja imam) kada se stave ovi ubrzavajući drajveri (ovi ili ET400 turbo) boje postanu nekako drečave. U čemu je fazon? Pl poz M
windows.97 paki,
­> Video sam da su to napisali, ali im ne verujem :) - za rezoluciju ­> 800*600 u 256 boja potrebno je 468.75 Kb memorije, sto znaci da bi ­> trebalo da stane u 512 K. Provericemo :). Jes', i meni je čudno, jer ne vidim nikakav razlog zašto ne bi radilo sa 512k kada sadašnji drajveri sasvim fino rade.
windows.98 dcolak,
│ Jes', i meni je čudno, jer ne vidim nikakav razlog zašto ne bi │ radilo sa 512k kada sadašnji drajveri sasvim fino rade. Pretpostavka: Onih drugih 512K koristi kao Video Cache, zato je i grafika brža sa tim drajverima ;) Sledge DAMMIR!
windows.99 paki,
Evo jednog pitanja: Kako da u okviru obrade WM_SIZE poruke, u zavisnosti od veličine glavnog prozora, promenim i veličinu child prozora. Probao sam sa sledećim: ----- var hwndInTerm: HWnd; function WndProc(Window: HWnd; Message, ...):longint; export; var ClRect : TRect; begin ... WndProc := 0; case Message of WM_SIZE: begin GetClientRect(Window, ClRect); MoveWindow(hWndInTerm, ClRect.left, ClRect.top, ClRect.right-ClRect.left, ClRect.bottom div 2, TRUE); end; end; ... end; procedure WinMain; var ClRect : TRect; begin ... GetClientRect (Window, ClRect); hwndInTerm:=CreateWindow(AppName,'Input', WS_CHILD or WS_VISIBLE or WS_BORDER or WS_THICKFRAME or WS_CAPTION, ClRect.left, ClRect.top, ClRect.right, ClRect.bottom div 4, Window, ID_INTERM, hInstance, nil); ... end; ----- (naravno, ovo su samo najvažniji detalji iz programa), ali... Program se tako temeljno zaglavi da pomaže samo CtrlAltDel i njegovo zatvaranje (Win kaže da je prestao da se odaziva). U čemu je štos?
windows.100 paki,
Kako da u Resource WorkShopu u projekat ubacim fajl sa svojim identifikatorima? Probao sam sa 'Add to project', ali mi se ne pruža opcija '.PAS', '.H', ili bilo šta slično. Da nije možda 'user'? Ako jeste, u kom formatu treba da bude moj fajl da bi sarađivao sa WorkShopom?
windows.101 .obj,
> Kako da u okviru obrade WM_SIZE poruke, u zavisnosti od veličine > glavnog prozora, promenim i veličinu child prozora. Probao sam sa > sledećim: Koliko me oči služe :), nisam primetio ni jednu grešku u onom delu programa koji si poslao. Zato, mislim da je greška negde drugde, pre svega zato što se program zaglupi. Iz iskustva znam da u tom slučaju najviše problema prave čuvene funkcije GetDC/ReleaseDC i SelectObject (eventualno BeginPaint/EndPaint). Kod ovog prvog, ne sme se zaboraviti ReleaseDC jer Windows ima ograničen broj DC-ova na raspolaganju i kada se taj keš napuni uzastopnim pozivima GetDC-a, program blokira. Zato, proveri npr. ovakve situacije: hdc = GetDC(hWnd); NacrtajTortu(hWnd, hdc); // bla, bla, bla... Znači, ovde je zaboravljeno jedno ReleaseDC na kraju. BTW, GetDC je relativno spora funkcija i nikad je ne treba stavljati u telo neke petlje. SelectObject je još gori po pitanju "podmuklosti". On ne blokira odma', već malo po malo krade Windowsu resurse sve dok odjednom nijedan program neće da radi ili se Windows ponaša čudno. Ovaj problem se najlakše prepozna na sledeći način: startuje se Program Manager i iz About dijaloga se vidi koliko ima slobodnih resursa, npr 90%. Zatim startujem program i nešto drndam u njemu izvesno vreme i na kraju ga zatvorim. Ako posle toga resursi budu ispod 90%, najverovatnije da je u programu neki bag sa SelectObject. U ovom slučaju, možda je i od veće koristi probati program Hot Line (ima ga i na Sezamu). On, naime, hvata bagove u programima. Iznenadio sam se kada sam primetio da neki prilično poznati i veliki programi vrve od bagova pri pozivima Windows API funkcija. Npr. Ami Pro. Da još pomenem zašto se uopšte javljaju bagovi u vezi sa SelectObject funkcijom. Za svaki DC je moguće postaviti kao aktivne neke objekte, npr. font, brush. U jednom trenutku može biti aktivan samo jedan npr. font, i njime se vrše, u ovom slučaju, ispisivanja teksta. Sad', vrlo bitna stvar je da se uvek mora vratiti stanje pre upotrebe SelectObject-a. To izgleda otprilike ovako: hOldObject = SelectObject(hVelikiFont); // vraća ranije ExtTextOut... itd. // aktivni objekat SelectObject(hOldObject); Problemi nastaju ako se "zaboravi" ova poslednja linija. Toliko.
windows.102 paki,
­> Koliko me oči služe :), nisam primetio ni jednu grešku u onom delu ­> programa koji si poslao. Zato, mislim da je greška negde drugde, Greška je u ovom delu programa: ----- WM_SIZE: begin ==> hWndInTerm:=GetWindow(Window, GW_CHILD); GetWindowRect(Window, ClRect); MoveWindow(hWndInTerm, ClRect.left, ClRect.top, ClRect.right-ClRect.left, ClRect.bottom div 4, TRUE); Exit; end; ----- Kada sam dodao red označen strelicom, sve je proradilo (nije ni sada baš kako treba, ali se barem ne zablokira). Promenljiva hWndInRect je deklarisana kao globalna, pa me to jedino navodi na pomisao da se handle menja u toku izvršavanja. Da li se pre svakog obraćanja child prozoru mora dobiti njegov handle sa GetWindow ili nečim sličnim? I kako se pravilno dobija handle određenog prozora? Ovako sam samo dobio handle prvog child prozora, koji se menja u toku programa (jer imam 2 child prozora, pa čas dobijam handle jednog, a čas drugog), što mi ne odgovara. ­> ovom slučaju, možda je i od veće koristi probati program Hot Line ­> (ima ga i na Sezamu). On, naime, hvata bagove u programima. Probao sam s njim, i tako sam i ustanovio da je bug u pogrešnom (invalidnom ;) hendlu. I sada mi javlja neke silne greške i upozorenja, ali bar program radi. Nažalost, i dalje ne OK. Od velike koristi bi mi bio neki kratak program koji ilustruje pravilnu upotrebu child prozora i MoveWindowa na njima (npr. kada glavni prozor promeni veličinu, i child se prilagodi), jer ovi #%(*$!# primeri koji se dobijaju uz TPW i BP su pisani s objektima, koje ja ič ne volim, a u Petzoldu ;) se ovakva stvar ne nalazi (MoveWindow se pominje samo na jednom mestu). Inače, da vam preporučim BP, jer se TPW 'ladno zablokirao kada sam pokrenuo onu moju kupusariju, dok je BP prekinuo program i pomenuo mi 'grešku 202'.
windows.103 .obj,
> Kada sam dodao red označen strelicom, sve je proradilo (nije > ni sada baš kako treba, ali se barem ne zablokira). Ne vidim razlog da se mučiš sa tim GetWindow. CreateWindow pri kreiranju child prozora vrati lepo njegov (childov) handle i njega lepo upišeš u neku globalnu promenljivu i gotovo. > Promenljiva > hWndInRect je deklarisana kao globalna, pa me to jedino navodi na > pomisao da se handle menja u toku izvršavanja. Sigurno se ne menja, zbog toga su i izmišljeni handle-ovi. Dakle, kad jednom npr. otvoriš prozor, on će *uvek* imati isti handle. To važi i za sve ostalo, dakle font-, brush-, pen-, DC-, ... -handleove. > pomisao da se handle menja u toku izvršavanja. Da li se pre > svakog obraćanja child prozoru mora dobiti njegov handle sa > GetWindow ili nečim sličnim? Taman posla! :) To bi bila prava robija. Sistem je prost: pri kreiranju prozora (CreateWindow, CreateWindowEx) dobiješ njegov handle, zapišeš ga u neku glob. promenljivu i kasnije ga UVEK možeš koristiti. Jedino ako ne zatvoriš prozor, naravno. :) > Probao sam s njim, i tako sam i ustanovio da je bug u > pogrešnom (invalidnom ;) hendlu. I sada mi javlja neke silne > greške i upozorenja, ali bar program radi. Nažalost, i dalje ne > OK. Potrudi se da provališ u čemu si pogrešio, jer će ti program inače biti jako nestabilan, u onom najgorem smislu - nikad ne znaš kad će da pukne. > Od velike koristi bi mi bio neki kratak program koji > ilustruje pravilnu upotrebu child prozora i MoveWindowa na njima > (npr. kada glavni prozor promeni veličinu, i child se prilagodi), Evo uz ovu poruku je jedan mali C modul, mislim da će ti biti jasno. Kad smo kod tih zavrzlama o handle-ovima, da pomenem jedan problem koji često pravi velike glavobolje početnicima. Program: HWND hProzor; WinMain(...) ( hProzor = CreateWindow(...); ) MainWndProc(HWND hWnd, ...) ( switch(message) ( case WM_CREATE: NeštoUradiSaProzorom(hProzor); ) !!!!!-----------treba ..Prozorom(hWnd); ) Stvar je što se poruka WM_CREATE pošalje pre nego što se izvrši dodeljivanje kod CreateWindow (!) pa zato na mestu gde su uskličnici promenljiva hProzor uopšte nije inicijalizovana!! Zato uvek treba paziti kojim redom se šta inicijalizuje i šta u nekom trenutku sme ili ne sme da se koristi. :) Ali, sve je to vrlo logično. chat.c
windows.104 paki,
­> Sigurno se ne menja, zbog toga su i izmišljeni handle-ovi. Dakle, kad ­> jednom npr. otvoriš prozor, on će *uvek* imati isti handle. To važi i ­> za sve ostalo, dakle font-, brush-, pen-, DC-, ... -handleove. OK, i mislio sam da je tako, ali me ovo malo pokolebalo. ­> Potrudi se da provališ u čemu si pogrešio, jer će ti program inače biti ­> jako nestabilan, u onom najgorem smislu - nikad ne znaš kad će da ­> pukne. Narafski, sigurno je greška trivijalna :) ­> Evo uz ovu poruku je jedan mali C modul, mislim da će ti biti jasno. Hvala, probaću.
windows.105 dragann,
Potreban mi je exe programa opisanog u R76 Tehnike programiranja Popunjavanje formulara. HvaÚ]la Dragoljub
windows.106 furlani,
Imam pitanje jedno zasto nemogu u win 3.1 da instaliram drajver za sb 1.5 nego moram sb 1.0 probao sam i kod ortaka koji ima sb 2.0 i nece. Zasto?
windows.107 furlani,
Imam jos jedno pitanje zaboravih da napisem.Koristim kao shell PC Tools 7.0 i malo sam se igrao i stavio sifru to je sve ok kad sam ponovo startovao pitao me za sifru ja otkucao i sve ok.Pa sam hteo da izbrisem i izbrisao je i ponovo startova windows i pitao me za sifru naravno sifra je ostala ista kao i ranije.Sve sam lepo uradio izbrisao je i normalno izasao ajde ako neko zna pa da mi kaze sta da radim Pozdrav Ceda
windows.108 wizard,
> Imam pitanje jedno zasto nemogu u win 3.1 da instaliram > drajver za sb 1.5 nego moram sb 1.0 probao sam i kod > ortaka koji ima sb 2.0 i nece. > Zasto? Probaj up-date drajvere. Najsvežiji koje znam/imam su iz marta '93.
windows.109 paki,
­> Imam jos jedno pitanje zaboravih da napisem.Koristim Ej, 'ajde pređite u PC.USER, 'leba vam.
windows.110 .obj,
Treba mi funkcija kojoj ću zadati LPSTR tekst, HDC hdc, int širina i koja će mi na osnovu tekućeg fonta izračunati koliko se karaktera u stringu <tekst> uklapa u navedenu <širinu> u tačkama (na tom DC-u). Ne mogu nigde na nađem funkciju koja bi mi odgovarala. Negde sam bio pročitao da ta f-ja postoji u Windows 3.1 i da se zove GetTextExtentEx, ali takve nema.
windows.111 peca.st,
!-> Ej, 'ajde pređite u PC.USER, 'leba vam. Šta je paki, ne daš da ti uzurpiraju temu, a? ;)) Peđa.
windows.112 furlani,
> Ej, 'ajde predite u PC.USER, 'leba vam. Dobro ako ti tako kazes ali samo mi obrazlozi zasto? Pozdrav Ceda
windows.113 ognjan,
Nija valjda da jos nije rjeseno pitanje YU slova pod WIN3.1 ??? U windows\util diru nema nista na tu temu :( Ogy.
windows.115 paki,
­> Šta je paki, ne daš da ti uzurpiraju temu, a? ;)) Ma ne, nego kad se budem raspisao njihove poruke se neće ni primetiti ;)
windows.116 paki,
­>> Ej, 'ajde predite u PC.USER, 'leba vam. ­> ­> Dobro ako ti tako kazes ali samo mi obrazlozi zasto? Zato što je ovo konferencija posvećena programiranju ('PROG', ring any bells? :), a PC.USER se bavi korisničkom stranom kompjutera (i to PC :). Možete i u PC.UTIL, ne pravim pitanje, ali se udomite negde :) Uostalom, u reklami za PC.PROG stoji da je ovo konferencija sa najmanje šuma :)
windows.117 paki,
­> ­> Potrudi se da provališ u čemu si pogrešio, jer će ti program inače biti ­> ­> jako nestabilan, u onom najgorem smislu - nikad ne znaš kad će da ­> ­> pukne. ­> ­> Narafski, sigurno je greška trivijalna :) Provalio sam, i bila je trivijalna (korišćenje hendlova koji još nisu postavljeni na prave vrednosti). Onaj HotLine mi je spasao život - topla preporuka.
windows.118 spantic,
Povodom video kartica i drajvera. Da li je neko uspeo da instalira nove SVGA drajvere za TRIDENT 8900, pogotovo u rezoluciji 800*600, 256 boja a da mu se pri startovanju maksimalizovane DOS aplikacije ekran ne zbrčka? I kako? I odmah, ima li neko drajvere za TRIDENT 8900 za tu rezoluciju koji rade?
windows.119 milan,
> Da li je neko uspeo da instalira nove SVGA drajvere za TRIDENT 8900, > pogotovo u rezoluciji 800*600, 256 boja a da mu se pri startovanju > maksimalizovane DOS aplikacije ekran ne zbrčka? I kako? Nemoj da staviš ANSI drajver za DOS u CONFIG.SYS i radiće normalno. To je bar moje (istina na samo jednom računaru :))) iskustvo "popravke" ovog problema. Pl poz M
windows.120 danilo,
- Koje sve fontove WIN koristi za sistemske potrebe? oemfonts.fon= ? fixedfon.fon= ? fonts.fon= ? icontitlefacename= ? woafont= ? EGA80.FON= ? EGA40.FON= ? CGA80.FON= ? CGA40.FON= ? - Koji font Win koristi za ispisivanje naslova ikona, ali ne kada su programi minimizirani na ikonu (tu koristi font definisan u icontitlefacename=), već ispod ikone programa u prozoru grupe u kojoj je instaliran. - Takodje, šta znači kada se u bootlog.txt ispiše sledeće? LoadStart = GDI.EXE LoadStart = FONTS.FON LoadSuccess = FONTS.FON LoadStart = yvgafix.fon LoadSuccess = yvgafix.fon LoadStart = OEMFONTS.FON LoadSuccess = OEMFONTS.FON LoadSuccess = GDI.EXE LoadStart = USER.EXE Šta radi taj GDI.EXE (jedino kod njegovog učitavanja ima još nekih radnji izmedju poruke da je učitavanje pokrenuto i uspešno završeno)? Koji su to fontovi FONTS.FON i OEMFONTS.FON? Ako ima neko voljan da podrobnije objasni, mislim da bi bilo interesantno za širi krug.
windows.121 kenza,
(;>> Ej, 'ajde predite u PC.USER, 'leba vam. (;> Dobro ako ti tako kazes ali samo mi obrazlozi zasto? Protivurecis Pakiju The Windows Programeru ? ;)
windows.122 jtitov,
> Nija valjda da jos nije rjeseno pitanje YU slova pod WIN3.1 ??? Reseno je odavno :). Potrazi neku od mojih poruka o ovoj conf/temi. Radi se o bezopasnom patch-u gdi.exe-a.
windows.123 peca.st,
!-> Ako ima neko voljan da podrobnije !-> objasni, mislim da bi bilo interesantno !-> za širi krug. A bilo bi još interesantnije za neku drugu temu. Pliiiiiiz, oće li se ove (uključujući i ovu moju) poruke brisati već jednom? Peđa.
windows.124 pbojan,
Da nema neko na pozajmicu Petzoldovu knizicu? Na samo par dana, please?
windows.125 paki,
Kako bih pomoću SendMessage mogao da saznam liniju u kojoj se trenutno nalazi kursor (tj. caret) u child prozoru klase Edit? Pregledao sam sve EM_xxx poruke, ali nema one koja mi treba.
windows.126 danilo,
> A bilo bi još interesantnije za neku drugu temu. Ako već nisi voljan da pomogneš i odgovoriš na postavljeno pitanje budi barem tolerantan. Koliko shvatam problematiku kojom se bavi konferencija PC.PROG ovo pitanje je upravo iz te oblasti. I još nešto. Od šuma koji su tvoje poruke u abnormalnim količinama unosile u sistem Sezam se dugo nije mogao normalno pratiti. O tome rečito govori i broj opomena i Ignore-a koje si dobio u prethodnom periodu. Zato molim te pusti da ozbiljan čovek postavi ozbiljno pitanje i ne pleti se u ono u šta se ne razumeš. Zamolio bih još jednom da neko ko zna napiše koje sve fontove WIN3.1. koristi za sistemske potrebe. Pozdrav, Danilo
windows.127 peca.st,
!-> Ako već nisi voljan da pomogneš i !-> odgovoriš na postavljeno pitanje budi !-> barem tolerantan. Koliko shvatam !-> problematiku kojom se bavi konferencija !-> PC.PROG ovo pitanje je upravo iz te !-> oblasti. Na ovo odgovaram ovde, ostatak u mail. Instaliranje fontova i manipulacija njima baš i nemaju preterane veze sa programiranjem, a postoje konferencije gde bi to pitanje mnogo bolje pristajalo. Onako sam reagovao zato što je izgleda postala praksa da se u ovu temu piše o samim windowsima a ne o programiranju pod njima. Peđa.
windows.130 paki,
­> Kako bih pomoću SendMessage mogao da saznam liniju u kojoj se ­> trenutno nalazi kursor (tj. caret) u child prozoru klase Edit? ­> Pregledao sam sve EM_xxx poruke, ali nema one koja mi treba. Našao sam jednu: len:=SendMessage(hwndEdit, EM_GETLINE, wLine, lpszBuffer); i kaže se 'A wLine value of -1 returns the offset of the line containing the cursor', ali wLine je word. Kako je moguće da word bude -1? Probao sam sa castingom (da li se to tako kaže), i stavio wLine:=word(-1) (što je jednako sa wLine:=65535), ali se dobije samo prazan string (ako je npr. wLine=0, sasvim se normalno dobije prva linija texta). Da li postoji neka konstanta ili nešto slično što treba staviti umesto wParam?
windows.134 .obj,
Vidi poruku EM_GETLINEFROMCHAR, wParam -1.
windows.135 furlani,
> ***** Ponistio moderator ***** Ako sme da se zna zasto je moderator ponistio ovoliki broj poruka? Pozdrav Ceda
windows.136 djelovic,
> Ako sme da se zna zasto je moderator ponistio ovoliki > broj poruka? Zato što nemaju nikakve veze sa programiranjem, već spadaju u PC.OS. Nekoliko poruka van teme nikada ne smeta, ali ovo je već postala epidemija :-).
windows.138 paki,
­> Vidi poruku EM_GETLINEFROMCHAR, wParam -1. OK, sad šljaka. A kako da, prilikom obrade EN_CHANGE poruke, saznam da li je korisnik pritisnuo određeni taster (konkretno, ENTER) i tada uradim nešto s tom linijom? P.S. Izvinite na ovolikom broju pitanja. Ova EDIT klasa mi zadaje više problema nego što sam očekivao.
windows.139 mnikolic,
Jel' zna neko zašto se kod Turbo Debuggera za Windows, verzija koja ide uz Borland C++ v2.0 javlja greška "Can't load WINDEBUG.DLL"? Jel' može da bude nekompatibilnost sa Win 3.1 CEE ili je nešto drugo?
windows.140 .obj,
> OK, sad šljaka. A kako da, prilikom obrade EN_CHANGE poruke, > saznam da li je korisnik pritisnuo određeni taster (konkretno, > ENTER) i tada uradim nešto s tom linijom? Paki legendo, samo pošalju poruku EM_GETLINECOUNT, i ako je vraćena vrednost veća od one koju si očitao "prošli put", e to znači da je tvoj genijalac ukucao nešto u edit i pritis'o Enter. > P.S. Izvinite na ovolikom broju pitanja. Ova EDIT klasa mi zadaje > više problema nego što sam očekivao. Ma nije ni čudo. žike u Majkrosoftu su zaboravili da dodaju barem još desetak neophodnih EM_xxx i EN_xxx poruka, verovatno su u to vreme žurili na odbojku, ...
windows.141 .obj,
> Jel' zna neko zašto se kod Turbo Debuggera za Windows, verzija > koja ide uz Borland C++ v2.0 javlja greška "Can't load > WINDEBUG.DLL"? Jel' može da bude nekompatibilnost sa Win 3.1 CEE > ili je nešto drugo? Ili nabavi TDW iz BC++W 3.1 ;) ili uzmi jedan patch koji je Skerl jednom ostavio u PC.OS.X:windows. Nekompatibilnost se ogleda ;) u tome što je TDW tako životinjski napisan da hoće da radi samo na verziji Windowsa na kojoj su ga Borlandovci isprobavali. ;)
windows.142 spantic,
Upravo sam video da mi je poruka 4.133 obrisana. Pošto se stvarno ne sećam šta je bilo u njoj, hajde neka mi moderator objasni zašto? Ako je arhiva bila uz nju onda dolazi sa ftp-a za Windows i nije komercijalan proizvod.
windows.143 djelovic,
> Upravo sam video da mi je poruka 4.133 obrisana. Pošto se stvarno ne sećam > šta je bilo u njoj, hajde neka mi moderator objasni zašto? Zato što u njoj svečano izjavljuješ da koristiš 4DOS, umesto da pišeš o programiranju :).
windows.144 paki,
­> Paki legendo, samo pošalju poruku EM_GETLINECOUNT, i ako je vraćena Moram priznati da mi mozak u zadnje vreme slabo radi. Loša cirkulacija, šta li? :) Hvala. Posle malo čačkanja, šljaka kako treba. ­> Ma nije ni čudo. žike u Majkrosoftu su zaboravili da dodaju barem još ­> desetak neophodnih EM_xxx i EN_xxx poruka, verovatno su u to vreme ­> žurili na odbojku, ... E vala baš. :( Mada, kad bolje razmislim, ovako je možda bolje, ipak i programer mora nešto da radi; evo, ja sam se toliko razmazio da sam prestao i da razmišljam (zlobnici bi rekli da nisam ni počinjao ;). Nego, lepa vest za vas :) Izgleda da sam apsolvirao Edit klasu, pa vas time više neću gušiti (nadam se bar).
windows.147 skerl,
│ ide uz Borland C++ v2.0 javlja greska "Can't load WINDEBUG.DLL"? └──── tdwin31.zip uz poruku 4.76 iz PC.OS.2 konferencije bi trebalo da res tvoj problem. Pozdrav, Skerl.
windows.148 i.a.n.,
>>> koja ide uz Borland C++ v2.0 javlja greška "Can't load >>> WINDEBUG.DLL"? Jel' može da bude nekompatibilnost sa Win 3.1 CEE >> >> Ili nabavi TDW iz BC++W 3.1 ;) ili uzmi jedan patch koji je Skerl >> jednom ostavio u PC.OS.X:windows. Nekompatibilnost se ogleda ;) u Bolje ovo prvo (noviji TDW), jer a) manje se zaglavljuje, i b) ima (bar) jednu novost koja ume dobro da dođe, a to je lista selektora na globalnom heap-u, pomoću koje očas možeš da pregledaš sadržaj učitanog segmenta.
windows.149 spantic,
> Zato što u njoj svečano izjavljuješ da koristiš 4DOS, umesto da > pišeš o programiranju :). Hvala na objašnjenju :) Hajde da se iskupim uz ovu poruku idu FAQ o Windows-ima, sa aspekta korisnika, i sa aspekta programera. winfaq.zip
windows.150 mnikolic,
>> tdwin31.zip uz poruku 4.76 iz PC.OS.2 konferencije bi >> trebalo da res tvoj problem. Već mi je .obj ukazao na to. Danke obojici :)
windows.151 paki,
­> ­> Paki legendo, samo pošalju poruku EM_GETLINECOUNT, i ako je vraćena ­> ­> cirkulacija, šta li? :) Hvala. Posle malo čačkanja, šljaka kako ­> treba. I dalje mi se čini da je ovo malo "sirotinjsko" rešenje (npr. šta ako se koristi Cut/Paste?), pa sam zato malo čačkao po literaturi (tj. po Helpu, sva literatura mi je za 3.0) i našao stil (specifičan za Win 3.1) ES_WANTRETURN za koji se kaže da ne izvršava akciju definisanu s ENTER, već ubaci ENTER u bafer. Može li se ovo iskoristiti?
windows.152 .obj,
> I dalje mi se čini da je ovo malo "sirotinjsko" rešenje (npr. šta > ako se koristi Cut/Paste?), pa sam zato malo čačkao po literaturi Pa sad, rešenje bi se moglo nazvati i "sirotinjskim" (mada, kada malo bolje razmislim, reči "skrnavo" ili "nikakvo" bi bile ubedljivije), ali je samo u pitanju šta tebi treba. Šta treba da se desi ako korisnik pritisne Shift-Ins (Paste)? Ako treba da se obradi i to što je u Clipboardu, onda ćeš malo da se pomučiš. :) U principu, za toliko specifične "slučajeve" se pravi sopstvena klasa, nezavisna od Edit-a. Tu, jbg, imaš da se odereš. :) > ES_WANTRETURN... Može li se ovo iskoristiti? Uh, pažljivo pročitaj šta Holy Help kaže o tome. :)
windows.153 paki,
­> je samo u pitanju šta tebi treba. Šta treba da se desi ako korisnik ­> pritisne Shift-Ins (Paste)? Ako treba da se obradi i to što je u ­> Clipboardu, onda ćeš malo da se pomučiš. :) U principu, za toliko Treba mi da sve radi najnormalnije, ali da _samo_ kada se pritisne ENTER ja uradim nešto s tekućom linijom. Dakle, Shift-Ins me ne zanima (tj. ne bi me zanimao da ne ubacuje par redova u Edit prozor, pa se dužina texta promeni, a ja ne mogu da razlikujem taj slučaj od slučaja kad je pritisnut ENTER. Dakle, u tome je kvaka :). ­>> ES_WANTRETURN... Može li se ovo iskoristiti? ­> ­> Uh, pažljivo pročitaj šta Holy Help kaže o tome. :) Nemam nikakvu literaturu/help za Win 3.1 :( (ne pitajte kako). Podatak o postojanju ovog stila sam izvukao iz helpa za Resource Workshop. Zato me i zanima, može li ili ne?
windows.154 cobra,
<> Zato što nemaju nikakve veze sa programiranjem, već spadaju u <> PC.OS. Nekoliko poruka van teme nikada ne smeta, ali ovo je <> već postala epidemija :-). Zar ne bilo bolje da se te poruke prebace u drugu konferenciju? (PC.OS, ...)
windows.155 djelovic,
> Zar ne bilo bolje da se te poruke prebace u drugu konferenciju? > (PC.OS, ...) Naravno da bi! Nažalost, moderatori nemaju privilegija da prebacuju poruke između konferencija, to mogu samo SysAdmovi. Trenutno razmišljam da ovde otvorim temu chat (ili tako nekako) za sve ovakve priče koje nisu za brisanje, ali ne spadaju ni u neku stručnu temu. (Nemojte sada svi da opalite ovde sa glasanjem za ili protiv ovog predloga. Ako neko hoće da da svoj glas, neka to uradi meni na mail.)
windows.156 spantic,
Uz poruku je sors Windows Unzipa 2.0 baziranog na Info Unzipu 5.0 i plasiran kao freeware. Izvršna verzija je u PC.OS::WINDOWS. wunz20sr.zip
windows.157 spantic,
Uz poruku je HLP fajl za Windows koji zapravo predstavlja izdanje časopisa za Visual Basic, tema za Windows je sada popunjenija, za DOS je još prazan. Dopunjava se povremeno od priloga. dbtips11.zip
windows.158 furlani,
izvini sysadame ili moderatoru nemoj da ponistis ovo jer mi je vrlo vazno a u pc.os.2 nemogu da stavim poruku.Treba mi program pod imenom hc31.exe koji startuje programe sa extenzijom .dll Pozdrav Ceda
windows.159 spantic,
Uz poruku je tekst o programiranju u Visual Basicu, ASCII je. Ima korisnih uputstava. vb-tips.zip
windows.160 .obj,
U raznim knjigama i helpovima možete da pročitate da Windows ne podržava prozore veće od veličine desktopa (odn. celog ekrana). To nije tačno. :) Na primer, pozovite funkciju MessageBox() sa 10-ak kilobajta teksta i videćete (na primer, iz WinSight-a) da je prozor velik čitavih 500x8000 tačaka, što je definitivno veće od rezolucije većine ekrana. ;) Jedino je pomeranje vidljivog dela prozora malo teže. :) Kad smo već kod veličine prozora, da li ste znali da je moguće menjati i veličinu desktopa? Međutim, obzirom da je u pitanju nelegalna (a osim toga i nepotrebna) operacija, ponašanje zavisi od grafičkog drajvera. Stvar se postiže jednostavnim MoveWindow(GetDesktopWindow(), 0, 0, 10000, 10000, TRUE); ;)
windows.161 dejanr,
>> U raznim knjigama i helpovima možete da pročitate da Windows ne >> podržava prozore veće od veličine desktopa (odn. celog ekrana). To nije >> tačno. :) Ja sam to primetio i bez PC.PROG pristupa. Ako instaliraš 800*600 drajver pa nešto izotvaraš, ponovo učitaš običan VGA drajver, a ono prozori veći od ekrana. I ima da se naradiš dok sve vratiš "u okvire".
windows.162 ognjen,
)-> Jedino je pomeranje vidljivog dela prozora malo teže. :) Ide lako uz ovaj programčić! BigDesk fow Windows 3.0 (naravno, radi i na 3.1 :) .... ShareWare, of course :) Pozdrav, Ognjen
windows.163 ognjen,
)-> Ide lako uz ovaj programčić! BigDesk fow Windows 3.0 )-> (naravno, radi i na 3.1 :) .... Ow, tek sad videh da FT nije uspeo... Stiže još jedanput!... :) bigdesk.zip
windows.164 bulaja,
│BigDesk fow Windows 3.0 └─── Nisi morao da se trudis :), to na Sezamu stoji vec godinama :). R:\WINDOWS\WUTIL\*.* ---------------------- backdesk arj 97591 BigDesk/BackMenu - Win menu/desktop manager
windows.165 jerry,
A gde je programcic????? BTW, SDW mi i pored pku.pif pravi s*anja sa bazom!!! Uradio sam sve po uputstvu.
windows.166 spantic,
> R:\WINDOWS\WUTIL\*.* > ---------------------- > backdesk arj 97591 BigDesk/BackMenu - Win menu/desktop manager Kad smo već kod toga, ako vam tako nešto treba preporučujem windows shell HP Dashboard. Isti vam omogućuje tri virtuelna ekrana. Momentalan pristup dos vih resursa, trenutak pregled zauzeća memorije i sat ( mada ja za te svrhe koristim Barclock ) etc. Ja imam verziju 1.1z koja nije prava komercijalna. Ona prelaže Upgrade na verziju 2.0 za zaista sitne pare ( ali avaj, za Amere ) koju bih voleo da vidim. Ova verzija kaže da je namenjema distribuiranju među članovima mreže, a da nije dozvoljen UL na druge sisteme. Inače zauzima u instalacionoj formi 1 DD 3.5" disketu, a u memoriji 300K.
windows.167 cnenad,
ŁŁŁ backdesk arj 97591 BigDesk/BackMenu - Win menu/desktop ŁŁŁ manager backdesk zip 22123 Cek, otkuda razlika u velcini (jeste da je onaj ZIP a ovaj ARJ al ne moze biti tolika razlika u kompresiji) ?
windows.168 bulaja,
│Cek, otkuda razlika u velcini (jeste da je onaj ZIP a ovaj ARJ │al ne moze biti tolika razlika u kompresiji) ? └─── Verovatno je razlika u sadrzaju (dokumentacija i sl.:).
windows.169 ognjen,
)-> Nisi morao da se trudis :), to na Sezamu stoji vec godinama :) Ok! Onda preporuka svima da obavezno skinu... :)
windows.170 spantic,
Uz poruku je program koji olakšava kreiranje HLP fajlova, rađen za Visual Basic 3.0 . Zahteva VBRUN 3.0 za rad. vbaha102.zip
windows.171 spantic,
Update za Visual Basic 3.0 VBExtenders (tm) Custom Control Sets for Microsoft Visual Basic by Sheridan Software Systems 65 Maxess Road Melville, New York 11747 Voice: (516) 753-0985 Fax: (516) 753-3661 BBS: 2400 baud (516) 753-5452 9600 baud (516) 753-6510 ================================================================ Release History for THREED.VBX from VB3 Professional as of Version 3.0a, July 16, 1993 ------------------------------------------------- Version 3.0a: ============ 1. Fixed GP Fault problem when unloading a form from the click event of a control on the same form (applies to the 3D Checkbox, 3D Option Button, 3D Command Button and 3D GroupPush Button) 2. Fixed problem that occurred when unloading MDI child forms that contained 3D Panels and/or 3D Frames. This problem occurred infrequently and would cause either a GP Fault or the application to 'hang'. 3. Fixed problem which caused focus to be improperly set when attempting to use the .SetFocus method on a control from the click event of a 3D Option Button that had been 'tabbed to' (as opposed to 'clicked on' with the mouse) 4. Added HelpContextID property to the 3D Frame, which was unintentionally left out in the 3.0 version. 5. Fixed GP Fault problem when unloading a form from the click event of a 3D Checkbox that was triggered by the user pressing the space bar instead of clicking with the mouse or entering the control's accelerator key combination. 6. 3D Option Buttons and 3D Checkboxes no longer generate a click event if their .Value property is set to its current value (i.e., if the Value property of Check3d1 is currently = True, then the statement Check3d1.Value = True will no longer generate a click event) 7. Fixed a problem when showing a form modally from the click event of a 3D Checkbox, Option button, Command button or GroupPush button, which caused mouse input to be directed to the clicked button after the form was shown (instead of directing mouse input to the newly shown form). Notes: ===== 1. 'Extra' double click events being generated by all 3D button controls are due to a behavioural change in the 3D controls that were made for VB3 and not to a 'bug'. Versions of the 3D controls prior to 3.0, incorporated 'anti-recursion' logic to suppress click events that were generated by VB code (i.e., by resetting the .Value property of the control) if there was already a click event in progress for the control. Since this behaviour differs from the standard VB controls, a change was made for v3.0 to change the behaviour of the 3D buttons and allow recursion. If your application code relies on the earlier behaviour of the buttons, the change may result in your apps acting differently. In this case, you may need to set a static flag in your button's click event that can be tested upon entry to the event to determine if this is a recursive click triggered by .Value property change made during a prior click. Here is some example code: Sub Some3DButton_Click () Static InClick as Integer if InClick = False then InClick = True 'Do click processing (might include setting .Value prop) InClick = False Exit Sub End If End Sub Note again that this behaviour conforms to the operation of the standard VB buttons and that you would have to include the same code in a standard VB button as well, to guard against recursion. threed.zip
windows.172 i.a.n.,
Kako da dokonam da će prozor da se minimizuje u trenutku kad primam WM_MOVE? Naime, hoću da mi se položaj prozora pamti u jednoj RECT strukturi, koju posle zapisujem u INI. Ako ažuriram strukturu svaki put kad primim WM_MOVE, ne valja, jer kod minimizacije mi prvo pošalje tu poruku sa koordinatama mesta gde će iscrtati ikonu, pa ako izađem iz programa dok je minimizovan, sledeći put ga dobijam tamo. WM_SIZE mi nije problem, jer mogu da proverim wParam == SIZEICONIC. Pokušao sam sa PeekMessage da hvatam WM_PAINTICON, ali to radi samo ako je prostor za ikone slobodan. Ukoliko je na desktopu neka aplikacija koja taj deo pokriva, WM_PAINTICON se uopšte ne šalje.
windows.173 dejanr,
Bejzik programiranje pod Windows-om. CA-Realizer 2.0 ili Visual Basic 3.0? NOVOSTI/microb 4.615.
windows.175 oldtimer,
> Evo malo simpaticnih .wav -ova za Windows-e. žuj malo :)) 250k Hvala u svakom slučaju, skinućemo. B) Miša
windows.176 spantic,
Još jedan iz serije alata za pravljenje HLP fajlova. Copyright 1992-93 Stefan Olson. All Rights Reserved. HELP WRITER'S ASSISTANT FOR WINDOWS Version 1.0 - Beta III.30 Welcome to HWA/w! -------------------------------------- Help Writer's Assistant for Windows greatly simplifies the task of writing help files under windows, in fact, it even makes it enjoyable!! Beta III contains many great new features that were not in Beta II. Please look at HWAWIN.HLP in the How to - Upgrade from a previous versions to learn about the new features. The major change in this release is support opening RTF files! Please see the help on the File|Open menu item in HWAWIN.HLP for more information on this great new feature. This release also fixes some minor bugs which were causing some problems. Also added is the ability to create *.inc files for context sensitive help using Borland Pascal. It is Beta III.30 This is a beta release, and as such, should be treated as one. There are likely to be bugs, not only in the documentation, but also in the program. Please read the help file carefully before starting to write help files. A tutorial has now been added under How To - Create a Help File. If you do find a bug (that isn't already known about), and you are an unregistered user, you will recieve $0.50NZ off your registration cost. Please see the help file for more detail on registering. The unregistered version will only allow you to have 20 topics in a file. The registered version will allow you to have as many as your computer's memory allows. Please Note: HWA/w Beta III requires Microsoft Windows 3.1 or better. Thank you for looking at HWA/w! Stefan Olson (Author) hwab330.zip
windows.177 paki,
Koja je numerička vrednost konstante ES_WANTRETURN?
windows.178 .obj,
4096
windows.179 .obj,
Evo jednog (IMHO) sjajnog programčeta za praćenje zauzeća memorije, resursa i svega ostalog. Za svaki task u sistemu ide mali okvir sa osnovnim podacima, par grafika i preciznijim informacijama. Sve se odvija dinamički. žini mi se da je ovaj program u kombinaciji sa HotLine-om sjajan duo za provaljivanje programskih greški koje se tiču preopterećenja resursa ili memorije. Ako ste Windows programer, ne časite ni časa, nego odma' skidajte ovo što je okačeno. :) Program je bio objavljen u MSJ-u od maja prošle godine, i služi kao demonstracija upotrebe dijagnostičke biblioteke, TOOLHELP.DLL. U ZIP-u je i kompletan sors, MS C 7. toolhelp.zip
windows.180 jerry,
> Evo jednog (IMHO) sjajnog programceta za pracenje zauzeca memorije, > resursa i svega ostalog. > ne casite ni casa, nego odma' skidajte ovo sto je okaceno. :) Koji program? Okaceno? Gde je okaceno? Nema fajla.
windows.181 djelovic,
> Koji program? Okaceno? Gde je okaceno? Nema fajla. Verovatno si pročitao Obrenovu poruku dok je slao datoteku, pa ti zato nije prikazana. Pokušaj opet, datoteka je tamo.
windows.182 jerry,
> Verovatno si procitao Obrenovu poruku dok je slao datoteku, pa ti zato > nije prikazana. Pokusaj opet, datoteka je tamo. Moguce. To mi sad pade na pamet. Ili mozda zato sto koristim SDW.EXE pa ima BUG? ;))) Salim se.
windows.183 juros,
Je l' ima neko ideju kako "iseckati" i smanjiti VBRUN?00.DLL jer pola stvari koje on sadrzi nisu potrebne. Naravno, pitanje je da li je to uopste moguce :) ?
windows.184 .obj,
> Verovatno si pročitao Obrenovu poruku dok je slao datoteku Obrad, ObRAD! :) Ajd' što niko ne može da mi zapamti prezime, ali ime je barem jednostavno. :) A Džeri je stvarno skinuo poruku dok sam ja UL: > jerry 13:25 -- Sezam > luke 13:10 -- Sezam > gregory 13:24 -- Mail Read > .obj 13:25 -- Sezam :) Da gosn. urednik ove teme ne ozvezdiči ovu poruku, evo još jedne datoteke - kako startovati program pod Windowsom, ali da nakon toga "sačekamo" da se startovani program i završi. Listing je takođe iz MSJ-a. Jes' da je ipak malo prekomplikovan, ali može da se vidi kako se to radi "legalno", koristeći pozive SHELL.DLL-a. termwait.exe
windows.185 .obj,
> Je l' ima neko ideju kako "iseckati" i smanjiti VBRUN?00.DLL jer > pola stvari koje on sadrzi nisu potrebne. > > Naravno, pitanje je da li je to uopste moguce :) ? Nije moguće. :) Ima jedna mala zabluda koja se tiče DLL-ova - da je moguće zamenljivati i menjati njihove funkcije bez da imamo source. To nije moguće (barem ne iole jednostavno) ukoliko u sam kood biblioteke nije ugrađena podrška za takva preusmeravanja (neke vrste Hook-ova i slična rešenja).
windows.186 paki,
­> odvija dinamički. žini mi se da je ovaj program u kombinaciji sa ­> HotLine-om sjajan duo za provaljivanje programskih greški koje se tiču ­> preopterećenja resursa ili memorije. Ako ste Windows programer, ne A-ha, a moje preporuke i za HotLine. Inače, samo da vam se požalim da sam danas izgubio sat vremena čačkajući program, zato što sam dve funkcije zaboravio da deklarišem kao 'export' :( Što je najgore, kad sastavim te dve funkcije, radi, čim ih rastavim - puff, počne da se ponaša totalno nepredviđeno. žemu uopšte služi 'export'?
windows.187 djelovic,
>> Verovatno si pročitao Obrenovu poruku dok je slao datoteku > > Obrad, ObRAD! :) Ajd' što niko ne može da mi zapamti prezime, ali ime > je barem jednostavno. :) Sorry. Da budem iskren, nikada nisam ni pogledao već sam se poneo za ostalima :). Ako ti je to neka uteha, mene su tri lepe Sezamovke dugo vremena zvale Đelo, što je po njima bio sasvim prigodan način da se moj username skrati. A i mjova je dugo vremena bio Jova :).
windows.188 .obj,
> žemu uopšte služi 'export'? Sve ulazne tačke koje Windows "sam od sebe" poziva (tzv. "callback" funkcije) moraju biti deklarisane kroz EXPORT, a razlog zašto je to tako - ne znam, možda bi neko ovde ko zna nešto više o tome mogao da nam kaže par reči. Dakle, sve funkcije koje se u tvom programu završavaju na WNDPROC, DLGPROC, ENUMPROC... moraš da exportuješ. :)
windows.190 paki,
Da li je ovo što radim ispravno: ----- function Get(ID:integer):string; export <- za svaki slučaj var a:array [1..255] of char; begin j:=SendDlgItemMessage(hDialog, ID, EM_GETLINE, 0, LongInt(@a[1])); s[0]:=Chr(j); for i:=1 to j do s[i]:=a[i]; *** s[j+1]:=#0; Get:=s; end; ----- Dakle, funkcija koja vraća sadržaj jednog EDIT polja, ali kao string. S je globalna promenljiva tipa string, a J isto to, samo tipa integer. Kada se stavi direktno 'SendDlgItemMessage(..., LongInt(@s[1]));' i izostavi red *** dobiju se razne žvrljotine. Kada je A globalna promenljiva, opet se dobiju razne žvrljotine. Ovako, radi za prvi i drugi znak koji unesem, a od trećeg pa nadalje j:=0. HotLine ne pronalazi nikakve greške. Pošto stvarno ne znam šta bi moglo da bude, a ne verujem da će iko moći da nađe grešku, može li par hintova kako vi, ostali, radite ovakvu stvar (naročito neki Paskalovac, jer u Cu nema stringova)? Pogledao bih u primerima, ali šta vredi kad su svi napisani spomoću objekata :( Usput se izvinjavam svima na gušenju, ali ovo je jedna od osnovnih stvari za program.
windows.192 dekiper,
> Sve ulazne tačke koje Windows "sam od sebe" poziva (tzv. "callback" > funkcije) moraju biti deklarisane kroz EXPORT, a razlog zašto je to > tako - ne znam, možda bi neko ovde ko zna nešto više o tome mogao da > nam kaže par reči. Dakle, sve funkcije koje se u tvom programu > završavaju na WNDPROC, DLGPROC, ENUMPROC... moraš da exportuješ. :) E, pa situacija je sledeća. Svi kompajleri koji generišu kod za Windows imaju osobinu da pored koda koji kuca programer dodaju dva dela koda koji su potrebni direktno Windows-u, a samim tim potrebni su samo za funkcije koje Windows direktno poziva, a to su recimo WNDPROC, DLGPROC, ENUMPROC... Ova dva dela koda se zovu Prolog i Epilog. Prolog se logi- čno dodaje na početku, a Epilog na kraju. Turbo C++ for Windows nudi tri opcije za rad sa EXPORT funkcijama. To su: a) All functions exportable (sve funkcije se eksportuju) napomena: Ne smeta ako se funkcija eksportuje a Windows je ne poziva direktno. Ona će i kao eksportovana fino raditi! b) Explicit functions exported (samo one koje imaju prefiks _export) napomena: Ono što piše u .DEF fajlu se ignoriše. Uopšte, mnogo je bolje eksportovati dodavanjem _export, nego listanjem u de- finicionom fajlu. Dakle: BOOL FAR _export PASCAL DaVre(HWND hDlg, unsigned message, WORD wParam, LONG lParam); // zaglavlje jedne moje funkcije za dialog box c) Smart Callbacks podrazumeva da pointer na Stack Segment pokazuje na istu adresu kao i pointer na Data Segment pa nema potrebe za Prolog i Epilog kodom, ali ovu mogućnost treba primiti sa zadrškom! Moj predlog je da treba držati Explicit functions exportable jer se onda neće sve funkcije eksportovati pa će program biti brži i manji, a nije nikakav problem ubaciti jedno _export u deklaraciju. Pozdrav, Deki
windows.193 i.a.n.,
>> Da li je ovo što radim ispravno: EM_GETLINE This message copies a line from the edit control. Parameter Description wParam Specifies the line number of the line in the control, where the line number of the first line is zero. lParam Points to the buffer where the line will be stored. !!! The first word of the buffer specifies the maximum !!! number of bytes to be copied to the buffer. The copied line is not null-terminated. "When all else fails, read the docs". :) Nego nije mi jasno zašto koristiš EM_GETLINE ako ti treba celokupan sadržaj EDIT polja, a ne samo prva linija. WM_GETTEXT vraća sve. BTW imaš li među primerima program koji učitava bit-mapu sa diska i prikazuje je u prozoru, sa mogućnošću skrolovanja? Ako se dobro sećam, zove se BSCRLAPP.PAS ili BSCRL.PAS. Nađeš li, please pošalji, diskete sa Pascalom sam pozajmio ili zaturio.
windows.194 dragisha,
-> Sve ulazne tačke koje Windows "sam od sebe" poziva (tzv. "callback" -> funkcije) moraju biti deklarisane kroz EXPORT, a razlog zašto je to -> tako - ne znam, možda bi neko ovde ko zna nešto više o tome mogao da Pa kad se program linkuje, samo ono što je export ostaje 'poznato', ostale adrese se 'zaboravljaju'. E sad, da bi Windows pozvao to on mora da zna adresu. Važi za DOS i OS/2 DLL-ove koje pravi TopSpeed, ne vjerujem da postoji neka bitna razlika do Windows-a, osim u calling konvencijama.
windows.195 paki,
­> ! The first word of the buffer specifies the maximum ­> ! number of bytes to be copied to the buffer. The ­> copied line is not null-terminated. Auf :) Nikad se ne bih setio, a ko će svu onu dokumentaciju da pročita... ­> "When all else fails, read the docs". :) Nego nije mi jasno zašto ­> koristiš EM_GETLINE ako ti treba celokupan sadržaj EDIT polja, a ne ­> samo prva linija. WM_GETTEXT vraća sve. Jasno, tako nešto sam i uradio, i sada radi tutto completto. Hvala ti puno na pomoći.
windows.196 dcolak,
Jo! .OBJ! U kooperaciji sa Plug-In i BarClck SDW _definitivno_ pravi gluposti! Elem prilikom prelaska iz sdw u bilo koji task i pokušajem vraćanja u Sdw dolazi do blokiranja sistema. Satić u uglu radi, sve radi, ali ničemu ne mogu da pristupim. Tj, ja klikćem mišem ništa se ne dešava. Da, SDW-ov window ostaje nerefresh-ovan tako da... Sve u svemu, toliko mi pravi probleme da sam ponovo instalirao SOR! Znaš šta _ovo_ znači... :> Sledge DAMMIR!
windows.197 asterix,
> U kooperaciji sa Plug-In i BarClck SDW _definitivno_ pravi gluposti! > Elem prilikom prelaska iz sdw u bilo koji task i pokušajem vraćanja Onda ti BarClck ne pravi probleme nego Plug-In. Kod mene bez njega radi sve regularno. Nijednom se nije prehladio (zamrzao ;).
windows.198 jerry,
> Jo! .OBJ! I od mene. Onaj screen saver AfterDark je u maloj koliziji sa SDW-jom. Kad sam neaktivan par minuta, AD se aktivira. Kad mrdnem misa, vrati mi SDW ali je win zaglavljen u SDW-u. Nijedan taster ne reaguje osim ctrl-alt-del. Kad to stisnem, win mi kaze: Although you can use ctrl-alt-del to quit the application that has stopped responding to the system, there is no application in this state. A SDW je bas u tom state-u. Help? Imam dovoljno memorije, koristim 32bit disk access, barclk, metamouse, vshield, 3dlook i ButtonGo kao dodatne aplikacije.
windows.199 dcolak,
│ Imam dovoljno memorije, koristim 32bit disk access, barclk, │ metamouse, vshield, 3dlook i ButtonGo kao dodatne aplikacije. Pošto nisi pomenuo PlugIn znači da on nije krivac, zajednička stvar su 32 bit access i barclk... Hm.. Ali ja sumnjam na sam SDW ;) Sledge DAMMIR!
windows.200 cnenad,
ŁŁŁ │ metamouse, vshield, 3dlook i ButtonGo kao dodatne ŁŁŁ aplikacije. ŁŁŁ ŁŁŁ Posto nisi pomenuo PlugIn znaci da on nije krivac, zajednicka ŁŁŁ stvar su 32 bit access i barclk... Hm.. Ali ja sumnjam na sam Sve to je i kod mene osim 3dlook, buttonGo, ali mi se dosta cesto dogodi da ODOMETER i METAMOUSE prijave greske i padne WIN. Proveri da nije to. Od kada sam izbacio to WIN rade ko sat.
windows.201 spantic,
> U kooperaciji sa Plug-In i BarClck SDW _definitivno_ pravi gluposti! Neregistrovani Plug-In je taj koji pravi probleme. SDW kod mene sa Bar Clockom radi savršeno.
windows.202 vcalic,
>> Sve u svemu, toliko mi pravi probleme da sam ponovo instalirao >> SOR! Znaš šta _ovo_ znači... :> Nemoj da budeš izdajnik ;) nego koristi staru verziju SDW-a. Meni se to isto dešavalo, otkad sam vratio onu sdw10b nemam više frke. Vlada
windows.203 vcalic,
>> Onda ti BarClck ne pravi probleme nego Plug-In. Kod mene bez njega >> radi sve regularno. Nijednom se nije prehladio (zamrzao ;). Meni se dešavalo i bez Plug-In-a, pa sam vratio staru verziju i od tada nema problema. Vlada
windows.204 deki.dj,
-=> Neregistrovani Plug-In je taj koji pravi probleme. SDW kod mene sa Bar -=> Clockom radi savršeno. Kod mene sve radi OK. Plug-In <-> Barlck <-> 3dlook <-> SDW <-> WIN
windows.205 dcolak,
│ Sve to je i kod mene osim 3dlook, buttonGo, ali mi se dosta cesto │ dogodi da ODOMETER i METAMOUSE prijave greske i padne WIN. Proveri da nije │ to. Od kada sam izbacio to WIN rade ko sat. Nisu ta dva programa, njih ne koristim. Dakle, stvar je u SDW-u, očigledno je suviše "nemaran" pa zaboravi da se refreshuje i uzme kontrolu kad mu ona bude ponuđena.. .OBJ javljaj se i demantuj! :) Sledge DAMMIR!
windows.206 dcolak,
│ Neregistrovani Plug-In je taj koji pravi probleme. SDW kod mene sa Bar │ Clockom radi │ savršeno. Nije Plug-In, neko se ranije javio da ima iste probleme a ne koristi Plug-In... SO... Sledge DAMMIR!
windows.207 dcolak,
│ Nemoj da budeš izdajnik ;) nego koristi staru verziju SDW-a. Meni se │ to isto dešavalo, otkad sam vratio onu sdw10b nemam više frke. Koliko se sećam 10b nije imala dosta toga što sam dobio sa najnovijom verzijom.. Ako nešto ne volim je nazadovanje ;) Sledge DAMMIR!
windows.208 spantic,
Visual Basic Tips & Tricks 1.2-Windows 3.1 Help File contains many VB for DOS & Windows tips and tricks. Also contains tips and tricks on Windows Help Files. Freeware! vbtips12.zip
windows.209 .obj,
Kako prepoznati rad pod Novell ili nekom drugom mrezom? Funkcija WORD WNetGetCaps(WORD nIndex); iz USER.EXE sljaka ko luda. U DEF datoteku treba dodati: IMPORTS USER.WNETGETCAPS a u .c: #define WNNC_NET_TYPE 0x0002 #define WNNC_NET_None 0x0000 #define WNNC_NET_MSNet 0x0100 #define WNNC_NET_LanMan 0x0200 #define WNNC_NET_NetWare 0x0300 #define WNNC_NET_Vines 0x0400 #define WNNC_NET_10NET 0x0500 #define WNNC_NET_Locus 0x0600 #define WNNC_NET_SunPCNFS 0x0700 #define WNNC_NET_LANstep 0x0800 #define WNNC_NET_9TILES 0x0900 #define WNNC_NET_LANtastic 0x0a00 ... wNetType = WNetGetCaps(WNNC_NET_TYPE); if (wNetType == WNNC_NET_None) { /* nema mreznog sw-a */ } else if (wNetType == WNNC_NET_NetWare) { /* vozi novell, misko */ }
windows.210 i.a.n.,
Ima li neko hedere i uopšte opis rada za LZEXPAND.DLL?
windows.211 vcalic,
>> Koliko se sećam 10b nije imala dosta toga što sam dobio sa >> najnovijom verzijom.. Ako nešto ne volim je nazadovanje ;) Ma slažem se, ali zar povratak na SOR nije veće nazadovanje ;)) Vlada
windows.212 nradeta,
Ako je neko uzeo onaj poboljsani task manager, mogao je da vidi zanimljivu opciju: moguce je neki prozor ostaviti stalno na vrhu. To su do sada imali i jos neki programi, al' prvi put da vidim da neki program to omogucava drugom (ne svom) prozoru. Zna li neko kako se postize gorepomenuti trik? Meni na pamet padaju razlicite stvari, al' nista stvarno elegentno. Pomozite!
windows.213 magician,
­=> mogao je da vidi zanimljivu opciju: moguce je neki ­=> prozor ostaviti stalno na vrhu. To su do sada imali ­=> Zna li neko kako se postize gorepomenuti trik? U pitanju je API funkcija SetWindowPos, a parametri su SetWindowPos (hWnd, wInsertAfter, x, y, dx, dy, wFlags) * svi parametri su integeri Parametri x, y, dx, dy su nule ako ne menjaš poziciju prozora, a wInsertAfter je -2 za Allways Visible ili -1 za Invisible. Funkcija je iz User biblioteke... Magician.
windows.214 i.a.n.,
>> Ako je neko uzeo onaj poboljsani task manager, >> mogao je da vidi zanimljivu opciju: moguce je neki >> prozor ostaviti stalno na vrhu. >> >> Zna li neko kako se postize gorepomenuti trik? >> Meni na pamet padaju razlicite stvari, al' nista >> stvarno elegentno. Pomozite! Ovo sam sam svojevremeno ukrao iz Drag & View, disasembliranjem i teranjem kroz dibager. SetWindowPos(hWnd(), alwaysVisible ? -1 : -2, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); hWnd() vraća handle prozora čiji "always visible" (nekako mi neutralnije zvuči od "always on top" ;) status menjam flegom alwaysVisible. Nisam se preterano trudio da saznam zašto radi tako kako je napisano.
windows.216 paki,
Koji je mogući uzrok nepravilnog ponašanja child prozora (kad je jedan iznad drugog, pomeranjem jednog odvuče se i deo drugoga)?
windows.217 i.a.n.,
>> Koji je mogući uzrok nepravilnog ponašanja child prozora (kad je >> jedan iznad drugog, pomeranjem jednog odvuče se i deo drugoga)? Da li govoriš o child ili MDI child prozorima? Napiši nešto više.
windows.218 asterix,
Jel' se pojavila nekom poruka o isteku vremena probanja Barclocka ? Molio bih onoga ko ima registrovanu veriju da me mail-ne.
windows.219 spantic,
> Jel' se pojavila nekom poruka o isteku vremena probanja > Barclocka ? Molio bih onoga ko ima registrovanu veriju Nije za uzrujavanje. Posle se više ni ne pojavljuje. Ali ako ne želiš ni nju, vrati se na 2.2. Funkcionalno su potpuno isti.
windows.220 wizard,
> Jel' se pojavila nekom poruka o isteku vremena probanja > Barclocka ? Molio bih onoga ko ima registrovanu veriju > da me mail-ne. A kad sam ja govorio... Meni se pojavila još pre mesec-dva, ali nisam hteo da javljam da ne bi mislili da lažem. Srećom, od tada je nema...
windows.221 novim,
"WinExit v2.0 Copyright 1990 by Howard Silver (for Windows 3.0 or higher) W H A T I S W I N E X I T? Well, this is one of those simple little programs that can make life a little easier. The purpose of this program is simply to allow you to double-click on an icon and shutdown Windows. This I found to be easier than going through Program Manager. I am releasing this program in public domain." winexit.zip
windows.222 .bale.,
> The purpose of this program is simply to allow you > to double-click on an icon and shutdown Windows. :))) Suvi genije!
windows.223 fancy,
Da pitam i ovde... sorry onima koji čitaju drugi put..:) U ACCESS-u, pri ulasku u bilo koju tabelu ili query, ili form... primetio sam da mi na dugmićima čijim se pritiskom pomera kursor na sledeće polje, fale TROUGLIĆI na desno i na levo !!! Bizarno ;))) ! Pošto sam ponovo instalirao ACCESS, a zatim i (pazi sad!) Windows :)) ništa se nije promenilo, dok se nisam setio da možda nije do nekog sistemskog fonta, što bi reklo do drajvera za video karticu... Kad sam promenio rezoluciju (inače radim u 800*600*64000) trouglići ;) su se VRATILI! ...žak i kad sam ostavio istu rezoluciju, ali promenio broj boja (256) trouglići su opet bili tu..! (da ne zaboravim, dugmići su ostali POTPUNO FUNKCIONALNI i bez trouglića, samo su izgledali malo ćelavo :))) Ima li neko ideju kako da vratim trougliće na dugmiće... a da ostanem u svom omiljenom graf. modu..?
windows.224 wizard,
> Ima li neko ideju kako da vratim trougliće na dugmiće... a da ostanem > u svom omiljenom graf. modu..? Reinstaliraj Win, arhiviraj '*.FON' fajlove, instaliraj drajvere za karticu, dearhiviraj '*.FON' fajlove.
windows.225 fancy,
ŮŢ> Reinstaliraj Win, arhiviraj '*.FON' fajlove, instaliraj drajvere ŮŢ> za karticu, dearhiviraj '*.FON' fajlove. OK, znači kol'ko sam sFatio da instaliram neki WIN-ov standardni driver, sačuvam .FON... pa ih uporabim posle inst. drajvera za karticu... Thanx, eto meni zabave za noćas...
windows.226 asterix,
> ŮŢ> Reinstaliraj Win, arhiviraj '*.FON' fajlove, instaliraj drajvere > ŮŢ> za karticu, dearhiviraj '*.FON' fajlove. > > OK, znači kol'ko sam sFatio da instaliram neki WIN-ov standardni > driver, sačuvam .FON... pa ih uporabim posle inst. drajvera za > karticu... Thanx, eto meni zabave za noćas... Eto kako vas dvojica ipak možete da budete konstruktivni. NoRMaLno ? ;)
windows.227 pbojan,
Postoji li neki brzi nacin za ispis teksta od TextOut? Mozda neki ASM?
windows.228 paki,
Može li neko da šiljne sintaksu GetOpenFileName funkcije (u helpu je nema, a diskete s primerima nisu kod mene :()?
windows.229 paki,
Zaboravih, treba mi i sintaksa funkcije za dijalog za izbor fontova.
windows.230 i.a.n.,
>> Može li neko da šiljne sintaksu GetOpenFileName funkcije (u >> helpu je nema, a diskete s primerima nisu kod mene :()? BOOL GetOpenFileName(OPENFILENAME FAR *lpofn); BOOL ChooseFont(CHOOSEFONT FAR *lpcf); ... ali ništa ti ne vredi bez opisa struktura OPENFILENAME i CHOOSEFONT, jedno 45 kilobajta teksta. Da šaljem?
windows.231 dekiper,
ŠALJI OBAVEZNO (I NEKI SOURCE AKO IMAŠ UZ TO) Pozdrav, Deki
windows.232 i.a.n.,
>> ŠALJI OBAVEZNO (I NEKI SOURCE AKO IMAŠ UZ TO) Evo. U arhivi je, osim opisa struktura, i primer iz BC++ 3.1 koji sve to koristi. cdlgex.zip
windows.233 zkadovic,
Imam jedan problem! Skoro sam nabavio Visual C/C++ v1.0 da bih "malo cackao" po Windows-ima. Prilikom link-ovanja primera dobijenih uz compiler obavezno dobijam gresku: "R6000 - stack overflow". Imam instalirano 4 MB na ploci. Za probu, dodao sam jos 4 MB. Tada sam samo neke od primera (manji broj) mogao da ulinkujem. Iz komandne linije (iz DOS-a), naravno, svaki od primera moguce je prevesti (nmake -f ...). Koliko memorije je minimalno potrebno da bi compiler (linker) radio? Da li ima neki fazon prilikom instalacije (li nesto kao konfiguracija???) koga nisam primetio? Uopste, interesuju me detalji/iskustvo sa ovim paketom. Unapred hvala. Zoran.
windows.234 spantic,
Bar Code Control (VBX) <ASP> BarCod makes bar code display really easy. Just pick the orientation, set the size, and pick the bar code style. Then, set the text to whatever you want the bars to be. Nothing else to do! barcod11.zip
windows.235 spantic,
Disk and File Info Control (VBX) <ASP> This control gives you disk and file information that VB doesn't provide. It also allows you to change some aspects of a file (attributes, size, date, time, etc.). dfinfo14.zip
windows.236 spantic,
Security for Windows - contains two programs that add a measure of security to Windows. The first utility alters Program Manager to remove the FILE command and SAVE options so no programs can be run that are not on the ProgMan menu.The second is a program launcher with passwords. VB source code and VBRUN200 is included. seclau.zip
windows.237 spantic,
Telefonski imenik. Ako neko uspe da priključi sliku obavezno neka se javi :) V.I.P. 2.1 is an easy to use phonebook. As a special feature displaying pictures (BMP format) and playing VIDEO FOR WINDOWS files ( AVI format ) is provided. Requirements: - Microsoft Windows 3.1. - a 256 color graphics adapter is recommended. - To play AVI's: Video for Windows, Runtime Version Features : - up to 333 entries. - up to 256 color Bitmaps ( RGB encoded BMP format ). - searching is done on name, city and the extra field. - export is supported by copying of the selected entry to the clipboard. - automatic backup to VIP.BAK - printing of a addresses, entries sorted by name File list: - VIP.EXE _________ programm - VIP.DAT _________ data file ( sample entries ) - DJ.BMP, BS.BMP __ sample bitmaps - README _________ this file vip.zip
windows.239 sjocic,
├> Telefonski imenik. Ako neko uspe da priključi sliku obavezno ├> neka se javi :) └────────────────────────────────────────────────── Uspeo ja, ne vidim u cemu je problem to izvesti ???
windows.240 bigbrada,
Pitanje se tiče TPW-a. Situacija je ovakva : Imam Resource fajl koji se zove, npr. NESTO.RES (nije bitno). U njemu se nalaze Menu i Dialog. Imam recimo tri Dialog-a koji se zovu npr. PRVI, DRUGI i TRECI. Kako mogu na određenu opciju iz menija da prikačim određeni Dialog? U Dialog-u imam Edit Window. Gde se pamti to što ja upišem tu (u Edit-u)? Kako mogu iz programa da prosledim nešto (neku promenljivu) Dialog-u, koju će on da upiše u određeno polje? Ako ima nekoga koga ne mrzi da objašnjava, bio bih mu veeeoma zahvalan da to i učini... Patim se s ovim već nedelju dana i sve što sam uspeo da uradim je da osposobim Menu, i ništa više... Brada.
windows.241 mzgrdja,
Da li neko moze ostaviti primer pozivanja DLL-ova iz Visual Basica 3.0. Hitno potrebno je VB stalno javlja nesto kao invalid DLL. Unapred zahvalan.
windows.242 dekiper,
> Imam Resource fajl koji se zove, npr. NESTO.RES (nije bitno). > U njemu se nalaze Menu i Dialog. Imam recimo tri Dialog-a > koji se zovu npr. PRVI, DRUGI i TRECI. Kako mogu na određenu > opciju iz menija da prikačim određeni Dialog? U Dialog-u imam > Edit Window. Gde se pamti to što ja upišem tu (u Edit-u)? > Kako mogu iz programa da prosledim nešto (neku promenljivu) > Dialog-u, koju će on da upiše u određeno polje? Pazi ovako. Svaka stavka menija ima svoj karakteristični broj koji si morao zadati još pri izgradnji menija. U heder fajl (to je u TPW-u valjda .INC) te brojeve pretvori u neke fine labele da bi ti bilo lakše kasnije. Na primer ako je za prvu stavku broj 101 (najčešće) onda napiši nešto kao: const IDM_PRVI=101; itd. za sva tri. Kada si to uradio, meni osposobljavaš u WNDCLASS dodavanjem odgovarajuće stavke (pogledaj help) recimo (isečak iz jednog mog programa doduše u C-u): WNDCLASS wc; wc.style=NULL; wc.lpfnWndProc=MainWndProc; wc.cbClsExtra=0; wc.cbWndExtra=0; wc.hInstance=hInstance; wc.hIcon=LoadIcon(hInstance, "1_IKONA"); wc.hCursor=LoadCursor(NULL, IDC_ARROW); wc.hbrBackground=COLOR_APPWORKSPACE+1; wc.lpszMenuName="FSIMenu"; !!!!!!!!!!!!!!!!!!!!!! wc.lpszClassName="FSIClass"; return(RegisterClass(&wc)); Naravno u .RES fajlu si morao zadati ime meniju a to je ovde ko- nkretno FSIMenu. Kasnije ćeš u WndProc dodati stavku WM_COMMAND: Napomena da i svakom dijalogu moraš u okviru .RES fajla dati ime. Recimo da su imena PRVI, DRUGI i TRECI: FARPROC lpPrviDialog; // promenljive za dijaloge (nevezano za FARPROC lpDrugiDialog; // imena dijaloga) FARPROC lpTreciDialog; switch(message) š case WM_COMMAND: !!!!!!!!!!!!!!!!!! switch(wParam) š case IDM_PRVI: // prva stavka menija lpPrviDialog=MakeProcInstance(One, hInst); DialogBox(hInst, "PRVI", hWnd, lpPrviDialog); FreeProcInstance(lpPrviDialog); break; case IDM_DRUGI: // druga stavka menija lpDrugiDialog=MakeProcInstance(Two, hInst); DialogBox(hInst, "DRUGI", hWnd, lpDrugiDialog); FreeProcInstance(lpDrugiDialog); break; case IDM_TRECI: // treca stavka menija lpTreciDialog=MakeProcInstance(Three, hInst); DialogBox(hInst, "TRECI", hWnd, lpTreciDialog); FreeProcInstance(lpTreciDialog); break; ć Eto ga, a sada da znaš da su One, Two i Three u MakeProcInstance u stvari imena funkcija koje rade sa dijalogom (svaki dijalog MORA imati jednu, daću ti posle primer). PRVI, DRUGI i TRECI su imena dijaloga u .RES. Što se promenljivih sa završetkom Instance tiče, shvati da to tako mora. Priča o njima je dugačka i nepotrebna. E sada recimo da uradimo funkciju za prvi dijalog (podrazumeva se da dijalog ima samo jedan OK taster i ništa više): BOOL FAR _export PASCAL One(HWND hDlg, unsigned message, WORD wParam, LONG lParam) š switch(message) š case WM_INITDIALOG: return(TRUE); case WM_COMMAND: if(wParam==IDOK) š EndDialog(hDlg, TRUE); return (TRUE); ć break; ć return(FALSE); ć I, voila, treba da radi. Tako fino sve definiši, a posebno ono u .INC i .RES fajlu i nema problema. Funkcije jednostavno prepiši i promeni imena u Two i Three da bi radila sva tri dijaloga. Kasnije, kada ti bude trebalo nešto komplikovanije, proširićeš. Što se Edit-a u dijalogu tiče, postoje tri funkcije a to su GetDlgItemText, GetDlgItem i GetDlgItemInt. Prva ti daje tekstu- ali sadržaj recimo Edit Window-a, druga to isto samo u obliku broja dok treća daje pointer na objekat u okviru dijaloga (ovo ti još nije potrebno ali je vrlo bitno kada recimo treba treba raditi sa Check Box-ovima). Što se upisa u polja tiče, lako. PAZI!!! Ne smeš menjati funkciju One (u stvari ne smeš menjati listu parametara koju prima) jer je funkcija _export što znači da je poziva direktno Windows i daje joj tačan broj parametara koji ne smeš menjati. Inače, rešenje možeš naći u globalnim promenljivama ili još bolje, da definišeš potre- bne podatke u okviru funkcije One (ovo je dozvoljeno). I posle ćeš sa SetDlgItemText i SetDlgItemInt postavljati vrednosti u polja. Izgleda jednostavno kad ja objašnjavam, ali u praksi nije. Srećno i javi se ako zapne jer je bitno da stvorimo veliki broj poruka koje će oslikavati iskustvo stečeno u Win programiranju. Ovo je relati- vno nova tema i teško da postoji među nama neko ko je recimo savla- dao celog Petzold-a. Poenta je u tome da se postavi što veći broj raznih pitanja koja će možda neko drugi spojiti u celinu. Win pro- gramiranje kod nas baš i nije popularno, ali polako ljudi prelaze sa DOS-a na "pravu stvar" pa ih treba nečim dočekati :))). Pozdrav, Deki
windows.244 bigbrada,
!##! Pazi ovako. Svaka stavka menija ima svoj karakteristični !##! broj koji si morao zadati još pri izgradnji menija. U heder !##! fajl (to je u TPW-u valjda .INC) te brojeve pretvori u neke !##! fine labele da bi ti bilo lakše kasnije. Na primer ako je za !##! prvu stavku broj 101 (najčešće) onda napiši nešto kao: const !##! IDM_PRVI=101; itd. za sva tri. OK. To sam i sam otkrio. U TPW-u ne postoji nikakav .INC fajl nego u samom programu napišeš: const IDM_Prvi = 101; IDM_Drugi = 102; ... !##! wc.lpfnWndProc = MainWndProc; Koja je to MainWndProc? Šta se u njoj dešava? !##! return(RegisterClass(&wc)); Šta vraća tu vrednost? žemu da je dodelim? U Pascalu ne postoji Return nego moraš da kažeš : To_i_to := RegisterClass (wc); !##! lpPrviDialog=MakeProcInstance(One, hInst); E ovde mi pravi probleme. Kaže (što je i istina :) da One mora da bude tipa TFarProc. OK to je u redu, stavim ja nju da bude tog tipa. Ali, u samoj funkciji se pojavljuje sledeće : !##! return(TRUE); Zbog toga funkcija mora da bude tipa Boolean! Ne mogu da joj dam dva tipa! Kako to rešiti? Kod tebe piše : !##! BOOL FAR _export PASCAL One(HWND hDlg, unsigned message, !##! WORD wParam, LONG lParam) Ja NE mogu da napišem : Function One (hDlg : Hwnd; Message : Word; wParam : Word; lParam : LongInt) : Boolean TFarProc; !!!!!!!!!! ================ Pozdrav, Brada.
windows.245 dekiper,
Ovako, MainWndProc u stvari obrađuje sve poruke koje stižu prozoru. U njoj se nalazi ona case struktura. Što se tiče ovog problema sa fukcijom One, pogledaj u bilo koji primer koji si dobio uz TPW a koji ima dijalog boks. Rado bi ti pomogao, PASCAL znam odlično ali nemam TPW (ni BPW) pa ne mogu da vidim šta je. Što se onog return-a tiče, izgleda da tebi uopšte nije jasna ni struktura Windows programa. Funkcija InitInstance u kojoj se nalazi punjenje WNDCLASS strukture mora vratiti rezultat da bi WinMain skontao da li je sve u redu prošlo. Najbolje uzmi kostur najosnovnijeg Win programa iz TPW i lepo dogradi šta nedostaje (neka to bude HelloWorld najbolje). Jedan savet. Nemam ništa protiv paskala, čak što više, više mi se sviđa od C-a, ali Windows programiranje je teško zamislivo bez C(++)-a. Bukvalno sva literatura (uključujući Petzold-a) referiše na C. Mislim da ćeš imati velikih problema ako budeš sve konvertovao u Paskal i natrag. Savet: Uzmi Turbo C+ for Windows ili Quick C for Windows. Oni su mali (relativno (oko 20 MB)) ali su efikasni do daske i što je najbolje vrlo brzi (doduše ne kao TPW) a i rad je mnogo lakši (što se direktnog rada sa API-jima tiče). Pozdrav, Deki
windows.246 .obj,
> Izgleda jednostavno kad ja objašnjavam, ali u praksi nije. Srećno i > javi se ako zapne jer je bitno da stvorimo veliki broj poruka koje > će oslikavati iskustvo stečeno u Win programiranju. Ovo je relati- > vno nova tema i teško da postoji među nama neko ko je recimo savla- > dao celog Petzold-a. Poenta je u tome da se postavi što veći broj > raznih pitanja koja će možda neko drugi spojiti u celinu. Win pro- > gramiranje kod nas baš i nije popularno, ali polako ljudi prelaze > sa DOS-a na "pravu stvar" pa ih treba nečim dočekati :))). Slažem se. :) Iskreno, nisam očekivao da će neko odgovoriti BigBratu na onako uopštena pitanja. Da bih i ja malo pomogao, počeću sa par prostih primera. Pošto je neko (dekiper? :) tražio primere za upotrebu COMMDLG.DLL, evo samo tri najprostija primera za COMMDLG.GetOpenFileName, COMMDLG.ChooseFont i COMMDLG.ChooseColor. Pre upotrebe bilo koje od funkcija, morate imati tri stvari: o COMMDLG.DLL Biblioteka sa common dijalozima o COMMDLG.LIB Kreira se pozivom programa IMPLIB, neophodan pri linkovanju o COMMDLG.H Prototipi funkcija iz COMMDLG.DLL, strukture i konstante Sve funkcije se u principu koriste tako što se popuni posebna struktura, i zatim jednostavno izvede poziv odgovarajuće funkcije koja vrati TRUE ili FALSE, zavisno od toga da li je korisnik pritisnuo OK ili Cancel. Još par detalja. Gotovo sve funkcije dozvoljavaju i tzv. template-ove. Naime, možete biti nezadovoljni izgledom nekog od dijaloga, ili jednostavno želite da uklonite neku kontrolu ili taster. Tada jednostavno prekopirate dijalog iz COMMDLG.DLL u neki skript (npr. MYCHFONT.DLG), u njemu izvršite potrebne promene, i na kraju dijalog pomoću RC-a uključite u EXE. Potrebno je još samo da u odgovarajućoj strukturi pri pozivanju neke od ChooseXxx funkcija podesite polje lpTemplateName koje treba da sadrži ime promenjenog dijaloga. Druga primamljiva mogućnost je definisanje hook funkcije. Ova funkcija nasleđuje neku od originalnih DLGPROC iz COMMDLG.DLL, praktično je moguća izmena ponašanja u okviru samog dijaloga, npr. dodavanje dodatnih tastera, ListBox-ova itd. Sa ovom mogućnošću je praktično omogućena potpuna fleksibilnost i izmenljivost COMMDLG dijaloga. //--------------------------------------------------------------- // Primer za COMMDLG.ChooseFont() CHOOSEFONT cf; LOGFONT lf; memset(&lf, 0, sizeof(LOGFONT)); strcpy(lf.lfFaceName, "MS Sans Serif"); // ime fonta lf.lfHeight = 8; // veličina memset(&cf, 0, sizeof(CHOOSEFONT)); cf.lStructSize = sizeof(CHOOSEFONT); cf.hwndOwner = hWnd; // roditeljski prozor cf.lpLogFont = &lf; cf.Flags = CF_SCREENFONTS | CF_NOSIMULATIONS | CF_INITTOLOGFONTSTRUCT; cf.nFontType = REGULAR_FONTTYPE | SCREEN_FONTTYPE; if(ChooseFont(&cf)) MessageBox(hWnd, lf.lfFaceName, "ChooseFont demo:", MB_OK); // Primer za COMMDLG.GetOpenFileName() OPENFILENAME ofn; char szFile[256], szFileTitle[256], *p, char szFilter[256]; szFile = '\0'; // ovde se može staviti default ime strcpy(szFilter, "INI files,*.INI,All files,*.*,"); p = szFilter; while(*p) if(*p++ == ',') *--p = 0; // svaku pojavu zareza menjamo u (char)0 memset(&ofn, 0, sizeof(OPENFILENAME)); ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner = hWnd; ofn.lpstrFilter = szFilter; ofn.nFilterIndex = 1; // inicijalno aktivni filter (*.INI) ofn.lpstrFile= szFile; // pointer na ime ofn.nMaxFile = sizeof(szFile); ofn.lpstrFileTitle = szFileTitle; ofn.nMaxFileTitle = sizeof(szFileTitle); ofn.lpstrInitialDir = "."; ofn.lpstrTitle = "Open file..."; // ime prozora ofn.Flags = OFN_HIDEREADONLY; if(GetOpenFileName(&ofn)) MessageBox(hWnd, szFile, "GetOpenFileName demo:", MB_OK); // Primer za COMMDLG.ChooseColorI() CHOOSECOLOR cc; COLORREF Color, CustomColors[16]; int i; for(i = 0; i < 16; i++) CustomColors[i] = RGB(0, 0, 0); // ovde se mogu dodati sopstvene boje memset(&cc, 0, sizeof(CHOOSECOLOR)); cc.lStructSize = sizeof(CHOOSECOLOR); cc.hwndOwner = hWnd; // roditeljski prozor cc.rgbResult = RGB(123, 34, 158); // boja koja se menja cc.lpCustColors = CustomColors; cc.Flags = CC_FULLOPEN | CC_RGBINIT; if(ChooseColor(&cc)) // u cc.rgbResult je izabrana boja //--------------------------------------------------------------- Ovo će pomoći da vaši izgledaju puno lepše, na stranu što je mnogo lakše pozvati par funkcija umesto da se pišu kompletni dijalozi. Kad smo već kod vizuelnog utiska, možda želite da vaši dijalozi izgledaju kod oni u Excel-u 4.0? Ništa lakše! Prekopirajte CTL3D.DLL iz Excelovog direktorijuma u direktorijum vašeg programa (CTL3D je u javnom vlasništvu). Zatim u headeru dodajte sledeće prototipove: BOOL WINAPI Ctl3dRegister(HINSTANCE); BOOL WINAPI Ctl3dUnregister(HINSTANCE); BOOL WINAPI Ctl3dAutoSubclass(HINSTANCE); Da bi dijalozi bili 3D, potreban je gotovo zanemarljivo mali trud. Jednostavno, na početku programa dodajte: Ctl3dRegister(hInstance); Ctl3dAutoSubclass(hInstance); a pred skidanje iz memorije ubacite: Ctl3dUnregister(hInstance); i to je sve! Ako vam se ne sviđa (kao meni) izgled checkboxova i radio buttona, učitajte CTL3D.DLL u neki bitmap editor i doterajte ga po svom ukusu. Još je samo potrebno kreirati CTL3D.LIB (zbog linkovanja) - upotrebite IMPLIB! Have fun! OB Cool J
windows.247 paki,
­> OK. To sam i sam otkrio. U TPW-u ne postoji nikakav .INC ­> fajl nego u samom programu napišeš: ­> ­> const Ovo je loša praksa za veće programe, jer, ako budeš pravio menije, dijaloge i ostalo iz npr. Resource Workshopa ili Whitewater Resource Toolkita, moraćeš ručno da menjaš konstante kada praviš neku izmenu. Najbolje je da ih sve strpaš u .INC fajl, i onda ga ubaciš na početak glavnog programa, ili, još bolje, da ih strpaš u jedan unit (u interface sekciju) i onda taj unit uključiš u glavni program. Tako ćeš moći da ih menjaš i ručno i pomoću Workshopa. ­>!##! wc.lpfnWndProc = MainWndProc; ­> ­> Koja je to MainWndProc? Šta se u njoj dešava? MainWndProc je procedura za obradu poruka koje prima glavni prozor od Windowsa. Kada korisnik uradi bilo šta što se tiče tvog programa (pritisne taster, pomeri miša, klikne mišem) ili kad Windows želi da te obavesti o nekom događaju od važnosti za tvoj program, poziva se ta procedura, kojoj se kao parametri prosleđuju kod poruke i još par informacija. U zavisnosti od toga, tvoj program radi ono što ti želiš (npr. ako je poruka WM_DESTROY, tvoj program treba da počisti za sobom :), dakle, pozatvara sve prozore, oslobodi memoriju koju je alocirao itd.). ­> Ja NE mogu da napišem : ­> ­> Function One (hDlg : Hwnd; Message : Word; wParam : Word; ­> lParam : LongInt) : Boolean TFarProc; !!!!!!!!!! ­> ================ Tačno, ne možeš, ali to ti i ne treba. Funkcija One je tipa Bool (ili Boolean, svejedno je). Treba ti i jedna promenljiva tipa TFarProc, u kojoj ćeš da čuvaš pointer na instancu funkcije One. Prvo napišeš funkciju One. Zatim, 1) Pomoću MakeProcInstance, napraviš njenu instancu i sačuvaš pointer na nju u neku promenljivu (recimo pDialogProc). 2) Sad kažeš Windowsima da napravi dialog box, i kažeš im da će funkcija One da kontroliše taj dialog box. Zatim posao preuzima funkcija One, koja vraća kontrolu nazad kad se dialog box zatvori. 3) Tada ubiješ instancu funkcije One i nastaviš dalje s radom. To u konkretnoj izvedbi izgleda ovako: -------- function One (hDialog:hWnd; Message, wParam:word; lParam:longint): Bool; export; begin ... end; procedure MakeDialog (pHandler: TFarProc; DialogID: PChar; hParent: hWnd); var pDialogProc:TFarProc; begin pDialogProc:=MakeProcInstance(pHandler, hInstance); <--1 DialogBox(hInstance, DialogID, hParent, pDialogProc); <--2 FreeProcInstance(pDialogProc); <--3 end; function MainWndProc(hWindow:hWnd; Message,wParam:word; lParam:longint): longint; export; begin MainWndProc:=0; case WParam of IDM_ONE: MakeDialog(@One,'ONE', hMainWindow); ... else MainWndProc:= DefWindowProc(hWindow, Message, WParam, LParam); end; end; -------- Nadam se da sam bar malo pomogao. Pogledaj jedan od 3-4 primera (zaboravio sam mu ime) u direktorijumu EXAMPLES, on radi upravo ono što tebi treba (otvara About dialog box na odgovarajući izbor iz menija) i moći ćeš da vidiš kako se to radi u Pascalu.
windows.248 .obj,
Ispravka: > p = szFilter; > while(*p) > if(*p++ == ',') > *--p = 0; // svaku pojavu zareza menjamo u (char)0 Ovo neće raditi ovako, nego npr. for(p = szFilter; *p; p++) if(*p == ',') *p = 0; OB Cool J
windows.249 bigbrada,
!##! Nadam se da sam bar malo pomogao. I did it, I did it!!! ;))) Hvala Pakiju, hvala Dekiju! :) Ali ne! Nemojte se obradovati pre vremena! Uskoro, vrlo uskoro će se desiti to : The Return of BIGBrada (sa gomilom (prvenstveno) glupih pitanja ;) ;))))) Pozdrav, Brada. :)
windows.250 pjankovic,
BUG kod BC++3.1? :( BCW s vremena na vrijeme prekida rad sa porukom "GENERAL PROTECTION FAULT"... :( žini mi se da se to ne dešava potpuno slučajno, već da postoje neka pravila. Naime, par puta se desilo da nekoliko puta uzastopno, prilikom kompajliranja jednog te istog fajla javi ovu grešku. Onda ja izbrišem "*.SYS" fajl (prekompajlirani heder) i sve ispravno radi. Međutim, ponekad nastavi sa radom i bez brisanja ovog fajla. Nadalje, greška se nikada ne dešava kod prvog kompajliranja vec isključivo poslije nekoliko ciklusa edit-compajl-link-run. Ovo me navodi na zaključak da krivica nije do hardvera vec do Borlanda. Da li se još nekome ovo dašava?
windows.251 paki,
­> BUG kod BC++3.1? :( ­> ­> BCW s vremena na vrijeme prekida rad sa porukom "GENERAL PROTECTION ­> FAULT"... :( žini mi se da se to ne dešava potpuno slučajno, već da Uzmi neki program tipa DrWatson, HotLine ili WinSpector, pa vidi šta će ti oni reći.
windows.252 mjova,
> grešku. Onda ja izbrišem "*.SYS" fajl (prekompajlirani > heder) i sve ispravno radi. Međutim, ponekad nastavi sa > radom i bez brisanja ovog fajla. ako se ne varam radi se SYM datoteci, a njenim brisanjem se zaista rešava problem. naime, ta datoteka služi da ubrza prevođenje, ali ako se često menjaju zaglavlja (koja ulaze u nju) onda se ona povećava. činjenica je da tu nešto nije ok, ali meni se ta greška nije skoro javila jer redovno brišem te datoteke.
windows.253 mvukolic,
Ima li interesenata za sve primere iz knjige "Programming Windows" Charlesa Petzolda? Ako ima da šaljem...
windows.254 vcalic,
>> BCW s vremena na vrijeme prekida rad sa porukom "GENERAL PROTECTION >> FAULT"... :( žini mi se da se to ne dešava potpuno slučajno, već da Nije do Borlanda. Nešto drugo je u pitanju, može biti maltene bilo šta od sistemskog softvera. Meni se isto dešavalo sa HELP fajlom (svaki put kad sam pokušao da pročitam HELP za Notification Messages mi je javljao GPF), a krivac je bio Stacker, jer je nekako razvukao svoj fajl preko bad sectora. Kad sam poskidao sve sa Stacker particije i ponovo instalirao od tad radi ko Bog. Pregledaj sve moguće drajvere, swap fajl i ostalo, verovatno je tu negde greška. Vlada
windows.255 i.a.n.,
>> BCW s vremena na vrijeme prekida rad sa porukom "GENERAL >> PROTECTION FAULT"... :( žini mi se da se to ne dešava potpuno >> >> Onda ja izbrišem "*.SYS" fajl (prekompajlirani heder) i sve >> ispravno radi. Međutim, ponekad nastavi sa radom i bez brisanja >> ovog fajla. BC++ nije baš sasvim čist u radu sa .SYM fajlovima. Primetio sam da posle izvesnog broja ispravki u zaglavljima, znači i njihovog ponovnog kompajliranja, .SYM zna nenormalno da naraste u odnosu na prvobitnu veličinu. Problem sam "rešio" tako što u .SYM držim samo windows.h i kompajliram sa -Hu. Sva ostala zaglavlja su ionako mizerno mala u odnosu na windows.h.
windows.256 dsisic,
> Ima li interesenata za sve primere iz knjige > "Programming Windows" Charlesa Petzolda? > Ako ima da saljem... Salji rodjace :)
windows.257 pjankovic,
> Uzmi neki program tipa DrWatson, HotLine ili WinSpector, pa vidi > šta će ti oni reći. HotLine ikona uvijek mi "čuči" u lijevom donjem uglu ekrana :). Smatram ovaj program vrlo korisnim i praktično nezamjenljivim. Ali on u konkretnom slučaju ostaje potpuno nijem. Inače, skoro sam siguran da je krivica u *.SYM fajlu. Sinoć je prilikom kompajliranja "iskočio" uz čuvenu poruku "GENERAL PROTECTION FAULT".:( Resetovao sam računar, ponovo pokrenuo BCW, kompajler i ponovo greška, i to na istoj liniji izvornog koda. Pošto se ovo ponovilo i treći put obrisao sam *.SYM fajl i tada je sve prošlo normalno.
windows.258 pjankovic,
> Ima li interesenata za sve primere iz knjige > "Programming Windows" Charlesa Petzolda? Naravno!:)
windows.259 spantic,
> Ima li interesenata za sve primere iz knjige > "Programming Windows" Charlesa Petzolda? Ima, ima :)
windows.260 fancy,
ŮŢ> Ima li interesenata za sve primere iz knjige ŮŢ> " Programming Windows" Charlesa Petzolda? ŮŢ> Ako ima da šaljem... Daaaa! :)
windows.261 markom,
■■■ Ima li interesenata za sve primere iz knjige ■■■ "Programming Windows" Charlesa Petzolda? ■■■ Ako ima da šaljem... Pošto će verovatno da kažu da nije PD/SW, ti meni lepo to pošalji na mail, OK ? :)) Marko
windows.262 fancy,
ŮŢ> Pošto će verovatno da kažu da nije PD/SW, ti meni lepo to pošalji na mail, ŮŢ> OK ? Nije OK... A ostali..? Group..?
windows.263 dvesic,
Cao ! Molim Vas, ako neko ima program koji pod Windowsima zamenjuje misa kurzorskim tasterima da mi ga posalje u mail. (Na jednom racunaru je instaliran Win, nema misa ali mi je preko potreban) ! Unapred zahvalan, Dejan.
windows.264 dekiper,
E; možda je ovo već i bilo ali mi treba fora sa kojom bi pronašao kpod kojom verzijom Windows-a program radi (naravno iz C-a)... Pozdrav, Deki
windows.265 hobit,
> Ima li interesenata za sve primere iz knjige > "Programming Windows" Charlesa Petzolda? > Ako ima da šaljem... Samo šalji. Ako nemože u conf. mail je otvoren
windows.266 djelovic,
> Pošto će verovatno da kažu da nije PD/SW, ti meni lepo to pošalji na mail, Primeri iz knjige su uvek PD. Prilog je dobrodošao, uz predlog Bulaji da to odmah prebaci u dir.
windows.267 bigbrada,
!##!> Ako ima da saljem... !##! !##! Salji rodjace :) Noge kako!! :) Brada.
windows.268 bigbrada,
Kako se zove funkcija koja mi kaže da li je CheckBox aktiviran ili nije? Izgiboh, ali to ne nađoh... :( Brada.
windows.269 vcalic,
>> Ima li interesenata za sve primere iz knjige >> "Programming Windows" Charlesa Petzolda? >> Ako ima da šaljem... Ima. Vlada
windows.270 vcalic,
>> E; možda je ovo već i bilo ali mi treba fora sa kojom bi pronašao kpod >> kojom verzijom Windows-a program radi (naravno iz C-a)... DWORD GetVersion(void) U Windows-u 3.1 je DWORD, u ranijim verzijama izlaz je WORD. U nižih 16 bita je Windows verzija. Viši bajt je "minor" (tj. broj iza tačke, kod Win 3.1 je 10) a niži bajt "major" (kod Win 3.1 je 3). U viših 16 bita je verzija DOS-a, s tim što je u višem bajtu "major" a u nižem "minor". U ranijim verzijama Windowsa izlaz je tipa WORD i sadrži samo Windows verziju. Vlada
windows.271 asterix,
Jel instalirao neko CL5422 v1.4 drivere sa sezama ? Desava mi se dosta cudna stvar. Install krene, pita gde je win direktorijum, i pocne da kopira prvi file koje 16 color driver i vrti se sam jako dugo. Najduze sto sam ga pustio bilo je 15 min. Any hints ?
windows.272 mvukolic,
Charles Petzold "Programming Windows" petzold.zip
windows.273 dekiper,
> Kako se zove funkcija koja mi kaže da > li je CheckBox aktiviran ili nije? > Izgiboh, ali to ne nađoh... :( Zavisi od toga da li ti je CheckBox u okviru prozora ili dijaloga! Ako je u okviru prozora onda si mu dodelio neki HWND kada si ga kreirao... recimo: HWND hCheckBox; hCheckBox=CreateWindow("Button","Deki",BS_CHECKBOX đ WS_CHILD đ WS_VISIBLE,20,40,80,20,IDC_DEKI); Onda ćeš sa jednim: if(SendMessage(hCheckBox, BM_GETCHECK, 1, 0L)) videti da li jeste ili nije. Ako je u okviru dijaloga onda: hDlg je handle dijaloga, a IDC_CHECKBOXUDLG identifikacioni broj objekta u dijalogu (definisao si ga u .RES , već smo o tome raspravljali!). if(SendMessage(GetDlgItem(hDlg, IDC_CHECKBOXUDLG), BM_GETCHECK, 0, 0L)) ako je TRUE (!=0) onda jeste a ako je FALSE (0) onda nije! Pozdrav, Deki
windows.274 paki,
­> E; možda je ovo već i bilo ali mi treba fora sa kojom bi pronašao kpod ­> kojom verzijom Windows-a program radi (naravno iz C-a)... GetVersion (Windows API function) Declaration function GetVersion: Word; Description Retrieves Windows' current version number Return value Minor version number in high-order byte Major version number in low-order byte
windows.275 kenza,
(;> Ima li interesenata za sve primere iz knjige (;> "Programming Windows" Charlesa Petzolda? Naravno ;) Monumentalno ;)
windows.276 goranr,
Skinuo sam sa sezama Oberon4Win, instalirao sam Win32s, sve fino uradio, startovao Share /f:16384 /l:255, set oberondirs=E:Đoberon;e:ĐoberonĐfonts, igra FreeCell radi, ali Oberon kad ga startujem javlja Dos grešku 21? Da li je to greška 15h ili 21h? Ako je 21h, onda je problem sa zaključavanjem fajlova.... a ne bi trebalo da ga bude... Please help me!!!!!! ÔOPAH
windows.277 markom,
■■■ Group..? Može ... Marko
windows.278 pbojan,
>> Nije OK... A ostali..? >> Group..? Evo, i ja 'ocu :).
windows.279 dekiper,
E, može grupa ali bez suvišnih članova, moliću lepo. Imam već dosta iskustva sa ljudima koji bi daj bože ali da budu u nekoj grupi. Hajde da se organizujemo i da se to lepo i pošteno uradi i ne samo to (mislim na Petzold-a). Predlažem da vođa grupe bude .obj pošto je najiskusniji i moći će da proceni ko je višak a ko nije. Dakle Obrade... Pozdrav, Deki
windows.280 markom,
■■■ Charles Petzold "Programming Windows" Hvala :) Marko
windows.281 .obj,
> if(SendMessage(GetDlgItem(hDlg, IDC_CHECKBOXUDLG), BM_GETCHECK, 0, 0L)) > > ako je TRUE (!=0) onda jeste a ako je FALSE (0) onda nije! Može i jednostavnije, pozivom funkcije IsDlgButtonChecked(). Na primer, if(IsDlgButtonChecked(hDijalog, CheckBoxID)) ... Slično, ako treba "uključiti" neki CheckBox ili RadioButton, nije neophodno slati poruku BM_SETCHECK, dovoljno je samo CheckDlgButton(hDijalog, CheckBoxID); P.S. Svi koji oće u grupu winp - nek' kažu, i nek požure pošto nema više puno mesta.
windows.282 kenza,
(;> Svi koji oce u grupu winp - nek' kazu, i nek pozure posto (;> nema vise puno mesta. Ajde baci me tamo ;) please ;)
windows.283 .obj,
Rekosmo da ovu temu treba održavati zarad novajlija u win-programiranju. Pa, evo rezultata mog jednočasovnog mučenja i to po sred ispitnog roka. :)) Radi se o malom tekstu na temu subclassiranja (nisam znao ovo da prevedem, majke mi). Subclassiranje prozora žesto je potrebno izmeniti "default" ponašanje neke standardne kontrole. Naime, standardne kontrole (za one koji ne znaju šta je to, to su standardni Windows elementi kao Button-i (tasteri), Edit polja, ListBox-ovi za izbor stvari iz liste itd) su napravljene tako da zadovoljavaju jedan minimum potreba koje se javljaju u normalnom radu. Obezbeđene su i malo finije mogućnosti, uglavnom u domenu regulisanja spoljašnjeg izgleda standardnih kontrola (tzv. owner draw Button-i, ListBox-ovi itd). Međutim, šta ako to nije dovoljno? Reklo bi se da nije moguće, na primer, obezbediti da se pritiskom na taster Ctrl-Q u standardnom Edit polju pojavi tekuće vreme i datum, a da nije potrebno iznova pisati sve one kerefeke koje podržava standardno Edit polje. Da bi ovo postigli, potrebno je upotrebiti "mehanizam" subclassiranja. Potencijalni problemi Na isti način kako se subclassiraju prozori, mogu se subclassirati i klase prozora. Raditi to sa standardnim klasama (Button, Edit...) nije nimalo preporučljivo, jer se time menja ponašanje *svih* prozora u sistemu koji pripadaju klasi koju subclassiramo! Zato se praktikuje samo subclassiranje pojedinačnih prozora. U određenim situacijama, naravno, neophodno je subclassiranje klasa prozora, ali to praktično rade samo programi tipa ALL3D, a takvi se ne prave baš svaki dan. Kako subclassirati prozor Iako zvuči opako, subclassiranje prozora je u principu veoma jednostavno - rutinska operacija. Naime, svaki prozor u sistemu ima svoje "lične i personalne" podatke - ime, stil, handle roditeljskog prozora, pointer na "servisnu" funkciju (WndProc), ID (ukoliko se radi o child prozoru) i još neke podatke. Da bi se pročitale neke od tih vrednosti, koriste se funkcije GetWindowLong() i GetWindowWord(). Na primer, DWORD Style = (DWORD)GetWindowLong(hProzor, GWL_STYLE); Ovime smo, dakle, "očitali" stil prozora, koji dalje možemo testirati logičkim operatorima da bismo saznali da je prozor, na primer, vidljiv (bit WS_VISIBLE). Naravno, taj podatak se može očitati i funkcijom IsWindowVisible(), ali ovo je, jelda, samo primer. Na potpuno isti način moguće je i menjati podatke koji pripadaju nekom prozoru a koriste se, logično, funkcije SetWindowWord() i SetWindowLong(). Stižemo do subclassiranja. Ono što bi nama bilo potrebno je da nekako "preusmerimo" servisnu funkciju (WndProc) na neku našu funkciju, tu uradimo ono što želimo i zatim samo pozovemu "staru" (tj. originalnu) prozorsku servisnu funkciju. Ukratko, ideja je sledeća: StaraWindowProcedura = OčitajWindowProceduru ( hProzor ) PostaviNovuWindowProceduru ( hProzor, NovaWindowProcedura ) ... proc NovaWindowProcedura: if(PrisitnutoCtrlQ) ...pošalji StarojWindowProceduri trenutni datum i vreme u ASCII obliku. Najlakše je to uraditi tako što se StarojWindowProceduri šalju poruke WM_CHAR (pritisak na ASCII karakter) koje ona automatski "ispisuje" u Edit prozor else Pozovi(StaraWindowProcedura) Konkretno, stvar bi ličila na nešto tipa: // Long Pointer to FuNction, lpfn, dva komada, globalne // promenljive WNDPROC lpfnStaraWndProc, lpfnNovaWndProc; // prelazimo na stvar: // // napravimo instancu novog WndProc-a na koji // hoćemo da preusmerimo tok poruka lpfnNovaWndProc = (WNDPROC)MakeProcInstance( (FARPROC)NovaWndProc, hInst); // očitajmo originalnu WndProc, da bi se kasnije mogla pozivati // preko CallWindowProc(). lpfnStaraWndProc = (WNDPROC)GetWindowLong( hProzor, GWL_WNDPROC); // najzad: postavljamo novu WndProc SetWindowLong( hProzor, GWL_WNDPROC, (LONG)lpfnNovaWndProc); // Moguće je poslednja dva poziva spojiti u jedan - pošto // SetWindowLong() ujedno i vraća originalnu vrednost promenljive // GWL_WNDPROC, međutim, ovako je možda malo očiglednije. Upravo smo izvršili subclassiranje prozora "hProzor"! Podrazumeva se, naravno, da smo ga pre toga kreirali (bilo preko CreateWindow() ili je to uradio DialogBox za nas). Ukoliko se subclassira kontrola u okviru dijaloga (najčešći slučaj), ovo sve gore se poziva kao reakcija na poruku WM_INITDIALOG. Ostaje još samo da se napravi NovaWndProc. Ona ima istu strukturu kao i bilo koja standardna WndProc, samo što na kraju mora (ili bi trebalo) da pozove "staru", tj. originalnu WndProc. To pozivanje ide preko funkcije CallWindowProc(). Evo kako izgleda NovaWndProc: LRESULT FAR PASCAL NovaWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { // sve je potpuno standardno, uključujući i obavezu da se ova // funkcija EXPORT-uje! // taster Ctrl+Q ima kod 17: if(message == WM_CHAR && (char)wParam == 17) { // par pomoćnih promenljivih da bi se očitao datum i vreme time_t v; char *vreme; // očitajmo trenutno vreme i datum: time(&v); vreme = asctime(localtime(&v))); // ... i pošaljimo ga u Edit prozor kao da ga ručno kuca // korisnik: while(*vreme != '\n') { // asctime završava string sa '\n' // simuliramo kucanje slanjem poruka WM_CHAR u // originalnu WndProc CallWindowProc( lpfnStaraWndProc, // zovemo WndProc koja pripada // originalnoj Edit klasi hWnd, // šaljemo istom prozoru... WM_CHAR, // poruku WM_CHAR... (WPARAM)*vreme, // pritisnut je ASCII taster 0); vreme++; } // pravimo se kao da se ništa nije desilo: return NULL; } // ako korisnik nije pritisnuo Ctrl+Q, samo treba pozvati // staru WndProc da bi ona uradila sve što inače radi // WndProc jednog Edit prozora return CallWindowProc(lpfnStaraWndProc, hWnd, message, wParam, lParam); } Potrebno je i, nakon uništavanja subclassiranog prozora, poništiti kreiranu instancu funkcije NovaWndProc. Ukoliko se radi o dijalogu, reakcija na poruku WM_DESTROY bi bila: BOOL FAR PASCAL AbcDlgProc(...) ... case WM_DESTROY: // uništimo instancu funkcije NovaWndProc FreeProcInstance(lpfnNovaWndProc); ... I time smo uradili sve što je potrebno da bi edit-polje u dijalogu na pritisak tastera Ctrl+Q prikazivalo trenutni datum i vreme (btw, u formatu "Thu Jan 27 13:39:06 1994"). Have fun! OB Cool J
windows.285 pjankovic,
> E, može grupa ali bez suvišnih članova, moliću lepo. Imam već dosta Sada ste me podsjetili da već postoji jedna grupa koja se bavi Windows programiranjem. Zove se winprog i njen vlasnik je dragan.jurić. Ako me sjećanje ne vara, već više od godinu dana nije emitovala ni jednu poruku.:( Nadam se da ova nova grupa neće doži- vjeti istu sudbinu:).
windows.286 ognjen,
[reply to .obj] )-> Svi koji oce u grupu winp - nek' kazu, i nek pozure posto )-> nema vise puno mesta. Nije li glupo otvarati grupu, kad ima ta tema u konferenciji?
windows.287 robert,
>> Charles Petzold "Programming Windows" Ok, a sad bih voleo da znam sledeće stvari: - da li neko ima tu knjigu i voljan je da mi je pozajmi na dan da je iskopiram i - za kopji kompajler su pisani primeri u knjizi ona prva stavka mi je veoma bitna :). Još bi me zanimalo da li neko ima Visual C++ i neku literaturu, voleo bih da to malo pogledam :).
windows.289 bigbrada,
!##! if(SendMessage(GetDlgItem(hDlg, IDC_CHECKBOXUDLG), !##! BM_GETCHECK, 0, 0L)) !##! !##! Pozdrav, Deki Thanx. :) Brada.
windows.290 zormi,
* Još bi me zanimalo da li neko ima Visual C++ i neku literaturu, * voleo bih da to malo pogledam :). Imam Visual C++ 1.0, ali sam zagubio literaturu... Izašao je i VC++ 1.5, izgleda na CD-u.
windows.291 markom,
■■■ Imam Visual C++ 1.0, ali sam zagubio literaturu... ******* :)))))) ili je nisi ni imao ;))) Marko
windows.292 dekiper,
Definiši ZAGUBIO, a onda ćemo svi da te bijemo! Pozdrav, Deki
windows.293 vcalic,
>> - za kopji kompajler su pisani primeri u knjizi Za MSC 6.0 + SDK. BTW, nije loše dobro prostudirati Petzolda, ali može se i bez toga vrlo lepo i lako programirati pod Windows-om. Npr. Help za BC3.1 sadrži maltene sve potrebne informacije, a neki osnovni koncepti se mogu izvući iz raznih source-ova priloženih uz kompajlere, a i iz raznih PD arhiva kojih ima i po Sezamu. Vlada
windows.294 jovca.car,
/* Imam Visual C++ 1.0, ali sam zagubio literaturu... "Zagubio" literaturu od nekoliko hiljada strana??? Cuj, nasi smo, kazi slobodno da je nikad nisi ni video...:)
windows.295 bigbrada,
!##! Svi koji oće u grupu winp - nek' kažu, i nek požure pošto !##! nema više puno mesta. Ubacuj me!!! Brada.
windows.296 bigbrada,
Opet problem. Imam dijalog koji uzima parametre za Edit Window iz fajla. E sad, u tom dijalogu imam Button koji treba da otvori isti dijalog, ali sa drugim parametrima (koje takođe uzima iz fajla). Evo primera : Function Primer (Dialog : HWnd; Poruka, WParam: Word; LParam: Longint): Bool; export; begin Primer := True; Case Poruka of wm_InitDialog : begin Reset (DBPrimer); Seek (DBPrimer, GdeDaIdem); Read (DBPrimer, HelpPrim); Close (DBPrimer); SetDlgItemText (...); ... Exit; end; wm_Command : begin Case WParam of 001 : begin GetDlgItemText (...); ... EndDialog (Dialog, 1); Exit; end 800 : begin Inc (GdeDaIdem); ????????? end 002 : begin EndDialog (Dialog, 1); Exit; end; end; end; end; Primer := False; end; Kada pritisnem taj Button, onda uvećavam GdeDaIdem, i treba ponovo da se pozove funkcija Primer. Stavio sam to ali se ništa ne dešava. Pokušao sam i ovo Poruka := wm_InitDialog; ali nije uspelo. Šta treba da uradim da bi radilo? Brada.
windows.297 zbubnjevic,
Zainteresovan sam za učešće u winp grupi. Pa ako može rado bih pristupio. zbubnjevic!
windows.298 i.a.n.,
>> Opet problem. Imam dijalog koji uzima parametre za Edit Window >> iz fajla. E sad, u tom dijalogu imam Button koji treba da otvori >> isti dijalog, ali sa drugim parametrima (koje takođe uzima iz >> fajla). Da li hoćeš da otvaraš novi dialog box ili samo da promeniš parametre postojećeg? Ako je ono prvo, moraš ponovo da zoveš DialogBox(). U drugom slučaju probaj da izdvojiš sva podešavanja elemenata u proceduru, pa je zovi i kad obrađuješ WM_INITDIALOG i kad se pritisne to dugme. Recimo Function Primer (Dialog : HWnd; Poruka, WParam: Word; LParam: Longint): Bool; export; (* Ovde su podešavanja *) Procedure SetDlgPara(Dialog: HWnd; ...); begin SetDlgItemText(...); ... end; begin Primer := True; Case Poruka of wm_InitDialog: begin Reset (DBPrimer); Seek (DBPrimer, GdeDaIdem); Read (DBPrimer, HelpPrim); Close (DBPrimer); SetDlgPara (Dialog, ...); (* zoveš podešavanja *) ... Exit; end; wm_Command: begin Case WParam of 001: begin GetDlgItemText (...); ... EndDialog (Dialog, 1); Exit; end 800: begin Inc (GdeDaIdem); ... (* ponovo zoveš proceduru za podešavanja *) SetDlgPara(Dialog, ...); ... end; end; end; Primer := False; end;
windows.299 markom,
■■■ Svi koji oće u grupu winp - nek' kažu, i nek požure pošto ■■■ nema više puno mesta. Jes' da sam svež u toj oblasti, ali ako ima mesta ... :) Marko
windows.300 zormi,
*/ * Imam Visual C++ 1.0, ali sam zagubio literaturu... * * "Zagubio" literaturu od nekoliko hiljada strana??? * Cuj, nasi smo, kazi slobodno da je nikad nisi ni video...:) Nikad je nisam ni video. Kolega je doneo diskete iz Hong Konga (piratske) ali je u presedanju izgubio torbu sa nekakvom knjigom za to. Doneo je samo knjigu za Visual Basic, ali v1.0. :(
windows.301 djelovic,
Zna li ko koje konstante treba da "isključim" iz stila proznÔa pa da nema titlebar, tj. da se sastoji samo od okvira i sredine?
windows.302 pjankovic,
> Zna li ko koje konstante treba da "isključim" iz stila proznÔa pa > da nema titlebar, tj. da se sastoji samo od okvira i sredine? Ne znam koje konstante ti sada stoje u stilu prozora, ali probaj da ostaviš samo WS_BORDER. Inače, konstanta WS_CAPTION je zadužena za Title bar.
windows.303 dekiper,
> Zna li ko koje konstante treba da "isključim" iz stila proznÔa pa > da nema titlebar, tj. da se sastoji samo od okvira i sredine? Stavi recimo samo: WS_OVERLAPPED đ WS_THICKFRAME i prozor će biti onakav, kako si ga ti opisao :)) Pozdrav, Deki
windows.304 djelovic,
> Stavi recimo samo: WS_OVERLAPPED đ WS_THICKFRAME i prozor će biti > onakav, kako si ga ti opisao :)) Neće. Probao sam sve, probao sam da isključim WS_BORDER i/ili WS_CAPTION, međutim ništa ne šljaka. BTW, Clock koji dolazi uz Windowse ima mogućnost da radi bez titlebara. Zna li ko kako da "pročitam" njegove atribute?
windows.305 pjankovic,
// Neće. Probao sam sve, probao sam da isključim WS_BORDER i/ili WS_CAPTION, Da možda tvoj prozor nema WS_OVERLAPPED ili WS_OVERLAPPEDWINDOW stil? Ova dva stila u sebi impliciraju da prozor ima Title bar.
windows.306 djelovic,
> Da možda tvoj prozor nema WS_OVERLAPPED ili WS_OVERLAPPEDWINDOW stil? Ova d > stila u sebi impliciraju da prozor ima Title bar. Nema. Proverio sam kako to radi Clock koji dolazi uz Windows, i izgleda da cela stvar nema uopšte veze sa atributima (?). Sad pokušavam da nekako promenim "Client rectangle" prozora, al' mrka kapa :(.
windows.307 paki,
­> Nema. Proverio sam kako to radi Clock koji dolazi uz Windows, i izgleda ­> da cela stvar nema uopšte veze sa atributima (?). Sad pokušavam da ­> nekako promenim "Client rectangle" prozora, al' mrka kapa :(. Jesi li rešio problem? Ako nisi, možda pomogne: CreateWindowEx(ExStyle:integer; ...) Parameter Description WS_EX_DLGMODALFRAME Designates a window with a double border that may (optionally) be created with a title bar by specifying the WS_CAPTION style flag in the ExStyle parameter)
windows.308 drdjokic,
Da li postoji mogucnost stampanja kompletnog WINDOWS helpa (bilo u fajl, bilo na stampac) ali ne sa print screen. Hvala unapred !
windows.309 slazic,
Ljudi da li neko ima literaturu za Visual Basic 3.0 Hvala unapred slazic
windows.310 dcolak,
│ Ljudi da li neko ima literaturu za Visual Basic 3.0 Eh, da vidiš kako je samo loše napisana. Za razliku od MSC6.0 koji je imao stvarno odlično urađenu literaturu, ovo je užas... Da te utešim, help je dovoljan, samo, ako ti je potrebna informacija o Custom Controls udari search i ukucaj ih... Sledge DAMMIR!
windows.311 slazic,
Hvala :)
windows.312 luks,
Evo ovako: Moj drugar, kome je istekla pretplata na Sezam, čitao je moj PAD pa me je zamolio da pošaljem par replika u ovu temu, što ja ovom prilikom i radim. Tako da ubuduće, ako se pojavi neka poruka u ovoj temi, to nije moje delo nego mog drugara (username: fole). Nadam se da uprava nema ništa protiv, jer će poruke biti stručne (nadam se, pošto nemam pojma sa win programiranjem) što može samo da podigne nivo rasprave. :) Pozdrav, luks
windows.313 luks,
> Nema. Proverio sam kako to radi Clock koji dolazi uz Windows, i izgleda da > cela stvar nema uopšte veze sa atributima (?). Sad pokušavam da nekako > promenim "Client rectangle" prozora, al' mrka kapa :(. Evo gledam sa WinSight-om Clock, lepo piše: Overlapped Visible ClipSiblings Border ThickFrame I stvarno neradi!! Iako je ukupan zbir 0x14840000, Windows-i od toga naprave 0x14C40000 što je tačno ovo gore + WS_CAPTION? Malo sam se igrao i evo odgovora. Za style uzmi sledeće atribute: WS_POPUP, WS_VISIBLE, WS_BORDER, WS_THICKFRAME. Probao sam radi! BDW, ako je neko imao nekada posla sa Win Helpom zna za termin PopupId. The PopupId macro displays a topic from a specified file in a pop-up window. To je onaj istaknuti prozor, a on stvarno nema naslov. Šaljem i mali primer koji objašnjava kako CLOCK radi one stvari ;), čas ima title bar a čas nema. Možda će nekoga zanimati joć poneki 'fazon' pa neka slobodno pita. Nisam ja baš neki mag ali ponešto se i zna. title_yn.zip
windows.314 djelovic,
> Za style uzmi sledeće atribute: > WS_POPUP, WS_VISIBLE, WS_BORDER, WS_THICKFRAME. > Probao sam radi! Imaš piće od mene. > Možda će nekoga zanimati joć poneki 'fazon' pa neka slobodno pita. Nisam > ja baš neki mag ali ponešto se i zna. Kako sada da obezbedim pomeranje (move) mišem ovakvog prozora koji nema titlebar za koji bi se "uhvatio"? Clock možeš da uhvatiš bilo gde i da ga pomeraš, iako nema titlebar. Napravio sam, doduše, rutinu za pomeranje ovakvih prozora, ali to nije ono ugrađeno Windows pomeranje, već "na mišiće".
windows.315 dragisha,
Postoji li način da DOS aplikacija saopšti Windows-u da je IDLE? Naravno, radi u prozorčetu i želim da olakšam slajsovanje. Postoji li negdje info o 'API'ju DOS aplikacija ka Windows-u? -- [A hundred thousand lemmings can't all be wrong...]
windows.316 dzakic,
> Postoji li način da DOS aplikacija saopšti Windows-u da je IDLE? > Naravno, radi u prozorčetu i želim da olakšam slajsovanje. Postoji > li negdje info o 'API'ju DOS aplikacija ka Windows-u? Postoji: mov ax,$1680 ; Give up time slice int $2F MS Windows detektuješ sa: mov ax,$1600 int $2F vrati se verzija u ah i al. Ako je al=00h ili 80h, nema windowsa. Izvor: inter30 iz direktorijuma. Postoji to isto i za DesqView. Zak
windows.317 luks,
> Kako sada da obezbedim pomeranje (move) mišem ovakvog prozora koji nema > titlebar za koji bi se "uhvatio"? Clock možeš da uhvatiš bilo gde i da ga > pomeraš, iako nema titlebar. Napravio sam, doduše, rutinu za pomeranje > ovakvih prozora, ali to nije ono ugrađeno Windows pomeranje, već "na mišiće". Imao prozor Title bar ili ne, uvek možš da mu pošalješ sistemsku poruku. Samom sebi! Nešto poput ovoga: case WM_LBUTTONDOWN: SendMessage( hwnd, WM_SYSCOMMAND, SC_MOVE đ HTCAPTION, 0l); return 0 ; Pošalješ mu SC_MOVE + prevariš ga kao da si kliknuo na HTCAPTION! Bitno je samo da vratiš 0 kako poruka ne bi propala do DefWindowProc. BDW, ovakav MOVE pomera i MAXIMIZED window!! Have fun.
windows.318 luks,
> Da li postoji mogucnost stampanja kompletnog WINDOWS helpa (bilo u fajl, > bilo na stampac) ali ne sa print screen. > > Hvala unapred ! Petljamo nešto. You will be first to know about that!
windows.319 novim,
nezavisno od Bila u Tolstojevoj, ima li negde Microsoft Help Compiler (HC32.EXE)? (prevodi .RTF u .HLP)
windows.320 zbubnjevic,
Ukoliko tražiš hc31.exe možeš ga nači u Borlandovom BC++ 3.1 paketu, a ako ti to nije dovoljno na FON-ovom BBS-u možeš nači datoteku WHAT.ZIP (ili tako nešto) to je kompajler koji produkuje .hlp (rtf->hlp) sa skromnim shell-om. Ili nabavi MSWord 6.0, po meni najbolje rešenje za kreiranje help-ova.
windows.321 ppekovic,
>> nezavisno od Bila u Tolstojevoj, ima li negde Microsoft Help >> Compiler (HC32.EXE)? (prevodi .RTF u .HLP) Ima na FFS-u (arhiva what.zip). Istina, nije HC32 već HC31. Paya
windows.322 dzoric,
Hi, Novi sam ovde. Evo ovako: Poceo sam da cackam sa SDK 3.0 i MS C 6.0, jer imam knjigu C.Petzold-a pa mogu lepo da pratim primere. Ali linker mi uvek javi da _crtused nije definisMMMMMMana funkcija. Nekad mi se javi da f-ja _main nije definisana.
windows.323 dvesic,
Da li neko zna tacnu strukturu BMP fajla ? Pozdrav, Dejan.
windows.324 peca.st,
!-> Da li neko zna tacnu strukturu BMP fajla ? Vrlo je prosta (pominjano je to ovde skoro, samo sam ja zaboravio da pošaljem) i sa jednim drugom sam napravio brz viewer za bmp. Podseti me preko maila da to pošaljem ako ti treba. Peđa.
windows.325 ficus,
Nekad mi se javi da f-ja _main nije definisana. ----- Jeli jesi li mu podesio opcije za win. prg.
windows.326 peacock,
Upgrade Windowsa sa 3.10 na 3.11 radi i ako to uradite W3.1EE. Zadržite stari gdi.exe.
windows.327 msijanec,
Da li neko prodaje Petzoldovu knjigu? Jako sam zainan da je kupim. mail send msijanec Filip.
windows.328 mjova,
postoji li neki gotivan helpić za win api? silno me zanima. ovde sam video neke stvari, ali ne znam ima li nešto bolje?
windows.329 mnikolic,
>> postoji li neki gotivan helpić za win api? silno me zanima. ovde sam >> video neke stvari, ali ne znam ima li nešto bolje? Pa najbolji je onaj što ide uz BCW 3.1 Vlada
windows.330 spantic,
> Upgrade Windowsa sa 3.10 na 3.11 radi i ako to uradite > W3.1EE. Zadržite stari gdi.exe. Jesi baš siguran za GDI? Naime, probe radi ja sam zamenio i njega. Uopšte nisam imao nikakvih problema normalna štampa i sve ostalo. Posle sam ga ipak patchovao sa GDIFIXom ;)
windows.331 peacock,
Upgrade Windowsa sa 3.10 na 3.11 radi i ako to uradite W3.1EE. Zadržite stari gdi.exe.
windows.332 peacock,
#### Jesi baš siguran za GDI? Naime, probe radi ja sam zamenio i #### njega. Uopšte nisam imao nikakvih problema normalna štampa i #### sve ostalo. Posle sam ga ipak patchovao sa GDIFIXom ;) Meni je novi GDI.EXE ubacio neke ekranske fontove koji nemaju veze sa ovim našim. Bila mi je hića da nešto pišem, pa sam probao sa starim, i sve je prošljakalo kako treba. Kod kuće mi je novi GDI.EXE, urađen je GDIFIX i proradilo je. Kod ortaka ovo uopšte ne šljaka. Neke bubice Windowsa?
windows.333 saricl,
> Svi koji oće u grupu winp - nek' kažu, i nek požure pošto nema više > puno mesta. Pa nedavno sam nabavio VB-3.0 pa bi cenio ako neko mo×e da mi pomogne da napravim prve korake. Tako­e ako se u toj grupi raspravlja o sliŠnim temama molio bih prikljuŠak. DARKO.
windows.334 saricl,
> Ljudi da li neko ima literaturu za Visual Basic 3.0 > Hvala unapred Ajd ako neÜto ŠujeÜ javi i ja sam preko zainteresovan, a u micro knjigi ka×u tek posle septembra. :(((
windows.335 bdm.,
## Pa nedavno sam nabavio VB-3.0 pa bi cenio ako neko mo×e da ## mi pomogne da napravim prve korake. Za početak startuj tutorial, super je urađen i brzo ćeš sve shvatiti, plus što je dokumentacija dovoljno obilata... BDM.
windows.336 dcolak,
│ Ajd ako neÜto ŠujeÜ javi i ja sam preko zainteresovan, │ a u micro knjigi ka×u tek posle septembra. :((( Set Code... Sledge DAMMIR!
windows.337 bigbrada,
*>> Ajd ako neÜto ŠujeÜ javi i ja sam preko zainteresovan, *>> a u micro knjigi ka×u tek posle septembra. :((( SET CODE, SET CODE, SET CODE i SET CODE!!!!! Brada.
windows.339 robert,
Kako to na Sezamu nema Help Compiler-a za Win? U DOC-u od onog drhelp-a se kaže da postoji verzija 3.x na nekom FTP serveru...
windows.340 iboris,
Ł Tako­e ako se u toj grupi raspravlja... Mogao bi da podesiš raspored.
windows.341 robert,
>> Kako to na Sezamu nema Help Compiler-a za Win? U DOC-u od onog E, nema na Sezamu ali ima na FFS-u :). Zove se WHAT.ZIP.
windows.342 ppekovic,
>> Kako to na Sezamu nema Help Compiler-a za Win? U DOC-u od onog >> drhelp-a se kaže da postoji verzija 3.x na nekom FTP serveru... Help compiler postoji na FFS-u. Mali je problem što je arhiva, koliko se sećam, nešto veća od 1M. Paya
windows.343 novim,
">> Kako to na Sezamu nema Help Compiler-a za Win? " E, nema na Sezamu ali ima na FFS-u :). Zove se WHAT.ZIP. I dugačko 1,309,697. (Koliko je sam HC31.EXE i osnovne biblioteke?)
windows.344 mnikolic,
>> I dugačko 1,309,697. (Koliko je sam HC31.EXE i osnovne biblioteke?) HC31 je oko 250K nezipovano. Potrebni su i WHAT31.DOT, template za WinWord i WHAT.HLP, help fajl za rad sa pomenutim template-om. Ko hoće da pravi skokove i pop-up prozore iz bitmap fajlova, treba mu i HOTSPOT (postoji i u BCW-u), koji je sa sve help-om oko 200K nezipovano. Vlada
windows.345 sifist,
> Pa nedavno sam nabavio VB-3.0 Ako ti nije problem javni mi gde si nabavio VB-3.0 jako sam zaintresovan odnosno ako neko ima neka mi se javi. Pozdrav :)
windows.346 fancy,
ŮŢ> Ako ti nije problem javni mi gde si nabavio VB-3.0 jako sam zaintresovan ŮŢ> odnosno ako neko ima neka mi se javi. MiSoft, 850 DEM. (profesionalna verzija) Njihove reklame su po svim časopisima koji se bave računarima.
windows.347 ziva,
Zdravo svima, Ovde sam novi pa se unapred izvinjavam ako je o ovome već bilo reči. Interesuje me da li se neko bavi programiranjem pod WFWG. Preciznije zanima me kako se koriste mrežne funkcije. Dal' možda postoje nove API funkcije koje se odnose na rad u mreži. čiva
windows.348 novim,
" Abulafia is a Windows program designed for keeping a diary. It has many features, including; - Multiple topics (documents) per day - Secure password encryption - Week display window The name Abulafia, in case you are wondering, is taken from Umberto Eco's book, "Foucault's Pendulum". Abulafia is in the public domain. " abulafia.zip
windows.349 dr.grba,
>> Abulafia is a Windows program designed for keeping a diary. It has >> ... >> - Secure password encryption Za one koji nisu čitali "Fukoovo klatno" jedan hint: Ako vas program ljubazno pita "Znate li lozinku?", odgovorite... ... ... Ne, ipak uzmite knjigu. (((:
windows.350 paki,
Kako da zadovoljim Borlandov tlink, koji mi konstantno javlja da je funkcija _main u modulu WINMAIN nedefinisana, iako je ima? Pretpostavljam da je problem u .mak fajlu; da li ovaj radi (napravljen c&p metodom od whello.mak)? plib.exe: plib.obj plib.def plib.res tlink /Tw /v /n /c C:\BORLANDC\LIB\c0ws plib,\ plib,\ ,\ C:\BORLANDC\LIB\cws C:\BORLANDC\LIB\cs C:\BORLANDC\LIB\import,\ plib rc plib.res .c.cpp.obj : BCC -c -ms -v -W $< .rc.res : rc -r -iC:\BORLANDC\INCLUDE $<
windows.351 paki,
­> Kako da zadovoljim Borlandov tlink, koji mi konstantno javlja da ­> je funkcija _main u modulu WINMAIN nedefinisana, iako je ima? Zezao sam se još malo s ovim, i ustanovio sam da je problem u tome što je nešto loše podešeno, pa je tako npr. WndProc non-public symbol, iako bi trebalo da je obrnuto. Pošto ne znam C baš dobro, uporediću ovo s Paskalom: dešava se nešto slično tome da su sve deklaracije prebačene iz interface u implementation sekciju. Kako ovo vratiti na normalu?
windows.352 djelovic,
> Kako da zadovoljim Borlandov tlink, koji mi konstantno javlja da > je funkcija _main u modulu WINMAIN nedefinisana, iako je ima? Ovo mi se desilo baš danas. Ispalo je da sam u projektu greškom za glavni fajl kliknuo na "Exclude from link" umesto na "Exclude debug info". Inače, ta j dijalog se dobija kada u projekt prozoru udariš Ctrl-O
windows.353 dgrbic,
:: Kako da zadovoljim Borlandov tlink, koji mi konstantno :: javlja da je funkcija _main u modulu WINMAIN :: nedefinisana, iako je ima? Probaj da deklarises main kao _cdecl, ili dodaj u opcije za kompajler -p- (use C calling convention). Za Win. programe je default _pascal deklaracija, a main mora da bude _cdecl. Grba
windows.354 .braca,
Znali neko da mi objasni funkcij MakeProcInstance(HANDLE,FARPROC); Imam 10ak prozora na ekrana a kad na pritisak na dugme otvorim dialogbox sve radi ok jedno 5-6 puta a onda mi javi čuveno " ... stop responding ..." U dialog funkciji nema ničeg problematičnog ako nije u pitanju WM_PAINT ali on ima samo jedan TextOut(...); .... HELP !
windows.355 dekiper,
Ovako je teško utvrditi problem... Daj deo source-a koji pravi gluposti pa da vidimo! Pozdrav, Deki
windows.356 bigbrada,
Da li bi mi neko mogao reći koji je TPW ekvivalent za ovo: ... SwapVectors; Exec (...) SwapVectors; ... Brada.
windows.357 feniks,
Da li je moguće prilikom štampanja preusmeriti sve u file umesto u printer, pa potom to štampati iz DOS-a na nekom drugom računaru koji je vezan za recimo HP Laserski printer? Poželjno bi bilo da to može sa COPY/B .... Ako ne može tako, koji software mi je potreban? SP
windows.358 dejanr,
>> Da li je moguće prilikom štampanja preusmeriti >> sve u file umesto u printer... Trebalo bi da je moguće. Kaži da hoćeš da instaliraš još jedan printer, i onda kada pita za lokaciju umesto LPT1 stavi fajl. Posle će da te pita za ime fajla kod svakog štampanja.
windows.359 feniks,
Hvala, baš ću danas da pokušam tako...
windows.360 jovca.car,
/* Da li je moguće prilikom štampanja preusmeriti /* sve u file umesto u printer, pa potom to štampati U Control Panel - Printers odabereš printer, klikneš na Connect i odabereš FILE:. Kad budeš posle štampao, pitaće te za ime fajla. Ili to, ili svaki put pri štampanju u Printer Setupu označiš Print to file.