Archív konference Delphi

Zpět na výběr roku archívu nebo přejít na fulltextové vyhledávání v konferenci.

Znak Ohmu do DBGridu D1

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 18.1.2000 08:03:57

On 17 Jan 00, at 11:43, René Otisk wrote:

> D1, RxLib 2.6, W3.1
> Mam takovy malicky problemek. Potrebuji do DBGridu (resp. do
> DisplayLabel u TMemoryTable) dostat znak odporu - Ohm (Ω - doufam ze
> se dobre zobrazi). Jiz placu zoufalstvim. Sroub

Nevim, jak to pujde u DBGrid, ale obecne se to udelat tak, ze
napises text, zmenis font, napises prislusny znak, zmenis font
zase na puvodni a pokracujes dal. Nejlepe nekde v Paint nebo jine
metode, ktera plni tuto funkci.


S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz, localizator(zv)localizator.com
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Problem roku 10000 alias Y10K a pripravenost Delph

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 18.1.2000 08:03:57

On 18 Jan 00, at 15:43, Delphy confera na MV SR wrote:

> > > Nemluve o tom, ze nejvetsi prusvih s Y2K prijde stejne az v roce
> > > 2048.
>
> Nex rozmyslam ako rozmyslam, neviem poxopit kde vidis problem roku
> 2048

Kolik je 1K v pocitaci? A tedy kolik je 2K?
:-)


S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz, localizator(zv)localizator.com
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Pridanie hesiel do paradox databaz.

[*] Ren� Otisk - 18.1.2000 08:07:43

Hi,
Mozna se pletu, ale myslim, ze Session.AddPassword je pridani uzivatelskeho
hesla do spusteneho programu k pristupu k tabulce. (Ze se clovek muze
prihlasit vice uzivatelskymi hesly a tim i pravy k tabulce). Sakra, nevim
jak to srozumitelne napsat, kdyz tak se ozvi.
Sroub

Ahoj,

pouzij metodu Session.AddPassword.
> Ako sa pridavaju programovo hesla do databaz Paradoxu ?
>
> Dakujem.

C105

[*] Pavel ZIDEK <kopr(zv)kopr(tec)cz> - 18.1.2000 08:13:37

Diky,
to je to pravy orechovy, Pavel


Zkus :

www.geniusnet.com.tw

S pozdravem (Regards)
Zdenek Moravec zmo(zv)telecom(tec)cz
-----Original Message-----
From: Pavel ZIDEK <kopr(zv)kopr(tec)cz>
To: Konference DELPHI forum <delphi-l(zv)fwd(tec)cz>
Date: 17. ledna 2000 13:26
Subject: OT: C105


Zdravim,
predem se vsem omlouvam za cteni tohoto mailu.
Asi tyden shanim ovladace pro Scaner Genius C105 - stratil jsem disketu. Nevi nekdo o tomto ovladaci. Na www.genius.com je kulovy
Diky Pavel ZIDEK

Pekny den (rano, vecer i noc) preje
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
KOPR software Pavel ZIDEK mailto:kopr(zv)kopr(tec)cz
http://www.kopr(tec)cz/w-delphi.htm http://www.kopr(tec)cz
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

HOOKing - SetWindowsHooEx

[*] kchodl(zv)email(tec)cz - 18.1.2000 08:15:45

Zdravim,
puvodni problem s volanim callback fce je jiz vyresen. Uvedomil jsem si,
ze kazda aplikace si prilinkuje svou vlastni instanci DLL, ktere mezi
sebou tudiz nesdileji data. Proto v DLL staci pomoci PostMessage poslat
zpravu vlastni aplikaci, ktera uz provede nejake to obslouzeni.

Nyni nastal jiny problem. Odchytavam zpravy mysi a chtel bych je
modifikovat :). Vim, ze lParam "callback" fce ukazuje na MOUSEHOOKSTRUCT,
ktera obsahuje informace o pozici mysi, handle okna nad kterym je kurzor a
nejake dalsi informace.
Ja bych chtel napriklad modifikovat pozici mysi. Kdyz jednoduse tuto
pozici prepisu, nestane se nic. Pravdepodobne je tato struktura
(MOUSEHOOKSTRUCT) jen informativni a pri jeji modifikaci na to neni
systemem bran ohled => jak tedy lze zmeni tyto parametry?

Progr-Amather -Kchodl- 1989-2000

--- CREATED BY ATC O..R..G..A..N..I..Z..E..R
--- http://email(tec)cz <--- Get Your Free Email

FlashFiler?

[*] Lukas Suchanek <lukas.suchanek(zv)lerach(tec)cz> - 18.1.2000 08:19:33

Ave,
mozna jsem natrvdlej, ale vrta mi to hlavou, tak se musim optat.
Kdyz se tu zacalo mluvit o FlashFileru, velmi me to zaujalo a zacal
jsem se po nem poohlizet, dokonce jsem si i stahnul demo abych si neco
vyzkousel, ale zarazilo me tam hned nekolik veci.
FlashFiler neumi SQL prikazy ani standardni praci s TQuery ???
To se fakt musi vsechno delat pres TTable?
Jakym zpusobem se v takovem pripade provadi spojovani pres 2 a vice
tabulek, group by, order by, vyber jen urcitych radku z tabulky ap., to mi
neni jasne. Ja jsem doposud byl zvykly vsechno resit pres SQL prikazy.
Jsou me dohady spravne nebo existuji i elegantnejsi reseni, ktera mi
dosud zustala utajena?

/ Lukas Suchanek


--- Lukas Suchanek -------- 0602 / 844 355 ---
---------- lukas.suchanek(zv)lerach(tec)cz ----------


Problem roku 10000 alias Y10K a pripravenost Delph

[*] Slavek Rydval <rk(zv)atrey.karlin.mff.cuni(tec)cz> - 18.1.2000 08:25:04


> Slavku, myslis, ze by vyrobci harddisku, kdyz uz se timto trikem
> snazi vylepsit parametry svych vyrobku, meli pouzivat oznaceni mB? :-)
*****That's the question. :-) MB se oznacovalo jiz od zacatku. Ale
abychom byli precizni, asi ano. Ono to je dosti slozite. Dokonce jsem nekde
na webu (zive? novinky?) cetl, ze se maji zavadet specialni
jednotky pro informatiku. Pripadlo mi to jako kachna, ale pokud ne,
tak by se melo rikat gibigajt, kibibajt, ... A pokud je to pravda, asi
by se to IMHO neujalo. Ale zde uz je to silny off topic.

Slavek

> Jura
>
-------------------------------------------------
http://atrey.karlin.mff.cuni(tec)cz/~rk
-------------------------------------------------
http://www.swnet(tec)cz
Magazin informacne vyspelych jedincu
-------------------------------------------------


Pridanie hesiel do paradox databaz.

[*] Martin Lasevic <lasevic(zv)atlascon(tec)cz> - 18.1.2000 08:27:55

Sorry, chybicka se vloudila.

Martin

> Hi,
> Mozna se pletu, ale myslim, ze Session.AddPassword je pridani uzivatelskeho
> hesla do spusteneho programu k pristupu k tabulce. (Ze se clovek muze
> prihlasit vice uzivatelskymi hesly a tim i pravy k tabulce). Sakra, nevim
> jak to srozumitelne napsat, kdyz tak se ozvi.
> Sroub
>
> Ahoj,
>

Problem roku 10000 alias Y10K a pripravenost Delph

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 18.1.2000 08:36:16

> > a znaci 1000. Aby se odlisilo 1024 bytu jako kilo, pise se s velkym
> > K. Tedy Y2k je rok 2000, Y2K je 2*1024, tedy 2048. Stejne tak
> > W2k jsou windows 2000, W2K budou (mozna) windows 2048 :-)
> >
>
> Bohuzel toto nevi ani firmy uzce spjate s IT.
> A napr. vyrobci harddisku pouzivaji oznaceni MB pro
> 1000000 bytes. Nevinil bych tedy media, ktera
> oznaceni pouze prebiraji a sama je nevymysli.
>
> Slavku, myslis, ze by vyrobci harddisku, kdyz uz se timto trikem
> snazi vylepsit parametry svych vyrobku, meli pouzivat oznaceni mB? :-)

To by zase znamenalo mili Byte :)

Ale vazne. Kdyz jsem byl ve skole na prumce, (1988 - 1992),
hodne na tom kantori bazirovali, na rozlisovani kilo a Kilo. Ja,
jakozto pedant, jsem to delal poctive taky a ani dnes mi to neni
uplne cizi.
Pro nepocitacovou verejnost je to ale nepochopitelny problem.
Co je nejake sekretarce do toho, ze mega neni v pocitaci milion?

Vnimam proto snahy o pouzivani mega ve vyznamu milion, kilo
(Kilo?) ve vyznamu tisic predevsim jako pokus prestat machrovat
pred laickou verejnosti s technickymi detaily a nechat ji pouzivat
tyto jednotky tak, jak se to uci na ZS tusim ve fyzice.

Myslim, ze mezi pocitacovniky a nepocitacovniky je stale velka
propast, hlavne ve starsi generaci; rada lidi povazuje praci s
pocitacem za neco, co se uz nemuze naucit, protoze se ji to zda
slozite.

Pokud tedy "pocitacovnici ohnou hrbet", pristoupi na "kulate"
jednotky a toto povede k alespon castecnemu omezeni vyse
zminene propasti, tak jsem vsemi deseti pro a drzim tomu palce.

David Lebeda
Lebeda(zv)comarr(tec)cz


problem s DBF 2

[*] Radek KALA <Kala(zv)atlas(tec)cz> - 18.1.2000 08:43:32

BDE 5.1 samozrejme mam, FoxPro to otevira dobre a jina
aplikace, ktera tu tabulku otevira celou, bez vazby na hlavicku
faktury to otevre taky dobre.

Prosim o dalsi pokus Diky

> Pravdepodobne tabulka je porusena.
> Skontroluj ci ina aplikacia vie otvorit tabulky.
> alebo skus vykonat ScanDisc.
>
> ---- Original Message -----
> From: Radek KALA <Kala(zv)atlas(tec)cz>
> To: <delphi-l(zv)fwd(tec)cz>
> Sent: Friday, January 14, 2000 1:50 PM
> Subject: problem s DBF
>
>
> > Hi,
> >
> > Byl jsem nucen pouzit tabulky foxky ( .dbf ) a narazil jsem na maly
> > problem, Mam dve tabulky ( faktury a polozky ) vazba dle polozky
> > doklad ( coz je pochopitelne cislo faktury )
> > z hlavicek se na zaklade nejakych podminek udela Query a k tomu
> > jsou prilinkovane polozky pomoci TTable pres mastersource atd.
> > Vse funguje az do okamziku, nez ma faktura treba 100 polozek.
> > pak to cely ztuhne a vypada to, ze cely BDE a ne jen muj program.
> > Zkousel jsem nahradit TTable s polozkama komponentou TQuery a
> > dopadlo to uplne stejne. Polozky jsou zobrazeny v gridu a jak listuji
> > dolu tak na urcitem recordu to vzdy spolehlive lehne.
> >
> > Netusite nekdo co s tim.
> > ( nejvitanejsi rada je typu nastavit v BDE neco nejak ).
> >
> > Diky moc
> >
> >
> > S pozdravem Radek KALA
> > BetaControl, s.r.o.
> > Cerneho 58/60, 635 00
> > tlf. : + 420 5 4622 3491
> > fax : + 420 5 4622 3470
> > GSM : + 420 603 85 75 15
>
S pozdravem Radek KALA
BetaControl, s.r.o.
Cerneho 58/60, 635 00
tlf. : + 420 5 4622 3491
fax : + 420 5 4622 3470
GSM : + 420 603 85 75 15


Zapis po editaci dat

[*] Mirek Junek <mjunek(zv)uo.fairnet(tec)cz> - 18.1.2000 08:55:25

>
> prosim o radu s nasledujicim problemem (myslim ze to bude pekna blbost,
ale
> zatim jsem si s tim neporadil) :
>
> Situace:
> W98, D4, BDE 5.01, tabulky Paradox v siti.
>
> Problem:
> Jakekoli upravy dat v tabulce (TTable, Edit, Post) nejsou videt na jine
> stanici, dokud aplikaci neukoncim a nepustim znovu.
> Nezabere ani Refresh na jedn� nebo na druh� stanici.
>
> Dalsi divna vec je, ze to ani nerve, kdyz chci na obou stanicich editovat
> stejnou vetu (myslel jsem, ze bude fungovat implicitni zamykani zaznamu).
>

S velkou pravdepodobnosti nemas nastaveny NET DIR u Paradoxiho driveru v
BDE.
V BDEADMIN volba :
Configuration - Drivers - Native - Paradox : NET DIR
Tahle polozka !MUSI! ukazovat u VSECH stanic na fyzicky stejny adresar
dostupny vsem pro cteni i zapis.

A TAKE

Configuration - System - INIT : LOCAL SHARE nastavit na TRUE;


Pokud neco z toho nemas nastaveno je to asi tim.

Lud�k ZITA

Souhlas s Ludkem, zkusim odpovedet na 1. cast dotazu. Mel jsem podobny
problem, tady jsou me poznamky k reseni (znamou metodou pokus-omyl):

Probl�m:
tabulka otev�en� na PC1, PC2 v n� p�id� z�znam
na PC1 se ud�l� Query na tabulku, jsou v n� star� data

�e�en�:
p�ed otev�en�m Query bu� ud�lat na tTable ukazuj�c�
na tuto tabulku Refresh,
nebo n�jakou jinou tTable ukazuj�c� na stejnou tabulku
otev��t a zav��t.

Pozn�mka:
Stejn� blb� se to chov�, if tabulka je otev�ena v jin�m sessionu,
nap�. v DBD

Hodne zdaru
Mirek


Globalni odchyceni exceptionu

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 18.1.2000 08:59:03

> pomoci Application.OnException, tim ale odchytis
> vsechny neosetrene vyjimky. Ty osetrene muzes pote,
> co je zpracujes v bloku try-except znovu vyvolat
> (raise) a mely by se Ti dostat do te udalostni
> procedury (OnException).
>
> > ----------
> > Potreboval bych logovat veskere exceptions v pomerne rozsahle aplikaci.
> >
> > Daji se nejak globalne odchytit vsechny exceptiony v aplikaci = i ty, ktere
> > jsou osetreny napr v try-except bloku. Neco jako je KeyPreview.
> >
> >

Nejsem si ted jist, ale znovuvyvolavani vyjimky pres raise podle me
povede k tomu, ze se nevykona kod za blokem except, napr:
try
x.LoadFromFile('neexistujici soubor'); //zkusi nacist napr. nejaky
//obrazek
except
... nepovedlo se, zde muze byt napr. info uzivateli, ze se pouzije
nejaky implicitni obrazek

raise; <------postup navrzny v konferenci
end;
x.Show; // dalsi kod, ktery to x pouziva


To je podle meho nazoru celkem realny model nekterych situaci.
Nicmene mam takovy pocit, ze pokud vznikne vyjimka, radek
x.Show se jiz neprovede, zatimco puvodnim zamerem (tj. bez
pouziti Raise) bylo, aby se provedl vzdy.

David Lebeda


Tmemo a Enter

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 18.1.2000 09:38:09

A nepomuze v Memo.WantReturns:=false ?

D.

> ----------
> Od: Tom> �s Vesel�[SMTP:veselyt(zv)bigfoot.com]
>
> Da se nejak zakazat Enter klavesa aby ji nechytil TMemo?
>

Table a typ ttASCII

[*] Martin Palas <PalasM(zv)Kaucuk(tec)cz> - 18.1.2000 09:43:11

Muzete mi nekdo prozradit kde v helpu, ja tam lovim jak blazen (pouzivam Delphi 3)
a stale se nemohu dopidit k necemu co by odkazovalo na popis struktury.

potreboval bych vedet jaky jsou mozny field-typy a co znamenaji ty tri cisla
v jejich definici.

Martin

>>> "Pavel Medek" <Pavel.Medek(zv)talema(tec)cz> 17.1.2000 12:55:19 >>>
Potrebujes jeste schema file(jmeno.sch), ktery rika jaka je struktura
toho txt.

Napr.
[JMENO]
FILETYPE = FIXED
CHARSET = ascii
Field1 = Ucet1,CHAR,5,0,0
Field2 = Ucet2,LONGINT,10,0,5
Field3 = PUcet,LONGINT,5,0,15
atd.

dalsi info je v helpu.

Pavel M.


----- Original Message -----
> Onehda asi pred rokem jsem zahledl nekde, prave uz si
> nepamatuju kde popis funkcnosti komponenty TTable
> v pripade, ze tabletype propery je ttASCII.
> Vim, ze tam lze nasumit textovy soubor, ktery je delimited
> nebo fixed sizes ..... jak mesice plynou nejak mi vypadlo
> jak se to definuje. Mam pocit, ze k TXT souboru s daty
> byl nejaky "header" file, ktery to vse definoval, ale jak
> to bylo ??
>
> Jestli nekdo vi, tak prosim at mi to prozradi, zrovinka
> by se mi to hodilo, abych nemusel slozite vymyslet
> univerzalni logiku :-)))
>
> Predem vsem dekuji ................. Palino
>

Nativni spojeni Delphi 4 a Oracle 8.1.5

[*] Jan Fryscak <fryscak(zv)scio(tec)cz> - 18.1.2000 10:00:50

Diky za odpoved,
ale nepomohlo. Mozna jsem te spatne pochopil - co jsou ty pofiderni hodnoty?

Honza

> Vyskousej do ..\oracle\ora81\network\admin\tnsnames.ora pridat jeste
> jednu stejnou strukturu s i pofidernimi hodnotami na konec
> tohoto souboru,
> plus nekolik CRLF. (Struktura xxx=(DESCRIPTION=(ADDRESS_LIST... atd).
> Pro D3 + BDE 5.10 ora8i to funguje.
> Nikdo nevi proc...
> VVS.
> --------------------------------------------------------
> Koncept CZ, a.s.
> S�dlo: Tursko 142, 252 65 Praha-z�pad
> Po�tovn� adresa: Nad V��inkou 2, 150 00 Praha 5
> Phone: +420-2-57310970,57310971,
> Fax:+420-2-57313772
> MailTo:vladislav.skalicka(zv)koncept(tec)cz
> --------------------------------------------------------
>
>
>
> -----Original Message-----
> Zdravim vsechny,
> mam problem s nativnim spojeni Delphi 4 a Oracle 8.1.5. Pri pokusu o
> otevreni mi to hlasi: General SQL Error. Rozsireni hostdef neexistuje.
> Da se s tim neco delat? Zatim jsem k databazi pristupoval
> pres ODBC, ale je
> to pomale a navic jsem narazil na jinou chybu.
> Dik za kazdy napad
>
> Honza
>

Globalni odchyceni exceptionu

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 18.1.2000 10:01:39

Ovsem, ze zalezi na situaci; muze se stat, ze kdyz
vyjimka vznikne a nejak se osetri, ze kod muze
pokracovat dale. V tom pripade je pro logovani asi
lepsi primo v bloku except zavolat nejakou procedurku
napr LogToFile(E.Message) nebo neco podobneho.

Dobra.

> ----------
> Od: David Lebeda[SMTP:david.lebeda(zv)comarr(tec)cz]
>
> > pomoci Application.OnException, tim ale odchytis
> > vsechny neosetrene vyjimky. Ty osetrene muzes pote,
> > co je zpracujes v bloku try-except znovu vyvolat
> > (raise) a mely by se Ti dostat do te udalostni
> > procedury (OnException).
> >
> > > ----------
> > > Potreboval bych logovat veskere exceptions v pomerne rozsahle aplikaci.
> > >
> > > Daji se nejak globalne odchytit vsechny exceptiony v aplikaci = i ty, ktere
> > > jsou osetreny napr v try-except bloku. Neco jako je KeyPreview.
> > >
> > >
>
> Nejsem si ted jist, ale znovuvyvolavani vyjimky pres raise podle me
> povede k tomu, ze se nevykona kod za blokem except, napr:
>
> try
> x.LoadFromFile('neexistujici soubor'); //zkusi nacist napr. nejaky
> //obrazek
> except
> ... nepovedlo se, zde muze byt napr. info uzivateli, ze se pouzije
> nejaky implicitni obrazek
>
> raise; <------postup navrzny v konferenci
> end;
> x.Show; // dalsi kod, ktery to x pouziva
>
>
> To je podle meho nazoru celkem realny model nekterych situaci.
> Nicmene mam takovy pocit, ze pokud vznikne vyjimka, radek
> x.Show se jiz neprovede, zatimco puvodnim zamerem (tj. bez
> pouziti Raise) bylo, aby se provedl vzdy.
>

Table a typ ttASCII

[*] Pavel Medek <Pavel.Medek(zv)talema(tec)cz> - 18.1.2000 10:30:06

Musis hledat v BDE32.hlp !!! Pod heslem schema file.

The following data types are supported:

CHAR - Character
FLOAT - 64-bit floating point
NUMBER - 16-bit integer
BOOL - Boolean (T or F)
LONGINT - 32-bit long integer
DBIDATE - Date field. Format specified in Registry
TIME - Time field. Format specified in Registry
TIMESTAMP - Date/Time field. Format specified in Registry


Pavel


----- Original Message -----
From: Martin Palas <PalasM(zv)Kaucuk(tec)cz>> Muzete mi nekdo prozradit kde v helpu, ja tam lovim jak blazen (pouzivam
Delphi 3)
> a stale se nemohu dopidit k necemu co by odkazovalo na popis struktury.
>
> potreboval bych vedet jaky jsou mozny field-typy a co znamenaji ty tri
cisla
> v jejich definici.

Problem roku 10000 alias Y10K a pripravenost Delph

[*] Zdenek Drvota <drvota(zv)zds(tec)cz> - 18.1.2000 10:39:10

dobraaa, navrhuji pro 1024*1024 B
misto 1MB pouzivat 1KKB (kilokilobajt), a je to :-)))
(a necham si to patentovat :-)
...myslim, ze uz je cela debata ponekud mimo,
stacilo to...

### David Lebeda napsal dne 18 Jan 00, v 8:36 :
> > > a znaci 1000. Aby se odlisilo 1024 bytu jako kilo, pise se s velkym K.
> > > Tedy Y2k je rok 2000, Y2K je 2*1024, tedy 2048. Stejne tak W2k jsou
> > > windows 2000, W2K budou (mozna) windows 2048 :-)
> > >
> >
> > Bohuzel toto nevi ani firmy uzce spjate s IT.
> > A napr. vyrobci harddisku pouzivaji oznaceni MB pro
> > 1000000 bytes. Nevinil bych tedy media, ktera
> > oznaceni pouze prebiraji a sama je nevymysli.
> >
> > Slavku, myslis, ze by vyrobci harddisku, kdyz uz se timto trikem
> > snazi vylepsit parametry svych vyrobku, meli pouzivat oznaceni mB? :-)
>
> To by zase znamenalo mili Byte :)
>
> Ale vazne. Kdyz jsem byl ve skole na prumce, (1988 - 1992),
> hodne na tom kantori bazirovali, na rozlisovani kilo a Kilo. Ja,
> jakozto pedant, jsem to delal poctive taky a ani dnes mi to neni
> uplne cizi.
> Pro nepocitacovou verejnost je to ale nepochopitelny problem.
> Co je nejake sekretarce do toho, ze mega neni v pocitaci milion?
>
> Vnimam proto snahy o pouzivani mega ve vyznamu milion, kilo
> (Kilo?) ve vyznamu tisic predevsim jako pokus prestat machrovat
> pred laickou verejnosti s technickymi detaily a nechat ji pouzivat
> tyto jednotky tak, jak se to uci na ZS tusim ve fyzice.
>
> Myslim, ze mezi pocitacovniky a nepocitacovniky je stale velka
> propast, hlavne ve starsi generaci; rada lidi povazuje praci s
> pocitacem za neco, co se uz nemuze naucit, protoze se ji to zda
> slozite.
>
> Pokud tedy "pocitacovnici ohnou hrbet", pristoupi na "kulate"
> jednotky a toto povede k alespon castecnemu omezeni vyse
> zminene propasti, tak jsem vsemi deseti pro a drzim tomu palce.
>
> David Lebeda
> Lebeda(zv)comarr(tec)cz
>


-----------------------------------------------
Ing. Zdenek Drvota e-mail: drvota(zv)zds(tec)cz
director
ZDS, spol. s r.o.
Hronovicka 708 tel:+420-40-6613756
530 02 Pardubice fax:+420-40-6613756
Czech Republic http://www.zds(tec)cz
e-mail: info(zv)zds(tec)cz
Pripojte se k hledani mimozemskych civilizaci:
SETI(zv)Home http://setiathome.ssl.berkeley.edu
Darek, ktery nezklame? CeDecko od nas!
http://www.zds(tec)cz/cdrom/cdrom.asp?sender=mail


Zapis po editaci dat

[*] Ing. Zdenek Sraier <sraierzd(zv)atlas(tec)cz> - 18.1.2000 10:51:50

Nastav si Local Share = TRUE (v BDE)


S pozdravem Zdenek Sraier

o__o E-mail: sraierzd(zv)email(tec)cz HTTP://www.byll(tec)cz/scuba/zdenek/
( o o) -----------------------------------------------------------
(. .) Strany Potapecske (SP) HTTP://www.byll(tec)cz/scuba/


