Projekat

Općenito

Profil

Akcije

Nove funkcije #17519

Zatvoren

interaktivni xbase alat za servisera

Dodano od Ernad Husremović prije oko 16 godina. Izmjenjeno prije oko 15 godina.

Status:
Odbačeno
Prioritet:
Normalan
Odgovorna osoba:
Kategorija:
-
Početak:
05.06.2009
Završetak:
% završeno:

100%

Procjena vremena:

Fajlovi

c_harbour_bin.zip (6,22 MB) c_harbour_bin.zip Ernad Husremović, 05.06.2009 16:03
arc32.exe (12,5 MB) arc32.exe ver 09.10 advantage data architect Ernad Husremović, 05.06.2009 21:34
ourXdbu-1.5.2.0-Setup.zip (3,11 MB) ourXdbu-1.5.2.0-Setup.zip Ernad Husremović, 05.06.2009 22:03
nbase7a7.zip (191 KB) nbase7a7.zip Ernad Husremović, 05.06.2009 22:16
harbour_doc_en-EN.zip (195 KB) harbour_doc_en-EN.zip Ernad Husremović, 05.06.2009 22:33

Povezani tiketi 1 (0 otvoreno1 zatvoren)

korelira sa harbour - Nove funkcije #12454: toolset: nanobaseOdbačenoErnad Husremović

Akcije
Akcije #1

Izmjenjeno od Ernad Husremović prije oko 16 godina

otpakovao u c:\harbour\bin

na dos konzoli rekao

set PATH=%PATH%:c:\harbour\bin
Akcije #2

Izmjenjeno od Ernad Husremović prije oko 16 godina

napravio c:\bringout\ tu stavio exe
napravio c:\bringout\fakt i tu stavio dbf-ove

u FAKT-u ću testirati

test_1.prg


procedure main()
local i

use FAKT via "DBFCDX" 

i:=0
do while !eof()
 ? i, fakt->idroba, fakt->kolicina
 skip
enddo

Akcije #3

Izmjenjeno od Ernad Husremović prije oko 16 godina

C:\bringout\FAKT>hbrun test_1.prg

         0 01                1.00000

Akcije #4

Izmjenjeno od Ernad Husremović prije oko 16 godina

harbour je striktniji nego clipper, pa tako trazi deklaraciju varijabli (local i), te trazi eksplicitno da se kaze fakt->kolicina itd

ovo se moze iskljuciti, ali sad ne znam kako.

Akcije #5

Izmjenjeno od Ernad Husremović prije oko 16 godina

test update-a dbf-a


procedure main()
local i

use fakt via "DBFCDX" exclusive

i:=0

set order to 0

go top
do while !eof()

 if fakt->idroba == "01" 
   replace fakt->idroba with "05" 
 endif

 skip

enddo

? "zavrseno" 

C:\bringout\FAKT>hbrun test_2.prg

zavrseno

Akcije #6

Izmjenjeno od Ernad Husremović prije oko 16 godina

ovo ne radi ...

ali ovo radi:

procedure main()
local i

use fakt via "DBFCDX" exclusive

i:=0

set order to 0

go top
do while !eof()

 if LEFT(fakt->idroba,2) == "01" 
   ? "replace", fakt->idroba
   replace fakt->idroba with "05" 
 endif

 skip

enddo

? "zavrseno" 

C:\bringout\FAKT>hbrun test_2.prg

replace 01
zavrseno

isti bi efekat dobili i da smo rekli TRIM umjesto LEFT, ili fakt->idroba = "01" (a ne ==)

Akcije #7

Izmjenjeno od Ernad Husremović prije oko 16 godina

je li sve ok ?

C:\bringout\FAKT>hbrun test_1.prg

         0 05                1.00000

jeste ... sifra je sada "05"

Akcije #8

Izmjenjeno od Ernad Husremović prije oko 16 godina

test_filter.prg

procedure main()
local i

cIdRoba:="01" 
use fakt via "DBFCDX" exclusive
set filter to "IDROBA=&cIdRoba" 

