PCPROG.5

05 Jan 1995 - 02 Oct 1995

Topics

  1. algoritmi (106)
  2. comment (2)
  3. ms.dos (27)
  4. windows (332)
  5. asembler (203)
  6. basic (228)
  7. jezici (126)
  8. pascal (1085)
  9. cccc (546)
  10. cpp (117)
  11. clipper (1048)
  12. baze.podataka (194)
  13. fox (231)
  14. cavo (192)
  15. razno (593)

Messages - clipper

clipper.313 dvesic, -> #297, markoni
>> naredbe :(( Na šta ti je postavljen COMSPEC? Probao sam još na COMSPEC=c:\4dos\4dos.com Ako te ne mrzi, iskonstruiši neki primer za koji si siguran da ne radi, pa ga baci ovde ili u mail.
clipper.314 djelovic, -> #311, bceklic
> Kad smo vec kod toga, kako se najlakse a sa najvecom sigurnoscu moze > ustvrditi da je dos program startovan pod Win-om. Najlakše je da proveriš da li je definisana sistemska promenljiva "windir".
clipper.315 snemcev, -> #207, bulaja
>> ipak s obzirom da je FlopyTst pisana u ASM, pokušaj da ulinkuješ >> verziju iz 2.1 (javi da li radi u PM:). Izvukoh je ja i sve radi ok, al' još ne probah PM -- nekako me baš ne privlači. :)
clipper.316 bulaja,
**** new file **** MSDOS - R:\CLIPPER ---------------------- sx2011i zip 12851 SIx Driver Update: 2.01.00 -> 2.01.01 (Intl) sx2012i zip 30795 SIx Driver Update: 2.01.01 -> 2.01.02 (Intl) sx202i zip 22575 SIx Driver Update: 2.01.02 -> 2.02.00 (Intl) sx202 zip 22145 SIx Driver Update: 2.01.02 -> 2.02.00 (US) 4 file(s) 86 kb Zahvaljujemo dsisic-u na poslatim zakrpama za verziju 2.02, a usput sam prebacio u v2.01.x patcheve (imam samo za International verziju SIx-a, ali valjda svi koristimo baš nju:).
clipper.317 nbatocanin, -> #301, bulaja
>│ 2) Napraviš poseban skipBlock za TBrowse koji za sledeći >│ element bira onaj koji ima količinu <> 0. > > Ovo je praktično isto (po koncepciji, a i po "brzini") što > i SET FILTER (koji nije lepo koristiti:), Hm, mislio sam na _poseban_ kod blok koji bi bio inteligentniji od ima/nema algoritma. Na primer, mogao bi da "kešira" ono što je pregledao ili tako nešto.
clipper.318 nbatocanin, -> #307, milanv
> - Da li postoji mogućnost (ma znam da postoji:) > korišćenja dugižih polja nego što mogu da stanu u > predviđeni prostor za Browse()? Mislim na nešto kao > PICTURE "čS30". Pretpostavljam da misliš na TBrowse. Odgovor je da, naravno. U kodnom bloku u kome definišeš prikaz staviš Left(string,xx) i dobićeš suženi prikaz. > - Kako se najlakše aktivira MemoEdit() iz Browse()? Pretpostavljam da opet misliš na TBrowse. Pa, prosto, kao i sve drugo. Kad korisnik zatraži izmenu memo polja, jednostavno pozoveš MemoEdit i to je to. Ipak ti objasni detaljnije šta ti treba, pa će i odgovor biti precizniji.
clipper.319 dpredovic, -> #303, stosic
Subject: Re: CAVO > Zatvaranje dijalog prozora (u VO) pomocu ESC tastera se moze resiti na > sledeci nacin (primer je za Standard MDI aplikaciju): > method Dispatch(oEV) class HelpAbout ... > strucEVENTMSG := memalloc (_sizeof (NB_EVENTMSG) ) > strucEVENTMSG := ptr (_cast, oEV:__pCat) ... > return super:Dispatch(oEV) Pa narafski, ne znam samo kako se ranije nisam setio ;)) Ovo je već za žuti karton, a PowerBuilder poslat na zagrevanje.
clipper.320 mirche, -> #311, bceklic
> ustvrditi da je dos program startovan pod Win-om. Ja na svojoj > masini i nemam Win...:( Eh :( Blago tebi! Ti i ne znaš za naše muke :(
clipper.321 mirche,
Evo jednog tužnog podatka: Posle višednevnog probanja zaključio sam da je na clipperu neizvodljivo napraviti dobar sistem audit-a i rollback-a a da to ne bude očajno sporo :( A tek pod mrežom? Ne smem ni da pomislim. Stvar je ipak trebalo poveriti DOS-u koji još uvek nema taj prokleti DMS. :((((
clipper.322 jolicm, -> #317, nbatocanin
MMMMMMM>> , mogao bi da "kešira" ono što je pregledao ili tako nešto. E pa to je jakooooo loše rešenje, em se gubi vreme u mahinacijama u browseu, em se gubi vreme u samom radu programa u tom keširanju. Mislim da je u takvim slučajevima najbolji indeks i . (tačka).
clipper.323 jolicm, -> #318, nbatocanin
>> Left(string,xx) Mislim da milanv pita kako moze to prikazati, a i editovati, a tu mu jedino pomaze da zasuče rukave i skroz na skroz izmeni browse naredbu, doda Picture svakog polja. A ako se u to već upusti onda neka doda sve što mu treba (zabrane , kodne blokove, validaciju upisa svakog polja, when funkcije, provere dozvole skip-a, dozvole izlaska i sl...
clipper.324 soul,
Ovde jednom beše kraća načelna rasprava oko dizajna korisničkog interfejsa, pa u vezi s tim: Ima li neko iskustva sa velikim maskama (if you know what I mean): Da li je bolje problem rešiti nečim kao Scroll Get (vidi dir) ili podeliti masku na više ekrana. Meni se lično skrol više dopada, ali kako je sa prosečnim korisnicima?
clipper.325 bpekic,
CA-VO pitanja: Probijam se kroz CAVO i postoje stvari koje mi nisu jasne, verovatno pisu negde u helpu, ima i primera, ali mozda mi neko moze pomoci da ne otkrivam rupe u saksijama. 1.) Kako se postize provera unosa u, recimo polje meke sifre, kada je data-window u browse modu, pa na polju SIFRA, unesem nesto. Zelim da se u drugoj bazi nadje naziv za tu sifru. U definiciji servera za polje, nisam nasao nista poput "event-a", jedino sto dolazi u obzir je deo servera opisa polja - VALIDACIJA. Tu sam se spetljao jer ne znam sta da tu unesem. Ako unesem da validnost unosa u polje SIFRA, proveri neka funkcija, kako toj funkciji zadati parametre i koje parametre da prenesem (verovatno svakako najmanje oNazivServera) Osim toga ako recimo NE nadjem naziv za zadatu sifru, na koji nazin da obavestim korisnika (ko je OWNER za display teksta). 2.) Drugi problem mi je sledeci: Ako imam recimo samo dva "geta" Sifra: XXXXX Naziv: XXXXXXXXXXXX to je naravno definisano kroz server za tu bazu, ali kako u samim prozorima getova da omogucim skok sa TABOM sa jednog na drugo polje. Sada kako stvari stoje, kada pritisnem TAB, brise se tekuci zapis, a kada na tako izbrisan zapis kliknem misem, pojavi se prethodna vrednost. Znaci ponovo dolazim do problema kako da postignem da se pocetak aktivnosti unosa u neko polje "geta", prijavi sistemu kao da je to neki "event" i da mu se za tu aktivnos zada akcija. Kada sam se vec raspisao, da kazem da sam sa vise merenja ustanovio da je CAVO skoro duplo sporiji kod recimo indeksiranja od standardnog DOS-Clippera. Verovatno nisam napravio optimalni kod a deo i otpada na pripreme servera za rad ali to usporenje mozda i nije tako veliko. Inace, mozda i nije losa ideja o CAVO temi !?? Ako je neko raspolozen da mi pomogne - ne branim.
clipper.326 milanv, -> #318, nbatocanin
║║ Pretpostavljam da misliš na TBrowse. Odgovor je da, naravno. U kodnom ║║ bloku u kome definišeš prikaz staviš Left(string,xx) i dobićeš suženi ║║ prikaz. Naravno da mislim na TBrowse (ne znam ni sam zašto sam izostavio "T") :) Nije problem u prikazu početnog dela stringa, već u mogućnosti da se celo polje, znači svih npr. 100 karaktera u polju mogu editovati kroz TBrowse. Potrebno mi je da karakteri dugog stringa mogu da skroluju kroz kratko polje. Nadam se da sam uspeo da objasnim. Pokušao sam sa PICTURE "Sn", ali ne ide mi u glavu gde da ga stavim ;). ║║> - Kako se najlakše aktivira MemoEdit() iz Browse()? ║║ ║║ Pretpostavljam da opet misliš na TBrowse. Pa, prosto, kao i sve ║║ drugo. Kad korisnik zatraži izmenu memo polja, jednostavno pozoveš ║║ MemoEdit i to je to. Ipak ti objasni detaljnije šta ti treba, pa će i ║║ odgovor biti precizniji. Pa, otprilike, da smo se ovde razumeli. Delimičan problem je što mi standardna funkcija obavlja prikaz tabele koji se poziva iz više mesta u programu za razne baze i namene, gde većina nema memo polja, pa je potrebno da dotična funkcija sama prepozna kada se radi o memo polju (bez komplikovanih pitalica "ako me je pozvao baš taj i ako je baš ta kolona...") i da ga na, recimo, ENTER pozove. (Uh, može li neko da napiše komplikovaniju rečenicu:)
clipper.327 milanv, -> #323, jolicm
║║ Mislim da milanv pita kako moze to prikazati, a i editovati, a tu mu ║║ jedino pomaze da zasuče rukave i skroz na skroz izmeni browse naredbu, ║║ doda Picture svakog polja. A ako se u to već upusti onda neka doda sve ║║ što mu treba (zabrane , kodne blokove, validaciju upisa svakog polja, ║║ when funkcije, provere dozvole skip-a, dozvole izlaska i sl... I pored toga što sam većinu dole navedenog ostvario, prilično mi složeno deluje ubacivanje PICTURE u svako polje. Da li je takva operacija negde dokumentovana, ili si krenuo od nule?
clipper.328 goxx, -> #326, milanv
■ polju mogu editovati kroz TBrowse. Potrebno mi je da karakteri ■ dugog stringa mogu da skroluju kroz kratko polje. Nadam se da ... ■ većina nema memo polja, pa je potrebno da dotična funkcija sama ■ prepozna kada se radi o memo polju (bez komplikovanih pitalica ■ "ako me je pozvao baš taj i ako je baš ta kolona...") i da ga na, Ovo se baš oteglo! :) Kako sam te ja razumeo, imam utisak da pitaš neku banalnu stvar (bar ću ti za nju dati odgovor :) // prvo se definiše nova komanda da bi se lakše formirala tabela. // koristi se cargo promenljiva iz objekta column. od nje se // formira niz od dva elementa; get-set blok i picture // (po potrebi može još gomila drugih varijabli). // get-set blok se izvršava funkcijom EVAL (sasvim logično :) i // to na dva načina: EVAL(blok) daje vrednost promenljive ili // EVAL(blok, vrednost) postavlja promenljivu na novu vrednost. // definisane su samo dve komande. ako se ne navede VAR klauzula // tada se izraz iz klauzule BLOCK koristi za formiranje get-set bloka // (ovo mora pažljivo da se koristi, tj. SAMO kada je BLOK "prosta" // promenljiva ili polje iz baze. #xcommand TABLE <t> ADD COLUMN <h> BLOCK <b> ŠPICTURE <p>Ć =>; <t>:AddColumn(TBColumnNew(<h>, <šbć>));; <t>:GetColumn(<t>:ColCount):Cargo :=; š šđxđ IF(PCOUNT()==0, <b>, <b> := x)ć, <p> ć #xcommand TABLE <t> ADD COLUMN <h> BLOCK <b> VAR <v> ŠPICTURE <p>Ć =>; <t>:AddColumn(TBColumnNew(<h>, <šbć>));; <t>:GetColumn(<t>:ColCount):Cargo :=; š šđxđ IF(PCOUNT()==0, <v>, <v> := x)ć, <p> ć // primer kako bi to sve moglo da izgleda u programu // ... tbl := TBrowseDB(y1, x1, y2, x2) TABLE tbl ADD COLUMN "Naziv"; BLOCK LEFT(baza1->naziv,30); VAR baza1->naziv TABLE tbl ADD COLUMN "Sifra"; BLOCK baza1->sifra TABLE tbl ADD COLUMN "Komentar"; BLOCK "<memo>"; VAR baza1->komentar TABLE tbl ADD COLUMN "Iznos"; BLOCK TRANSFORM(baza1->iznos, "999,999.99"); VAR baza1->iznos; PICTURE "999,999.99" TBrowse_With_Edit(tbl) // ... // --------------------------------------- FUNCTION TBrowse_With_Edit(tbl) LOCAL nKey := 0, var DO WHILE .T. DO WHILE .NOT. tbl:stabilize() .AND. NEXTKEY() == 0 ; ENDDO nKey := INKEY(0) DO CASE CASE nKey == K_ESC ; EXIT CASE nKey == K_UP ; tbl:up() // ... // ****************************************************** CASE nKey == K_ENTER // ovde OBAVEZNO treba stabilizacija objekta, ako imaš // nameru da nešto pišeš preko tabele, a što se odnosi // na tekući red (znači koristiš ROW() i COL()) tbl:ForceStable() col := tbl:getcolumn(tbl:colpos) nType := VALTYPE(var := EVAL(col:cargoŠ1Ć)) DO CASE // long char "čSn" CASE nType == "C" č ROW(), COL() GET var PICTURE "čS"+ALLTRIM(STR(col:width)) READ IF LASTKEY() <> K_ESC EVAL(col:cargoŠ1Ć, var) ENDIF // memoedit CASE nType == "M" EVAL(col:cargoŠ1Ć, MEMOEDIT(y1,x1,y2,x2, var)) // numerik CASE nType == "N" č ROW(), COL() GET var PICTURE col:cargoŠ2Ć READ IF LASTKEY() <> K_ESC EVAL(col:cargoŠ1Ć, var) ENDIF // ... ENDCASE ENDCASE ENDDO RETURN NIL ■ (Uh, može li neko da napiše komplikovaniju rečenicu:) Mogu ja :)) Goran PS. Ovo bi moglo u bajtove :)
clipper.329 mdrazic, -> #324, soul
> Ima li neko iskustva sa velikim maskama (if you know > what I mean): > > Da li je bolje problem rešiti nečim kao Scroll Get > (vidi dir) ili podeliti masku na više ekrana. Ja sam koristio i jedno i drugo. Evo nekih iskustava. Vget sistem sam preradio (ugradio mu još po nešto i povezao sa drugim delovima mog okruženja. Kod veće količine podataka za jedan logički 'zapis' koji se nalazi u vget-u (ili vsay-u) oseća se usporenje zato što se ceo sistem zasniva na korišćenju cargo-a u get objektu kroz koji se provlače sve informacije i ažuriraju u svakom objektu pri svakom skrolovanju. Za manji obim podataka je prihvatljivo, a za get listu od 30x5 = 150 getova je neprijatno sporo. U normalnom (ne 'browse' nego 'edit') modu pregleda podataka iz tabela mi se na ekranu vidi sadržaj (samo) jednog zapisa. Sa PgUp, PgDn se tipično listaju zapisi i postoji standardan meni (kod mene u donjem delu ekrana) koji reaguje na Left, Right. Za zapise gde sve stane na ekran, sve se normalno radi iz menija. Kada treba više mesta, tada oformim više maski (sa rednim brojem u uglu okvira:) koje se mogu ciklično smenjivati (za isti zapis) na neki hotkey ili kao kod mene opcijom iz menija. Kada listaš zapise (PgUp, PgDn) prikazuju se podaci za poslednje izabranu masku. Tako namestiš masku, pa listaš, što je po meni nekako logično. Kod korisnika ovaj način omogućava da određenu informaciju uvek dobije na istom mestu na ekranu (u svojoj masci) a ne da je juri po skrolujućem prozoru (čas gore, čas dole). Ovaj drugi način i mnogo brže radi jer se ograničava samo na podatke sa jedne maske i nema potrebe sa trikovima sa cargom. Pri promeni zapisa normalno menjaš samo trenutnu masku, ali pri unosu novog zapisa mora da ga provedeš redom kroz sve maske. Milan
clipper.330 d.petrovic, -> #318, nbatocanin
> Pretpostavljam da misliš na TBrowse. Odgovor je da, naravno. U > kodnom bloku u kome definišeš prikaz staviš Left(string,xx) i > dobićeš suženi prikaz. TBColumn Class Provides the column objects TBrowse objects width Column display width width (Assignable) Contains a numeric value that defines the display width for the column. If TBColumn:width is not explicitly set, the width of the column will be the greater of: 1) the length of the heading, 2) the length of the footing, and 3) the length of the data at the first evaluation of TBColumn:block. The width of the displayed data will be the length at the first evaluation of TBColumn:block. If this instance variable is explicitly set, the width of the column will be TBColumn:width. Displayed headings, footings, and data will all be truncated to this width when necessary. The width of the displayed data will be the length at the first evaluation of TBColumn:block for all data types other than character. Character data will be extended to TBColumn:width for display purposes.
clipper.331 d.petrovic,
Šta treba uraditi novell-u da dozvoljava clipper-u da otvori puuuno fajlova ?
clipper.332 nbatocanin, -> #322, jolicm
>>> , mogao bi da "kešira" ono što je pregledao ili tako nešto. > E pa to je jakooooo loše rešenje, em se gubi > vreme u mahinacijama u browseu, em se gubi vreme u samom > radu programa u tom keširanju. Mislim da je u takvim > slučajevima najbolji indeks i . (tačka). štos je izbeći vreme potrebno za indeksiranje. Šta ćeš ako treba izdvojiti 5 _prvih_ slogova u tabeli od 100.000? Bolje je prikazati brzo šta se može, a onda po potrebi tražiti sledeće.
clipper.333 zkrstic, -> #331, d.petrovic
>> Šta treba uraditi novell-u da dozvoljava clipper-u da otvori puuuno >> fajlova ? Poljubiti ga u čelence, pomaziti i staviti u SHELL.CFG FILE HANDLES = XXX gde XXX + FILES iz Config.SYS ne prelaze 255 Zkr :)
clipper.334 milanv, -> #328, goxx
║║ ■ (Uh, može li neko da napiše komplikovaniju rečenicu:) ║║ Mogu ja :)) Uh, uh;)), tek si me sada oznojio. Ovoliki tvoj trud je zaslužio jednu ovakvu poruku u kojoj je poenta - hvala!. Samo jedno podpitanje: kako ti izgleda ForceStable()? (Ako je to ona Nenadova funkcija za poboljšano osvežavanje ekrana, znam je).
clipper.335 goxx, -> #334, milanv
■ Samo jedno podpitanje: kako ti izgleda ForceStable()? Pravo da ti kažem, ni ja nemam pojma! :))) Neka me ispravi neko, ko radi clipper 5.2, ako grešim. To bi valjda trebalo da bude: DO WHILE .NOT. tbl:Stabilize() ; ENDDO Bilo mi kraće da napišem ForceStable, a toga nema u clipperu 5.01 već u 5.2. Goran
clipper.336 jolicm, -> #335, goxx
>> ForceStable()? To jeste to U clipperu 5.01 toga nema i moralo se pisati Do while .not. tbl:stabilize();End U clipperu 5.2 je tbl:ForceStable() :)
clipper.337 jolicm, -> #332, nbatocanin
>> Šta ćeš ako treba izdvojiti 5 _prvih_ slogova u tabeli od 100.000 ? E šta ćeš ako treba izdvojiti oko _zadnjih_ 5 slogova od 100.000 ? ili _srednjih_ ? : :) RPůî(EŹ­žŁłŔ 
clipper.338 nbatocanin, -> #326, milanv
> Nije problem u prikazu početnog dela stringa, već u > mogućnosti da se celo polje, znači svih npr. 100 karaktera > u polju mogu editovati kroz TBrowse. Potrebno mi je da > karakteri dugog stringa mogu da skroluju kroz kratko > polje. Nadam se da sam uspeo da objasnim. Pokušao sam sa > PICTURE "Sn", ali ne ide mi u glavu gde da ga stavim ;). Treba da raščistimo jednu stvar: TBrowse objekat ima primarnu ulogu za _prikaz_ tabele/datoteke na ekranu. _Editovanje_ i ostale stvari se posebno dodaju. Znači, ne treba vezivati unos/izmenu podataka za TBrowse objekat: on služi za prikaz, a edit se dodaje. Kako, to je duža priča, bilo je ovde govora, a mogu ti koristiti i tekstovi u R. > Pa, otprilike, da smo se ovde razumeli. Delimičan problem > je što mi standardna funkcija obavlja prikaz tabele koji > se poziva iz više mesta u programu za razne baze i namene, > gde većina nema memo polja, pa je potrebno da dotična > funkcija sama prepozna kada se radi o memo polju (bez > komplikovanih pitalica "ako me je pozvao baš taj i ako je > baš ta kolona...") i da ga na, recimo, ENTER pozove. (Uh, > može li neko da napiše komplikovaniju rečenicu:) Ne vidim poseban problem. Ako želiš da dobiješ efekat kao u DBU ili DBX (kada se proba unos na polju na kome piše <Memo> dobiješ prozorče u kome unosiš tekst, obrada je skoro ista kao i za sva druga polja - zavisi od rešenja koje već primenjuješ. Kako rešavaš, na primer, unos datuma?
clipper.339 nbatocanin, -> #330, d.petrovic
> width (Assignable) Da, može i ovo, naravno. Ja ipak radije koristim Left() :)
clipper.340 nbatocanin, -> #331, d.petrovic
> Šta treba uraditi novell-u da dozvoljava clipper-u da > otvori puuuno fajlova ? Kreiraš NET.CFG na lokalnom disku sa dira u kome su mrežni drajveri i u njega upišeš: FILE HANDLES = 100
clipper.341 nbatocanin, -> #337, jolicm
>>> Šta ćeš ako treba izdvojiti 5 _prvih_ slogova u tabeli > od 100.000 ? E šta ćeš ako treba izdvojiti oko _zadnjih_ 5 > slogova od 100.000 ? ili _srednjih_ ? Hm, nisam ovo probao, ali mi se čini da je prosto indeksiranje sasvim sigurno po vremenu najgori slučaj mog rešenja i to kad su svi slogovi na kraju. Ko koristi Six mogao bi da paralelno oformljava RYO indeks: prikaže se prva strana i svi vidljivi slogovi se upišu u indeks. Ako korisnik zatraži <PgDn>, upisuju se slogovi iz sledeće strane itd. Prvi put bi kretanje unapred bilo usporeno, ali sledeći prolaz bi bio trenutan. Nego, evo šta mi pade na pamet: // Artikli, indeksirani po ID-u i nazivu USE Artikli INDEX Art_ID, Art_Naz NEW // Kolicine, index: // Str(k_mag) + IIF (k_kol<>0, " ", "Z") + Upper(Artikli->a_naziv) USE MagKol INDEX MagKol NEW SET RELATION TO k_art INTO Artikli Sada će svi traženi slogovi (željeni magacin, količina <> 0) biti u jednoj grupi i to unutar nje poređani po abecedi! Sad je trivijalno raditi restriktivni prikaz po tabeli MagKol (jedan magacin, <>0). Važno je da pri kreiranju/izmeni indeksa MagKol bude aktivirana SET RELATION naredba. Jel' sam nešto prevideo?
clipper.342 jolicm, -> #341, nbatocanin
// Str(k_mag) + IIF (k_kol<>0, " ", "Z")+Upper(Artikli->a_naziv) Mislim da je upravo to ono pravo . Nego da ti kažem da sam ja ono rešenje sa pravljenjem matrice pri prikazu koristio u KOBOLU kada sam pravio verovao ili ne BROWSE u kobolu. To ti je kad clipperaša primoraju da se sroza na cobol jer na vaxu i vms-u nema clippera. STR(K_MAG) Pitanje za tebe (samo pitanje jer ni ja nisam siguran): Da li je bolje STR(K_MAG,sirina) , da li to usporava izvršenje STR funkcije, ako ne usporava onda je to bolje zbog kraćih indeksa. :)
clipper.343 mileusna,
žesto mi se nešto blokirao program, ne pomaže ni <Alt C>. Gledam ja šta ću i uzmeme RTLink, prelinkujem module, i sve radi. Opet probam na Blinkeru i opet ne radi. Zatim uzmeme .lnk fajl za Blinker i počnem da gledam blinker komande koje sam unutra ubacio. I šta primetim. Kada se stavi BLINKER INCREMENTAL OFF program mi blokira, kad ne stavim INCREMENTAL OFF, program radi kako i treba da radi. Jel ovo neki poznati BUG, nepoznati (redak) BUG, ja sam u nečemu pogrešio ili nešto treće (tj. četvrto). A BLINKER INCREMENTAL OFF preporučuju za finalnu verziju...
clipper.344 .bdd., -> #343, mileusna
>> žesto mi se nešto blokirao program, ne pomaže ni <Alt C>... Ukoliko je inkerementalno linkovanje uključeno, overlejima upravlja blinkerov overlej menadžer. BLI INC OFF dovodi do toga da C i asm kod kontroliše blinkerov overlej menadžer, a clipper kod menadžer ugrađen u sam clipper. Probaj sa BLINKER CLIPPER PAGE OFF čime isključuješ clipperov menadžer, mada je bolje da proveriš šta sve stavljaš u overleje (posebno obrati pažnju na module iz biblioteka, MODULE .... FROM ... ), jer clipperov menadžer troši nešto manje memorije, a i malo brže radi, pa je bolje da ga ne isključuješ. Bogi
clipper.345 nbatocanin, -> #342, jolicm
> STR(K_MAG) > Pitanje za tebe (samo pitanje jer ni ja nisam siguran): > Da li je bolje STR(K_MAG,sirina) , da li to usporava > izvršenje STR funkcije, ako ne usporava onda je to bolje > zbog kraćih indeksa. :) Hm, pretpostavljam da na početku Str funkcije postoji jedno: IF nDec == NIL IzračunajDecDužinu() END IF a bez jednog argumenta br`e ide prenos parametara, tako da mi liči na slično? Mada, možda je bolje staviti i broj decimala kako promena strukture u bazi ne bi uticala na rad programa. Najbolje je da se za šifru i ne koriste brojevi, što reče mdrazic (nema konverzije broj-string-broj), ali ja sam tako odavno počeo, pa mi je sad mrsko da to menjam.
clipper.346 mileusna, -> #344, .bdd.
>> mada je bolje da proveriš šta sve stavljaš u overleje (posebno obrati pažnju >> na module iz biblioteka, MODULE .... FROM ... ), Da sam ovde negde zabrljao, ne bi bilo u redu uopšte, ni sa RTLinkom, ni sa Blinkerom. Inače, kad sam onda tražio uzrok, u overlaje sam stavio samo module moga programa i ništa više, i opet je bilo isto.
clipper.347 milanv, -> #338, nbatocanin
║║ Ne vidim poseban problem. Ne vidim ga ni ja, al' ne šljaka. :) ║║ Ako želiš da dobiješ efekat kao u DBU ili ║║ DBX (kada se proba unos na polju na kome piše <Memo> dobiješ prozorče ║║ u kome unosiš tekst, TO! ║║ obrada je skoro ista kao i za sva druga polja - ║║ zavisi od rešenja koje već primenjuješ. Kako rešavaš, na primer, unos ║║ datuma? Pa na vrlo klasičan (?) način. Mislim da je prilično sličan onome kakvog si ti naveo u Računarima, svojevremeno: ... AADD (cols, TBColumnNew ('Sifra', šđđ ar_sifrać)) AADD (cols, TBColumnNew ('Naziv artikla', šđđ ar_nazivć)) AADD (cols, TBColumnNew ('Datum', šđđ ar_jedinć)) Tabela (cols, aFields, 'A') ... FUNCTION Tabela (cols, aFields, cPoziv, cUpis) ... browser := TBrowseDB (5,1,22,78) FOR i = 1 TO LEN (cols) browser:addColumn (colsŠiĆ) NEXT i WHILE .T. ch := 0 WHILE !browser:stable .AND. ch == 0 ch := Inkey () browser:stabilize () END DO ch := Inkey (0) DO CASE ... CASE ch == K_ENTER .AND. cUpis == NIL IF cPoziv == 'A' .OR. ... Fresh (browser) fname := aFieldsŠbrowser:colPosĆ xPriv := &fname č Row(), Col() GET xPriv VALID IIF (...) save_curs := setcursor(INS_CURSOR) save_ikey_cb := setkey(K_INS,; šđđ readinsert(!readinsert()),; setcursor(INS_CURSOR)ć) READ REPLACE &fname WITH xPriv setcursor(save_curs) setkey(K_INS, save_ikey_cb) KEYBOARD CHR (K_RIGHT) Fresh (browser) ELSE CLEAR TYPEAHEAD END IF ... ENDCASE END DO ... Otprilike, to je - to. I to radi za sve tipove varijabli, osim za memo polje. Zapravo, verujem da radi i u tom slučaju, samo? OK, sviđa mi se goxx-ov način, ali ne kapiram šta ovde nedostaje?
clipper.350 aseovic,
Subject: SIX 2.02 Da li je neko primetio "čudno" ponašanje SIX-a prilikom brisanja nekoliko uzastopnih zapisa? Situacija je sledeca: OTP_DET.DBF - Stavke otpremnica ------------ BRFAK C 8 - broj otpremnice (aktivan je indeks po ovom polju sa uslovom "FOR !Deleted()") /******************/ dbSeek(BrOtp) while otp_det->brfak == BrOtp dbDelete() // brise zapis dbSkip(1) // trebalo bi da predje na sledeci enddo // ali skace na kraj datoteke - Eof()->.t. Rezultat je da se stornira samo prva stavka otpremnice i napravi opsti haos na lageru. Slicnu stvar sam primetio i kad se radi dbSkip(-1) s tim sto se skace na pocetak datoteke (Bof()->.t.) Sa SixCDX 1.5 i ranije NTX-om sve je radilo OK. Ima li komentara? Pozdrav, Sele
clipper.351 mdrazic, -> #345, nbatocanin
> Najbolje je da se za > šifru i ne koriste brojevi, što reče mdrazic (nema konverzije > broj-string-broj), ali ja sam tako odavno počeo, pa mi je sad mrsko > da to menjam. 'Će te ubedimo, milom ili silom :))) Milan
clipper.352 goxx, -> #347, milanv
■ ch := 0 ■ WHILE !browser:stable .AND. ch == 0 ■ ch := Inkey () ■ browser:stabilize () ■ END DO ■ ch := Inkey (0) Ovo ti baš i nije najbolje iako ispravno radi ! Kad, recimo, uporno držiš "taster" K_DOWN i ideš kroz tabelu evo šta se dešava. Program uđe u petlju za stabilizaciju i primeti da je pritisnut taster, zatim izlazi odatle (taster više nije u baferu !!!) i dolazi na Inkey(0) gde čeka na novi "taster". Znači, ako pritisneš neki taster samo jednom dok se vrši stabilizacija neće "reagovati" tabela. Rešenje: 1) zameni Inkey() u do-while petlji sa NextKey() ili 2) DO WHILE .NOT. browser:Stabilize() .AND. NEXTKEY() == 0 ENDDO Ovo pod 2 je brže jer sam metod ::stabilize() vraća ::stable. ■ xPriv := &fname ■ č Row(), Col() GET xPriv VALID IIF (...) ■ ... ■ READ ■ REPLACE &fname WITH xPriv ■ ... ■ Otprilike, to je - to. I to radi za sve tipove varijabli, ■ osim za memo polje. Zapravo, verujem da radi i u tom slučaju, samo? Evo šta se dešava. On počne da edituje memoedit polje koje se sada zbog dodeljivanja drugoj promenljivoj pretovrilo u karakter polje (veoma velike dužine). Kako nemaš PICTURE u GET-u onda on uzima dužinu podatka za PICTURE tj. prikaže od pozicije pa do desne ivice ekrana, a u okviru njega možeš daleko da odeš iz vidljivog dela ekrana (ovo isto se dešava i u DBU ako je "C" polje veće od ekrana). Rešenje bi bilo da u slučaju memo polja ( Valtype(&fname)=="M" ) edituješ podatke (memo) u nekom prozoru sa MEMOEDIT() ili na neki drugi način. Probaj da izbegneš makroe :) Goran
clipper.353 majtoski,
Da li neko zna kako u clipper uz gforce lib ubacim sliku u 640x480 u program, ili preko neke druge lib. koja i kako
clipper.354 dsisic, -> #347, milanv
// Ukoliko bi ovde ... > AADD (cols, TBColumnNew ('Sifra', sdd ar_sifrac)) // ... postavio set/get blok AAdd( cols,; TbColumnNew( 'Sifra', { |x| if( x == NIL, ar_sifrac, ar_sifrac := x ) } ) // ... Onda bi ovo > CASE ch == K_ENTER .AND. cUpis == NIL > ... > fname := aFieldsSbrowser:colPosC > xPriv := &fname > > Z Row(), Col() GET xPriv VALID IIF (...) > ... > READ > ... // ... izgledalo 'elegantnije' CASE ch == K_ENTER oGet := GetNew( Row(), Col(), browser:GetColumn( browser:ColPos ):Block ) ReadModal( { oGet } ) // ... Jos bih da razjasnim: Ukoliko u toku 'refresha' tj. stabilizacije, dodje do pritiska na neki taster (ch != 0), trebalo bi preduzeti neku akciju saglasno pritisnutom tasteru. Jasno je da ono 'ch := Inkey( 0 )' iza 'END DO' anulira vrednost ch koji je prekinuo stabilizaciju. Dakle, ukoliko zelis da 'konstruktivno' prekidas stabilizaciju moras da zaobidjes to Inkey( 0 ). U suprotnom ovih pet linija koda moze da se opise samo sa dve: > WHILE !browser:stable .AND. ch == 0 browser:ForceStable() > ch := Inkey () ---- ---- > browser:stabilize () ---- ---- > END DO ch := Inkey(0) > ch := Inkey (0) // Najbolje bi pak islo: While !browser:Stable .and. ch == 0 browser:Stabilize() ch := Inkey() end if browser:Stable ch := Inkey( 0 ) end do case // ...
clipper.355 dsisic, -> #350, aseovic
> dbSeek(BrOtp) > while otp_det->brfak == BrOtp > dbDelete() // brise zapis > dbSkip(1) // trebalo bi da predje na sledeci > enddo // ali skace na kraj datoteke - Eof()->.t. Mislim da je krajnje neprimereno brisati zapise iz tabele pod uslovom koji je sastavni deo kljuca trenutnog indeksa. Da ne pominjem da samo brisanje nije bas u 'fazonu'. Probaj sa reciklazom :)
clipper.356 nbatocanin, -> #347, milanv
> TO! Sve ti je dobro u programu, jedino što memo polja ne možeš učitavati sa GET, već treba upotrebiti MemoEdit.
clipper.357 d.petrovic, -> #350, aseovic
> Subject: SIX 2.02 > > Da li je neko primetio "čudno" ponašanje SIX-a prilikom > brisanja Napravili sad nešto što sam ja pre par godina O;)) Već je poznata priča da obrisan zapis može ponovo da se koristi... Krenem po stavkama otpremnice, pokupim podatke, napunim sva polja sa Chr(0), obrišem pa dbSkip() i ... normalno da nije na sledećoj stavci, sada je prvi u bazi. Posle sam za takve rabote napravio... Do While <Uslov> .AND. ! Eof() // Pokupi podatke dbSkip() aadd(aBris, RecNo()) EndDo Utamani(aBris) Func Utamani(a) Local i := Len(a), n := 0 For n := 1 To i dbGoto(aŠnĆ) // Obrisi // Napuni sa Chr(0) Next Možda sada drajver nešto interno pokušava da sortira (obrisane fajlove na vrh ili kraj) da ne skakuće po njima. Radim samo sa .NTX pa neznam koje te muke muče, samo filozofiram O:). Probaj da promeniš stanje _SET_DELETED pa da vidiš šta se dešava ili probaj ovo gore. A da se vratiš na .NTX ? ;)))
clipper.358 d.petrovic, -> #354, dsisic
> Ukoliko u toku 'refresha' tj. stabilizacije, dodje do pritiska > na neki taster (ch != 0), trebalo bi preduzeti neku akciju > saglasno pritisnutom tasteru. Jasno je da ono 'ch := Inkey( 0 > )' iza 'END DO' anulira Zar nije mnogo efikasnije da ( Ch := 0 ) ide na kraj glavne petlje ?
clipper.359 mdrazic, -> #355, dsisic
>> dbSeek(BrOtp) >> while otp_det->brfak == BrOtp >> dbDelete() // brise zapis >> dbSkip(1) // trebalo bi da predje na sledeci >> enddo // ali skace na kraj datoteke - Eof()->.t. > > Mislim da je krajnje neprimereno brisati zapise iz tabele pod uslovom > koji je sastavni deo kljuca trenutnog indeksa. > > Da ne pominjem da samo brisanje nije bas u 'fazonu'. Probaj sa reciklazom > :) Ne razumem. Ma kakav index da imaš, u brisanom zapisu mu se nalazi ključ. A prvi metod sa 'čistim' delete ne pravi probleme osim ako možda imaš uslovni index po .not.deleted(). Reciklaža (ukoliko menjaš ključ radi toga) uvodi nove probleme. Jedan od problema je što se promenom ključa odmah nađeš na drugom mestu u tabeli, a drugi što se prilikom rada oseća usporenje kada pointer 'prelazi' preko brisanih zapisa. Primer: ako u ključno polje radi reciklaže upišeš recimo chr(255) tada su po tom ključu svi brisani zapisi na dnu tabele, i go bottom dugo radi dok ne nađe poslednji neobrisani zapis. U gornjem problemu sa skipovanjem objašnjenje je moguće i logično ako je aktivni index uslovni po .not.deleted(). Inače bi to trebao biti bug. I na kraju jedan kompromis za reciklažu: ako želite da reciklirate zapise a i da ih čuvate u izvornom obliku možda pokušate ovako. Za reciklažu koristite uslovni index po uslovu deleted() a koji će sadržati datum i vreme zadnje promene zapisa (može se i spakovati u 6 znakova ko ekonomiše sa prostorom). Primer: index on Timestamp() to I_RECIKL for deleted() gde vaša funkcija Timestamp() vraća recimo descend(dtos(date())+time()) ili slično. Na vrhu su najsvežije brisani zapisi. Pri reciklaži nećemo koristiti brisane zapise u recimo zadnjih 5 dana. Tada se traženje slobodnog mesta svodi na dbseek( descend(dtos(date()-5), .t. ). Ovim rešenjem se omogućava recall zapisa u nekom razumnom roku uz efikasnu reciklažu. Milan
clipper.360 bulaja,
CA-Visual Objects Pitanje..: Može li se promeniti izgled statusne linije u VO programima (po default-u u njoj su prikazani HyperLabel i sat)? Odgovor..: Može. :) Za to je zadužena StatusBar klasa čiji je vlasnik ShellWindow, odnosno StandardShellWindow ukoliko korisite kostur (app framework) Standard MDI apllikacije koji je generisao VO. Neki od metoda StatusBar klase su npr. DisplayTime() (prikazuje sat u statusnoj liniji - ovo je default u Std MDI App), DisplayKeyboard() (prikazuje status Insert, Num Lock, Caps Lock i Scroll Lock tastera - mnogo lepo izgleda:), DisplayMemory() (prikazuje količinu slobodne memorije - korisno prilikom razvoja aplikacije),.. Redosled pozivanja StatusBar metoda određuje i redosled prikazivanja tih informacija sa leva na desno. Opis StatusBar klase imate u VO help-u, s tim što su neke stvati dosta šturo objašnjene - hroničan nedostatak VO helpa je odsustvo dobrih primera. Izgled statusne linije je najzgodnije podesititi u Init metdu ShellWindow-a, npr. ovako: METHOD Init( oOwnerApp ) CLASS StandardShellWindow local oSB as StatusBar // ostale stvari koje idu u Init() oSB := self:EnableStatusBar() oSB:DisplayMemory() oSB:DisplayKeyboard() oSB:DisplayTime() // znači u statusnoj liniji će biti prikazani redom // sa leva na desno (uz right justification) količina // slobodne memorije, keyboard indikatori i sat // ... return self
clipper.361 soul,
Moderator bi zaista učinio uslugu svima kada bi otvorio temu VO. Još jedan glas razuma: ZA
clipper.362 rccomp, -> #361, soul
Jos jedan glas za otvaranje VO konferencije !
clipper.363 djelovic, -> #362, rccomp
> Jos jedan glas za otvaranje VO konferencije ! Konferencije? Ih, ma to nije ništa, daj da ceo Sezam preimenujemo u VO :). Šalu na stranu, trnenutna realnost je da se o VO zapravo i ne diskutuje, pa bi bilo kakva novootvorena tema zvrjala prazna. Zbog toga je ipak najbolje da se priča o VO obavlja u temi clipper, a da se sa otvaranjem teme ipak malo pričeka. P.S. A šta je sa temom PowerBuilder? Ja hoću PowerBuilder! :)
clipper.364 peacock, -> #363, djelovic
#### P.S. A šta je sa temom PowerBuilder? Ja hoću PowerBuilder! :) To čudo izgleda mnogo interesantnije nego VO. Imaš li neka konkretnija iskustva sa PB, bilo bi lepo da ih podeliš sa nama.
clipper.365 mileusna, -> #363, djelovic
>> Šalu na stranu, trnenutna realnost je da se o VO zapravo i ne diskutuje, BTW, napravi li neko nešto na tom VO, mislim na kompletnutnu aplikaciju, bilo da je u pitanju neki veći projetak, ili kućni adresar.
clipper.366 djelovic, -> #364, peacock
> To čudo izgleda mnogo interesantnije nego VO. Imaš li neka > konkretnija iskustva sa PB, bilo bi lepo da ih podeliš sa nama. Nisam se baš ubio od korišćenja - pošto sam ga dobio tek pre koji dan kranji domet u radu sa njim mi je jedan telefonski imenik, no, svejedno, evo kratkog iskustva: 1. PowerBuilder je trenutno *hot* aplikacija u Americi, i tamo su oglasi po novinama rečenica tipa "traže se PB programeri". 2. Kao alatka za razvoj, PB ima dve krupne prednosti u odnosu na Fox4Win, dBase 4 Win, Access i sl. Prvo, pravi EXE koji radi na mašinama sa 4MB, i drugo, lepo se slaže sa velikim serverima. 3. Mana PowerBuildera je to što nije baš najkomforniji - iako se aplikacije sa njim prave veoma brzo, ipak bi to moglo i bolje. Help nije "context sensitive", neke opcije su komplikovane i nekomforne i sl. Ukratko, PB je dobar program koji radi posao. Pravi EXE koji radi u 4MB što mu je za nekoga ko danas prodaje Clipper programe a želeo bi da pređe na Windows najveći adut, a usput je strašan u client/server okruženju kome je to potrebno. Zbog toga što je nekomforan i zbog onog basic-like jezika najverovatnije ću preći na Delphi kada se pojavi. Do tada, PB is it.
clipper.367 bulaja, -> #366, djelovic
│Zbog toga što je nekomforan i zbog onog basic-like jezika najverovatnije │ću preći na Delphi kada se pojavi. Do tada, PB is it. └─── A da li si uopšte probao VO? :)
clipper.368 djelovic, -> #367, bulaja
> A da li si uopšte probao VO? :) Nisam. Vidim da se o VO ovde još ne priča, pa se nisam ni mnogo raspitivao kako radi. Elem, da li ispunjava: 1. Da programi napisani njime rade bez problema u 4MB. 2. Da nije bagovit. Ako su ova dva uslova ispunjena, dobili ste novog manijaka u ovoj temi :).
clipper.369 jolicm, -> #362, rccomp
>> Jos jedan glas za otvaranje VO konferencije ! E posle ovakvog glasa uvek glasač dobije odgovor: NE, ima još vremena, tema nema dovoljno interesenata ... E BAŠ ME BRIGA ... JOŠ JEDAN GLAS ZA OTVARANJE VO TEME Razlozi za: VO i standardan clipper su kao dos i windows (za šta su baš i pravljeni) Imaju samo dodirne tačke u radi dbf.datoteka i tačka. Ja do sada nisam niš napisao u VO, osim nekog jednostavnog programa za pregled dbf datoteka i ne mislim da ću moći skoro da bilo šta radim na VO pošto imam samo 4MB memorije. E sad MODERATORE Zamisli nekog ko ne radi u VO i mora da čita raspravu i listinge koji će sve VIŠE biti u ovoj temi. E ima još: Zamislite jednu lepotu: Odluči se neko za VO, mislim da radi na njemu (nekad, nekog dana) i tada pokupi lepo SVE što je ikada napisano o VO na sezamu iz konferencije PC.PROG tema VO. Ukoliko se ODMAH ne otvori ova tema (a bogami skoro je već KASNO), nema šanse da se kasnije pokupi sve, pošto je pomešano sa običnim clipperom !!! MODERATORE ukoliko planiraš otvaranje teme VO nekada u budućnosti, ODGOVORI zašto onda ne SADA (upravo zbog budućnosti) Zdravo !:)
clipper.370 dr.grba, -> #368, djelovic
>>> A da li si uopšte probao VO? :) >> >> Nisam. Vidim da se o VO ovde još ne priča, pa se nisam ni mnogo raspitivao >> kako radi. Elem, da li ispunjava: Video sam i VO i PB. Ovaj prvi se čini glomazniji, daje (naizgled) mnoooogo više kontrole, dok ovaj drugi (naizgled, takođe) daje mnoooogo brže rezultate... E, sad. Mogu ja da špekulišem i dangubim kad bih imao na raspolaganju vreme koje nemam. Fakat, ovo su alati za Win programiranje baza za leto gospodnje 1995. žućemo mi mnogo o ovome, sigurno. Ali nema smisla sa piratskom kopijom... Da sedim i da bajam kao da uradim ovo ili ono... Vreme je preskupo (da, tačno, šta ja tražim ovde? (: ) Najzad, voleo bih da dam ličnu ocenu VO i PB, posebno i uporedno (neko će se ovoga već setiti, pa napraviti članak u....), ali tu ocenu ne mogu da dam posle dvadeset minuta čeprkanja po interfejsu. Moram videti ceo paket, sve knjige u njemu. žak mi računar ni ne treba. Prosto, pokušao bih da u najkraćem roku nađem odgovor na neka test pitanja.
clipper.371 mkurtes,
Jeste da sam vec dao svoj glas za temu VO ali nije na odmet da se ponovo pridruzim novopridoslim pristalicama VO-a. Treba otvoriti temu VO sto pre. :)
clipper.372 aseovic, -> #355, dsisic
> Mislim da je krajnje neprimereno brisati zapise iz tabele pod uslovom > koji je sastavni deo kljuca trenutnog indeksa. To brisanje je ostalo još iz vremena Clipper-a 5.01 kada _nije bilo_ uslovnih indexa. Sa SIX-om 1.5 i USLOVNIM indexom JE RADILO pa nisam ništa menjao, a sa 2.0 NE RADI. Dakle, bez obzira na to da li je brisanje 'primereno' ili nije, sa jednom verzijom radi a sa drugom ne. > Da ne pominjem da samo brisanje nije bas u 'fazonu'. Probaj sa reciklazom :) Ako baš želiš da budes u 'fazonu' pogledaj ĐSIX20ĐSAMPLESĐRECYCLE.PRG :) Pozdrav, Sele
clipper.373 aseovic, -> #357, d.petrovic
> Krenem po stavkama otpremnice, pokupim podatke, napunim sva polja sa > Chr(0), obrišem pa dbSkip() i ... normalno da nije na sledećoj stavci, > sada je prvi u bazi. Posle sam za takve rabote napravio... Nisam hteo da radim takvu reciklažu. Hteo sam jednostavno da obrišem zapis :) > Do While <Uslov> .AND. ! Eof() > // Pokupi podatke > dbSkip() > aadd(aBris, RecNo()) > EndDo > Utamani(aBris) Moze i tako. Meni je problem rešilo sledeće: do while Found() dbDelete() dbSeek(brOtp) enddo > Možda sada drajver nešto interno pokušava da sortira (obrisane > fajlove na vrh ili kraj) da ne skakuće po njima. Radim samo sa .NTX pa > neznam koje te muke muče, samo filozofiram O:). Probaj da promeniš stanje > _SET_DELETED pa da vidiš šta se dešava ili probaj ovo gore. Mislim da jednostavno izbacuje zapis iz indexa (uslovni index: FOR !Deleted()) Problem je nastao zato što prethodna verzija SIX-a to nije odmah radila već se ponašala (izgleda) kao NTX sa SET DELETED ON: osvežavala je index tek posle pomeranja pokazivača na drugi zapis. (SET DELETED je sada OFF) > A da se vratiš na .NTX ? ;))) Neću! :) Zar da se odreknem CDX-ova, transakcija, memo polja i mnogih drugih pogodnosti? Taman sam sve sredio da ne puca, kad 'oćeš, teraju me da se vratim na NTX :)) Pozdrav, Sele
clipper.374 mileusna, -> #368, djelovic
>> 1. Da programi napisani njime rade bez problema u 4MB. Bilo je čini mi se reči o tome. Za normalan rad samog VO-a je potrebno bar 8 MB, dok aplikacije mogu da rade i sa manje memorije tj. 4 MB. žini mi se da je o tome pisao nbatocanin u baze.podataka. Nego, hoće li Borlandov Delfi da ima ugrađenu podršku za rad sa bazama, kao što je to u VBasicu for Win (ja sam još uvek 99% u DOS-u, a Win, normalno, za Hearts;) Jel' bilo nešto u NOVOSTI-ma o tome. Ako jeste, jel zna neko gde i kada. Odgovor može i u PC.PROG/jezici ili razno, da ne bi gušili Clipper.
clipper.375 saks,
Da li negde na Sezamu postoji opis TTF fontova (struktura fajla). Bio bih vam jako zahvalan na odgovoru. Sasa
clipper.376 bpekic,
Ne znam zasto bi bio problem otvoriti temu CAVO, stvarno cemo poceti da se "guramo" u jednoj temi, generalno posveceno Clipperu, ali kod CAVO, bice i drugacijih poruka od cisto "programerskih mozgalica". RAdi se o tome da imamo nazalost mnogo posla oko utvrdjivanja raznih "rupa u saksijama" jer smo naravno veoma dobro opremljeni literaturom i parama za nju. U takvoj temi, nece biti problema sa korisnicima koji ne zele da za sada krenu u rad na CAVO, a ni njima nece smetati poruke koje i ne zele da citaju. Posto ja na primer, nemam novca za lepo "kako bog nalaze" kupim original CAVO, naravno da sam ga nabavio kod dilera i naravno da zelim da se dokopam literature zaobilazno.Sta mi drugo preostaje? Osim toga, koliko nas ima koji radimo i zaradjujemo, radeci na REGISTROVANIM verzijama programa (bilo da je to Clipper, C, ili se samo igramo...) Siguran sam da velika vecina od nas tako ne radi zbog "cefa" vec jednostavno, ne mozemo se meriti sa valutnim iznosima koji se krecu od 1000DM pa navise. Iz tog razloga u temi CAVO, bice mnogo poruka u vezi "provaljivanjem" kako sve to radi, a manje za pocetak o samoj tehnici programiranja.Nema druge nego da sami sebi pomognemo, zasebna tema je jedno od resenja. Dakle CAVO, CAVO tema!
clipper.377 d.petrovic, -> #374, mileusna
> Bilo je čini mi se reči o tome. Za normalan rad samog VO-a je > potrebno bar 8 MB, dok aplikacije mogu da rade i sa manje Sa 4 MB oupšte neće da prevede onaj program koji se dobija uz njega. Puca po svim šavovima posle jedno pola sata maltretiranja diska. > memorije tj. 4 MB. žini mi se da Nova aplikacija (prazna, samo klikneš na new i napraviš "prazan program") se učitava OKO 30 sec, a prvi poziv neke opcije (otvaranje dbf-a) traje OKO 20 sec. Drugi poziv je već brz.
clipper.378 d.petrovic,
Jesete, treba nam tema. 'oćemo VO. = tačka ;)
clipper.379 dejanr, -> #378, d.petrovic
>> Jesete, treba nam tema. 'oćemo VO. JEDINI način da se tema otvori jeste da, kroz duži vremenski period, bude veći broj poruka u kojima se diskutuje o VO (diskusija != prosto traženje teme). Samo tako nastaju teme na Sezamu.
clipper.380 nbatocanin, -> #365, mileusna
> BTW, napravi li neko nešto na tom VO, mislim na > kompletnutnu aplikaciju, bilo da je u pitanju neki veći > projetak, ili kućni adresar. Dve su tu stvari: prva, nije nimalo lako bez papirnog uputstva. Koliko sam primetio, ni u finalnoj verziji se help i dokumentacija ne poklapaju. Druga stvar je što je VO u startu koncipiran kao alat za profesionalce i zaista nije tako lak za upotrebu kao Visual Basic.
clipper.381 mkurtes,
CAVO Posto se dosta vec prica o tome dali moze ili ne moze da se radi ispod 8 MB RAM-a sa VO paketom evo uporednih testova: 486DX/66MHz/4MBKKKKKKKKKKKKKKK ->/50MHz/8MB ->/66MHz/16MB 02 min 56 sec 01 min 35 sec 01 min 11 sec = pravljenje exe file-a 00 35 00 10 00 06 = pokretanje exe file-a 00 17 00 03 00 02 = otvaranje Data Window-a sa 47 polja u vezi sa serverom. Kao sto vidite RAM je presudan ali se moze raditi i sa 4 MB (ako imate dovoljno zivaca da docekate rezultate bild-ovanja i ostalih operacija zavisnih od RAM-a). Iako moram reci da je ovo sve radjeno bez RAM diska koji bi jos ubrzao rad ako bi se napravio kao TEMP (ko ima visak RAM-a neka izvoli) Pozdrav. :) -CAVO TEMA - CAVO TEMA - CAVO TEMA - CAVO TEMA - CAVO TEMA.
clipper.382 mkurtes, -> #381, mkurtes
cavo NASTAVAK Posto je ubrljalo K red u predhodnoj poruci objasnjenjež prva kolona se odnosi na 486/66MHz/4MB RAM-a druga kolona se odnosi na 486/50MHz/8MB RAM-a i treca kolona se odnosi na 486/66MHz/16MB RAM-a. Server koji pominjem je DataServer. :) CAVO TEMA -> ...
clipper.383 mdrazic, -> #373, aseovic
> do while Found() > dbDelete() > dbSeek(brOtp) > enddo Kraće i bolje (ne traži početni seen pre petlje): do while dbSeek(brOtp) dbDelete() enddo
clipper.384 goxx,
Povodom CA-VO teme. I ja sam za, be obzira što još uvek ne radim na njemu Ako se otvori posebna tema počinjem i ja da radim (ovo je ucena :)
clipper.385 bulaja, -> #368, djelovic
│Nisam. Vidim da se o VO ovde još ne priča, pa se nisam ni mnogo raspitivao │kako radi. Elem, da li ispunjava: │ 1. Da programi napisani njime rade bez problema u 4MB. │ 2. Da nije bagovit. │Ako su ova dva uslova ispunjena, dobili ste novog manijaka u ovoj temi :). └─── 1. Rade. 2. Nije. :) Naravno Visual Objects je još uvek suviše nova i neispitana stvar da bi bio 100% siguran u ove dve stvari, ali za sada se dobro pokazuje :). Doduše sama razvojna okolina izgleda još uvek nije potpuno očišćena od bubica (dešavaju mi se po neki GPF otprilike svaki drugi-treći dan, a u VO u poslednje vreme provodim po nekoliko sati dnevno:), ali gotove aplikacije izgleda da ne pate od toga. Konačni EXE radi lepo i na slabijim mašinama, jedino mi se čini da se nekako sporo učitava :). Pretpostavljam da je to zbog dosta velike količine DLL-ova koja je potrebna za rad (prosečno nekih 20-ak datoteka, ukupne dužine nešto iznad 2Mb), dok je sam EXE relativno mali (150Kb pa naviše). Ako stignem, napraviću neku konkretnu manju aplikaciju do sledeće nedelje (taman dok otvoriš CAVO temu:), pa ću poslati ovde (tj. u PC.PROG:cavo na uvid :).
clipper.386 nbatocanin, -> #368, djelovic
> Ako su ova dva uslova ispunjena, dobili ste novog manijaka > u ovoj temi :). Hm, mislim da ti nisu dobri uslovi :) Što bi rekao tipičan komentator RTS, svedoci smo velikih promena u softverskim alatima. Nema više editor+kompajler i vozi! Sada se radi u integrisanim okolinama od po 50MB na disku (uzgred, šta sada preporučujete čoveku-neprofesionalcu da uzme za kućnu upotrebu?). Ako malo razmislite, videćete da je to za sada jedini način da se izborimo sa složenim sistemima kao što je Win i ostalima koji, svakako, tek dolaze. Htedoh da kažem: svi ti proizvodi će u budućnosti postati toliko slični, sa sličnim mogućnostima, da će u izvesnom smislu izbor između njih biti skoro nevažan. Kladim se da će svi tražiti skoro iste resurse, imati približno isto bagova i sl. - kao i sada, uostalom.
clipper.387 nbatocanin, -> #374, mileusna
> Nego, hoće li Borlandov Delfi da ima ugrađenu podršku za > rad sa bazama, kao što je to u VBasicu for Win Koliko sam ja obavešten, hoće, i to vrlo jaku. Moj drugar je bio u test-timu i nešto priča o isključivoj distribuciji na CD-u. Doduše, ovo nije provereno.
clipper.388 tvucko,
I ja sam za temu VO. Ko voli nek izvoli !!! Sve sto sam uradio u VO je instalacija, izrada programa za obradu žiro računa, testiranje i brisanje VO. Ako je u pitanju Windows i XBASE onda ipak ostajen na FiveWin koji je mnogo praktičniji za izradu aplikacija i kasnije održavanje.
clipper.389 d.petrovic, -> #379, dejanr
> JEDINI način da se tema otvori jeste da, kroz duži vremenski > period, bude veći broj poruka u kojima se diskutuje o VO > (diskusija != prosto traženje teme). Samo tako nastaju teme na > Sezamu. Ubedio si me. ;(((( Javljajte se ko 'oće u grupu.
clipper.390 dr.grba, -> #385, bulaja
>> Ako >> stignem, napraviću neku konkretnu manju aplikaciju do sledeće nedelje >> (taman dok otvoriš CAVO temu:), pa ću poslati ovde (tj. u PC.PROG:cavo Telefonski imenik? (((:
clipper.391 mkurtes,
CAVO Prijavljujem se za grupu. :)
clipper.392 mdrazic,
Molim ko zna da javi: Šta sve utiče na LOAD SIZE (veličina koju javlja linker na kraju) Clipper programa. Koristim RTLink sa jednim ili dva PLL-a i sa Nanfor plus sopstvenom bibliotekom. Load size aplikacije je 426K u razvojnoj verziji (sa debugerom) i 387K u finalnoj. Razvojna verzija kada radi sa 605K RAM na jednom mestu zaglavi zbog nedostatka osnovne memorije. Za sada nije ništa kritično jer postoji i vidram :)) ali pitanje ostaje. Još jedno zapažanje: kada aplikacija koristi EMS tada u osnovnoj memoriji odvaja izvesni prostor za neku administraciju dotičnog. Što je veći EMS, to više odvaja RAM-a. Iako je isti load size, sa set clipper=Fxx;E0 opcijom ostane dole više memorije. Gornje opisano zaglavljivanje je otklonjeno baš isključivanjem EMS, čime je dobijeno ekstra 9KB. Da li neko zna neku literaturu o organizaciji memorije, koliko na load size itd. utiču private, local, static i slično. Ako se takav nadje, neka se javi, neću mu ništa :) Milan
clipper.393 bulaja, -> #381, mkurtes
│Kao sto vidite RAM je presudan ali se moze raditi i sa 4 MB │(ako imate dovoljno zivaca da docekate rezultate bild-ovanja │i ostalih operacija zavisnih od RAM-a). └─── Sa 4 Mb se sigurno ne može ozbiljno raditi :). Može se eventualno pogledati help, generisati i kompajlirati Standardna MDI aplikacija, promeniti HelpAbout :) i to je sve. Već je prebacivanje iz VO u Help vremenski intenzivna operacija, a aktiviranje nekog od alata traje po pola minuta što se sigurno ne odražava pozitivno na produktivnost :). Sticajem okolnosti, i ja sam VO prvi put probao na 486/40 sa svega 4 Mb memorije, i baš je bilo naporno raditi :). Trenutno u VO radim na dve konfiguracije - jedna 486/40/8Mb (kućna mašina) i jedna 486/66/16Mb (na poslu). žak i na ovoj drugoj (dakle sa 16 Mb RAM) se često oseti da bi doborodošao i koji Mb više, ali se i sa 8 Mb može raditi (mada je potrebno malo strpljenja:). Gledao sam VO i na 386 mašini sa 8 Mb memorije, i to je radilo bolje nego 486 sa svega 4 Mb. Ipak ko ima svega 4 Mb nek se ne ustručava da proba CA-Visual Objects - može bar okvirno videti o čemu se radi i isplati li se investicija u koji Mb RAM memorije više, koji je za ozbiljniji rad ipak neophodan. │Iako moram reci da je ovo sve radjeno bez RAM diska koji bi jos ubrzao │rad ako bi se napravio kao TEMP (ko ima visak RAM-a neka izvoli) └─── :) RAM disk ne bi ubrzao rad, čak naprotiv.
clipper.394 bulaja, -> #389, d.petrovic
│Javljajte se ko 'oće u grupu. └─── Daj oladi sa grupom :). Ako hoćeš da nešto doprineseš otvaranju CAVO teme, bolje ako imaš pošalji ovde neki prilog vezan za VO :).
clipper.395 jolicm, -> #379, dejanr
>> JEDINI način da se tema otvori ... Ako je to jedini način :) Zahtevam :) da se zatvore teme: comment 0 poruka do sada, dos 8 poruka do sada algoritmi 21 poruka cpp 22 poruke CAVO je taj broj prešao. Nije u redu da se ne dozvoljava iz teme clipper koja ima 391 poruku do sada da se izdvoji još jedna tema. Dejane ne poznajem te lično, ali čitajući tvoje tekstove ranije u računarima, kada su počeli izlaziti nebih verovao da ćeš preći u birokrate
clipper.396 d.petrovic, -> #394, bulaja
> Daj oladi sa grupom :). Ako hoćeš da nešto doprineseš otvaranju > CAVO teme, bolje ako imaš pošalji ovde neki prilog vezan za VO > :). Trebalo je da dobiješ pivo večeras za EH, ali, ako mi ovako odgovaraš na mail ima da igram bilijar ;)))
clipper.398 mileusna, -> #391, mkurtes
>> CAVO >> Prijavljujem se za grupu. :) E, moram i ja malo da zašumim. ;) .To moderator "Daj čoveče, otvori im tu temu, bar da mi se ne puni PAD sa nečim što nema veze ni sa Clipper-om ni sa CA.VO-om, kao što su recimo ove žalopojke tipa "Hoćemo temu, hoćemo temu". U temi Ca.Vo bi moglo bar nešto pametno da se pročita. Ako i ne bude previše rasprave, neće to biti ni prva ni poslednja tema na Sezamu koja će zvrjati prazna ( bar neko vreme ;)." REPLY dr.grba >> Telefonski imenik? (((: Why not. Hint : "Bulaja Organizer" ;) Nek' bude šta bude, ja bih samo voleo da vidim neko čedo iz tog Ca.Vo-a, pa makar i prozor sa "Hello World" Title-om :))))
clipper.399 dvesic, -> #392, mdrazic
>> Šta sve utiče na LOAD SIZE (veličina koju javlja linker na >> kraju) Clipper programa. Koristim RTLink sa jednim ili dva >> PLL-a i sa Nanfor plus sopstvenom bibliotekom. Load size >> aplikacije je 426K u razvojnoj verziji (sa debugerom) i 387K u >> finalnoj. Razvojna verzija kada radi sa 605K RAM na jednom >> mestu zaglavi zbog nedostatka osnovne memorije. Za sada nije >> ništa kritično jer postoji i vidram :)) ali pitanje ostaje. E sada ide priča ... (Ne čitaš članke u Računarima :) Celokupna memorija zatečena na startu (Realna + Ems) se zauzima od strane Clipperovog VMM-a (Virtual Memory Manager). Pri tom se za upravljanje ovom memorijom odvaja tabela (u realnoj mem.) i to po 14 bajtova na svaki Kb Realne/Ems memorije. (izuzetak : korišćenje PLL lib-ova; vidi dole). Zatim se prostor deli na Fixed i Swap space. U Fixed space idu sistemske tabele, C i ASM rutine (kod RTLINK-a; Blinker i ove rutine gura u dinamičke overleje -> više memorije). Što je veći Fixed Space to je manji Swap space. LOAD SIZE koju javlja linker je upravo min. veličina Swap Space-a (od realne treba odbiti Fixed deo i Eval stack kao i deo za Private/Public varijable). Za svaku Priv/Pub varijablu je potrebno 20 bajtova. Potrebna memorija za ovo se odvaja od Swap Space-a tokom rada u koracima od 1Kb. To je ono što može izazvati nedostatak memorije kroz duži rad programa. Kod korišćenja PLL biblioteka RtLink sam odvaja deo Realne mem. za tabele simbola : za svaku PLL biblioteku spisak svih simbola koje je moguće referisati iz programa sa njihovim adresama i još nekim servisnim informacijama. To se radi PRE nego što se prepusti kontrola VMM-u. Tu je i Eval Stack, na kojem se kreiraju Local i Static varijable. Local pri vrhu Eval Stacka, Static pri dnu (jer se ne uništavaju za vreme rada programa). Veličina ES-a je < 64 Kb. Swap space ostaje za rad VMM-a. On alocira VM Segmente <= 64 Kb i u njih raspoređuje dinamičke overleje. Nepotrebni overleji se sele u EMS, tako da isključivanje EMS-a *jako* degradira performanse većih aplikacija (zahtev za dinamičkom stranicom se uvek čita sa diska). >> load size itd. utiču private, local, static i slično. Ako se >> takav nadje, neka se javi, neću mu ništa :) Evo me :))) Generalni savet(i) : - Smanji Private/Public na račun statičkih - Izbaci iz PLL-ova podršku za NTX ako ih ne koristiš - ako ostaješ pri RTLinku, razmisli o ručnom razbijanju aplikacije na overleje - Upotrebi Blinker sa min/mid/max LNK fajlovima - mail me, ako ti treba pomoć :)))
clipper.400 djelovic, -> #395, jolicm
> Nije u redu da se ne dozvoljava iz teme clipper koja ima 391 poruku do sada > da se izdvoji još jedna tema. Nije pitanje moguceg ili nemoguceg, vec pitanje interesovanja. Evo koliko je vremena proslo od kada se prica o otvaranju teme VO, i osim silnih poruka u kojima se trazi tema, nije bila *nijedna* poruka koja bi se VO-ima konkretno bavila! Evo da napravimo :) deal: Vi napisite 20 poruka koje se bave VO-om (pravih poruka, ne kukanja i simuliranja poruka?), i eto teme. Fer?
clipper.401 stosic, -> #400, djelovic
> Nije pitanje moguceg ili nemoguceg, vec pitanje interesovanja. Evo koliko > je vremena proslo od kada se prica o otvaranju teme VO, i osim silnih > poruka u kojima se trazi tema, nije bila *nijedna* poruka koja bi se VO-ima > konkretno bavila! Ovo je greska, a kako se svaka placa mogao bi malo da pomognes: Potreeban mi je DLL (za CA-VO) sa samo DVE funkcije: _inp() i _outp() (pricali smo o tome u temi windows). Pozeljan je i source edukativnog karaktera. Imam MSVC++ v1.0 i Watcom C++ v10.0, pa biraj. Pozdrav, Boban
clipper.402 stosic, -> #398, mileusna
>>> CAVO > > E, moram i ja malo da zasumim. ;) Samo napred! Sumelo je i kada je dr.grba trazio LALE.
clipper.403 toma,
Konačno je došao trenutak da štampam dokumente na laseru. E sad, pošto ja to do sada nisam radio, voleo bih da mi neko malo pripomogne. žitah ovde da je neko to radio preko Crystal Reports-a (ili sam se prevario). Mašina je 486 na 100Mhz, disk 540, 8MB RAM, so moguće su i takve egzibicije. Koji je po vašem mišljenju najbezbolniji prelazak iz EPSON sekvenci na PCL (tako se zvaše) jezik. Ni sam ne znam šta još da pitam, dakle, napišite što više. Ja sad čekam vas, čovek čeka moj program i tako... Namerno nisam napisao da je hitno (a jeste) jer nedavno na nekom zidu pročitah poruku "Ništa nije hitno, samo ste vi zakasnili" :)
clipper.404 dejanr, -> #395, jolicm
>> Dejane ne poznajem te lično, ali čitajući tvoje tekstove ranije u >> računarima, kada su počeli izlaziti nebih verovao da ćeš preći u >> birokrate Ne bih to nazvao birokratijom, to su pravila koja vladaju na Sezamu. Teme se *nikada* ne otvaraju "napamet", nego samo na osnovu kontinuiranog interesovanja korisnika izraženog kroz mnoštvo poruka, u dužem vremenskom intervalu. A to mnoštvo poruka *nije* "hoću temu". Diskutujte o VO, ako bude dovoljno poruka, biće i teme. Tako je, uostalom, nastala tema fox pre mesec ili dva.
clipper.405 dr.grba, -> #393, bulaja
>> :) RAM disk ne bi ubrzao rad, čak naprotiv. Jedino preostaje da se nađe onaj program za keširanje RAM diska koji ndragan nikako da mi da, a obećao mi je. Ima li ga neko od vas?
clipper.406 dr.grba, -> #402, stosic
>> Samo napred! Sumelo je i kada je dr.grba trazio LALE. Ali sam barem pisao viceve zajedno sa zahtevima. (:
clipper.407 d.petrovic, -> #403, toma
> Koji je po vašem mišljenju najbezbolniji prelazak iz EPSON > sekvenci na PCL (tako se zvaše) jezik. Ako si koristio #define za setovanja štampača nebi trebalo da bude muke. Ja sam davno probao i nije mi baš išlo podešavanje kodne strane štampača iz programa pa je crtao nebuloze umesto linija (to podesiš unapred, na štampaču), ali sve ostalo je radilo kako treba.
clipper.408 rccomp, -> #391, mkurtes
Evo, malo da smetam: i ja se prijavljujem za grupu !!! :)
clipper.409 ndragan, -> #359, mdrazic
/ ključu svi brisani zapisi na dnu tabele, i go bottom dugo radi dok ne / nađe poslednji neobrisani zapis. Zato umesto go bottom može da ide seek chr(255) skip -1 Trebalo bi da je brže u ovakvom slučaju. / sadržati datum i vreme zadnje promene zapisa (može se i spakovati / u 6 znakova ko ekonomiše sa prostorom). Datum se pakuje u dva bajta ovakvom funkcijom: param datum priv y y=year(datum)-1980 y=max(0,y) y=min(y,128) numdatum=512*y+32*month(datum)+day(datum) low=mod(numdatum,256) hi=(numdatum-low)/256 gemd=chr(hi)+chr(low) retu gemd U tom formatu se, inače, upisuje i u direktorije. Ono GEM u nazivu promenljive potiče od toga što sam taj format, na svoje veliko iznenađenje, pronašao na Atariju (bio sam ubeđen da sam ga prvi izmislio, a eto nisam), a tek potom i u DOSu. Slično bi moglo i za vreme, recimo minuti 6 bitova, plus sati 5 bitova, hm, mora se otkinuti od drugog bajta. Skoro da se isplati da se radi BCD pakovanje, lakše se posle čita, a može i iz kobola (isprobao pod CP/M MS kobolom, radilo).
clipper.410 stosic,
CA-VO:DRAG-AND-DROP U Init metodi za StandardShellWindow nalazi se i poziv metode EnableDragDropClient(). Time je omoguceno otvaranje dbf fajlova pomocu drag-and-drop servera: u File Manager-u pokupite dbf fajl i prevucite ga u StandardShellWindow! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! HOCEMO VO! Finalnu verziju (: Neko je vec ima ?
clipper.411 nbatocanin, -> #388, tvucko
> Ako je u pitanju Windows i XBASE onda ipak ostajen > na FiveWin koji je mnogo praktičniji za izradu aplikacija > i kasnije održavanje. Može li malo detalja?
clipper.412 ndragan, -> #405, dr.grba
/ koji ndragan nikako da mi da, a obećao mi je. Hmmm, na kom to beše disku... ako to nije onaj što mi je riknaja onomadne...
clipper.413 toma, -> #407, d.petrovic
■> Ako si koristio #define za setovanja štampača nebi trebalo da bude ■> muke. Ja sam davno probao i nije mi baš išlo podešavanje kodne ■> strane štampača To, to, al meni treba nešto kao : Epson Laser (IIp kompatibilan) EscP --> ? EscM --> ? Condensed --> ? Probao sam malo i sam i počeo sam da kapiram, ali nije na odmet i malo tuđeg iskustva
clipper.414 bulaja, -> #400, djelovic
│Evo da napravimo :) deal: Vi napisite 20 poruka koje se bave VO-om │(pravih poruka, ne kukanja i simuliranja poruka?), i eto teme. Fer? └─── Fer :). S tim što nisi baš u pravu da nije bila *nijedna* konkretna poruka o VO :) - bilo je do sada diskusija o zvaničnim i nezvaničnim patch-evima za VO 1.0, zatvaranju prozora pritiskom na ESC, problemima sa inicijalizacijom VO, StatusBar-u, memorijskim zahtevima... Sve u svemu nekih bar deset-petnaest korisnih poruka :).
clipper.415 bulaja, -> #398, mileusna
CA-Visual Objects │Nek' bude šta bude, ja bih samo voleo da vidim neko čedo iz tog Ca.Vo-a, │pa makar i prozor sa "Hello World" Title-om :)))) └─── Ok, you asked fot it: :) METHOD Start() CLASS App local oBox as TextBox oBox := TextBox { , "Hello", "Hello, world!" } oBox:Type := BOXICONEXCLAMATION + BUTTONOKAY oBox:Show() DJelovicu, jel brojiš? :)