----- Original Message -----
From: Miroslav Evj�k <evjak(zv)atlas(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Monday, January 17, 2000 10:59 PM
Subject: Zapis po editaci dat


> Ahoj,
>
> prosim o radu s nasledujicim problemem (myslim ze to bude pekna blbost,
ale
> zatim jsem si s tim neporadil) :
>
> Situace:
> W98, D4, BDE 5.01, tabulky Paradox v siti.
>
> Problem:
> Jakekoli upravy dat v tabulce (TTable, Edit, Post) nejsou videt na jine
> stanici, dokud aplikaci neukoncim a nepustim znovu.
> Nezabere ani Refresh na jedn� nebo na druh� stanici.

FlashFiler?

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 18.1.2000 11:02:40

Puvodni zprava, kterou napsal Lukas Suchanek dne 18 Jan 00,:

> FlashFiler neumi SQL prikazy ani standardni praci s TQuery ???

Ano, je to tak.

> To se fakt musi vsechno delat pres TTable?

Ano. Jsou aplikace, kde proste SQL dotaz neni potreba. Pak jsou
take aplikace, ktere se bez SQL neobejdou. Cilovy databazovy
system se voli podle toho, co je potreba.

> Jakym zpusobem se v takovem pripade provadi spojovani pres 2 a vice
> tabulek, group by, order by, vyber jen urcitych radku z tabulky ap., to mi
> neni jasne. Ja jsem doposud byl zvykly vsechno resit pres SQL prikazy.
> Jsou me dohady spravne nebo existuji i elegantnejsi reseni, ktera mi
> dosud zustala utajena?

Mas tam master-detail, filtrovani, setrange, hledani apod.
Pro nektere aplikace se FlashFiler nehodi, ale najde se
hodne takovych, kde neni nic lepsiho...


S pozdravem
Petr Zahradnik, pocitacovy expert

==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Obvodova 740/14, PO BOX 15, 400 07 Usti nad Labem 7 ===
=== telefon: 047-5500610, telefon/fax: 047-5501627 ===
=== mobilni telefon GSM (hotline): 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================
ICQ: 21215917, PGP vitano


Kniha o InterBase

[*] Radek KALA <Kala(zv)atlas(tec)cz> - 18.1.2000 11:18:38

Hi,

Nevite prosim nekdo o nejake knize o InterBase, samozrejme,
nejlepe v cestine, ale klidne i v jinem jazyce.

Dokonce se ani nemusi dat koupit u nas,
Pokud bude nazev a nejlepe autor mohu si ji nechat poslat treba i s
USA.. Snazil jsem se hledat na internetu a ono nic a to se mi
nejak nezda.

Diky.

S pozdravem Radek KALA
BetaControl, s.r.o.
Cerneho 58/60, 635 00
tlf. : + 420 5 4622 3491
fax : + 420 5 4622 3470
GSM : + 420 603 85 75 15


D5, Windows 2000 a vice uzivatelu

[*] Michal HAMPL <hampl(zv)GJS(tec)cz> - 18.1.2000 11:23:55

Zkus si vyexportovat Borland vetev z registru a naimportovat ji tomu druhemu
uzivateli.

> -----Original Message-----
> From: Martin Kubecka [mailto:martin.kubecka(zv)amenit(tec)cz]
> Sent: Sunday, January 16, 2000 7:05 PM
> To: delphi-l(zv)fwd(tec)cz
> Subject: Re: D5, Windows 2000 a vice uzivatelu
>
>
> Jo, chova se mi to stejne (W2k final), ale pro vice useru
> jsem to nezkousel
> rozbehat. Kazdopadne pokud spustim Delphi jako jiny uzivatel,
> tak je paleta
> komponent pouze s tim TFrame ;-)
>
> Mac
>
> ----- Original Message -----
> From: "Slavek Rydval" <rk(zv)atrey.karlin.mff.cuni(tec)cz>
>
> > Zkousel jsem nainstalovat D5 pod Administratorem, vse behalo ok.
> > Pokud jsem ale chtel spusit delphi jako jiny uzivatel, pak jsem tam
> > mel jedinou paletu s jedinou komponentou (TFrame). Instalator
> > nechtel nic slyset o tom, ze by se spustil. Hlasil, ze bezi nejaky
> > unInstallShield a ze jej mam ukoncit.
> >
> > Jde to vubec takto provozovat, nebo musime pockat, az u borlandu
> > konecne pochopi, k cemu je specifikace pro W2000?
> >
> > Diky za odpoved(i)
>
>

Globalni odchyceni exceptionu

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 18.1.2000 11:25:45

Ahoj,

na http://www.micrel-dev.com/delphi je komponent TAppException pro zachyceni
globalni vyjimky do souboru a TLogFile pro logovani do souboru

Jaro B.

> -----P�vodn� zpr�va-----
> Od: Mal� Dobromil [SMTP:dodo(zv)rak.pr.ds.mfcr(tec)cz]
> Odesl�no: 18. ledna 2000 10:02
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: RE: Globalni odchyceni exceptionu
>
> Ovsem, ze zalezi na situaci; muze se stat, ze kdyz
> vyjimka vznikne a nejak se osetri, ze kod muze
> pokracovat dale. V tom pripade je pro logovani asi
> lepsi primo v bloku except zavolat nejakou procedurku
> napr LogToFile(E.Message) nebo neco podobneho.
>
> Dobra.
>
> > ----------
> > Od: David Lebeda[SMTP:david.lebeda(zv)comarr(tec)cz]
> >
> > > pomoci Application.OnException, tim ale odchytis
> > > vsechny neosetrene vyjimky. Ty osetrene muzes pote,
> > > co je zpracujes v bloku try-except znovu vyvolat
> > > (raise) a mely by se Ti dostat do te udalostni
> > > procedury (OnException).
> > >
> > > > ----------
> > > > Potreboval bych logovat veskere exceptions v pomerne rozsahle
> aplikaci.
> > > >
> > > > Daji se nejak globalne odchytit vsechny exceptiony v aplikaci = i
> ty, ktere
> > > > jsou osetreny napr v try-except bloku. Neco jako je KeyPreview.
> > > >
> > > >
> >
> > Nejsem si ted jist, ale znovuvyvolavani vyjimky pres raise podle me
> > povede k tomu, ze se nevykona kod za blokem except, napr:
> >
> > try
> > x.LoadFromFile('neexistujici soubor'); //zkusi nacist napr. nejaky
> > //obrazek
> > except
> > ... nepovedlo se, zde muze byt napr. info uzivateli, ze se pouzije
> > nejaky implicitni obrazek
> >
> > raise; <------postup navrzny v konferenci
> > end;
> > x.Show; // dalsi kod, ktery to x pouziva
> >
> >
> > To je podle meho nazoru celkem realny model nekterych situaci.
> > Nicmene mam takovy pocit, ze pokud vznikne vyjimka, radek
> > x.Show se jiz neprovede, zatimco puvodnim zamerem (tj. bez
> > pouziti Raise) bylo, aby se provedl vzdy.
> >

Access97 passwords

[*] Miroslav �ipel <Miroslav.Cipel(zv)oku-tu(tec)cz> - 18.1.2000 11:26:20


mozna Vas to bude zajimat:

Access97 passwords are stored in the 13 bytes from offset
0x42 in a .mdb file. Do a bitwise XOR with 0x86, 0xFB, 0xEC, 0x37,
0x5D, 0x44, 0x9C, 0xFA, 0xC6, 0x5E, 0x28, 0xE6, 0x13 to recover the
plaintext. I think that if the first byte is 0x86, the password is
not checked.

M.

Table a typ ttASCII

[*] Vodnansky David <Vodnansky(zv)allianz(tec)cz> - 18.1.2000 11:30:08

BDE API Help - polozka ASCIIDRV v rejstriku.

David Vodnansky-database analyst
mailto: vodnansky(zv)allianz(tec)cz


> -----Original Message-----
> From: Martin Palas [mailto:PalasM(zv)Kaucuk(tec)cz]
> Sent: Tuesday, January 18, 2000 9:43 AM
> To: delphi-l(zv)fwd(tec)cz
> Subject: Re: Table a typ ttASCII
>
>
> Muzete mi nekdo prozradit kde v helpu, ja tam lovim jak
> blazen (pouzivam Delphi 3)
> a stale se nemohu dopidit k necemu co by odkazovalo na popis
> struktury.
>
> potreboval bych vedet jaky jsou mozny field-typy a co
> znamenaji ty tri cisla
> v jejich definici.
>

Co je vyhodnejsi?

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 18.1.2000 11:34:45

On 17 Jan 00, at 21:26, Petr Vaclavek wrote:

> -- Zkousel jsem to kreslit primo na kanvas formulare - coz by bylo asi
> jeste idealnejsi. A narazil jsem na problem. Naprogramovano to mam
> takto (je to v C++ Builderu):
>
> void __fastcall TfrmDesign::FormPaint(TObject *Sender)
> {
> // Vykresleni rastru
> Canvas->Pen->Color = clGray;
> for (int i=0; i<HorzScrollBar->Range; i+=20){
> Canvas->MoveTo (i,0);
> Canvas->LineTo (i,VertScrollBar->Range);

Tady pocitas s absolutni pozici od okraje okna. Je treba pocitat
relativni pozici, tedy od okraje obrazku, tedy je treba korigovat
pocatecni hodnotu "i" o posun ScrollBaru. Dtto pro vertikalni
kresleni.

> }
> for (int i=0; i<VertScrollBar->Range; i+=20){
> Canvas->MoveTo (0,i);
> Canvas->LineTo (HorzScrollBar->Range,i);
> }
> }


S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz, localizator(zv)localizator.com
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Problem roku 10000 alias Y10K a pripravenost Delph

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 18.1.2000 11:34:45

On 17 Jan 00, at 18:10, Tomas Kouba wrote:

> to je totiz velke mateni pojmu. Pokud by se dalsi vyvoj HW zastavil,
> skutecne by cca za 30-40 let (spocitejte si sami) nastala katastrofa.
> Cas ve vetsine operacnich systemu je ulozen pomoci funkce time(3)
> jazyka C, kde je ulozen pocet sekund od 1.1.1970 00:00:00 UTC. Tento
> cas je ulozen v promene typu intenger (opet jazyk C). Problem je ze
> integer za nejakou dobu dojde.

Pokud je to integer, tak ke kastratofe dojde nejpozdeji v 2046, tedy
o dva roky drive nez udava zjevene proroctvi. Pokud DWORD, tak
mame jeste dalsich cca 76 let k dobru.

> Mohu se kvalifikovane zadusovat, ze potom skutecne nebude fungovat
> vubec nic. Nepobezi jediny pocitac, jediny programovaci system.
> Nastesti mame vyvoj a prevod do 64-bit systemu, kde integer je mnohem
> vyssi a bude stacit do konce tohoto vesmiru.

Toz abychom zacli sporit na upgrade techniky a OS. :-O Aby to
nebylo zcela off, co myslite, opatchuji Borlandi tuhle chybu uz pred
rokem 46, nebo az po nem? :-)

> ------------------------------
> Tomas Kouba
> mailto:tomas(zv)neo(tec)cz
>
>
> > > > Nemluve o tom, ze nejvetsi prusvih s Y2K prijde stejne az
> > v roce 2048.
> >
> > Nex rozmyslam ako rozmyslam, neviem poxopit kde vidis problem
> > roku 2048
> >
> > druhe znarodnenie hadam nebude,
> > v RC sa prida dalsie ciselko za lomitko
> >
> > Rex
> >
>
S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz, localizator(zv)localizator.com
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Win95, D3 TRxFolderMonitor a hl�d�n� a

[*] Bo�an Hynek <HBocan(zv)cpoj(tec)cz> - 18.1.2000 11:49:59

Ahojte, zkou�el jste n�kdo pomoc� TRxFolderMonitoru kontrolovat stav a zm�ny
adres��e na novelu 4.11. Nevim co d�l�m �patn�, pokud hl�d�m adres�� na
lok�ln�m disku, jede to OK ale na s�ov�m disku mi to zahl�s� chybu 2 soubor
nelze najit a konec.

D�ky za ka�d� nov� r�no

ing. Bo�an Hynek
agentura 738 Hranice
Masarykovo n�m. 122
753 01 Hranice
mailto:hbocan(zv)cpoj(tec)cz


Co je vyhodnejsi?

[*] Petr Vaclavek <bla(zv)atrey.karlin.mff.cuni(tec)cz> - 18.1.2000 11:50:45

> > ale ma
> > to tu nevyhodu, ze by to mohlo prekryt ty diagramy (ze by to mohlo
> > probublat nad ne) -- naprikjlad kdyz dam nejake komponente
> > SendToBack.
> Kdyz to nebudou komponenty, tak zadny problem nevznikne.
** No prave ze to jsou komponenty...Teda to co davam na ten rastr

> > Vsechno je OK, ale v okamziku, kdy scroluju, tak se to vykresluje
> > blbe (v te nove oblasti kam scroluji). Nevite jak to napravit?
> V tomto pripade vidim jednoduche reseni.
> - na formular nebo panel umistit ScrollBox
> - na ScrollBox umistit PaintBox, jeho velikost nastavit na pozadovanou
> velikost diagramu, treba i programove
> - V OnPaint PaintBoxu vykreslit rastr i diagram treba i uvedenou
> procedurou.
*** A jaky je rozdil mezi ScrollBoxem s PaintBoxem a Formularem s hlediska
vykreslovani???

Petr

,=====-----( mailto: bla(zv)atrey.karlin.mff.cuni(tec)cz )===--- -- - -
--=====[ PETR VACLAVEK ]====---- --- --- -- -- - -
`======----( visit: http://atrey.karlin.mff.cuni(tec)cz/~bla )=-- -
`======----( read: http://www.swnet(tec)cz )=-- -- -


MS SQL a Delphi 3

[*] Vlastimil Bardon <ineq-soft(zv)ova.eridan(tec)cz> - 18.1.2000 13:34:22

Pres ODBC jsem uz dlouho nechodil. Pamatuju si, ze jsem vzdy nejdrive
nakonfiguroval DSN a kdyz mi toto zacalo chodit, tak uz to vzdy chodilo i
pres ODBC a BDE.

Pres nativni BDE lze dat do jmena serveru IP adresu (nebo jmeno serveru),
do Database jmeno databaze a pak pochopitlene zadat uzivatelske jmeno a
heslo pri prihlasovani. Pokud to takto nefunguje, napis, co to krici.

-----P�vodn� zpr�va-----
Od: Honza Jochman [SMTP:Jan.Jochman(zv)ais(tec)cz]
Odesl�no: 11. ledna 2000 18:31
Komu: delphi-l(zv)fwd(tec)cz
P�edm�t: RE: MS SQL a Delphi 3

> -----P�vodn� zpr�va-----
> Chces tam pres ODBC, nebo pres BDE nebo pres ADO ... atd ?

Zkousel jsem to pres ODBC a BDE, ale nejak jsem se nechytal.

>
> -----P�vodn� zpr�va-----
>
> Vazeni pratele,
> znam jmeno, user, password a IP database. Ne a ne se na ni z Delphi 3
> dostat. Poradi mi nekdo?
>

Co je vyhodnejsi?

[*] Petr Vaclavek <bla(zv)atrey.karlin.mff.cuni(tec)cz> - 18.1.2000 14:19:08

> > void __fastcall TfrmDesign::FormPaint(TObject *Sender)
> > {
> > // Vykresleni rastru
> > Canvas->Pen->Color = clGray;
> > for (int i=0; i<HorzScrollBar->Range; i+=20){
> > Canvas->MoveTo (i,0);
> > Canvas->LineTo (i,VertScrollBar->Range);
>
> Tady pocitas s absolutni pozici od okraje okna. Je treba pocitat
> relativni pozici, tedy od okraje obrazku, tedy je treba korigovat
> pocatecni hodnotu "i" o posun ScrollBaru. Dtto pro vertikalni
> kresleni.
*** Jo moje chyba....to je presne to co jsem si neuvedomi a
potreboval slyset :-))
Diky moc...neni nad to, kdyz cloveka nekdo nakopne spravnym smerem...

Petr

,=====-----( mailto: bla(zv)atrey.karlin.mff.cuni(tec)cz )===--- -- - -
--=====[ PETR VACLAVEK ]====---- --- --- -- -- - -
`======----( visit: http://atrey.karlin.mff.cuni(tec)cz/~bla )=-- -
`======----( read: http://www.swnet(tec)cz )=-- -- -


SELECTy a JOINy pres vice databazi

[*] Petr Fischer <petr.fischer.dk(zv)email(tec)cz> - 18.1.2000 14:23:03

Zdravim,

BDE umoznuje provest select z tabulky ve formatu
":JMENO_ALISU:JMENO_TABULKY", napr:

SELECT *
FROM ":UCETNICTVI:FAKTURY"

Pokud jsem v SQL Expoleru (je fuk kde, i v aplikaci) na treba PARADOX nebo
DBF aliasu, probehne select bez problemu (maximalne se zepta na login). Kdyz
jsem ale na aliasu INETRBASE, select neprobehne a vrati mi chybu GENERAL SQL
ERROR - Token unknown - ":UCETNICTVI:FAKTURY".

Nastaveni SQLQUERYMODE (LOCAL/SERVER) u BDE aliasu nepomaha.

Petr Fischer

P.S. Je mozne, ze pokud BDE zjisti u aktualniho aliasu (aktualni TDatabase
komp.) zamireni na INTERBASE (mozna i jinou SQL databazi), posle SQL dotaz
primo na ni. INTERBASE format ":JMENO_ALISU:JMENO_TABULKY" samozrejme nezna
a proto vznikne chyba. Neni mi ale jasne, jak si potom priJOINuju k tabulce
na INTERBASE treba tabulku v PARADOX formatu na svym disku.

P.S.S. Rada typu "Preved si vsechny tabulky na INTERBASE a pak si joinuj jak
chces." bohuzel v mem pripade nepomuze...

*** Win2000 beta, Delphi 4, BDE 5.10, InterBase 4 (Linux)

Jak na caste zalohy dat z SQL?

[*] lsd.by(zv)email(tec)cz - 18.1.2000 14:39:32


no jasm� �e nev�m , jesli m� n�jak� zdroje s popisem
po�li my je d�ky, tv�j vesm�rn� Cyberbratr

--- CREATED BY ATC O..R..G..A..N..I..Z..E..R
--- http://email(tec)cz <--- Get Your Free Email

D5, Windows 2000 a vice uzivatelu

[*] Ji�� Kr�l jr. - 18.1.2000 15:11:27


To neni vlastnost az W2000, mne se to deje i na NT Ws 4.0 CZ + SP5.
Staci tomu uziv. spustit instalaci D5 s volbou, ze jenom provede zaznam do
Registry.
Ono, proto tam taskova setupova volba asi je.

JK

MS SQL 7 a sitova karta

[*] Marian Hatala <emha(zv)mailbox.sk> - 18.1.2000 15:14:00

Zdravicko.

> >
> >Mam dotaz ohledne MS SQL 7. Kdyz neni v pocitaci sitova karta (MSDE
pro
> >jeden pocitac), tak se nedostanu na server. Nejde mi nastavit
Server
> >Alias v Client Network Utility, protoze normalne pouzivam TCP/IP
protokol
> >pro sitovy provoz a bez sitove karty neni TCP/IP adresa, atd.
> >
> >Chci se zeptat, jestli s tim ma nekdo zkusenosti, jak by se to dalo
> >nastavit, aby nebyla nutna sit.karta.
>
> Zdravicko,
>
> no treba tak, ze se misto sitove karty nainstaluje telefonni adapter
a na
> ten se navaze TCP/IP, mozna ze to ma nejake vedlejsi ucinky, ale zda
se ze
> je to jedine reseni.
>


Mne pomohlo, ked som pridal do autoexecu riadok
C:\windows\net start
to vsak bolo na W98, ako by to slo obist na WNT neviem.

emha


Problem roku 10000 alias Y10K a pripravenost Delph

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 18.1.2000 15:17:40

Jo, mozna jo, ale dle mych informaci, netrvrdim, ze jsou
spravne, se, nekdy kolem roku 2038, napriklad sesypou
RISCove stroje s AIXem. Zkousit to nemuzu, teda, mohl
bych, ale... :-)

> ----------
> Od: Martin Kucera[SMTP:mk(zv)paegas.vol(tec)cz]
>
> Chce to nastavit si zkusmo rok treba 2080 a uvidite. Vse funguje.
> Martin Kucera
>
> ----- Original Message -----
> From: Zbysek Hlinka <zhlinka(zv)login(tec)cz>
> >
> > Pokud je to integer, tak ke kastratofe dojde nejpozdeji v 2046, tedy
> > o dva roky drive nez udava zjevene proroctvi. Pokud DWORD, tak
> > mame jeste dalsich cca 76 let k dobru.
>
>

Globalni odchyceni exceptionu (very long)

[*] Tomas Skoda <tomas.skoda(zv)jdsoftware.sk> - 18.1.2000 15:25:00

Ahoj,

nasledujuci pomerne dlhy kod (sorry, ale nevyslo to inak :-) by vam mal umoznit odchytit vznik lubovolnej exception vo vasom programe.

Na vysvetlenie ako to vlastne funguje:
v kazdom program mozu vniknut dva typy vynimiek - HW ako EAccesViolation a SW
(napr. EDatabaseError).

Ked procesor vykona instrukciu, ktora sposobila chybu (HW exception - EccesViolation) pozastavy proces a preda riadenie OS. Windows tuto chybu spracuju a v ramci 'structured exception handling' ju predaju dalej programu. Jedna z prvych funkcii, ktora sa potom v Delphi programe vyvola je 'GetExceptionObject' z unitu SysUtils. V unite System existuje premenna 'ExceptObjProc', ktora obsahuje adresu tejto funkcie (ukazuje na nu). Na odchytenie HW vynimiek potom staci 'rozumne' napisat novu funkciu (a la GetExceptionObject) a ukazatel na nu ulozit do premennej 'System.ExceptObjProc'. Prikladom takej nahradnej obsluhy je funkcia 'HookedExceptObjProc' uvedena dalej v maile.

Softwarove vynimky su vyvolane programatorom pomocou klucoveho slova 'raise'. Delphi vytvori prislusny exception object a preda par informacii do OS, volanim kniznicnej funkcie 'RaiseException' z Kernel32.dll. Pre odchytenie tychto vynimiek nas kod spravi tieto kroky:
1) prezrie PE (Portable Executable) hlavicku Delphi programu
2) kde hlada v import sekcii vyskyt funkcie RaiseException z Kernel32 modulu
3) najde funkciu - je to vlastne uzakazatel na samotnu funkciu (zjednodusene povedane)
4) zapameta si povodnu hodnotu tohto ukazatela a nahradi ju hodnotou ukazatela na nami definovanu funkciu.

Program teraz pri kazdom vyvolani vynimky sa snazi volat funkciu z Kernel32, ktora je ale nahradena nasou vlastnou obsluhou - vid 'HookedRaiseException' nizsie. V tejto obsluhe by sa ale patrilo nejako zavolat povodnu funkciu, pretoze by sa kludne mohlo stat, ze nas program jednoducho zamrzne.