set order to 0
go top
? fakt->reccount()

cIdRoba:="05" 
set filter to "IDROBA=&cIdRoba" 
set order to 0
go top
? fakt->reccount()

Akcije #9

Izmjenjeno od Ernad Husremović prije oko 16 godina

ne radi, ispravke:

procedure main()
local cIdRoba

cIdRoba:="01" 
use fakt via "DBFCDX" exclusive
set filter to "IDROBA='&cIdRoba'" 

set order to 0
go top
? fakt->reccount()

cIdRoba:="05" 
set filter to "IDROBA='&cIdRoba'" 
set order to 0
go top
? fakt->reccount()

Akcije #10

Izmjenjeno od Ernad Husremović prije oko 16 godina

ma kakvi ja to brljam, evo ovo radi:

test_filter.prg

procedure main(cPar)

public cIdRoba

memvar->cIdRoba := cPar

//? memvar->cIdRoba

use fakt via "DBFCDX" exclusive
set filter to TRIM(fakt->IDROBA) == memvar->cIdRoba 

//set filter to "IDROBA='&cIdRoba'" 
go top
? "start" 
? "----------------------------------------------------" 
do while !eof()
   ? fakt->idroba
   skip
enddo

? "----------------------------------------------------" 
? "end" 

C:\bringout\FAKT>hbrun test_filter.prg 01


start
----------------------------------------------------
----------------------------------------------------
end
reccount() =          1

C:\bringout\FAKT>hbrun test_filter.prg 05

start
----------------------------------------------------
05
----------------------------------------------------
end
reccount() =          1

Akcije #11

Izmjenjeno od Ernad Husremović prije oko 16 godina

  • % završeno promijenjeno iz 0 u 90

Zaključak

koristeći standardnu clipper sintaksu (istina nešto striktniju), imamo interaktivni xbase alat koji podržava CDX DBF/FPT fajlove/indekse.

Napomene

hbrun bez parametara pokreće harbour "." konzolu, međutim to ovdje ne radi kako treba (ne prikazuje se ispravno vrh ekrana) jer sam ja nešto eksperimentisao sa visinom ekrana u ovom build-u, te sa drajverima konzolni output (radi se o mingw build-u od prvog maja).

U svakom slučaju, mislim da je pisanje prg-ova uvijek bolji način nego direktno udaranje po dot konzoli.

Istina i to nekada zatreba, pa prvom prilikm treba napraviti build koji će i ovo podržavati.

Akcije #12

Izmjenjeno od Ernad Husremović prije oko 16 godina

Nerazjašnjena pitanja

Da li nakon update-a baze ovim alatom treba reindeksirati bazu (da li je index compatibilan sa cliperovim) ? Mislim da ne treba, ali nisam to testirao

Akcije #13

Izmjenjeno od Ernad Husremović prije oko 16 godina

set order to tag

test_tag.prg

procedure main()

use fakt via "DBFCDX" exclusive
set order to tag "IDROBA" 

go top
? "start" 
? "----------------------------------------------------" 
do while !eof()
   ? fakt->idroba
   skip
enddo

? "----------------------------------------------------" 
? "end" 

C:\bringout\FAKT>hbrun test_tag.prg

start
----------------------------------------------------
05
----------------------------------------------------
end

radi i to izgleda. Ovo izgleda jer mi uzorak baš nije reprezentativan - imam samo jedan slog.

Akcije #14

Izmjenjeno od Ernad Husremović prije oko 16 godina

rad pod linux-om

i wine-om

