Archív konference Delphi

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

autoincrement - Interbase

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 19.10.1999 08:14:52



> -----P�vodn� zpr�va-----
> Od: Ing. Jaroslav �ke��k [mailto:jaro(zv)sinea(tec)cz]
> Odesl�no: 18. ��jna 1999 18:10
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re: autoincrement - Interbase
>
>
> Pokud jsem to pochopil dobre, Pavel to dela tak, ze generuje
> nahodne cislo.
> Pri dostatecne dlouhem retezci (uvadel 10 znaku) se pravdepodobnost
> vyskytu dvou stejnych cisel blizi nule.
> Me se na tomto reseni nelibi, ze takovyto klic resi jenom a pouze
> jedinecnost.

A pritom nedostatecne.
Ale nic jineho by primarni klic delat nemel.
Mel by resit pouze identifikaci zaznamu. Pritom je lhostejne,
jestli dany zaznam ma ID 5 nebo 500. Pokud potrebujes
poradi vzniku zaznamu (nenapada me, co ineho by se dalo z autoinkrementu
vycist), mel bys zavest zvlastni atribut typu datetime.
Samozrejme orientacni informace v krizovych situacich
lze cerpat i ze znalosti chovani autoinkrementu na konkretni
databazi, ale nemel by se s takovym zamerem navrhovaat datovy model.
Pokud mas pocit, ze by bylo v budoucnu uzitecne znat poradi
vzniku zaznamu, mel bys do tabulky dat atribut typu datetime,
do nejz by se v Insert Triggeru vkladal aktualni datum a cas.

Jura


SQL - sumarizace poli

[*] petr.motlicek(zv)bcbrno(tec)cz - 19.10.1999 08:31:28

Date sent: Tue, 19 Oct 1999 06:38:55 +0200
From: Hole ek Radek <holecek.radek(zv)seznam(tec)cz>
To: delphi-l(zv)fwd(tec)cz
Subject: Re: SQL - sumarizace poli
Send reply to: delphi-l(zv)fwd(tec)cz

> Melo by to jit napr:
>
> SELECT Nazev, Cislo1, Cislo2
> FROM T1
> UNION
> SELECT 'Celkovy soucet', SUM(Cislo1), SUM(Cislo2)
> FROM T1
> ORDER BY .... (bohuzel razeni jde nastavit pouze tady)

Zdravim,

ja jsem zkousel delat to s tim nazvem, ale vzdy mi to hodilo "Type
mismatch". Jak to ?

....

Ted jsem na to asi prisel...- mel jsem "Celkem" misto "Celkovy
soucet" a to je nejspis prilis kratke.....

Petr Motlicek


Datum od roku 0000

[*] lustyl1.edu(zv)mail.cez(tec)cz - 19.10.1999 07:48:51




S prepoctem double-datum problemy nejsou, dela se to
pres Julianske datum.
Me slo hlavne o zachovani formatu
TDateTime a vsechny procedure,funkce a
zobrazovaci forma
ty s timto typem spojene .

Presto diky vsem za napady


"Zbysek Hlinka" <zhlinka(zv)login(tec)cz> on 19.10.
99 06:02:38

Odpov�zte pr

�m - delphi-l(zv)fwd(tec)cz

Komu: delphi-l(zv)fwd(tec)cz
Kopie: (Na v

dom�: Lustyk Ladislav/4150P/EDU/CEZ)
P


edm�t: Re: Datum od roku 0000

lustyl1.edu(zv)mail.cez(tec)cz wrote:

> Pratele poradte
> mam D3, DB Paradox a potrebuji pracovat s roky od nula. V DB Desktopu
> mohu rucne zadat napr. 1.1.0005, zde je to OK. Ale pri editaci DB
> controlu (DBEdit, DBGrid) napojenou na dataset TTable se vnucuje toto
> stoleti. Tzn. po zapisu 1.1.0005 se zmeni na 1.1.1905. Zkousel jsem
> kdeco, ale vse je zatim bez vysledku. Datum drive zapsany pomoci DB
> Desktopu se jinak pres dataset a DBGrid zobrazuje spravne. Jeste neco
> : lze pouzivat v Paradoxu 7 a D3 i zaporny datum ?

S jednou vyhradou, ktera zde nekolikrat padla, a to ze rok 0
neexistuje (z historickych duvodu, ale to je fuk), bych doporucoval
prepocitat letopocet na nejakou integer hodnotu podle spolehliveho
vzorce, a teprve s tim pak pracovat. Ovsem nesmis zapomenout na
prestupne roky a gregorianskou upravu.


S pozdravem

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

autoincrement - Interbase

[*] Ing.Rostislav Podmanicky <rosta(zv)trias92(tec)cz> - 19.10.1999 08:57:19

Zdravim,

zaujala me diskuze, ktera se rozproudila puvodne kolem autoincremtu
a dostala se az k mapovani objektu do databaze. Vsiml, jsem si,
ze nazory Pavla Cisare vyvolaly znacne rozpolcene nazory.

Svedci to o tom, ze "20 let stare poucky maji skutecne velkou setrvacnost".

Pro zajimavost bych chtel uvest nasi osobni zkusenost:

Pouziti klasickeho "tabulkoveho" pristupu k datum ulozenym na SQL serveru
a jejich prima prezentace na formularich pomoci Data Controls k zadnemu
stabilnimu cili nevede. Je to metoda pouzitelna sotva na Paradoxove nebo
dBase tabulky.

Jiz rok pouzivame techniku mapovani bussines objektu do databaze.
Jako primarni klice jsou pouzivany tzv. OID - objektove identifikatory,
ktere je mozne prirovnat k ukazatelum na objekty v pameti. Jedna se vlastne
o unikatni klice (v nasem pripade jsou unikatni pres vsechny tabulky
databaze).
Tyto klice nemaji zadny obchodni vyznam - pouze unikatne identifikuji
objekt v databazi.

K jejich ziskavani pouzivame metodu Hi-Lo - tzn. z a d n y autoincremet
!!!!
Unikatni OID negeneruje tedy databaze, ale napr. datova vrstva aplikace,
ktera
muze byt umistena treba na aplikacnim serveru. (nemusi to tedy nutne byt
internetovy prohlizec...).

Technologie mapovani bussines objektu otevira zcela jine moznosti
pro vytvareni databazovych aplikaci. Myslim, ze cela rada dalsich
doporuceni, ktera z teto metody vychazi, by asi vyvolala u rady lidi
"zdeseni". (postupy pri pouzivani joinu, trigru, vlozenych procedur apod.)

Tato metoda je zcela odlisna od soucasneho pojeti pristupu k datum,
takze je asi tezke jednoznacne rici, ze autoincrement je nebo neni spatny.
Oracle, Informix, Interbase atd. umoznuji pouzivat autoincremet, kazdopadne
to vsak neznamena, ze je to idealni reseni.


S pozdravem
Rosta Podmanicky

----------------------------------------------------------------------------
Ing.Rostislav Podmanicky
rosta(zv)trias92(tec)cz

Trias 92, spol.s.r.o. - Informacni systemy
Sv.Cecha 253
Jicin, 506 01
Czech republic, Europe
tel: +420 433 24378 nove tel. cislo (+420 433 534 378)
tel/fax: +420 433 23134 nove tel. cislo (+420 433 533 134)
----------------------------------------------------------------------------

----- P�vodn� zpr�va -----
Od: Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz>
Komu: <delphi-l(zv)fwd(tec)cz>
Odesl�no: 18. ��jna 1999 14:16
P�edm�t: RE: autoincrement - Interbase


>
> > -----P�vodn� zpr�va-----
> > Od: Pavel Cisar [mailto:pcisar(zv)aktis(tec)cz]
> > Odesl�no: 18. ��jna 1999 10:23
> > Komu: delphi-l(zv)fwd(tec)cz
> > P�edm�t: Re: autoincrement - Interbase
> >
> >
> > Haj hou!
> >
> > From: Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz>
> > >Nevim, z jakeho pohledu je to podle Tebe "velmi nestastne navrzene".
> > >Prave z tohoto duvodu autoinkrementy existuji.
> > >
> > >Z pohledu C/S architektury je Tvuj navrh nesmysl - klient
> > nemuze urcovat,
> > >jakym zpusobem databaze identifikuje svoje zaznamy a zajisti
> > integritu dat.
> > >Uz kvuli tomu, ze klient:
> > >- nemusi znat strukturu databaze, napr. nevi, jestli zaznam osoby s
> > adresou,
> > > kterou naedituje a preda ulozene procedure, bude ulozen v
> > jedne tabulce
> > > anebo ve vice tabulkach a bude tedy potreeba vice primarnich klicu
> > > nez jen jeden pro osobu.
> > Co to prosim te tvrdis ? Klientovi je samozrejme z duse
> > jedno, jak jsou data
> > fyzicky ulozena, ale strukturu a semantiku znat musi, jinak
> > neni schopen s
> > daty manipulovat.
>
> To v nekterych pripadech dokonce nesmi.
> Proc by mel klient manipulovat s daty?
> Od ceho mas databazovy server?
>
> > Pokud jsou data ukladana jinak, napr. do
> > dvou tabulek, pak
> > o tom klient bud musi vedet aby pouzil spravny SQL konstrukt,
> > nebo musi byt
> > v databazi definovan prevod napr. pomoci VIEW a triggeru.
>
> Jeden nas zakaznik,
> jmenovat ho nebudu, ale je to velmi vyznamna organizace v CR,
> nam k zakazce zadal specifikaci pozadavku na objednanou aplikaci
> a v ni je uvedeno: "Klientska aplikace pristupuje k databazi
> VYHRADNE pomoci ulozenych procedur. Zejmena je zakazano
> pouzivat SQL prikazy pro pristup k tabulkam." - tzn. nejen
> UPDATE, INSERT, DELETE, ale nesmis pouzit ani SELECT.
> S resenim, kdy by klient urcoval hodnotu primarniho
> klice bychom tu zakazku asi nedostali :-).
>

autoincrement - Interbase

[*] "Bohumil Mi�ka" <bmicka(zv)writeme(tec)com> - 19.10.1999 09:17:21

On 18.10.1999 at 17:13 Pavel Cisar wrote:

>Je vicero zpusobu, jak generovat jedinecne hodnoty ruznych typu. Nejlepsi je
>metoda Hi-Lo.

Kde sa da o tejto metode nieco dozvediet?

Bohumil Micka

Primarni klic was: autoincrement atd.

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 19.10.1999 10:00:48

Haj hou!

From: Ing. Jaroslav �ke��k <jaro(zv)sinea(tec)cz>
> S tim bych docela souhlasil. Ovsem nechces mi snad tvrdit, ze generator
> autoincrementu pretizi server. Vzdyt to je vlastne jen Long Integer
promena
> do ktere si uklada posledni hodnotu.

To samozrejme netvrdim. I kdyz 1000 generatoru uz muze byt drobny problem
(nafukuje databazi atd.). Psal jsem preci o NADuzivani sofistikovanych
moznosti serveru. Trendem posledni doby je zapominani, ze jednoduche veci
vetsinou funguji lepe.

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

Primarni klic was: autoincrement - Interbase

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 19.10.1999 10:12:58

Haj hou!

From: Ing. Jaroslav �ke��k <jaro(zv)sinea(tec)cz>
> Pokud jsem to pochopil dobre, Pavel to dela tak, ze generuje nahodne
cislo.
> Pri dostatecne dlouhem retezci (uvadel 10 znaku) se pravdepodobnost
> vyskytu dvou stejnych cisel blizi nule.
> Me se na tomto reseni nelibi, ze takovyto klic resi jenom a pouze
> jedinecnost.
> Jedinou vyhodou je, ze se nemusi zjistovat ID ze serveru v pripadech,
> kdy ho potrebujes na klientovi vedet.

Neni pravdou: Pouzivame retezce, PROTOZE SOUCASTI PK JE I DALSI INFORMACE
(identifikace hnizda -instalace). To je nutne pro bezproblemovy prenos dat
mezi instalacemi (pobockami). Zbytek retezce je nahodne cislo v rozsahu
0-3512479453921 kodovane v 37-ckove soustave :-) Zamerne jsme nepouzili
Hi-Lo, protoze jsme potrebovali kratky klic a v rozsahu 8 znaku retezce
tohle vyjde s mensi pravdepodobnosti kolize.

Pokud ma byt soucasti PK i dalsi informace, pak je autoinkrement
nedostacujici.


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

download souboru

[*] Iko <iko(zv)kamarad(tec)cz> - 19.10.1999 10:38:45

> - - = D4 Standard, W98 = - -
> hi,
> prosim poradte:
> potreboval potrebuji napsat program, ktery bude stahovat z urcite adresy s
> vou aktualizaci.
> napr.: z www.haha(tec)cz soubor newdata.exe
>
>
> jde to vubec napsat ve verzi Standard ???

Ide, pomocou nejakej http komponenty, napriklad od f.pietteho.

iko
iko(zv)kamarad(tec)cz


Delphi 5 a zatez systemovych zdroju ve Win9x

[*] Jiri Binder <j.binder(zv)albacon(tec)cz> - 19.10.1999 10:45:57

Diky za poskytnuti uprav. Podle vysledku Tvych testu by mel
byt rozdil v kazdem pripade nezanedbatelny.

V redme se zminujes o nemoznosti ladeni v design time. Neco na
toto tema bylo nedavno v UNDU. Nezkousel jsem to. Myslim, ze
to nebude moc zname a je to kraticke tak jsem to pro informaci
prikopiroval.
Jiri Binder

On Windows NT 4.x, Delphi have more control over debug of
applications. So if you have developed some components that work
in design time, you can debug it by do this following:

Open your package that have your component unit's in Delphi.
Set Run|Parameters|Host Application to delphi32.exe location.
Set your BreakPoints.
Build your Package. (make sure you don't just compile... full build
please...)
Run
You'll see another instance of Delphi in your taskbar. So after
delphi startup and when delphi load your package you'll be able to
debug it. Create any component in the Delphi IDE and see Delphi
debuging Delphi! :-)
It's works great! > Ahoj,
>
> Pred casem jsem zde sliboval castecne reseni problemu zateze syst.zdroju
> pri pouzivani komponent TBitBtn, TSpeedButton a TDBNavigator, jenz pusobi
> problemy hlavne ve Windows 9x. Samozrejme od toho necekejte zazraky, ma to
> i jista dalsi omezeni (viz Readme.txt). Uprava je (zatim) urcena POUZE pro
> Delphi 5 Professional a Enterprise.
>
> ftp://ftp.mlp(tec)cz/pub/misc/Delphi/konference/Other/ButtonGlyphFix.zip
>
> --
>
> Petr Vones, amatersky programator
>
>

Rodne cislo & Y2K

[*] Daniel Rott <roxton(zv)atlas(tec)cz> - 19.10.1999 10:48:29

Nevim z ceho vychazis. Ja beru za smerodatny SIS.
http://www.usiscr(tec)cz/
Zde si muzes najit definici rodneho cisla, a zadne
pricitani 32 zde NENI specifikovano.
http://www.usiscr(tec)cz/cz/standardy/datprv27.html

Daniel

----- P�vodn� zpr�va -----
Od: Zdenek Drvota <drvota(zv)zds(tec)cz>
Komu: <delphi-l(zv)fwd(tec)cz>
Odesl�no: 18. ��jna 1999 17:21
P�edm�t: RE: Rodne cislo & Y2K


> Pripada mi, ze uz se tady mlati prazdna slama :-)
> Problem se uz resil pro 19. stoleti a jestli se nemylim,
> tak se u narozenych pred r.1900 pricte k cislu dne
> konstanta 32. U narozenych po 2000 se logicky
> pricte 64.
>
> ### Polak Jiri napsal dne 18 Oct 99, v 7:25 :
> > > >ako to vlastne bude vyzarat s rodnymi cislami po roku 2000.
> > > >Bude to 001026/9654 alebo 20001026/9654 ?
> > >
> > > Az do 31.prosince 2053 vcetne jsou rodna cisla v pohode , pak
> > > se musi neco
> > > vymyslet...
> >
> > Navrhuji generovat novorozencum GUID a na rodna cisla
> > se vykaslat :-)
> >
> > Anebo radeji se vykaslat na jednoznacnou
> > identifikaci lidi - vubec se mi ta myslenka nelibi.
> > Nebo se vam nekomu libi, ze jste takto lepe kontrolovatelni,
> > lepe zaraditelni a oznaceni cislem jako nejaky seriovy vyrobek?
> >
> > Jura
> >
>
> -----------------------------------------------
> 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
> Internet proti monopolu http://www.bojkot(tec)cz
> Pripojte se k hledani mimozemskych civilizaci:
> SETI(zv)Home http://setiathome.ssl.berkeley.edu
>
>

zaklady C/S

[*] Ji�� Kr�l jr. - 19.10.1999 10:49:04

>V DBGridu nic zasadne needitovat. Je to sice pohodlne na
>programovani, ale to je tak vsechno. Na zobrazeni pouzivej SQL
>prikaz select, na vkladani SQL insert.

Nastesti po update BDE na verzi 5.10 tento zadrhel zmizel, blba prodleva jiz
nezdrzuje.
Takze uz je to hlavne _pohodlne na programovani_.
Pokud bys byl ochoten ztratit par slov na tema C/S byl bych vdecen, nebot
jsem s timto zacal pomerne nedavno a stale hledam nejvyhodnejsi postupy.
uvital bych napr. i treba nejake linky na zajimave info o C/S programovani.

Neumim si predstavit, ze bych vsechno,co moje aplikace dela skrz dbgrid a
ttable delal pres tquery a SQL.


Jirka Kral

Index, zaloha, instalace

[*] Radek KALA <Kala(zv)atlas(tec)cz> - 19.10.1999 10:53:03

From: vase_redakce(zv)email(tec)cz
Date sent: Mon, 18 Oct 1999 19:02:11 +0200
Subject: Index, zaloha, instalace
To: delphi-l(zv)fwd(tec)cz
Send reply to: delphi-l(zv)fwd(tec)cz

> Ahoj lidi,
>
> (jsem v Delphi zacatecnik, takze omluvme mozna muje primitivni dotazy)
> Pisu databazovou aplikaci v D3. Mam dve svazane tabulky (Table1 a Table2).
> Potreboval bych u te druhe (podrizene) nastavit razeni, ale nevim jak,
> protoze ta ma jiz nastaveni index na provazani tech tabulek, jde to nejak?
>

Tak to opravdu nejde. Existuje samozrejme reseni. Misto Table2 si
dej TQuery a tam si prikazem OrderBy muzes tridit jak chces.

> Pak sem se chtel zeptat, mam vytvorenou databazi a potreboval bych ji
> zalohovat a to tam kam bude uzivatel chtit (jen na HD). Existuje na to
> nejaka unita, nebo jak to udelat?

To zalezi na jakem serveru je ta databaze. Potrebuji vice informaci.

>
> A jeste do tretice, chtel bych ze sveho programku udelat instalacky
> (datab. aplikace), ale nikde sem zatim nezjistil, jak to udelat. Jde to
> vubec?
>

To samozrejme muzes na instalacnim CD Delphi je program zvany
Install Sheeld Express a ten je presne na to, ze aby tvoril
instalacky. Je to docela snadne.

> dik Filip
>
>
>
> --- CREATED BY ATC O..R..G..A..N..I..Z..E..R
> --- http://email(tec)cz <--- Get Your Free Email
>
>
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


Primarni klic was: autoincrement - Interbase

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 19.10.1999 11:06:14

Haj hou!

From: Zbysek Hlinka <zhlinka(zv)login(tec)cz>
> > > Pouzivat primarni klice generovane databazi uz jen drobne
> > > zhorsuje uz tak
> > > spatnou situaci.
>
> Tohle je asi poplatne IB, nad kterou Pavel dela. A jestli zde sdeluje
> jeste zkusenosti s BDE komponentami, pak se mu nedivim, tam je
> to opravdu kastratofa. Ale obecne s tim nelze souhlasit, opak
> povazuji za pravdu (v obecne rovine).

Kdepak :-) BDE nepouzivame uz hoodne dlouho :-) Nevim jak je autoinkrement
interne udelany v jinych serverech, ale u InterBase je to asi precejen mene
efektivni nez jinde, nicmene generator je zase pouzitelny i jinak.

Jinak jsem mel na mysli nasledujici problem:

a) Chybnou volbu PK. PK s vyznamem v ramci entity je praktika ktere je radno
se vyhnout (az na vzlastni a zduvodnene pripady). Kompozitni PK jsou pak
nejhorsi moznou alternativou. O tom to bylo predevsim. At uz ma PK vyznam v
ramci entity nebo ne, plati dalsi dva body.
b) naduzivani programovacich moznosti SQL serveru. Pokud server zna typ
autoinkrement, je to trochu o necem jinem, ale s pouhym autoinkrementem se
casto nevystaci a pak se delaji ruzne procedury atd. Pri vetsim poctu
tabulek uz to prinasi problemy s velikosti, vykonem atd.
c) nutnost dodatecne operace pro vyzvednuti noveho PK ze serveru.

Pokud je PK interni a je generovan klientem (coz neni nic proti nicemu :-),
zadny z vyse
uvedenych problemu nenastava.

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

Metoda Hi-Lo was:autoincrement - Interbase

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 19.10.1999 11:24:32

Haj hou!

From: Bohumil Mi�ka <bmicka(zv)writeme.com>
> >Je vicero zpusobu, jak generovat jedinecne hodnoty ruznych typu. Nejlepsi
je
> >metoda Hi-Lo.
>
> Kde sa da o tejto metode nieco dozvediet?

Uff, zrovna nemam zadne URL po ruce, ale urcite se najde neco u Amblera
(www.ambysoft.com).
V kostce jde asi o toto:

a) Klic je rozdelen na dve casti, "horni" a "dolni"
b) Klient ze sdilene casti (napr. tabulka s autoinkrementem nebo generator
ci jiny mechanizmus pro pridelovani cisel s inkrementem) vezme "horni" cast
pri zacatku prace (session) a resetuje sve "dolni" pocitadlo na 0.
c) Pri kazdem generovani klice klient inkrementuje "dolni" cast.
d) Pokud klient vycerpa v ramci session rozsah "dolni" casti, opakuje se vse
od bodu b)

Vhodnou velikosti "horni" a "dolni" casti klice lze zajistit slusnou
"zivotnost" klice (doba do vycerpani oboru hodnot). Jedinecnost zarucena :-)

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

Bezpecnost dat was: autoincrement - Interbase

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 19.10.1999 11:34:24

Haj hou!

Bezpecnostni politika pro zajisteni ochrany dat je slozita vec, a praxe
ukazuje, ze resit to prostrednictvim bezpecnostniho systemu SQL serveru neni
prilis efektivni (konci s velmi komplikovanym modelem dat a problemy s
"viditelnosti" tabulek, triggeru a procedur). Schudnejsi je zamezit
uzivatelum pristup do databaze jinymi prostredky, nez pres aplikace (program
se loguje pod svym heslem ktere nikdo nezna) a poresit vechny problemy zde.
Je to sice trochu vic programovani (je nutne vytvorit dobry,
konfigurovatelny system definice opravneni), ale v konecnem dusledku se to
vyplati. Vec nazoru, prirozene. Kazdopadne zeslozitovanim datoveho modelu a
struktury databaze se malokdy dosahne dobrych vysledku. Osobne se nam
nejvice osvedcilo vyuzivat moznosti SQL serveru PREDEVSIM pro zajisteni
INTEGRITY dat. Resit toto zcela, nebo co nejvice na serveru je velmi dobra
volba. Vse ostatni se da vetsinou realizovat s lepsimi vysledky datovou
vrstvou aplikace (application server), ktera mimo jine stira rozdily mezi
SQl servery pred klientskou casti aplikace.


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

------- Puvodni zprava -------
From: Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz>
Toto opatreni je prave proto, abys zadny select * from bubu
nemohl udelat. Pokud by prihlaseny uzivatel mel prava cist data
selectem, tak se nemusi omezovat Tebou napsanou aplikaci,
ale muze pouzit nejaky externi nastroj, (v MS SQL Serveru
napr. Query Analyzer), aby si mohl udelat jakekoliv selecty.
Muze byt velmi obtizne nadefinovat bezpecnostni pravidla,
aby byla zajistena duvernost informaci. Napriklad u organizace
pracujici s dealery, je pozadavek, aby se dealer dostal v centralnim
systemu na data, ktera s nim souvisi, ale nevidel data ostatnich dealeru.
prakticky existuji dve zakladni moznosti, jak toho dosahnout.
Udelat VIEW nebo PROCEDURE, v nichz bude takovy filtr implementovan.
Pohodlnejsi je zrejme pouzit VIEW, ale to je mene obecne.
Procedurou dokazes popsat libovolne kriterium a muzes je bezproblemove
menit. Kdezto pri pouziti VIEW se muze stat, ze organizace zmeni
nektera pravidla a Ty se dostanes do slepe ulicky, protoze to
nedokazes pomoci VIEW popsat a budes muset predelavat i klientska
okna.