Cela tato zalezitost okolo 'hookovania' Kernel32.dll bohuzial nie je taka jednoducha. Samotna PE hlavicka je sama osebe dost zlozita, nehovoriac o nepritomnosi niektorych dolezitych typov a konstant, nutnych na pracu s nou v unite Windows :-(. Taktiez je nutna specialna podpora pre Win 9x. Sucastou kodu je aj 'par' funkcii, ktore toto umoznuju (tymto kodom je mozne lokalne prepisat lubovolnu API funkciu v lubovolnej DLL).

Na zaver este niekolko poznamok. Takyto zasah do mechanizmu vyvolania a osetrovania vynimiek v Delphi programe je pomerne drasticka zalezitost a moze mat v niektorych pripadoch dost blbe nasledy (i ked nam beha celkom spolohlivo). Nas kod sa snazi predchadzat niektorym problemom, ako je napriklad vyvolanie vynimky v nasom logovaciom kode (vynimka vo vynimke = rekuzia + pad programu). Taktiez viacere thready sa mozu navzajom negativne ovplyvnovat a tak sme sa v tejto verzii systemu rozhodli jednotive thready navzajom blokovat pomocou kritickej sekcie.

Sucastou kodu je aj jednoduche urcovanie vrcholu zasobnika funkcie, ktora vyvolala vynimku, co je vhodne pre implementaciu nejakeho stack tracera.

Kod bol vyvijany v Delphi 4, v sucasnosti ho pouzivame v Delphi 5. Teoreticky by mal fungovat uz od Delphi 2 ale nikdy sme to netestovali. Tato verzia nepodporuje run-time balicky - nepodari sa 'hook' v Kernel32.dll. Riesenie je relativne jednoduche (i ked zatial malo otestovane) a neskor ho doplnim (slubujem).

Lubovolne otazky, napady, komentare, zaznami chyb, ... ohladom tohto kodu, ale aj vynimiek vseobecne kludne adresujte do tejto konferencie, alebo na moj sukromny mail.

Dufam, ze tento ukrutne dlhy mail vam poskytne par velmi uzitocnych typov ako zlepsit vase projekty a odmekci ADMINA pred pripadnymi postihom. Nabuduce sa uz polepsim a dam to niekde na Web.

S pozdravom

Tomas, tomas.skoda(zv)jdsoftware.sk.//-------------------------------------------------------------------------------------
// JDSoftware Zilina
//
// petr(zv)sevis.sk
// tomas.skoda(zv)jdsoftware.sk
// // original exception routines
var
_OrigKernel32RaiseEx: procedure(dwExceptionCode, dwExceptionFlags,
nNumberOfArguments: DWORD;
lpArguments : PDWORD); stdcall;
_OrigExceptObjProc : function(P: PExceptionRecord): Exception;

// critical section
var
ExceptionLock: TCriticalSection = nil;

type
TExceptionState = (esNone, esHandling, esCriticalError {halt program});

threadvar
// internal lock; to avoid raise of exception in our exception code
ExceptionState: TExceptionState;
// privileged mode: exceptions aren't logged
PrivilegedMode: Integer;

function EnterExceptionSection: Boolean;
//------------------------------------------------------------------------------
//
begin
Result:= True;
case (ExceptionState) of
esNone : ExceptionState:= esHandling;
esHandling : if (PrivilegedMode = 0) then begin
ExceptionState:= esCriticalError;
Result:= False;
end;
esCriticalError : Halt(100);
end;
if (Result = True) then Result:= (PrivilegedMode = 0);
end;

procedure LeaveExceptionSection;
//------------------------------------------------------------------------------
// Leave exception section
begin
// if (PrivilegedMode = 0) then begin
case (ExceptionState) of
esHandling : ExceptionState:= esNone;
esCriticalError : ExceptionState:= esHandling;
end;
// end;
end;

type
PExceptionArguments = ^TExceptionArguments;
TExceptionArguments = record
ExceptAddr: pointer;
ExceptObj : TObject;
end;

procedure HookedRaiseException(ExceptionCode, ExceptionFlags,
NumberOfArguments: DWORD;
Arguments : PExceptionArguments); stdcall;
//------------------------------------------------------------------------------
// Hook for Kernel32.RaiseException routine. All exception raised by Delphi
// program goes here.
const
// D2 has a different signature for Delphi exceptions
cDelphiException = {$IFDEF VER90} $0EEDFACE {$ELSE} $0EEDFADE {$ENDIF};
cNonContinuable = 1;
var
OldEBP : Cardinal;
CanContinue: Boolean;
begin
try
// We're only interested in Delphi exceptions raised from Delphi System's
// internal _RaiseExcept routine.
if (((ExceptionFlags = cNonContinuable) and
(ExceptionCode = cDelphiException) and
(NumberOfArguments = 7) and
(DWORD(Arguments) = DWORD((zv)Arguments) + 4))) then begin

CanContinue:= EnterExceptionSection;
try
if (CanContinue) then begin
OldEBP:=0;
// locate EBP where exceptions was raised (for stack tracking)
asm
PUSH EAX;
MOV EAX, [EBP]
MOV OldEBP, EAX
POP EAX;
end;
ExceptionLock.Enter;
try
//*
//* TU PRIDE KOD NA LOGOVANIE SW VYNIMKY
//*
finally
ExceptionLock.Leave;
end;
end;
finally
LeaveExceptionSection;
end;
end;
finally
// call original procedure (default exception handling code)
_OrigKernel32RaiseEx(ExceptionCode, ExceptionFlags, NumberOfArguments,
PDWORD(Arguments));
end;
end;

function HookedExceptObjProc(P: PExceptionRecord): Exception;
//------------------------------------------------------------------------------
// Hook for SysUtils's ExceptObjProc procedure. This is called when a OS
// exception occurs (EDivByZero, EAccesViolation, etc...).
var
OldEBP : Cardinal;
CanContinue: Boolean;
begin
CanContinue:= EnterExceptionSection;
try
ExceptionLock.Enter;
try
// First call the original mapping function in SysUtils
Result := _OrigExceptObjProc(P);

if (CanContinue) then begin
OldEBP:=0;
// locate EBP where exceptions was raised
asm
PUSH EAX;
MOV EAX, [EBP] // EAX:=EBP^
MOV EAX, [EAX] // EAX:=((EBP^)^)^
MOV EAX, [EAX]
MOV OldEBP, EAX
POP EAX;
end;
//*
//* TU PRIDE KOD NA LOGOVANIE HW VYNIMKY
//*
end;
finally
ExceptionLock.Leave;
end;
finally
LeaveExceptionSection;
end;
end;

//-------------------------------------------------------------------------------------
// Kernel32.dll Hook Support (DLL - hook support)
//-------------------------------------------------------------------------------------

type
LONG = DWORD;
PImageDOSHeader = ^TImageDosHeader;
TImageDOSHeader = packed record // DOS .EXE header
e_magic: WORD; // Magic number
e_cblp: WORD; // Bytes on last page of file
e_cp: WORD; // Pages in file
e_crlc: WORD; // Relocations
e_cparhdr: WORD; // Size of header in paragraphs
e_minalloc: WORD; // Minimum extra paragraphs needed
e_maxalloc: WORD; // Maximum extra paragraphs needed
e_ss: WORD; // Initial (relative) SS value
e_sp: WORD; // Initial SP value
e_csum: WORD; // Checksum
e_ip: WORD; // Initial IP value
e_cs: WORD; // Initial (relative) CS value
e_lfarlc: WORD; // File address of relocation table
e_ovno: WORD; // Overlay number
e_res: array[0..4-1] of WORD; // Reserved words
e_oemid: WORD; // OEM identifier (for e_oeminfo)
e_oeminfo: WORD; // OEM information: e_oemid specific
e_res2: array[0..10-1] of WORD; // Reserved words
e_lfanew: LONG; // File address of new exe header
end;

type
PImageImportByName = ^TImageImportByName;
TImageImportByName = packed record
Hint : WORD;
Name : array[0..255] of Char;
end;

PImageThunkData = ^TImageThunkData;
TImageThunkData = packed record
case integer of
0 : (ForwarderString: PBYTE);
1 : (FunctionPtr : PDWORD);
2 : (Ordinal : DWORD);
3 : (AddressOfData : PImageImportByName);
end;

type
PImageImportDescriptor = ^TImageImportDescriptor;
TImageImportDescriptor = packed record
HintNameTableOffset: DWORD; // RVA to original unbound IAT, aka Characteristics
// 0 for terminating null import descriptor
// PImageThunkData
TimeDateStamp : DWORD; // 0 if not bound,
// -1 if bound, and real date\time stamp
// in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (new BIND)
// O.W. date/time stamp of DLL bound to (Old BIND)
ForwarderChain : DWORD; // -1 if no forwarders
NameOffset : DWORD; // RVA to name of the module we're importing from
IATOffset : DWORD; // RVA to IAT (if bound this IAT has actual addresses)
// PImageThunkData
end;

type
PWin95CallThunk = ^TWin95CallThunk;
TWin95CallThunk = packed record
PUSH: byte; // PUSH instruction opcode (=$68)
Addr: pointer; // The actual address of the DLL routine
JMP : byte; // JMP instruction opcode (=$E9)
Rel : Integer; // Relative displacement (a Kernel32 address)
end;

function IsWin95CallThunk(Thunk: PWin95CallThunk): boolean;
//------------------------------------------------------------------------------
begin
Result := (Thunk^.PUSH = $68) and (Thunk^.JMP = $E9);
end;

function GetImageNtHeader(Base: Pointer): PImageNtHeaders;
//------------------------------------------------------------------------------
var
DOSHeader: PImageDOSHeader;
begin
DOSHeader := PImageDOSHeader(Base);
if DOSHeader.e_magic <> IMAGE_DOS_SIGNATURE then
raise Exception.Create('Hook Error: Not a valid MZ-file!');
Result := PImageNtHeaders(DWORD(Base) + DOSHeader.e_lfanew);
if Result.Signature <> IMAGE_NT_SIGNATURE then
raise Exception.Create('Hook Error: Not a valid PE-file!');
end;

function ReplaceImport(Base: Pointer; ModuleName: PChar; FromProc, ToProc: Pointer): Boolean;
//------------------------------------------------------------------------------
var
NtHeader : PImageNtHeaders;
ImportDescriptor : PImageImportDescriptor;
ImportEntry : PImageThunkData;
CurrModuleName : PChar;
IsThunked : Boolean;
FromProcThunk : PWin95CallThunk;
ImportThunk : PWin95CallThunk;
FoundProc : Boolean;
begin
// Assume failure
Result := False;

// Cache some Win95-specific knowledge about the FromProc
// On Win95/98, the import entries and GetProcAddress of some system
// module routines point to PUSH [ActualAdress]/JMP [Rel] thunks,
// so we have to look into the code to see if the final target matches
// Convert the FromProc into the thunk code it /might/ point to
FromProcThunk := PWin95CallThunk(FromProc);
// Is it a valid Win95 thunk?
IsThunked := (Win32Platform = VER_PLATFORM_WIN32_WINDOWS) and
IsWin95CallThunk(FromProcThunk);

// Get a pointer to the PE-header
NtHeader := GetImageNtHeader(Base);
// Get a pointer to the import descriptor table
ImportDescriptor := PImageImportDescriptor(DWORD(Base)+
NtHeader.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress);

// The table of import descriptors is marked with a null name offset
while ImportDescriptor^.NameOffset <> 0 do begin
// Calculate a pointer to this module name
CurrModuleName := PChar(Base) + ImportDescriptor^.NameOffset;
// Only search matching modules
if StrIComp(CurrModuleName, ModuleName) = 0 then begin

// Calculate a pointer to the first import entry for this module
ImportEntry := PImageThunkData(DWORD(Base) + ImportDescriptor^.IATOffset);

// Loop until we have reached the end of the list
while ImportEntry^.FunctionPtr <> nil do begin
// Now we must determine if this import entry pointer
// is equivalent to the FromProc address

if IsThunked then begin
// Convert the ImportEntry into the thunk code it /might/ point to
ImportThunk := PWin95CallThunk(ImportEntry^.FunctionPtr);

// If the routine we're hooking points to a Win95 thunk,
// see if the final target matches
FoundProc := IsWin95CallThunk(ImportThunk) and
(ImportThunk^.Addr = FromProcThunk^.Addr)
end
else
// otherwise, only check for clean matches
FoundProc := (ImportEntry^.FunctionPtr = FromProc);

// If we found the correct import entry, patch it!
if FoundProc then begin
// Note that all import sections have Read/Write access by default,
// so there is no need to play around with WriteProcessMemory or
// VirtualProtect
ImportEntry^.FunctionPtr := ToProc;

// There could be more imports of the same routine, so just flag
// success and keep looking for more matches
Result := true;
end;

// Look at the next Import Entry for this module
Inc(ImportEntry);
end;
end;
// Look at the next Import Descriptor
Inc(ImportDescriptor);
end;
end;

function HookImport(ModuleName, ImportName: PChar; HookProc: Pointer; var DLLProc: Pointer): Boolean;
//------------------------------------------------------------------------------
begin
Result := not Assigned(DLLProc);
if Result then begin
DllProc := Windows.GetProcAddress(Windows.GetModuleHandle(ModuleName), ImportName);
Result := Assigned(DllProc) and
ReplaceImport(Pointer(HInstance), ModuleName, DllProc, HookProc);
if not Result then
DLLProc := nil;
end;
end;

function UnhookImport(ModuleName, ImportName: PChar; HookProc: Pointer; var DLLProc: Pointer): Boolean;
//------------------------------------------------------------------------------
begin
Result := Assigned(DllProc) and
ReplaceImport(Pointer(HInstance), ModuleName, HookProc, DllProc);
if Result then
DLLProc := nil;
end;

//------------------------------------------------------------------------------
// Initialization & Finalization
//------------------------------------------------------------------------------

function InitExceptionSystem: Boolean;
//------------------------------------------------------------------------------
// Initialization of exception monitoring system. Hook Kernel32 and SysUtils
// excptions handling routines.
begin
Result := true;
try
// create critical section to protect exception handling routines
ExceptionLock:= TCriticalSection.Create;
// hook Kernel32 Dll and Delphi System's unit exceptions handling routines
_OrigExceptObjProc := System.ExceptObjProc;
System.ExceptObjProc := (zv)HookedExceptObjProc;
Result := HookImport('Kernel32.dll', 'RaiseException', (zv)HookedRaiseException,
(zv)_OrigKernel32RaiseEx);
except
Result := false;
end;
end;

procedure DoneExceptionSystem;
//------------------------------------------------------------------------------
// Restore all hooked procedures. Done exception monitoring system.
begin
UnHookImport('Kernel32.dll', 'RaiseException', (zv)HookedRaiseException, (zv)_OrigKernel32RaiseEx);
System.ExceptObjProc := (zv)_OrigExceptObjProc;
_OrigExceptObjProc := nil;
ExceptionLock.Free;
ExceptionLock:= nil;
end;> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> Mal� Dobromil
> Sent: Monday, January 17, 2000 5:17 PM
> To: delphi-l(zv)fwd(tec)cz
> Subject: RE: Globalni odchyceni exceptionu
>
>
> Ahoj,
> pomoci Application.OnException, tim ale odchytis
> vsechny neosetrene vyjimky. Ty osetrene muzes pote,
> co je zpracujes v bloku try-except znovu vyvolat
> (raise) a mely by se Ti dostat do te udalostni
> procedury (OnException).
>
> Dobra.
>
> > ----------
> > Potreboval bych logovat veskere exceptions v pomerne
> rozsahle aplikaci.
> >
> > Daji se nejak globalne odchytit vsechny exceptiony v
> aplikaci = i ty, ktere
> > jsou osetreny napr v try-except bloku. Neco jako je KeyPreview.
> >
> >

fce Open v BDE

[*] Petr Vale� - 18.1.2000 15:28:31

Ahoj,

no jo, ale ja Prepare() vubec nepouzivam ...

co se tyce databaze tak je to MS Access, verim tomu, ze i zde by mohl byt
zakopany pes :(

S pozdravem

Petr

-----P�vodn� zpr�va-----
Od: Mitko Mit�v <mitev(zv)foresta(tec)cz>
Komu: delphi-l(zv)fwd(tec)cz <delphi-l(zv)fwd(tec)cz>
Datum: 17. ledna 2000 20:30
P�edm�t: Re: fce Open v BDE


>Ahoj,
>problem s narustem alokace pameti muye byt zpusoben tim, ze v cyklu volas
>pred Open jeste metodu Prepare a nastavujes parametry. Pokud volas Preapare
>pro jednu instanci TQuery nekolikrat za sebou je potreba pred druhym a
>dalsim pouzitim volat metodu UnPrepare.
>Napr.:
>for I := 0 to N do
>begin
> Query.Prepare;
> ... nastaveni parametru pres ParamByName
> Query.Open;
> while not Query.EOF do
> begin
> ... nejaka cinnost s daty dotazu
> Query.Next
> end;
> Query.Close;
> Query.UnPrepare;
>end;
>
>
>S pozdravem
>
>Mitko Mitev, FORESTA SG a.s.
>www.foresta(tec)cz
>mitev(zv)foresta(tec)cz
>private: mitev(zv)atlas(tec)cz
>
>
>-----P�vodn� zpr�va-----
>Od: Petr Vale� <pvales(zv)post(tec)cz>
>Komu: DELPHI Konference <delphi-l(zv)fwd(tec)cz>
>Datum: 16. ledna 2000 22:31
>P�edm�t: fce Open v BDE
>
>
>>Dobry den,
>>
>>ve svem programu pouzivam dosti casto v cyklu funkci TQuery::Open .
>>Ovsem zjistil jsem, ze program v tomto cyklu si stale bere cim dal tim
>>vice operacni pameti a casem dochazi ke znacnemu zpomaleni
>>( pravdepodobne je linearni ).
>>
>>Nerozumim tomu, protoze samozrejme zde pouzivam
>>
>>Query1->Open();
>>
>>...
>>...
>>
>>Query1->Close();
>>
>>Nevite PROSIM nahodou nekdo co s tim, to same se mi stava i kdyz pridavam
>>hodne dat do tabulky pomoci SQLExec.
>>
>>S pozdravem
>>
>>Petr Vales
>>
>

Problem roku 10000 alias Y10K a pripravenost Delph

[*] Delphy confera na MV SR <delphi(zv)minv.sk> - 18.1.2000 15:43:15

> > Nemluve o tom, ze nejvetsi prusvih s Y2K prijde stejne az v roce 2048.

Nex rozmyslam ako rozmyslam, neviem poxopit kde vidis problem roku 2048

druhe znarodnenie hadam nebude,
v RC sa prida dalsie ciselko za lomitko

Rex

Aktivace NumLock

[*] MJsoft <mjsoft(zv)rychnov(tec)cz> - 18.1.2000 16:10:56

Cau

Poradil by nekdo s problemkem aktivace numlock z programu. V DOS jsem to delal v ASM, ale ve Win to samozrejme nechod�. Mam totiz USB klavesnici a tu nezajima nastaveni v BIOS. Takze se pokazde nastartuje vypnuta.

S pozdravem Jindra


Co je vyhodnejsi?

[*] Vaclav Krmela <krmela(zv)pecomp(tec)cz> - 18.1.2000 16:13:29

From: Petr Vaclavek <bla(zv)atrey.karlin.mff.cuni(tec)cz>

> > > Vsechno je OK, ale v okamziku, kdy scroluju, tak se to vykresluje
> > > blbe (v te nove oblasti kam scroluji). Nevite jak to napravit?
> > V tomto pripade vidim jednoduche reseni.
> > - na formular nebo panel umistit ScrollBox
> > - na ScrollBox umistit PaintBox, jeho velikost nastavit na pozadovanou
> > velikost diagramu, treba i programove
> > - V OnPaint PaintBoxu vykreslit rastr i diagram treba i uvedenou
> > procedurou.
> *** A jaky je rozdil mezi ScrollBoxem s PaintBoxem a Formularem s hlediska
> vykreslovani???
>
Rozdil je ten, ze do PaintBoxu se bude kreslit v absolutnich souradnicich
jednou, nezavisle na scrolovani, a cele scrolovani bude zajistovat ScrollBox
nezavisle na obsahu PaintBoxu. Tedy odpada jakekoliv prepocitavani
v zavislosti na poloze SrollBaru.

Vaclav Krmela

Skryti aplikace v liste

[*] asdgfasdfg dsfgsdfgdsfg <zajodelphi(zv)hotmail(tec)com> - 18.1.2000 15:41:42 gmt

skus prikaz (mozes ho dat do create eventu okna)
showwindow(application.handle,sw_hide)
alebo
setWindowLong(application.handle,ws_style,not ws_appbarbarwindow)
-> v tom druhom si nie som isty ci som dobre napisal
konstanty, skus si ich vyhladat v helpe;>From: psojka(zv)els.ln.skoda(tec)cz
>Reply-To: delphi-l(zv)fwd(tec)cz
>To: delphi-l(zv)fwd(tec)cz
>Subject: Skryti aplikace v liste
>Date: Fri, 14 Jan 2000 10:51:10 +0100
>
>
>
>Zdravim.
>
>Mam takovy problem. Nevite nekdo jak udelat,
>aby bezici aplikace nebyla videt v liste,
>ale zaroven zustala jeji ikona v panelu
>bezicich aplikaci pri pouziti ALT+Tab.
>Kdyz jsem pouzil Hide tak aplikace zmizi
>i z listy i z panelu, a to je to, co bych
>rad zmenil. Chtel bych proste dosahnout
>stavu, aby byla aplikace pristupna pres
>ALT+Tab, i kdyz neni v liste.
>
>Prosim o nakopnuti spravnym smerem.
>
>Diky
>
> >>Jackal<<
>
>

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com


Globalni odchyceni exceptionu

[*] asdgfasdfg dsfgsdfgdsfg <zajodelphi(zv)hotmail(tec)com> - 18.1.2000 15:47:10 gmt

mozno by slo
priradit proceduru do application.onexception
nie som si isty

Majo


>From: "Mirek Junek" <mjunek(zv)uo.fairnet(tec)cz>
>Reply-To: delphi-l(zv)fwd(tec)cz
>To: <delphi-l(zv)fwd(tec)cz>
>Subject: Globalni odchyceni exceptionu
>Date: Fri, 14 Jan 2000 13:39:59 +0100
>
>Ahoj,
>Potreboval bych logovat veskere exceptions v pomerne rozsahle aplikaci.
>
>Daji se nejak globalne odchytit vsechny exceptiony v aplikaci = i ty, ktere
>jsou osetreny napr v try-except bloku. Neco jako je KeyPreview.
>
>Diky, Mirek
>
>

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com


Skryti TaskBaru

[*] asdgfasdfg dsfgsdfgdsfg <zajodelphi(zv)hotmail(tec)com> - 18.1.2000 15:54:37 gmt

vyhladaj si v helpe(momentalne ho nemam poruke)
win api prikaz SystemParametersInfo
nejaka jeho konstanta to robi...

Zdravim, Majo


>From: Va�ek N�vrat <engine(zv)ropacek(tec)cz>
>Reply-To: delphi-l(zv)fwd(tec)cz
>To: "Delphi forum" <delphi-l(zv)fwd(tec)cz>
>Subject: Skryti TaskBaru
>Date: Sat, 15 Jan 2000 17:16:25 +0100
>
>Ahoj,
>moje aplikace musi(!!) vyuzivat celou obrazovku, ale kdyz ma nekdo u
>TaskBaru nastavenou vlastnost "Vzdy na vrchu", tak se tam ten TaskBar vzdy
>vecpe :-(. Zkusil jsem pouzit tyhle procedury:
>
> PROCEDURE TForm1.Create (Sender: TObject);
> VAR
> WindowHandle: hWnd;
> BEGIN
> {Hide the Windows 95 Taskbar}
> WindowHandle := FindWindow('Shell_TrayWnd', '');
> IF WindowHandle <> 0
> THEN ShowWindow(WindowHandle, SW_HIDE)
> END {HideWin95TaskBar};
>
> procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
> VAR
> WindowHandle: hWnd;
> BEGIN
> {Allow the Windows 95 Taskbar to appear}
> WindowHandle := FindWindow('Shell_TrayWnd', '');
> IF WindowHandle <> 0
> THEN ShowWindow(WindowHandle, SW_RESTORE)
> END {ShowWin95TaskBar};
>
>TaskBar sice po spusteni aplikace zmizel a bylo videt pozadi Windows, ale
>vsechny aplikace se chovaly jakoby tam furt byl. Dokazal by si s tim nekdo
>poradit? Je mi jedno jakym zpusobem, hlavne aby se aplikace pri
>maximalizaci roztahla pres uplne celou obrazovku - resenim by treba mohlo
>byt vypnuti prave jen ten funkce "Vzdy na vrchu" nebo pouziti DirectX, ale
>jak?
>
>S pozdravem...
>Vasek Navrat
>
>P.S. Kazda rada dobra... :-))

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com


Globalni odchyceni exceptionu

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 18.1.2000 17:00:02

On 18 Jan 00, at 8:59, David Lebeda wrote:

> Nejsem si ted jist, ale znovuvyvolavani vyjimky pres raise podle me
> povede k tomu, ze se nevykona kod za blokem except, napr:
>
> try
> x.LoadFromFile('neexistujici soubor'); //zkusi nacist napr. nejaky
>
> //obrazek
> except
> ... nepovedlo se, zde muze byt napr. info uzivateli, ze se pouzije
>
> nejaky implicitni obrazek
>
> raise; <------postup navrzny v konferenci
> end;
> x.Show; // dalsi kod, ktery to x pouziva
>
>
> To je podle meho nazoru celkem realny model nekterych situaci.
> Nicmene mam takovy pocit, ze pokud vznikne vyjimka, radek
> x.Show se jiz neprovede, zatimco puvodnim zamerem (tj. bez
> pouziti Raise) bylo, aby se provedl vzdy.

try
try
x.LoadFromFile(...
except
implicitni obrazek
raise; //vyzkousej, jak se to chova s a bez tohoto, pro tvou
potrebu
end;
finally
...
x.Show;
end;


S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz, localizator(zv)localizator.com
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


MS SQL 7 a sitova karta

[*] Zdenek Drvota <drvota(zv)zds(tec)cz> - 18.1.2000 17:46:38

skutecne by melo stacit nainstalovat si
prime propojeni kabelem (laplink).
Je tu opravdu nekdo, kdo to ve W nema?

### Marian Hatala napsal dne 18 Jan 00, v 15:14 :
> Zdravicko.
>
> > >
> > >Mam dotaz ohledne MS SQL 7. Kdyz neni v pocitaci sitova karta (MSDE
> pro
> > >jeden pocitac), tak se nedostanu na server. Nejde mi nastavit
> Server
> > >Alias v Client Network Utility, protoze normalne pouzivam TCP/IP
> protokol
> > >pro sitovy provoz a bez sitove karty neni TCP/IP adresa, atd.
> > >
> > >Chci se zeptat, jestli s tim ma nekdo zkusenosti, jak by se to dalo
> > >nastavit, aby nebyla nutna sit.karta.
> >
> > Zdravicko,
> >
> > no treba tak, ze se misto sitove karty nainstaluje telefonni adapter
> a na
> > ten se navaze TCP/IP, mozna ze to ma nejake vedlejsi ucinky, ale zda
> se ze
> > je to jedine reseni.
> >
>
>
> Mne pomohlo, ked som pridal do autoexecu riadok
> C:\windows\net start
> to vsak bolo na W98, ako by to slo obist na WNT neviem.
>
> emha

-----------------------------------------------
Ing. Zdenek Drvota e-mail: drvota(zv)zds(tec)cz
director
ZDS, spol. s r.o.
Hronovicka 708 tel:+420-40-6613756
530 02 Pardubice fax:+420-40-6613756
Czech Republic http://www.zds(tec)cz
e-mail: info(zv)zds(tec)cz
Pripojte se k hledani mimozemskych civilizaci:
SETI(zv)Home http://setiathome.ssl.berkeley.edu
Darek, ktery nezklame? CeDecko od nas!
http://www.zds(tec)cz/cdrom/cdrom.asp?sender=mail


Aktivace NumLock

[*] Martin Kucera <mk(zv)paegas.vol(tec)cz> - 18.1.2000 18:07:32

Ahoj,
zkus SetKeyboardState

Martin Kucera
----- Original Message -----
From: MJsoft
To: DELPHI Distribution List
Sent: Tuesday, January 18, 2000 4:10 PM
Subject: Aktivace NumLock


Cau

Poradil by nekdo s problemkem aktivace numlock z programu. V DOS jsem to delal v ASM, ale ve Win to samozrejme nechod�. Mam totiz USB klavesnici a tu nezajima nastaveni v BIOS. Takze se pokazde nastartuje vypnuta.

S pozdravem Jindra


Problem roku 10000 alias Y10K a pripravenost Delph

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 18.1.2000 20:02:38

On 18 Jan 00, at 15:17, Mal� Dobromil wrote:

> Jo, mozna jo, ale dle mych informaci, netrvrdim, ze jsou
> spravne, se, nekdy kolem roku 2038, napriklad sesypou
> RISCove stroje s AIXem. Zkousit to nemuzu, teda, mohl
> bych, ale... :-)
>
> > ----------
> > Od: Martin Kucera[SMTP:mk(zv)paegas.vol(tec)cz]
> >
> > Chce to nastavit si zkusmo rok treba 2080 a uvidite. Vse funguje.
> > Martin Kucera
> >
> > ----- Original Message -----
> > From: Zbysek Hlinka <zhlinka(zv)login(tec)cz>
> > >
> > > Pokud je to integer, tak ke kastratofe dojde nejpozdeji v 2046,
> > > tedy o dva roky drive nez udava zjevene proroctvi. Pokud DWORD,
> > > tak mame jeste dalsich cca 76 let k dobru.

Mno, ja si nastavil ze zvedavosti na Wokn98 rok 2049, neprezil
Avast32, a Woknousy take mely urcite problemy, kdyz jsem chtel
zmenit rok (jine veci jsem netestoval). 2045 zase Avast32
nerozchodil, Wokna snad pracovala dobre. 2035 uz Avast32
poznal. :-)