bringout@nmraka-2:~/fmk$ scp :~/sc/fmk_data/FAKT/KUM1/* .

Akcije #15

Izmjenjeno od Ernad Husremović prije oko 16 godina

instalirao sam wine apt-get install wine

u ~/.wine/

napravio istu strukturu kao i na windows

c:/bringout/FAKt
c:/harbour/bin

pokrenuo

$ winecmd cmd

i dobio dos konzolu

u konzoli rekao

set PATH=%PATH%:c:\harbour\bin

hehe radi sve, čak i više nego pod windows-ima jer mi hbrun ispravno prikaže konzolu i mogu da koristim interaktivno komande na "."

hbrun . prompt

.use fakt via "dbfcdx" 
.list idroba, kolicina

Akcije #16

Izmjenjeno od Ernad Husremović prije oko 16 godina

ali ima iproblem. Kada izađe iz harbour aplikacije wineconsole je nedostupna ...

sve ovo sam uradio da ispitam "set order to tag" na većem uzorku

gornji primjer ne radi, jer tag "IDROBA" izgleda i ne postoji. Interesatno je da harbour ćutke proguta nepostojeći tag i ostavi order na 0 (bez ordera).

ovo međutim radi:

procedure main(cTag)

local i:=0, n_limit:=30

//set AUTOPEN ON
use roba via "DBFCDX" exclusive

set order to TAG &cTag
//set order to TAG "NAZ" 

? indexord()
inkey(0)

go top

? "start" 
? "----------------------------------------------------" 
do while !eof()
   ? roba->id, roba->naz
   skip
   i++
   if i > n_limit
         exit
   endif
enddo

? "----------------------------------------------------" 
? "end" 
inkey(0)

ovo gore prikazuje 30 prvih proizvod prikazanih po željenom tag-u

iz ubuntu konzole mogu da kažem:

prikaži prvih 30, sortirano po id

bringout@nmraka-2:~/.wine/drive_c/bringout/FAKT$ wine c:\\harbour\\bin\\hbrun test_tag.prg ID

prikaži prvih 30 sortirano po nazivu

bringout@nmraka-2:~/.wine/drive_c/bringout/FAKT$ wine c:\\harbour\\bin\\hbrun test_tag.prg NAZ

Akcije #17

Izmjenjeno od Ernad Husremović prije oko 16 godina

  • % završeno promijenjeno iz 90 u 100

rezime

hbrun (mingw win32 build) možemo koristiti i direktno na našem ubuntu destkop-u. Sa svim ljepotama ubuntu konzole :)

Naravno, još bolje je rješenje koristiti native harbour, ali ja ga nisam imao instaliranog, a za servisere je ipak bitniji windows desktop generalno

Takođe, ja sam samo pokupio harbour/bin, a tu zasigurno ima 70% stvari što su nepotrebne za ovo što sam demonstrirao. Sigurno u 2-3 MB sve što je potrebno može da se zapakuje.

fox pirat definitivno nije potreban u servisnom toolset-u za fmk.

Akcije #18

Izmjenjeno od Saša Vranić prije oko 16 godina

dobro meni je fox trebao radi modifikacije polja tabele, zato što mi je u chs skript uletio neki karakter kojeg ne vidim nigdje i dobio sam polje u DBF-u koje je imalo naziv, npr:

  • IDROBA+neki čudni karakter

modifikacijom nisam mogao to riješiti jer nisam mogao da ukucam taj karakter nigdje

sve je nastalo na osnovu linuxa, jer je nekakvom kombinacijom tipki poslije slova "A" uletilo to nešto čudno...

E sada treba da se promjeni naziv polja...

Akcije #19

Izmjenjeno od Saša Vranić prije oko 16 godina

sa fox-om ili sličnim alatom sam to uradio za 3 sekunde, modifikovao polje

mislim da ne trebamo pretjerivati !

Akcije #20

Izmjenjeno od Ernad Husremović prije oko 16 godina

Saša Vranić je napisao/la:

sa fox-om ili sličnim alatom sam to uradio za 3 sekunde, modifikovao polje

mislim da ne trebamo pretjerivati !

ne shvatam šta misliš da pretjerujem ?

Akcije #21

Izmjenjeno od Ernad Husremović prije oko 16 godina

a shvatio sam, ima gui za pregled polja i modifikaciju struktura.

Svejedno fox ne može biti opcija, s obzirom da je piratska kopija.

Akcije #22

Izmjenjeno od Ernad Husremović prije oko 16 godina

Advantage Data Architect Utility

za takve stvari sigurno je dobar freeware arc32 Advantage-ov:

Advantage Data Architect Utility: A complete data management system for Advantage developers
Advantage Data Architect assists in designing, creating and maintaining the database layer of a developer's applications. This also includes Advantage Local Server, which allows for royalty-free distribution for shared and local environments.

The following features are available with the Advantage Data Architect:

Development
  • Import and convert other table types (such as Paradox, dBASE, Access, Btrieve, Pervasive and MS SQL Server) to Advantage compatible tables
  • Create and maintain Advantage data dictionaries and define referential integrity rules, record and field level constraints, and more
  • Create tables and indexes
  • Restructure existing tables
  • Encrypt/decrypt tables and dictionaries
  • Generate and test Advantage SQL queries using a visual query designer
  • Generate code to automatically create tables and indexes using the Advantage Tables-to-Code Generator
Configuration
  • Check the client workstation's environment to test and diagnose connection issues with the Advantage Database Server
  • Setup Access Control Lists to define user access rights for users who wish to connect to the Advantage Database Server
  • Create aliases similar to those used by the Borland Database Engine
Management
  • Manage the database with functionality for rebuilding indexes and packing, restructuring and repairing tables
  • Manage Advantage data dictionaries with the Advantage Data Dictionary Manager
  • Observe Advantage Database Server activity with the Advantage Management utility
  • Execute maintenance tasks from within a transaction
  • Compare data dictionaries via the dictionary differentiation tool
Akcije #23

Izmjenjeno od Ernad Husremović prije oko 16 godina

ovaj me je članak podsjetio na data architect-a kao "dbu replacement": http://objectmix.com/clipper/165474-need-dbu-replacement.html

Akcije #24

Izmjenjeno od Ernad Husremović prije oko 16 godina

kod instalacije pita OEM language: odabrao sam BOSNIAN (na dnu liste(

Akcije #25

Izmjenjeno od Ernad Husremović prije oko 16 godina

probao arc32, pravo je bugovit, interesatno da sam u pod wine-om editovao strukturu FAKT tabele (prijavljivao je bugove ali je završio posao) dok pod native windowsima iskače ko lud na sam pomen Table/Properties

Akcije #28

Izmjenjeno od Ernad Husremović prije oko 16 godina

haha ovaj tek roka ko lud ne mogu ni odabrati tabelu on me izbaci

Akcije #29

Izmjenjeno od Ernad Husremović prije oko 16 godina

http://a2.pluto.it/a2936.htm

756.1 What is it

nanoBase (2) is a Dos program that works essentially as:

  • a dot command line xBase,
  • a menu driven xBase,
  • a xBase program interpreter.

nanoBase 1997 is compiled in two versions: a small one to be used with old computers (x86-16 with 640 Kibyte RAM), and a second one to be used with better computers, at least i286 (or better) with 2 Mibyte RAM.

Akcije #30

Izmjenjeno od Ernad Husremović prije oko 16 godina

Akcije #31

Izmjenjeno od Ernad Husremović prije oko 16 godina

hbrun dbedit

ovo takođe radi

bringout@nmraka-2:~/.wine/drive_c/bringout/FAKT$ wine c:\\harbour\\bin\\hbrun test_4.prg

procedure main()

SET DATE TO GERMAN

use fakt via "DBFCDX" exclusive
set order to tag "1" 
dbedit()

međutim samo mogu da vidim, ne mogu da ispravljam tabelu ? koja je tipka za ulazak u edit mod kod dbedit funkcije ?

Akcije #32

Izmjenjeno od Ernad Husremović prije oko 16 godina

bringout@nmraka-2:~/devel/git/hernad/hernads-harbour/harbour$ vi doc/en-EN/dbstrux.txt

 *      USE Test
 *      __dbCopyXStruct( "TestStru" )
 *      USE TestStru
 *      LIST

zakačio zip sa harbour dokumentacijom

Akcije #33

Izmjenjeno od Ernad Husremović prije oko 16 godina

harbour, prikaz strukture tabele

procedure main()

SET DATE TO GERMAN

use fakt via "DBFCDX" exclusive

__dbCopyXStruct( "fakt_stru" )
USE fakt_stru

? "FAKT structure" 

LIST field->field_type, field->field_name, field->field_dec, field->field_len TO FILE struct.txt

inkey(0)

šta ja ustvari radim ? pravim set snippet-a sa kojima se onda može praviti beskonačna kombinatorika pri administriranju dbf-ova

Akcije #34

Izmjenjeno od Ernad Husremović prije oko 16 godina

ovdje sam zapeo, kao da ARRAY funkcije (ASIZE itd) nisu ulinkane u HBRUN pa prijavljuje nepostojeće funkcije ? to treba još pogledati

procedure main()
local i, aF
SET DATE TO GERMAN

use fakt via "DBFCDX" exclusive

//__dbCopyXStruct( "fakt_stru" )
//USE fakt_stru

aF := fakt->(AFIELDS())

? vartype(aF)

quit

for i:=1 to ASIZE(aF)
  ? aF[0,0]
next

//? AFIELDS[0,0]

? fieldpos("IDROBA")

//for i:=1 to LEN(fakt->AFIELDS())
//  ? fieldname(i)
//next

inkey(0)

Akcije #35

Izmjenjeno od Ernad Husremović prije oko 16 godina

vsasa je napisao

kada dođem na teren provedem sate i sate, kao i prije terena samog i onda nakon što razvalim nešto ljudima skontamo da hbrun ipak neće dobro raditi ako je XP SP1 instalacija, dok će kod SP2 i raditi, a kod SP nikako !!! Ali je to sve kod ljudi i na uštrb naših korisnika. To je kvaka i to je žalosno ali taj procenat je veći kod opensource software-a. Ne bih da me se pogrešno shvati u smislu da ja sada bježim od koncepta OpenSource-a !!! NEEE, ne bježim, ali treba biti razuman i imati granicu kod ovakvih stvari, a mi ljudi od software-a bar to znamo, šta vrijedi a šta ne vrijedi... Ljudi inače kupe neki pristojan software-e u takve namjene, prvenstveno siguran !!! što je jako bitno. Ne mogu se igrati i misliti da li se može deklarisati ARRAY ovako ili onako i igrati sa tuđim podacima. Mislim da sam vidio nekada CDBFEdit i CDBFView software, da sam ga čak i testirao u DEMO modu i on to radi kako treba i bez pola muke. Opet, ne kažem da mi sada trebamo kupiti CDBFView, ali u kontekstu priče želim da me se shvati.

Odabir alata treba da zadovolji određene kriterije.

U našem developer/serviser toolset-u izbjegavam zatvoren software.

Druga negativna osobina ovoga i ovakvih alata je da su windows only.

alat treba biti iznimno koristan, i da ništa slično od otvorenog software-a takvog nivo, da bi prošao mimo ovih kriterija.

Akcije #36

Izmjenjeno od Ernad Husremović prije oko 16 godina

već ranije sam ovo komentarisao na pomenutom ticketu

vsasa:

kada dođem na teren provedem sate i sate, kao i prije terena samog i onda nakon što razvalim nešto ljudima skontamo da hbrun ipak neće dobro raditi ...

e baš karikiraš.
Prije svake administrativne operacije na tabelama radiš backup pa onda čačkaš, sa fox-om ili hbrun-om je isto.

Fox 20, krekovana aplikacija iz 90 i neke, je baš pouzdana alat. Na stranu što je u našoj firmi zabranjeno korištenje nelegalnog software-a.

Akcije #37

Izmjenjeno od Ernad Husremović prije oko 16 godina

Time sam objasnio kriterije o kojima treba voditi računa po pitanju izbora servisnih i developerskih alata.

Akcije #38

Izmjenjeno od Ernad Husremović prije oko 16 godina

i na sašin prijedlog odgovorio

Akcije #39

Izmjenjeno od Ernad Husremović prije oko 15 godina

  • Status promijenjeno iz Dodijeljeno u Odbačeno
Akcije

Također dostupno kao Atom PDF