Samozrejme vykonnost nekdy muze byt nizsi, ale to neni vyznamne
kriterium systemu. Vykonnost lze resit i mnoha jinymi zpusoby nez
oslabovanim bezpecnosti.

zaklady C/S

[*] marcant <marcant(zv)sct.sk> - 19.10.1999 12:03:50

Myslim ze to tu uz bolo viackrat spominane, ale este raz jedna mala poznamka
k pouzitiu
DBGrid a Table. Neviem sice s akym serverom pracujes, ale pri pouziti MS SQL
servera
sa DBGrid prepojena s Table sprava dost nestabilne. Konkretne za urcitych
okolnosti
zobrazuje zaznamy duplicitne (to znamena ze sa jeden zaznam zobrazi viackrat
za sebou)
a po vymazani jedneho takehoto zaznamu a pokuse o pracu s ostatnymi sa
objavi hlaska
'Record/Key deleted'. Stava sa to hlavne pri pouziti zlozitejsieho indexu na
triedenie dat
(napr. varchar(N) a pod.), pri pouziti triedenia podla int je to obvykle v
poriadku.

----- Original Message -----
From: Ji�� Kr�l jr. <admin(zv)printo.com>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, October 19, 1999 10:49 AM
Subject: zaklady C/S


> >V DBGridu nic zasadne needitovat. Je to sice pohodlne na
> >programovani, ale to je tak vsechno. Na zobrazeni pouzivej SQL
> >prikaz select, na vkladani SQL insert.
>
> Nastesti po update BDE na verzi 5.10 tento zadrhel zmizel, blba prodleva
jiz
> nezdrzuje.
> Takze uz je to hlavne _pohodlne na programovani_.
> Pokud bys byl ochoten ztratit par slov na tema C/S byl bych vdecen, nebot
> jsem s timto zacal pomerne nedavno a stale hledam nejvyhodnejsi postupy.
> uvital bych napr. i treba nejake linky na zajimave info o C/S
programovani.
>
> Neumim si predstavit, ze bych vsechno,co moje aplikace dela skrz dbgrid a
> ttable delal pres tquery a SQL.
>
> Jirka Kral
>
>
>

ComboBox

[*] Tomas Holy <thom(zv)comberg(tec)cz> - 19.10.1999 12:04:06



-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
Jan Najvarek
Sent: Tuesday, October 19, 1999 3:46 AM
To: delphi-l(zv)fwd(tec)cz
Subject: Re: ComboBox


Co takhle pouzit klasicky ComboBox, pokud jsou polozky v nem setridene,
funguje to presne jak je popsano .. pripojeni na databazi by se ale asi
muselo resit extra (naplneni comba). Take to asi neni vhodne pro velke
tabulky.


prave to je pro velke tabulky

TH

Honza

----- Original Message -----
From: Tomas Holy <thom(zv)comberg(tec)cz>
To: Delphi-L <delphi-l(zv)fwd(tec)cz>
Sent: Monday, October 18, 1999 4:20 AM
Subject: FW: ComboBox


> jeste jendou prosim,
>
> opravdu o neexistuje ?
>
> Ahoj vsichni,
>
> jednoduchy dotaz,
>
> existuje DBLookUpComboBox (uklada policko do tabulky, ktere je vybrano z
> tabulky / query)
> ktery by se alespon decentne blizil Accessovskemu ComboBoxu tzn. pokud
pisu
> tak mi vyhledava, a doplnuje
> napr mam seznam lidi Novackova, Novak, Novotny, Novy
> napisi "N", objevi se Novackova, pricemz N je vysviceno
> hned potom napisu "o" objevi se Novackova, pricemz No je vysviceno
> hned potom napisu "v" objevi se Novackova, pricemz Nov je vysviceno
> hned potom napisu "o" objevi se Novotny, pricemz Novo je vysviceno
> pak napisu treba q a pipne to, a je tam furt Novotny, pricemz Novo je
> vysviceno
>
> proste vyhledavani s doplnenim
>
> marne to schanim uz asi mesic
>
>
> Tom� Hol�
> Comberg s.r.o.
> B�lehradsk� 76 / 443
> +420-2-900 55 462
> GSM:+420-603 43 32 31
>
>

Primarni klic was: autoincrement - Interbase

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 19.10.1999 12:17:57

> -----P�vodn� zpr�va-----
> Od: Pavel Cisar [mailto:pcisar(zv)aktis(tec)cz]
> Odesl�no: 19. ��jna 1999 10:13
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re: Primarni klic was: autoincrement - Interbase
>
>
> Neni pravdou: Pouzivame retezce, PROTOZE SOUCASTI PK JE I
> DALSI INFORMACE
> (identifikace hnizda -instalace). To je nutne pro
> bezproblemovy prenos dat
> mezi instalacemi (pobockami). Zbytek retezce je nahodne cislo
> v rozsahu
> 0-3512479453921 kodovane v 37-ckove soustave :-) Zamerne jsme
> nepouzili
> Hi-Lo, protoze jsme potrebovali kratky klic a v rozsahu 8
> znaku retezce
> tohle vyjde s mensi pravdepodobnosti kolize.

Znamena to ale navic delat spravu hnizd, aby byla jednoznacna
i jejich jmena. Kde mas ulozeny nazvy hnizd? Co je jejich
primarnim klicem. Nejaka metahnizda?

Ale beze srandy - soucasti primary key musi byt identifikace hnizda
kvuli zabezpeceni jednoznacnosti. Primary key by vsak nemel byt chapan
jako udaj, znehoz lze zjistit jeste neco jineho nez identifikace
entity.

> Pokud ma byt soucasti PK i dalsi informace, pak je autoinkrement
> nedostacujici.

Soucasti primary key by nemely byt dalsi informace. Je to mozna
dvacet let stara poucka, ale poucku "namlatte do jednoho atributu hodne
udaju, abyste porusili co nejvice logickou strukturu dat" jsem neslysel
nikdy. Treba je to vize budoucnosti? :-)

Jura


ComboBox

[*] Pavel Hampl <phampl(zv)chmi(tec)cz> - 19.10.1999 10:19:51 -0000

Kdysi jsem delal stupidni slovnicek s postupnym vyhledavanim. Neni to sice ComboBox, ale mozna to na nej pujde pouzit taky. Pokud chcete zdroje, je to na adrese

projekt: http://www.chmi(tec)cz/meteo/sat/hampl/slovnik.zip
a exesoubor http://www.chmi(tec)cz/meteo/sat/hampl/slovnik.exe

Treba to nekomu k necemu bude
- - - - - - - - - - - - -
Pavel Hampl
Satelite group, Czech Hydrometeorological Inst
Na Sabatce 17, 14306 Praha 4, Czech Rep.
tel: +420-2-4403 3238
fax: +420-2-4403 2442
e-mail: phampl(zv)chmi(tec)cz

autoincrement - Interbase

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 19.10.1999 12:20:35



> -----P�vodn� zpr�va-----
> Od: Ing.Rostislav Podmanicky [mailto:rosta(zv)trias92(tec)cz]
> Odesl�no: 19. ��jna 1999 8:57
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re: autoincrement - Interbase
>
>
> Zdravim,
>
> zaujala me diskuze, ktera se rozproudila puvodne kolem autoincremtu
> a dostala se az k mapovani objektu do databaze. Vsiml, jsem si,
> ze nazory Pavla Cisare vyvolaly znacne rozpolcene nazory.
>
> Svedci to o tom, ze "20 let stare poucky maji skutecne velkou
> setrvacnost".

Je to mozna pravda, i kdyz skolu jsem dokoncil pred ctyrmi roky
a pred dvaceti lety jsem se o pocitace moc nezajimal.
Ale nevim, co tim chces rict.

Napriklad pred dvaceti lety mne maminka nabadala,
abych nesahal na tu zapnutou zehlicku. To jsem ji neveril a sahl si.
A ted po dvaceti letech bych to neudelal, i kdyz uz vim, ze po tak dlouhe
dobe je ta poucka zastarala.

Jura


autoincrement - Interbase

[*] Bohdan Pomsah�r <bpomsahar(zv)nocomment.sk> - 19.10.1999 12:26:40

Cafte vsetci,

Mam mensi problem a budem rad ked mi niekto pomoze s jeho riesenim.

Mam specialnu vlastnu komponentu, ktora sa pri starte delphi alebo aj samotneho programu kde je pouzita, automaticky pripaja na databazovy server (oracle) a precita zopar tabuliek ktore potrebuje (pouziva proceduru Loaded). Potialto vsecko funguje. Ja potrebuje aby nacitane data boli pristupne este v case navrhu programu v Object inspectore v inej komponente tiez vlastnej, podobne ako to funguje s TDatabase a TTable v polozke TableName. Pozeral som aj db.pas aj dbtable.pas pre konkretne komponenty ale nic som tam nenasiel.
Dik za akekolvek navrhy.

Bohdan


sql: update

[*] sw maurice <sw.maurice(zv)seznam(tec)cz> - 19.10.1999 12:27:42

ahoj
rad bych se dozvedel, zda je mozny sql dotaz:
priklad: mam tabulku se dvema polozkama:
zacatek; konec;
no a ja potrebuju, aby kdyz se zmeni hodnota v polozce "konec" updateovat zaznamy, ktere nasleduji a to tak, ze "zacatek" nasledujiciho bude vlastne "konec" aktualniho, s tim ze se podle "zacatku" take spravne zmeni "konec" a tak to pokracuje az po nejaky konec... doufam, ze je z toho popisu jasne, s cim si nevim rady :-)

dik moc
preju prijemny cas straveny s delphi
maurice

-- http://email.seznam(tec)cz
-- email zdarma na cely zivot


waitformultipleobject

[*] Ren� Otisk - 19.10.1999 12:50:44

Hi,

D3C/S, W95

muzete mi nekdo poradit s parametry %subj%? Spoustim createprocessem program a ten spousti postupne dalsi dva. A ja potrebuju pockat az skonci ten posledni.

Dekuji

Sroub


Primarni klic was: autoincrement - Interbase

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 19.10.1999 12:56:44

Haj hou!

From: Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz>
>Znamena to ale navic delat spravu hnizd, aby byla jednoznacna
>i jejich jmena. Kde mas ulozeny nazvy hnizd? Co je jejich
>primarnim klicem. Nejaka metahnizda?

Protoze hnizdo = instalace, jde o globalni parametr cele instalace (mame ho
ulozeny v repozitori instalace). V databazi nema moc co delat :-)

>Ale beze srandy - soucasti primary key musi byt identifikace hnizda
>kvuli zabezpeceni jednoznacnosti. Primary key by vsak nemel byt chapan
>jako udaj, znehoz lze zjistit jeste neco jineho nez identifikace
>entity.
>
>Soucasti primary key by nemely byt dalsi informace. Je to mozna
>dvacet let stara poucka, ale poucku "namlatte do jednoho atributu hodne
>udaju, abyste porusili co nejvice logickou strukturu dat" jsem neslysel
>nikdy. Treba je to vize budoucnosti? :-)

Drobna misinpretace, dovolim si tedy trochu upresnit. Soucasti PK muze byt
libovolny udaj nutny k odliseni instance entity. Vedle poradi nebo "nahodne"
hodnoty to muze byt i hnizdo, rok vzniku, id entity nebo cokoliv jineho,
pokud je to zapotrebi. Pokud toho zapotrebi neni, postaci treba i ten
autoinkrement. Prirozene, extrahovat informace z PK neni dobry napad.


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

Nbtstat

[*] Doller.Jozef(zv)zsr.sk - 19.10.1999 13:09:47

Vsetkych Vas pozdravujem!

Potreboval by som napisat program, co by chvilami labzoval po sieti a
zistoval informacie ako

IP adresa
Meno PC
Meno prihlaseneho usera
MAC adresa

podobne ako win prikaz nbtstat -A xxx.xxx.xxx.xxx
Ludia u nas totiz radi menia IP, aby mali pr�stup do internetu

Alebo viete o nie�om, co taketo robi, zapisuje do DB, a v pripade zmeny
narobi paniku ???

Vdaka za nakopnutie ...

Win95, D3 C/S


Combo box 97

[*] Marek Soukup <marek(zv)comberg(tec)cz> - 19.10.1999 13:25:55

Ahoj,
jo nasel jsem to na Delphi Super Page nebo na necem podobnym a jmenovalo se
to dbnav97.zip

Marek Soukup

> -----P�vodn� zpr�va-----
> Od: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]za u�ivatele
> Fryz, Zdenek
> Odesl�no: 19. ��jna 1999 7:57
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Combo box 97
>
>
> Ahoj
>
> nevi nekdo o free komponente TComboBox ve stylu Office 97 ?
> ( nejlepe se zdrojem )
> - pro D3
>
> Diky
>
> Zdenek Fryz
>
>
> __________________________________________________________________
> Tato komunikace je urcena vyhradne pro adresata a je duverna.
> This communication is intended solely for the addressee and is
> confidential.
>
>

Memo, DBMemo

[*] Ren� Otisk - 19.10.1999 13:28:39

Hi,

D3C/S, W95

Jeste bych jednou otravoval s tim memem. Potreboval bych nejak nastavit, aby po vlozeni textu z clipboardu se mi ten text zobrazil v tom memu normalne od prvniho radku. Na udalost ONChange jsem povesil zmenu velikosti mema podle poctu radku (u normalni editace to funguje), ale kdyz to vlozim pres schranku, tak ten text je posunut nahoru. A ja bych potreboval, aby ten text nebyl od treba 5 radku. Kdyz pouziji selstart, tak pri editaci mi to bude bude preskakovat ja zbesile. Co s tim?
Nevim jestli jsem to dobre popsal

Dekuji

Sroub

Nbtstat

[*] muher(zv)csas(tec)cz - 19.10.1999 13:32:45

Pro D3 a D4 http://www.pbe.com/SourceWorks/Winshoes/Documentation
Vyborne programky ...

Martin Uher

-----Original Message-----
From: Doller.Jozef(zv)zsr.sk [mailto:Doller.Jozef(zv)zsr.sk]
Sent: Tuesday, October 19, 1999 1:10 PM
To: delphi-l(zv)fwd(tec)cz
Subject: Nbtstat

Vsetkych Vas pozdravujem!

Potreboval by som napisat program, co by chvilami labzoval po sieti a
zistoval informacie ako

IP adresa
Meno PC
Meno prihlaseneho usera
MAC adresa

podobne ako win prikaz nbtstat -A xxx.xxx.xxx.xxx
Ludia u nas totiz radi menia IP, aby mali pr�stup do internetu

Alebo viete o nie�om, co taketo robi, zapisuje do DB, a v pripade zmeny
narobi paniku ???

Vdaka za nakopnutie ...

Win95, D3 C/S


TNMSMTP & cestina

[*] Martin Bab�k <M.Babik(zv)mus(tec)cz> - 19.10.1999 12:58:47

Jak mohu pres TNMSMTP poslat neco cesky, respektive jak nastavit kodovou stranku pro mail, nejak mi to tu cestinu mrsi. Diky.

D4/SP3 NT4/SP4
M&B


ADO,prikaz RS.Find ->ADO v Delphi 5

[*] Tom� Br�dle������i�^����? - 19.10.1999 14:15:31

Zdravim,

v Delphi 5 v ADODB.TCustomADODataSet.LocateRecord, ktera se vola z Locate je
to reseno nejak pres clone a Filter, zjisti se Bookmark a ten se priradi
puvodnimu RS.

Zda se mi, ze v Delphi 5 ty ADO komponenty jsou docela dobre provedeny.
Zajimaly by mne zkusenosti a nazory ostatnich.

Tomas
t.bradle(zv)pvtnet(tec)cz


-----P�vodn� zpr�va-----
Od: Matula M <asexrm(zv)telecom(tec)cz>
Komu: Delphi Forum <delphi-l(zv)fwd(tec)cz>
Datum: 12. ��jna 1999 11:29
P�edm�t: ADO,prikaz RS.Find


>Obracim se na znalce ADO.
>
>Pouzivam metodu FIND na RecordSetu (CursorLocation:=adUseClient ). Pokud
je
>ve vyhledavacim kriteriu jeden sloupec "ColumnName='abc' " vse pracuje,
ale
>kdyz chci hledat podle vice sloupcu pak vyvolam vyjimku chybny parametr
>"ColumnName='abc' AND ColumnName2='def' ".
>
>Vi nekdo jak hledat record na recordsetu podle vice kriterii ?
>
>
>Mirek M.
>
>

autoincrement - Interbase

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 19.10.1999 14:18:29

> >To v nekterych pripadech dokonce nesmi.
> >Proc by mel klient manipulovat s daty?
> >Od ceho mas databazovy server?
>
> Uf, zrejme jsi plne nepochopil o cem mluvim :-) Manipulace s
> daty je napr.
> INSERT (ulozeni dat), SELECT (vyber dat) atd. Tyhle prikazy
> nelze definovat
> bez jiste znalosti struktury ulozeni dat (zajiste, server
> muze tento model
> prevadet na jiny, jak uz jsem psal drive). To jen aby bylo
> uplne jasno :-) Z
> tve odpovedi usuzuji, ze me povazujes za naprosteho pitomce,
> takze zrejme

:-)
Ne, po Tve odpovedi jsem poznal, ze ten pitomec jsem ja,
kdyzs mi musel zacit vysvetlovat co je to manipulace s daty.
Tak vez, ze jsem Te pochopil vice nez dobre a kdyz chces "po lopate
jako lokomotive" - myslim si, ze klientsky program nemusi
a nekdy primo nesmi provadet provadet INSERT. A nekdy to dokonce
ani nejde nebo je to neefektivni.

Ty vyzadujes, aby kazdy uzivatel mel prava menit tabulku, do niz
jsou ukladana data, ktera on edituje. Napadla Te nekdy
napriklad otazka bezpecnosti? Jak zajistis, aby neupdatoval
vsechny jiz existujici zaznamy nejakym nesmyslem?

>
> Interface je SQL, strukturou jsou dostupne tabulky, views,
> procedury atd.
> Primarni klic je udaj jako kazdy jiny, navic slouzi k
> odkazovani na data a
> vyber pres PK je nejrychlejsi mozny zpusob jak dostat data ze serveru.
> Rozdeleni business logiky mezi SQL server a aplikaci je vec
> optimalizace na
> spravu a vykon. Vetsina dobrych systemu ma logiku balancovanou na obou
> stranach

:-) I tech spatnych, ono to asi jinak nejde

> (u aplikace je to samozrejme vse izolovano do modulu obchodni
> logiky, ktery pak funguje jako Application server pro klientskou cast
> aplikace. Jako bombonek pak tahle mezivrstva muze bezet na
> jinem pocitaci),

Copak je to za bombonek? Jeste nedavno byla rec o technologii
client/server a najednou sem pletes tohle.
Aplikacni server je aplikacni server a na jake masine Ti bezi nebo
na kolika masinach bezi, to neni zas tak podstatne. Pro priklad vezmeme MTS.
Asi vsichni vime, protoze uz o tom v konferenci byla rec, ze to je
prostredi,
ve kterem se spousti aplikacni COM objekty.
Ten COM objekt si v pohode pracuje a myslim si, ze je mu celkem jedno,
jestli pres ADO pristupuje k databazi na jinem nebo stejnem stroji.

A pripada mi, ze nemas uplne jasno v terminologii. Modul obchodni logiky
pak NEFUNGUJE jako Application server. To jsou naprosto neslucitelne pojmy
a jestli je mezi nimi nejaka korespondence, pak obracena - v aplikacnim
serveru
je mozne provozovat modul obchodni logiky. Ledaze bys rikal Application
server necemu jinemu nez pro co se toto oznaceni bezne pouziva.

Ale myslim, ze bys nemel moc uhybat od tematu, rec byla o technologii
client/server. Ty v ni propagujes, aby klientske aplikace provadely selecty,
inserty updaty atp. Stejnym dechem si prejes, aby aplikacni
logika byla nekde ve zvlastnim modulu. Tedy autor zastava nazor,
ktery sam vyvraci.

Ja mam podle Tebe zastarale nazory na rchitekturu client server,
ale pritom Ty pouzivas metody, jake staly u zrodu teto technologie
a byly vymyceny prichodem ulozenych procedur.

Dale mi pripada, ze prilis operujes vykonem a efektivitou, jako
by to bylo jedine kriterium informacniho systemu. Nevim, pro
koho aplikace pises, ale myslim, ze kazdy nebude mit stejny nazor jako Ty.
Nekdo bude preferovat provozni bezpecnost, jiny duvernost, ...
A nevim, jak bys obhajoval duvernost aplikace, kdyz by si v klientskem
exe, ktery tvuj zakaznik rozsiri mezi svoje dealery nebo klienty,
kazdy precetl, ze urok k uctu se pripisuje prikazem UPDATE konta ...> neb ulozeni vseho na jedne nebo druhe strane je malokdy
> efektivni na 100%.
> Nekdy je lepsi to a jindy ono. Dobre aplikace maji i klientskou cast
> business logiky ulozenu pomoci definic a na jednom miste, nikoliv
> rozstrilenou staticky do TQuery, DM a podobnych). Navic
> umisteni logiky do
> AppServeru usnadnuje portaci aplikace na jiny SQL server atd. atd.
>

Proc si to myslis? Znam aplikaci C/S, ktera umi pracovat s ruznymi
databazemi a taky znam par objektu bezicich v aplikacnim serveru,
ktere jsou pevne svazany s konkretni DB.
Obavam se, ze sice o modernich technologiich neco malo vis,
ale pouzivas tady demagogicka prohlaseni. Aplikacni server sam
od sebe nic neusnadni.

>
> >:-) Ty zastance modernich technologii, slysels nekdy neco o tenkem
> >klientovi? Myslis, ze by mela aplikace bezici v Internet Exploreru
> >generovat primarni klic a opakovane se snazit ho posilat na vzdaleny
> >server, aby mohla za chvili zkusit generovat novy, pokud to zhuci?
>
> :-) Ty odpurce modernich technologii, slysels nekdy neco o Aplikacnim
> serveru a vicevrstve technologii ? :-)))))
>

Praveze ja ano.

>
> >:-) Mnohem efektivnejsi je snazit se opakovane insertovat,
> >nasazovat radeji tisicovky novych verzi klientu nez jednu verzi
> >serveru, tak proc technologie C/S vubec vznikla, kdyz je
> >efektivnejsi databazovy stroj vyuzivat jako uloziste dat
> >pro aplikacni logiku klienta? Myslim, ze je to zbytecne
> >vynalozena namaha - konfigurovat spojeni na databazi, platit
> >zbytecne za drahe SQL servery, kdyz mi staci na vsechno nejaka
> >souborova databaze.
>
> :-))) Psssst ! Povim ti hrozne tajemstvi<g>: Pretezovat SQL
> server aplikacni
> logikou je neefektivni, stejne tak jako naduzivat "modernich"
> vlastnosti

Ja Ti taky reknu tajemstvi. Pokrok sel trochu kupredu
a nyni uz nemusime diky nizkemu vykonu hardwaru delat nekoncepcni
reseni. Nektere lidi sice soucasne problemy Y2K nepresvedcily,
ale myslim, ze by aplikace mely byt staveny VECNE spravnym zpusobem,
nemela by se aplikacni logika stavet "tak, aby to bylo co nejrychlejsi".

Jura


autoincrement - Interbase

[*] Ing.Rostislav Podmanicky <rosta(zv)trias92(tec)cz> - 19.10.1999 14:22:09

No, nevim, srovnavat poucku o rozpalene zehlicce s metodikou
pristupu na SQL servery je ponekud nestastne.... Zehlicka je
stale stejne rozpalena ted nebo pred 20 lety, databazove technologie
a mozne pristupy k datum ponekud pokrocily...

Klasickym prikladem trochu chybne poucky je napr. metodika pro pristup k
datum nastinena
v Delphi (a nejenom v Delphi):
1) Vezmi Formular nebo DataModul (je to vcelku jedno)
2) Poloz na nej TTable nebo TQuery (napojenou na TDatabase)
3) Na formular poloz DbGrid nebo jine vizualni Db prvky
4) Zapis prislusnou SQL sekvenci do vlastnosti SQL
5) Preloz a divej se na data (pripadne edituj)
6) Pokud je potreba formular donutit k dalsi cinosti, zacina
boj s udalostmi OnInsert, BeforeInsert, BeforePost atd.

Vysledkem je mimo jine:

1) Totalni provazanost uzivatelskeho rozhrani s databazi
(datovou vrstvou)
(DB prvky obsahuji napr. fyzicke nazvy jednotlivych polozek
tabulky)

2) Aplikace je slozena z otevirani a zavirani TQuery (TTable) a
pokusu
o smysluplne zobrazeni takto ziskanych tabulek.

3) V aplikaci neexistuji zadne bussines objekty (napr. Partner,
Doklad apod.)

4) Aplikacni logika je v podstate "zadratovana" v uzivatelskem
rozhrani