S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz, localizator(zv)localizator.com
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Zapis po editaci dat

[*] Miroslav Evj�k <evjak(zv)atlas(tec)cz> - 18.1.2000 21:04:22

Ahoj,

diky vsem za radu. Uz to funguje, ale podelim se o zkusenosti s dalsimi
nestastniky jako jsem ja:

1) nastaveni NET DIR funguje korektne, jenom pokud mam nastaven jako NET DIR
korenovy adresar,
nastaveni jineho adresare mi zafungovalo jenom, kdyz jsem na obou pocitacich
nastavil UNC cestu, priklad:

Na PC1 \\Pc1\netpdx
Na PC2 \\Pc1\netpdx

kde netpdx je sitove jmeno sdileneho adresare.

Pokud jsem mel na PC1 (tam jsou data) nastaveno c:\netpdx, tak to neslo
(pochopitelne netpdx je fyzicky nazev adresare).


2) Po zmene nastaveni NET DIR se osvedcilo smazat soubor PDOXUSRS.NET a
restartovat fsecky stanice.
"Mire�ek" Evj�k
evjak(zv)atlas(tec)cz


Konfigurace programu z www brouseru

[*] Pavel Bansky <pbansky(zv)volny(tec)cz> - 18.1.2000 21:35:48

ave

Jestli umis html tak to neni problem, udelas formular a jako jaeho provadeci "script" nastavis
nejakej asocionavej soubor trbea proved.isc . No a *.isc je asociovany na nejakej tvuj exac,
sezen si CD co se dava k CHIPU o ni to maji stejny system akorat ze takhle instaluji programy.
Jednou jsem delal neco velmi podobneho.

Kdyz tak bych Ti nejaky uryvek poslal.

Pavel

> potrebuji nastavovat konfiguracnui hodnototy pro svuj program z WWW brouseru.
------------------------------------------------------
Pavel Bansky
pbansky(zv)volny(tec)cz


Globalni odchyceni exceptionu (very long)

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 18.1.2000 22:54:32

From: Tomas Skoda <tomas.skoda(zv)jdsoftware.sk>
> nasledujuci pomerne dlhy kod (sorry, ale nevyslo to inak :-) by vam mal umoznit
> odchytit vznik lubovolnej exception vo vasom programe.

Ahoj,

Myslenka to neni spatna, ale misto hookovani API funkce RaiseException by mozna
stalo za zvazeni se napojit primo na systemove funkce v RTL. Skoda ze neco takoveho
Delphi primo nenabizi.

Tady lze najit nastroj ktery umi logovat vyjimky z aplikace, vcetne radku v kodu
(prida informace z MAP filu) stacku atd. Nezkousel jsem to, ale autor by v tomto
pripade mel byt zarukou kvality:

http://www.econos.de/software/borland/mapper/index.html

