Clipper, CCC

Net_use hiba dbf megnyitáskor

Fórumok

Sziasztok!
Hát, nagyon régen találkoztam már Clipperrel meg dbase-el. Van egy ilyen számlázó program, egy ismerősöm keresett meg vele.
Számlázásnál a következő hibát adja:
Proc net_use line 361, open error mt_jegy.dbf (4)
Hogy indulhatnék el? Egy .exe program adja a hibát, forrásom nincs. az mt_jegy.dbf megnyitható Excell, dbase programokból, TotalCommander nem nyitja meg, valami lockolási hibára hivatkozik.
A program egyéb részei egyébként működnek.
Üdv.

Vonyó féle angol-magyar szótár

Fórumok

Felraktam a szerveremre a Vonyó féle angol-magyar szótárt, a qed-et.

A webalkalmazás felépítése elég érdekes, érdemes pár sorban leírni: Az eredeti qed szótár egy text adatbázis, amit egy parancssoros Perl programmal lehet lekérdezni. Ez elé írtam egy CCC frontendet, ami Jáva terminállal jelenik meg a felhasználó gépén. Az adatbázis, a Perl lekérdező és a CCC program az internetes szerveren van. A felhasználóhoz csak a Jáva terminál (alkalmazásfüggetlen megjelenítő) töltődik le a Java Webstart technológiával (JRE kell hozzá).

Parancssorból is indítható:


   javaws http://ok.comfirm.hu/jnlp/qed.jnlp

A qed szótár GPL-es, az én vackaimat itt lehet nézegetni.

Elfelejtettem szólni: Vigyázzatok, mert logolja a keresett szavakat, amiből elkészíthető a HUP olvasók pszichológiai profilja:)

CCC metódushívás-továbbítás

Fórumok

Metódushívás-továbbítás beágyazott objektumnak.


class aa(object)
    method met_aa
    
class bb(object)    
    attrib aa                  //egy aa osztályú objektum
    method met_bb  :aa:met_aa  //hívás továbbítás (új!)
    
...

local b:=bbNew()
    b:aa:=aaNew()
    b:met_bb(x,y,z)  //u.a. mint b:aa:met_aa(x,y,z)

Korábban is lehetett metódushívást továbbítani beágyazott objektumnak, most viszont speciális támogatás van rá. Kevesebbet kell írni. Optimalizált kód keletkezik, nincs külön függvényhívási szint a stacken, nincs paraméter átpakkolgatás. És főképp, nem kell tudni, hogy mi a továbbított metódus paraméterezése, azaz mechanikusan is megcsinálható.

CCC NetBSD-n

Fórumok

Megy a CCC NetBSD 5.0-án. Tulajdonképpen nem nagy vívmány, de azér mégis. Most Clipperből lehet vezérelni a kenyér pirulását. Amúgy élvezetes rendszer a NetBSD.

method caller

Fórumok

Arra van valami kész megoldás, hogy

class a(object)
method a_a

function a.a_a(this)
local b:=bNew()
return NIL

class b(object)
method initialize

function b.initialize(this)

return this

szcenárióban a b.initialize metódusban tudjam, hogy őt most az a objektumból hívták?

classAttrib

Fórumok

Sziasztok!
Segítsetek:

Van egy objektum, melynek van egy initialize-től eltérő metódusa.


function objektum.valami(this)

return NIL

Én itt szeretnék az objektumhoz hozzáadni egy attribot. Erre emlékeim szerint csak egy mód van, az pedig a classAttrib(clid,'attrname')
Namármost a clid (amennyit kerestem), a classIdByName(this:classname)

function objektum.valami(this)
classAttrib(classIdByName(this:classname),'newattrib')
this:newattrib:='hallo'
return NIL

Erre pedig a következő error jön:

ALERT
Operation: _method_::eval
Description: size error

default error block evaluated
errorclass: error
operation: _method_::eval
description: size error
args:{OBJECT subtype=2 oref=b7b6a8a8, STRING length=5 oref=b7b6aea8 "hallo"}

Nem lehetne az Object abstract-ba felvenni egy addAttrib és addMethod metódust?
Egyszerűbb lenne az élet this:addAttrib() -bal ;)

CCC vs Doxygen

Fórumok

Ahoy!

Volt már valakinek sikere ccc-t doxygennel dokumentálni?

A class dokumentálása érdekelne leginkább :)

/**
* long doku...
* @brief short doku...
* @class egyOsztaly
*/
class egyOsztaly(object)
method a

attrib listeners

/**
* long meth doku
* @brief short meth
* @param b valami
* @return void
*/
function egyOsztaly.a(this,b)
return NIL

Ebből csak a class definíciót nyalja fel sajnos.
Any idea?

OpenMoko programozás CCC-ben

Fórumok

Sziasztok!

Vettem nemrégiben egy OpenMoko-t. (http://www.openmoko.com , vagy http://www.openmoko.org) A készülékre teljesen igaz, amit előtte mindenhol írtak és mondtak: ez nem felhasználónak való, hanem egy fejlesztési platform, semmi más. Hát én el is kezdtem rá fejlesztgetni, mondanom sem kell, hogy CCC-ben. A jó hír az, hogy semmiféle változtatást ehhez a CCC-n eszközölnöm nem kellett, a rendes gyári programok hibátlanul futnak. Most pedig pofátlanul visszaélve a készülék hardverének fix mivoltával, mindenféle GTK-s fixed elrendezésű programokat fogok gyártani. Az első program már megvan, ez annyit tesz, hogy ha megnyomom a Power gombot, akkor HATALMAS gombokkal megkérdezi, hogy tényleg ki akarom-e kapcsolni a készüléket. Xfce-t használok, amin természetesen van kikapcsológomb, csakhogy icipici, nekem pedig az kell, hogy bármikor "röptében" ujjal ki tudjam kapcsolni.
A ccc-contrib repóba csinálok egy openmoko alkönyvtárat, és oda fogok mindenféle más okosságokat is csinálni. A következő dolog, amivel egyszerűen nem tudtam zöldágra vergődni, az SMS kezelés, úgyhogy erre fog születni egy okos CCC-s program.

w

Default értékek

Fórumok

Függvénydefiníciókban az argumentumoknak default értéket lehet adni, pl:


    function hopp(a:=exp)

ugyanaz, mint


    function hopp(a)
        if(a==NIL)
            a:=exp
        end

A default érték akármilyen kifejezés lehet, amit az adott helyen ki lehet értékelni (azaz minden eleme ismert), pl. exp-ben lehet konstans, függvényhívás, static változó, de nem lehet benne local változó, mert a local változók még nincsenek definiálva.

Más nyelvekben is van hasonló, most a CCC-ben is.