5) Pokus o pridani dalsi nove funkce muze vest az ke ztrate
funkcnosti
cele aplikace

atd...

Aplikaci je sice mozne takto napsat ale da to praci, ktera s rostouci
velikosti
prislusneho vytvoru neni adekvatni vyslednemu efektu.

Rosta Podmanicky


> Je to mozna pravda, i kdyz skolu jsem dokoncil pred ctyrmi roky
> a pred dvaceti lety jsem se o pocitace moc nezajimal.
> Ale nevim, co tim chces rict.
>
> Napriklad pred dvaceti lety mne maminka nabadala,
> abych nesahal na tu zapnutou zehlicku. To jsem ji neveril a sahl si.
> A ted po dvaceti letech bych to neudelal, i kdyz uz vim, ze po tak dlouhe
> dobe je ta poucka zastarala.
>
> Jura
>
>

pritomnost diskety v mechanike

[*] Miroslav BARICA <barica(zv)mail.matador.sk> - 19.10.1999 14:33:07

zdravim

jedna sa o trivialny problem. zistenie pritomnosti diskety v mechanike,
lenze by som tuto funkciu potreboval v module .dll a kedze som nic
takeho nerobil este ( no co, ucim sa no ;o)) ) poprosil by som o
nakopnutie.

majte zatim a dik predom ;o)

InterBase help.

[*] Peter Hrenovcik <hrenovcik(zv)ns.basl.sk> - 19.10.1999 14:35:38

Cavte.
Neviete niekto o nejakej dokumentacii k IB v slov. alebo cestine.

Diky.
peter

Bezpecnost dat was: autoincrement - Interbase

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 19.10.1999 14:55:59



> -----P�vodn� zpr�va-----
> Od: Pavel Cisar [mailto:pcisar(zv)aktis(tec)cz]
> Odesl�no: 19. ��jna 1999 11:34
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re:Bezpecnost dat was: autoincrement - Interbase
>
>
> Haj hou!
>
> Bezpecnostni politika pro zajisteni ochrany dat je slozita
> vec, a praxe
> ukazuje, ze resit to prostrednictvim bezpecnostniho systemu
> SQL serveru neni
> prilis efektivni (konci s velmi komplikovanym modelem dat a problemy s
> "viditelnosti" tabulek, triggeru a procedur). Schudnejsi je zamezit
> uzivatelum pristup do databaze jinymi prostredky, nez pres
> aplikace (program
> se loguje pod svym heslem ktere nikdo nezna) a poresit vechny
> problemy zde.

Tohle je trochu silny kafe, to si delas srandu?
Jak potom identifikuju uzivatele, ktery vsem klientum
zapsal do prijmeni "BLBECEK"? A jakym zpusobem budes mit vubec
ulozeno heslo toho klientskeho programu? A proc kazdy uzivatel,
ktery se dostane k programu ziska prava pracovat s databazi a
pripojit se k ni. A slysels nekdy neco o rolich? treba: Uzivatel A
bude provadet opravy v evidenci, uzivatel B bude zadavat udaje do
ucetnictvi. Jak tvuj klientsky program pozna, komu ma co dovolit?

> Je to sice trochu vic programovani (je nutne vytvorit dobry,
> konfigurovatelny system definice opravneni), ale v konecnem

Databaze maji implementovanu solidni podporu spravy
uzivatelu a rizeni opravneni. Nechapu, proc bych mel vyvijet neco,
co uspokojive funguje a je to levnejsi nez reseni, ktere bych
vyvinul ja, protoze uz to mame v te databazi, kdezto ja bych nad tim
stravil par dnu.

> dusledku se to
> vyplati.

> Vec nazoru, prirozene. Kazdopadne zeslozitovanim
> datoveho modelu a
> struktury databaze se malokdy dosahne dobrych vysledku. Osobne se nam
> nejvice osvedcilo vyuzivat moznosti SQL serveru PREDEVSIM pro
> zajisteni
> INTEGRITY dat. Resit toto zcela, nebo co nejvice na serveru
> je velmi dobra
> volba. Vse ostatni se da vetsinou realizovat s lepsimi
> vysledky datovou
> vrstvou aplikace (application server), ktera mimo jine stira
> rozdily mezi
> SQl servery pred klientskou casti aplikace.

Ach jo! datova vrstva aplikace neni application server.
application server nestira rozdily mezi SQL servery.
Jestlis neco slysel na nejakem skoleni, nedavals pozor a uniklo Ti, ze to
do toho aplikacniho serveru musis doprogramovat. Ale mozna se ti to slovo
libi a budes to doprogramovavat radeji sem nez do C/S. A musis s tim
pocitat i pri navrhu databazovych objektu (tabulky, procedury,...)
a to taky v obou dvou pripadech.

Jura


autoincrement - Interbase

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 19.10.1999 15:12:36

> -----P�vodn� zpr�va-----
> Od: Ing.Rostislav Podmanicky [mailto:rosta(zv)trias92(tec)cz]
> Odesl�no: 19. ��jna 1999 14:22
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re: autoincrement - Interbase
>
>
> No, nevim, srovnavat poucku o rozpalene zehlicce s metodikou
> pristupu na SQL servery je ponekud nestastne.... Zehlicka je
> stale stejne rozpalena ted nebo pred 20 lety, databazove technologie
> a mozne pristupy k datum ponekud pokrocily...

Pokrocila technologie neznamena, ze nic z predchoziho uz neplati.
To teda sorry, ale argument, ze neco je spatne, protoze je to jiz
stare, neni zadny argument. Na te zehlicce vidis, ze nektere vety maji
obecnejsi platnost, prestoze lze zaznamenat pokrok i ve vyvoji zehlicek.
A myslim si, ze Veta: kdyz "Ti padne zehlicka na zada, prerazi Ti pater"
v soucasnosti uz zastarala je, protoze vaha a rozmery zehlicek se zmenily.

> Klasickym prikladem trochu chybne poucky je napr. metodika
> pro pristup k
> datum nastinena
> v Delphi (a nejenom v Delphi):
....
> 4) Aplikacni logika je v podstate "zadratovana" v
> uzivatelskem
> rozhrani
>
> 5) Pokus o pridani dalsi nove funkce muze vest az ke ztrate
> funkcnosti
> cele aplikace
>
> atd...
>

Aha, ja jsem Te pochopil spatne.
Myslel jsem, ze mi oponujes, ale, jak ctu,
zastavas stejny nazor jako ja.
Tady uz totiz davno nejde o autoinkrement, ale o to,
jestli klientska cast aplikace ma nebo nema manipulovat s daty.
Prave toho zadratovani se chceme zbavit, a jednou z moznosti je
udelat vicevrstve reseni. Jinou moznosti je v C/S odlehcit klientovi
a pokud mozno velkou cast aplikacni logiky prenest do ulozenych
procedur. Je to modernejsi a efektivnejsi pouzivani technologie
Client/Server. Ja jsem pro snazit se volit jednu z techto dvou cest.
Kterou, to zalezi predevsim na pozadavcich zakaznika a na
prostredcich, ktere mas pro dane reseni k dispozici.

Jura


TQRChart

[*] Tomas Folprecht <tomas.folprecht(zv)iol(tec)cz> - 19.10.1999 15:13:28

Dobry den vsem,
Nemate, prosim, nekdo nejake zkusenosti s komponentou TQRChart?
Muj problem je ten, ze mam v grafu dve krivky a potrebuji je rozlisit
i na
cernobile tiskarne. Pokud ale zmenim styl cary napr. na psDash,
vytiskne se
stejne vsechno plnou carou.
Co s tim?
Mam Delphi5, QR3.0.5
Diky.

Tomas FOLPRECHT


P.S. Pouzivam QuickReport ve svem programu poprve
a jeste jsem snad nenarazil na QR komponentu, ktera by fungovala
podle dokumentace.

Index, zaloha, instalace

[*] Ing. Petr Svejda <lingvista(zv)lingvista(tec)cz> - 19.10.1999 15:27:53

> > (jsem v Delphi zacatecnik, takze omluvme mozna muje primitivni dotazy)
> > Pisu databazovou aplikaci v D3. Mam dve svazane tabulky (Table1 a
Table2).
> > Potreboval bych u te druhe (podrizene) nastavit razeni, ale nevim jak,
> > protoze ta ma jiz nastaveni index na provazani tech tabulek, jde to
nejak?
> >
>
> Tak to opravdu nejde. Existuje samozrejme reseni. Misto Table2 si
> dej TQuery a tam si prikazem OrderBy muzes tridit jak chces.

Ja myslim, ze to JDE.

Podrizenou tabulku jde tridit napr. podle polozky Nazev a zaroven ji mit
svazanou s master tabulkou polozkou IdFir. Podrizena tabulka bude mit
vytvoreny slozeny index z polozek IdFir + Nazev a na tentyz index bude i
tridena. Protoz vsak IdFir je pro dany master jednoznacny, vysledny efekt
je, jakoby byla tridena pouze podle polozky Nazev.

Pokud tento zevrubny popis neni jasny, popisu podrobneji.

Ing. Petr Svejda, software specialist


SQL & Interbase

[*] Radek KALA <Kala(zv)atlas(tec)cz> - 19.10.1999 15:38:52

Prosim Prosim,
jak resit Logicky Field na Interbase. Pokud se nepletu tak jsem ho
tam nenasel. Zrejme udelat nejakou Domain, ale jak presne ji
nastavit a jak s tim pak efektivne pracovat v dotazech. Nebo to
nejde jinak nez select * from ... where prom = "T", nejde na to
napsat nejaka stored procedura.

Dekuji za Vase draze ziskane zkusenosti.

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


Datum od roku 0000

[*] Zbynek Ceska <zbyces(zv)physics.muni(tec)cz> - 19.10.1999 15:43:31



On Mon, 18 Oct 1999, Polak Jiri wrote:
> Narozeni Jezise byla mozna vyznamna udalost, ale ne natolik,
> aby okamzite vznikl kalendar s pocatkem nebo pevnym bodem v tomto roce.
> Ten pocatek kalendare se urcil az zpetne. A dokonce s chybou,
> takze ted je znamo, ze Jezis se narodil tusim 5 az 7 let pred Kristem.

S tim samozrejme souhlasim, ale o to nejde.

> S tim rokem 0 je to pravda. Logicky rok nula byt nemohl, protoze rok
> narozeni
> Jezise je 1 a predchozi rok je prvni rok pred Kristem.

O tohle jde a to jsem mel na mysli.

> Jenomze stejne tak nebyl ani rok 5, 10, 20, protoze se pouzival jiny
> kalendar.

Radeji na to zapomenme, nebot by v tom programu melo byt i datum, kdy se
kalendar prevedl a to bych na miste toho programatora nechtel delat.

Mejte se moc prima vsichni.
Zbynek.

*************************************************************************
** Mgr. (MSc.) Zbynek Ceska ** http://www.sci.muni(tec)cz/~zbyces ******
** Plasma Physics ** High Technology Physics ** Microwave Physics **
*************************************************************************

autoincrement - Interbase

[*] OLEJNIK Andrej <olej(zv)nt2.asset.sk> - 19.10.1999 15:45:40

Takze ako sa to ma riesit?
Ako je to po novom?

olej
> -----Original Message-----
> From: Ing.Rostislav Podmanicky
> Sent: 19. okt�ber 1999 14:22
> To: delphi-l(zv)fwd(tec)cz
> Subject: Re: autoincrement - Interbase
>
> No, nevim, srovnavat poucku o rozpalene zehlicce s metodikou
> pristupu na SQL servery je ponekud nestastne.... Zehlicka je
> stale stejne rozpalena ted nebo pred 20 lety, databazove technologie
> a mozne pristupy k datum ponekud pokrocily...
>
> Klasickym prikladem trochu chybne poucky je napr. metodika pro pristup k
> datum nastinena
> v Delphi (a nejenom v Delphi):
> 1) Vezmi Formular nebo DataModul (je to vcelku jedno)
> 2) Poloz na nej TTable nebo TQuery (napojenou na TDatabase)
> 3) Na formular poloz DbGrid nebo jine vizualni Db prvky
> 4) Zapis prislusnou SQL sekvenci do vlastnosti SQL
> 5) Preloz a divej se na data (pripadne edituj)
> 6) Pokud je potreba formular donutit k dalsi cinosti, zacina
> boj s udalostmi OnInsert, BeforeInsert, BeforePost atd.
>
> Vysledkem je mimo jine:
>
> 1) Totalni provazanost uzivatelskeho rozhrani s databazi
> (datovou vrstvou)
> (DB prvky obsahuji napr. fyzicke nazvy jednotlivych
> polozek
> tabulky)
>
> 2) Aplikace je slozena z otevirani a zavirani TQuery (TTable)
> a
> pokusu
> o smysluplne zobrazeni takto ziskanych tabulek.
>
> 3) V aplikaci neexistuji zadne bussines objekty (napr. Partner,
> Doklad apod.)
>
> 4) Aplikacni logika je v podstate "zadratovana" v uzivatelskem
> rozhrani
>
> 5) Pokus o pridani dalsi nove funkce muze vest az ke ztrate
> funkcnosti
> cele aplikace
>
> atd...
>
> Aplikaci je sice mozne takto napsat ale da to praci, ktera s rostouci
> velikosti
> prislusneho vytvoru neni adekvatni vyslednemu efektu.
>
> Rosta Podmanicky
>
>
> > Je to mozna pravda, i kdyz skolu jsem dokoncil pred ctyrmi roky
> > a pred dvaceti lety jsem se o pocitace moc nezajimal.
> > Ale nevim, co tim chces rict.
> >
> > Napriklad pred dvaceti lety mne maminka nabadala,
> > abych nesahal na tu zapnutou zehlicku. To jsem ji neveril a sahl si.
> > A ted po dvaceti letech bych to neudelal, i kdyz uz vim, ze po tak
> dlouhe
> > dobe je ta poucka zastarala.
> >
> > Jura
> >
> >
>

SQL & Interbase

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 19.10.1999 16:02:56

Haj hou!

From: Radek KALA <Kala(zv)atlas(tec)cz>
> jak resit Logicky Field na Interbase. Pokud se nepletu tak jsem ho
> tam nenasel. Zrejme udelat nejakou Domain, ale jak presne ji
> nastavit a jak s tim pak efektivne pracovat v dotazech. Nebo to
> nejde jinak nez select * from ... where prom = "T", nejde na to
> napsat nejaka stored procedura.

Vytvor si DOMAIN napriklad takto

CREATE DOMAIN Boolean AS Char(1) DEFAULT 'N' NOT NULL;

True je napr. hodnota "A", ale prevod mezi boolean polozkami a fieldem si
musis zajistit sam v programu.

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

Memo, DBMemo

[*] Pavel Polak <pavelp(zv)bnsoft(tec)cz> - 19.10.1999 15:05:45

Zdravim!

Mam nasledujici prosbu na vas, pouzivam komponentu TTable ve spojeni s TDBGrid nad dbf tabulkou a chtel bych v TDBGridu zobrazit cislo radku, poradite mi jak na to?

Dik moc Pavel Polak

waitformultipleobject

[*] petr.motlicek(zv)bcbrno(tec)cz - 19.10.1999 17:08:10

<bold><color><param>0100,0100,0100</param><FontFamily><param>Times New Rom=
an</param>From: Ren=82 Otisk <<otisk(zv)misel(tec)cz>

To: <<delphi-l(zv)fwd(tec)cz>

Subject: waitformultipleobject

Date sent: Tue, 19 Oct 1999 12:50:44 +0200

Organization: MIS-ELEKTROTECHNIKA, s.r.o.

Send reply to: delphi-l(zv)fwd(tec)cz


</bold><color><param>7F00,0000,0000</param><FontFamily><param>Arial</param=
>> D3C/S, W95

>

> muzete mi nekdo poradit s parametry %subj%? Spoustim createprocessem pro=
gram a ten spousti postupne dalsi dva. A ja potrebuju pockat az skonci ten=
posledni.</color>Ahoj,


tak toto je procedura na spusteni a cekani az program skonci, je to z
UDDF(<color><param>0100,0100,0100</param><FontFamily><param>Times New Roma=
n</param><bigger>{HYPERLINK "indexnf.htm"}<underline><color><param>0000,00=
00,FF00</param>http://www.gnomehome.demon.nl/uddf/indexnf.htm</underline><=
/color><FontFamily><param>Arial</param><smaller>)<bold><color><param>0100,0100,0100</param>How do I execute a program and h=
ave my code wait until it is finished?

<italic></bold>From: Noel Rice <<nrice(zv)ix.netcom.com></italic><FontFamily>=
<param>Times New Roman</param><bigger></color><FontFamily><param>Arial</param><smaller>function WinExecAndWait32=
(FileName:String; Visibility : integer):integer;

var

zAppName:array[0..512] of char;

zCurDir:array[0..255] of char;

WorkDir:String;

StartupInfo:TStartupInfo;

ProcessInfo:TProcessInformation;

begin

StrPCopy(zAppName,FileName);

GetDir(0,WorkDir);

StrPCopy(zCurDir,WorkDir);

FillChar(StartupInfo,Sizeof(StartupInfo),#0);

StartupInfo.cb :=3D Sizeof(StartupInfo); StartupInfo.dwFlags :=3D STARTF_USESHOWWINDOW;

StartupInfo.wShowWindow :=3D Visibility;

if not CreateProcess(nil,

zAppName, { pointer to command line string }

nil, { pointer to process security attribute=
s }

nil, { pointer to thread security attributes=
}

false, { handle inheritance flag }

CREATE_NEW_CONSOLE or { creation flags }

NORMAL_PRIORITY_CLASS,

nil, { pointer to new environment block }

nil, { pointer to current directory name }

StartupInfo, { pointer to STARTUPINFO }

ProcessInfo) then Result :=3D -1 { pointer to PROCESS_INF } else begin

WaitforSingleObject(ProcessInfo.hProcess,INFINITE);

GetExitCodeProcess(ProcessInfo.hProcess,Result);

end;

end;

Rodne cislo & Y2K

[*] Zdenek Drvota <drvota(zv)zds(tec)cz> - 19.10.1999 17:33:05

Patrne ziju v omylu, ale s tim pricitanim
u minuleho stoleti jsem si nevymyslel,
jenom uz nevim, kde jsem to cetl :-(
Bohuzel nemame tak stare zamestnance, tak se
jich nemuzu zeptat, co maji v RC :-))
Co se tyka SIS, to je Statni dezInformacni System?
Nevim, je-li to ta spravna autorita ;-)
Co takhle se zeptat na nejakem duveryhodnem a
zodpovednem miste?

### Daniel Rott napsal dne 19 Oct 99, v 10:48 :
> Nevim z ceho vychazis. Ja beru za smerodatny SIS.
> http://www.usiscr(tec)cz/
> Zde si muzes najit definici rodneho cisla, a zadne
> pricitani 32 zde NENI specifikovano.
> http://www.usiscr(tec)cz/cz/standardy/datprv27.html
>
> Daniel
>
> ----- P�vodn� zpr�va -----
> Od: Zdenek Drvota <drvota(zv)zds(tec)cz>
> Komu: <delphi-l(zv)fwd(tec)cz>
> Odesl�no: 18. ��jna 1999 17:21
> P�edm�t: RE: Rodne cislo & Y2K
>
>
> > Pripada mi, ze uz se tady mlati prazdna slama :-)
> > Problem se uz resil pro 19. stoleti a jestli se nemylim,
> > tak se u narozenych pred r.1900 pricte k cislu dne
> > konstanta 32. U narozenych po 2000 se logicky
> > pricte 64.
> >
> > ### Polak Jiri napsal dne 18 Oct 99, v 7:25 :
> > > > >ako to vlastne bude vyzarat s rodnymi cislami po roku 2000.
> > > > >Bude to 001026/9654 alebo 20001026/9654 ?
> > > >
> > > > Az do 31.prosince 2053 vcetne jsou rodna cisla v pohode , pak
> > > > se musi neco
> > > > vymyslet...
> > >
> > > Navrhuji generovat novorozencum GUID a na rodna cisla
> > > se vykaslat :-)
> > >
> > > Anebo radeji se vykaslat na jednoznacnou
> > > identifikaci lidi - vubec se mi ta myslenka nelibi.
> > > Nebo se vam nekomu libi, ze jste takto lepe kontrolovatelni,
> > > lepe zaraditelni a oznaceni cislem jako nejaky seriovy vyrobek?
> > >
> > > Jura
> > >
> >
> >
> > -----------------------------------------------
> > 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
> > Internet proti monopolu http://www.bojkot(tec)cz
> > Pripojte se k hledani mimozemskych civilizaci:
> > SETI(zv)Home http://setiathome.ssl.berkeley.edu
> >
> >
>
>
>


-----------------------------------------------
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
Internet proti monopolu http://www.bojkot(tec)cz
Pripojte se k hledani mimozemskych civilizaci:
SETI(zv)Home http://setiathome.ssl.berkeley.edu


autoincrement - Interbase

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 19.10.1999 17:47:25

eL wrote:

> > No to teda navim proc by autoincrementu nemel byt primarnim klicem.
> > Pokud ho generuje sama databaze, tak je jedinecny myslim dostatecne
> > a na rozdil od nahodne generovaneho retezce znaku je daleko mensi a
> > tudiz podstatne rychlejsi. Krome toho zajistuje trideni podle poradi
> > vzniku zaznamu. Nahodne generovany klic krome jedincnosti
> > nezajistuje uz vubec nic jineho
>
> Mam dotaz. Jak se v pripade autoinkrementu da elegantne vyporadat s
> pripadnym kopirovanim tabulek.

Budto ho z kopirovani vynechas a nechas na cilove tabulce, aby si
zalozila svuj, nebo v cilove tabulce potlacis jeho generovani a
nacpes mu ten ze zdrojove tabulky (pokud to ovsem dana
databaze umi).

Je ovsem pravda, ze v urcitych situacich je s autoinkrementem
jakozto klicem problem, a to pokud na nej navazuji referencni
integritu - a to pri replikacich. V tomto pripade je skutecne
vhodnejsi najit jiny system klicu.


S pozdravem

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


pritomnost diskety v mechanike

[*] Roman Sev��k����ǯr(�j�k�o� - 19.10.1999 18:00:40

Zkus tohle:

function DiskInDrive(const Drive: char): Boolean;
var
DrvNum: byte;
EMode: Word;
begin
result := false;
DrvNum := ord(Drive);
if DrvNum >= ord('a') then dec(DrvNum,$20);
EMode := SetErrorMode(SEM_FAILCRITICALERRORS);
try
if DiskSize(DrvNum-$40) <> -1 then result := true
else messagebeep(0);
finally
SetErrorMode(EMode);
end;
end;

----- Original Message -----
From: Miroslav BARICA <barica(zv)mail.matador.sk>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, October 19, 1999 2:33 PM
Subject: pritomnost diskety v mechanike


> zdravim
>
> jedna sa o trivialny problem. zistenie pritomnosti diskety v mechanike,
> lenze by som tuto funkciu potreboval v module .dll a kedze som nic
> takeho nerobil este ( no co, ucim sa no ;o)) ) poprosil by som o
> nakopnutie.
>
> majte zatim a dik predom ;o)
>
>

Zjisteni konfigurace DNS

[*] Gebauer Lukas <gebylist(zv)mlp(tec)cz> - 19.10.1999 18:09:55

Zdravim.

napada nekoho z vas jak v systemech WIN32 (tedy W95, NT,...)
zjistit IP adresy DNS serveru, ktere ten pocitac prave pouziva?
(At uz byly nekde natvrdo zapsany ci byly dynamicky prideleny
behem DHC ci telefonickeho pripojeni...)

Bojim se, ze na to bude nejaka funkce v nejakem DLL (IPCFGDLL,
ci neco takoveho...), jenze nikde to nemuzu najit.

Ma nekdo nejaky napad? Dekuji.


Louci se Lukas Gebauer.

E-mail: gebauerl(zv)mlp(tec)cz


autoincrement - Interbase

[*] Ing.Rostislav Podmanicky <rosta(zv)trias92(tec)cz> - 19.10.1999 18:26:48

----- P�vodn� zpr�va -----
Od: OLEJNIK Andrej <olej(zv)nt2.asset.sk>
Komu: <delphi-l(zv)fwd(tec)cz>
Odesl�no: 19. ��jna 1999 15:45
P�edm�t: RE: autoincrement - Interbase


> Takze ako sa to ma riesit?
> Ako je to po novom?

Cela problematika je pomerne obsahla, ale v zakladnich bodech se jedna
asi o toto:

1) Vlastni aplikace je rozdelena na pet zakladnich casti
(muze jich byt i vice ale pro zakladni predstavu toto postacuje)

- vrstvu uzivatelskeho interface (formulare, dialogy...)
- vrstvu obchodni logiky (bussines objekty)
- vrstvu datovou (objekty zajistujici mapovani bussines objektu a
jejich ulozeni do DB)
- vrstvu systemovych sluzeb (tu mohou vyuzivat vsechny vrstvy)
- vlastni databazi (napr. SQL server)