> Samotna PE hlavicka je sama osebe dost zlozita, nehovoriac o nepritomnosi niektorych
> dolezitych typov a konstant, nutnych na pracu s nou v unite Windows :-(. Taktiez je
Rozebirani PE formatu si lze usnadnit pouzitim ImageHlp funkci z Windows. Viz
zdrojaky nastroje ToolHelpViewer:

http://www.volweb(tec)cz/pvones/download/ToolHelpViewer.zip
http://www.volweb(tec)cz/pvones/download/PvComponents.zip

Petr Vones, amatersky programator

cas pripojeni

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 18.1.2000 22:58:40

From: Petr Kiss <Petr.Kiss(zv)vslib(tec)cz>
> zajimalo by me zda lze nejakym zpusobem v D3 prubezne monitorovat
> dobu pripojeni modemu k telefoni siti.

Ahoj,

Pokud sam vyvolas pripojeni tak ano. Dalsi moznost je prubezne monitorovat
pocet aktivnich RAS pripojeni a od toho urcit dobu pripojeni.

Petr Vones, amatersky programator

HOOKing - SetWindowsHooEx

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 18.1.2000 22:58:27

From: <kchodl(zv)email(tec)cz>
> Ja bych chtel napriklad modifikovat pozici mysi. Kdyz jednoduse tuto
> pozici prepisu, nestane se nic. Pravdepodobne je tato struktura
> (MOUSEHOOKSTRUCT) jen informativni a pri jeji modifikaci na to neni
> systemem bran ohled => jak tedy lze zmeni tyto parametry?

Ahoj,

Musis pouzit jiny typ hooku. Napriklad pomoci typu WH_GETMESSAGE lze menit
hodnoty parametru zpravy. Jeste by me zajimalo jestli to pises v D5 nebo
nizsi verzi. V D5 by to uz melo jit docela dobre, ale v nizsich verzich byl
problem v RTL knihovne Delphi, ktery temer znemoznoval psani hook DLL.
Projevuje se to tak, ze pri nainstalovanem hooku a prepinani mezi aplikacemi
ti system obcas padne.

Petr Vones, amatersky programator

Setri DLL pamet nebo ne?

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 18.1.2000 22:58:09

From: Pavel Cisar <pcisar(zv)aktis(tec)cz>
> AFAIK, do hry vstupuje umisteni DLL v adresnim prostoru. Dve ruzne aplikace
> nemusi mit DLL namapovane od stejne adresy a tim padem nemuze byt zdilen
> image. To same plati i v pripade, ze DLL pouziva jen jeden proces, ale neni
> namapovano na adresu, pro kterou je prelozeno. Proto je vhodne pohrat si s
> offsetem pri prekladu DLL (implicitne jsou v Delphi vsechna DLL sestavovana
> pro stejnou bazovou adresu (image base) $00400000.

Ahoj,

Dobra pripominka, pokud dojde k tomu, ze je treba DLLku relokovat, pak opravdu
nelze kod sdilet. Snahou je, aby k tomu dochazelo co mozna nejmene. Docela by
me zajimalo, jestli nekde existuje jakasi "image base database" pro balicky
Delphi (podobne jako registrace prefixu pro ruzne projekty).

> Na Win95/98 mohou byt DLL zavedena do oblasti nad 2MB ktera je spolecna pro
> ruzne procesy. Tuto moznost NT neumoznuje. Tohle je ovsem hodne zjednoduseny

Problem je, ze ve Win9x neni tato oblast chranena proti zapisu, coz zpusobuje
mimo jine jejich vetsi padavost oproti NT. Navic Delphi neumoznuje nastavit
v Options Image base vetsi nez $7FFFFFFF (alespon me to porad nadava :-).

Petr Vones, amatersky programator

Farba pisma v TOOLBUTTON

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 18.1.2000 22:59:43

From: Ing. J�n Kuch�r <kuchar(zv)tuke.sk>
> V programe horne roletove menu vytvorene pomocou TOOLBARU, ktory ma nastavenu
> namiesto sivej modu farbu. Pomocou praveho tlacitka som v nom vytvoril niekolko
> tlacitok TOOLBUTTONov. V BARE som nastavil farbu pisma pre tlacitka bielu, tucnu,
> dalej som nastavil FLAT=TRUE,SHOWCAPTIONS=TRUE a u tlacitok som nastavil vlastnost
> GROUPED=TRUE. Problem ale nastal v tom, ze farbu pisma urcenu pre tlacitka v BARE
> mi DELPHI absolutne ignoruje, ale akukolvek inu zmenu pisma vykona ( tucne pismo,
> podciarknute ). Co s tym ?

Ahoj,

Jednotliva tlacitka ToolBaru umoznuji vlastni vykreslovani. Lze to vyresit treba
takhle (pro D5, ale melo by fungovat i v D4):

procedure TForm1.ToolBar1CustomDrawButton(Sender: TToolBar;
Button: TToolButton; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
Sender.Canvas.Font.Color := Sender.Font.Color;
end;

Petr Vones, amatersky programator

Tmemo a Enter

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 18.1.2000 22:59:10

From: Tom�s Vesel� <veselyt(zv)bigfoot.com>
> Da se nejak zakazat Enter klavesa aby ji nechytil TMemo?

Ahoj,

Podivej se na vlastnost TCustomMemo.WantReturns

Petr Vones, amatersky programator

Synchronizace na zvuk... (FWD)

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 18.1.2000 22:59:05

From: <katerina.zankova(zv)post(tec)cz>
> Po vecerech stravenych nad MM API se mi podarilo dojit
> pouze a stale ke hlasce Acces Violation (FFFF).
> Mohl by mi prosim prosim poslat nekdo FUNKCNI
> priklad, kde by byly zprovozneny nize uvedene priklady?

Ahoj,

Jednoduchy priklad najdes tady. Dalsi (a mozna i lepsi, ne vsak jednodussi)
moznost by byla pouziti DirectSound.

ftp://ftp.mlp(tec)cz/pub/misc/Delphi/konference/D5/Api/Example_WavePlay.zip

> P.S. API funkce - to je ale fuj, zlaty pascal v delphi

Kdepak fuj, API je nadhera :-) Jeste by ale k nemu mel Microsoft konecne udelat
nejakou rozumnou (kompletni) dokumentaci ....

Petr Vones, amatersky programator

OpenPictureDialog v Delphi 5

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 18.1.2000 22:59:26

From: bures <bures(zv)ssakhk(tec)cz>
> Ahoj mam takovy maly problem v programu vkladam do databaze (paradox) obrazek.
> A pri otevirani OpenPictureDilagu mi obcas program zatuhne a obcas ne...

Ahoj,

Zatuhne to tak, ze se dialog jakoby castecne zobrazi a pak uz nic ? Stava se
ti to jak pri provozu aplikace nebo jen pri ladeni v Delphi ? Provozujes to
na Win9x nebo NT ?

Petr Vones, amatersky programator

Kolize pametovych prostoru?

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 18.1.2000 22:59:55

From: Petr Brant <p.brant(zv)samo(tec)cz>
> Mam form a v jeho tride se pracuje s daty, ktera jsou v te tride
> lokalni. Zkusil jsem toto: pripojil jsem k tomuto formu dynamicky DLL a
> do jeji funkce jsem jako parametr predal (jako self) ukazatel na tu
> tridu. V DLLce mam funkci, ktera diky tomu pointeru hrabne do te tridy
> formu a vytahne z ni nejaka data. To chodi zcela bez problemu. Ale beda,
> kdyz zkusim pomoci nektere z funkci v tom formu treba zapsat do nejake
> jiz existujici struktury! Ono to sice vleze do te spravne funkce, ale v
> okamziku, kdy se ma provest nejaky zapis, to spadne.

Ahoj,

Pokud chces delat toto, tak musis jak aplikaci tak DLL prelozit s balicky.
Je totiz nutne, aby oboje bezelo ve stejnem kontextu.

Petr Vones, amatersky programator

Aktivace NumLock

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 18.1.2000 23:00:01

From: MJsoft <mjsoft(zv)rychnov(tec)cz>
> Poradil by nekdo s problemkem aktivace numlock z programu. V DOS jsem to delal
> v ASM, ale ve Win to samozrejme nechod�. Mam totiz USB klavesnici a tu nezajima
> nastaveni v BIOS. Takze se pokazde nastartuje vypnuta.

Ahoj,

V MSDN tvrdi, ze ve Win9x nelze programove nastavit NumLock. V jinem clanku pak
zase ukazuji ze to jde :-) Me to funguje takhle, ale je otazka co to bude delat
na jinem pocitaci:

procedure SetXXXLockKeyState(KeyCode: Byte; State: Boolean);
const
ValidKeyCodes = [VK_NUMLOCK, VK_CAPITAL, VK_SCROLL];
var
KeyState: TKeyboardState;
ScanCode: DWORD;
begin
if not KeyCode in ValidKeyCodes then Exit;
GetKeyboardState(KeyState);
if Boolean(KeyState[KeyCode]) xor State then
begin
if (Win32Platform = VER_PLATFORM_WIN32_WINDOWS) and (KeyCode = VK_NUMLOCK) then
begin
KeyState[KeyCode] := Byte(State);
SetKeyboardState(KeyState);
end else
begin
ScanCode := MapVirtualKey(KeyCode, 0);
keybd_event(KeyCode, ScanCode, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(KeyCode, ScanCode, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP , 0);
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
SetXXXLockKeyState(VK_NUMLOCK, False);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
SetXXXLockKeyState(VK_NUMLOCK, True);
end;

Petr Vones, amatersky programator

Zapis po editaci dat

[*] Roland Tur�an (RoTurSoft) <rotursoft(zv)nextra.sk> - 18.1.2000 23:35:59

Skus nastavit v BDE LocalShare na true. Problem po sieti by mal zmiznut.

Hi Roland.

> Situace:
> W98, D4, BDE 5.01, tabulky Paradox v siti.
>
> Problem:
> Jakekoli upravy dat v tabulce (TTable, Edit, Post) nejsou videt na jine
> stanici, dokud aplikaci neukoncim a nepustim znovu.
> Nezabere ani Refresh na jedn� nebo na druh� stanici.
>
> Dalsi divna vec je, ze to ani nerve, kdyz chci na obou stanicich editovat
> stejnou vetu (myslel jsem, ze bude fungovat implicitni zamykani zaznamu).
>
> Jenom doufam, ze neni nutne volat rozlicne fce BDE pro fyzicky zapis na
> disk, to bych asi musel celou aplikaci dost prekopat. :-(

> "Mire�ek" Evj�k
> evjak(zv)atlas(tec)cz
>
>

OT Konverze z Excelu a azbuka

[*] Lud�k ZITA - 19.1.2000 01:50:13

Zdravim vsechny.
Problem:
Potrebuji jednorazove prekonvertovat soubory Excelu do Paradoxu.
Normalne a bezne pouzivam tento postup :
Soubor ulozim z Excelu do csv formatu a pak naimportuji do DB.
Ted mam ovsem tabulky kompletne v azbuce a Excel tvrdosijne konvertuje pri
ukladani ruske znaky na otazniky.
Totez dela pokud to kopiruji pres schranku, word ci jakkoliv jinak.
Nevim si s tim vubec rady.

W98,D4 STANDART NEBO D5PROF

Diky za napady.
Lud�k ZITA


Napojeni na XLS pres BDE+ODBC

[*] Lud�k ZITA - 19.1.2000 02:05:29

Zdravim,
Muze mi prosim nekdo poradit, jak se napojim pres ODBC a BDE na Excelovskou
tabulku ?
Udelal jsem si v ODBC User DSN driver Microsoft Exel driver (3.50.382400)
Vybral jsem v konfiguraci prislusny xls soubor (Select workbook).
Na form jsem dal TTable v property database jsem vybral prislusny Alias
(odpovidajici User DSN) ale jiz mi to nenabidlo nic pro property TableName.
Nekde urcite delam chybu. Ale kde ?

D5PROF, W98

Lud�k ZITA


Opravy D5

[*] Lud�k ZITA - 19.1.2000 02:13:58

Zdravim,
Jsem cerstvym uzivatelem D5 PROFESSIONAL Verze 5.0 (Build 5.62)
(Drive D4 STANDART)
Existuje potreba nejakych dodatecnych oprav (at uz oficialnich nebo
neoficialnich). Jedine co jsem zatim nasel, je Delphi 5 Help System Updates
na www.borland.com

Lud�k ZITA

P.S. Nepotrebuje nekdo odkoupit D4S - neslo to totiz upgradovat.

Kolize pametovych prostoru?

[*] Petr Brant <p.brant(zv)samo(tec)cz> - 19.1.2000 06:51:11

Hm, asi je to blbej dotaz, protoze se tady o tom mluvi casto - ale co to
znamenaji ty balicky a jak se preklada s balicky?
(Mam D3 Standard).
Diky za vsechny odpovedi dopredu.

Mimochodem - uz jsem ten nize uvedeny problem vyresil pres messages, ale
stejne me to zajima.

**************************************************
Petr Brant [p.brant(zv)samo(tec)cz], programator v MSVC++,
obcas Delphi
**************************************************> From: Petr Brant <p.brant(zv)samo(tec)cz>
> > Mam form a v jeho tride se pracuje s daty, ktera jsou v te tride
> > lokalni. Zkusil jsem toto: pripojil jsem k tomuto formu dynamicky
> DLL a
> > do jeji funkce jsem jako parametr predal (jako self) ukazatel na tu
> > tridu. V DLLce mam funkci, ktera diky tomu pointeru hrabne do te
> tridy
> > formu a vytahne z ni nejaka data. To chodi zcela bez problemu. Ale
> beda,
> > kdyz zkusim pomoci nektere z funkci v tom formu treba zapsat do
> nejake
> > jiz existujici struktury! Ono to sice vleze do te spravne funkce,
> ale v
> > okamziku, kdy se ma provest nejaky zapis, to spadne.
>
> Ahoj,
>
> Pokud chces delat toto, tak musis jak aplikaci tak DLL prelozit s
> balicky.
> Je totiz nutne, aby oboje bezelo ve stejnem kontextu.
>
> Petr Vones, amatersky programator
>

polopruhledny stin

[*] Milos Sula <crkstrobe(zv)geocities(tec)com> - 19.1.2000 07:45:32

Ahoj
potreboval bych poradit jak v Delphi realizovat polopruhledny stin (mam stin
u TPanelu s kterym hejbu po obrazovce - obdoba plovouciho toolbaru ovsem pri
pohybu se vykresluje vse ne jenom obrys). Chci aby ten stin prekryval to, co
je pod nim jen castecne.
nevite nekdo jak na to ?

Aktivace NumLock

[*] Hole�ek Radek <holecekr(zv)upfm(tec)cz> - 19.1.2000 08:06:22

>Mam totiz USB klavesnici a tu nezajima nastaveni v BIOS. Takze se
pokazde nastartuje >vypnuta.

Zkus nastavit hodnotu:
HKEY_CURRENT_USER\Control Panel\Keyboard\InitialKeyboardIndicators na
2
HKEY_USERS\.DEFAULT\Control Panel\Keyboard\InitialKeyboardIndicators na
2

Radek

Globalni odchyceni exceptionu

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 19.1.2000 08:30:52

> > Nejsem si ted jist, ale znovuvyvolavani vyjimky pres raise podle me
> > povede k tomu, ze se nevykona kod za blokem except, napr:
> >
> > try
> > x.LoadFromFile('neexistujici soubor'); //zkusi nacist napr. nejaky
> >
> > //obrazek
> > except
> > ... nepovedlo se, zde muze byt napr. info uzivateli, ze se pouzije
> >
> > nejaky implicitni obrazek
> >
> > raise; <------postup navrzny v konferenci
> > end;
> > x.Show; // dalsi kod, ktery to x pouziva
> >
> >
> > To je podle meho nazoru celkem realny model nekterych situaci.
> > Nicmene mam takovy pocit, ze pokud vznikne vyjimka, radek
> > x.Show se jiz neprovede, zatimco puvodnim zamerem (tj. bez
> > pouziti Raise) bylo, aby se provedl vzdy.
>
> try
> try
> x.LoadFromFile(...
> except
> implicitni obrazek
> raise; //vyzkousej, jak se to chova s a bez tohoto, pro tvou
> potrebu
> end;
> finally
> ...
> x.Show;
> end;
>
>
> Zbysek Hlinka

Jiste, mas pravdu. Ja jsem chtel jen pripomenout, ze SAMOTNE
pouziti raise (tj. bez napr. tve upravy), tak jak bylo navrzene v
konferenci, muze zmenit funkcnost programu.

David Lebeda


Kniha o InterBase

[*] Jaro <jaro(zv)sinea(tec)cz> - 18.1.2000 23:42:37 -0800

Ja kdyz jsem si koupil Interbase server, tak jsem k tomu dostal hned 6 knizek.
Jaro

> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf
> Of Radek KALA
> Sent: Tuesday, January 18, 2000 2:19 AM
> To: delphi-l(zv)fwd(tec)cz
> Subject: Kniha o InterBase
>
>
> Hi,
>
> Nevite prosim nekdo o nejake knize o InterBase, samozrejme,
> nejlepe v cestine, ale klidne i v jinem jazyce.
>
> Dokonce se ani nemusi dat koupit u nas,
> Pokud bude nazev a nejlepe autor mohu si ji nechat poslat treba i s
> USA.. Snazil jsem se hledat na internetu a ono nic a to se mi
> nejak nezda.
>
> Diky.
>
> S pozdravem Radek KALA
> BetaControl, s.r.o.
> Cerneho 58/60, 635 00
> tlf. : + 420 5 4622 3491
> fax : + 420 5 4622 3470
> GSM : + 420 603 85 75 15
>

Skryti aplikace v liste

[*] psojka(zv)els.ln.skoda(tec)cz - 19.1.2000 09:02:50



Zdravim.

> skus prikaz (mozes ho dat do create eventu okna)
> showwindow(application.handle,sw_hide)

Tak tohle nepomaha, resp. nedela to nic,
co bych jiz nemel vyzkouseneho s trochu
odlisnymi prostredky.

> alebo
> setWindowLong(application.handle,ws_style,not ws_appbarbarwindow)
> -> v tom druhom si nie som isty ci som dobre napisal
> konstanty, skus si ich vyhladat v helpe;

V helpu jsem nasel pouze toto:
==============================
The SetWindowLong function changes an attribute of the
specified window. The function also sets a 32-bit (long)
value at the specified offset into the extra window memory
of a window.

LONG SetWindowLong(

HWND hWnd, // handle of window
int nIndex, // offset of value to set
LONG dwNewLong // new value
);

Parameters

hWnd
Identifies the window and, indirectly, the class to
which the window belongs.

nIndex
Specifies the zero-based offset to the value to be set.
Valid values are in the range zero through the number
of bytes of extra window memory, minus 4; for example,
if you specified 12 or more bytes of extra memory,
a value of 8 would be an index to the third 32-bit integer.
To set any other value, specify one of the following values:

Value Action
GWL_EXSTYLE Sets a new extended window style.
GWL_STYLE Sets a new window style.
GWL_WNDPROC Sets a new address for the window procedure.
GWL_HINSTANCE Sets a new application instance handle.
GWL_ID Sets a new identifier of the window.
GWL_USERDATA Sets the 32-bit value associated with the window.
Each window has a corresponding 32-bit value
intended for use by the application that created
the window.

The following values are also available when the hWnd
parameter identifies a dialog box:

Value Action
DWL_DLGPROC Sets the new address of the dialog box procedure.
DWL_MSGRESULT Sets the return value of a message processed in
the dialog box procedure.
DWL_USER Sets new extra information that is private to
the application, such as handles or pointers.

dwNewLong
Specifies the replacement value.

Bohuzel tu neni absolutne nic o tom, jakou
hodnotou by se GWL_STYLE resp. kterakoli
jina hodnota mela nahrazovat, tak aby
aplikace zustala za jakekoli situace,
tj. i minimalizace, v nabidce bezicich
aplikaci (ALT+Tab), ale zaroven nebyla
v liste.

...
...
==================================

> >Mam takovy problem. Nevite nekdo jak udelat,
> >aby bezici aplikace nebyla videt v liste,
> >ale zaroven zustala jeji ikona v panelu
> >bezicich aplikaci pri pouziti ALT+Tab.
> >Kdyz jsem pouzil Hide tak aplikace zmizi
> >i z listy i z panelu, a to je to, co bych
> >rad zmenil. Chtel bych proste dosahnout
> >stavu, aby byla aplikace pristupna pres
> >ALT+Tab, i kdyz neni v liste.

>>Jackal<<

VSECHNA DATA Z KONFERENCE NA RYCHLE LINCE

[*] Richard Valny <Richard.Valny(zv)oku-st(tec)cz> - 19.1.2000 09:09:25

>jak jsem predesilal zacatkem roku, umistil jsem docasne (!)
>VSECHNA data z konference na mou stranku, kde je pripojeni
>preci jenom rychlejsi nez z ftp konference. Je to zohledneno i na
>modemisty (rozdeleno do nekolika souboru).

>Veskery navod najdete na strance.

>Prosim kazdeho, kdo si data stahne, at mi posle maila (jen pro
>mou zvedavost). Diky.

Je Tva zvedavost ukojena?
Prave tak cinim. Akorat jedna pripominka. Byla by moznost pro nas pevnolajnisty nechat tam i archiv v jednom velkem souboru?
I kdyz vlasten je to jednorazova akce, takze nic.
Jinak myslim si, za ta data mam, ale jnevim, zda uplne vsechna -)


Program KonfWiew pouzivam prevazne doma po vecerech.
S pozdravem


=========================================
Richard Valny richard.valny(zv)oku-st(tec)cz
Okresni urad Strakonice tel. 0342-441 l. 216
Smetanova 533 fax. 0342-21208
386 22 STRAKONICE FiDoNet 2:423/35
=========================================

problem s PAINTBOX

[*] Ing. J�n Kuch�r�����!j��G - 19.1.2000 09:14:22

caute

vo svojom programe mam v malom okne umiestneny PAINTBOX, to okno je mozne
zvacsit na celu obrazovku a vratit ho spat do povodnej velkosti, nachadza sa tam
dos vela nakreslenych objektov pomocou LINETO, otazky :

- ked zvecsim okno na celu plochu, vsetko co bolo nakreslene v PAINTBOX sa
strati, ako to tam uchovat ( INVALIDATE nepomohlo a prekreslovanie by bolo
dost casovo narocne )

- ako to co je nakreslene v malom okne po roztiahnuti na celu plochu primerane
zvacsit bez nejakeho zloziteho prepocitavania, da sa urobit daco ako SCALE
podla pomeru velkosti jednotlivych okien


DIK


Kniha o InterBase

[*] Pavel Medek <Pavel.Medek(zv)talema(tec)cz> - 19.1.2000 09:44:28

Ty knizky (mam je take) jsou obsazeny v pdf, ktere je u interbase instalace,
nebo jsou dostupne na www.interbase.com.

Pavel



----- Original Message -----

> Ja kdyz jsem si koupil Interbase server, tak jsem k tomu dostal hned 6
knizek.
> Jaro

problem s PAINTBOX

[*] Ren� Otisk - 19.1.2000 10:57:55

Hi,
Dal by se vyuzit TCanvas a StretchDraw nebo lepe nastavit u TImage Stretch := True;
Sroub
- ako to co je nakreslene v malom okne po roztiahnuti na celu plochu primerane
zvacsit bez nejakeho zloziteho prepocitavania, da sa urobit daco ako SCALE
podla pomeru velkosti jednotlivych okien


DIK


problem s PAINTBOX

[*] Martin Palas <PalasM(zv)Kaucuk(tec)cz> - 19.1.2000 10:57:25

Ahojky,

moje zkusenost je takova:
1. paintbox je na prd .....
2. kdyz si kreslim, tak jedine do TImage, protoze ma taky canvas
a navic s to muzes zoomovat ......
3. jestli mas Rx komponenty, tak by se to dalo kreslit fyzicky do PicClipu a pak
to na paint-box jenom obtiskavat ........

enjoy ................. Palino

PS: u pripadu 2, 3 lze pomerne snadno vse ulozit do JPG.

jeste k txt tabulkam a komponente TTable

[*] Martin Palas <PalasM(zv)Kaucuk(tec)cz> - 19.1.2000 11:04:13

Ahojky vsem,

tak na vase dobre rady uz ctu TXT soubory jako
tabulky, akorat ve SCH souboru je nastaveni
CHARSET = ASCII.
Moje otazka : Existuji i jine promenne pro charset (jake) ?
protoze mi nemaka cestina .....

Thanx ............................. Palino


Hled�n� polo�ek v *.dbf, CTRL+F

[*] Roman Svoboda <roman.svoboda(zv)volny(tec)cz> - 19.1.2000 11:12:34

Zdrav�m vespolek,

Ve FoxPro, existuje funkce "CTRL+F", kter� nad *.DBF otev�e dialog pro hled�n�. Zaj�mav� na tom je to, �e nen� pot�eba ur�ovat polo�ku, kterou hled�m. Hled�n� pak prob�h� nad v�emi polo�kami tabulky bez ohledu na jejich typ i index. Existuje n�co podobn�ho v Delphi?

D�ky za radu
Roman Svoboda
D4 Prof. W98


Reporty, Str: 1/?

[*] Roman Svoboda <roman.svoboda(zv)volny(tec)cz> - 19.1.2000 11:12:40

Zdrav�m vespolek,

Existuje v Delphi n�jak� prom�nn�, kter� obsahuje po�et str�nek v reportu? R�d bych na ka�d�m listu sv�ch sestav m�l informaci o celkov�m po�tu str�nek, nejl�pe ve form�tu nap�.: "Str: 1/8"

D�ky za radu
Roman Svoboda
D4 Prof. W98


Mikroskopick� tisk

[*] Vlastimil Bardon <ineq-soft(zv)ova.eridan(tec)cz> - 19.1.2000 13:08:26

U nekolika uzivatelu jsme se setkali s t�m, ze se jim na nekterych
tiskarnach (jehlickovych) tiskne ve zmenaenem meritku (napr. tisk se jim
provedl na velikost 5 x 3 cm, s lupou je to pry citelne, ale narazili na
nedostatek lup). Je to z ruznych zdroju (nekde to dela sinea, nekde tisk z
reach editoru). Pokud nekdo znate resen�, ozvete se.

D3, Sinea z �ervna 1999 (tusim ze 3.36, ale nejsem si jisty)

Volani fce z MSVC++ v Delphi 4 Std.

[*] Nikodem <nikodem(zv)kh-kinetic(tec)cz> - 19.1.2000 13:54:05

Ahoj vsem,

mam knihonu napsanou v MS VC++, ktera obashuje funkce a procedury. Ja
potrebuji volat nejake fce a mam nasledujici problem:


1. Funkci delkaruji v Delphi takto:
function vdbGetTextValue(Name: PChar; Idx:Longint; var S: PChar): Longint;
stdcall; external 'werpccli.dll' name 'vdbGetTextValue';

2. Pak se na ni obracim v programu a chci aby mi vratila v parametru S
urcity text:


Var S: Pchar;
begin
vdbGetTextValue(Pchar('Teplota2'), 8, S));
end;


Volani fce konci chybou RunTime chybou. Mam takove tuseni, ze je to ve
volani parametru:

Parametr S slouzi totiz jako navratova hodnota.

Deklarace fce v MS VC++ je

Function vdbGetTextValue Lib "c:\werpccli" (ByVal Name As String,ByVal
Idx As Long, ByVal S As String) As Long



Za kazdou odpeved predem dekuji

Jindrich Nikodem

nikodem(zv)kh-kinetic(tec)cz


jeste k txt tabulkam a komponente TTable

[*] CERMAK <CERMAK(zv)procomcr(tec)cz> - 19.1.2000 13:55:57

Jine promene pro charset existuji , odpovidaji nazvum language driveru.
Viz napoveda k BDE "Language drivers" je to retezec "short name"

-----Original Message-----
From: Martin Palas [mailto:PalasM(zv)Kaucuk(tec)cz]
Sent: Wednesday, January 19, 2000 11:04 AM
To: delphi-l(zv)fwd(tec)cz
Subject: jeste k txt tabulkam a komponente TTable


Ahojky vsem,

tak na vase dobre rady uz ctu TXT soubory jako
tabulky, akorat ve SCH souboru je nastaveni
CHARSET = ASCII.
Moje otazka : Existuji i jine promenne pro charset (jake) ?
protoze mi nemaka cestina .....

Thanx ............................. Palino


Reporty, Str: 1/?

[*] Lukas Suchanek <lukas.suchanek(zv)lerach(tec)cz> - 19.1.2000 13:56:39

Ave,

> Existuje v Delphi n�jak� prom�nn�, kter� obsahuje po�et str�nek v reportu?
> R�d bych na ka�d�m listu sv�ch sestav m�l informaci o celkov�m po�tu
> str�nek, nejl�pe ve form�tu nap�.: "Str: 1/8"

stravil jsem s tim hodne casu a dospel jsem k zaveru, ze to ani mozne
neni. Jedine reseni, ktere osobne pouzivam ja je to, ze si v preview ty
stranky spoctu a pred tiskem je nacpu na patricna mista v reportu ... v
preview to pak videt neni, ale v tistene sestave uz jo.

/ Lukas Suchanek


--- Lukas Suchanek -------- 0602 / 844 355 ---
---------- lukas.suchanek(zv)lerach(tec)cz ----------


SHBrowseForFolder aneb dialog pro volbu adresare

[*] Petr.Motlicek(zv)bcbrno(tec)cz - 19.1.2000 14:08:37

Zdravim,

prosim o radu. Chceme do aplikace dialog pro
volbu adresare. Mame komponentu, ale ta je
zalozena na funkci SHBrowseForFolder. Ve
WIN32.hlp ovsem cteme, ze je pouze pro
WIN95.... A my samozrejme chceme, aby se
to dalo pouzit i na NT-ck�ch...

Jak je to z touto funkc� ?

D�ky za kazdy tip

Petr Motlicek


HOOKing - SetWindowsHooEx

[*] kchodl(zv)email(tec)cz - 19.1.2000 14:16:30

>> Ja bych chtel napriklad modifikovat pozici mysi. Kdyz jednoduse tuto
>> pozici prepisu, nestane se nic. Pravdepodobne je tato struktura
>> (MOUSEHOOKSTRUCT) jen informativni a pri jeji modifikaci na to neni
>> systemem bran ohled => jak tedy lze zmeni tyto parametry?

>Ahoj,
>Musis pouzit jiny typ hooku. Napriklad pomoci typu WH_GETMESSAGE lze
>menit hodnoty parametru zpravy. Jeste by me zajimalo jestli to pises v D5
>nebo nizsi verzi. V D5 by to uz melo jit docela dobre, ale v nizsich
>verzich byl problem v RTL knihovne Delphi, ktery temer znemoznoval psani
>hook DLL. Projevuje se to tak, ze pri nainstalovanem hooku a prepinani
>mezi aplikacemi ti system obcas padne.
>
>Petr Vones, amatersky programator

No ja mam D3 a kdyz uz jsme u toho, tak bych se zeptal jestli pro D5 staci
W95, 32MB, iP166MMX (bohuzel na lepsi konfiguraci nemam :( ) a taky jaky
je mezi D3 a D5 rozdil, zda jenom ve vychytani much ve VCL ci nejaky
zasadni.
Dale: ten HOOK jsem zkousel s WH_GETMESSAGE, ALE to zase nemuzu odchytit
pohyb mysi, protoze ten sam o sobe nevyvola fci GETMESSAGE (PEEKMESSAGE).

Muj jediny napad je: Udelat WH_MOUSE HOOK a kdyz dojde zprava WM_MOUSEMOVE
provedu jeji upravu a ulozim si do spojoveho seznamu celou
MOUSEHOOKSTRUCT. Puvodni zpravu ve fronte stornuju a poslu znovu s tim, ze
az ji HOOK znovu odchyti, tak ji porovnam s prvni ulozenou zpravou ve
spojovem seznamu (MOUSEHOOKSTRUCT), pokud se budou rovnat (handle okna,
pozice kurzoru - upravena,...) zpravu ze seznamu vymazu a zaroven ji
necham poslat cilove aplikaci (callback fce vrati result:=0). Tady je
dulezite na to ale jit pres ty memory mapped files (ten spojovy seznam)
nebo jak se to jmenuje a o tom nevim vubec nic, tak bych byl rad nakopnut
spravnym smerem.
Nebo mate nekdo lepsi zpusob?
Dik

Progr-Amather -Kchodl-� 1989-2000

--- CREATED BY ATC O..R..G..A..N..I..Z..E..R
--- http://email(tec)cz <--- Get Your Free Email

VSECHNA DATA Z KONFERENCE NA RYCHLE LINCE

[*] Marek Soukup <marek(zv)comberg(tec)cz> - 19.1.2000 14:20:55

Haj hou,
taky bych rad pouzival program KonfView, ale asi jsem uplnej trotl. Pustim
ten program a mam dve moznosti: otevrit databazi nebo vytvorit novou.
Otevrit nemam co a kdyz se pokousim vytvorit novou tak se nic nevytvori
-( Funkce nacist soubor je bohuzel neaktivni takze zatim nevim co s temi txt
budu delat.

Diky za radu
Marek

> Program KonfWiew pouzivam prevazne doma po vecerech.
> S pozdravem


Kolize pametovych prostoru?

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 19.1.2000 14:45:25

On 19 Jan 00, at 6:51, Petr Brant wrote:

> Hm, asi je to blbej dotaz, protoze se tady o tom mluvi casto - ale co
> to znamenaji ty balicky a jak se preklada s balicky? (Mam D3
> Standard). Diky za vsechny odpovedi dopredu.

Balicek je vlastne dll knihovna, kde je ulozen vykonny kod
komponent (zpravidla). Normalne se tento kod prilinkuje do exace.
Pokud se kompiluje s balicky, prilinkuje se do exace pouze odkaz
na tridu, a kod se provadi z balicku, takze exac muze byt malinky.
V tomto pripade je ovsem nutne sirit program i s balicky.
Balicky byly zavedeny od D3, jsou ovsem verze od verze
neprenosne.


S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz, localizator(zv)localizator.com
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


reindexace paradox tabulek

[*] Vladim�r Hol� <vladaholy(zv)telecom(tec)cz> - 19.1.2000 14:48:43

Prosim o radu, jak napsat v D1 a vyssich proceduru, ve ktere provedu rekonstrukci (obnovu) indexovych souboru pro paradox tabulku. Deklaraci souboru i indexu samozrejme znam.

Dik za kazdou radu

Vladimir Holy


Reporty, Str: 1/?

[*] Ale� Kle�ka - 19.1.2000 14:52:26

Ahoj,
tam odkud ten quickreport volas udelej neco na zpusob:

Qrp_Form := TQrp_Form.Create (Self);
Qrp_Form.FoundRecs_Qrp.Prepare; // 'predvytvori' si kompletni
quickreport a tim padem naplni PageCount
Qrp_Form.QRLabel_PageCount.Caption := ' / '+
IntToStr(Qrp_Form.FoundRecs_Qrp.QRPrinter.PageCount);
Qrp_Form.FoundRecs_Qrp.Preview;
Qrp_Form.Close;

S pozdravem

Alesh K.

----- Original Message -----
From: Lukas Suchanek <lukas.suchanek(zv)lerach(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Wednesday, January 19, 2000 1:56 PM
Subject: Re: Reporty, Str: 1/?


Ave,

> Existuje v Delphi n�jak� prom�nn�, kter� obsahuje po�et str�nek v reportu?
> R�d bych na ka�d�m listu sv�ch sestav m�l informaci o celkov�m po�tu
> str�nek, nejl�pe ve form�tu nap�.: "Str: 1/8"

Globalni odchyceni exceptionu (very long)

[*] Tomas Skoda <tomas.skoda(zv)jdsoftware.sk> - 19.1.2000 14:55:40



> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> Petr Vones
> Sent: Tuesday, January 18, 2000 10:55 PM
> To: Konference Delphi
> Subject: Re: Globalni odchyceni exceptionu (very long)
>
>
> From: Tomas Skoda <tomas.skoda(zv)jdsoftware.sk>
> > nasledujuci pomerne dlhy kod (sorry, ale nevyslo to inak
> > :-) by vam mal umoznit
> > odchytit vznik lubovolnej exception vo vasom programe.
>
> Ahoj,
>
> Myslenka to neni spatna, ale misto hookovani API funkce
> RaiseException by mozna
> stalo za zvazeni se napojit primo na systemove funkce v RTL.
> Skoda ze neco takoveho
> Delphi primo nenabizi.

Mohol by si trocha rozvinut ako co si myslel tym pristupom k systemovym
funkciam v RTL ?

Tomas.

MACXW4.drv

[*] CERMAK <CERMAK(zv)procomcr(tec)cz> - 19.1.2000 15:03:35

Nevite nekdo jak z toho?

Stala se mi divna vec. Mame u zakaznika program v Delphi 3, (BDE z Delphi 5)
ktery pracuje s tabulkama ve formatu DBF. Program pracovalcelkem v pohode s
jedinou vyjimkou, ze se DBF soubory, ktere byly vytvoreny prikazem create
table nedali nacist do Excelu. Zjistil jsem ze je to tim ze maji format
Visual Dbase 7. Zmenil jsem parametr LEVEL v BDE u prislusneho linku ze 7 na
5. a doma (na W98) vse fungovalo dobre, i s importem do Excelu. U zakaznika
se pri nejake akci (asi otevreni DBF tabulky nebo nastaveni filtru) objevi
obecna chyba ochrany v modulu MACXW4.drv.

Predem diky za radu. S pozdravem
Jaromir Cermak

Reporty, Str: 1/?

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 19.1.2000 15:06:28

Mozne to snad je, ale az od nejake verze
(mluvite-li o QuickReportu), dokonce se o tom
pise i v helpu, je nutne v Options nastavit
nejakou TwoPass na true nebo tak nejak se to
jmenuje (jako ze to projde cely report dvakrat)
a potom lze v QRSysData nastavit typ qrsPagesCount,
ale to pokud vim neni ve verzi dodavane spolu
s Delphi.

Dobra.

> ----------
> Od: Lukas Suchanek[SMTP:lukas.suchanek(zv)lerach(tec)cz]
>
> > Existuje v Delphi n> �jak� prom�nn�, kter� obsahuje po�et str�nek v reportu?
> > R�d bych na ka�d�m listu sv�ch sestav m�l informaci o celkov�m po�tu
> > str�nek, nejl�pe ve form�tu nap�.: "Str: 1/8"
>
> stravil jsem s tim hodne casu a dospel jsem k zaveru, ze to ani mozne
> neni. Jedine reseni, ktere osobne pouzivam ja je to, ze si v preview ty
> stranky spoctu a pred tiskem je nacpu na patricna mista v reportu ... v
> preview to pak videt neni, ale v tistene sestave uz jo.
>

Reporty, Str: 1/?

[*] JAHODA Jozef <jahoda(zv)asset.sk> - 19.1.2000 15:13:17

Lukas Suchanek wote
> > Existuje v Delphi n�jak� prom�nn�, kter� obsahuje po�et str�nek v
> reportu?
> > R�d bych na ka�d�m listu sv�ch sestav m�l informaci o celkov�m po�tu
> > str�nek, nejl�pe ve form�tu nap�.: "Str: 1/8"
>
> stravil jsem s tim hodne casu a dospel jsem k zaveru, ze to ani
> mozne
> neni. Jedine reseni, ktere osobne pouzivam ja je to, ze si v preview ty
> stranky spoctu a pred tiskem je nacpu na patricna mista v reportu ... v
> preview to pak videt neni, ale v tistene sestave uz jo.
>
A co tak pouzit Prepare, dozvies sa pocet stran, a potom aj v
Preview je vidno pocet stran

JJ


Vyvolanie default mailera

[*] Roland Tur�an (RoTurSoft) <rotursoft(zv)nextra.sk> - 19.1.2000 15:15:14

Ako vyvolam default mailera s pridanim attachmentu do mailu. Alebo ako
vytvorim mail s pridanim attachmentu.

Dakujem.

Best regards.
--------------------
Pouzivam D3Pro, BDE 5.01, Win98PanEuro, RX Lib, SineaVCL.

Roland Turcan
RoTurSoft
Palarikova 10/20
934 01 Levice
Slovakia

tel: ++421-905-487 908


export dat

[*] 7hlavac(zv)st.fmph.uniba.sk - 19.1.2000 16:32:45

Zdravim,
mam jeden dotaz. potrebujem urobit export dat z klasickej Paradox
tabulky do
inej tiez Paradox tabulky. Rozdiel je v tom ze v tej druhej tabulke
budu len
filtrovane data z prvej. No a problem je v dvoch veciach:

1. Vytvorenie novej paradox tabulky. (relativne to viem vyriesit
skopirovanim prazdne tabulky - nic moc riesenie)

2. Pri exporte dat robim toto
for i:=1 to table.RecordCount do
begin
If zaznam vyhovuje then exportuj;
posun zaznam;
end;

problem je v posun zaznam. Nieviem ako mam posunut zaznam inac ako
table.next; Ked pouzijem next, posunie sa mi na dalsi zaznam aj v vo
vsetkych editoch na fromulari. Mozem urobit to ze dam
form1.enabled:=false;
ale to sa mi nezda moc korektne.
Da sa to riesit aj nejak inak?

Vdaka, Miso


export dat

[*] Pavel Medek <Pavel.Medek(zv)talema(tec)cz> - 19.1.2000 17:31:51

1. Tabulku lze vytvorit pomoci DBICreateTable viz BDE32.hlp

2. Pred exportem udelej
tabulka.DisableControls;

a po nem
tabulka.EnableControls;


Pavel

export dat

[*] JAHODA Jozef <jahoda(zv)asset.sk> - 19.1.2000 17:36:40

7hlavac(zv)st.fmph.uniba.sk wrote
> potrebujem urobit export dat z klasickej Paradox tabulky do
> inej tiez Paradox tabulky. Rozdiel je v tom ze v tej druhej tabulke
> budu len filtrovane data z prvej.
>
> 2. Pri exporte dat robim toto
> for i:=1 to table.RecordCount do
> begin
> If zaznam vyhovuje then exportuj;
> posun zaznam;
> end;
>
> problem je v posun zaznam. Nieviem ako mam posunut zaznam inac ako
> table.next; Ked pouzijem next, posunie sa mi na dalsi zaznam aj v vo
> vsetkych editoch na fromulari. Mozem urobit to ze dam
> form1.enabled:=false;
> ale to sa mi nezda moc korektne.
> Da sa to riesit aj nejak inak?
>
A co tak pouzit Query

Insert into nazov_tabulky
Select stlpec1, stlpec2, ..
from iny_nazov_tabulky
where xxxx = yyy

JJ


OT: W2k - full of bugs?

[*] Martin Kubecka <martin.kubecka(zv)amenit(tec)cz> - 19.1.2000 18:00:05

Tak mi pripada, ze ty W2k snad nikdo netestoval ;-)

Bug #1
-------

Pac mi chciplo kolecko u Intellimouse a jeho dotalni demontaz to moc
nespravila (holt je to vychozene za ty roky) rozhodl jsem se pro posledni MS
vykrik Intellimouse Explorer:

http://www.microsoft.com/Mouse/explorer.htm

Instalace na W2k build 2195 naprosto v pohode jak pres PS/2 tak i pres USB.
Vse v poradku az do prvniho tisku na lokalni tiskarne HP 720C na paralelnim
portu. V tom okamziku mysicka zhasina a je domysovano. Jakmile tisk skonci,
myska nabehne (nekdy), jindy je potreba ji vytahnout z USB a znovu zasunout
a teprve pak nabehne. Pokud jsem se ji snazil vytahnout a zasunout BEHEM
tisku, tak mi W2k nahlasi chybu na USB zarizeni. Takze jsem ozelel moderni
technologie, vrazil mysku do redukce USB-to-PS/2 a muzu s ni kvrdlat i behem
tisku. Ve W98 pochopitelne vse OK.

Bug #2
-------

Neskutecne se mi zpomalil tisk na jiz zminovane tiskarne HP 720C (dve
tiskove hlavy -> cerna + barevna). Zacal jsem koumat cim to je a za pomoci
lupy a nekolika pokusu jsem zjistil, ze pokud se kdekoliv v tistenem
dokumentu objevi nejaky barevny nesmysl, tiskarna pouziva POUZE barevnou
hlavu a na cernou kasle. Inu zavolal jsem na HP (nekdo tady udaval cislo 02
/ 61307310) a jisty pan Kvasnicka mne prijemnym hlasem ujistil, ze toto je
standardni chovani tiskaren HP, coz mne prekvapilo natolik, ze jsem mu
podekoval a zavesil. Vrtalo mi to vsak hlavou (pozor, ne tou tiskovou ;-) a
vrhnul jsem se zpet proti proudu do W98, kde jsem zjistil, ze pan Kvasnicka
prevdu nema, ac jej HP produkty zivi (coz by vedlo k dalsim uvaham, ale
nebudu to tu rozpitvavat). Inu nezbyva asi nez vyckat na drivery od HP,
ktere budou certvi kdy.

Pokud by nekoho snad napadlo, jak tyto problemy vyresit, pripadne kde tyto
bugy nahlasit tak mi dejte prosim vedet.

S pozdravem

Mac

==============================================================
= Ing. Martin Kubecka - Amenit s.r.o. =
= Na Valech - budova Dytron, 741 01 Novy Jicin =
= telefon/fax: +420 656 706203 mobil: +420 603 265926 =
= http://www.amenit(tec)cz mailto:martin.kubecka(zv)amenit(tec)cz =
= ICQ: 8906773 GSM (SMS): martin.kubecka(zv)sms.paegas(tec)cz =
==============================================================

Volani fce z MSVC++ v Delphi 4 Std.

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 19.1.2000 18:02:11

On 19 Jan 00, at 13:54, Nikodem wrote:

> mam knihonu napsanou v MS VC++, ktera obashuje funkce a procedury. Ja
> potrebuji volat nejake fce a mam nasledujici problem:
>
> 1. Funkci delkaruji v Delphi takto:
> function vdbGetTextValue(Name: PChar; Idx:Longint; var S: PChar):
> Longint;
> stdcall; external 'werpccli.dll' name 'vdbGetTextValue';
>
> 2. Pak se na ni obracim v programu a chci aby mi vratila v parametru S
> urcity text:
>
> Var S: Pchar;
> begin
> vdbGetTextValue(Pchar('Teplota2'), 8, S));
> end;
>
> Volani fce konci chybou RunTime chybou. Mam takove tuseni, ze je to ve
> volani parametru:
>
> Parametr S slouzi totiz jako navratova hodnota.
>
> Deklarace fce v MS VC++ je
>
> Function vdbGetTextValue Lib "c:\werpccli" (ByVal Name As
> String,ByVal Idx As Long, ByVal S As String) As Long

Boze muj! Co to je za deklaraci? To je pro Visual Basic? Z toho
neni vubec poznat, zda S vraci hodnotu a jak, nebo ne. Musis si
zjistit z dokumentace, jak ta funkce s S pracuje, jestli by ho mela
alokovat sama, nebo jestli to musis udelat ty pred volanim funkce.


S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz, localizator(zv)localizator.com
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Hled�n� polo�ek v *.dbf, CTRL+F

[*] Pavel Bl�hovec <blahovec(zv)stapro(tec)cz> - 19.1.2000 18:08:11

Toto jsem �e�il vlastn� procedurou, kde v comboxu je hledany retezec a prohledava se cela tabulka zobrazena v dbgrid. Hledaji se i podretezce.

procedure Hledej(DBGrid: TDBGrid; ComboBox: TComboBox);
var
KdeHledat, CoHledat: string;
Nalez, OldPosIndex, OldPosLine, F: Integer;

procedure Next;
begin
Inc(F);
if F = DBGrid.FieldCount then
begin
F := 0;
if DBGrid.DataSource.DataSet.Eof then
DBGrid.DataSource.DataSet.First
else
DBGrid.DataSource.DataSet.Next;
end;
end;

begin
CoHledat := LowerCase(Trim(ComboBox.Text));
if CoHledat = '' then Exit;
ComboBox.SelectAll;

DBGrid.DataSource.DataSet.DisableControls;

OldPosLine := DBGrid.DataSource.DataSet.RecNo;

OldPosIndex := DBGrid.SelectedIndex;
F := DBGrid.SelectedIndex;
Next;

repeat
KdeHledat := LowerCase(DBGrid.DataSource.DataSet.Fields[F].AsString);

Nalez := Pos(CoHledat, KdeHledat);
if Nalez = 0 then Next;

until (Nalez > 0) or ///n�co se nalezlo
((OldPosLine = DBGrid.DataSource.DataSet.RecNo) and
(OldPosIndex = F)); ///jsme na tom sam�m m�st�

DBGrid.SelectedIndex := F;
DBGrid.DataSource.DataSet.EnableControls;
end;

Pavel Bl�hovec
NiL software

----- Original Message -----
From: Roman Svoboda
To: delphi-l(zv)fwd(tec)cz
Sent: Wednesday, January 19, 2000 11:12 AM
Subject: Hled�n� polo�ek v *.dbf, CTRL+F


Zdrav�m vespolek,

Ve FoxPro, existuje funkce "CTRL+F", kter� nad *.DBF otev�e dialog pro hled�n�. Zaj�mav� na tom je to, �e nen� pot�eba ur�ovat polo�ku, kterou hled�m. Hled�n� pak prob�h� nad v�emi polo�kami tabulky bez ohledu na jejich typ i index. Existuje n�co podobn�ho v Delphi?

D�ky za radu
Roman Svoboda
D4 Prof. W98


Mikroskopick� tisk

[*] Vaclav Krmela <krmela(zv)pecomp(tec)cz> - 19.1.2000 20:12:25

From: Vlastimil Bardon <ineq-soft(zv)ova.eridan(tec)cz>> U nekolika uzivatelu jsme se setkali s t�m, ze se jim na nekterych
> tiskarnach (jehlickovych) tiskne ve zmenaenem meritku (napr. tisk se jim
> provedl na velikost 5 x 3 cm, s lupou je to pry citelne, ale narazili na
> nedostatek lup). Je to z ruznych zdroju (nekde to dela sinea, nekde tisk z
> reach editoru). Pokud nekdo znate resen�, ozvete se.
>
> D3, Sinea z �ervna 1999 (tusim ze 3.36, ale nejsem si jisty)
>
>
Popsany problem tisku z generatoru sestav SINEA na tiskarnach,
jejichz dpi je mensi nez 100, nebo neni celistvym nasobkem 100
se vyskytoval ve verzich 3.39h az 3.39j z kvetna az cervence 1999.
Definitivne byl odstranen ve verzi 3.39j ze dne 24.8.1999.
Update je zdarma k dispozici na www.sinea(tec)cz

Vaclav Krmela

Padani aplikace po pridani promenne

[*] Mirek Junek <mjunek(zv)uo.fairnet(tec)cz> - 19.1.2000 21:42:02

Ahoj,

Pouzivam D3 / W98

Mam aplikaci se spoustou vlastnich komponent. Problem je v tom, ze kdyz do
jedne z komponent pridam jeste jednu promennou (napr. BlaBla: integer),
aplikace mi pri ukonceni generuje nekonecny retez chybovych hlaseni -
nejdrive Invalid pointer operation a potom radu access violation nebo
Runtime Error 216 (pomuze jen
Run | program reset). Staci zakomentovat to deklaraci a vse je OK.

Kdyz jsem znovu prelozil DPK s onou komponentou, Delphi mi uplne poborily
DFM datoveho modulu, kde jsem mel komponenty dedici z teto komponenty.


Compile info rika toto:
Lines: 11201
CodeSize: 448240 bytes
DataSize:3225 bytes
Initial stack size: 16384 bytes

Zkousel jsem zvetsit stack o 8 kB, ale chova se to stejne.

V MAP souboru je delka inkriminovaneho kodu prislusne komponenty 1E54h.

Komponenta je sice trochu rozsahlejsi, ale nepripada mi zas az tak moc
velika. Pro nazornost prikladam deklaraci.

Plati jeste omezeni data 1 unitu = max 64 kB a da se nekde zjistit velikost
tohoto datoveho segmentu ? V MAP souboru jsem nasel jen velikost KODU pro
jednotlive units a na zacatku celkovou velikost dat (ale ta je jenom 22A0h).

Problem dokazu obejit, ale rad bych vedel, odkud vitr fouka.

Diky za kazdy tip.
Mirek

----------------------------------------------------------------------------
--------


type
EMasterDeviceError=class(Exception);
EBramboraDeviceError=class(Exception);
{---------------------------------------------------}
type
tAverageResponseTime = record
Average:LongInt;
Suma:double;
Count:LongInt;
Max:LongInt;
end;
{---------------------------------------------------}
type
tBrambora = class;
TNotifyTimeout = procedure (Sender:tBrambora) of object;
TNotifyInitializeComplete = procedure (Sender:tBrambora) of object;
TNotifyCardRequest = procedure (Sender:tBrambora;ACardID:string; var
AValid:boolean; var ALine1,ALine2:string; var CisloAkce: integer) of object;
TOnReadPrice = procedure (Sender:tBrambora; var Price: double; var
ACisloProLogZar:integer) of object;
TNotifyTrace = procedure (const BramboraTyp:string; const BrambAddr:
integer; const BrambState,Msg:string; const TicksMs: longint) of object;
{---------------------------------------------------}

tBrambora = class(TComponent)
private
{ private - properties }
FDeviceState:TDeviceState; { stav zarizeni }
FOnTimeout: TNotifyTimeout;
FOnTrace: TNotifyTrace;
FOnReadPrice:TOnReadPrice;
// FOnInitializeComplete:TNotifyInitializeComplete;
// FBlaBla:integer;
FProtocolState:TProtocolState; { stav komunikace }
FEnabled:boolean; { zarizeno je zapnuto/vypnuto }
FNodeAddress:byte; { adresa zarizeni }
FMasterList:TMasterList; { odkaz na sveho agenta }
FPodsvit: boolean;
FLastResponseTime:LongInt; { doba posledni odpovedi }
FAverageResponseTime:tAverageResponseTime;
FTimeOfLastSend,
FLastRoundTime:LongInt; { doba posledniho kola }
FAverageRoundTime:tAverageResponseTime;
FDobaHlasky: integer; {Doba zobrazeni informace o karte po
protazeni}
FCena: double;
FCisloProLogZar: integer;
FDeviceNameForDisplay: string;
FDeviceResetCount: integer;
FDeviceDisconnectedCount: integer;
FBadMsgNumber: integer;
FServiceMode: boolean;
FBadMsgNrCounter: integer;
FBadCardCounter: integer; // node sent 'x' command
FBadMsgNrCounterTotal: integer; // from the program start
FBadCardCounterTotal: integer; // node sent 'x' command from the program
start
FSentResetCnt: integer;
FNrOfProblemsBeforeReset, // max. pocet zprav se spatnym cislem pred
zresetovanim stanice
FNrOfBadCardReadings: integer; // max pocet. po sobe neprectenych karet
pred zresetovanim stanice
FGoodCardBeep: tBeep;
FMenovaJednotka: string;

MsgNum,ReceivedMsgNum:byte;
procedure ResetMsgNum;

procedure SetPodsvit (Value: boolean);
function GetCena: double;
procedure SetCena (Value: double);

{ vysilani prikazu }
protected
FBramboraState:TBramboraState;
FTimeoutTimer: tTimer;
FNotifyCardRequest:TNotifyCardRequest;
// procedure LoadFromTable(Main:boolean); virtual;
procedure Trace (const Msg: string);
procedure OnTimeoutInternal (Sender: TObject); virtual;
function SServiceMode: string;
procedure SendBeep (Beep: tBeep);
public
BramboraName: string;
FPacketsReceived:LongInt; { paketu prijato}
FPacketsSent:LongInt; { paketu vyslano }
FRetryCounter:byte; // kolikrat zbyva opakovat
SendRequestFlag:boolean; file://ma se poslat request?
BramboraLastPacket:TPacketInfo; file://posledni vyslany packet
DiscntDelayCount:byte; file://odpocitava kdy ma poslat
dotaz
odpojene stanici
LastCardNr: string; // naposledy protazena karta
OldLine2: string; // Posledni napis poslany na radek 2
property BadMsgNrCounter: integer read FBadMsgNrCounter;
property BadCardCounter: integer read FBadCardCounter; // node sent
'x' command
property BadMsgNrCounterTotal: integer read FBadMsgNrCounterTotal;
property BadCardCounterTotal: integer read FBadCardCounterTotal;
property SentResetCnt: integer read FSentResetCnt; constructor Create(AOwner: TComponent); override;
destructor Destroy; override;

procedure AssignEvents (var ADevice:tBrambora);virtual;
function MakeNewInstance:tBrambora; virtual;
procedure Disconnect; virtual; file://vyvolava se pri
odpojeni stanice
function SendRequest:TPacketInfo; virtual; file://vraci packet s
dotazem
procedure HandleMessage(APacketInfo:TPacketInfo); virtual;//zpracovava
prichozi msg
procedure OdstavZarizeni (Odstavit: boolean);

procedure Start; virtual;
procedure Stop; virtual; // umoznuje zastavit rozjete akce, napr. timer
procedure Initialize; virtual;
procedure ChangeBramboraState(ABramboraState:TBramboraState); virtual;
procedure SendMessage(ACmd:char; AMsg:string); virtual;
procedure ChangeState(APacketInfo:TPacketInfo); virtual;
procedure GetResponseTime(ALastResponseTime:LongInt);
procedure SendPodsvit(AOn:boolean);
procedure SendAction (Akce:tAkce);
file://procedure SendActionAndInfo (Akce:tAkce; aData:string);
procedure SendDisplayRow1(Akce:tAkce;AMessage:string);
procedure SendDisplayRow2(Akce:tAkce;AMessage:string);
procedure SendDisplayRows(Akce:tAkce;AMessage1,AMessage2:string);
procedure SendDisplayRowsAndData (Akce:tAkce;AMessage1,AMessage2:string;
aData:string);
procedure SendReset;
procedure UvodniNapis; virtual;
procedure VyhlasZaviracku; virtual;
procedure SafeShowMessage (Msg: string);

procedure SendDisplayMsg (Akce:tAkce;ANumber:char);
procedure SetTimeout (Seconds: cardinal);
procedure RetriggerTimeout;
procedure CancelTimeout;
procedure ResetCounters; virtual;
procedure ReReadPrice; virtual;

property Enabled:boolean read FEnabled write FEnabled;
property BramboraState:TBramboraState read FBramboraState;
property DeviceResetCount: integer read FDeviceResetCount;
property DeviceDisconnectedCount: integer read FDeviceDisconnectedCount;
property TimeOfLastSend: longint read FTimeOfLastSend write
FTimeOfLastSend;
property AverageRoundTime: tAverageResponseTime read FAverageRoundTime
write FAverageRoundTime;
property DeviceNameForDisplay: string read FDeviceNameForDisplay write
FDeviceNameForDisplay;
property Cena:double read GetCena write SetCena;
property CisloProLogZar: integer read FCisloProLogZar write
FCisloProLogZar;
property MenovaJednotka: string read FMenovaJednotka write
FMenovaJednotka;
published
{ published - properties }
property DeviceState:TDeviceState read FDeviceState;
property DeviceName: string read BramboraName;
property ProtocolState:TProtocolState read FProtocolState;
property RetryCounter:byte read FRetryCounter;
property AverageResponseTime:LongInt read FAverageResponseTime.Average;
property MaxResponseTime:LongInt read FAverageResponseTime.Max;
property LastResponseTime:LongInt read FLastResponseTime;
property PacketsReceived:LongInt read FPacketsReceived;
property PacketsSent:LongInt read FPacketsSent;
property NodeAddress: byte read FNodeAddress write FNodeAddress default
$81;
property MasterList:TMasterList read FMasterList write FMasterList;
property Podsvit: boolean read FPodsvit write SetPodsvit;
property ServiceMode: boolean read FServiceMode write FServiceMode;
property DobaHlasky: integer read FDobaHlasky write FDobaHlasky default
5;
property GoodCardBeep: tBeep read FGoodCardBeep write FGoodCardBeep
default bpMiddleBeep;
property NrOfProblemsBeforeReset: integer read FNrOfProblemsBeforeReset
write FNrOfProblemsBeforeReset default 10;
property MaxNrOfBadCardReadings: integer read FNrOfBadCardReadings write
FNrOfBadCardReadings default 20;
property OnTimeout: TNotifyTimeout read FOnTimeout write FOnTimeout;
// property OnInitializeComplete:TNotifyInitializeComplete read
FOnInitializeComplete write FOnInitializeComplete;
property OnCardRequest:TNotifyCardRequest read FNotifyCardRequest write
FNotifyCardRequest;
property OnTrace: TNotifyTrace read FOnTrace write FOnTrace; //
property OnReadPrice: TOnReadPrice read FOnReadPrice write FOnReadPrice;

end;

VSECHNA DATA Z KONFERENCE NA RYCHLE LINCE

[*] Slavek Rydval <rk(zv)atrey.karlin.mff.cuni(tec)cz> - 19.1.2000 21:48:18

Preji vsem pekneho dne,

> Akorat jedna pripominka. Byla by moznost pro nas
> pevnolajnisty nechat tam i archiv v jednom velkem souboru?
****Toto je casta pripominka. Bohuzel me misto na serveru je
omezeno 10 MB a jen diky ochote spravce jsem mohl svuj zaber
rozsirit na par dni (vlastne tydnu) rozsirina na neco malo pres 30
MB. Z tohoto duvodu jsem tam dal data, ktera uspokoji jak
modemisty, tak pevnolajnovniky. Doufam, ze tento kompromis je
akceptovatelny z obou stran. :-)

Jinak dekuji vsem, co si zatim data stahla a poslala maila.

Slavek

> Richard Valny richard.valny(zv)oku-st(tec)cz


-------------------------------------------------
http://atrey.karlin.mff.cuni(tec)cz/~rk
-------------------------------------------------
http://www.swnet(tec)cz
Magazin informacne vyspelych jedincu
-------------------------------------------------


OT: W2k - full of bugs?

[*] Slavek Rydval <rk(zv)atrey.karlin.mff.cuni(tec)cz> - 19.1.2000 21:52:45

Ahoj,

> Tak mi pripada, ze ty W2k snad nikdo netestoval ;-)
****To si nemyslim, ale take jsem narazil na dva zpusoby, jak
s W2k svihnout o zem.


1) pouzit dosovsky editor MAT 3.1 (ale timhle shodim libovolna
windows)

