Clipper kontra XP
 Sziasztok!
Úgy tünik a korábbi Clipperes kérdésekre nem nagyon reagált senki, azért én megpróbálom, hátha felkeltem valakinek az érdeklődését.
Egészen Win98/Me szintig nem volt gondom a Clipperes progik futtatásával. Bezzeg az XP! Nagyot alakitottak!
A következö kérdések mindegyikére két kategóriában keresek választ, Clipper Summer'87 és 5.2.
1. Tud valaki, még müködő, magyar Clipperes levlistáról?
2. A nyomtatással mindjárt két gondom van
2/a.) 200.. |

Újabb problémába ütköztem: A get-ek bekérésénél a mező háttérszínét változtatgatja A háttérszín, fekete és az eredeti piros között.
Saját get kezelőm van, ami a "fókuszban" lévő get mezőt világosabb pirossal rakja ki.
Mi lehet a megoldás?
Köszi előre is. |
Ezt is megtaláltam:
#ifdef __HARBOUR__ ? "Harbour" #else ? "Clipper" #endif inkey(0)
...
Ja, bocs, nem figyeltem, hogy már jött megoldás. Köszönöm szépen. |
__HARBOUR__
__XHARBOUR__
 |
| Még arra keresem a választ, hogy melyik azonosítóval tudom feltételes fordítással figyelni, hogy a HMG vagy a Clipper fordítja a programot? (#ifdef, #ifndef-hez) |
Közben kotortam egy kicsit a HMG-ben és megtaláltam az indexek és üzenetek magyarítását. Ha még nem volt, közzéteszem, hátha másnak is kell:
REQUEST HB_CODEPAGE_HU852 REQUEST HB_LANG_HU852
function Main()
HB_SETCODEPAGE("HU852") HB_LANGSELECT("HU852") ...
|
Sziasztok!
Már majdnem végig olvastam a teljes fórumtémát.
Kipróbáltam a HMG-t és egész jól sikerült, de van néhány problémám, amit ha nem tudok/tudtok orvosolni, akkor kidobhatom az egészet. A következőkről van szó:
1. A CA-Tools sok függvényét nem valósították meg (biosdate, numfiles, filesfree, disktotal, memsize, dbfdsksize, isdbt, ...). Igaz, hogy ezek megírhatók Win32 API-val is, de azért jobb lett volna, ha belerakják. Van ehhez valamilyen kiegészítő könyvtár, amivel megy?
2. Korábban a programhoz hozzászerkesztettem az msghu852.obj és az ntxhu852.obj hivatalos clipperes magyarítást, ezáltal az indexekben normálisan kezelte és rendezte az ékezetes betűket, valamint a karakteres összehasonlításnál is helyesen kezelte (pl. 'ű'<'z' igaz értéket adott) Ezt hogy lehet megoldani a HMG alatt, mert most az összes ékezetes szöveget a lista végére rendezi (angol abc szerint).
Előre is köszönöm a segítségeteket, nagy szükségem lenne rá. |
Szia!
Légyszi küldd el a forrásokat bezippelve a
minigui.extra.hu kukac gmail.com-ra bocs hogy így
adom az email cimet , de a @ -ccal a gépi mailcim
keresők levadásszák.
Press  |
ubuntu linux server 8.04  |
Kétségbeesésről szó sincs, legalábbis a filerendszerrel kapcsolatban. Ilyesmitől nem szokásom megijedni. Sőt, ha "kalandom" adódik, akkor annak általában utánajárok, hogy legyen válasz/magyarázat is.  |
Nem tájékoztatot ,félre volt ilyen kalandom!
Ha adott esetben nincs rá szükség akkor kevesebb
munka ha pedig van akkor sem kell kétségbe
esni!  |
Szia!
milyen linux vagy esetleg BSD fut a szerveren?
a penn drive - ra installált ubuntum bent marad a cégnél
a linuxos dbu -ra biztos szükséged lesz mert linuxon el kell készíteni a DBF struktúrákat.
az email címem elküdtem privátban.
press  |
Azt tudni kell , hogy linuxos filre-rendszerre nem másolhatod
át a dbf-ket windowsról vagy dos-ról, ezeket a linuxos DBU-val
ujra meg kell creálni. Ha adatokat is át kell mentened akkor
DOS wagy win alatt elmented SDF formátumban és linux alaptt
appendolod.
Mert miért is? Akkor most bajban vagyunk, mert nálunk simán mennek dos/win/linux-on ugyanazon dbf-ekkel a (clipper/harbour) programok? Vagy valaki csak szimplán félretájékoztatott?
 |
Köszike a segítséget, holnap eltudom küldeni neked a forrás kódot pl emailen.
XP-én úgy müködik hogy van egy szervergép egy szerver teremben. Van rátelepítve egy battlefield 1942 nevü játék (szerver verzio) ami generál XML file-okat, ebben bennevan minden egyes esemény pl 01-ID player lelőtte 02-őt. Minden pályaváltás után új XML születik :). A progit (clipper 5.3 de HMG-vel fordítva)beraktuk a feladat ütemezőbe hajnali kettőkor. A program egyenként megnyitja az xml-eket, feldolgozza dbf-be, létrehoz html filokat, a felesleges index és xml filokat törli. Ezen a szerveren fut egy apache webkiszolgáló szal reggel már látható a friss statisztika és az emberek csámcsognak hogy ki volt a legbénább tegnap :)
A szerverre radmin progival illetve távoli asztallal kapcsolódunk ha gáz van.  |
Na igen van még egy elegáns megoldás , linuxra telepítesz egy
letodb ( http://minigui.tvn.hu) nevű DBF servert és a wines kliens gépekre pedig
xp alatt harbour2 vel fordított konzolosan fordított progit
amiben ha nem akart tranzakciókat működtetni lehet hogy nem
is kell változtatni.
Press  |
Szia!
A kód amit leírtál nem túl rémísztő!
Ami hiányzik belőle a feldolg(x) funkció win alatt leakartam
fordiítani harbour2 -vel csa a linkelésnél panaszkodott az előbbi miatt! a clipper 7.3 helyett valószínű 5.3 -at akartál írni!
A a progi DOS-ban gondolkodik akkor első lépésben meg kellne
nézni, hogy a linux dos emulátorával futtatható-e?
Azért néhány kérdés ez egy olyan program ami xp -n ment és
a userek bejelentkeztek hálózatban az xp-re és a "server" gépről indították a programot? (valószínű) vagy minden user
a saját gépére telepített programot indította és a "server"
gépen lévő adatokat nyitotta meg?
Abban sz esetben , ha munden gépen telepített programot
indítasz és csak az adatok vannak a linux-os serveren akkor
( és nem távoli elérésű a linux , hanem össze vannak kötözve
madzaggal vagy VIFI-vel ) akkor egyszerű a helyzet samba severt kell indítani a linuxon a megfelelő helyre betenni az adatokat és működni fog. (bár lehet hogy a usereket le kell fordítani 32 bitesre) A HMG és a samba képesek együtt működni.
A HMG-t vagy a HMG Ext. könnyen meg lehet tanúlni és konzolos
alkalmazásokat is fordít.
Ha magát a programot linux alatt akarod futtatni és nem használtál a clipper program írásakor idegen líbeket akkor
szerintem lefordítható linux alatt. A DBU eredeti forrásait
linux alatt simán forgítja és működik!
Azt tudni kell , hogy linuxos filre-rendszerre nem másolhatod
át a dbf-ket windowsról vagy dos-ról, ezeket a linuxos DBU-val
ujra meg kell creálni. Ha adatokat is át kell mentened akkor
DOS wagy win alatt elmented SDF formátumban és linux alaptt
appendolod.
A http://minigui.tvn.hu - találsz iránymutatást a harbour linux alá telepítéséhez és van fórum is.
Ha adsz egy feldolg(x) rutint akkor megpróbálom lefordítani
ubuntu alatt.
Elnézést , hogy hosszú volt a válasz de a megoldás több írányú
attólfüggően milyen a környezet.
Üdv:Press
 |
Lenne akkor egy nagyon fontos kérdésem! 2005-ben írtam egy nagyon kafa bf1942 statisztika progit clipper 7.3-ban, de sajnos 2008-ban a szerver gépen leváltották a XP-ét linuxra. Persze minden héten kapok egy üzit külföldről hogy mikor indul be újra a stat :), szal beszéltem egy php-programozóval hogy írja meg php-ben, de túl bonyorult és mivel nincs rá fizetség még egy sör se így annyiban maradt a dolog.
Szal a kérdésem csak annyi hogy ezzel a harbourral tökéletesen lelehet fordítani linuxra a progimat? Nem értek a linuxhoz szal lehet valami külünbség a filename,könyvtárszerkezet szintaktikában? (ne feledjük hogy a progim DOS-ban gondolkodik) :) Bekopizok pár dolgot a fő procedurából, és konkrétan kellene a válasz hogy ezek az utasítások korrektül fognak müködni linuxon is :) ( értelmet ne nézzetek benne mert hely spórolás miatt sok sort kitöröltem)
static ma,sv,potty,fegyver,konyvtar,test,fajl,vipfile
function main (cpar)
SetMode(25,80) par:=pcount() Mdrive:=diskname() konyvtar:=Mdrive+":\"+curdir(Mdrive+":")+"\data\" graphics:=konyvtar+"graphics\" set date ansi ma:=date() sv:=chr(13)+chr(10) h:=fopen(konyvtar+'hiba.txt',2) fseek(h,0,2) if par<>0 do case case cpar='/?' wait "More info :send email to paul_of_gotu@freemail.hu" quit case cpar='/test' wait "The program is run with testing procedure" test:=.t. endcase endif use &(dbfk+'vip') NEW set index to vipseged,vipwins,vipkillers,viptks,vtkillers use &(dbfk+'vipweap') NEW zap index on cdkeyhash+str(ranking,2) to vipweap tomb:=directory("*.xml") if nullas<>0 adel(tomb,nullas) else adel(tomb,leguj) endif asize(tomb,len(tomb)-1) for b:=1 to len(tomb) fajl:=tomb[b,1] feldolg(tomb[b,1]) next close all aeval(directory("*.ntx"), {|afile| ferase(afile[1]) } ) f:=fopen('index.html',2) do while .t. bajt:=fread(f,@puffer,40) hol:=at('Refreshed',puffer) if hol<>0 fseek(f,hol+10-bajt,1) ido:=left(time(),5) fwrite(f,dtoc(ma)+sv) fwrite(f,ido+sv) fclose(f) exit else if bajt=40 fseek(f,-20,1) else fclose(f) exit endif endif enddo return
|
Szia!
Bocsika tényleg igazad van megnéztem!
C írva és linkelve egész más jött mint hbmk2 -vel
Üdv: KnowHow
 |