2) Zakladem jsou bussines objekty - tzn. objekty, ktere reprezentuji
to co ma system zpracovat. Napr. evidence partneru bude urcite
obsahovat bussines objekt Partner, Adresa, Bankovni spojeni.
Bussines objekt je slozen z attributu (Jmeno, Prijmeni...) nebo
z dalsich bussines objektu atd... Muze se tedy jednat o pomerne
slozitou konstrukci.

Tyto objekty nevedi vubec nic o tom, jak jsou ulozeny v databazi
(zda je Partner v jedne tabulce nebo vice apod.) a jakym zpusobem
se stanou perzistentni - tzn. kam a jak se ulozi jejich atributy po
ukonceni aplikace. Bussines objekty vlastne existuji docasne v
pameti
pocitace a plni se hodnotami, ktere jsou ulozeny napr. v SQL
databazi.

3) O ulozeni se stara datova vrstva, ktera vi, jak namapovat atributy
objektu
na sloupce (polozky) v databazovych tabulkach. Pokud by byly jiz
v trochu pouzitelnem stavu ciste objektove databaze, tak datova
vrstva
vlastne odpadla a objekt se ulozi do databaze "tak jak je".
Vlastni mapovani se ridi pravidly, jejichz popis je k sehnani v
literature
nebo na Internetu.

Datova vrstva patri mezi nejslozitejsi cast celeho systemu, a lze ji
vytvorit
ruznymi zpusoby.

Vysledkem je dusledne oddeleni uzivatelskeho rozhrani a obchodni logiky od
databaze.
Navic je mozne celkem jednoduse zmenit uzivatelske rozhrani bez naruseni
funkcnosti celeho systemu. Totez plati i o datove vrstve a pripadne zmene
SQL serveru (napr. z MS SQL na Interbase nebo Oracle nebo dokonce i na
Paradox).
Staci totiz nahradit datovou vrstvu, coz aplikace vlastne "nepozna".

Zmena platformy InterBase/Oracle apod. neni nikdy bezbolestna ale tako
technika
ji silne zjednodusuje.

Z vyse uvedeneho vyplyva, ze je nemozne pouzivat vizualni Data Controls
(DbGrid, DbComboBox, DbEdit ......). Proto je nutne pracovat se standardnimi
prvky, ktere nemaji zadnou vazbu na DB.

Na prvni pohled to zni ponekud podivne ale faktem je, ze vyhody, ktere
to prinese jsou natolik velke, ze trocha programovani navic se vyplati.

O cele veci by se dalo napsat jeste mnoho. Doufam, ze uvedenych
nekolit vet neni zcela vytrzeno z kontextu. Vrele doporucuji
napr. knihu "Building Scalable Database Applications" od Petera M.
Heinckiense
nebo knizky od Scota Amblera. Navic mapovanim objektu do databazi
a vyvojem perzistetni vrstvy se zabyvaji i na MFF UK, Tam je take k mani
rada
"white papers" k teto problematice. Na Amazonu jsou k nalezeni desitky
publikaci
k teto problematice.


S pozdravem
Rosta Podmanicky

BDE a Install Shiled

[*] Michal Hlav�� - 19.10.1999 18:55:49

Zdravim,
ako dostanem do instalaciek BDE, aby sa mi nainstalovalo s programom, ktory
ho vyuziva?

Dik
Michal Hlavac
Spolocnost priatelov deti z detskych domovov
Usmev ako dar

e-mail: 7hlavac(zv)nw.fmph.uniba.sk
web: www.usmev.sk


nacitane data boli pristupne ako Table pocas navth

[*] TUNGLI Jan <tungli(zv)pvt.sk> - 19.10.1999 19:12:35

Pomoc je jednoduche.
Komponent sa moze odkazovat na formular.
Staci definovat property napr.


property m ViewData:boolean read oView write SetView;
...
uses
MyViewForm;

procedure Component.SetView(pView:boolean);
begin
if pView then begin
oView:=true;
MyViewForm.Execute;
end;
oView:=false;
end;

MyViewForm vytvoris standardne ako ShowModal.

TUNGLI J�nos
EMail: jan.tungli(zv)seznam(tec)cz
My Home Page: http://free.netlap.hu/4321/
or: http://freeweb.coco(tec)cz/tungli/

-----P�vodn� zpr�va-----
Od: Bohdan Pomsah�r <bpomsahar(zv)nocomment.sk>
Komu: Delphi Conferencia <delphi-l(zv)fwd(tec)cz>
Datum: 19. okt�ber 1999 13:07


Cafte vsetci,

Mam mensi problem a budem rad ked mi niekto pomoze s jeho riesenim.

Mam specialnu vlastnu komponentu, ktora sa pri starte delphi alebo aj samotneho programu kde je pouzita, automaticky pripaja na databazovy server (oracle) a precita zopar tabuliek ktore potrebuje (pouziva proceduru Loaded). Potialto vsecko funguje. Ja potrebuje aby nacitane data boli pristupne este v case navrhu programu v Object inspectore v inej komponente tiez vlastnej, podobne ako to funguje s TDatabase a TTable v polozke TableName. Pozeral som aj db.pas aj dbtable.pas pre konkretne komponenty ale nic som tam nenasiel.



Dik za akekolvek navrhy.

Bohdan


pritomnost diskety v mechanike

[*] TUNGLI Jan <tungli(zv)pvt.sk> - 19.10.1999 19:15:00

Na stranke http://freeweb.coco(tec)cz/tungli/
je unit (free), kde je aj tato funkcia

TUNGLI J�nos
EMail: jan.tungli(zv)seznam(tec)cz
My Home Page: http://free.netlap.hu/4321/
or: http://freeweb.coco(tec)cz/tungli/

-----P�vodn� zpr�va-----
Od: Miroslav BARICA <barica(zv)mail.matador.sk>
Komu: delphi-l(zv)fwd(tec)cz <delphi-l(zv)fwd(tec)cz>
Datum: 19. okt�ber 1999 15:10
P�edm�t: pritomnost diskety v mechanike


>zdravim
>
>jedna sa o trivialny problem. zistenie pritomnosti diskety v mechanike,
>lenze by som tuto funkciu potreboval v module .dll a kedze som nic
>takeho nerobil este ( no co, ucim sa no ;o)) ) poprosil by som o
>nakopnutie.
>
>majte zatim a dik predom ;o)
>
>

SQL & Interbase

[*] TUNGLI Jan <tungli(zv)pvt.sk> - 19.10.1999 19:22:03

Pouzivaj View - v databazy
Create View

TUNGLI J�nos
EMail: jan.tungli(zv)seznam(tec)cz
My Home Page: http://free.netlap.hu/4321/
or: http://freeweb.coco(tec)cz/tungli/

-----P�vodn� zpr�va-----
Od: Radek KALA <Kala(zv)atlas(tec)cz>
Komu: delphi-l(zv)fwd(tec)cz <delphi-l(zv)fwd(tec)cz>
Datum: 19. okt�ber 1999 16:09
P�edm�t: SQL & Interbase


Prosim Prosim,
jak resit Logicky Field na Interbase. Pokud se nepletu tak jsem ho
tam nenasel. Zrejme udelat nejakou Domain, ale jak presne ji
nastavit a jak s tim pak efektivne pracovat v dotazech. Nebo to
nejde jinak nez select * from ... where prom = "T", nejde na to
napsat nejaka stored procedura.

Dekuji za Vase draze ziskane zkusenosti.

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

Metoda Hi-Lo was:autoincrement - Interbase

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 19.10.1999 19:39:00

Pavel Cisar wrote:

> > >metoda Hi-Lo.
> >
> > Kde sa da o tejto metode nieco dozvediet?
>
> Uff, zrovna nemam zadne URL po ruce, ale urcite se najde neco u
> Amblera (www.ambysoft.com). V kostce jde asi o toto:
>
> a) Klic je rozdelen na dve casti, "horni" a "dolni"
> b) Klient ze sdilene casti (napr. tabulka s autoinkrementem nebo
> generator ci jiny mechanizmus pro pridelovani cisel s inkrementem)
> vezme "horni" cast pri zacatku prace (session) a resetuje sve "dolni"
> pocitadlo na 0. c) Pri kazdem generovani klice klient inkrementuje
> "dolni" cast. d) Pokud klient vycerpa v ramci session rozsah "dolni"
> casti, opakuje se vse od bodu b)

Jak se tohle resi v pripade replikovane databaze?


S pozdravem

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


zaklady C/S

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 19.10.1999 19:39:00

Ji�� Kr�l jr. wrote:

> >V DBGridu nic zasadne needitovat. Je to sice pohodlne na
> >programovani, ale to je tak vsechno. Na zobrazeni pouzivej SQL
> >prikaz select, na vkladani SQL insert.
>
> Nastesti po update BDE na verzi 5.10 tento zadrhel zmizel, blba
> prodleva jiz nezdrzuje. Takze uz je to hlavne _pohodlne na
> programovani_. Pokud bys byl ochoten ztratit par slov na tema C/S byl
> bych vdecen, nebot jsem s timto zacal pomerne nedavno a stale hledam
> nejvyhodnejsi postupy. uvital bych napr. i treba nejake linky na
> zajimave info o C/S programovani.
>
> Neumim si predstavit, ze bych vsechno,co moje aplikace dela skrz
> dbgrid a ttable delal pres tquery a SQL.

Editovani v DBGrid nad SQL databazi je hezke a efektni pri
predvadeckach nebo pro nejaky program ktery pisu pro sebe, ale
pro zakazniky je to naprosto nevhodne. Obecne je nebezpecne
nechat uzivatele editovat primo nad datasetem (tedy
Table.Edit/Insert ... Table.Post). Udelal jsem tuhle chybu ve starsi
verzi programu a stezovali si i zakaznici. Grid tedy pouzivam
vyhradne pro zobrazeni dat, editaci/vkladani provadim mimo ve
zvlastnich (ve smyslu samostatnych, nenavazanych na DataSet)
komponentach a vkladani dat do databaze pak vyhradne pres
ulozene procedury nebo pripadne pomoci SQL prikazu. Je to sice
pracnejsi, ale vyplati se to.


S pozdravem

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


autoincrement - Interbase

[*] Ing.Rostislav Podmanicky <rosta(zv)trias92(tec)cz> - 19.10.1999 19:53:23


> Pokrocila technologie neznamena, ze nic z predchoziho uz neplati.
> To teda sorry, ale argument, ze neco je spatne, protoze je to jiz
> stare, neni zadny argument. Na te zehlicce vidis, ze nektere vety maji
> obecnejsi platnost, prestoze lze zaznamenat pokrok i ve vyvoji zehlicek.
> A myslim si, ze Veta: kdyz "Ti padne zehlicka na zada, prerazi Ti pater"
> v soucasnosti uz zastarala je, protoze vaha a rozmery zehlicek se zmenily.

Hledas zbytecne slozite argumenty - nikdo netvrdi, ze vsechno
je spatne...Nechme zehlicku zehlickou nebo skoncime jako
nasi "odbornici" v parlamentu........

> Aha, ja jsem Te pochopil spatne.
> Myslel jsem, ze mi oponujes, ale, jak ctu,
> zastavas stejny nazor jako ja.
> Tady uz totiz davno nejde o autoinkrement, ale o to,
> jestli klientska cast aplikace ma nebo nema manipulovat s daty.
> Prave toho zadratovani se chceme zbavit, a jednou z moznosti je
> udelat vicevrstve reseni. Jinou moznosti je v C/S odlehcit klientovi
> a pokud mozno velkou cast aplikacni logiky prenest do ulozenych
> procedur. Je to modernejsi a efektivnejsi pouzivani technologie
> Client/Server. Ja jsem pro snazit se volit jednu z techto dvou cest.
> Kterou, to zalezi predevsim na pozadavcich zakaznika a na
> prostredcich, ktere mas pro dane reseni k dispozici.
>
> Jura

Spravne - ted uz tady zdaleka nejde o autoinkrement. Souhlasim i
s tim, ze rozdeleni aplikace do vice vrstev je jedna z cest a
zaprogramovani
aplikacni logiky do ulozenych procedur dalsi varianta reseni.

V zadnem pripade vsak nesouhlasim s tim, ze zadratovani aplikacni logiky
do vlozenych procedur je modernejsi a efektivnejsi reseni - je proste
jenom jine.
Rada duvodu vyplynula uz z prispevku Pavla Cisare.

Dalsim muze byt to,ze vlozene procedury se pisi v jazyce SQL, pripadne
pomoci ruznych prikazu a udelatek (UDF a podobne), ktere se vice ci mene
lisi od standardu. Prenos takove aplikace na jinou platformu je pak zcela
nemozny. Uznavam, ze to nemusi byt padny duvod, ale u rady komercnich
aplikaci muze mit znacny vliv na uspech produktu. Pokud system beha
napr. pod InterBase a zaroven pod MS SQL to muze byt jista vyhoda.
Zajistit takovou prenositelnost beznymi metodami je u rozsahlejsi aplikace
skoro nemozne. (snad krome evidence stravenek - jak nekdo uvadel na
setkani v Laznich Belohrad).

Takova aplikace napechovana vlozenymi procedurami je podle me dobra
na to aby se jednou udelala a pak uz se do ni neprovadely zadne zmeny
nebo upravy, protoze jinak pri tom musi byt docela veselo....
Pripoustim, ze i to muze byt nekdy prinosem (neprovadeni zadnych zmen ci
uprav).

Rosta Podmanicky


Plocha a okno

[*] Jirka Virt <virt(zv)volny(tec)cz> - 19.10.1999 20:05:17

Ahoj,
nemate nekdo pekny priklad, jak zjisti rozmer plochy, do ktere mohu umistit
okno.
Jedna se mi o to: jestlize umistim okno do horniho rohu(souradnice 0,0)
a ma TaskBar nahore, tak okno bude prekryte timto taskbarem(taskbar vzdy na
vrchu).
Z napovedy WinApi nejsem moc moudry.Nedelal jste tohle nekdo??


Jirka Virt
email:
virt(zv)volny(tec)cz

autoincrement - Interbase

[*] Ing. Jaroslav �ke��k - 19.10.1999 20:10:55

Prilis tomu dotazu nerozumim. Proc by nesly kopirovat tabulky.
Kazda tabulka ma svuj autoincrement. Ten slouzi k jedinecnecnosti,
v ramci jedne tabulky a zaroven tridi data podle poradi porizeni
do teto tabulky. Uved nejakej priklad, abych pochopil o co ti jde.
Jaro

>
> Mam dotaz. Jak se v pripade autoinkrementu da elegantne vyporadat s
> pripadnym kopirovanim tabulek.
>
> eL..
>

FIB A IB

[*] Peter Laurinc <Peter.Laurinc(zv)ibaware.sk> - 19.10.1999 20:46:41

Zacinam s FIB pod Delphi a mam nasledovny problemik:

Ako urobit spojenie dvoch tabuliek (master/slave) pomocou TFIBDataSet ?

Tab 1 - master field ID
Tab 2 - slave field COMP ID

Vdaka za pomoc.

Primarni klic was: autoincrement - Interbase

[*] Ing. Jaroslav �ke��k - 19.10.1999 20:49:37

> Neni pravdou: Pouzivame retezce, PROTOZE SOUCASTI PK JE I DALSI INFORMACE
> (identifikace hnizda -instalace). To je nutne pro bezproblemovy prenos dat
> mezi instalacemi (pobockami). Zbytek retezce je nahodne cislo v rozsahu
> 0-3512479453921 kodovane v 37-ckove soustave :-) Zamerne jsme nepouzili
> Hi-Lo, protoze jsme potrebovali kratky klic a v rozsahu 8 znaku retezce
> tohle vyjde s mensi pravdepodobnosti kolize.
> Pokud ma byt soucasti PK i dalsi informace, pak je autoinkrement
> nedostacujici.

Primarni klic muze byt snadno slozen z vice poli. Napr. IDInstance+IDTable.
I tak to bude stale efektivnejsi nez dlouhy retezec - zvlaste u serveru,
ktere umi
s celymi cisly procovat znacne rychleji nes z retezci. Napr. IB s retezci
krome Char(1) pracuje jako s Varchar. Je to pomalejsi, protoze neni znama
pevna delka a nelze tedy vychazet z nasobku.

Aby bylo jasno. Ja se nepru o vyhodnost retezce nebo cisla, o vyhodnosti
nahodne generovaneho cisla nebo autoincrementu. To asi zavisi
od pouziteho serveru, typu projektu, vlastnich zkusenosti a stylu prace.
V zasede myslim, ze (krome ruznych rychlosti na ruznych serverech)
je to jedno.
Spor byl o to, zda je lepsi generovat PK na serveru nebo na klientu.

Jaro

Zahadny problem

[*] Petr Reichl <reichl(zv)atlas(tec)cz> - 19.10.1999 21:03:54

Mam dosti zahadny problem a potrebuji, abyste me s tim, pokud to bude mozne,
pomohli.

Delphi 4.0 Professional (zadny SP), BDE 5.0, db Paradox 7.

Aplikace pouzivajici jednu proceduru pro otevreni tabulky a jednu pro
zavreni. V procedure se priradi prvku Table hodnoty a dale pracuji s prvkem
Table. Vsude to funguje bezproblemu, ale v jednom pripade to nefunguje a
hlasi to nasledujici chybu (ve zkompilovanem tvaru):

ACCESS VIOLATION AT ADDRESS 004CA8B7 IN MODULE 'REBUR.EXE'. READ OF ADDRESS
FFFFFFFF.

Chyba, kdyz to spustim z prostredi Delphi to hlasi to same, ale v jinem
podani.

Tento problem je ovsem zahadny tim, ze tato chyba se hlasi vzdy, kdyz
nastartuji aplikaci a spustim dane okno. Chybu odklapnu a okno nahodim znovu
a chyba neni a funguje vse jak ma, a potom se chyba zobrazuje jak se ji
chce. Proste to nechapu.

Uvadim kod casti procedury s chybou
--------------------------------------
procedure TfrmDruhNakladu.FormCreate(Sender: TObject);
var DBPath: String;
ListItem: TListItem;
begin
DBPath:=RS_Path + '\dn.db';

DBOpen(frmDruhNakladu.tbNaklady, DBPath); // Chyba !!!
tbNaklady.First;
while not tbNaklady.EOF do

---------------
RS_Path je globalni promena a je v poradku.

Kod procedury pro otevreni DB:
---------------------------------
procedure DBOpen(Table: TTable; FileName: String);
var
DBName, TBName: String;
begin
DBName:=ExtractFileDir(FileName);
TBName:=ExtractFileName(FileName);
TBName:=ChangeFileExt(TBName,'');

Table.DatabaseName:=DBName;
Table.TableName:=TBName;

Table.Open;
end;
------------------------------

Za kazdou pomoc budu vdecny.

P�eji p��jemn� den.

Petr Reichl
-
E-mail: reichl(zv)centrum(tec)cz
PGP: podporov�no

Primarni klic was: autoincrement atd.

[*] Ing. Jaroslav �ke��k - 19.10.1999 21:03:09

> To samozrejme netvrdim. I kdyz 1000 generatoru uz muze byt drobny problem
> (nafukuje databazi atd.). Psal jsem preci o NADuzivani sofistikovanych
> moznosti serveru. Trendem posledni doby je zapominani, ze jednoduche veci
> vetsinou funguji lepe.
>
NENE. Ja se teto zasady take snazim drzet "zuby nechty".
V jednoduchosti je sila, spolehlivost a elegance.
Jaro


autoincrement & mapovani bussines objektu

[*] Ing. Jaroslav �ke��k - 19.10.1999 21:14:35

> Technologie mapovani bussines objektu otevira zcela jine moznosti
> pro vytvareni databazovych aplikaci. Myslim, ze cela rada dalsich
> doporuceni, ktera z teto metody vychazi, by asi vyvolala u rady lidi
> "zdeseni". (postupy pri pouzivani joinu, trigru, vlozenych procedur apod.)
>
> Tato metoda je zcela odlisna od soucasneho pojeti pristupu k datum,
> takze je asi tezke jednoznacne rici, ze autoincrement je nebo neni spatny.
> Oracle, Informix, Interbase atd. umoznuji pouzivat autoincremet,
kazdopadne
> to vsak neznamena, ze je to idealni reseni.

To me zajima. Lze k tomu nekde ziskat vice informaci?
Existuje nejaky jednoduchy algoritmus na generovani Hi-Lo
Jaro

>
> S pozdravem
> Rosta Podmanicky
>
> --------------------------------------------------------------------------
--
> Ing.Rostislav Podmanicky
> rosta(zv)trias92(tec)cz
>

Plocha a okno

[*] Foldyna Ji�� <jiri.f(zv)avizo(tec)cz> - 19.10.1999 21:21:17

> Ahoj,
> nemate nekdo pekny priklad, jak zjisti rozmer plochy, do
> ktere mohu umistit
> okno.
> Jedna se mi o to: jestlize umistim okno do horniho
> rohu(souradnice 0,0)
> a ma TaskBar nahore, tak okno bude prekryte timto
> taskbarem(taskbar vzdy na
> vrchu).
> Z napovedy WinApi nejsem moc moudry.Nedelal jste tohle nekdo??
************************************************************************
Tohle mam z konference a funguje mi to:

// nastaveni rozmeru formulare podle desktopu
var
Rect: TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA, 0, (zv)Rect, 0);
Left := Rect.Left;
Top := Rect.Top;
Width := Rect.Right - Rect.Left;
Height := Rect.Bottom - Rect.Top;
end;

Ing. Jiri Foldyna
mailto:jiri.f(zv)avizo(tec)cz


SQL & Interbase

[*] Ing. Jaroslav Ske��k - 19.10.1999 21:24:50

Stored procedura to vyresi, napr FOR SELECT,
ale vetsinou staci jednoduche VIEW
Jaro

> Prosim Prosim,
> jak resit Logicky Field na Interbase. Pokud se nepletu tak jsem ho
> tam nenasel. Zrejme udelat nejakou Domain, ale jak presne ji
> nastavit a jak s tim pak efektivne pracovat v dotazech. Nebo to
> nejde jinak nez select * from ... where prom = "T", nejde na to
> napsat nejaka stored procedura.
>

Bezpecnost dat was: autoincrement - Interbase

[*] Erik Salaj <winsoft(zv)napri.sk> - 19.10.1999 21:39:39

> Bezpecnostni politika pro zajisteni ochrany dat je slozita vec, a praxe
> ukazuje, ze resit to prostrednictvim bezpecnostniho systemu SQL serveru
neni
> prilis efektivni (konci s velmi komplikovanym modelem dat a problemy s
> "viditelnosti" tabulek, triggeru a procedur). Schudnejsi je zamezit
> uzivatelum pristup do databaze jinymi prostredky, nez pres aplikace
(program
> se loguje pod svym heslem ktere nikdo nezna) a poresit vechny problemy
zde.

Tak to tazko. To je priam ukazka ako sa to robit nema. Podla mna
najlepsim (povedal by som jedinym serioznym) riesenim bezpecnosti
db servera je definovat a striktne pristupovat na tento server
cez interface tvoreny storovanymi procedurami (pristupove prava sa
prideluju len na tieto storovane procedury, na vsetko ostatne je
pristup zakazany). Aj ked to moze mat za nasledok znizenie vykonu
(podla mna zanedbatelne) a obmedzenie urcitej flexibility. Ale riesit
bezpecnost jednym heslom, ktore nikto nevie (co v praxi znamena,
ze ho pozna kazdy) nie je dobry napad.

Erik Salaj

ComboBox

[*] Martin Kubecka <martin.kubecka(zv)amenit(tec)cz> - 19.10.1999 21:41:06

Co tuhle? Jeste jsem to ale nezkousel ....

http://www.o2a.com/cbplus.htm

Mac

P.S. PV nasel, Mac sklizi slavu ;-)

Tomas Holy wrote:

> jeste jendou prosim,
>
> opravdu o neexistuje ?

zaklady C/S

[*] Martin Kubecka <martin.kubecka(zv)amenit(tec)cz> - 19.10.1999 21:44:26

No a my editaci v DBGridu sice umoznujeme, ale veskere SQL si generujeme
sami, takze to vyjde vlastne uplne nastejno, jak to dela Zbysek. Takze bych
zase tak uplne DBGrid do kose nehazel, resp. ten standardni z Delphi bych
tam hodil hned ;-)

Mac

Zbysek Hlinka wrote:

> Editovani v DBGrid nad SQL databazi je hezke a efektni pri
> predvadeckach nebo pro nejaky program ktery pisu pro sebe, ale
> pro zakazniky je to naprosto nevhodne. Obecne je nebezpecne
> nechat uzivatele editovat primo nad datasetem (tedy
> Table.Edit/Insert ... Table.Post). Udelal jsem tuhle chybu ve starsi
> verzi programu a stezovali si i zakaznici. Grid tedy pouzivam
> vyhradne pro zobrazeni dat, editaci/vkladani provadim mimo ve
> zvlastnich (ve smyslu samostatnych, nenavazanych na DataSet)
> komponentach a vkladani dat do databaze pak vyhradne pres
> ulozene procedury nebo pripadne pomoci SQL prikazu. Je to sice
> pracnejsi, ale vyplati se to.