2) tisknout na tiskarne Star LC 240 s ovladacem dodanym s W2k
RC 2.

Akorat v mem pripade si myslim, ze se moc nemaji rady pameti.


Slavek

> Mac



-------------------------------------------------
http://atrey.karlin.mff.cuni(tec)cz/~rk
-------------------------------------------------
http://www.swnet(tec)cz
Magazin informacne vyspelych jedincu
-------------------------------------------------


Inno setup kontra Install Shield

[*] Pavel Malinsk� <spiderland(zv)seznam(tec)cz> - 19.1.2000 22:12:52

---- Original Message -----
From: Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Monday, January 17, 2000 5:30 PM
Subject: RE: Inno setup kontra Install Shield

> Ahoj,
> ve prospech Inno Setupu mluvi to, ze je zdarma,
> se zdrojovymi kody (=> napr. snadna lokalizace)
> a umi vse, co se od instlacniho programu ocekava
> (az na par detailu jako je napr. zaheslovana
> instalace), ale tu nema ani IS Express.

Ahoj,

S tim heslem to neni pravda.
V sekci Setup lze pouzit prepinac
Password. Mluvim o Inno Setupu 1.2.

(Help k polozce Pasword>
Required: No
Description:
Specifies a password you want to prompt the user for at the
beginning of the installation. When using a password,
it's important to keep in mind that since no encryption is used
and the source code to Inno Setup is freely available, it
would not be too difficult for an experienced individual to remove the
password protection from an installation. Use this only as a "deterrent" to
keep unauthorized people out of your installations.)

S pozdravem
==================================
> Pavel Malinsky; spiderland(zv)seznam(tec)cz <
>================================<
> ...The Truth Is Out There... <
==================================
GSM: 0602 652 203


FileDescription a VerQueryValue

[*] Petr Mat�jovsk�����隲����ej�� - 19.1.2000 22:43:08

Ahoj

nekdo do konference poslal prispevek jak dostat ze souboru informace o verzi
.
Ja bych chtel zjistit jeste CompanyName FileDescription pripadne ProductName
ProductVersion, ale nejak se mi nedari.
Budu rad kdyz nekdo poradi
Diky Petr


function GetFileVer(const FileName:string;var V1,V2,V3,V4:word):string;
type
TFVInfo=packed record
pad1,pad2:DWORD;
MSLo,MSHi,LSLo,LSHi:WORD;
pad3:array[1..16] of BYTE;
OS:DWORD;
pad4:array[1..16] of BYTE;
end;
var
VSize,VHandle:DWORD;
VSize2:UINT;
Buffer,Buffer2:Pointer;
FVI:TFVInfo;
PVI:^TFVInfo;
P,P2:array[0..255] of char;
begin
Result:='';
V1:=0;
V2:=0;
V3:=0;
V4:=0;
StrPCopy(P,FileName);
StrPCopy(P2,'\');
VSize:=GetFileVersionInfoSize(P,VHandle);
if VSize>0 then
begin
try
GetMem(Buffer,VSize);
try
if GetFileVersionInfo(P,VHandle,VSize,Buffer)=True then begin
if VerQueryValue(Buffer,P2,Buffer2,VSize2)=True then begin
PVI:=Buffer2;
FVI:=PVI^;
V1:=FVI.MsHi;
V2:=FVI.MsLo;
V3:=FVI.LsHi;
V4:=FVI.LsLo;
Result:=Format('%d.%d.%d.%d',[V1,V2,V3,V4]);
end;
end;
finally
FreeMem(Buffer);
end;
except
Result:='';
end;
end;
end;

problem s PAINTBOX

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 19.1.2000 23:00:18

From: Martin Palas <PalasM(zv)Kaucuk(tec)cz>
> moje zkusenost je takova:
> 1. paintbox je na prd .....

Ahoj,

To neni zase tak jednoznacne, na jednodussi kresby se TPaintBox hodi.

> 2. kdyz si kreslim, tak jedine do TImage, protoze ma taky canvas
> a navic s to muzes zoomovat ......

Neni canvas jako canvas. Pouziti pametove bitmapy, ktera se pak pri pozadavku o
vykresleni okna prekopiruje (zjednodusene receno TImage = TPaintBox + TBitmap)
zabira urcite systemove prostredky. Pokud by jsi to takto delal vsude, dostanes
se (zvlaste u Win9x) brzo do problemu, navic zcela zbytecne.

Petr Vones, amatersky programator

SHBrowseForFolder aneb dialog pro volbu adresare

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 19.1.2000 23:01:07

From: <Petr.Motlicek(zv)bcbrno(tec)cz>
> prosim o radu. Chceme do aplikace dialog pro
> volbu adresare. Mame komponentu, ale ta je
> zalozena na funkci SHBrowseForFolder. Ve
> WIN32.hlp ovsem cteme, ze je pouze pro
> WIN95.... A my samozrejme chceme, aby se
> to dalo pouzit i na NT-ck�ch...
>
> Jak je to z touto funkc� ?

Ahoj,

To mas patrne asi nejakou starsi verzi Delphi. Tem Win32 API helpum tam nesmis
moc verit, jsou tam obcas blbosti jako treba tahle :-) Funkce SHBrowseForFolder
je samozrejme i na NT, viz MSDN:

http://msdn.microsoft.com/library/psdk/shellcc/shell/functions/shbrowseforfolder.htm

Petr Vones, amatersky programator

HOOKing - SetWindowsHooEx

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 19.1.2000 23:01:03

From: <kchodl(zv)email(tec)cz>
> No ja mam D3 a kdyz uz jsme u toho, tak bych se zeptal jestli pro D5 staci
> W95, 32MB, iP166MMX (bohuzel na lepsi konfiguraci nemam :( ) a taky jaky

Ahoj,

Kdyz pridas jeste 32M tak je to uz pouzitelne. Koneckoncu i D2 s 32M nebylo
taky zrovna zadna slava...

> je mezi D3 a D5 rozdil, zda jenom ve vychytani much ve VCL ci nejaky
> zasadni.

Rozsireni ObjectPascalu - pretezovani, implicitni parametry, Int64. Usnadneni
pri psani kodu- Code completition a plno dalsich veci, ted si na vsechno hned
nevzpomenu :-) Zkratka prechod na D5 se myslim vyplati.

> Dale: ten HOOK jsem zkousel s WH_GETMESSAGE, ALE to zase nemuzu odchytit
> pohyb mysi, protoze ten sam o sobe nevyvola fci GETMESSAGE (PEEKMESSAGE).

To je pravda. Mohl by jsi treba volat funkci SetCursorPos nebo omezit oblast
pohybu mysi pomoci funkce ClipCursor. Ale zmenit drahu pohybu mysi takto asi
nepujde :-)

Petr Vones, amatersky programator

problem s PAINTBOX

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 19.1.2000 23:03:55

From: Ing. J�n Kuch�r <kuchar(zv)tuke.sk>
> vo svojom programe mam v malom okne umiestneny PAINTBOX, to okno je mozne
> zvacsit na celu obrazovku a vratit ho spat do povodnej velkosti, nachadza sa tam
> dos vela nakreslenych objektov pomocou LINETO, otazky :
>- ked zvecsim okno na celu plochu, vsetko co bolo nakreslene v PAINTBOX sa
> strati, ako to tam uchovat ( INVALIDATE nepomohlo a prekreslovanie by bolo
> dost casovo narocne )

Ahoj,

Jakym zpusobem do neho kreslis ? Pokud to delas mimo udalost OnPaint, tak to je
spatne.

>- ako to co je nakreslene v malom okne po roztiahnuti na celu plochu primerane
> zvacsit bez nejakeho zloziteho prepocitavania, da sa urobit daco ako SCALE
> podla pomeru velkosti jednotlivych okien

V tomto pripade je asi lepsi to vykreslit do bitmapy a tu pak prekopirovat se
zmenou rozmeru do okna. Toto vlastne dela TImage.

Ve Windows lze pro prepocitavani jeste pouzit mapovaci rezimy, ale jejich pouziti
s VCL je trosku tezkopadne, viz priklad:

procedure TForm1.PaintBox1Paint(Sender: TObject);
var
OldMapMode: Integer;
DC: HDC;
W: HWND;
begin
with TPaintBox(Sender) do
begin
DC := GetDeviceContext(W);
Canvas.Handle := DC;
try
OldMapMode := SetMapMode(DC, MM_ANISOTROPIC);
SetWindowExtEx(DC, 1000, 1000, nil);
SetViewportExtEx(DC, ClientWidth, ClientHeight, nil);
SetViewportOrgEx(DC, Left, Top, nil);
with Canvas do
begin
Brush.Style := bsSolid;
Brush.Color := clBlue;
Rectangle(100, 100, 900, 900);
Brush.Color := clAqua;
Rectangle(400, 400, 600, 600);
Font.Name := 'Arial'; // TrueType font
Font.Color := clRed;
Font.Size := 40;
TextOut(50, 50, 'Text');
end;
SetMapMode(DC, OldMapMode);
finally
Canvas.Handle := 0;
ReleaseDC(W, DC);
end;
end;
end;

Petr Vones, amatersky programator


Export dat

[*] 7hlavac(zv)st.fmph.uniba.sk - 20.1.2000 00:17:24

Ok, ale ked exportujem aj druhu tabulku ktora je napojena cez filter
na
prvu a ked dam tabulka1.disablecontrols, tak mi nefunguje filter v
tabulke2.
Inac je to super;

Dik, Miso