A harbour is egy C kódot előállító compiler csak nem php kódból
hanem "prg" fájlokat fordít C kódddá és eztán a különféle C linkerek és libraryk készítenek nativ kódot.
Ez egyébként kapitális tévedés, hogy finom legyek. A harbour nem C kódra fordít, hanem a saját virtuális gépének kódját állitja elő. A generált kódban egy függvény híváson kívül csak adatdefiníciók találhatók:
proc main ? "Hello world!"
=>
HB_FUNC( MAIN ) { static const BYTE pcode[] = { 133, 2, 0, 108, 1, 100, 106, 13, 72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33, 0, 20, 1, 7 }; hb_vmExecute( pcode, symbols ); }
Ebből sehogy nem lesz natív kód! Ez akárhogy is nézzük pszeudokód/pkód/bytekód/..., amit a pkód interpreter, virtuális gép vagy ahogy a marketing időjárás szerint éppen hívják, hajt végre.
 |
1. Az openszorsz cuccok 99.9%-a free is.
2. A fejlesztő szempontjából az hogy valami openszorsz huszadrangú kérdés. Egy fejlesztő havi béréhez képest egy VSK8 prof sem egy összeg, és az express is bőven van olyan jó hogy egy kisebb cég elfejleszthet vele ingyen. A C# vagy a Harbour vagy a C++ forrásában pedig te mint alkalmazásfejlesztő soha nem fogsz turkálni, egyszerűen azért mert ha napi 8 órában fejlesztesz akkor nem lesz sem időd sem energiád ilyennel foglalkozni. És egy bizonyos szint felett már nem is igazán érdekel a clipper fordítód forráskódja.
3. A Clipper nyelv a maga idejében jó dolog volt, de ez a maga ideje 20 évvel ezelőtt volt. Egy C#-hoz képest muzeális. Sőt, igazából a C++-hoz képest is az. Ha van egy 20 éves Clipper programod amit mindenáron életben akarsz tartani arra jó, de másra nem igazán.  |
Hello!
Nem akarok belemerülni, de mindenesetre a facebook is hasonló
compilerrel gyorsította a php-t , "írt" egy compilert ami php kódot C++ kóddá fordította és nem kell hozzá interpreter.
A harbour is egy C kódot előállító compiler csak nem php kódból
hanem "prg" fájlokat fordít C kódddá és eztán a különféle C linkerek és libraryk készítenek nativ kódot.
A prg -ket pedig azért találták ki hogy ne keljen mindent aprólékosan C kódban megírni, na meg hogy ne keljen dbase
interpretert használni a futtatáshoz.
Mindeközben bevillan , hogy az Oracle mit fog tenni a java-val
és a MySql -lel és mikor fognak a prg filek-ből C# forrás készíteni ez már fantázia kérdése.
Hajtanak az opensourcokra a nagyok, na igen a mono linuxon és
vindowson. De a harbour is megy mostmár linuxon és windowson is.
Persze a kicsi , de okos opensourcek egyik nagy baja a dokumentáltság. A rendszerfejlesztők azt hiszik az alkalmazásfejlesztő mindent kitalálnak ?
Minden esetre szép teljesítmény a kis harbour csapatól , de
jobb lehetne a kapcsolatuk az alkalmazás fejlesztőkkel.
Persze vannak akik jól ismerik a harbourt. Grigory Filatov,
Walter Formagini, Janus Pora és még néhányan ...., Roberto Lopez
már nagyon sokkal hozzájárultak az alkalmazás fejlesztésekhez
a Harbour Minigui és a Harbour Minigui Extended IDE-t is tartalmazó rendszerek elkészítéséhez. Ezeket pedig bárki gyorsan
megtanulhatja ,ha tudja mi az az if end while endwhile persze
innen el lehet jutni nagyon hamar , ahoz , hogy hogyan nyomtassak pdf állományt direcben , de ezek a rendszerek már
ezt is tudják.
Nem fontos de meg kell jegyezni nem csak opensourcok hanem FREEk
is ezek a fejlesztőezközök.
KnowHow |
Üdv. Mindenkinek!
Köszönjük a Magyar Harbour Minigui közösség nevében
hogy az extrán a közös munkában részt vettetek.
A honlap elköltözik elsősorban a :
http://minigui.tvn.hu/news.php -ra valamint a http://minigui.zzl.org is kap majd szerepet de ez egyenlőre lassúnak tűnik.
Megjelent a harbour 2.0 , telepíthető linuxra és windowsra
szintén.
Telepítési leírások a http://minigui.tvn.hu/news.php -n. A HMG Ext. IDE megfelelő beállítás esetén már
nem csak a borland C++ 551-et használja. hanem a MinGW (gcc)
is.
A Harbour fejlesztői saját IDE-t készítenek az egyik lehetséges
grafikus felület (GUI) a Nokia Qt free változata , mely a hordozhatóságot biztosítaná. (info: Szakáts Viktor vezető fejlesztő contributor)
A harbour és az implementációi egyre több adatbázis kezelést
tudnak. xBase, Sql , SqLite , ODBC , ADO.
A SAMPLESBEN (HMG Ext.) szinte minden megoldás megtalálható amire szükségünk van.
Minden érdeklődőt várunk!
leírások beküldése: minigui.extra.hu@gmail.com
Press.
|
A harbour , xharbour - clipper 32 bites konzolos és grafikus
üzemmódban is használható. Sőtt létezik OOHG teljesen objektum orientált változata,-linux-ra is.
De igazából nem is ez az aktualitása a hozzászólásnak.
Az LC által - végignézve a hozzászólásoka- oly sokszor kifogásolt
közvetlen DBF filok nyitása is meg van oldva , ugynevezett LETO DB
server segítségével :
Letöltések és tesztelés minihui.extra.hu
DBF/cdx-ntx filokra
#include "xxxxxxxx.ch" function Main() REQUEST LETO RDDSETDEFAULT( "LETO" ) if leto_Connect( "//10.103.70.53:2812\data\" ) == -1 MsgAlert( "Can't connect to server ..." ) return nil else MsgInfo("Conectado") endif USE "//10.103.70.53:2812\data\customer.dbf" NEW Browse() USE return nil
Üdv: Press
|
Sziasztok Clipperesek!
A minigui.extra.hu - fent van a clipper 32 bites verziója sőtt az
Xharbour már a 64 bitest is tudja az xHarbour hoz van Firebird kapcsolat is!
IDE -vel rendelkezik !
Kezeli a MySql-t
Combobox , Split , Browse , Grid , Button és minden más kezelhető
Ide-ből
Át lehet vele , forgatni , vagy kis munkával átírni clipperes progikat!
az 5.2e -t tartja alapkompatibilitásnak!
Üdv:
press
|
Szia,
Ha még mindig aktuális a probléma, tudok egy jó megoldást.
Küldj el nekem egy tetszőleges(teszt)forráskódot, én lefordítom 32 bitesre, és megoldom a nyomtatási problémáidat is. Ha tetszik, a teszt után megegyezünk! :  |
Üdv
Meg kellene debuggolni a kiakadásig a programot. Volt már olyan esetem amikor a Stuff vagy egyéb karakterkezelő függvény okozta a kiakadást. Miután kicseréltem erre, működött:
function Stuff(cString, nStart, nDelete, cInsert)
local nLen, cLeftStr, cRightStr
if ( ! Empty(cString) .and. nStart > 0 )
nLen = Len(cString)
cLeftStr = Left(cString, nStart - 1)
cRightStr = Right(cString, nLen - nStart - nDelete + 1)
cString = cLeftStr + cInsert + cRightStr
endif
return(cString)
Ja C'87-ben nincs local, szóval kicsit át kell írni.  |
Ez nem a Clipper oldaláról van megoldva, ez szimpla DOS-os környezeti változó ami megmondja a Clipperes proginak hogy mit csináljon.  |
Egyébként a program lefordításának jelenlegi beállításai is hosszas csiszolgatás és tesztelés eredményeképpen jöttek létre, már csak ezért sem babrálnám, mert ha valamitől, ettől bizonytalanná válhat a rendszer.  |
Nem egészen értem, miért a clipper oldaláról próbáljuk megoldani a problémát, amikor az XP alatt gyakorlatilag problémamentesen fut a rendszer ... Szerintem - elvileg - sokkal egyszerűbbnek kellene lenni egy ugyanolyan környezetet beállítani a vista alatt, mint a programok tucatjánál a beállításokat újra kalibrálni és mindent újrafordítani, nem is beszélve arról, hogy minden újrafordítás alapos tesztelést igényel a közben - esetlegesen - változó belső eljárások miatt .... A programok feléhez nem kellett az utolsó ÁFA-módosítás óta hozzányúlni .... K nagy meló lenne, nem tenném bele ... alig várom, hogy valamilyen formában abszolválni tudjam az átültetését korszerűbb platformra ... 
De azért köszi az ötleteket .....  |
Elég régen volt már... A Clipper 87 alapból csak a 640K alatti részt tudta használni. A SET CLipper-ben az F a megnyitható fájlok számát, R a buffer méretét jelölte ha jól emlékszem. Ez azt jelenti hogy az alapmemóriábáol F*R*valamennyi volt lefoglalva => F és R minél nagyobb volt annál kevesebb RAM maradt a jó DOS-os programnak. Ha R kicsi attól működik a program, csak sokat fog a winchesterhez nyúlni. De mivel ma már ez cache-elve van, nem hiszem hogy ez zavarna bárkit is.  |
Nehéz eset.
Mióta van Clipper 5.01 azóta nem használom a 87-est. Nem ismerem a rigolyáit.
Ezt valószínűleg ismered, nekem adott pár tanácsot:
Clipper memória kezelés
Azért én megpróbálnám kikapcsolni az EMS használatot, hátha segít. Vagy másképp szerkeszteni, a Blinker sokat tud.
A "DOS" ablakot szerintem nem érted.
Csak konzol ablak van ami persze ékezetes meg minden. A DOS nem örökli a konzol tulajdonságait teljesen. Arra valók az "NT" állományok.
Ezen a ponton kiszállok. Cl.87-es szakértőre van szükséged.  |
|