ComboBox

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 19.10.1999 23:26:58

Jan Najvarek wrote:
>
> Co takhle pouzit klasicky ComboBox, pokud jsou polozky v nem setridene,
> funguje to presne jak je popsano .. pripojeni na databazi by se ale asi
> muselo resit extra (naplneni comba). Take to asi neni vhodne pro velke
> tabulky.

Ahoj,

Problem je hlavne v tom, ze na dataset se vetsinou musis divat jako na
mnozinu ktera nema pevny pocet zaznamu, ma vlastne jen zacatek, konec
a "prostredek". Z toho duvodu neni TDBLookupComboBox v Delphi zalozen
na comboboxu, ale je to slozeno z nativnich komponent Delphi. Seznam
v tom combu je vlastne takovy jednoduchy DBGrid.

--

Petr Vones, amatersky programator

waitformultipleobject

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 19.10.1999 23:27:13

> Ren� Otisk wrote:

> muzete mi nekdo poradit s parametry %subj%? Spoustim createprocessem
> program a ten spousti postupne dalsi dva. A ja potrebuju pockat az skonci
> ten posledni.

Ahoj,

Napriklad takhle:

procedure TForm1.Button1Click(Sender: TObject);
var
WaitHandles: array[0..1] of THandle;
I: Integer;

function RunProcess(const FileName: String): THandle;
var
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
begin
ZeroMemory((zv)StartupInfo, Sizeof(StartupInfo));
ZeroMemory((zv)ProcessInfo, Sizeof(ProcessInfo));
StartupInfo.cb := Sizeof(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := SW_SHOWNORMAL;
Win32Check(CreateProcess(nil, PChar(FileName), nil, nil, False,
NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo));
Result := ProcessInfo.hProcess;
WaitForInputIdle(Result, INFINITE);
end;

begin
WaitHandles[0] := RunProcess('calc.exe');
WaitHandles[1] := RunProcess('notepad.exe');
Win32Check(WaitForMultipleObjects(2, (zv)WaitHandles, True, INFINITE) <> WAIT_FAILED);
for I := Low(WaitHandles) to High(WaitHandles) do CloseHandle(WaitHandles[I]);

ShowMessage('OK');
end;

--

Petr Vones, amatersky programator


Index, zaloha, instalace

[*] vase_redakce(zv)email(tec)cz - 20.10.1999 00:50:08

>> Pak sem se chtel zeptat, mam vytvorenou databazi a potreboval bych ji
>> zalohovat a to tam kam bude uzivatel chtit (jen na HD). Existuje na to
>> nejaka unita, nebo jak to udelat?
>
>To zalezi na jakem serveru je ta databaze. Potrebuji vice informaci.
>

Je to aplikace pro 1 uzivatele na 1 pocitaci. Tabulky PARADOX a v Database
Desktopu mam vytvorenu databazi STANDART, tedy ne na serveru.

A jeste sem se chtel zeptat, jestli v D3 jde nejak jednoduse prekopirovat
adresar ze soubory (nejaka fce nebo neco takovyho).


Dik za odpovedy

Filip



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

FIB A IB

[*] chaloupka(zv)mboxzn(tec)cz (Chaloupka Pavel) - 20.10.1999 01:35:34

V master tabulce se povesis na event AfterScroll a tam udelas neco jako:

with Slave do
begin
if Active then Close;
Params.ByName['COMP ID'].AsInteger := ibMASTER.AsInteger;
Open;
end;

----- Original Message -----
From: Peter Laurinc
To: Delphi
Sent: Tuesday, October 19, 1999 8:46 PM
Subject: FIB A IB


Zacinam s FIB pod Delphi a mam nasledovny problemik:

Ako urobit spojenie dvoch tabuliek (master/slave) pomocou TFIBDataSet ?

Tab 1 - master field ID
Tab 2 - slave field COMP ID

Vdaka za pomoc.

TADOStoredProc

[*] code2019(zv)post(tec)cz - 20.10.1999 03:25:12

Zdravim vsechny

Mam problem - chci pouzit TADOStoredProc, ale nevim jak z databaze vyloudit naplneni vlastnosti Parameters.
V design-time to funguje, ale neumim to v run-time.

...
sp := TADOStoredProc.Create(nil);
sp.Connection := ADOConnection1;
sp.ProcedureName := \'pTestProcedure\';

// (zde jsem mel sp.Prepare; kdyz jsem pouzival TStoredProc, ale co u TADOStoredProc???)

sp.Parameters.ParamByName(\'(zv)ID\').Value := 10; // <-vyhodi vyjimku, ze parametr neexistuje
sp.Open;
...


Diky

--=Code2019=-- [code2019(zv)post(tec)cz]

IB

[*] Martin Talian <geoplan(zv)pp.sinet.sk> - 20.10.1999 06:49:57

Spr�va vo form�te MIME rozdelen� na viac �ast�.

zdravim,

co potrebujem na klientovi ak robim program ktory vyuziva databazu IB na servri ? Staci BDE alebo musim nan nainstalovat aj este nejakeho klienta pre IB ? Je to pre Delphi 4.

Martin


Ceske res. pro Delphi 2

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 20.10.1999 07:15:21

Ahoj,

mohl by mi, velmi prosim, nekdo zaslat ceske resource pro Delphi 2. Velmi je
potrebuji.
Dekuji
Jaro B.

mailto:JBenes(zv)cpoj(tec)cz


autoincrement - Interbase

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 20.10.1999 07:32:14



> -----P�vodn� zpr�va-----
> Od: Ing.Rostislav Podmanicky [mailto:rosta(zv)trias92(tec)cz]
> Odesl�no: 19. ��jna 1999 19:53
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re: autoincrement - Interbase
>
>
>
> > Pokrocila technologie neznamena, ze nic z predchoziho uz neplati.
> > To teda sorry, ale argument, ze neco je spatne, protoze je to jiz
> > stare, neni zadny argument. Na te zehlicce vidis, ze
> nektere vety maji
> > obecnejsi platnost, prestoze lze zaznamenat pokrok i ve
> vyvoji zehlicek.
> > A myslim si, ze Veta: kdyz "Ti padne zehlicka na zada,
> prerazi Ti pater"
> > v soucasnosti uz zastarala je, protoze vaha a rozmery
> zehlicek se zmenily.
>
> Hledas zbytecne slozite argumenty - nikdo netvrdi, ze vsechno
> je spatne...Nechme zehlicku zehlickou nebo skoncime jako
> nasi "odbornici" v parlamentu........

:-)
Ja jsem si nezacal, nekdo tady tvrdil neco o zastaralych pouckach.
Ale souhlasim, ze nema cenu slovickarit.

> Spravne - ted uz tady zdaleka nejde o autoinkrement. Souhlasim i
> s tim, ze rozdeleni aplikace do vice vrstev je jedna z cest a
> zaprogramovani
> aplikacni logiky do ulozenych procedur dalsi varianta reseni.
>
> V zadnem pripade vsak nesouhlasim s tim, ze zadratovani
> aplikacni logiky
> do vlozenych procedur je modernejsi a efektivnejsi reseni -
> je proste
> jenom jine.

Samozrejme je modernejsi a efektivnejsi nez zadratovani do
klientskych aplikaci. Ty ulozene procedury totiz tvori
vrstvu aplikacni logiky a myslim, ze jsou primym predchudcem
myslenky aplikacnich objektu.

Vyvijis-li rozsahlejsi IS, nad kterym chces provozovat vice
klientskych aplikaci a chces zabezpecit dalsi rozvoj plus prihodne
podminky pro vyvoj, je vrstva ulozenych procedur asi nejlepsim mistem
pro aplikacni logiku.

Nutno si uvedomit, ze k databazovemu "jadru" IS pristupuje vice
ruznych typu klientu
- exe programy spoustene mistne urcene pro spravu systemu
- davkove programy a scripty spoustene z ruznych platforem
jednorazove anebo pravidelne
- distribuovani klienti - napr pro webovy pristup k systemu

Nelze zvolit jednu technologii, protoze predchozi vyvoj
IS a prostredky pouzite v tom systemu toto znemoznuji.

A cpat aplikacni logiku do kazdeho z techto programu nebo jenom
do aplikacnich objektu vyuzivanych nejakou skupinou techto programu
by privodilo pri pozadavku na drobnou upravu nebo opravu chyby
rozsahle zmeny, opakovane kompilace ruznych aplikaci, atd...
Pritom staci rychla zmena jedne ulozene procedury.

>
> Dalsim muze byt to,ze vlozene procedury se pisi v jazyce
> SQL, pripadne
> pomoci ruznych prikazu a udelatek (UDF a podobne), ktere se
> vice ci mene
> lisi od standardu. Prenos takove aplikace na jinou
> platformu je pak zcela
> nemozny. Uznavam, ze to nemusi byt padny duvod, ale u rady
> komercnich
> aplikaci muze mit znacny vliv na uspech produktu. Pokud system beha
> napr. pod InterBase a zaroven pod MS SQL to muze byt jista vyhoda.
> Zajistit takovou prenositelnost beznymi metodami je u
> rozsahlejsi aplikace
> skoro nemozne. (snad krome evidence stravenek - jak nekdo uvadel na
> setkani v Laznich Belohrad).

No jo, to je ale pouze velmi zuzeny pohled na SW. Po informacnim systemu
nikdo nemuze chtit, aby se prodaval v krabicich jako treba Delphi nebo
Office. Nejaky pozadavek prenositelnosti na jine platformy je namiste
u drobnych aplikaci a utilit, ale ne u zakazkoveho SW. Tam malokdy zacinas
na zelene louce a musis se podridit a vyvijet technologiemi pouzivanymi
v te organizaci.
Navic na me pusobi dojmem, ze tu prenositelnost mas na mysli pouze
na jedne strane - a to u databazi. co taklhle prenositelnost na jinou
platformu?
Pri prechodu napr. od Windowsovych klientu a Informixu pro Win NT
na homogeni unixovou platformu muzes zahodit aplikacni objekty
ale pouzit muzes vsechny ulozene procedury, a to temer beze zmeny.

Jura


Index, zaloha, instalace

[*] petr.motlicek(zv)bcbrno(tec)cz - 20.10.1999 07:59:55

From: vase_redakce(zv)email(tec)cz
Date sent: Wed, 20 Oct 1999 00:50:08 +0200
Subject: Re: Index, zaloha, instalace
To: delphi-l(zv)fwd(tec)cz
Send reply to: delphi-l(zv)fwd(tec)cz


> Je to aplikace pro 1 uzivatele na 1 pocitaci. Tabulky PARADOX a v Database
> Desktopu mam vytvorenu databazi STANDART, tedy ne na serveru.
>
> A jeste sem se chtel zeptat, jestli v D3 jde nejak jednoduse prekopirovat
> adresar ze soubory (nejaka fce nebo neco takovyho).
>
>
> Dik za odpovedy
>

Ahoj,

pro z�lohov�n� paradox "datab�ze" pouzivame bezne kopirovani
vsech souboru do jineho adresare.

// copy files from From[x] directory into Where[x] - directory is
filtered for all files reflacting all FileMasks
procedure CopyFiles(const From,Where,FileMasks : array of
string);
var
x,y : LongInt;
SearchHandle : THANDLE;
FindFileData : TWin32FindData;
Next : Boolean;

begin
for x:=0 to High(From) do begin
if not DirExists(Where[x]) then begin
if not CreateDirectory(PCHAR(Where[x]),nil) then begin
raise
Exception.Create(Format(SCannotCreateDir,[Where[x]]));
end;
end;

for y:=0 to High(FileMasks) do begin

SearchHandle :=
FindFirstFile(PCHAR(From[x]+FileMasks[y]),FindFileData);
if SearchHandle = INVALID_HANDLE_VALUE then continue;
Next := True;
while Next do begin
if (FindFileData.dwFileAttributes and
FILE_ATTRIBUTE_DIRECTORY) <>
FILE_ATTRIBUTE_DIRECTORY then begin
if not
Windows.CopyFile(PCHAR(From[x]+FindFileData.cFileName),PCH
AR(Where[x]+FindFileData.cFileName),false) then begin
raise
Exception.Create(Format(SErrorWhileCopyingFile,[From[x]+FindFil
eData.cFileName,Where[x]+FindFileData.cFileName])+#13#10+SEr
rorMessage+SysErrorMessage(GetLastError));
end;
end;
Next := FindNextFile(SearchHandle,FindFileData);
if (Not Next) and (GetLastError <>
ERROR_NO_MORE_FILES) then begin
raise
Exception.Create(Format(SErrorWhileCopyingFile,[From[x]+FindFil
eData.cFileName,Where[x]+FindFileData.cFileName])+#13#10+SEr
rorMessage+SysErrorMessage(GetLastError));
end;
end;
Windows.FindClose(SearchHandle);
end;
end;
end;

priklad pro Paradox:

CopyFiles([TDatabaseMain.Directory,TDatabaseLib.Directory],[back
Cupcesta1,BackupCesta2)],['*.db','*.val','*.px','*.X??','*.Y??','*.MB']);

kde TDabaseMain. TDatabaseLib ... jsou TDatabase

Outlook Express

[*] Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz> - 20.10.1999 08:01:44

Jak vytvorit novou zpravu v Outlook Expresu (samozrejme z DELPHI aplikace)?==[ Libor Krayzel ]================================
http://webhost(tec)cz/elka * mailto:libor.krayzel(zv)czech-tv(tec)cz
http://easypad.fwd(tec)cz * mailto:elka(zv)seznam(tec)cz
office: +420-69-620 1375
GSM: +420-603-937 947
==============================================

BDE a Install Shiled

[*] Radek KALA <Kala(zv)atlas(tec)cz> - 20.10.1999 08:03:53


> Zdravim,
> ako dostanem do instalaciek BDE, aby sa mi nainstalovalo s programom, ktory
> ho vyuziva?

V General Options zaskrtnes polozku :
BDE (Borland Database Engine)
>
> Dik
> Michal Hlavac
> Spolocnost priatelov deti z detskych domovov
> Usmev ako dar
>
> e-mail: 7hlavac(zv)nw.fmph.uniba.sk
> web: www.usmev.sk
>
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


waitformultipleobject

[*] Daniel Rott <roxton(zv)atlas(tec)cz> - 20.10.1999 08:32:10

Nechybi za tim CreateProcess
CloseHandle(ProcessInfo.hThread)
kdyz jej uz nevyuzivas ? :-)

Daniel
----------------------------
>
> procedure TForm1.Button1Click(Sender: TObject);
> var
> WaitHandles: array[0..1] of THandle;
> I: Integer;
>
> function RunProcess(const FileName: String): THandle;
> var
> StartupInfo: TStartupInfo;
> ProcessInfo: TProcessInformation;
> begin
> ZeroMemory((zv)StartupInfo, Sizeof(StartupInfo));
> ZeroMemory((zv)ProcessInfo, Sizeof(ProcessInfo));
> StartupInfo.cb := Sizeof(StartupInfo);
> StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
> StartupInfo.wShowWindow := SW_SHOWNORMAL;
> Win32Check(CreateProcess(nil, PChar(FileName), nil, nil, False,
> NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo));
> Result := ProcessInfo.hProcess;
> WaitForInputIdle(Result, INFINITE);
> end;
>
> begin
> WaitHandles[0] := RunProcess('calc.exe');
> WaitHandles[1] := RunProcess('notepad.exe');
> Win32Check(WaitForMultipleObjects(2, (zv)WaitHandles, True, INFINITE) <> WAIT_FAILED);
> for I := Low(WaitHandles) to High(WaitHandles) do CloseHandle(WaitHandles[I]);
>
> ShowMessage('OK');
> end;
>
> --
>
> Petr Vones, amatersky programator
>
>

SQL & Interbase

[*] Radek KALA <Kala(zv)atlas(tec)cz> - 20.10.1999 08:46:08

> Stored procedura to vyresi, napr FOR SELECT,
> ale vetsinou staci jednoduche VIEW
> Jaro

Nechapu. Prosim o blizsi vysvetleni. Co je View vim, ale nechapu
jak mi to muze pomoct. No a For select nechapu asi vubec. s SQL
pracuji asi 14 dni, drive jsem pracoval vyhrade s paradoxovym
formatem dat.

>
> > Prosim Prosim,
> > jak resit Logicky Field na Interbase. Pokud se nepletu tak jsem ho
> > tam nenasel. Zrejme udelat nejakou Domain, ale jak presne ji
> > nastavit a jak s tim pak efektivne pracovat v dotazech. Nebo to
> > nejde jinak nez select * from ... where prom = "T", nejde na to
> > napsat nejaka stored procedura.
> >
>
>
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


Memo, DBMemo

[*] Radek KALA <Kala(zv)atlas(tec)cz> - 20.10.1999 08:46:08


> Zdravim!
>
> Mam nasledujici prosbu na vas, pouzivam komponentu TTable ve spojeni s TDBGrid nad dbf tabulkou a chtel bych v TDBGridu zobrazit cislo radku, poradite mi jak na to?

Asi nejjednodussi bude vytvorit si Calculated Field.
>
> Dik moc Pavel Polak
> 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


autoincrement & mapovani bussines objektu

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 20.10.1999 08:50:53

Haj hou!

From: Ing. Jaroslav �ke��k <jaro(zv)sinea(tec)cz>
>
> To me zajima. Lze k tomu nekde ziskat vice informaci?
> Existuje nejaky jednoduchy algoritmus na generovani Hi-Lo
> Jaro


Napriklad zde:
http://www.oma.com/ottinger/BakersDozen.html
www.ambysoft.com (velmi dobre)
http://www.everest.nl/cetus/oo_db_systems_3.html (odkazy na temer vsechno
na inetu tykajicise tematu, prehledne roztrideno)

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

IB

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 20.10.1999 09:00:52


From: Martin Talian

co potrebujem na klientovi ak robim program ktory vyuziva databazu IB na servri ? Staci BDE alebo musim nan nainstalovat aj este nejakeho klienta pre IB ? Je to pre Delphi 4.

Haj hou!

Prirozene je zapotrebi jeste klient IB :-) Coz je v podstate jen jedno DLL. Klient IB by mel byt na tvem CD s Delphi (pokud nemas verzi Standard), zkus pustit CD Autorun.


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

Metoda Hi-Lo was:autoincrement - Interbase

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 20.10.1999 09:05:52

Haj hou!

From: Zbysek Hlinka <zhlinka(zv)login(tec)cz>
> > a) Klic je rozdelen na dve casti, "horni" a "dolni"
> > b) Klient ze sdilene casti (napr. tabulka s autoinkrementem nebo
> > generator ci jiny mechanizmus pro pridelovani cisel s inkrementem)
> > vezme "horni" cast pri zacatku prace (session) a resetuje sve "dolni"
> > pocitadlo na 0. c) Pri kazdem generovani klice klient inkrementuje
> > "dolni" cast. d) Pokud klient vycerpa v ramci session rozsah "dolni"
> > casti, opakuje se vse od bodu b)
>
> Jak se tohle resi v pripade replikovane databaze?

Predevsim pridanim dalsiho rozlisovaciho prvku (segmentu). PK musi byt
jedinecny v ramci vsech dat systemu, tedy v pripade distribuovane /
replikovane databaze musi byt jedinecny pres vsechny repliky. Nejvhodnejsi
zpusob kompozice PK zalezi vzdy na konkretni situaci (jak jinak). Vyborny
popis pozadavku na PK je napr zde
http://www.oma.com/ottinger/UniqueObjectKeys.html
Je site o OID, ale plati to o PK obecne.


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

autoincrement & mapovani bussines objektu

[*] Ing.Rostislav Podmanicky <rosta(zv)trias92(tec)cz> - 20.10.1999 09:15:53


> To me zajima. Lze k tomu nekde ziskat vice informaci?
> Existuje nejaky jednoduchy algoritmus na generovani Hi-Lo
> Jaro

Presny popis metody Hi-Lo posilal do konference vcera Pavel Cisar.
Vice informaci vcetne dalsi odkazu lze ziskat treba na serveru

http://www.objects(tec)cz
http://www.ambysoft.com

Rosta Podmanicky

Zahadny problem

[*] Jan Fiala <fiala(zv)infos(tec)cz> - 20.10.1999 09:56:35


----- P�vodn� zpr�va -----
Od: Petr Reichl <reichl(zv)atlas(tec)cz>> Mam dosti zahadny problem a potrebuji, abyste me s tim, pokud to bude mozne,
> pomohli.
>
> Delphi 4.0 Professional (zadny SP), BDE 5.0, db Paradox 7.
>
> Aplikace pouzivajici jednu proceduru pro otevreni tabulky a jednu pro
> zavreni. V procedure se priradi prvku Table hodnoty a dale pracuji s prvkem
> Table. Vsude to funguje bezproblemu, ale v jednom pripade to nefunguje a
> hlasi to nasledujici chybu (ve zkompilovanem tvaru):
>
> ACCESS VIOLATION AT ADDRESS 004CA8B7 IN MODULE 'REBUR.EXE'. READ OF ADDRESS
> FFFFFFFF.
>
> Chyba, kdyz to spustim z prostredi Delphi to hlasi to same, ale v jinem
> podani.
>
> Tento problem je ovsem zahadny tim, ze tato chyba se hlasi vzdy, kdyz
> nastartuji aplikaci a spustim dane okno. Chybu odklapnu a okno nahodim znovu
> a chyba neni a funguje vse jak ma, a potom se chyba zobrazuje jak se ji
> chce. Proste to nechapu.
>
> Uvadim kod casti procedury s chybou
> --------------------------------------
> procedure TfrmDruhNakladu.FormCreate(Sender: TObject);
> var DBPath: String;
> ListItem: TListItem;
> begin
> DBPath:=RS_Path + '\dn.db';
>
> DBOpen(frmDruhNakladu.tbNaklady, DBPath); // Chyba !!!
> tbNaklady.First;
> while not tbNaklady.EOF do
>
> ---------------
> RS_Path je globalni promena a je v poradku.
>
> Kod procedury pro otevreni DB:
> ---------------------------------
> procedure DBOpen(Table: TTable; FileName: String);
> var
> DBName, TBName: String;
> begin
> DBName:=ExtractFileDir(FileName);
> TBName:=ExtractFileName(FileName);
> TBName:=ChangeFileExt(TBName,'');

Neni mozne, ze dana tabulka je otevrena, nebo je do formulare prirazena jina
tabulka, ktera je otevrena. Zkus pred zmenu parametru dat :

Table.Close;

> Table.DatabaseName:=DBName;
> Table.TableName:=TBName;
>
> Table.Open;
> end;

===============================
ing. Jan Fiala fiala(zv)infos(tec)cz
Prog-Soft s.r.o. Plzen
INFOS - informacni system pro napojare
===============================

Bezpecnost dat (opravneni uzivatele) [long]

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 20.10.1999 09:57:52

Haj hou!

From: Erik Salaj <winsoft(zv)napri.sk>
> Tak to tazko. To je priam ukazka ako sa to robit nema. Podla mna
> najlepsim (povedal by som jedinym serioznym) riesenim bezpecnosti
> db servera je definovat a striktne pristupovat na tento server
> cez interface tvoreny storovanymi procedurami (pristupove prava sa
> prideluju len na tieto storovane procedury, na vsetko ostatne je
> pristup zakazany). Aj ked to moze mat za nasledok znizenie vykonu
> (podla mna zanedbatelne) a obmedzenie urcitej flexibility. Ale riesit
> bezpecnost jednym heslom, ktore nikto nevie (co v praxi znamena,
> ze ho pozna kazdy) nie je dobry napad.

Pokud je pozadovano zajisteni pristupu k udajum pouze opravnenym osobam, je
to VZDY komplikovana zalezitost. Primarne existuji dva zakladni spusoby, jak
problem resit:

1) Pravy k objektum SQL serveru (tabulky, procedury atd.)
2) Prostredky aplikace

Rad bych rozebral vyhody a nevyhody obou pristupu:

1) Reseni prostredky SQL serveru

Vyhody:
a) Prava jsou vzdy aplikovana, at uz je pristup k udajum realizovan
jakymkoliv spusobem (z webu, z Excelu pres ODBC, z aplikace).
b) Mene prace pro programatory / designery (coz ovsem byva casto iluze,
kazdopadne je to velmi relativni, viz dale)

Nevyhody:
a) Rada serveru ma prava jen na uzivatele, ne na skupiny nebo nema role
b) Prava jen k databazovym objektum, nelze timto spusobem chanit jine casti
aplikace
c) Prava jsou aplikovana az po predani zadosti na server. Nelze tedy dopredu
zablokovat urcete vlastnosti a funkcnost aplikace. Obcas je mozne tento
problem (slozite a castecne) resit.
d) Informace vracene SQL serverem pri konfliktu opravneni jsou vve forme
nevhodne pro dalsi zpracovani.