-----Pyvodnm zprava-----
>1. Tabulku lze vytvorit pomoci DBICreateTable viz BDE32.hlp
>
>2. Pred exportem udelej
> tabulka.DisableControls;
>
>a po nem
> tabulka.EnableControls;
>
>
>Pavel
>
>
>

Nacitanie z text file

[*] Roland Tur�an (RoTurSoft) <rotursoft(zv)nextra.sk> - 19.1.2000 23:43:18

Zdravim, potreboval by som vediet ako najjednoduchsie nacitam kurzovy listok
Narodnej banky Slovenska, z ktoreho som kusok prekopiroval. Ked pouzijem
TTable.TableType:=ttASCII, tak mi to nacital len do jedneho stlpca. V subore
kuzoveho listka je dana presna struktura dlzok poli.

11 Austr�lia dol�r 1 AUD 22.687 19990101 1
11 �esk� republika koruna 1 CZK 1.224 19990101 1
11 D�nsko koruna 1 DKK 5.785 19990101 1
11 EM� euro 1 EUR 43.097 19990101 1
11 Gr�cko drachma 100 GRD 13.083 19990101 1
11 Japonsko jen 100 JPY 32.479 19990101 1
11 Kanada dol�r 1 CAD 23.871 19990101 1
11 Ma�arsko forint 100 HUF 17.105 19990101 1
11 N�rsko koruna 1 NOK 4.858 19990101 1
11 Po�sko zloty 1 PLN 10.544 19990101 1
11 Slovinsko toliar 100 SIT 22.836 19990101 1
11 �vaj�iarsko frank 1 CHF 26.783 19990101 1
11 �v�dsko koruna 1 SEK 4.547 19990101 1
11 USA dol�r 1 USD 36.955 19990101 1

Dakujem.

Best regards.
--------------------
Pouzivam D3Pro, BDE 5.01, Win98PanEuro, RX Lib, SineaVCL.

Roland Turcan
RoTurSoft
Palarikova 10/20
934 01 Levice
Slovakia

tel: ++421-905-487 908


export dat

[*] Mirek Junek <mjunek(zv)uo.fairnet(tec)cz> - 20.1.2000 00:09:58

Ahoj,
Udelej si na zdrojovou tabulku filtr pro ty zaznamy, ktere potrebujes, nebo
je vyber pomoci komponenty tQuery a pouzij metodu datasetu BatchMove (viz
help), nebo pouzij komponentu tBatchMove, pak Source = tvoje filtrovana
tabulka nebo Query, Destination = tabulka, kam chces kopirovat. Kdyz
nastavis mode batCopy, tak se ta cilova tabulka sama vytvori, ale bez
indexuu :-(. Ty se pak ale daji doplnit pomoci AddIndex.

Hodne zdaru
Mirek

| Zdravim,
| mam jeden dotaz. potrebujem urobit export dat z klasickej Paradox
| tabulky do
| inej tiez Paradox tabulky. Rozdiel je v tom ze v tej druhej tabulke
| budu len
| filtrovane data z prvej. No a problem je v dvoch veciach:
|
| 1. Vytvorenie novej paradox tabulky. (relativne to viem vyriesit
| skopirovanim prazdne tabulky - nic moc riesenie)
|
| 2. Pri exporte dat robim toto
| for i:=1 to table.RecordCount do
| begin
| If zaznam vyhovuje then exportuj;
| posun zaznam;
| end;
|
| problem je v posun zaznam. Nieviem ako mam posunut zaznam inac ako
| table.next; Ked pouzijem next, posunie sa mi na dalsi zaznam aj v vo
| vsetkych editoch na fromulari. Mozem urobit to ze dam
| form1.enabled:=false;
| ale to sa mi nezda moc korektne.
| Da sa to riesit aj nejak inak?
|
| Vdaka, Miso
|

Nacitanie z text file

[*] Jan Fiala <jan.fiala(zv)iol(tec)cz> - 20.1.2000 06:08:33

Moznym resenim je otevrit si to jako TextFile (funkce AssignFile ..., priklad je
v helpu), cist radek po radku a plnit tabulku.

Jan Fiala

----- Original Message -----
From: Roland Tur�an (RoTurSoft) <rotursoft(zv)nextra.sk>


Zdravim, potreboval by som vediet ako najjednoduchsie nacitam kurzovy listok
Narodnej banky Slovenska, z ktoreho som kusok prekopiroval. Ked pouzijem
TTable.TableType:=ttASCII, tak mi to nacital len do jedneho stlpca. V subore
kuzoveho listka je dana presna struktura dlzok poli.

11 Austr�lia dol�r 1 AUD 22.687 19990101 1
11 �esk� republika koruna 1 CZK 1.224 19990101 1
11 D�nsko koruna 1 DKK 5.785 19990101 1
11 EM� euro 1 EUR 43.097 19990101 1
11 Gr�cko drachma 100 GRD 13.083 19990101 1
11 Japonsko jen 100 JPY 32.479 19990101 1
11 Kanada dol�r 1 CAD 23.871 19990101 1
11 Ma�arsko forint 100 HUF 17.105 19990101 1
11 N�rsko koruna 1 NOK 4.858 19990101 1
11 Po�sko zloty 1 PLN 10.544 19990101 1
11 Slovinsko toliar 100 SIT 22.836 19990101 1
11 �vaj�iarsko frank 1 CHF 26.783 19990101 1
11 �v�dsko koruna 1 SEK 4.547 19990101 1
11 USA dol�r 1 USD 36.955 19990101 1

Dakujem.

Best regards.
--------------------
Pouzivam D3Pro, BDE 5.01, Win98PanEuro, RX Lib, SineaVCL.

Roland Turcan
RoTurSoft
Palarikova 10/20
934 01 Levice
Slovakia

tel: ++421-905-487 908

Volani fce z MSVC++ v Delphi 4 Std.

[*] Petr Brant <p.brant(zv)samo(tec)cz> - 20.1.2000 06:50:59

No jasne, to byla i moje typicka chyba, dokud jsem nezacal delat v C++:
Kdyz nadeklarujes var S:PChar, tak jsi nadeklaroval jen ukazatel, ktery
ukazuje nekam do pameti, ale to neznamena, ze do te pameti muzes
zapisovat. Musis deklarovat napriklad var S:array[0..255] of char (nebo
vic ci mene podle delky). Tim mas pro S vymezeno 256 znaku, kam muzes
zapisovat. Druha chyba je v tom, ze do te DLL predavas ne S jako
ukazatel na zacatek toho retezce, ale diky var pred S predavas ukazatel
na S, tj. adresu te promenne S. Musis te DLL rict "zapisuj do retezce
pocinaje adresou prvniho bytu" neboli musis ji predat to S, nikoli
adresu S. Takze asi takto:

> function vdbGetTextValue(Name: PChar; Idx:Longint; S: PChar): Longint;
> stdcall; external 'werpccli.dll' name 'vdbGetTextValue';
>
a potom

var S:array[0..MAX_DELKA] of char;

vdbGetTextValue(Pchar('Teplota2'), 8, S));

a v S si pak prectes ten text.

Pokud to bude stale padat, zkus misto "stdcall" napsat "cdecl".

ZDravim

**************************************************
Petr Brant [p.brant(zv)samo(tec)cz], programator v MSVC++,
obcas Delphi
**************************************************
> -----P�vodn� zpr�va-----
> Od: Nikodem [SMTP:nikodem(zv)kh-kinetic(tec)cz]
> Odesl�no: 19. ledna 2000 13:54
> Komu: konference delphi
> P�edm�t: Volani fce z MSVC++ v Delphi 4 Std.
>
> Ahoj vsem,
>
> mam knihonu napsanou v MS VC++, ktera obashuje funkce a procedury. Ja
> potrebuji volat nejake fce a mam nasledujici problem:
>
>
> 1. Funkci delkaruji v Delphi takto:
> function vdbGetTextValue(Name: PChar; Idx:Longint; var S: PChar):
> Longint;
> stdcall; external 'werpccli.dll' name 'vdbGetTextValue';
>
> 2. Pak se na ni obracim v programu a chci aby mi vratila v parametru S
> urcity text:
>
>
> Var S: Pchar;
> begin
> vdbGetTextValue(Pchar('Teplota2'), 8, S));
> end;
>
>
> Volani fce konci chybou RunTime chybou. Mam takove tuseni, ze je to ve
> volani parametru:
>
> Parametr S slouzi totiz jako navratova hodnota.
>
> Deklarace fce v MS VC++ je
>
> Function vdbGetTextValue Lib "c:\werpccli" (ByVal Name As
> String,ByVal
> Idx As Long, ByVal S As String) As Long
>
>
>
> Za kazdou odpeved predem dekuji
>
> Jindrich Nikodem
>
> nikodem(zv)kh-kinetic(tec)cz
>
>
>

Nacitanie z text file

[*] Petr.Motlicek(zv)bcbrno(tec)cz - 20.1.2000 07:14:58

From: Roland Tur an (RoTurSoft) <rotursoft(zv)nextra.sk>
> Zdravim, potreboval by som vediet ako najjednoduchsie nacitam kurzovy listok
> Narodnej banky Slovenska, z ktoreho som kusok prekopiroval. Ked pouzijem
> TTable.TableType:=ttASCII, tak mi to nacital len do jedneho stlpca. V subore
> kuzoveho listka je dana presna struktura dlzok poli.
>
> 11 Austr�lia dol�r 1 AUD 22.687 19990101 1
> 11 esk� republika koruna 1 CZK 1.224 19990101 1
> 11 D�nsko koruna 1 DKK 5.785 19990101 1
> 11 EM euro 1 EUR 43.097 19990101 1
> 11 Gr�cko drachma 100 GRD 13.083 19990101 1
> 11 Japonsko jen 100 JPY 32.479 19990101 1
> 11 Kanada dol�r 1 CAD 23.871 19990101 1
> 11 Ma arsko forint 100 HUF 17.105 19990101 1
> 11 N�rsko koruna 1 NOK 4.858 19990101 1
> 11 Po sko zloty 1 PLN 10.544 19990101 1
> 11 Slovinsko toliar 100 SIT 22.836 19990101 1
> 11 vaj iarsko frank 1 CHF 26.783 19990101 1
> 11 v�dsko koruna 1 SEK 4.547 19990101 1
> 11 USA dol�r 1 USD 36.955 19990101 1

Ahoj,

pokud mas RxLIbary, tak vyuzij StrUtils unitu,
treba tak:

procedure ReadCurrencyRates(Table :
TDataSet);
var
Currencies : TStringList;
x,y: integer;
begin
Table.Open;
Currencies.LoadFromFile("currency.txt")
for x:=0 to Currencies.Count-1 do
for y:=0 to 7 do Table.Fields[y].AsString :=
ExtractWord(y,Currencies[x],[#32]);

end;

Petr Motlicek


export dat

[*] Ren� Otisk - 20.1.2000 07:53:18

Hi,
Neslo by to spis pres SQL dotaz
SELECT * FROM ZdrojTabke
INSERT INTO CilTable WHERE ...

Kdyz tak to trochu bliz specifikuj...

Sroub

> Zdravim,
> mam jeden dotaz. potrebujem urobit export dat z klasickej Paradox
> tabulky do
> inej tiez Paradox tabulky. Rozdiel je v tom ze v tej druhej tabulke
> budu len
> filtrovane data z prvej. No a problem je v dvoch veciach:
>
> 1. Vytvorenie novej paradox tabulky. (relativne to viem vyriesit
> skopirovanim prazdne tabulky - nic moc riesenie)
>
> 2. Pri exporte dat robim toto
> for i:=1 to table.RecordCount do
> begin
> If zaznam vyhovuje then exportuj;
> posun zaznam;
> end;
>
> problem je v posun zaznam. Nieviem ako mam posunut zaznam inac ako
> table.next; Ked pouzijem next, posunie sa mi na dalsi zaznam aj v vo
> vsetkych editoch na fromulari. Mozem urobit to ze dam
> form1.enabled:=false;
> ale to sa mi nezda moc korektne.
> Da sa to riesit aj nejak inak?
>
> Vdaka, Miso


export dat

[*] Ren� Otisk - 20.1.2000 07:55:44

Co jsem to napsal za blbost
samozrejme

INSERT INTO CilTable SELECT * FROM ZdrojTable WHERE ...

Omlouvam se
Sroub

> Zdravim,
> mam jeden dotaz. potrebujem urobit export dat z klasickej Paradox
> tabulky do
> inej tiez Paradox tabulky. Rozdiel je v tom ze v tej druhej tabulke
> budu len
> filtrovane data z prvej. No a problem je v dvoch veciach:
>
> 1. Vytvorenie novej paradox tabulky. (relativne to viem vyriesit
> skopirovanim prazdne tabulky - nic moc riesenie)
>
> 2. Pri exporte dat robim toto
> for i:=1 to table.RecordCount do
> begin
> If zaznam vyhovuje then exportuj;
> posun zaznam;
> end;
>
> problem je v posun zaznam. Nieviem ako mam posunut zaznam inac ako
> table.next; Ked pouzijem next, posunie sa mi na dalsi zaznam aj v vo
> vsetkych editoch na fromulari. Mozem urobit to ze dam
> form1.enabled:=false;
> ale to sa mi nezda moc korektne.
> Da sa to riesit aj nejak inak?
>
> Vdaka, Miso


reindexace paradox tabulek

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 20.1.2000 08:20:14

> Prosim o radu, jak napsat v D1 a vyssich proceduru, ve
> ktere provedu rekonstrukci (obnovu) indexovych souboru pro
paradox tabulku. Deklaraci souboru i indexu samozrejme znam.
No, delal jsem neco takoveho a dal jsem uzivateli na vyber ze dvou
moznosti:

a) Obnova pomoci etalonu - tj. je nekde k dispozici neposkozena
tabulka (s libovolnymi daty - treba prazdna nebo treba ze zalohy,
pokud uzivatel zalohuje). Na poskozene tabulce se smazou
vsechny indexove soubory. Z etalonu pak pomoci funkci BDE
ziskam deskriptory indexu, referencnich integrid apod. a tyto
deskriptory se pak pouziji pro dbiDoRestrukture aplikovanou na
poskozenou tabulku (ze ktere na disku zbyly jen soubor .db a
.mb).

Neoodiskutovatelnou vyhodou teto metody je, ze obnovi (vytvori)
i indexy, ktere byly z disku omylem uplne smazany. Nevyhody
jsou dve: musi byt etalon a navic nesmi byt poskozen .db soubor
tak, aby nesel otevrit (protoze dbiDoRestructure potrebuje handle
na tabulku a ten lze ziskat po otevreni teto tabulky).

b) Na www.inprise.com lze najit specialni knihovnu Tool32.dll, ktera
obsahuje pomerne mocne nastroje na obnovu struktury poskozene
databaze. Doporucuji si stahnout. Na www.torry.ru se da najit
nekolik komponent i free, ktere tuto knihovnu pouzivaji a umoznuji
snadno tabulku opravit (ja pouzivam komponentu KPdxRpr).

Tato metoda opravi i tabulky, ktere nelze otevrit a na nichz by
tedy selhala metoda a); navic neni treba zadny etalon.
Ovsem indexy smazane z disku samozrejme zachranit
nemuze - coz je snad jedina nevyhoda oproti metode a). Prijde na
to, jake situace chces resit.

David Lebeda, Lebeda(zv)comarr(tec)cz


export dat

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 20.1.2000 08:30:30

Tabulku muzeas vytvorit pomoci SQL prikazem
CREATE TABLE TabName (Sloupec1 INTEGER, ... )

a potom

INSERT INTO TabName
SELECT Sloupec1, Sloupec2, ...
FROM SourceTable
WHERE podminka

Jinak pres TTable by to slo asi nejak takto:
Pri tom exportu si nejprve uloz pozici
(pomoci BookMarku) a potom pomoci
Table1.DisableControls zakazes ovladacim
prvkum (DBEdits, DBGrids, ...) aby se na
nich projevil prikaz Table1.Next, nakonec
to opet povolis pomoci Table1.EnableControls
(ale udelelj to v chranenm bloku, aby se to
provedlo vzdy) nakonec prejdes na ulozenou
pozici.

Dobra.

> ----------
> Od: 7hlavac(zv)st.fmph.uniba.sk[SMTP:7hlavac(zv)st.fmph.uniba.sk]
>
> mam jeden dotaz. potrebujem urobit export dat z klasickej Paradox
> tabulky do
> inej tiez Paradox tabulky. Rozdiel je v tom ze v tej druhej tabulke
> budu len
> filtrovane data z prvej. No a problem je v dvoch veciach:
>
> 1. Vytvorenie novej paradox tabulky. (relativne to viem vyriesit
> skopirovanim prazdne tabulky - nic moc riesenie)
>
> 2. Pri exporte dat robim toto
> for i:=1 to table.RecordCount do
> begin
> If zaznam vyhovuje then exportuj;
> posun zaznam;
> end;
>
> problem je v posun zaznam. Nieviem ako mam posunut zaznam inac ako
> table.next; Ked pouzijem next, posunie sa mi na dalsi zaznam aj v vo
> vsetkych editoch na fromulari. Mozem urobit to ze dam
> form1.enabled:=false;
> ale to sa mi nezda moc korektne.
> Da sa to riesit aj nejak inak?
>
> Vdaka, Miso
>

Globalny objekt a DLL

[*] Tomas Skoda <tomas.skoda(zv)jdsoftware.sk> - 20.1.2000 08:34:29

Ahoj,

Pre odchytavnie vsetkych exception v programe mam vytvoreny globalny
objekt, ktory loguje udaje do suboru. Tento objekt by mal byt globalny
nielen v ramci EXE suboru a BPL balicku, ale aj v ramci nasich DLL,
ktore pouziva nas projekt.

Object sa vytvara v unite pocas inicializacie unitu:

initialization
if not Assigned(XYZObject) then
XYZObject:= TXYZObject.Create;

Tento unit sa pouziva v projektu (EXE), BPL aj v DLL.

V EXE sa tento objekt vytvori, v BPL Assigned test ukaze, ze uz existuje.
Ale DLL objekt nenajde a vytvori druhu instanciu.

Neviete ako by sa dalo v DLL vyriesit tento problem ?

Tomas.

FileDescription a VerQueryValue

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 20.1.2000 08:40:28

Ahoj,
v RxLib je unita VerInfo, ktera definuje
tridu TVersionInfo, kterou to jde celkem
pohodlne zjistit.

Dobra.

> ----------
> Od: Petr Mat> �jovsk�[SMTP:pemasoft(zv)atlas(tec)cz]
>
> nekdo do konference poslal prispevek jak dostat ze souboru informace o verzi
> .
> Ja bych chtel zjistit jeste CompanyName FileDescription pripadne ProductName
> ProductVersion, ale nejak se mi nedari.
> Budu rad kdyz nekdo poradi
> Diky Petr
>
>

export dat

[*] Martin �ajbik (Marcant) <marcant(zv)sct.sk> - 20.1.2000 08:52:25

Ja len doplnim
1. tabulku je mozne vytvorit aj cez komponentu TTable (tabulka.CreateTable).
2. este by sa zislo odlozit si aktualnu poziciu napriklad cez bookmark:
var
bm: TBookmark;
...
begin
...
bm:= tabulka.GetBookmark; // pred exportom
tabulka.DisableControls;
...
tabulka.GotoBookmark(bm); // po exporte
tabulka.FreeBookmark(bm);
tabulka.EnableControls;
...
end;> 1. Tabulku lze vytvorit pomoci DBICreateTable viz BDE32.hlp
>
> 2. Pred exportem udelej
> tabulka.DisableControls;
>
> a po nem
> tabulka.EnableControls;
>
> Pavel
>
>
>

Win95, D3 TRxFolderMonitor a hl�d�n

[*] Grubhoffer(zv)software602(tec)cz - 20.1.2000 8:53:30

TRXFolder monitor vyuziva WinAPI fce FindFirstChangeNotification, FindNextChangeNotification a FindCloseChangeNotification. A ty chodi pouze na "Microsoftich" discich...

J.G.
>
> Ahojte, zkou�el jste n�kdo pomoc� TRxFolderMonitoru
> kontrolovat stav a zm�ny
> adres��e na novelu 4.11. Nevim co d�l�m �patn�, pokud hl�d�m
> adres�� na
> lok�ln�m disku, jede to OK ale na s�ov�m disku mi to zahl�s�
> chybu 2 soubor
> nelze najit a konec.
>

---
Odchoz� zpr�va neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.115 / Virov� b�ze: 54 - datum vyd�n�: 23.12.1999


Inno setup kontra Install Shield

[*] Karel Kral <kral(zv)purus(tec)cz> - 20.1.2000 09:06:47

Ja jsem taky InnoSetupem + ScriptMakerem nadseny. Ale chybi mi tam velmi
jedna vec. Nevim, jestli spatne hledam nebo tam neni:
Jde o opakovane instalace, napr. upgrade. Kdyz instaluji upgrade, chtel
bych si pri prvni instalaci zapsat do registru instalacni cestu a pak ji
nabidnout pri upgrade jako implicitni instalacni cestu. To podle mne
InstallShield musi umet.

