Differences
This shows you the differences between two versions of the page.
|
cor4:app:objects:cxbase [2006/03/30 21:37] ivivan létrehozva |
cor4:app:objects:cxbase [2021/01/05 11:39] (current) |
||
|---|---|---|---|
| Line 12: | Line 12: | ||
| ===== Metódusok ===== | ===== Metódusok ===== | ||
| - | ==== getValue ==== | + | ==== add_record ==== |
| - | ''mixed getValue(string sect, string ident [, mixed default = false])'' | + | ''int add_record()'' |
| - | A ''sect'' szekció ''ident'' azonosítójú elem értékét adja vissza. Ha a megadott elem nem létezik, akkor a visszatérési érték ''default''. | + | Új elemet fűz a fájl végére. Az új sor minden eleme üres, azt egy [[#set_record|set_record()]] hívással állíthatjuk be. |
| - | ==== setValue ==== | + | ==== get_record ==== |
| - | ''bool setValue(string sect, string ident, mixed value)'' | + | ''mixed get_record(int rec)'' |
| - | A ''sect'' szekció ''ident'' elemének értékét állítja ''value''-ra. Ha a megadott szekció illetve elem nem létezik, akkor automatikusan létrehozásra kerül. A visszatérési érték **true** siker esetén, **false** ellenkező esetben. | + | A megadott sorszámú recordot olvassa ki és adja vissza egy asszociatív tömbben. Amennyiben a megadott számú record nem létezik, a visszatérési érték **false**. |
| - | ==== setValues ==== | + | ==== set_record ==== |
| - | ''int setValues(array values)'' | + | ''bool set_record(int rec, array values)'' |
| - | A ''values'' olyan tömb, amiben a tömb egyes elemei a kiírandó sorokat tartalmazzák. A tömb kulcsának <nowiki>"sect.ident"</nowiki> alakúnak kell hogy legyen; amennyiben a kulcs nem tartalmaz pontot illetve a érték nem skalár, akkor az eljárás azt az elemet kihagyja. A végrehajtás ezekután megegyezik a ''setValue'' végrehajtásával. | + | A ''rec'' számú record elemeit a ''values'' asszociatív tömbnek megfelelően cseréli le. Amennyiben a művelet sikeres, a visszatérési érték **true**, sikeretelenség esetén (például mert a megadott számú record nem létezik) a visszatérési érték **false**. |
| - | A visszatérési érték **-1**, ha a paraméter nem tömb, egyébként a figyelembe vett elemek számát adja vissza. | + | ==== flush ==== |
| - | ==== getSections ==== | + | ''bool flush()'' |
| - | ''array getSections()'' | + | A változásokat visszaírja a megnyitott fájlba. A visszaírás csak akkor történik meg fizikailag is, ha változás történt az adatbázisban. A visszatérési érték akkor **true**, ha történt írás. |
| - | Az összes szekció nevével tér vissza. | + | ==== get_deleted ==== |
| - | ==== getSection ==== | + | ''bool get_deleted(int rec)'' |
| - | ''array getSection(string sect)'' | + | Megadja, hogy a megadott számú record törlésre jelölt-e. |
| - | A ''sect'' szekció bejegyzéseivel tér vissza. | + | ==== set_deleted ==== |
| - | ==== getSectionWithValues ==== | + | ''bool set_deleted(int rec)'' |
| - | ''array getSectionWithValues(string sect)'' | + | A megadott számú recordot törlésre jelöli. A visszaadott érték **true**, ha már törlésre jelölt volt előtte is. |
| - | A ''sect'' szekció bejegyzéseivel és azok értékével tér vissza úgy, hogy a visszatérési tömb minden egyes elemének kulcsa a bejegyzés neve, értéke a bejegyzés értéke. | + | ==== get_fields ==== |
| + | |||
| + | ''array get_fields()'' | ||
| + | |||
| + | A mezők neveit tartalmazó tömbbel tér vissza. | ||
| + | |||
| + | ==== get_numrecords ==== | ||
| + | |||
| + | ''int get_numrecords()'' | ||
| + | |||
| + | Megadja a recordok számát. | ||
| ===== Példa ===== | ===== Példa ===== | ||
| Line 55: | Line 65: | ||
| <?php | <?php | ||
| - | // érdemes teljes elérési utat használni, mert az ini fájlok szabványos helye mindig a WINDOWS könyvtár | + | // itt egy létező dbf fájl elérési útját kell megadnunk |
| - | $ini = new CIniFile('D:\Projects\delphi-projects\Cor4App\OnlineApp.ini'); | + | $dbase = new CxBase('P:\060314.dbf'); |
| - | // egy érdekes példa | + | // ez a kis példa minden elemet kisbetűssé alakít |
| - | $res = array(); | + | for ($i=0;$i<$dbase->get_numrecords();$i++) { |
| - | foreach ($ini->GetSections() as $sect) { | + | $arr = $dbase->get_record($i); |
| - | $res[$sect] = $ini->GetSectionWithValues($sect); | + | foreach ($arr as $key=>$value) $arr[$key] = strtolower($value); |
| - | } | + | $dbase->set_record($i,$arr); |
| + | } | ||
| - | var_dump($res); | + | // semmiképp se felejtsük el a flush hívást; enélkül a változtatások nem érvényesülnének |
| + | $dbase->flush(); | ||
| - | ?> | + | ?> |
| </code> | </code> | ||