Samozrejme, ze vzdy zalezi na moznostech konkretniho SQL serveru.

2.) Reseni prostredky aplikace

Vyhody:
a) Lze realizovat prava uzivatelu, skupin, role, specialni privilegia atd.
Naprogramovat se da vsechno.
b) Lze timto spusobem chranit jak funkce aplikace, tak datove objekty nebo
jednotlive udaje (selekce dle dat)
c) Prava lze sjistit kdykoliv, dle potreb aplikace.
d) Lze realizovat i velice komplexni systemy zabezpeceni, spolupraci s HW
(mag. klice apod.).
e) Plna kontrola nad SW zabezpeceni. Nezavyslost na implementacnich
vlastnostech bezpecnostnich moznosti SQL serveru.

Nevyhody:
a) Hodne, hodne prace. Jednou vytvoreny system ale lze znovu pouzit v jinem
projektu.
b) Je nutne zablokovat jiny pristup k datum nez pres prostredky aplikace.
Lze ale vytvorit bezpecnostni mezivrstvu pouzitelnou i z jinych aplikaci
(vetsinou jako soucast app. serveru).


Zvoleni vhodne metody je vzdy veci konkretnich pozadavku na system,
dostupnych zdroju atd.

Osobne se klonim k druhe technice. Je to sice o hodne vice prace, ale
vlozene investice se drive ci pozdeji vrati i s uroky.

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

Outlook Express

[*] Jan Fiala <fiala(zv)infos(tec)cz> - 20.10.1999 10:01:58


----- P�vodn� zpr�va -----
Od: Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz>> Jak vytvorit novou zpravu v Outlook Expresu (samozrejme z DELPHI aplikace)?

Vytvor si novou vzorovou Win Logo aplikaci (New, Projects, Win Logo Application) a prostuduj si vzor.
Outlook Express musi byt nastaven jako Simple MAPI klient !!!

===============================
ing. Jan Fiala fiala(zv)infos(tec)cz
Prog-Soft s.r.o. Plzen
INFOS - informacni system pro napojare
===============================

Konverze obrazku

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 20.10.1999 10:05:18

Ahoj,
existuje knihovna GIFImage (je free) a tam by to melo
jit podobne, jako u JPEGImage, tedy metodou Assign (viz
archiv konference).

Dobra.

> ----------
> Potrebu�prevest obrazky *.pcx, *.bmp na *.gif. Muzete mi poradit
> nejakou sikovnou
> komponentu, dll knihovnu se sirokym zaberem, nebo kus kodu.
>

OT: Excel

[*] Lukas Voborsky <xvobl03(zv)sorry.vse(tec)cz> - 20.10.1999 10:38:05

Ahojte, jenom jedna otazecka. Programujete taky programy, ktery vyhazujou
takovy hlasky jako Excel?

Dokument s nazvem ROZVRH.XLS je jiz otevren. Nemuzete otevrit dva dokumenty
se stejnym nazvem, i kdyz se nachazeji v ruznych slozkach. Chcete-li druhy
dokument otevrit, zavrete momentalne otevreny dokument nebo jeden z
dokumentu prejmenujte.
howgh
Lukas

-==============================================================-
mailto: voborsky(zv)menza.mff.cuni(tec)cz ICQ: 21084410
www: http://come.to/voborsky tel. 8551040-9 l. 393
-==============================================================-


QuickReprt po tretie

[*] Tibor Galik <tgalik(zv)vsz.sk> - 20.10.1999 09:42:09

Hi,
Prosim o pomoc.
Pisem uz treti krat, ale nedostal som este ziadnu odpoved.
Existuje tu niekto, kto robi v QR. Ako ste riesili podobne zostavy, alebo take nemate?

Mam nejake zostavy v QuickReporte a mam problem:
Nastavil som podkladovu farbu a oramovanie pre band a AutoStretch=true, AutoSize=false. AutoStretch mi funguje, cize rozdeli dlhy riadok na viac riadkov, ale podkladova farba a ramcek ostane iba v prvom riadku.
Ako to riesit?

diky


Zdravim Vas/Regards

Tibor Galik
tgalik(zv)vsz.sk

autoincrement - Interbase

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 20.10.1999 10:58:27

Haj hou!

From: Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz>
> Ty vyzadujes, aby kazdy uzivatel mel prava menit tabulku, do niz
> jsou ukladana data, ktera on edituje. Napadla Te nekdy
> napriklad otazka bezpecnosti? Jak zajistis, aby neupdatoval
> vsechny jiz existujici zaznamy nejakym nesmyslem?

O bezpecnosti viz samostatny mail.

> > (u aplikace je to samozrejme vse izolovano do modulu obchodni
> > logiky, ktery pak funguje jako Application server pro klientskou cast
> > aplikace. Jako bombonek pak tahle mezivrstva muze bezet na
> > jinem pocitaci),
>
> Copak je to za bombonek? Jeste nedavno byla rec o technologii
> client/server a najednou sem pletes tohle.
> Aplikacni server je aplikacni server a na jake masine Ti bezi nebo
> na kolika masinach bezi, to neni zas tak podstatne. Pro priklad vezmeme
MTS.
> Asi vsichni vime, protoze uz o tom v konferenci byla rec, ze to je
> prostredi,
> ve kterem se spousti aplikacni COM objekty.
> Ten COM objekt si v pohode pracuje a myslim si, ze je mu celkem jedno,
> jestli pres ADO pristupuje k databazi na jinem nebo stejnem stroji.

Aby jsme si porozumeli, musim udelat malou odbocku. Vetsina aplikaci se dnes
pise v objektech, coz je ovsem diametralne odlisne od relacniho pristupu.
Zpracovavat data jako objekty nebo pomoci objektu je mnohem jednodussi a
pohodlnejsi, proto se stale vice prosazuji techniky, ktere toto podporuji.
Muze jit o O-R mapping, stateless business objects (business rule objects) a
dalsi. Cast moelujici data / procesy s daty jsou izolovany do vrstvy, ktere
se rika aplikacni server (tento pojem se pouziva i pro radu jinych veci nebo
podmnozin toho co myslim ja. Je to moderni a hodne zneuzivany nazev, neni
divu ze jeho pouziti vede obcas k nedorozumnenim). Spusobu jak realizovat
app. server je velmi mnoho, pouziti MTS a COM je jen jednou z nich. Jak
vidno, tak app. server casto obsahuje i obchodni logiku aplikace, bud celou,
nebo jen cast, prijde na to, co je pro dany pripad optimalni, vetsinou jde o
balancovani mezi app. serverem a SQL serverem, podstatne je, ze zbytek
aplikace (nebo aplikaci) jsou od techto veci oddeleny rozhrannim app.
serveru (ktery muze mit mnoho podob a modelu). App. server pak muze fungovat
i jako samostatna aplikace (true app. server) a treba i na jine masine.
Tenhle pristup se hodne rozmohl predevsim diky COM/DCOM, ale byl tu jiz
dlouho (HTTP, CORBA). Dnes se do hry pridava i XML.

> A pripada mi, ze nemas uplne jasno v terminologii. Modul obchodni logiky
> pak NEFUNGUJE jako Application server. To jsou naprosto neslucitelne pojmy
> a jestli je mezi nimi nejaka korespondence, pak obracena - v aplikacnim
> serveru
> je mozne provozovat modul obchodni logiky. Ledaze bys rikal Application
> server necemu jinemu nez pro co se toto oznaceni bezne pouziva.

Tak jsem to take myslel.

> Ale myslim, ze bys nemel moc uhybat od tematu, rec byla o technologii
> client/server. Ty v ni propagujes, aby klientske aplikace provadely
selecty,
> inserty updaty atp. Stejnym dechem si prejes, aby aplikacni
> logika byla nekde ve zvlastnim modulu. Tedy autor zastava nazor,
> ktery sam vyvraci.
>
> Ja mam podle Tebe zastarale nazory na rchitekturu client server,
> ale pritom Ty pouzivas metody, jake staly u zrodu teto technologie
> a byly vymyceny prichodem ulozenych procedur.
>

Neuhybam od tematu. Stale se jedna o C/S technologii, ale dnes uz C/S
neznamena jen SQL databaze. Klienti a servery jsou vsude a vytvareji
slozite, vzajemne propojene retezy sluzeb. Dnes se proste mezi databazovy
server a UI vklada dalsi server(y), at uz ma jakoukoliv podobu a
implementaci. V ramci tohoto meziserveru se pak daji mnohe problemy resit
mnohem lepe (mysleno jednoduseni a flexibilneji)

> Dale mi pripada, ze prilis operujes vykonem a efektivitou, jako
> by to bylo jedine kriterium informacniho systemu. Nevim, pro
> koho aplikace pises, ale myslim, ze kazdy nebude mit stejny nazor jako Ty.
> Nekdo bude preferovat provozni bezpecnost, jiny duvernost, ...

Na prvni misto kladu adaptabilitu, robustnost a nizke naklady na udrzbu
(zmeny atd.). Ovsem ty se vyplati az z dlouhodobeho hlediska. Vykon /
efektivita jsou parametry, ktere hodne rozhoduji o uspesnosti. Prirozene,
pokud na trhu neexistuje konkurencni produkt, je to jedno. Pokud konkurence
je, pak rozhoduji parametry aplikace, a vykon je jednou z nich.

> A nevim, jak bys obhajoval duvernost aplikace, kdyz by si v klientskem
> exe, ktery tvuj zakaznik rozsiri mezi svoje dealery nebo klienty,
> kazdy precetl, ze urok k uctu se pripisuje prikazem UPDATE konta ...

Oh, kolego :-) Toho se da docilit i jinymi spusoby nez ktere jste zvykly
pouzivat vy.

> Proc si to myslis? Znam aplikaci C/S, ktera umi pracovat s ruznymi
> databazemi a taky znam par objektu bezicich v aplikacnim serveru,
> ktere jsou pevne svazany s konkretni DB.
> Obavam se, ze sice o modernich technologiich neco malo vis,
> ale pouzivas tady demagogicka prohlaseni. Aplikacni server sam
> od sebe nic neusnadni.

Vazeny kolego, to jsou necestne argumenty (pokud jde vubec o argumenty).
Technologie prirozene neni samospasitelna. Zprasit se da vsechno i s dobrymi
nastroji a i s malym kasparkem se da hrati velke divadlo. O tom ale tato
debata preci neni, nebo ano ?

> > :-) Ty odpurce modernich technologii, slysels nekdy neco o Aplikacnim
> > serveru a vicevrstve technologii ? :-)))))
>
> Praveze ja ano.

Mno, a ja je navrhuji a pisu. To neuvadim jako dukaz spravnosti mych nazoru,
ale jen jako drobnou indicii, ze neco malo o problemu jsem nejen slysel, ale
i ozkousel.


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

TQUERY a nutnost definovat vlastnost DATABASE

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 20.10.1999 11:00:07

Jde to, jako databazi proste uvedes
C:\DATA

jinak, pomoci TDatabase to jde take,
v Params uvedes PATH=C:\DATA, jako
DataBaseName si das co chces, a toto
jmeno uvedes potom v tom Query jako
DataBaseName.

Dobra.

> ----------
> Mam takovyto dotaz, potrebuju spustit dotaz SQL nad obycejnym souborem
> DBF,
> ale mam definovan vubec alias pro databazi, jde to?
>

autoincrement jako PK

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 20.10.1999 11:03:56

Haj hou!

From: Zbysek Hlinka <zhlinka(zv)login(tec)cz>
> Je ovsem pravda, ze v urcitych situacich je s autoinkrementem
> jakozto klicem problem, a to pokud na nej navazuji referencni
> integritu - a to pri replikacich. V tomto pripade je skutecne
> vhodnejsi najit jiny system klicu.

Dalsi nevyhodou inkrementalnich PK (v jakekoliv forme) je neefektivni sprava
indexu na SQL serveru. Vetsina serveru ma indexy jako vyvazovane binarni
stromy, a inkrement pretezuje jednu vetev stromu coz vede k castemu
vyvazovani. Pokud aplikace provadi velky pocet insertu v case (napr. on-line
sber dat z HW), ma to velky vliv na vykon. V pripade cluster-hash indexu je
situace jeste horsi. Idealni PK je takovy, jeho hodnoty jsou co nejvice
rozprostreny v ramci oboru hodnot.

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

DBGrid

[*] Pavel Polak <pavelp(zv)bnsoft(tec)cz> - 20.10.1999 10:13:30

No to jsem zkousel ale nevim jak to pocitat, pousti to totiz udalost OnCalc
kdy se tomu zachce a v ruznem poradi

>
> > Zdravim!
> >
> > Mam nasledujici prosbu na vas, pouzivam komponentu TTable ve spojeni s
TDBGrid nad dbf tabulkou a chtel bych v TDBGridu zobrazit cislo radku,
poradite mi jak na to?
>
> Asi nejjednodussi bude vytvorit si Calculated Field.
> >
> > Dik moc Pavel Polak
> >
>

Aplikacni logika was:autoincrement - Interbase

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

Haj hou!

From: Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz>
>Vyvijis-li rozsahlejsi IS, nad kterym chces provozovat vice
>klientskych aplikaci a chces zabezpecit dalsi rozvoj plus prihodne
>podminky pro vyvoj, je vrstva ulozenych procedur asi nejlepsim mistem
>pro aplikacni logiku.

Moznosti jazyka ulozenych procedur nejsou a dlouho nebudou takove, jako
moznosti "beznych" jazyku jako OP nebo C++. Obor problemu ktere lze
efektivne realizovat ulozenymi procedurami je omezeny. Kdyz clovek narazi na
hranice, je cas polozit si otazku: Kdyz ne vsechno na serveru, tedy jak
mnoho ?

>Nutno si uvedomit, ze k databazovemu "jadru" IS pristupuje vice
>ruznych typu klientu
> - exe programy spoustene mistne urcene pro spravu systemu
> - davkove programy a scripty spoustene z ruznych platforem
> jednorazove anebo pravidelne
> - distribuovani klienti - napr pro webovy pristup k systemu

V ere komercniho pouziti COM/DCOM, CORBA, HTTP, ASP, XML a dalsich protokolu
lze snadno realizovat pripojeni vsech techto aplikace na app. server misto
primo na databazi.

>A cpat aplikacni logiku do kazdeho z techto programu nebo jenom
>do aplikacnich objektu vyuzivanych nejakou skupinou techto programu
>by privodilo pri pozadavku na drobnou upravu nebo opravu chyby
>rozsahle zmeny, opakovane kompilace ruznych aplikaci, atd...
>Pritom staci rychla zmena jedne ulozene procedury.

Zalezi na situaci. Nekdy je jednodussi vymenit DLL na serveru ,-)

>No jo, to je ale pouze velmi zuzeny pohled na SW. Po informacnim systemu
>nikdo nemuze chtit, aby se prodaval v krabicich jako treba Delphi nebo
>Office.

Ale kdepak :-) Rada takovych systemu existuje. Ne kazdy system musi byt
"implementovan" a trvale osetrovan vyskolenym personalem.

>Nejaky pozadavek prenositelnosti na jine platformy je namiste
>u drobnych aplikaci a utilit, ale ne u zakazkoveho SW.

Hmm, takze takovy SAP R/3 je drobna aplikace nebo utilitka. To si musim
zapamatovat :-)))

>Tam malokdy zacinas
>na zelene louce a musis se podridit a vyvijet technologiemi pouzivanymi
>v te organizaci.

Tak tady jste vazeny kolego uderil hrebicek na hlavicku. Jakmile je ve hre
legacy aplikace / databaze, je to vse o necem jinem.

>Navic na me pusobi dojmem, ze tu prenositelnost mas na mysli pouze
>na jedne strane - a to u databazi. co taklhle prenositelnost na jinou
>platformu?
>Pri prechodu napr. od Windowsovych klientu a Informixu pro Win NT
>na homogeni unixovou platformu muzes zahodit aplikacni objekty
>ale pouzit muzes vsechny ulozene procedury, a to temer beze zmeny.

Delphi je zatim jen na Win32, ale takove C++ je vsude. CORBA funguje take
vsude a pres TCP/IP lze cokoliv udelat prenositelne a heterogeni.


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

TQUERY a nutnost definovat vlastnost DATABASE

[*] Pavel Polak <pavelp(zv)bnsoft(tec)cz> - 20.10.1999 10:17:20

Zdravim!

Mam takovyto dotaz, potrebuju spustit dotaz SQL nad obycejnym souborem DBF,
ale mam definovan vubec alias pro databazi, jde to?

Pavel Polak

TQUERY a nutnost definovat vlastnost DATABASE

[*] Lukas Voborsky <xvobl03(zv)sorry.vse(tec)cz> - 20.10.1999 11:50:42

On Wed, 20 Oct 1999, Pavel Polak wrote:

> Zdravim!
>
> Mam takovyto dotaz, potrebuju spustit dotaz SQL nad obycejnym souborem DBF,
> ale mam definovan vubec alias pro databazi, jde to?
>
> Pavel Polak

Ahoj, jde to:
select * from "C:\Dokumenty\soubor.dbf"
Staci polozit TQuery, naplnit SQL a jede to..

Lukas

-==============================================================-
mailto: voborsky(zv)menza.mff.cuni(tec)cz ICQ: 21084410
www: http://come.to/voborsky tel. 8551040-9 l. 393
-==============================================================-


Zahadny problem

[*] Foldyna Ji�� <jiri.f(zv)avizo(tec)cz> - 20.10.1999 12:06:46



> ACCESS VIOLATION AT ADDRESS 004CA8B7 IN MODULE 'REBUR.EXE'.
> READ OF ADDRESS
> FFFFFFFF.
>
> Chyba, kdyz to spustim z prostredi Delphi to hlasi to same,
> ale v jinem
> podani.
>
> Tento problem je ovsem zahadny tim, ze tato chyba se hlasi vzdy, kdyz
> nastartuji aplikaci a spustim dane okno. Chybu odklapnu a
> okno nahodim znovu
> a chyba neni a funguje vse jak ma, a potom se chyba zobrazuje
> jak se ji
> chce. Proste to nechapu.
>
> Uvadim kod casti procedury s chybou
> --------------------------------------
> procedure TfrmDruhNakladu.FormCreate(Sender: TObject);
> var DBPath: String;
> ListItem: TListItem;
> begin
> DBPath:=RS_Path + '\dn.db';
>
> DBOpen(frmDruhNakladu.tbNaklady, DBPath); // Chyba !!!
> tbNaklady.First;
> while not tbNaklady.EOF do

Ahoj,

rekl bych, ze chyba je zpusobena tim, ze se pokousis pouzit tabulku z
formulare frmDruhNakladu v udalosti OnCreate tohoto formulare.
Inicializaci prvku formulare obvykle resim az po jeho vytvoreni, pokud
je formular AutoCreate, tak v projektu, pokud ho vytvarim sam, tak v
kodu za volanim Create.

procedure TfrmDruhNakladu.FormCreate(Sender: TObject);
^^^^^^^^^^^^^^
DBOpen(frmDruhNakladu.tbNaklady, DBPath); // Chyba !!!
^^^^^^^^^^^^^^

Ing. Jiri Foldyna
mailto:jiri.f(zv)avizo(tec)cz


DBGrid

[*] Petruj Zdenek <ZPetruj(zv)qgir(tec)cz> - 20.10.1999 12:14:34

V OnCalc naplnis calculated field pomoci property
"TTable.RecNo". Na dbf tabulce ti to bude fungovat,
ale pozor napr. u SQL databazi chces-li zjistit cislo zaznamu
neni to tak jednoduche - musis projit SQL dotazem
jednotlive zaznamy.

> -----P�vodn� zpr�va-----
> Od: Pavel Polak [mailto:pavelp(zv)bnsoft(tec)cz]
> Odesl�no: 20. ��jna 1999 11:14
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: DBGrid
>
>
> No to jsem zkousel ale nevim jak to pocitat, pousti to totiz
> udalost OnCalc
> kdy se tomu zachce a v ruznem poradi
>
> >
> > > Zdravim!
> > >
> > > Mam nasledujici prosbu na vas, pouzivam komponentu TTable
> ve spojeni s
> TDBGrid nad dbf tabulkou a chtel bych v TDBGridu zobrazit cislo radku,
> poradite mi jak na to?
> >
> > Asi nejjednodussi bude vytvorit si Calculated Field.
> > >
> > > Dik moc Pavel Polak
> > >
> >
>
>
>

DBGrid

[*] Radek KALA <Kala(zv)atlas(tec)cz> - 20.10.1999 12:16:16

Vytvoris Calculated Field Napr. s Nazvem CisloRecordu v Tabulce
Table1. Potom do OnCalcFields napises
Table1CisloRecordu.Value := Table1.RecNo;

To prece musi chodit.

> No to jsem zkousel ale nevim jak to pocitat, pousti to totiz udalost OnCalc
> kdy se tomu zachce a v ruznem poradi
>
> >
> > > Zdravim!
> > >
> > > Mam nasledujici prosbu na vas, pouzivam komponentu TTable ve spojeni s
> TDBGrid nad dbf tabulkou a chtel bych v TDBGridu zobrazit cislo radku,
> poradite mi jak na to?
> >
> > Asi nejjednodussi bude vytvorit si Calculated Field.
> > >
> > > Dik moc Pavel Polak
> > >
> >
>
>
>
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


TQUERY a nutnost definovat vlastnost DATABASE

[*] krydval(zv)expandia(tec)com - 20.10.1999 11:51:59

> Zdravim!
>
> Mam takovyto dotaz, potrebuju spustit dotaz SQL nad obycejnym souborem DBF,
> ale mam definovan vubec alias pro databazi, jde to?
****Misto aliasu muzes zadat cestu.


Slavek

> Pavel Polak

None

[*] Radek Zitta <Radek.Zitta(zv)gyza(tec)cz> - 20.10.1999 10:53:01 met

Nevi nekdo o dobre komponente, ktera by natahovala co nejvice
grafickych souboru ruznych typu (PCX,GIF,JPEG,TIF,.......)

waitformultipleobject

[*] Petr Fejfar <callnet(zv)telecom(tec)cz> - 20.10.1999 13:15:40

Daniel Rott <roxton(zv)atlas(tec)cz>

>Nechybi za tim CreateProcess
>CloseHandle(ProcessInfo.hThread)
>kdyz jej uz nevyuzivas ? :-)

Hi,

jak to, ze ho nepouziva? Vzdyt prece to handle se pouziva jako argument pro WaitForMultipleObjects(), ktery se dostane do stavu signaled v okamziku, kdy proces skonci. Teprve pak ho spravne zavre.

bye pf, callnet(zv)telecom(tec)cz

Outlook Express

[*] Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz> - 20.10.1999 13:16:35

> Vytvor si novou vzorovou Win Logo aplikaci (New, Projects,
> Win Logo Application) a prostuduj si vzor.
> Outlook Express musi byt nastaven jako Simple MAPI klient !!!

Tohle reseni funguje tak (pokud se nepletu), ze vyvola novou zpravu, kterou
ja pak rucne vyplnim. Ja potrebuji neco jineho. Vytvorit zpravu s predem
zadanym adresatem (z nejake databaze), s vyplnenym subjektem a textem
(pripadne prilohou). Tu pak zaradit do slozky POSTA K ODESLANI a az pak
pustim nekdy Outlook Express a spojim se s providerem, posta odejde.

Zahadny problem

[*] Ji�� Kr�l jr. - 20.10.1999 13:21:48

doporucuji Ti nainstalovat si ty SP a navic i upgrade BDE na 5.1
Ja jsem mel jine problemy (s MS SQL 7) a vyresily to ty upgrady ANIZ by ty
me problemy byly vyjmenovany ve fixech/bugach/known issues.
Na Delphi DevDays jsem se rozcilil, nebot tam otevrene rekli, ze D4 byl dost
problematicky release a ze mrak firem zustal u D3. ...braly me mory, mluvili
tam o vecech (napr. nerefresh autoincrement fieldu po postu na SQL server -
coz je pekne sfinstfo u master/detail vazeb) ktere nebyly vubec opraveny v
SP ackoliv SPu pro D4 bylo jak maku
doufej ze tvuj problem zmizi...

Jirka Kral
admin(zv)printo.com

Aplikacni logika was:autoincrement - Interbase

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 20.10.1999 13:23:42