rdocekal(zv)csas(tec)cz wrote:
>
> Na http://www.tafweb.com/scriptmaker.html je k InnoSetup GUI front-end,
> AFAIK jediny, ktery je pravidelne aktualizovan. Ja osobne InstallShit (rec
> je o I$ Express) uz davno nepouzivam a jsem spokojen. InnoSetup mi prijde
> naprosto vyhovujici, mene chybovy a nabizi podstatne vic nez I$E. Rovnez
> lokalizace je v pohode, nemusis se nekde doprosovat 8-((, vse je free se
> zdrojakama.
>
--
______________________________________________________
Karel Kral, informatik
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 05/47235000, 0602/552432, Fax: 05/47231203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________


PostgreSQL a Delphi

[*] Milos Sula <crkstrobe(zv)geocities(tec)com> - 20.1.2000 09:08:32

Zdravim
nema nekdo zkusenosti s PosgreSQL a konektivitou na Delphi ?
Mame tu program ktery komunikuje s Oraclem, ale z uspornych duvodu chceme
pouzit misto Oracle nejaky free relacni SQL server na linuxu. Uvazoval jsem
i o MySQL ale ten bohuzel asi relacni neni. Existuji nejake komponenty pro
nativni pristup k PostgreSQL a nebo se to da relizovat z prostredi windows
jen za pomoci ODBC driveru ?
Jo a jeste by me zajimalo zda ma nekdo zkusenosti s portovanim tohoto
relacniho DB serveru na platformu win 9x (kompilace zdrojaku pomoci win
gcc). A jak velky je rozdil mezi SQL syntaxi Oraclu a PosgreSQL a zda vubec
umoznuje pracovat se stored procedurami atd. a jake administracni nastroje
lze pouzit z prostredi windows.

predem dekuji


Globalny objekt a DLL

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 20.1.2000 09:16:34

Haj hou!

From: Tomas Skoda <tomas.skoda(zv)jdsoftware.sk>
> V EXE sa tento objekt vytvori, v BPL Assigned test ukaze, ze uz existuje.
> Ale DLL objekt nenajde a vytvori druhu instanciu.

Tohle bezne funguje. Pokud ne, pak DLL neni prelozena s balicky nebo dany
balicek neni uveden v seznamu balicku v .CFG pro DLL.

Hodne zdaru


Pavel Cisar <pcisar(zv)atlas(tec)cz>
Delphree.org CEO
http://delphree.clexpert.com
Nexus project coordinator
http://delphree.clexpert.com/pages/projects/nexus/default.htm


Inno setup kontra Install Shield

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 20.1.2000 09:20:18

Aha, tak to je pro mne novinka, ja mam
posledni verzi 1.1 a tam to jeste neni
a ve "What's new" k verzi 1.2 jsem to
rovnez nenasel.

Dobra.

> ----------
> Od: Pavel Malinsk> �[SMTP:spiderland(zv)seznam(tec)cz]
>
> ---- Original Message -----
> From: Mal> � Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz>
>
> > ve prospech Inno Setupu mluvi to, ze je zdarma,
> > se zdrojovymi kody (=> napr. snadna lokalizace)
> > a umi vse, co se od instlacniho programu ocekava
> > (az na par detailu jako je napr. zaheslovana
> > instalace), ale tu nema ani IS Express.
>
> S tim heslem to neni pravda.
> V sekci Setup lze pouzit prepinac
> Password. Mluvim o Inno Setupu 1.2.
>
>

export dat

[*] viragi(zv)eurotel.sk - 20.1.2000 09:24:03

Misto

for i:=1 ro RecordCound

bych pouzil nasledujici cyklus:

var MyBookMark : TBookMark;
begin
MyBookmark := GetBookmark;
Table1.DisableControls;
Table1.First;
while not Table1.eof do begin

......
Table1.Next
end;
Table1.EnableControls;
GotoBookmark(MyBookmark);
FreeBookmark(MyBookmark);
end;

Ivan Virag

Inno setup kontra Install Shield

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 20.1.2000 09:24:55

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

Aaa, je to tam, a to uz koukam od verze 1.12.7

> ----------
> Od: Mal> � Dobromil
>
> Aha, tak to je pro mne novinka, ja mam
> posledni verzi 1.1 a tam to jeste neni
> a ve "What's new" k verzi 1.2 jsem to
> rovnez nenasel.
>
> Dobra.
>
> ----------
> Od: Pavel Malinsk�[SMTP:spiderland(zv)seznam(tec)cz]
>
> ---- Original Message -----
> From: Mal> � Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz>
>
> > ve prospech Inno Setupu mluvi to, ze je zdarma,
> > se zdrojovymi kody (=> napr. snadna lokalizace)
> > a umi vse, co se od instlacniho programu ocekava
> > (az na par detailu jako je napr. zaheslovana
> > instalace), ale tu nema ani IS Express.
>
> S tim heslem to neni pravda.
> V sekci Setup lze pouzit prepinac
> Password. Mluvim o Inno Setupu 1.2.
>
>
>

OT: W2k - full of bugs?

[*] Tu�ek Roman (P15) <TucekR(zv)p15.mepnet(tec)cz> - 20.1.2000 09:35:00


jukni na, treba najdes potrebne

http://www.betaos.com/
http://www.win2kworld.com/
http://seldzar.dhs.org/ -------

Pac mi chciplo kolecko u Intellimouse a jeho dotalni demontaz to moc
nespravila (holt je to vychozene za ty roky) rozhodl jsem se pro posledni MS
vykrik Intellimouse Explorer:

http://www.microsoft.com/Mouse/explorer.htm

Instalace na W2k build 2195 naprosto v pohode jak pres PS/2 tak i pres USB.
Vse v poradku az do prvniho tisku na lokalni tiskarne HP 720C na paralelnim
portu. V tom okamziku mysicka zhasina a je domysovano. Jakmile tisk skonci,
myska nabehne (nekdy), jindy je potreba ji vytahnout z USB a znovu zasunout
a teprve pak nabehne. Pokud jsem se ji snazil vytahnout a zasunout BEHEM
tisku, tak mi W2k nahlasi chybu na USB zarizeni. Takze jsem ozelel moderni
technologie, vrazil mysku do redukce USB-to-PS/2 a muzu s ni kvrdlat i behem
tisku. Ve W98 pochopitelne vse OK.

Bug #2
-------

Neskutecne se mi zpomalil tisk na jiz zminovane tiskarne HP 720C (dve
tiskove hlavy -> cerna + barevna). Zacal jsem koumat cim to je a za pomoci
lupy a nekolika pokusu jsem zjistil, ze pokud se kdekoliv v tistenem
dokumentu objevi nejaky barevny nesmysl, tiskarna pouziva POUZE barevnou
hlavu a na cernou kasle. Inu zavolal jsem na HP (nekdo tady udaval cislo 02
/ 61307310) a jisty pan Kvasnicka mne prijemnym hlasem ujistil, ze toto je
standardni chovani tiskaren HP, coz mne prekvapilo natolik, ze jsem mu
podekoval a zavesil. Vrtalo mi to vsak hlavou (pozor, ne tou tiskovou ;-) a
vrhnul jsem se zpet proti proudu do W98, kde jsem zjistil, ze pan Kvasnicka
prevdu nema, ac jej HP produkty zivi (coz by vedlo k dalsim uvaham, ale
nebudu to tu rozpitvavat). Inu nezbyva asi nez vyckat na drivery od HP,
ktere budou certvi kdy.

Pokud by nekoho snad napadlo, jak tyto problemy vyresit, pripadne kde tyto
bugy nahlasit tak mi dejte prosim vedet.

S pozdravem

Mac

==============================================================
= Ing. Martin Kubecka - Amenit s.r.o. =
= Na Valech - budova Dytron, 741 01 Novy Jicin =
= telefon/fax: +420 656 706203 mobil: +420 603 265926 =
= http://www.amenit(tec)cz mailto:martin.kubecka(zv)amenit(tec)cz =
= ICQ: 8906773 GSM (SMS): martin.kubecka(zv)sms.paegas(tec)cz =
==============================================================

ARJ, ACE, RAR, JAR - DLL na packovani

[*] Michal HAMPL <hampl(zv)GJS(tec)cz> - 20.1.2000 09:35:37

Zdravim vsechny Delphisty.
Chtel jsem se zeptat, jestli nekdo nevite o nejakych DLL knihovnach (pri
nejhorsim i komponentach) na baleni do ARJ, ACE, RAR, JAR. Nejlepe FREE. Diky moc


P�eru�en� SQL dotazu

[*] Vaclav_Lukes(zv)EUROTEL.CZ - 20.1.2000 09:49:30

Ahoj,

m�m n�sleduj�c� probl�m.
M�m aplikaci, kde mi b�� pom�rn� dlouh� SQL dotaz. V moment�, kdy se za�ne onen
SQL dotaz vykon�vat se aplikace stane "nedostupnou" a mus�m �ekat, dokud se onen
SQL p��kaz nevykon�. Tla��tka na formuse znep��stupn� a pod.
Lze se dobrat toho, �e se bude vykon�vat SQL p��kaz a kdykoli v pr�b�hu jeho
zpracov�n� ho m��u p�eru�it ?

D�ky


Va�ek

PostgreSQL a Delphi - a co Interbase

[*] Pavel Medek <Pavel.Medek(zv)talema(tec)cz> - 20.1.2000 09:49:17

Jen si dovolim upozornit, ze i Interbase je od verze 6.0
open source a k ni mas nativni komponenty primo v Delphi.
Dostupna bude za par mesicu (myslim verze 6) ctyrka, ktera
pod Linuxem free je samozrejme k dispozici.
Verze 6 je open source pro vsechny platformy.

Pavel



----- Original Message -----
From: Milos Sula <crkstrobe(zv)geocities.com>

> Zdravim
> nema nekdo zkusenosti s PosgreSQL a konektivitou na Delphi ?
> Mame tu program ktery komunikuje s Oraclem, ale z uspornych duvodu chceme
> pouzit misto Oracle nejaky free relacni SQL server na linuxu. Uvazoval
jsem
> i o MySQL ale ten bohuzel asi relacni neni. Existuji nejake komponenty pro
> nativni pristup k PostgreSQL a nebo se to da relizovat z prostredi windows
> jen za pomoci ODBC driveru ?
> Jo a jeste by me zajimalo zda ma nekdo zkusenosti s portovanim tohoto
> relacniho DB serveru na platformu win 9x (kompilace zdrojaku pomoci win
> gcc). A jak velky je rozdil mezi SQL syntaxi Oraclu a PosgreSQL a zda
vubec
> umoznuje pracovat se stored procedurami atd. a jake administracni nastroje
> lze pouzit z prostredi windows.
>
> predem dekuji
>

Globalny objekt a DLL

[*] Tomas Skoda <tomas.skoda(zv)jdsoftware.sk> - 20.1.2000 10:10:27



> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> Pavel Cisar
> Sent: Thursday, January 20, 2000 9:17 AM
> To: delphi-l(zv)fwd(tec)cz
> Subject: Re: Globalny objekt a DLL
>
>
> Haj hou!
>
> From: Tomas Skoda <tomas.skoda(zv)jdsoftware.sk>
> > V EXE sa tento objekt vytvori, v BPL Assigned test ukaze,
> > ze uz existuje.
> > Ale DLL objekt nenajde a vytvori druhu instanciu.
>
> Tohle bezne funguje. Pokud ne, pak DLL neni prelozena s
> balicky nebo dany
> balicek neni uveden v seznamu balicku v .CFG pro DLL.

Ahoj

V tomto pripade mi ide skor o pouzitie DLL a EXE bez spolocnych balickov.
Ako by sa dal vyuzit globalny objekt vytvoreny v EXE v nasej DLL - ak je DLL
pouzivana programom, ktory takyto objekt vytvoril, tak ho pouzije, inak si
vytvori vlastny. Som si isty, ze to nie je take jednoduche, ale aspon nejaky
naznak riesenie by sa azda niekde nasiel.

Tomas


P�eru�en� SQL dotazu

[*] Tomas Skoda <tomas.skoda(zv)jdsoftware.sk> - 20.1.2000 10:21:33

Ahoj,

ten dlhy SQL prikaz by si mal spustit v ramci noveho threadu aplikacie
(cize na pozadi). Konkretna implementacia dost zavisi na pouzivanom
pristupe k DB, BDE tusim vyzaduje vytvorit zvlastnu session (TSession class).
Pre ADO by mozno stacilo sa pohrat s nastavenim ExecuteOptions v ADOQuery, ale
to je iba moj typ.

Viac info by si mohol najst v prikladoch k Delphi:
\Delphi5\Demos\Db\BkQuery

Tomas.

> -----Original Message-----
> From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
> Vaclav_Lukes(zv)EUROTEL.CZ
> Sent: Thursday, January 20, 2000 9:50 AM
> To: delphi-l(zv)fwd(tec)cz
> Subject: P�eru�en� SQL dotazu
>
>
> Ahoj,
>
> m�m n�sleduj�c� probl�m.
> M�m aplikaci, kde mi b�� pom�rn� dlouh� SQL dotaz. V
> moment�, kdy se za�ne onen
> SQL dotaz vykon�vat se aplikace stane "nedostupnou" a mus�m
> �ekat, dokud se onen
> SQL p��kaz nevykon�. Tla��tka na formuse znep��stupn� a pod.
> Lze se dobrat toho, �e se bude vykon�vat SQL p��kaz a kdykoli
> v pr�b�hu jeho
> zpracov�n� ho m��u p�eru�it ?
>
> D�ky
>
>
> Va�ek
>

P�eru�en� SQL dotazu

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 20.1.2000 10:23:59

Nejsem si jist, zda pujde prerusit, ale aby
se aplikace stala dostupnou lze ten SQL spustit
v samostanem threadu.

Dobra.

> ----------
> Od: Vaclav_Lukes(zv)EUROTEL.CZ[SMTP:Vaclav_Lukes(zv)EUROTEL.CZ]
>
> M> �m aplikaci, kde mi b�� pom�rn� dlouh� SQL dotaz. V moment�, kdy se za�ne onen
> SQL dotaz vykon�vat se aplikace stane "nedostupnou" a mus�m �ekat, dokud se onen
> SQL p��kaz nevykon�. Tla��tka na formuse znep��stupn� a pod.
> Lze se dobrat toho, �e se bude vykon�vat SQL p��kaz a kdykoli v pr�b�hu jeho
> zpracov�n� ho m��u p�eru�it ?
>
>

FindKey ve FlashFileru

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 20.1.2000 10:38:30

Ahoj,

seznamujeme se tu s FlashFilerem anarazili jsme na nasledujici
problem. Po zavolani funkce FindKey vznikne vyjimka No current
record, obvykle v pripade, kdy se zaznam nenajde.

Nejde mi ted snad o vyreseni toho problemu, k tomu bych
musel poskytnout dalsi informace; ale rad bych vedel, zda se to uz
nekomu z vas stalo a jakou to ma pricinu. Cekal bych, ze funkce
vrati True nebo False, ale ne, ze vznikne vyjimka s
nesrozumitelnym textem.

Diky moc za nakopnuti :)

David Lebeda


reindexace paradox tabulek

[*] Petr.Motlicek(zv)bcbrno(tec)cz - 20.1.2000 10:46:47

From: "David Lebeda" <david.lebeda(zv)comarr(tec)cz>
> b) Na www.inprise.com lze najit specialni knihovnu Tool32.dll, ktera
> obsahuje pomerne mocne nastroje na obnovu struktury poskozene
> databaze. Doporucuji si stahnout.

Ahoj,

prosim upresni to, nemohu to najit...

D�ky

Petr Motlicek


Globalny objekt a DLL

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 20.1.2000 11:13:45

From: Tomas Skoda <tomas.skoda(zv)jdsoftware.sk>
> V tomto pripade mi ide skor o pouzitie DLL a EXE bez spolocnych balickov.
> Ako by sa dal vyuzit globalny objekt vytvoreny v EXE v nasej DLL - ak je
DLL
> pouzivana programom, ktory takyto objekt vytvoril, tak ho pouzije, inak si
> vytvori vlastny. Som si isty, ze to nie je take jednoduche, ale aspon
nejaky
> naznak riesenie by sa azda niekde nasiel.

EXE vs. DLL bez balicku ? To je vic starosti nez uzitku ! Mno, predpokladam,
ze mate dost dobry duvod balicky nepouzit (i kdyz si dost dobre nedokazu
predstavit jaky :o), takze zkusme najit jine reseni...

a) Pouzit treti DLL ktere tuto promennou definuje (a exportuje pres funkci)
a je pouzivana jak EXE tak onim DLL.

b) DLL exportuje inicializacni proceduru kterou vola EXE a ktere bud preda
nebo nepreda onu globalni promennou.

Hodne zdaru

Pavel Cisar <pcisar(zv)atlas(tec)cz>
Delphree.org CEO
http://delphree.clexpert.com
Nexus project coordinator
http://delphree.clexpert.com/pages/projects/nexus/default.htm


Setri DLL pamet nebo ne?

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 20.1.2000 11:16:54

From: Petr Vones <pvones(zv)mbox.vol(tec)cz>
> Dobra pripominka, pokud dojde k tomu, ze je treba DLLku relokovat, pak
opravdu
> nelze kod sdilet. Snahou je, aby k tomu dochazelo co mozna nejmene. Docela
by
> me zajimalo, jestli nekde existuje jakasi "image base database" pro
balicky
> Delphi (podobne jako registrace prefixu pro ruzne projekty).

O zadne takove nevim, ale snad by se neco takoveho dalo vytvorit. Mam dojem,
ze primarni imagebase lze zjistit z hlavicky DLL ?

> Problem je, ze ve Win9x neni tato oblast chranena proti zapisu, coz
zpusobuje
> mimo jine jejich vetsi padavost oproti NT. Navic Delphi neumoznuje
nastavit
> v Options Image base vetsi nez $7FFFFFFF (alespon me to porad nadava :-).

:o) A neni ta adresa nahodou nad 2GB ? :o)

Hodne zdaru

Paradox: Some Limit exceed

[*] Petr Vaclavek <bla(zv)atrey.karlin.mff.cuni(tec)cz> - 20.1.2000 11:32:38

D4, Paradox tabulka, do ktere vkladam 3 textove retezce a Memo (delsi
text). Tabulka je vytvorena skriptem:

qrMain.Close;
qrMain.SQL.Clear;
qrMain.SQL.Add (Format(
'CREATE TABLE %s ('
+ ' ID AutoInc,'
+ ' DATUM VarChar (50),'
+ ' AUTOR VarChar (80),'
+ ' SUBJECT VarChar (50),'
+ ' MAIL Blob (0,1),'
+ ' PRIMARY KEY (ID))', [TBName]));
qrMain.ExecSQL;
qrMain.Close;

Vse je v pohode a muzu do teto tabulky ladovat data...
U me je to OK, ale na jinem pocitaci mi to pri vkladani po case
vyhodi hlasku:

Some internal limit see contex

Nebo tak nejak...
Nevite, cim by to mohlo byt???

Nastaveni BDE je totozne jako u me:
Net Dir: C:\
Version: 4.0
Type: File
LangDriver: pdx ANSI Czech 'CH'
Block Size: 2048
Fill Factor: 95
Level: 7
String integrity: TRUE

Zprav (zaznamu v tabulce): 5339

Velikosti:
DB: 1 210 368
MB: 6 246 400
PX: 10 240
XG0: 462 848
YG0: 462 848

A od te doby do te tabulky nemuzu dostat zadne dalsi zaznamy.
Za jakekoliv info predem diky...

Petr
,=====-----( mailto: bla(zv)atrey.karlin.mff.cuni(tec)cz )===--- -- - -
--=====[ PETR VACLAVEK ]====---- --- --- -- -- - -
`======----( visit: http://atrey.karlin.mff.cuni(tec)cz/~bla )=-- -
`======----( read: http://www.swnet(tec)cz )=-- -- -


Interbase zadarmo? (was: PostgreSQL a Delphi - a

[*] Ing. Petr �vejda <lingvista(zv)lingvista(tec)cz> - 20.1.2000 11:35:22

> Jen si dovolim upozornit, ze i Interbase je od verze 6.0
> open source a k ni mas nativni komponenty primo v Delphi.
> Dostupna bude za par mesicu (myslim verze 6) ctyrka, ktera
> pod Linuxem free je samozrejme k dispozici.
> Verze 6 je open source pro vsechny platformy.

Mam v teto souvislosti laicky dotaz. Znamena to, ze InterBase pro Win9x,
Win200x bude pro m� i pro zakazniky ZADARMO? Nebo kolik bude stat? Znamena
to konecne konec s BDE pro i pro drobnejsi projekty? Jakym zpusobem bude
Interbase a pripadne klice distribuovany? Jak to bude s pripadnym
licencovanim verzi? Zna (a zverejnil) uz Inprise.CZ nejake podrobnosti?
Uf... :-o

Ing. Petr Svejda
software specialist


Indexy v paradox tabulkach

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 20.1.2000 11:37:56

On 19 Jan 00, at 20:39, V�t Male�ek wrote:

Posilam tento soukromy majl zaroven do konference, protoze je
tam stale hodne lidi, kteri se z nejakych duvodu nemohou
souborovych databazi stale vzdat. :-)

> Nejsou to prilis povzbudive zpravy, ale dalo se to ocekavat. Zadny lck
> jsem na svem disku nenasel. Vim ze je lepsi od DB uteci, ale bohuzel
> InterBasi nepouzivam kvuli licencni politice.

Blyska se na lepsi casy, IB 6 bude uvolnena do Open Source,
odhad je nekdy kolem pololeti. Pokud tedy ma byt projekt hotov
nekdy v druhe polovine roku, nebal bych se delat ho primo na IB.

Jiz dnes lze programovat na MSDE, coz je lehce orezana verze
MS SQL Serveru 7, tedy nejsou tam administracni nastroje, je to
odladene na 5 soucasne pripojenych klientu a je to shora omezene
na velikost.

Skutecne nevidim duvod zacinat dnes vyvoj novych aplikaci nad
jakoukoliv souborovou databazi, s vyjimkou osobnich telefonnich
seznamu a nepodstatnych srandicek z oblasti freeware (ne vse ve
freeware je nepodstatna srandicka :).

> V kazdem pripade vsak dekuji za odpoved, a na opravar tabulek se
> pokusim dotazat v konferenci.
>
> -----P�vodn� zpr�va-----
> Od: Zbysek Hlinka <zhlinka(zv)login(tec)cz>
> Komu: V�t Male�ek <malecek(zv)seznam(tec)cz>
> Datum: 17. ledna 2000 7:48
> P�edm�t: Re: Indexy v paradox tabulkach
>
>
> On 15 Jan 00, at 22:25, V�t Male�ek wrote:
>
> > Omlouvam se za ponekud vtirave dotazy. Jsem rekreacni programator v
> > Delphi a byl jsem asi jeden rok clenem konference Delphi. Potom jsem
> > prestal s Delphi pracovat asi tak na jeden rok. Nyni jsem si chtel
> > neco doma udelat, ale nejak se mi porouchaly DB tabulka. Pri pokusu
> > o otevreni to hlasi "Corrupt table/Index header. File: XXXX".
> > Pokusil jsem se primarni index obnovit takto:
> >
> > TableIndexuj.Close;
> > TableIndexuj.TableName := 'SeznOs';
> > TableIndexuj.Exclusive := True;
> > TableIndexuj.AddIndex('', 'Prijmeni;Jmeno', [ixPrimary,
> > ixUnique]);
>
> No nazdar, uprimnou soustrast. Tohle je jeden z hlavnich duvodu,
> proc se snazim od DB utect.
>
> Pokud nepomuze vymazani souboru Paradox.lck, Pdoxusrs.lck (v
> adresari s daty) a Pdoxusrs.net (nejspis v C:\), a hlavicka je
> ponicena primo u db souboru, pak asi nezbyva, nez se
> poohlednout po programu, ktery ji umi spravit (ale nevim, kde ten
> program lze najit, zde pomuze snad jen dotaz v konferenci, nebo spise
> primo u Borlandu). Nebo lze vytahat texty primo z tabulky, je to ale
> hrozna piplacka.


S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz, localizator(zv)localizator.com
Phones: 02/795 29 56; GSM: 0603 551 282
Krystofova 1016, 149 00 Praha 4
CZ


Interbase zadarmo? (was: PostgreSQL a Delphi - a

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 20.1.2000 11:42:21

From: Ing. Petr �vejda <lingvista(zv)lingvista(tec)cz>

>Mam v teto souvislosti laicky dotaz. Znamena to, ze InterBase pro Win9x,
>Win200x bude pro m� i pro zakazniky ZADARMO? Nebo kolik bude stat? Znamena
>to konecne konec s BDE pro i pro drobnejsi projekty? Jakym zpusobem bude
>Interbase a pripadne klice distribuovany? Jak to bude s pripadnym
>licencovanim verzi? Zna (a zverejnil) uz Inprise.CZ nejake podrobnosti?

Prilis brzy :o) Jinak IB 6 bude "zadarmo" asi stejne tak jako je zadarmo
Linux. Muzes si koupit CD (napr. red Hat), nebo stahnout zdarma z internetu,
pripadne nakopirovat od kamarada etc.

Jinak nejaktualnejsi informace o deni kolem Interbase je mozne najit na

www.interbase2000.org

Hodne zdaru


Pavel Cisar <pcisar(zv)atlas(tec)cz>
Delphree.org CEO
http://delphree.clexpert.com
Nexus project coordinator
http://delphree.clexpert.com/pages/projects/nexus/default.htm


Paradox: Some Limit exceed

[*] Martin Nedopil <nedopil(zv)eskon(tec)cz> - 20.1.2000 12:05:15

Zvedni velikost bloku.

Martin


-----P�vodn� zpr�va-----


qrMain.Close;
qrMain.SQL.Clear;
qrMain.SQL.Add (Format(
'CREATE TABLE %s ('
+ ' ID AutoInc,'
+ ' DATUM VarChar (50),'
+ ' AUTOR VarChar (80),'
+ ' SUBJECT VarChar (50),'
+ ' MAIL Blob (0,1),'
+ ' PRIMARY KEY (ID))', [TBName]));
qrMain.ExecSQL;
qrMain.Close;

Vse je v pohode a muzu do teto tabulky ladovat data...
U me je to OK, ale na jinem pocitaci mi to pri vkladani po case
vyhodi hlasku:

Some internal limit see contex

Nebo tak nejak...
Nevite, cim by to mohlo byt???

Nastaveni BDE je totozne jako u me:
Net Dir: C:\
Version: 4.0
Type: File
LangDriver: pdx ANSI Czech 'CH'
Block Size: 2048
Fill Factor: 95
Level: 7
String integrity: TRUE

Zprav (zaznamu v tabulce): 5339

Velikosti:
DB: 1 210 368
MB: 6 246 400
PX: 10 240
XG0: 462 848
YG0: 462 848

A od te doby do te tabulky nemuzu dostat zadne dalsi zaznamy.
Za jakekoliv info predem diky...

ARJ, ACE, RAR, JAR - DLL na packovani

[*] Pavel ZIDEK <kopr(zv)kopr(tec)cz> - 20.1.2000 12:52:23

Hledej v
http://www.kopr(tec)cz/w-delphi.htm
ZIP a nejake odkazy najdes
pavel

----- Original Message -----
From: Michal HAMPL <hampl(zv)GJS(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Thursday, January 20, 2000 9:35 AM
Subject: ARJ, ACE, RAR, JAR - DLL na packovani


> Zdravim vsechny Delphisty.
> Chtel jsem se zeptat, jestli nekdo nevite o nejakych DLL knihovnach (pri
> nejhorsim i komponentach) na baleni do ARJ, ACE, RAR, JAR. Nejlepe FREE.
>
>
> Diky moc
>

FindKey ve FlashFileru

[*] Marcel Langr <ivar(zv)ivar(tec)cz> - 20.1.2000 12:55:28

Toto je znama chyba vyskytujici se ve verzi 1.54. Existuje patch, ktery by
to mel opravit, ovsem podle mych zkusenosti to neni stoprocentni. Resenim je
tedy vratit se k verzi 1.53 resp pockat na verzi 1.55
Viz http://www.turbopower.com/updates/
a dale doporucuji sledovat news viz. http://www.turbopower.com/tpslive/

Marcel Langr
mlangr(zv)ivar(tec)cz


> seznamujeme se tu s FlashFilerem anarazili jsme na nasledujici
> problem. Po zavolani funkce FindKey vznikne vyjimka No current
> record, obvykle v pripade, kdy se zaznam nenajde.
>

reindexace paradox tabulek

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 20.1.2000 12:58:13

> > b) Na www.inprise.com lze najit specialni knihovnu Tool32.dll, ktera
> > obsahuje pomerne mocne nastroje na obnovu struktury poskozene
> > databaze. Doporucuji si stahnout.
>
> prosim upresni to, nemohu to najit...

Omlouvam se, koukal jsem na Inprise.com, ale taky jsem to
nenasel. Mozna jsem to i predtim stahnul nakonec odjinud

Nasel jsem ale toto:
http://www.surfnet.nl/ftp/mirror/borland/bde/devsupport/general/

no a je to tutil32d_package.zip

David Lebeda


reindexace paradox tabulek

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 20.1.2000 13:00:11

> > b) Na www.inprise.com lze najit specialni knihovnu Tool32.dll, ktera
> > obsahuje pomerne mocne nastroje na obnovu struktury poskozene
> > databaze. Doporucuji si stahnout.

Jeste jedna oprava:

Nejedna se o Tool32 (na co jsem to zase myslel?), ale o TUtil32 a
ke stahnuti to je napr. na
http://www.surfnet.nl/ftp/mirror/borland/bde/devsupport/general/

soubor tutil32d_package.zip.

David Lebeda


Datka, DLT atd.

[*] rjunga(zv)oku-ka(tec)cz - 20.1.2000 13:15:40

Ahoj programatori,
nemate nekdo komponenty pro praci s datkama a DLT? Jeste jsem nepatral po
tom, jak to pracuje, ale predpokladam, ze to nebude nic jednoducheho.
Ozvete se.

Dik, Roman Junga
rjunga(zv)oku-ka(tec)cz

© Netcode.cz, 2008-9. Doporučujeme portál delphi.cz