> -----P�vodn� zpr�va-----
> Od: Pavel Cisar [mailto:pcisar(zv)aktis(tec)cz]
> Odesl�no: 20. ��jna 1999 11:16
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re: Aplikacni logika was:autoincrement - Interbase
>
>
> Haj hou!
>
> From: Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz>
> >Vyvijis-li rozsahlejsi IS, nad kterym chces provozovat vice
> >klientskych aplikaci a chces zabezpecit dalsi rozvoj plus prihodne
> >podminky pro vyvoj, je vrstva ulozenych procedur asi nejlepsim mistem
> >pro aplikacni logiku.
>
> Moznosti jazyka ulozenych procedur nejsou a dlouho nebudou
> takove, jako
> moznosti "beznych" jazyku jako OP nebo C++. Obor problemu ktere lze
> efektivne realizovat ulozenymi procedurami je omezeny. Kdyz
> clovek narazi na
> hranice, je cas polozit si otazku: Kdyz ne vsechno na
> serveru, tedy jak
> mnoho ?

Nevim, co myslis lepsimi moznostmi jazyku. Treba to, ze
C++ umoznuje pouzivat nebezpecne konstrukce jako je prace s pointery?
To je obrovska vyhoda, doufam, ze to poznas, az budes ridit
tym deseti lidi, kteri budou takove veci pouzivat.

Naopak ulozene procedury pro databazove aplikace staci,
jestli potrebujes delat slozite vypocty, budovat struktury
objektu a ja nevim co jeste, musis to samozrejme udelat jinde,
nikdo netvrdil opak. Ale pripada mi, ze jsme se dostali uplne nekam
jinam, nez kde vsechno zacalo, a to pouzivani autoinkrementu
v databazove C-S aplikaci.

> >A cpat aplikacni logiku do kazdeho z techto programu nebo jenom
> >do aplikacnich objektu vyuzivanych nejakou skupinou techto programu
> >by privodilo pri pozadavku na drobnou upravu nebo opravu chyby
> >rozsahle zmeny, opakovane kompilace ruznych aplikaci, atd...
> >Pritom staci rychla zmena jedne ulozene procedury.
>
> Zalezi na situaci. Nekdy je jednodussi vymenit DLL na serveru ,-)

Zkousel jsem to na UNIXU, AS400 a nikde mi DLL nejelo :-(

> >No jo, to je ale pouze velmi zuzeny pohled na SW. Po
> informacnim systemu
> >nikdo nemuze chtit, aby se prodaval v krabicich jako treba
> Delphi nebo
> >Office.
>
> Ale kdepak :-) Rada takovych systemu existuje. Ne kazdy
> system musi byt
> "implementovan" a trvale osetrovan vyskolenym personalem.

:-) To je mozne, ale prave takoveto systemy musi byt ohybany
a doplnovany o specificke potreby organizace. Uz jenom kvuli
terminologii - tu ma kazda organizace trochu jinou a ocekava,
ze to bude jeji IS respektovat.

> >Nejaky pozadavek prenositelnosti na jine platformy je namiste
> >u drobnych aplikaci a utilit, ale ne u zakazkoveho SW.
>
> Hmm, takze takovy SAP R/3 je drobna aplikace nebo utilitka.
> To si musim
> zapamatovat :-)))

To prave souvisi s predchozi narazkou. Rekl bych, ze to je ta vec,
ktera se neda nainstalovat a pouzivat. A k tomu, aby mohla byt nasazena
pro realne potreby organizace, musi byt dovyvijena. Tim namitka pada.

> >Navic na me pusobi dojmem, ze tu prenositelnost mas na mysli pouze
> >na jedne strane - a to u databazi. co taklhle prenositelnost na jinou
> >platformu?
> >Pri prechodu napr. od Windowsovych klientu a Informixu pro Win NT
> >na homogeni unixovou platformu muzes zahodit aplikacni objekty
> >ale pouzit muzes vsechny ulozene procedury, a to temer beze zmeny.
>
> Delphi je zatim jen na Win32, ale takove C++ je vsude. CORBA
> funguje take
> vsude a pres TCP/IP lze cokoliv udelat prenositelne a heterogeni.

C++ je vsude, ale s jeho prenositelnosti bych byl spise opatrny.
Mozna by se dalo uvazovat o C.
CORBA samozrejme pouzit pujde, jenomze ono se taky da chodit
s kanonem na komara. A zakaznikum se trochu lepe nabizi
jednomu Informix pro NT, druhemu Informix pro UNIX
nez jednomu Informix pro NT + CORBA a druhemu Informix pro UNIX + CORBA.

Jura


Existuje SQL databaza zadarmo na Windows ?

[*] Martin <geoplan(zv)pp.sinet.sk> - 20.10.1999 13:27:30

Spr�va vo form�te MIME rozdelen� na viac �ast�.

ako je to s rychlostou ? Mam databazu v DBF. Je umiestnena na servri. Este ked bol program robeny v DBASE tak to islo dost dobre aj na starsichch pocitacoch(486 16 mb ram, W95) ale ked som to prerobil do Delphi je to velmi pomale. Bude to rychlejsie ak to dam na SQL server , napr PostgreSQL ? Je to iba mala databaza, tak okolo 5000 poloziek v dvoch tabulkach. Potrebujem to asi pre 4 uzivatelov. Server sluzi zatial ako suborovy, ma 128 MB a PII 350 MHZ.

Ako je to s vytvaranim tabuliek v SQL servroch ? Napr. PostgreSQl alebo InterBase ? Su tam nejake nastroje , alebo sa musia tabulky vytvarat iba pomocou SQL prikazov ?

Martin
-----P�vodn� spr�va-----
Od: Milan Nemec <nemec(zv)goldcard(tec)cz>
Pre: delphi-l(zv)fwd(tec)cz <delphi-l(zv)fwd(tec)cz>
D�tum: 5. ��jna 1999 8:07
Predmet: Re: Existuje SQL databaza zadarmo na Windows ?


Ne, jedna se o instalaci pro Windows NT.
Nejdriv se musi nainstalovat cygwin, ktery
do windows prida nektere funkce, ktere jsou standardni
v unixu. PostgreSQL tyto funkce totiz pouziva.

Je to instalace pro Windows.
=====================

ODBC driver funguje dobre.
Po instalaci driver neni hned v uzivatelskem DSN,
musis ho pridat tlacitkem Pridat atd.
Ale nejdriv si nainstaluj server a pak ODBC driver.


Milan


----- Original Message -----
From: Zden�k B�hm
To: delphi-l(zv)fwd(tec)cz
Sent: Monday, October 04, 1999 12:26 PM
Subject: Re: Existuje SQL databaza zadarmo na Windows ?


Ahoj Milane,

nespletl ses trochu? To readme je psane pro Unix. Je tvoje kompilace skutecne pro Win32?
Pak se taky zajimave chovaji ODBC drivery. Po instalaci to napise, ze bylo nainstalovano, ale kdyz se podivam do seznamu ODBC driveru, tak tam nic nepribyde.

Zdenek


----- Original Message -----
From: Milan Nemec
To: delphi-l(zv)fwd(tec)cz
Sent: Monday, October 04, 1999 7:06 AM
Subject: Re: Existuje SQL databaza zadarmo na Windows ?


Jestli to chces zkompilovat, tak ve zdrojakach mas readme.

Kdyz si stahnes ode mne zkompilovanou verzi, je tam jednoduche
redme jak se to nainstaluje az po uzivani.

ODBC driver se nainstaluje tim, ze spustis instalacni program.
Pak k tomu pristupujes jak k ostatnim ODBC zdrojum.

Milan
----- Original Message -----
From: Pavel Medek
To: delphi-l(zv)fwd(tec)cz
Sent: Friday, October 01, 1999 3:12 PM
Subject: Re: Existuje SQL databaza zadarmo na Windows ?


Milane,

nemohl by jsi tady strucne popsat jak je potreba postupovat.
Myslim tim jak naistalovat PostgreSQL, ODBC a jak k tomu
pristupovat z Delphi. Myslim, ze nejsem jediny, ktereho by to
zajimalo, ale protoze od D1 az do D5 delam pouze v Paradoxu
tak mam trosku mezery jak se s podobnymi vecmi vubec naklada.
Ja proste nevim co mam kam nakopirovat a spustit atd.



Diky predem

Pavel Medek


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


Ano PostgreSQL.
Je volna i ke komercnimu pouziti (bez omezeni).

Zkompiloval jsem ji, takze ji nemusite kompilovat.
Je tam popis jak se instaluje a konfiguruje.
http://members.xoom.com/milan70/indexc.html

Zdrojaky a dokumentace na
www.postgresql.org

ODBC driver je na
http://www.insightdist.com/psqlodbc/

Komponenty pro pbrazky

[*] Tomas Gura <tgura(zv)NOTIA.CZ> - 20.10.1999 13:34:46

zkus to tady

http://imagelib.com



Tom� G�ra
Notia IS spol. s r. o.
V Ol�in�ch 709/45
100 00 Praha 10
tel. 67313764-5
fax. 67313752


-----P�vodn� zpr�va-----
Od: Radek Zitta [mailto:Radek.Zitta(zv)gyza(tec)cz]
Odesl�no: 20. ��jna 1999 12:53
Komu: delphi-l(zv)fwd(tec)cz
P�edm�t:


Nevi nekdo o dobre komponente, ktera by natahovala co nejvice
grafickych souboru ruznych typu (PCX,GIF,JPEG,TIF,.......)

Ulozene procedury v Access MDB

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 20.10.1999 13:50:33

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.

Dobry den vsem,

kdyz se tu mluvi o ulozenych procedurach, vite prosim nekdo
jak je pouzivat na databazi vytvorenou v MS Accessu (mdb) ???

Vytvoril jsem si akcni dotaz a myslel jsem, ze se objevi
v seznamu ulozenych procedur, ale nic. Ale vzpominam si, ze jsem
si s tim jednou nejak hral a ze se ten akcni dotaz v tom seznamu
objevil. Bohuzel uz nevim jak a nyni se mi to nedari a nedari.

S tim souvisi i druhy dotaz, jak predavat parametry te procedure ?

Rekneme, ze mam v mdb definovany takovyto akcni dotaz :
UPDATE
t_tab1
SET
Nazev="Kukurukukuuu"
WHERE
ID=[Zadejte osobni cislo :];

(pro Ty, kteri to nevi, tak [xxx] je parametr dotazu
a po jeho spusteni (toho dotazu; a z accessu !)
se objevi male dialogove okno, a zepta se na hodnotu
jaka se tam misto toho [xxx] ma dosadit)

Tak nevim, jak ten parametr tam poslat z Delphi.

Diky za kazdou radu.

Dobra.

zaklady C/S

[*] Admin Account <sales(zv)nocomment.sk> - 20.10.1999 14:03:32

> komponentach a vkladani dat do databaze pak vyhradne pres
> ulozene procedury nebo pripadne pomoci SQL prikazu. Je to sice
> pracnejsi, ale vyplati se to.

toto ma zaujalo... mohol by si nejaky maly priklad, preco vkladat via
stored proc?


d.

rw


autoincrement - Interbase

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 20.10.1999 14:25:24

> -----P�vodn� zpr�va-----
> Od: Pavel Cisar [mailto:pcisar(zv)aktis(tec)cz]
> Odesl�no: 20. ��jna 1999 10:58
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re: autoincrement - Interbase

> > Ale myslim, ze bys nemel moc uhybat od tematu, rec byla o
> technologii
> > client/server. Ty v ni propagujes, aby klientske aplikace provadely
> selecty,
> > inserty updaty atp. Stejnym dechem si prejes, aby aplikacni
> > logika byla nekde ve zvlastnim modulu. Tedy autor zastava nazor,
> > ktery sam vyvraci.
> >
> > Ja mam podle Tebe zastarale nazory na rchitekturu client server,
> > ale pritom Ty pouzivas metody, jake staly u zrodu teto technologie
> > a byly vymyceny prichodem ulozenych procedur.
> >
>
> Neuhybam od tematu. Stale se jedna o C/S technologii, ale dnes uz C/S
> neznamena jen SQL databaze. Klienti a servery jsou vsude a vytvareji
> slozite, vzajemne propojene retezy sluzeb. Dnes se proste
> mezi databazovy
> server a UI vklada dalsi server(y), at uz ma jakoukoliv podobu a
> implementaci. V ramci tohoto meziserveru se pak daji mnohe
> problemy resit
> mnohem lepe (mysleno jednoduseni a flexibilneji)

Asi si neporozumime. Kdyz se rekne Client/Server aplikace,
je timto pojmem oznacovana aplikace s klientskou a serverovou stranou,
kde je serverem SQL databaze. Ty se tady tento pojem snazis zamenit
za vztah client/server, coz je vztah mezi dvema subjekty, v nemz
server plni nejake pozadavky klienta. Mohou to byt aplikace,
pocitace, aplikace a telefon - to je jedno. Ale Client Server aplikace
je vzite oznaceni pouzivane pro jednu pevne danou kategorii
programu. Svevolnym vykladem mates ucastniky diskuse. A kdyz reknes, ze
Tvuj klient v C/S aplikaci manipuluje s daty pomoci SQL prikazu,
nesmis se divit, ze jsem zdesen. Az kdyz reknes, ze tim klientem
vlastne myslis applikacni vrstvu v trochu novejsi technologii,
zni tyo uz rozumne. Neznamena to, ze bys komunikoval s nejakymi tupci,
kterym musis porad dokola vysvetlovat prinos distribuovaneho zpracovani.

> > A nevim, jak bys obhajoval duvernost aplikace, kdyz by si v
> klientskem
> > exe, ktery tvuj zakaznik rozsiri mezi svoje dealery nebo klienty,
> > kazdy precetl, ze urok k uctu se pripisuje prikazem UPDATE konta ...
>
> Oh, kolego :-) Toho se da docilit i jinymi spusoby nez ktere
> jste zvykly
> pouzivat vy.

Zajimalo by me, co jsem zvykly pouzivat. Myslel jsem, ze bych to mel
vedet spis ja. A rad bych dostal odpoved. Zkusim popsat vzniklou situaci
co nejkonkretneji.

Mam app.exe, ktery pouziva zakaznikuv klient. Protoze tuto aplikaci
jsi delal TY, je v ni generovani primarniho klice, jsou v ni prikazy
UPDATE a INSERT. K teto aplikaci ma pristup par tisic zamestnancu zakaznika
a kazdy z nich ma moznost si toto exe zobrazit v textovem editoru.
Muze tak vysledovat neco o strukture databaze, aby se mohl efektivneji
nabourat
do systemu. Zajimalo by mne, jaky efektivnejsi zpusob nez ze to v tom exe
nebude,
mohu pouzit.

Nekdo tady taky mluvil o jednoduchosti, tak jsem zvedav.

>
> > Proc si to myslis? Znam aplikaci C/S, ktera umi pracovat s ruznymi
> > databazemi a taky znam par objektu bezicich v aplikacnim serveru,
> > ktere jsou pevne svazany s konkretni DB.
> > Obavam se, ze sice o modernich technologiich neco malo vis,
> > ale pouzivas tady demagogicka prohlaseni. Aplikacni server sam
> > od sebe nic neusnadni.
>
> Vazeny kolego, to jsou necestne argumenty (pokud jde vubec o
> argumenty).

:-)))
To bylo vyvraceni necestneho argumentu.
Schvalne sem vratim to, cos odmazal (ruseni kontextu taky neni zrovna
sportovni):
[Pavel Cisar]
Navic
umisteni logiky do
AppServeru usnadnuje portaci aplikace na jiny SQL server atd. atd.
Doufam, ze dal nechces tvrdit, ze to je pravda.

> > > :-) Ty odpurce modernich technologii, slysels nekdy neco
> o Aplikacnim
> > > serveru a vicevrstve technologii ? :-)))))
> >
> > Praveze ja ano.
>
> Mno, a ja je navrhuji a pisu. To neuvadim jako dukaz
> spravnosti mych nazoru,

To ja taky. Takze jediny rozdil mezi nami je v tom,
ze nez jsme zacali psat vicevrstve aplikace, ja jsem
o nich aspon neco slysel? :-)

Jura


DBGrid

[*] Pavel Polak <pavelp(zv)bnsoft(tec)cz> - 20.10.1999 13:36:50

Presne tak jsem to udelal jenze pokud neco smazu v te tabulce tak to tam
jakoby zustava ale nezobrazuje se, takze kdyz poridim polozku nasledujici
tak mi to zvetsi RecNo o jedna od te predchozi, i kdyz tu predchozi smazu.
Delam to nad tabulkou DBF

Jo este me napada jedna vec, kdyz chvili delam s tou tabulkou tak mi
pribejvaji v adresari aplikace soubory
DEL1.MB
DEL2.MB
....
a dalsi , jak zabranim tomu aby se tvorili, nebo k cemu je mam?

Pavel Polak
> Vytvoris Calculated Field Napr. s Nazvem CisloRecordu v Tabulce
> Table1. Potom do OnCalcFields napises
> Table1CisloRecordu.Value := Table1.RecNo;
>
> To prece musi chodit.
>
> > No to jsem zkousel ale nevim jak to pocitat, pousti to totiz udalost
OnCalc
> > kdy se tomu zachce a v ruznem poradi
> >
> > >
> > > > Zdravim!
> > > >
> > > > Mam nasledujici prosbu na vas, pouzivam komponentu TTable ve spojeni
s
> > TDBGrid nad dbf tabulkou a chtel bych v TDBGridu zobrazit cislo radku,
> > poradite mi jak na to?
> > >
> > > Asi nejjednodussi bude vytvorit si Calculated Field.
> > > >
> > > > Dik moc Pavel Polak
> > > >
> > >
> >
> >
> >
>
>
> 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

Outlook Express

[*] Martin Koran <komar(zv)komar(tec)cz> - 20.10.1999 14:56:09

Ahoj,

> > Vytvor si novou vzorovou Win Logo aplikaci (New, Projects,
> > Win Logo Application) a prostuduj si vzor.
> > Outlook Express musi byt nastaven jako Simple MAPI klient !!!
>
> Tohle reseni funguje tak (pokud se nepletu), ze vyvola novou
> zpravu, kterou
> ja pak rucne vyplnim. Ja potrebuji neco jineho. Vytvorit
> zpravu s predem
> zadanym adresatem (z nejake databaze), s vyplnenym subjektem a textem
> (pripadne prilohou). Tu pak zaradit do slozky POSTA K
> ODESLANI a az pak
> pustim nekdy Outlook Express a spojim se s providerem, posta odejde.
>

nekde na to mam napsanou proceduru. Muzu ji poslat.
S pozdravem

Martin Koran


============================================
Martin Koran
KOMAR
Hilbertova 68
440 01 LOUNY

tel.: +420 (395) 65 40 19
fax: +420 (395) 65 53 85
hotline: +420 (602) 42 33 72

http://www.komar(tec)cz
mailto:komar(zv)komar(tec)cz

waitformultipleobject

[*] Daniel Rott <roxton(zv)atlas(tec)cz> - 20.10.1999 15:05:56

Pozor ! CreateProcess vytvori 2 ! Jeden pro proces a druhy
pro hlavni thread ! A ceka se na ukonceni procesu !

Daniel

----- Puvodni zprava -----
> Daniel Rott <roxton(zv)atlas(tec)cz>
>
> >Nechybi za tim CreateProcess
> >CloseHandle(ProcessInfo.hThread)
> >kdyz jej uz nevyuzivas ? :-)
>
> Hi,
>
> jak to, ze ho nepouziva? Vzdyt prece to handle se pouziva jako argument pro WaitForMultipleObjects(), ktery se dostane do stavu
signaled v okamziku, kdy proces skonci. Teprve pak ho spravne zavre.
>
> bye pf, callnet(zv)telecom(tec)cz
>
>
>

problemy s QuickRep

[*] Daniel Fojt�k <xfojtik(zv)albert.osu(tec)cz> - 20.10.1999 15:10:40

Mam jeden pravdepodobne velmi jednoduchy problem, ale sedim nad tim uz asi
dve hodiny:
Jak se v QuickREp definuje zapati za group?
V podstate mi jde o to jak za skupinou v sestave uvest sumu cen. Definovat
group se mi povedlo pomoci komponenty QRGroup, v ktere jsem definoval v
property expression podle ceho se ma skupina grupovat. No a obdobny postup
jsem ocekaval pro definici zapati. Nakonec jsem ale zjistil ze tam mam
pravdepodobne umistit komponentu QRBand s property bandtype nastavenou na
rbGroupFooter. Na ni jsem pak umistil QRExpr s vypoctem sumy cen.
Ovsem zapati se mi stale neukazuje - kde je problem? U zapati jsem nenasel
zadne property typu expression ani jiny zpusob jak ho navazat na danou
skupinu !!!

Diky za jakoukoliv radu,
Dan


Outlook Express

[*] Grubhoffer(zv)software602(tec)cz - 20.10.1999 15:35:02

A co takhle ve funkci MAPISendMessage nenastavovat flag MAPI DIALOG a adresata zapsat do struktury lpMessage.lpRecips, subject do lpMessage.lpszSubject, text do lpMessage.lpszNoteText, prilohy do lpMessage.lpFiles a jejich pocet do lpMessage.nFileCount ?


-----Puvodni zprava-----
Od: Libor.Krayzel(zv)czech-tv(tec)cz [mailto:Libor.Krayzel(zv)czech-tv(tec)cz]
Odeslano: 20. rijna 1999 13:17
Komu: "'delphi-l(zv)fwd(tec)cz'" <delphi-l(zv)fwd(tec)cz>; grubhoffer(zv)software602(tec)cz
Predmet: RE: Outlook Express


> Vytvor si novou vzorovou Win Logo aplikaci (New, Projects,
> Win Logo Application) a prostuduj si vzor.
> Outlook Express musi byt nastaven jako Simple MAPI klient !!!

Tohle reseni funguje tak (pokud se nepletu), ze vyvola novou zpravu, kterou
ja pak rucne vyplnim. Ja potrebuji neco jineho. Vytvorit zpravu s predem
zadanym adresatem (z nejake databaze), s vyplnenym subjektem a textem
(pripadne prilohou). Tu pak zaradit do slozky POSTA K ODESLANI a az pak
pustim nekdy Outlook Express a spojim se s providerem, posta odejde.

OT: Posledni verze COMCTL32.DLL

[*] martin.falta(zv)obi(tec)cz - 20.10.1999 16:46:03



Ahoj,

omlouvam se za OFF-TOPIC, ale potreboval bych vedet %subj%.

Diky
Martin

ODBC alebo BDE

[*] Michal Hlav�� - 20.10.1999 17:07:58

Zdravim,
potreboval by som napr. do listboxu vlozit pri spusteni projektu vsetky
UserDNS z ODBC resp. BDE, aby si mohol uzivatel vybrat databazu a
connect-nut sa na
nu. Malo by to byt string;

A este jeden dotaz. Da sa napojit databaza tak, aby nevyuzivala BDE. Len
cisto ODBC z Woknous

Dik
Michal Hlavac
Spolocnost priatelov deti z detskych domovov
Usmev ako dar

e-mail: 7hlavac(zv)nw.fmph.uniba.sk
web: www.usmev.sk

Odstraneni Scroll baru z DbGrid

[*] Pavel Bare� <Atoll(zv)telecom(tec)cz> - 20.10.1999 18:34:34

Nevite nekdo jak odstranit Scroll bar z DbGridu.
A proc tam vubec je, kdy� se tam vsechny zaznamy vejdou ?
Nekolikrat se mi dokonce stalo, za sam zmizel.

dekuji za radu

Pavel Bare�
Atoll s.r.o.

Problem: Formy

[*] johndelphi(zv)atlas(tec)cz - 20.10.1999 19:12:57


Hi,

posilam to po treti, doufejme, ze to konecne dorazi...

Mam v unitu fci, ktera zavola form: F1.showmodal. Ten pak zavola F2.show a ukonci se. Fce v unitu pak zavola F3.show a ja bych potreboval, aby se mezi F1 a F2 (to jde) ale tez mezi F2 a F3 dalo prepinat.

Nevite nekdo co s tim?

S pozdravem,

Lukas Gallina


ODBC alebo BDE

[*] Daniel Rott <roxton(zv)atlas(tec)cz> - 20.10.1999 19:17:09

Jak v BDE nevim, ale v ODBC na to je funkce
SQLDataSources, kterou ziskas seznam DSN.
Pripojis se potom pres SQLConnect, ale aby
ti to cele k necemu bylo tak bys musel nastu-
dovat cele SQL API. Mozna bude jednodussi
to udelat pres nejake komponenty.
V tom BDE to taky pujde nejakou metodou
na Session, neco jako GetAliasNames ...

Ahoj
Daniel

----- P�vodn� zpr�va -----
Od: Michal Hlav�� <7hlavac(zv)st.fmph.uniba.sk>
Komu: Delphi F�rum <delphi-l(zv)fwd(tec)cz>
Odesl�no: 20. ��jna 1999 17:07
P�edm�t: ODBC alebo BDE


> Zdravim,
> potreboval by som napr. do listboxu vlozit pri spusteni projektu vsetky
> UserDNS z ODBC resp. BDE, aby si mohol uzivatel vybrat databazu a
> connect-nut sa na
> nu. Malo by to byt string;
>
> A este jeden dotaz. Da sa napojit databaza tak, aby nevyuzivala BDE. Len
> cisto ODBC z Woknous
>
> Dik
> Michal Hlavac
> Spolocnost priatelov deti z detskych domovov
> Usmev ako dar
>
> e-mail: 7hlavac(zv)nw.fmph.uniba.sk
> web: www.usmev.sk
>
>
>

TADOStoredProc

[*] code2019(zv)post(tec)cz - 20.10.1999 19:18:59

Uz jsem na to dosel sam.
Takze jestli to teda nekoho zajima:
misto sp.Prepare; -> sp.Parameters.Refresh;
(ale pekne me to potrapilo)

--=Code2019=-- [code2019(zv)post(tec)cz]> Mam problem - chci pouzit TADOStoredProc, ale nevim jak z databaze vyloudit naplneni vlastnosti Parameters.
> V design-time to funguje, ale neumim to v run-time.
>
> ...
> sp := TADOStoredProc.Create(nil);
> sp.Connection := ADOConnection1;
> sp.ProcedureName := \'pTestProcedure\';
>
> // (zde jsem mel sp.Prepare; kdyz jsem pouzival TStoredProc, ale co u TADOStoredProc???)
>
> sp.Parameters.ParamByName(\'(zv)ID\').Value := 10; // <-vyhodi vyjimku, ze parametr neexistuje
> sp.Open;
> ...


Sledujte zpravodajstvi, TV-program, pocasi, kursy, ...:
*** http://PRESS.CZ

Outlook Express

[*] Burger, Tomas <tomas.burger(zv)sap(tec)com> - 20.10.1999 19:41:45

> -----Original Message-----
> From: Krayzel Libor [mailto:Libor.Krayzel(zv)czech-tv(tec)cz]

> ja pak rucne vyplnim. Ja potrebuji neco jineho. Vytvorit
> zpravu s predem
> zadanym adresatem (z nejake databaze), s vyplnenym subjektem a textem
> (pripadne prilohou). Tu pak zaradit do slozky POSTA K
> ODESLANI a az pak
> pustim nekdy Outlook Express a spojim se s providerem, posta odejde.

No, a ty bys pustil takovej soft na svuj komputer...?
Co kdyz ti odesle soubor nejakej pwl soubor nebo databazi telefonnich cisel
tvych pritelkyn...

Ne - ja chci pokazde videt tu message a pokazde vedome kliknout na "send"...

Tomas


Posledni verze COMCTL32.DLL

[*] Burger, Tomas <tomas.burger(zv)sap(tec)com> - 20.10.1999 19:45:09

> -----Original Message-----
> From: martin.falta(zv)obi(tec)cz [mailto:martin.falta(zv)obi(tec)cz]

> omlouvam se za OFF-TOPIC, ale potreboval bych vedet %subj%.

Ja mam "File version: 5.80" - asi jsem to chytil nekde z IE5kou, hlasi se to
jako knihovna z W2000, ale ja mam WinNT40 Wks, SP5...

Tomas


Outlook Express

[*] Jan Naiser <tua(zv)ltm(tec)cz> - 20.10.1999 19:52:40

Ahoj,

> prilohy do lpMessage.lpFiles a jejich pocet do lpMessage.nFileCount
?

toto jsem nerozchodil vice jak s jednou prilohou. Nekde v helpu je
dokonce o tom cosi napsano.

asi pred mesicem nebo dvema se to tu probiralo. Tusim, ze ten subj.
byl "mailto". Zkus pohledat v archivu. Trosku jsem s tim
experimentoval a jde to, pomoci funkci MAPI a tedy unity MAPI.PAS,
kterou ovsem musis trosku "ohnout". Alespon me to teda na W98 neslo
odeslat a rvalo mi to porad chybu c. 1 (user cancelled), coz byla
samozrejme blbost, ale souviselo to prave s kontrolou registru, a pak
mi poradil nekdo z konference a tak jsem nektere kontroly vyhodil a
rozchodilo se to. Mam s tim ale porad problemy pod W95 u zakaznika,
kde jsem to nerozchodil. Jinak se to chova pod W95 s OE5 i OE4 (chodi)
a jinak pod W95 s OE4 (nechodi). Nemel jsem cas se tim zabyvat dal,
ale za nejaky cas me to ceka.

Honza Naiser.

----- P�vodn� zpr�va -----
Od: <Grubhoffer(zv)software602(tec)cz>
Komu: <delphi-l(zv)fwd(tec)cz>
Odesl�no: 20. ��jna 1999 15:35
P�edm�t: RE: Outlook Express


A co takhle ve funkci MAPISendMessage nenastavovat flag MAPI_DIALOG a
adresata zapsat do struktury lpMessage.lpRecips, subject do
lpMessage.lpszSubject, text do lpMessage.lpszNoteText, prilohy do
lpMessage.lpFiles a jejich pocet do lpMessage.nFileCount ?


-----Puvodni zprava-----
Od: Libor.Krayzel(zv)czech-tv(tec)cz [mailto:Libor.Krayzel(zv)czech-tv(tec)cz]
Odeslano: 20. rijna 1999 13:17
Komu: "'delphi-l(zv)fwd(tec)cz'" <delphi-l(zv)fwd(tec)cz>; grubhoffer(zv)software602(tec)cz
Predmet: RE: Outlook Express


> Vytvor si novou vzorovou Win Logo aplikaci (New, Projects,
> Win Logo Application) a prostuduj si vzor.
> Outlook Express musi byt nastaven jako Simple MAPI klient !!!

Tohle reseni funguje tak (pokud se nepletu), ze vyvola novou zpravu,
kterou
ja pak rucne vyplnim. Ja potrebuji neco jineho. Vytvorit zpravu s
predem
zadanym adresatem (z nejake databaze), s vyplnenym subjektem a textem
(pripadne prilohou). Tu pak zaradit do slozky POSTA K ODESLANI a az
pak
pustim nekdy Outlook Express a spojim se s providerem, posta odejde.

OT: Manual k MySQL

[*] Kry�tof Hoder <hoder(zv)seznam(tec)cz> - 20.10.1999 20:20:07

Nazdar
Sory za off-topic, ale celkem bych se chtel naucit delat s databazema, a tak
hledam na Inetu nejakej (pokud mozno ceskej) manual k MySQL pro Linux.

Thanx. Krystof


Odesilani SMS

[*] Daniel Resler - ATC Group <daniel_resler(zv)atcgroup(tec)cz> - 20.10.1999 21:13:27

Nevite jakym zpusobem lze odesilat SMS, je na to nejaka komponenta nebo popis ?

diky

Daniel Resler

OT: Co je s email.seznam.cz

[*] Kry�tof Hoder <hoder(zv)seznam(tec)cz> - 20.10.1999 22:11:57

Omlouvam se za dalsi off-topic, ale vazde bych zemrel nebo by alespon telef.
ucty prerostly penezenku.

Mate nekdo take problemy s email.seznam(tec)cz?
Me uz druhy den u nich nefunguje POP3, ptal jsem se tamnich adminu, ale ti
se jaksi neobtezovali s odpovedi. Pristup pres www je v pohode, ale
potrebuje abych byl v dobe cteni on-line.

Dik za informace a jeste jednou sory.
Krystof


Odesilani SMS

[*] Burger, Tomas <tomas.burger(zv)sap(tec)com> - 20.10.1999 22:17:58

-----Original Message-----
From: Daniel Resler - ATC Group [mailto:daniel_resler(zv)atcgroup(tec)cz]
> Nevite jakym zpusobem lze odesilat SMS, je na to nejaka komponenta nebo
popis ?

Ja to delam tak, ze posilam na <tel.cislo>(zv)sms.<operator>(tec)cz normalne
message via SMTP protokol...
Tomas

Zahadne kousani delfina - reseni

[*] Pavel Malinsk� <spiderland(zv)seznam(tec)cz> - 20.10.1999 22:56:17

----- P�vodn� zpr�va -----
Od: Hrabi of Chmeliste <MHrabanek(zv)merlin(tec)cz>
Komu: <delphi-l(zv)fwd(tec)cz>
Odesl�no: 18. ��jna 1999 19:11
P�edm�t: Re: Zahadne kousani delfina - reseni


>> to je presne ono. Kazdy kdo si porad stezuje, ze se mu Wokna kousou,
by
>> se mel nejprve podivat na cem dela. Predevsim se vyvarovat HW Made In
NoName
>> nebo Made In Lepic:-)). Me Wokna nepadnou a nepadnou:-((( (jen kdyz jim
>> pomuzu.).
>>
> Jo, v podstate pravda. Protoze je spousta typu a konfiguraci a moznosti
> sestaveni, nelze zarucit, ze vsechno pobezi uplne idelane... Takze prece
> stacilo, aby Bill pro sve bilionove konto podporil amigu a jeji
nemodalnost
> a mel by prachy a jeste by na nej nikdo nenadaval a system by byl
stabilni,
> ne?.... NE!

A proc by to delal:-))

> Teda vlastne IMHO ne a dle billa vlastne taky ;-). Vyvoj by tim asi byl
> brzden (rad bych polemizoval, nebo rozebiral, ale nekde jinde - kazdopadne
> se kouknete na zivot, jak casto pada a jak bourlive se vyviji a jak je cim
> dal slozitejsi a drazsi :-).
> Paklize si koupis od microsoftu oficialne schvaleny komp, nechas to
> instalovat od firmy a v zivote tam nic nepridas, nic neprenastavis, je
velka

Na to, abych mel slapajici stroj nepotrebuju schvaleni MS ani
instalatery.

> pravdepodobnost, ze jsi snizil riziko problemu. Tedy je-li ta firma ferova
a
> dela to co by mela (coz nedela zadna, ale nektere se k tomu blizeji vic,
> nektere min). To je fajn.... teda, to je nuda. A navic, diky okolnostem
mas

Nerek bych, ze se vsichni snazi jen rejzovat na ukor kvality.

> za dva roky srot na vyhozeni.

Dokud mi staci, proc bych tomu mel rikat srot.

> And btw, takova ukazka krasne funkcnosti USB scaneru je myslim docela
znama,
> ne? To si myslis, ze tam nechali ten komp nainstalovat lepice z no-name
> neotestovanych soucastek??? :-]]]]].

Myslet si nemuzu nic, kdyz jsem tam nebyl...

Koncim s touto diskusi!

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

zaklady C/S

[*] Ing. Jaroslav Ske��k - 20.10.1999 23:08:54

> > komponentach a vkladani dat do databaze pak vyhradne pres
> > ulozene procedury nebo pripadne pomoci SQL prikazu. Je to sice
> > pracnejsi, ale vyplati se to.
>
> toto ma zaujalo... mohol by si nejaky maly priklad, preco vkladat via
> stored proc?
>
No a mohl bys nejakej malej priklad proc ne??
Jaro

waitformultipleobject

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 20.10.1999 23:14:42

Daniel Rott wrote:
>
> Nechybi za tim CreateProcess
> CloseHandle(ProcessInfo.hThread)
> kdyz jej uz nevyuzivas ? :-)

Ahoj,

Huh ! Mas pravdu, chybi to tam, nejak jsem na nej zapomel :-)

--

Petr Vones, amatersky programator

DBGrid

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 20.10.1999 23:14:32

Pavel Polak wrote:
>
> Presne tak jsem to udelal jenze pokud neco smazu v te tabulce tak to tam
> jakoby zustava ale nezobrazuje se, takze kdyz poridim polozku nasledujici
> tak mi to zvetsi RecNo o jedna od te predchozi, i kdyz tu predchozi smazu.
> Delam to nad tabulkou DBF

Ahoj,

To souhlasi, zaznam se oznaci jako smazany, ale v tabulce zustava.

> Jo este me napada jedna vec, kdyz chvili delam s tou tabulkou tak mi
> pribejvaji v adresari aplikace soubory
> DEL1.MB
> DEL2.MB

Patrne pouzivas CachedUpdates, tyhle soubory si pri tom vytvari BDE.

--

Petr Vones, amatersky programator

Aplikacni logika was:autoincrement - Interbase

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 20.10.1999 23:16:19

Polak Jiri wrote:
> > Moznosti jazyka ulozenych procedur nejsou a dlouho nebudou takove, jako
> > moznosti "beznych" jazyku jako OP nebo C++. Obor problemu ktere lze
> > efektivne realizovat ulozenymi procedurami je omezeny. Kdyz clovek
> > narazi na hranice, je cas polozit si otazku: Kdyz ne vsechno na serveru,
> > tedy jak mnoho ?
>
> Nevim, co myslis lepsimi moznostmi jazyku. Treba to, ze C++ umoznuje
> pouzivat nebezpecne konstrukce jako je prace s pointery?

Ahoj,

V tehle debate to bude asi trochu off-topic, ale praci s pointery bych
povazoval za zakladni znalost pri programovani (tyka se jak OP tak C++).
Nechapu proc by mely byt razeny mezi "nebezpecne konstrukce". Patrne tu
slo o to, ze libovolny kompilacni jazyk zvladne urcite ulohy lepe nez
ulozene procedury. Samozrejme ze pri jeho pouziti se nelze schovavat za
"blbovzdornost" interpretovaneho kodu a je treba si vice davat pozor na
to co delam. Vysledek se ale jiste vyplati. Navic dnesni systemy umoznuji
pomerne dobre resit pripadne kriticke chyby (viz strukturovana obsluha
vyjimek). V databazich se nikterak moc nevyznam, nevim tedy jake jsou
napriklad moznosti ladeni kodu ulozenych procedur, ale pri pouziti OP
ci C++ je zde i pomerne dost moznosti ladeni (napriklad moznost ladeni
vice procesu a podobne).

--

Petr Vones, amatersky programator


Existuje SQL databaza zadarmo na Windows ?

[*] Ing. Jaroslav �ke��k - 20.10.1999 23:21:11

ako je to s rychlostou ? Mam databazu v DBF. Je umiestnena na servri. Este ked bol program robeny v DBASE tak to islo dost dobre aj na starsichch pocitacoch(486 16 mb ram, W95) ale ked som to prerobil do Delphi je to velmi pomale. Bude to rychlejsie ak to dam na SQL server , napr PostgreSQL ? Je to iba mala databaza, tak okolo 5000 poloziek v dvoch tabulkach. Potrebujem to asi pre 4 uzivatelov. Server sluzi zatial ako suborovy, ma 128 MB a PII 350 MHZ.
----
To bude do znacne miry zalezet na tom, jak to dobre naprogramujes. Pro datove servery je to nepatny objem dat.

Ako je to s vytvaranim tabuliek v SQL servroch ? Napr. PostgreSQl alebo InterBase ? Su tam nejake nastroje , alebo sa musia tabulky vytvarat iba pomocou SQL prikazov ?
----
Pro Interbasi existuje velmi sikovny system Marathon. Bohuzel vsak nepatri mezi nejlevnejsi.
Dale existuji ruzne CASE nastroje, ktere umoznuji velmi efektivne navrhovat datove struktury
vcetne graficke definice vazeb, zajisteni integrity relaci, cizich klicu a pod.
Kdyz se podivas sem: www.rksoft(tec)cz
tak tam naajdes cesky nastroj pro snadnou tvorbu databazi. Ten ma oproti zahranicnim tu
vyhodu, ze je velmi levnej. Pritom umi vetsinu u nas prodavanych serveru a navrh
s tim je graficky prehledny a opravdu snadny.
Jaro


OT: Co je s email.seznam.cz

[*] eL <eL_z_Prahy(zv)seznam(tec)cz> - 21.10.1999 01:38:08

Dne 20. ��jna 1999 v 22:11 Kry�tof Hoder napsal(a):
>
> Omlouvam se za dalsi off-topic, ale vazde bych zemrel nebo by alespon telef.
> ucty prerostly penezenku.
>
> Mate nekdo take problemy s email.seznam(tec)cz?
> Me uz druhy den u nich nefunguje POP3, ptal jsem se tamnich adminu, ale ti
> se jaksi neobtezovali s odpovedi. Pristup pres www je v pohode, ale
> potrebuje abych byl v dobe cteni on-line.
>
> Dik za informace a jeste jednou sory.
> Krystof
>
>

Taky mi to nejde.

eL..

Zpr�vu �. 1 nelze p�evz�t. ��et: 'DELPHI', Server: 'pop3.seznam(tec)cz', Protokol: POP3, Odezva serveru: '-ERR unable to open that message', Port: 110, Zabezpe�en� (SSL): Ne, Chyba serveru: 0x800CCC90, ��slo chyby: 0x800420CD



-- http://email.seznam(tec)cz
-- email zdarma na cely zivot


DCOM - Interface not supported

[*] Tom� Br�dle������i�^����? - 21.10.1999 02:11:12

Zdravim vsechny,

prosel jsem v konferenci temata o DCOMu a nenasel jsem nikde zminku o mem
nasledujicim problemu.

Mam dva pocitace s Win9x (jeden Win95, druhy Win98,
oba s IE4.01 SP 1), DCOM server a client. Server zaregistruji na obou
pocitacich. V klientovi se pokusim pripojit pomoci
CoClass.CreateRemote('POCITAC'). Pri teto akci mi vybehne vyjimka Interface
not supported. Zkusil jsem i dat na oba pocitace pouze protokol TCP/IP. DCOM
server jsem spustil, pry se v Win9x nedokaze sam "nahodit". Nic z toho
nepomohlo.

Tak teda nevim, musi se neco jeste nastavovat nebo v cem muze byt chyba ?
Nesetkal se s tim nekdo ?

Predem diky

Tomas Bradle
t.bradle(zv)pvtnet(tec)cz


Outlook Express

[*] Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz> - 21.10.1999 07:09:04

> No, a ty bys pustil takovej soft na svuj komputer...?
> Co kdyz ti odesle soubor nejakej pwl soubor nebo databazi
> telefonnich cisel
> tvych pritelkyn...

:-))

> Ne - ja chci pokazde videt tu message a pokazde vedome
> kliknout na "send"...

Ani to by mi nevadilo.

IB

[*] Martin <geoplan(zv)pp.sinet.sk> - 21.10.1999 07:23:38

Spr�va vo form�te MIME rozdelen� na viac �ast�.

zdravim,

nainstaloval som bde a klientsku aplikaciu, len v bde nemam alias pre IB. Ak si ho zalozim co mam napisat do nazvu serveru ? IB je na inom pocitaci.

Martin


OT: ceske zakony

[*] Martin <geoplan(zv)pp.sinet.sk> - 21.10.1999 07:24:34

Spr�va vo form�te MIME rozdelen� na viac �ast�.

nevie niekto ci sa na internete nachadza zbierka ceskych zakonov s bezplatnym pristupom ?

Martin


zaklady C/S

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 21.10.1999 07:40:43

Admin Account wrote:

> > komponentach a vkladani dat do databaze pak vyhradne pres
> > ulozene procedury nebo pripadne pomoci SQL prikazu. Je to sice
> > pracnejsi, ale vyplati se to.
>
> toto ma zaujalo... mohol by si nejaky maly priklad, preco vkladat via
> stored proc?

Zacnu nejdrive obecne vkladanim pres SQL prikaz (INSERT INTO
tab(...) VALUES(...)). Na skoleni Delphi + databaze predvadim
rozdil mezi vkladanim pres SQL prikaz a vedle toho systemem
Table Insert ... Post - na SQL databazi (obdobne pro delete).
Hezky merim casovou narocnost obou procesu. Zdeseni
posluchacu z mnohonasobneho rozdilu ve vykonu bylo nelicene. :-)

Ulozena procedura muze slouzit jednak k urcitemu utajeni datove
struktury, jak zde jiz padlo, jednak tam muzes v ramci jedne
transakce osetrit radu veci, vazby na jine tabulky, udelat potrebne
kontroly atp. Pokud se insert nepovede, muzes si nechat vratit i
kod chyby, ktery jinak byva znacne vagni.


S pozdravem

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


TADOStoredProc

[*] Martin Kubecka <martin.kubecka(zv)amenit(tec)cz> - 21.10.1999 08:06:34

code2019(zv)post(tec)cz wrote:

> Uz jsem na to dosel sam.
> Takze jestli to teda nekoho zajima:
> misto sp.Prepare; -> sp.Parameters.Refresh;
> (ale pekne me to potrapilo)

Jo s tim jsem se taky sveho casu nadrel ;-) Jeste to jde tak, ze se nejdrive ty parametry vytvori (vcetne typu
parametru) a pak se naplni, ale to mi z Delphi nechodilo zrovna nejlepe. Ten Refresh chodi OK, ale zase to
zpomaluje, protoze se to musi ptat serveru...

Mac

problemy s QuickRep

[*] Marek Hradil <marekhr(zv)benefitcz(tec)cz> - 21.10.1999 08:06:01

[P��loha v souboru: marekhr.vcf]
Toto je zpr�va z v�ce ��st� ve form�tu MIME.

Daniel Fojt�k p�e:

> Mam jeden pravdepodobne velmi jednoduchy problem, ale sedim nad tim uz asi
> dve hodiny:
> Jak se v QuickREp definuje zapati za group?
> V podstate mi jde o to jak za skupinou v sestave uvest sumu cen. Definovat
> group se mi povedlo pomoci komponenty QRGroup, v ktere jsem definoval v
> property expression podle ceho se ma skupina grupovat. No a obdobny postup
> jsem ocekaval pro definici zapati. Nakonec jsem ale zjistil ze tam mam
> pravdepodobne umistit komponentu QRBand s property bandtype nastavenou na
> rbGroupFooter. Na ni jsem pak umistil QRExpr s vypoctem sumy cen.
> Ovsem zapati se mi stale neukazuje - kde je problem? U zapati jsem nenasel
> zadne property typu expression ani jiny zpusob jak ho navazat na danou
> skupinu !!!
>
> Diky za jakoukoliv radu,
> Dan

U bandu typu QRGroup nastav propertu FooterBand na pozadovany band.

QuickReprt po tretie

[*] Martin Kubecka <martin.kubecka(zv)amenit(tec)cz> - 21.10.1999 08:11:02

Zkus upresnit verzi Delphi, verzi QR atd. ;-)

Mac

Tibor Galik wrote:

> Existuje tu niekto, kto robi v QR. Ako ste riesili podobne zostavy, alebo take nemate?

V QR dela obcas snad kazdy ;-)

> Mam nejake zostavy v QuickReporte a mam problem:
> Nastavil som podkladovu farbu a oramovanie pre band a AutoStretch=true, AutoSize=false. AutoStretch mi funguje, cize rozdeli dlhy riadok na viac riadkov, ale podkladova farba a ramcek ostane iba v prvom riadku.
> Ako to riesit?

Hodne veci jsem mimo jine vyresil aktualizaci QR z www.qusoft.com ;-)

OT: Posledni verze COMCTL32.DLL

[*] Martin Kubecka <martin.kubecka(zv)amenit(tec)cz> - 21.10.1999 08:16:15

Tady stahnes posledni - ty cisla jsou desna ;-)

http://www.microsoft.com/msdownload/ieplatform/ie/comctrlx86.asp

Mac

martin.falta(zv)obi(tec)cz wrote:

> omlouvam se za OFF-TOPIC, ale potreboval bych vedet %subj%.

Odstraneni Scroll baru z DbGrid

[*] Martin Kubecka <martin.kubecka(zv)amenit(tec)cz> - 21.10.1999 08:18:41

Shodou okolnosti jsem vcera zkousel DBGrid od GExperts a pisou ze umi
vypnout horizontalni scrollbar (vertikalni nevim). Je to se zdrojakama a
umi i checkboxy pro boolean hodnoty (mimo jine). Nevypada spatne - free
w. source.

Mac

Pavel Bare� wrote:

> Nevite nekdo jak odstranit Scroll bar z DbGridu.A proc tam vubec je,
> kdy� se tam vsechny zaznamy vejdou ?Nekolikrat se mi dokonce stalo, za
> sam zmizel.

ceske zakony

[*] Jirka <jnagy(zv)nh-trans(tec)cz> - 21.10.1999 08:18:32

www.sbirka(tec)cz
-----P�vodn� zpr�va-----
Od: Martin <geoplan(zv)pp.sinet.sk>
Komu: delphi-l(zv)fwd(tec)cz <delphi-l(zv)fwd(tec)cz>
Datum: 21. ��jna 1999 7:20
P�edm�t: OT: ceske zakony


nevie niekto ci sa na internete nachadza zbierka ceskych zakonov s bezplatnym pristupom ?

Martin


Hot-key V IDE

[*] Dalibor Honus <dhonus(zv)iname(tec)com> - 21.10.1999 08:21:04

Zdravim

Nevite nahodou nekdo, jak se dali vypnout(resp prenastavit)
hotkey v delpi (myslim v IDE).

Dale bych potreboval ovladac klavesnice pro WIN98, aby se chovala jako v
UNIXU (po dobu stisknuti praveho ALT se prepne na anglickou).

Predem diky.

Cau.

----------------------------------
Dalibor Honus
FotoMorava s.r.o.
tel. office: 0656 - 721 190 kl. 45
----------------------------------

© Delphi.cz, program netcode.cz, 2008-9.