Archív konference Delphi

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

Komponenty ZEOS a SQL

[*] Branislav Zaujec <bzaujec(zv)zoznam.sk> - 12.3.2007 15:55:22

Ja tiez pouzivam ZEOS komponenty s MySql, ale pre porovnanie prazdneho
datumu som musel pouzit datum='0000-00-00 00:00:00', iba vtedy mi to
fungovalo korektne

Jiri Matejka wrote / napisal(a):
> Rek bych ze to mas spravne, nevim na jake databazi to mas, ale podminka
> "field IS NULL" je treba v MySQL nebo SQL serveru korektni. Jeste se da
> pouzit fce ISNULL(field). Jestli nebude problem v te druhe podmince...
> Pouzivam Zeos 6.6.0 na MySQL 4.x, 5.x, D6Prof, s timto sem problem nikdy
> nemel.
>
> Jirka Matejka
>
>
>> Pouzivam v D7, W XP komponenty ZEOS pro pristup do databaze. Potrebuji
>> zobrazit zaznamy, ktere nemaji vyplnenu jednu polozku. Domnival jsem se,
>> ze provedu nasledujici:
>>
>> SELECT * FROM operace WHERE ((rok=:arok) AND (datum IS NULL))
>>
>> ale nedostanu vubec nic. Jak spravne porovnavat s hodnotou NULL?
>>
>>
>
>
>
>

IBX a FB 2.0

[*] Jan Diblik <diblik(zv)gmail(tec)com> - 12.3.2007 16:07:23

On 3/12/07, Jan Naiser <tua(zv)wo(tec)cz> wrote:
> Preji pekny den,
>
> pred casem jsem zde psal dotaz ohledne zmizeni zalozky Interbase Admin u IBX
> komponent. Nakonec jsem dosel k zaveru, ze za to muze FB 2, resp. test na
> verzi knihovny v IDDBReg.pas. Je pozadovana verze knihovny gds32.dll >= 6,
> coz FB 1.5 splnuje neb hlasi WI-V6.3.4.4910, kdezto verze 2 uz hlasi
> WI-V2.0.1.12810 a tim padem ibx komponenty z teto zalozky nenatahne. IBX je
> posledni verze 11.
>
> Vite o nejakem reseni?
>
> Diky, Honza.

Me pomohlo po nainstalovani Firebirdu 2 a zmizeni Interbase Admin
komponent nainstalovat starsi verzi (Firebird 1 - pouze minimalni
instalace). Tim se gds32.dll ve slozce Windows prepise tou starsi. A
novou gds32.dll jsem dal primo do adresare aplikace, takze komunikace
s Firebirdem 2 take funguje.

Jan Diblik

IBX a FB 2.0

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 12.3.2007 16:01:23

Dat mu dll z FB1.5 :)), nebo opravit IDDBReg.pas.

Slavek

> pred casem jsem zde psal dotaz ohledne zmizeni zalozky
> Interbase Admin u IBX
> komponent. Nakonec jsem dosel k zaveru, ze za to muze FB 2,
> resp. test na
> verzi knihovny v IDDBReg.pas. Je pozadovana verze knihovny
> gds32.dll >= 6,
> coz FB 1.5 splnuje neb hlasi WI-V6.3.4.4910, kdezto verze 2 uz hlasi
> WI-V2.0.1.12810 a tim padem ibx komponenty z teto zalozky
> nenatahne. IBX je
> posledni verze 11.
>
> Vite o nejakem reseni?
>
> Diky, Honza.
>
>
>
>

IBX a FB 2.0

[*] Jan Naiser <tua(zv)wo(tec)cz> - 12.3.2007 15:53:22

Preji pekny den,

pred casem jsem zde psal dotaz ohledne zmizeni zalozky Interbase Admin u IBX
komponent. Nakonec jsem dosel k zaveru, ze za to muze FB 2, resp. test na
verzi knihovny v IDDBReg.pas. Je pozadovana verze knihovny gds32.dll >= 6,
coz FB 1.5 splnuje neb hlasi WI-V6.3.4.4910, kdezto verze 2 uz hlasi
WI-V2.0.1.12810 a tim padem ibx komponenty z teto zalozky nenatahne. IBX je
posledni verze 11.

Vite o nejakem reseni?

Diky, Honza.

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] Peter Ondras <konfery(zv)pse.sk> - 13.3.2007 10:06:37

mam select POLE from TABULKA
a potreboval by som cosi ako
select round(POLE) from TABULKA
kde round by mi zaokruhlilo des. cislo na cele cislo smerom nahor
existuje nieco vo FB 1.5?

dik

Peter Ondras

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 13.3.2007 10:22:38

Peter Ondras wrote:
> kde round by mi zaokruhlilo des. cislo na cele cislo smerom nahor

Prevod na int udela zaokrouhleni. Nahoru (doufam) staci pricist 0,5 pred
zaokrouhlenim.

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 13.3.2007 10:30:39

Ahoj,

Peter Ondras napsal(a):
> select round(POLE) from TABULKA
> kde round by mi zaokruhlilo des. cislo na cele cislo smerom nahor
> existuje nieco vo FB 1.5?

zkus:

select
cast(pole + 0.4 as numeric(10, 0)) as pole
from
...

Peca

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 13.3.2007 10:46:40

Ahoj,

Jiri Cincura napsal(a):
> Prevod na int udela zaokrouhleni. Nahoru (doufam) staci pricist 0,5 pred
> zaokrouhlenim.

to je moc: 15 + 0.5 = 15.5, coz je po zaokrouhleni 16.

Peca

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] Hlas <hlas(zv)inmail.sk> - 13.3.2007 10:42:40

skusam toto:

select ceiling(V0067), V0067, cast((V0067+0.5) as INTEGER) from PM_00

ceiling zda sa ze funguje, ten cast nie, ak je hodnota v poli 0 vrati 1

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] Hlas <hlas(zv)inmail.sk> - 13.3.2007 10:50:41

select ceiling(3.01), ceiling(V0067), V0067, cast((V0067+0.499) as
INTEGER) from PM_00

tot zda sa bezi

ten ceiling je fcia FB? alebo to zalezi na tom co za UDF je tam
nainstalovana?

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 13.3.2007 11:10:42

> ten ceiling je fcia FB?

je ve standardne instalovany IB UDF

Peca

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 13.3.2007 10:52:41

Coz je podle matematickeho i podle statistickeho zaokrouhlovani v poradku

S pozdravem

Milan Tomes


petr palicka napsal(a):
> Jiri Cincura napsal(a):
>
>> Prevod na int udela zaokrouhleni. Nahoru (doufam) staci pricist 0,5 pred
>> zaokrouhlenim.
>>
>
> to je moc: 15 + 0.5 = 15.5, coz je po zaokrouhleni 16.
>

synapse a priebeh stahovania suboru

[*] Ivan Dulgerov <ivan.dulgerov(zv)sazp.sk> - 13.3.2007 12:22:47

Zdravim.

Mozete ma prosim niekto poradit ako pri pouziti
HttpGetBinary zo Synapse zobrazit priebeh stahovania suboru?

--
S pozdravom

Ivan Dulgerov CEI SAZP Programator

Tajovskeho 28
97590 Banska Bystrica
tel: 048 4374144
ICQ : 190698607
mail : ivan.dulgerov(zv)sazp.sk

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 13.3.2007 13:04:50

Zdravim.

Milan Tomes napsal(a):
> Coz je podle matematickeho i podle statistickeho zaokrouhlovani v poradku

Pockej, tobe pripada v poradku, ze 15 zaokrouhleno nahoru je 16?
To bylo puvodni zadani. ja reaguji, ze pricitat 0.5 a potom
zaokrouhlit, aby to bylo vzdy nahoru je spatne, protoze cele cislo se
timto "zaokrouhlenim" o 1 zvysi.
Pravda je, ze kdys budu mit 16.1 a prictu "jen" 0.4, dostanu pri
statistickem zaokrouhleni, ktere FB standardne pouziva, opet 16. Coz
taky neni dobre.

Takze zaver je, bud pouzi UDF funkci ceiling, nebo to napsat jako
podmineny vyraz (strilim to od boku, mozna by to chtelo doladit):

cast(case
when (cast(POLE as numeric(7, 0)) < POLE)
then POLE+1
else POLE
end as numeric(7, 0))

> Milan Tomes

Peca

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 13.3.2007 13:08:50

Aha... Trosku jsem se ukvapil... Mel jsem namysli, ze 15.5 zaokrouhleno
nahoru je 16 :)

S pozdravem

Milan Tomes


petr palicka napsal(a):
> Zdravim.
>
> Milan Tomes napsal(a):
>
>> Coz je podle matematickeho i podle statistickeho zaokrouhlovani v poradku
>>
>
> Pockej, tobe pripada v poradku, ze 15 zaokrouhleno nahoru je 16?
>
>
>> Milan Tomes
>>
>
> Peca
>
>
>

synapse a priebeh stahovania suboru

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 13.3.2007 14:12:55

> Mozete ma prosim niekto poradit ako pri pouziti
> HttpGetBinary zo Synapse zobrazit priebeh stahovania suboru?

Nijak. Je to jen ukazkova funkce, abys vedel jak pracovat s tridou
THttpSend, ktera sama o sobe toho umi mnohem mnohem vice, mimojine i
ten prubeh stahovani.

Takze bud puzivej primo tridu THttpSend, a vyuzij eventu
THttpSend.sock.onstatus, nebo si napis vlastni funkci na stahovani
podle vzoru HttpGetBinary, ale to sledovani prubehu si tam dopln.

Na wiki strankach synapse je ohledne tech progressbaru i clanecek.


--
Lukas Gebauer.

E-mail: gebauerl(zv)mlp(tec)cz
http://synapse.ararat(tec)cz/ - Ararat Synapse - TCP/IP Lib.

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] Milan Dvorak <dvorak(zv)gymzn(tec)cz> - 13.3.2007 18:25:12

Mozna by problem se zaokrouhlovanim mohlo vyresit nasledujici:

http://rfunc.sourceforge.net/

Jedna z funkci se tam primo jmenuje Round (f, i)

Milan Dvorak

>>> konfery(zv)pse.sk 13.3.2007 10:06:37 >>>
mam select POLE from TABULKA
a potreboval by som cosi ako
select round(POLE) from TABULKA
kde round by mi zaokruhlilo des. cislo na cele cislo smerom nahor
existuje nieco vo FB 1.5?

dik

Peter Ondras

Fultextove prohledavani v Interbase/Firebirde

[*] ikozak(zv)tsw.sk - 13.3.2007 15:29:00


Dobry den,

nedavno som cital ze existuje moznost fulltextoveho prehladavania
Interbase/Firebirdu. Mate s tym niekto skusenosti? Tyka sa to aj prehladavania
textov umiestnenych v BLOBe? Pripadne textov v Blobe ulozenych vo formate
MSWord? Dakujem. S pozdravom Ivan Kozak

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 13.3.2007 15:02:59

petr palicka wrote:
> Ahoj,
>
> Jiri Cincura napsal(a):
>> Prevod na int udela zaokrouhleni. Nahoru (doufam) staci pricist 0,5 pred
>> zaokrouhlenim.
>
> to je moc: 15 + 0.5 = 15.5, coz je po zaokrouhleni 16.

Ajo. Potom to bude chtit napsat fci, ktera to udela. Primo to asi nepujde.

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 13.3.2007 15:21:00

Takze, puvodni dotaz:
kde round by mi zaokruhlilo des. cislo na cele cislo smerom nahor existuje nieco
vo FB 1.5?
Tato funkce funguje tak, ze:
15.000000000000000000000000000000000000 je 15
15.000000000000000000000000000000000001 je 16
(tech nul necht si kazdy dopise kolik uzna za vhodne).
Predpokladam, ze takove je prani autora.

Jelikoz si hrat na presne 15 ve float pointu neni zrovna vhodne,
tak je to jen otazka kolik se pricte, kdy jiz 15 je 16.
Takze bud pouzit UDF (doporucuji, je to ciste reseni),
nebo pricist 0.499999999999999999999999999999999 (pocet devitek podle toho,
kolik devitek FB bude akceptovat).

Slavek

PS: Pred realizaci libovolneho "zaokroulovani" je treba si dukladne uvedomit,
jak jsou
reprezentovana cisla v pocitaci.

> > Jiri Cincura napsal(a):
> >> Prevod na int udela zaokrouhleni. Nahoru (doufam) staci
> pricist 0,5
> >> pred
> >> zaokrouhlenim.
> >
> > to je moc: 15 + 0.5 = 15.5, coz je po zaokrouhleni 16.
>
> Ajo. Potom to bude chtit napsat fci, ktera to udela. Primo to
> asi nepujde.
>
> --
> Jiri {x2} Cincura
> http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com
>
>
>

inno setup

[*] Petr Vetesnik <vetesnik(zv)gmail(tec)com> - 13.3.2007 21:49:25

Dobry vecer,

pomoci INNO setup chci udelat instalaci sveho programu.
Potreboval bych ale nastavit, aby se puvodni instalace MUSELA nejprve
odinstalovat a pokud neni odinstalovana, tak nedovolit instalovat.

Poradte prosim, co mam nastavit.

Predem dekuji

Petr Vetesnik

Fultextove prohledavani v Interbase/Firebirde

[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 14.3.2007 07:02:02

> Behalf Of ikozak(zv)tsw.sk
>
> nedavno som cital ze existuje moznost fulltextoveho prehladavania
> Interbase/Firebirdu. Mate s tym niekto skusenosti? Tyka sa to aj
> prehladavania
> textov umiestnenych v BLOBe? Pripadne textov v Blobe ulozenych vo formate
> MSWord? Dakujem. S pozdravom Ivan Kozak
>

Ahoj, IB moc neznam, ale pro fulltext pouzivam nastroj Rubicon2 viz
http://www.tamaracka.com/. Ma drivery pro ruzne databaze take pro IB/FB.
Je to sice komercni produkt, ale za 300$ toho umi celkem dost.

Igor Vodicka

Zaokruhlovanie v ramci selectu vo FB 1.5

[*] Ludek <konference(zv)sales(tec)cz> - 14.3.2007 10:52:16

----- Original Message -----
From: "Milan Tomes" <delphi(zv)haida(tec)cz>

> Coz je podle matematickeho i podle statistickeho zaokrouhlovani v poradku
>
> S pozdravem
>
> Milan Tomes

Zdravim,

Mam-li cislo 15 tak IMHO neni z zadneho hlediska spravne jej zaokrouhlit na 16 !!!!

Ludek

>
> petr palicka napsal(a):
>> Jiri Cincura napsal(a):
>>
>>> Prevod na int udela zaokrouhleni. Nahoru (doufam) staci pricist 0,5 pred
>>> zaokrouhlenim.
>>>
>>
>> to je moc: 15 + 0.5 = 15.5, coz je po zaokrouhleni 16.
>>
>
>

Optimalizace SQL - FB

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 14.3.2007 11:24:18

Ahoj,
ted zrovna resim jeden zajimavy problem.
Mam tabulku udalosti a kazda udalost
ma definovany zacatek a konec

Nejak takto:
create table udl(
id integer primary key,
bDate timestamp,
edate timestamp
);

Nad bdate a edate si mohu nadefinovat indexy dle vlastni volby.
Ted potrebuji napsat dotaz, ktery vybere vsechny probihajici
udalosti v dany okamzik:

select * from udl where bdate<=:okm and edate>=:okm;

Jen poznamka na okraj, tabulka ma desitky miliony zaznamu a dotaz
musi byt na beznem HW proveden do desitek ms (klade se velmi casto
na ruzne okamziky).

Takze jak nadefinovat indexy, pripadne jakou transformaci provest s daty ?

Jakekoliv napady vitany.

Slavek

PS: Pro Marka Kocana, takoveto problemy by nebylo spatne resit
na DB svete.:))

Ing. Slavomir Skopalik
Jednatel spolecnosti
Elekt Labs s.r.o.
Chaloupky 158
783 72 Velky Tynec
Czech Republic
--------------------------------------------
Mobil: +420 724 207 851
icq:199 118 333
e-mail:skopalik(zv)elektlabs(tec)cz
http://www.elektlabs(tec)cz


inno setup

[*] Petr Fejfar <petr.fejfar(zv)seznam(tec)cz> - 14.3.2007 12:16:22

Dne Tue, 13 Mar 2007 21:49:25 +0100 Petr Vetesnik <vetesnik(zv)gmail.com>
napsal/-a:

> pomoci INNO setup chci udelat instalaci sveho programu.
> Potreboval bych ale nastavit, aby se puvodni instalace MUSELA nejprve
> odinstalovat a pokud neni odinstalovana, tak nedovolit instalovat.

My to delame tak, ze v handleru CurPageChanged si odchytime
prechod na dalsi stranku (tusim wpLicense), v nem zjistime,
jestli je v registry v HKLM nebo HKCU ve vetvi
SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
ID nasi aplikace se suffixem "_is1" a jestli jo,
tak zobrazime dialog a posleme na WizardForm.Handle message WM_QUIT,
cimz instalator ukoncime.


HTH, pf

Optimalizace SQL - FB

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 14.3.2007 12:52:24

To buhuzel situaci neresi, s aktualnimy daty neni problem,
problem je, ze tento system klade dotazy i do historie.
Tj, jake udalosti (napriklad poruchy) byly aktivni
1.1.2005 v 6:00 rano ?
Je to soucast rozsahlejsi analyzy historickych obdobi
a pro spravnou funkci je treba zjistit, ktere udalosti do
sledovaneho obdobi vstupovali.

Slavek

> Mame neco podobneho, mame pomocnou tabulku do ktere jsou v
> triggeru after insert nad tou
> hlavni vkladany nove zaznamy a soucasne jsou z ni vybirany ty
> ktere uz nejsou aktualni,
> takze ackoliv hlavni tabulka utesene roste, tak ta pomocna ma
> vicemene konstantne cca 1000
> -5000 radku
>
> > Nejak takto:
> > create table udl(
> > id integer primary key,
> > bDate timestamp,
> > edate timestamp
> > );
> >
> > Nad bdate a edate si mohu nadefinovat indexy dle vlastni volby. Ted
> > potrebuji napsat dotaz, ktery vybere vsechny probihajici udalosti v
> > dany okamzik:
> >
> > select * from udl where bdate<=:okm and edate>=:okm;
> >
> > Jen poznamka na okraj, tabulka ma desitky miliony zaznamu a
> dotaz musi
> > byt na beznem HW proveden do desitek ms (klade se velmi
> casto na ruzne
> > okamziky).
> >
> > Takze jak nadefinovat indexy, pripadne jakou transformaci provest s
> > daty ?

Optimalizace SQL - FB

[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 14.3.2007 12:20:22

Mame neco podobneho, mame pomocnou tabulku do ktere jsou v triggeru after insert nad tou
hlavni vkladany nove zaznamy a soucasne jsou z ni vybirany ty ktere uz nejsou aktualni,
takze ackoliv hlavni tabulka utesene roste, tak ta pomocna ma vicemene konstantne cca 1000
-5000 radku

Tom

Slavomir Skopalik napsal(a):
> Ahoj,
> ted zrovna resim jeden zajimavy problem.
> Mam tabulku udalosti a kazda udalost
> ma definovany zacatek a konec
>
> Nejak takto:
> create table udl(
> id integer primary key,
> bDate timestamp,
> edate timestamp
> );
>
> Nad bdate a edate si mohu nadefinovat indexy dle vlastni volby.
> Ted potrebuji napsat dotaz, ktery vybere vsechny probihajici
> udalosti v dany okamzik:
>
> select * from udl where bdate<=:okm and edate>=:okm;
>
> Jen poznamka na okraj, tabulka ma desitky miliony zaznamu a dotaz
> musi byt na beznem HW proveden do desitek ms (klade se velmi casto
> na ruzne okamziky).
>
> Takze jak nadefinovat indexy, pripadne jakou transformaci provest s daty ?
>
> Jakekoliv napady vitany.
>
> Slavek
>
> PS: Pro Marka Kocana, takoveto problemy by nebylo spatne resit
> na DB svete.:))
>
> Ing. Slavomir Skopalik
> Jednatel spolecnosti
> Elekt Labs s.r.o.
> Chaloupky 158
> 783 72 Velky Tynec
> Czech Republic
> --------------------------------------------
> Mobil: +420 724 207 851
> icq:199 118 333
> e-mail:skopalik(zv)elektlabs(tec)cz
> http://www.elektlabs(tec)cz
>
>
>
>
>
>

Optimalizace SQL - FB

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 14.3.2007 12:58:25

Slavomir Skopalik wrote:
> Mam tabulku udalosti a kazda udalost
> ma definovany zacatek a konec

Struktura tabulky je pevne dana nebo je mozne ji pozmenit?

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

Optimalizace SQL - FB

[*] Tyslic Jiri <jiri.tyslic(zv)delfortgroup(tec)com> - 14.3.2007 13:38:28

Pokud se zapisuji data sekvencne tzn. udalosti jdou po sobe, tak by
stacilo nadefinovat Clustered index na StartDate a
dotaz by pak vypadal where StartDate >= (zv)Zacatek and StartDate < (zv)Konec.

Jiri Tyslic

> Ahoj,
> ted zrovna resim jeden zajimavy problem.
> Mam tabulku udalosti a kazda udalost
> ma definovany zacatek a konec
>
> Nejak takto:
> create table udl(
> id integer primary key,
> bDate timestamp,
> edate timestamp
> );
>
> Nad bdate a edate si mohu nadefinovat indexy dle vlastni
> volby. Ted potrebuji napsat dotaz, ktery vybere vsechny
> probihajici udalosti v dany okamzik:
>
> select * from udl where bdate<=:okm and edate>=:okm;
>
> Jen poznamka na okraj, tabulka ma desitky miliony zaznamu a
> dotaz musi byt na beznem HW proveden do desitek ms (klade se
> velmi casto na ruzne okamziky).
>
> Takze jak nadefinovat indexy, pripadne jakou transformaci
> provest s daty ?
>
> Jakekoliv napady vitany.
>

Optimalizace SQL - FB

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 14.3.2007 13:56:29

To je opacna uloha, to je vyhledani zaznamu v casovem intervalu,
to samorejme funguje dobre, ale potrebuji vyhledat interval v datech.

bDate jdou jakz tak po sobe, ale edate ne.
Jednou trva udalost 1 sec, jednou pul roku.

Ukolem je zjistit v dany okmazik probuhajici udalosti.
Tj. udalost mohla zacit pred minutou, zrovna tak mohla zacit
pred rokem a stale probiha.
Mozna by na to mohla byt odpoved v GIS systemech ?
Tam preci musi resit velmi podobne ulohy.

Slavek

PS: Clustered neni treba (a FB jej ani z architektonickych duvodu neumi).

>
> Pokud se zapisuji data sekvencne tzn. udalosti jdou po sobe,
> tak by stacilo nadefinovat Clustered index na StartDate a
> dotaz by pak vypadal where StartDate >= (zv)Zacatek and
> StartDate < (zv)Konec.
>
> Jiri Tyslic
>
> > Mam tabulku udalosti a kazda udalost
> > ma definovany zacatek a konec
> >
> > Nejak takto:
> > create table udl(
> > id integer primary key,
> > bDate timestamp,
> > edate timestamp
> > );
> >
> > Nad bdate a edate si mohu nadefinovat indexy dle vlastni
> > volby. Ted potrebuji napsat dotaz, ktery vybere vsechny
> > probihajici udalosti v dany okamzik:
> >
> > select * from udl where bdate<=:okm and edate>=:okm;
> >
> > Jen poznamka na okraj, tabulka ma desitky miliony zaznamu a
> > dotaz musi byt na beznem HW proveden do desitek ms (klade se
> > velmi casto na ruzne okamziky).

Optimalizace SQL - FB

[*] Jaroslav Bucek <jaroslav.bucek-kd(zv)seznam(tec)cz> - 14.3.2007 15:16:34

A co treba pridat si sloupec (aktivniUdalost bit), na kterou si nastavis
index a v nejakou rozumnou dobu (o pulnoci?), si nastavis u aktivnich
udalosti, zda jeste jsou aktivni. Samozrejme, kazde nove udalosti nastavis,
ze aktivni je. Toto se bude menit jen "o pulnoci". No a v prubehu dne, budes
posilat dotazy jen na udalosti, ktere aktivni jsou, cimz eliminujes vetsinu
zaznamu.

Jeste me napada, rozdelit to na dve tabulky a "o pulnoci" z te "aktivni"
tabulky presunout data do "neaktivni". Zase plati, ze budes muset i z te
aktivni tabulky tridit data na "aktivni" a "neaktivni", ale v rozumne mire.

S pozdravem
Jaroslav Bucek

----- Original Message -----
From: "Slavomir Skopalik" <skopalik(zv)elektlabs(tec)cz>> Ahoj,
> ted zrovna resim jeden zajimavy problem.
>
> Takze jak nadefinovat indexy, pripadne jakou transformaci provest s daty ?
>
> Jakekoliv napady vitany.
>
> Slavek

Optimalizace SQL - FB

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 14.3.2007 15:54:37

BTW (nemam tu ted nic na cem bych overil fungovani), ale kdyz udelas
slozeny index na start i end, nepomuze to? Optimalizator ho na 99%
vybere (coz myslim, ze u dvou indexu neudela) a muze ho pouzit na celou
podminku.

Jeste se zeptam z jineho soudku. Abysme vedeli, jak moc vlastne
optimalizovat (a hlavne kde), jak dlouho nyni trva prumerne odbaveni
dotazu? Jde mi o to, jestli dotaz bezi 4min a ty potrebujes 30ms, tak to
bude chtit asi prekopat strukturu. Naproti tomu jestli bezi 2s, tak
hratky s indexy (a mozna nejake predpocitane veci) by mohly pomoci.

Slavomir Skopalik wrote:
> Mozna by na to mohla byt odpoved v GIS systemech ?
> Tam preci musi resit velmi podobne ulohy.

V GISech se rozsahove dotazy vetsinou resi pres R-stromy nebo kd-stromy.
Ale na FB by sis to musel napsat sam, do nejakych pomocnych sloupcu.

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

Optimalizace SQL - FB

[*] Jan Novak <delfin4(zv)volny(tec)cz> - 15.3.2007 06:43:35

> select * from udl where bdate<=:okm and edate>=:okm;

Ja bych zavedl pomocny sloupec USEK_JE_DLOUHY takovy, aby podstatna
cast skutecnych useku byla kratsi nez MIN_DELKA_DLOUHEHO_USEKU a dotaz
by pak vypadal nejak takhle:

select * from udl where
((not DLOUHY) and bdate between(:okm-DELKA,:okm) and edate>=:okm)
or (DLOUHY and bdate<=:okm and edate>=:okm)

a pak slozeny index DLOUHY,bdate by pro kratke useky mel vysokou
selektivitu kvuli bdate a pro dlouhe useky kvuli DLOUHY.

Optimalizace SQL - FB

[*] Marek Kocan <kocan(zv)ebchod(tec)cz> - 14.3.2007 21:08:58

> Takze jak nadefinovat indexy, pripadne jakou transformaci provest s daty ?

Cau, kdysi v jedne aplikaci jsme to resili taky, ale tam slo vzdy o cele
dny, takze situace byla jednodussi -> udelali jsme obdobu bitmapovych indexu
a partitioningu (byla to historie prodeje leku u vyznamneho
velkodistributora). Pokud si dobre pamatuji, meli jsme tam dokonce dva
pohledy, kdy jeden byl pres end date a jeden pres start date (mysleno
fyzicke pohledy na data, ne view). KER

OT Nabidka prace - zkuseny Delphi programator

[*] Hanka Burianova <burianova(zv)timemaker.org> - 14.3.2007 17:42:45

Firma Identity&Compsale s.r.o. hleda schopneho a zkuseneho Delphi
programatora na projekt http://www.timemaker.org <http://www.timemaker.org/>
Jsme mala firma zabyvajici se vyvojem Leadership softwaru TimeMaker. Firma
se nachaiz 5 minut pesky od metra Flora.



Sve CV a pripadne dotazy prosim posilejte na e-mail Burianova(zv)timemaker.org



Pekny den



Hana Burianova

Identity CS

email: <mailto:burianova(zv)timemaker.org> burianova(zv)timemaker.org

phone: +420 266 711 703

Optimalizace SQL - FB

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 14.3.2007 17:36:44

No dnes jeden dotaz trva priblizne 200 - 400 ms (pri nactenych datech v cache),
ale vykonava se cca 10- 50 x pro ruzne okamziky.
Cil je 10 az 100 zrychleni a udrneni teto hodnoty bez vyrazne zavilosti na
dalsim narustu
databaze (nove zdroje dat, stare zustavaji).

> BTW (nemam tu ted nic na cem bych overil fungovani), ale kdyz udelas
> slozeny index na start i end, nepomuze to? Optimalizator ho na 99%
> vybere (coz myslim, ze u dvou indexu neudela) a muze ho
> pouzit na celou
> podminku.

Ano, ale pouzije z nej jenom pulku, protoze v nejhorsim pripade
bude jedne podmince vyhovovat vsechny zaznamy v DB.
Druhou cast nemuze pouzit, jelikoz tu lze pouzit jenom pro v pripade,
ze bychom testovali rovnost, nebo chteli poradi.
Teoreticky by mohl prohledavat pouze index, misto tabulky, ale
porad bude rychlost linearne klesat s poctem zaznamu.
Ve spravne DB aplikaci musi rychlost kleast s logaritmem poctu zaznamu.

>
> Jeste se zeptam z jineho soudku. Abysme vedeli, jak moc vlastne
> optimalizovat (a hlavne kde), jak dlouho nyni trva prumerne odbaveni
> dotazu? Jde mi o to, jestli dotaz bezi 4min a ty potrebujes
> 30ms, tak to
> bude chtit asi prekopat strukturu. Naproti tomu jestli bezi 2s, tak
> hratky s indexy (a mozna nejake predpocitane veci) by mohly pomoci.

Posledne co jsem psal, tak lze urychlit dotaz je prepsanim SQL (beze zmeny
indexu) i 10 000x.

Expresion indexy by sly pouzit pro velmi rychle zjisteni maximalni doby trvani
udalosti (zde musime vyslovit predpoklad, ze udalost bude vyrazne kratsi,
nez vlastni zaznam dat, v tomto pripade je tato podminka splnena, doba zaznamu
dat je cca 5 let) a omezit prohledavani selectu takto:

create desc index etest on udl COMPUTED BY (eDate-bDate);

nasledne pak:
select max(edate-tdate) from udl into :maxtime;

select * from udl where bdate between :okm-:maxtime AND :okm AND edate BETWEEN
:okm AND :okm+:maxtime;
Tim by se vyrazne omezil okruch vyhledavanych dat.


Slavek

Posun sloupcu v DBGridu

[*] Ladislav Stary <stary(zv)ekodat(tec)cz> - 14.3.2007 17:16:42

Tenhle problem jsem vyresil tak, ze si ukladam do tabulky databaze cely
objekt TDBGridColums pres jeho metodu SaveToStream a pri zobrazeni si to
opet prectu.
Tim se krome sirky sloupcu a poradi uklada i popis sloupcu. Pri
zobrazeni gridu si to zase z tabulky prectu.


Ladislav Stary



cz636704 napsal(a):

>Zdravim.Mam komponentu DBGrid.Po spusteni aplikace mohu primo v tabulce
>menit sirku sloupcu a sloupce presouvat
>vlevo,vpravo.Potrebuji,aby si aplikace zapamatovala zmenenou sirku
>sloupcu(na to uz jsem prisel),ale i pozici presunuteho sloupce.
>Idealni by bylo toto provest pres komponentu CheckListBox,ale nemohu
>prijit na kod,kterym toto zaridit.
>Jestli ma nekdo podobny problem?
>Dekuji
>
>

Posun sloupcu v DBGridu

[*] cz636704 <jiri.zyk(zv)worldonline(tec)cz> - 14.3.2007 16:58:41

Zdravim.Mam komponentu DBGrid.Po spusteni aplikace mohu primo v tabulce
menit sirku sloupcu a sloupce presouvat
vlevo,vpravo.Potrebuji,aby si aplikace zapamatovala zmenenou sirku
sloupcu(na to uz jsem prisel),ale i pozici presunuteho sloupce.
Idealni by bylo toto provest pres komponentu CheckListBox,ale nemohu
prijit na kod,kterym toto zaridit.
Jestli ma nekdo podobny problem?
Dekuji

Optimalizace SQL - FB

[*] roman bradA?AT <roman.bradac(zv)fotoinfo(tec)cz> - 15.3.2007 09:55:51

Pro zmenseni mnozstv+AO0- prohledavanych zaznamu, by se daly tabulky casove
oddelit, napriklad po mesici roce, ..
Pak by se musely projit tabulky s vyssim bDate a hledat jen eDate. Coz
by mohlo znamenat zrychleni vyhledavani
v poslednim obdobi, ale asi prodlouzeni vyhledavani v obdobi historicky
vzdalenejsim.

Roman


Optimalizace SQL - FB

[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 15.3.2007 10:17:52

roman bradA?AT napsal(a):
> Pro zmenseni mnozstv+AO0- prohledavanych zaznamu, by se daly tabulky casove
> oddelit, napriklad po mesici roce, ..

Tohle neni spatny napad, jen bych to udelal malinko jinak nez jak on navrhuje, vychazim z
toho ze te zajima pouze ktere ulohy jsou aktivni v jeden okamzik.

V tom pripade bych na tu velkou tabulku navesil trigger on insert (pokud v ni mazes nebo
upravujes, tak samozrejme i ty ostatni dva)

A vytvoril si redundantni tabulky udl200703, udl200704, ... vzdy pro kazdy mesic jednu a
do tech bych zapsal vsechny ulohy ktere byly aktivni v danem mesici, tj. nejen takove
ktere v tom mesici zacaly, ale i ty ktere v nem skoncily, nebo ktere zacaly pred a
skoncily po, cili spousta z nich by byla duplicitne ve vice tabulkach.

udl200703

ID START KONEC
45 1.1.2006 12.4.2007
567 2.3.2007 5.3.2007
678 20.3.2007 1.4.2007

Kdyz bys hledal ty aktivni, pouzil bys jen tabulku pro mesic toho okamziku.

Tom

Pristup na FTP pomoci TIdFTP

[*] Marek Dostal <konf(zv)agnis(tec)cz> - 15.3.2007 13:32:05

Potrebuji na FTP ukladat soubory a nacitat z FTP. Pouzil jsem komponentu TIdFTP, uspesne se pripojim ke konkretnimu FTP, pomoci metody Put mohu na FTP ulozit soubor, ale metoda List, ktera ma nacist seznam souboru a slozek z ftp se neprovede s chybovou hlaskou Permission denied. Jaka opravneni je potreba na FTP serveru nastavit, aby metoda List fungovala?

Marek Dostal
D7Prof, WinXP, FireBird 1.0, 1.5


Pristup na FTP pomoci TIdFTP

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 15.3.2007 13:54:07

Ahoj,
osobne pouzivam ke komunikaci s FTP serverem synapsi. Zatim uspesne a bez
jakychkoliv problemu.
Petr

On 3/15/07, Marek Dostal <konf(zv)agnis(tec)cz> wrote:
>
> Potrebuji na FTP ukladat soubory a nacitat z FTP. Pouzil jsem komponentu
> TIdFTP, uspesne se pripojim ke konkretnimu FTP, pomoci metody Put mohu na
> FTP ulozit soubor, ale metoda List, ktera ma nacist seznam souboru a slozek
> z ftp se neprovede s chybovou hlaskou Permission denied. Jaka opravneni je
> potreba na FTP serveru nastavit, aby metoda List fungovala?
>
> Marek Dostal
> D7Prof, WinXP, FireBird 1.0, 1.5

Optimalizace SQL - FB]

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 15.3.2007 13:50:06

Posilam odpoved od P. Cisare (+ muj komentar).

Muj komentar:
Vice mene se jedna o vytvoreni histogramu (clusteru), ktery pro diskretni casove
okamziky si bude pamatovat, ktere udalosti byly byt i po kratkou dobu v tomto
aktivni.

Ja si jen overuji, ze zadne hezke reseni neni :((,
budu muset zapraskat databazi pomocnyma tabulkama.
Popravde, budu se snazit najit nejake reseni, abych ty tabulky tam nemusel
davat, ale dany dotaz MUSIM zrychlit minimalne 10x.


Haj hou!

Slavomir Skopalik wrote:
> To je opacna uloha, to je vyhledani zaznamu v casovem intervalu, to
> samorejme funguje dobre, ale potrebuji vyhledat interval v datech.
>
> bDate jdou jakz tak po sobe, ale edate ne.
> Jednou trva udalost 1 sec, jednou pul roku.
>
> Ukolem je zjistit v dany okmazik probuhajici udalosti.
> Tj. udalost mohla zacit pred minutou, zrovna tak mohla zacit pred
> rokem a stale probiha. Mozna by na to mohla byt odpoved v GIS
> systemech ? Tam preci musi resit velmi podobne ulohy.

To mas chlape poradny problem :) Odpoved v ms na beznem HW pri desitkach milionu
zaznamu, to je orisek. Se stavajici strukturou dat se na potrebnou rychlost
nedostanes. Potrebujes to prevest na dotaz s rovnosti. Toho by se dalo dosahnout
tak, ze si data rozdelis do skupin a udelas dotaz na danou skupinu, cimz se
dostanes na rozumne mnozstvi dat ktere se uz da v danem case zpracovat (at uz
normalne indexem na serveru nebo natazenim na klienta a vyfiltrovanim v
aplikaci). Vypadalo by to asi tak, ze bys vytvoril dalsi tabulku:

table event_cluster (
id integer foreign key do primarni tanulky,
clusterid bigint - indexovano)

Pak si udelas statistiku dat, ze ktere ti vyplyne optimalni casovy usek pro
cluster (napr. v prumeru mas 1000 udalosti za den, nebo pul hodiny). Cislo
clusteru je proste sekvence od okamziku pocitani, interni inkrement je delka
bloku v case. Pak zbyva jen tabulku naplnit daty, coz
znamena:

1. Pri zapisu nove udalosti zapsat i zaznam o clusteru s akt. cislem clusteru.

2. Pri zapisu ukonceni udalosti (update) zapsat zaznam o aktualnim clusteru.

3. Jednou za dany casovy usek se vytvori zaznamy pro aktualni cluster pro
vsechny neukoncene udalosti.

Duplicitni zaznamy by v principu vadit nemely, ale pokud to budes filtrovat v
aplikaci, pak by to asi bylo lepsi bez nich. Jenze to znamena PK na
id+clusterid, coz zdrzi inserty. Existenci netreba nijak zvlast osetrovat,
proste se udela insert a odchyti pripadna chyba ktera se ignoruje.

Vysledkem je tabulka, ze ktere lze snadno vybrat udalosti ktere probihaly v
danem casovem useku. Pak uz staci jen naformulovat join z teto tabulky do
primarni pro cluster ktery odpovida pozadovanemu okamziku, a doodfiltrovat
nevyhovujici uz jen z tohoto bloku zaznamu (bud primo ve where nebo na
klientovi, co bude rychlejsi).

s pozdravem
Pavel Cisar
IBPhoenix


--
best regards
Pavel Cisar
IBPhoenix

Optimalizace SQL - FB]

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 15.3.2007 14:32:09

Slavomir Skopalik dne 15 Mar 2007 v 13:50:

> Ja si jen overuji, ze zadne hezke reseni neni :((,
> budu muset zapraskat databazi pomocnyma tabulkama.
> Popravde, budu se snazit najit nejake reseni, abych ty tabulky tam
> nemusel davat, ale dany dotaz MUSIM zrychlit minimalne 10x.

No, i podle toho povidani od Pavla Cisare to vypada, ze pomocna tabulka s "histogramem" by stacila jen jedna, takze by to
zas tak tragicke nebylo, ne? A s vhodne udelanymi trigery je to v podstate bezudrzbove. Jediny vetsi problem bych opravdu
videl v tech dosud neukoncenych udalostech - jak a zda vubec je zapsat do pomocne tabulky.

Karel Rys

Optimalizace SQL - FB]

[*] Petr Fejfar <petr.fejfar(zv)seznam(tec)cz> - 15.3.2007 15:04:11

Dne Thu, 15 Mar 2007 13:50:06 +0100 Slavomir Skopalik
<skopalik(zv)elektlabs(tec)cz> napsal/-a:> Ja si jen overuji, ze zadne hezke reseni neni :((,
> budu muset zapraskat databazi pomocnyma tabulkama.
> Popravde, budu se snazit najit nejake reseni, abych ty tabulky tam
> nemusel davat, ale dany dotaz MUSIM zrychlit minimalne 10x.

Jeste jsem si vzpomel, ze jsme jednou v systemu, kde se daly parovat
zacatky/konce, pouzivali pouze jeden zaznam, ktery jsme
vlozili na zacatku a na konci ho updatovali.

To by to mohlo castecne zjednodusit.


pf

Seminar "Belohrad 2007" 22.-23.5.2007

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 15.3.2007 18:12:24

Ahoj pratele.

Dnes jsem na webu aktualizoval informace o seminari.
(www.haes(tec)cz)

-
Seznam navrzenych temat se zmenil na seznam vice ci mene odsouhlasenych prednasek.
-
Konecne jsem stanovil cenu! Nebylo to jednoduche kvuli problemum s ubytovanim.
Cena je nakonec stejna jako lonii.
-
K dnesnimu dni je prihlaseno 55 ucastniku.
Na to, ze dosud nebyla stanovena cena, je to uz docela dost.

Ti z vas, kteri jsou uz prihlaseni, dostanou paralelnim mail.
Pokud ne, tak mam chybu v evidenci. Tak do me kopnete, at to napravim.

Mejte se

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

OT: Nabidka zamestnani pro 2 programatory/programa

[*] Ladislav Nagy <delphi-konference(zv)bcpraha(tec)com> - 16.3.2007 10:19:30

Softwarova firma Baader Computer, spol. s r.o. se zahranicni ucasti hleda
pro svou pobocku v Ceskych Budejovicich (pripadne v Praze, Brne nebo
Sumperku) dva programatory/programatorky.?
?
1. programator v Delphi - pozadujeme:?
.. zkusenosti s programovanim v Delphi?
.. zkusenosti s ADO, XML, UML, Java, PHP, automatickymi testy, Design
patterns vyhodou?

2. programator v Jave - pozadujeme:
.. zkusenosti s programovanim v Jave
.. zkusenosti s vyvojem pro webove nebo aplikacni servery, s vyvojovymi
frameworky a portalovymi resenimi vyhodou
(JSF, Tiles, Spring, Hibernate, JUnit, Portlets, JEE, Apache, Tomcat, .)
.. dale jsou vyhodou zkusenosti s Delphi, PHP, XML, UML, Design patterns
?
Dale pozadujeme pro obe pozice:?
.. schopnost ucit se nove veci?
.. spolehlivost, aktivni pristup k reseni problemu, samostatnost?
?
.. dobrou znalost principu OOP?
?
.. znalost SQL, zkusenosti s nekterym relacnim DBMS?
.. zkusenosti s Oracle a MSSQL vyhodou?
?
.. znalost prace s rutinnimi podpurnymi nastroji vyhodou (VCS, testovaci
nastroje, ...)?
?
.. obecna znalost systemu Windows, znalost Unix/Linux vyhodou.?
?
.. alespon pasivni znalost anglictiny na technicke urovni?
.. komunikativni znalost nemciny nebo anglictiny vyhodou?
?
Nabizime:?
.. dobre platove podminky?
.. praci na zajimavych projektech?
.. moznosti dalsiho vzdelavani?
.. mlady a mezinarodni pracovni kolektiv?
.. prijemne pracovni prostredi?
.. nastup mozny ihned?
?
Nabidka plati i pro cerstve absolventy a studenty poslednich rocniku
vysokoskolskeho studia informatiky. Do ukonceni studia je mozna prace na
castecny uvazek. Po jeho ukonceni lze zamestnance v pripade zajmu preradit
na jinou pobocku.?


Sve CV a pripadne dotazy prosim posilejte na e-mail uchazec(zv)bcpraha.com a ne
do konference.


S pozdravem Ladislav Nagy


Jak DYNAMICKY vytvorit kalkulovane pole na ClientD

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 16.3.2007 12:53:40

> Jak u ClientDataSetu pridat DYNAMICKY kalkulovane pole ? V helpu se pise
> o AddFieldDef. Dobra, ale jak mu po vytvoreni reknu, ze ma byt to pole
> kalkulovane ? Pokud bych to delal staticky, u pole je FieldKind ale
> dynamicky ???

Ja nevim, nezkousel jsem to, ale nevidim duvod, proc by se nedal FieldKind nastavit dynamicky v runtime.
Teda asi drive, nez ClientDataSet.Open.

Ale jak rikam, nezkousel.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

Jak DYNAMICKY vytvorit kalkulovane pole na ClientD

[*] ICC Vaclav Lukes <lukes(zv)icc.ans(tec)cz> - 16.3.2007 11:57:36

Ahoj,

prosim o radu (mam D6, WinXP).

Jak u ClientDataSetu pridat DYNAMICKY kalkulovane pole ? V helpu se pise
o AddFieldDef. Dobra, ale jak mu po vytvoreni reknu, ze ma byt to pole
kalkulovane ? Pokud bych to delal staticky, u pole je FieldKind ale
dynamicky ???

Diky

Vasek

Carovy kod CODE128B/C+Fast Report

[*] Jaroslav Kuba <jarda(zv)tresoft(tec)cz> - 16.3.2007 14:39:46

Ahoj,

prosim o radu (mam D6, WinXP). A Fast Report 3.22
a potrebuji tisknout carovy kod CODE128B/C coz ma byt patvar mezi CODE128B
a CODE128C
B se pouzije pro kodovani znaku v kodu a C se pouzije pro dvojici cisel.
Nemate nekdo zkusenosti s tiskem carovych kodu pro zasilky prepravni
sluzbe DPD

Diky
--
Jaroslav Kuba
Tresoft s.r.o
Prumyslova 1137
506 01 Jicin

+420 777 172 420
+420 493 544 422

OT: Programator, karlovarsky kraj

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 18.3.2007 18:01:13

Ahoj vsem nevytizenym nebo momentalne nezamestnanym programatorum :)

Hledame programatora z KV nebo okoli:

-Delphi, SQL, vyhodou PHP, .NET
-dlouhodobejsi spoluprace, podle dohody mozno na HPP, VPP nebo ZL
-moznost prace doma
-odpovidajici platove podminky

Pripadne reakce prosim na muj soukromy mail nebo tel. 606 652513

Martin Burle

OT: Programator v CB

[*] seznam1 <grajcar1(zv)seznam(tec)cz> - 18.3.2007 16:49:08

Hledame programatora se znalostmi Delphi pro dlouhodobou praci v Ceskych Budejovicich.
Radi bysme i nasledujici znalosti: OOP, zaklady SQL, HTML, Javascript.
pricemz nic z toho neni podminkou a vse se lze naucit casem.
Tez zaklady nemciny by se hodily, ale nejsou nutny.

Nabizime:
- slusnou odmenu
- flexibilni pracovni dobu (nejlepe 40 h tydne, ale lze se dohodnout i na polovine)
- moznost pracovat po zapracovani doma (zhruba polovinu prace)

Odpovidejte prosim na mejl grajcar1(zv)seznam(tec)cz nebo ICQ 309463406.

Martin Grajcar.

D6 - podtrzeni klavesovych zkratek v MainMenu

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 18.3.2007 01:04:06

Dobry den,

v Delphi 6 Pro mam hlavni formular s MainMenu. Vsechny polozky maji
prirazeny akce. Ve chvili, kdy potrebuju nejakou polozku hlavniho menu
skryt (Visible:=false), protoze vsechny podpolozky jsou uzivateli
nedostupne, dojde k tomu, ze se prestane zobrazovat podtrzeni
klavesovych zkratek v celem menu.

Netusite prosim nekdo, jak to opravit? Nekteri uzivatele napr. nemaji
co zapisovat v menu Ciselniky, ale ted nemohu celou tuhle vetev menu
skryt, protoze by zmizelo i to podtrhavani :(

Diky,

Karel Rys


nahrada znaku ve stringu

[*] Jan Novak <delfin4(zv)volny(tec)cz> - 17.3.2007 07:24:52

AnsiReplaceString ?

nahrada znaku ve stringu

[*] delphin(zv)post(tec)cz - 17.3.2007 01:24:29

> Mam primitivni dotaz..
>
> Mam string test := "123456";
>
> Potrebuji nahradit 3. znak od zacatku (zleva) za treba znak "0".
>
> Jak nejjednoduseji to provest?

if length(test)>=3 then test[3]:='0';

nahrada znaku ve stringu

[*] karel svoboda <sw68(zv)seznam(tec)cz> - 17.3.2007 00:24:24

Zdravim,

Mam primitivni dotaz..

Mam string test := "123456";

Potrebuji nahradit 3. znak od zacatku (zleva) za treba znak "0".

Jak nejjednoduseji to provest?

Pavel

nahrada znaku ve stringu

[*] Pavel Simek <p.simek(zv)svscr(tec)cz> - 17.3.2007 00:18:24

Zdravim,

Mam primitivni dotaz..

Mam string test := "123456";

Potrebuji nahradit 3. znak od zacatku (zleva) za treba znak "0".

Jak nejjednoduseji to provest?

Pavel


Carovy kod CODE128B/C+Fast Report

[*] Tyslic Jiri <jiri.tyslic(zv)delfortgroup(tec)com> - 16.3.2007 15:31:50

Pokud neni kod dlouhy, muzes klidne pouzit pouze CODE128B. Kod C se pouziva pouze pro kodovani cisel a je tudiz uspornejsi. Pokud chces tisknout co nejuspornejsi kod, tak se cislice koduji jako C a znaky jako B. Pokud je tedy kod (mysleno to co chces zakodovat) kratky, tak klidne pouzij pouze B.

Jiri Tyslic

> Ahoj,
>
> prosim o radu (mam D6, WinXP). A Fast Report 3.22
> a potrebuji tisknout carovy kod CODE128B/C coz ma byt patvar
> mezi CODE128B
> a CODE128C
> B se pouzije pro kodovani znaku v kodu a C se pouzije pro
> dvojici cisel. Nemate nekdo zkusenosti s tiskem carovych kodu
> pro zasilky prepravni
> sluzbe DPD
>
> Diky
> --
> Jaroslav Kuba
> Tresoft s.r.o
> Prumyslova 1137
> 506 01 Jicin
>
> +420 777 172 420
> +420 493 544 422
>
>
>
>

OT MySQL 5.0.37 W98

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 16.3.2007 15:27:50

Ahoj,
mysql na w98 bezi, ale nevim jestli petka, ja jsem mel k dispozici ctverku.
Stahl jsem si verzi v zipu, rozbalis a mas soubory. Pak otevres cmd,
nastavis se do adresare bin a napises myslqd -install. Ted nevim, jestli
toto bude fungovat, nejsem si jisty, mozna staci spustit jen mysqld.
Je nutne mit nastaveny dobre my.ini, jinak mam zkusenost, ze mysql server se
nespusti.
Petr


On 3/16/07, jiri(zv)bartonek(tec)cz <jiri(zv)bartonek(tec)cz> wrote:
>
> Ahoj,
>
> muj program vyuziva db MySQL.
> Bohuzel zakaznik (skola) neposkytne samostatny PC a DB musi jet na W98.
> verzi DB %subj% se mi nepodarilo na W98 rozjet.
>
> mate s tim nekdo nejakou zkusenost?

Carovy kod CODE128B/C+Fast Report

[*] Radek KALA <kala(zv)betacontrol(tec)cz> - 16.3.2007 15:17:49

Jak funguje ten B/C kod vim, ale bohuzel neznam fast Report pouzivat
Komponentu pro Quickreport kterou jsem si stahl i se zdrojakama a ten
B/C jinak nazyvany Auto jsem si tam doplnil sam

Co potrebujes pro DPD? tyhle stitky bezne tisknu a nenarazil jsem na problem

Jaroslav Kuba napsal(a):
> Ahoj,
>
> prosim o radu (mam D6, WinXP). A Fast Report 3.22
> a potrebuji tisknout carovy kod CODE128B/C coz ma byt patvar mezi CODE128B
> a CODE128C
> B se pouzije pro kodovani znaku v kodu a C se pouzije pro dvojici cisel.
> Nemate nekdo zkusenosti s tiskem carovych kodu pro zasilky prepravni
> sluzbe DPD
>
> Diky
>

OT MySQL 5.0.37 W98

[*] jiri(zv)bartonek(tec)cz - 16.3.2007 14:41:47

Ahoj,

muj program vyuziva db MySQL.
Bohuzel zakaznik (skola) neposkytne samostatny PC a DB musi jet na W98.
verzi DB %subj% se mi nepodarilo na W98 rozjet.

mate s tim nekdo nejakou zkusenost?

kazda pripominka vitana.

Dik
Jiri

Jak DYNAMICKY vytvorit kalkulovane pole na ClientD

[*] ICC Vaclav Lukes <lukes(zv)icc.ans(tec)cz> - 19.3.2007 11:58:24

Nejde to... :-(
V.
-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Jan Sebelik
Sent: Friday, March 16, 2007 12:54 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Jak DYNAMICKY vytvorit kalkulovane pole na ClientDataSetu ?

> Jak u ClientDataSetu pridat DYNAMICKY kalkulovane pole ? V helpu se
pise
> o AddFieldDef. Dobra, ale jak mu po vytvoreni reknu, ze ma byt to pole
> kalkulovane ? Pokud bych to delal staticky, u pole je FieldKind ale
> dynamicky ???

Ja nevim, nezkousel jsem to, ale nevidim duvod, proc by se nedal
FieldKind nastavit dynamicky v runtime.
Teda asi drive, nez ClientDataSet.Open.

Ale jak rikam, nezkousel.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

Jak DYNAMICKY vytvorit kalkulovane pole na ClientD

[*] Dalibor <dalibor(zv)torola(tec)cz> - 19.3.2007 12:12:26

Pokud by jsi nepotreboval primo kalkulovane pole tak to muzes resit pres
OnGetText, ale mozna jsem uplne mimo misu.

Priklad.

Field.OnGetText:=CasGetText;
...

procedure TCisSablona.CasGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if (Sender.IsNull) then Text:='' else Text:=FormatDateTime('hh:nn',
Sender.AsDateTime);
end;
>> Jak u ClientDataSetu pridat DYNAMICKY kalkulovane pole ? V helpu se
> pise
>> o AddFieldDef. Dobra, ale jak mu po vytvoreni reknu, ze ma byt to pole
>> kalkulovane ? Pokud bych to delal staticky, u pole je FieldKind ale
>> dynamicky ???
>

Jak DYNAMICKY vytvorit kalkulovane pole na ClientD

[*] Petr Vones <conference(zv)petrvones(tec)net> - 19.3.2007 12:32:27

From: "ICC Vaclav Lukes" <lukes(zv)icc.ans(tec)cz>
> Nejde to... :-(

Ani takhle ?
http://groups.google.com/group/borland.public.delphi.database.desktop/msg/456124ebfdf07337?hl=en

Petr Vones


Jak DYNAMICKY vytvorit kalkulovane pole na ClientD

[*] delphak(zv)centrum(tec)cz - 19.3.2007 12:44:28

To je krok spravnym smerem, ale pro vetsinu pripadu je to take nanic .. protoze to predpoklada ze data se berou z TTabble .. ale pokud mame CDS pripojenej nekam pres providera ..tak asi take neuspejeme (jednim krokem) ...

----- Original Message -----
From: "Petr Vones" <conference(zv)petrvones.net>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Monday, March 19, 2007 12:32 PM
Subject: Re: Jak DYNAMICKY vytvorit kalkulovane pole na ClientDataSetu ?> From: "ICC Vaclav Lukes" <lukes(zv)icc.ans(tec)cz>
> > Nejde to... :-(
>
> Ani takhle ?
> http://groups.google.com/group/borland.public.delphi.database.desktop/msg/456124ebfdf07337?hl=en
>
> Petr Vones
>
>
>
>
>

Oznaceni polozky v SELECT

[*] Zdenek Kubovec <zkubovec(zv)kdyne(tec)net> - 19.3.2007 18:42:52

Dobry den,
pokud chcete zapsat apostrof v retezci, pak jej musite zdvojit, cili

var s: string;

....

s := 'SELECT * FROM tabulka WHERE ID = ''polozka''';

S pranim hezkeho dne
Z.K.

On Mon, 19 Mar 2007 18:00:48 +-0100, Ing. Zdenek Gala <gala(zv)cathedral(tec)cz>
wrote:

> Dobry den,
> mam nasledujici problem. Jak napsat hodnotu v selectu. Napr. SELECT *
> FROM tabulka WHERE ID = 'polozka'. Tedy jak zadat ty apostrofy kolem
> slova polozka.
> Dik, Z.G.

Oznaceni polozky v SELECT

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 19.3.2007 18:10:49

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Ing. Zdenek Gala

Ahoj,

> mam nasledujici problem. Jak napsat hodnotu v selectu. Napr.
> SELECT * FROM tabulka WHERE ID = 'polozka'. Tedy jak zadat ty
> apostrofy kolem slova polozka.

Na jakem DB stroji?
Kde napsat? V kodu ? Pak ''polozka'' (zdvojene apostrofy).

Nebo lepe:

Query.SQL:= SELECT * FROM tabulka WHERE ID = :PARAM_ID;
Query.ParamByname('PARAM_ID').AsString:= 'polozka';


PM

Oznaceni polozky v SELECT

[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 19.3.2007 18:26:51

zdvojenim apostrofu: '''' oznacuje retezec obsahujici 1 apostrof

> Dobry den,
> mam nasledujici problem. Jak napsat hodnotu v selectu. Napr. SELECT * FROM
> tabulka WHERE ID = 'polozka'. Tedy jak zadat ty apostrofy kolem slova
> polozka.
> Dik, Z.G.
>

Oznaceni polozky v SELECT

[*] Michal S. <micsdelphi(zv)centrum(tec)cz> - 19.3.2007 18:10:49

No jestli myslis primo v Query.SQL, tak nasledovne:

SELECT * FROM tabulka WHERE ID = ''polozka''


Ale jinak je lepsi pouzivat parametry, napr.

SELECT * FROM tabulka WHERE ID = :Param1


a v aplikaci potom:

Query.ParamByName('Param1').Value:='polozka';

Zalezi co pouzivas za db komponenty, ale v zasade takto.

Michal S.> Dobry den,
> mam nasledujici problem. Jak napsat hodnotu v selectu. Napr. SELECT * FROM tabulka WHERE ID = 'polozka'.

Oznaceni polozky v SELECT

[*] Ing. Zdenek Gala <gala(zv)cathedral(tec)cz> - 19.3.2007 18:00:48

Dobry den,
mam nasledujici problem. Jak napsat hodnotu v selectu. Napr. SELECT * FROM tabulka WHERE ID = 'polozka'. Tedy jak zadat ty apostrofy kolem slova polozka.
Dik, Z.G.

prerekvizity instalace BDS2006 na WinXP x64

[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 19.3.2007 17:56:48

Mam na x86 i x64 vyzkouseno BDS2006. Chystam se jej nyni nainstalovat na
svem stroji kde mam WinXP x64 a jelikoz chci nainstalovat a pouzivat pouze
Delphi Win32 mam par dotazu - instalator nejdrive pozaduje prerekvizity:
.NET FW 1.1, Visual J# atd, nedovoli mi pokracovat bez jejich instalace ...
da se to nejak obejit kdyz chci vazne jen Delphi Win32 nebo i tak musim
FrameWork 1.1 a dalsi prerekivizity nainstalovat? Pokud musim coz i
predpokladam pak mam nainstalovat FrameWork 32bit nebo 64bit verzi?

OT: Nabidka prace

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 20.3.2007 06:57:39

Hleda se zkuseny ASP.NET SW inzenyr,
ktery by dokazal rozbehnout (a v pripade zajmu tez dale rozvijet)
projekt rozsahlejsiho informacniho systemu
(modularne pro oblast vyroby a verejne spravy)
a vest a prubezne zaucovat tym mladsich softwarovych designeru a programatoru.

Kontaktujte nas prosim na adrese RihaP(zv)email(tec)cz.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

ADO a Fox

[*] Jan Vavra <jvavra(zv)centrum(tec)cz> - 20.3.2007 17:26:21

Ja mam zkusenosti takove, ze dotazy nad tabulkami, ktere maji tisice zaznamu jsou v poradku (ADO + VFP ole db),
ale pokud mam tabulku s desetitisici zaznamy pak mi to na dotaz, ktery ma vratit jednotky zaznamu vrati:
"E_FAIL"

Jake mate zkusenosti?

JV
______________________________________________________________
> Od: tantonin(zv)cbox(tec)cz
> Komu: delphi-l(zv)clexpert(tec)cz
> Datum: 12.03.2007 15:08
> Predmet: Re: ADO a Fox
>
>Ahoj,
>connection string na
>http://www.connectionstrings.com/
>a ole db providera stahnes z
>http://www.microsoft.com/downloads/details.aspx?familyid=e1a87d8f-2d58-491f-a0fa-95a3289c5fd4&displaylang=en
>Antonin Turecek
>Ladislav Fitz napsal(a):
>> dobry den
>>
>> nevite nekdo jak se dostat pres ADO k datum v databazi Fox (asi to bude

>> nejaky Pro jestli to existuje)
>>
>> predem diky
>>
>>
>>
>>
>>
>
>
>

Oznaceni polozky v SELECT

[*] Marek Dostal <konf(zv)agnis(tec)cz> - 21.3.2007 08:51:19

> mam nasledujici problem. Jak napsat hodnotu v selectu. Napr. SELECT * FROM
> tabulka WHERE ID = 'polozka'. Tedy jak zadat ty apostrofy kolem slova
> polozka.

Kdyz skladam sql ve zdrojovem kodu, tak pouzivame #39:

mujDataSet.CommandText:= 'SELECT * FROM tabulka WHERE ID =
'#39'polozka'#39; Marek Dostal
D7Prof, WinXP, FireBird 1.0, 1.5


delphi 2007 a LMD

[*] Novy Lubos <lnovy(zv)unileasing(tec)cz> - 21.3.2007 11:07:28

Zdravim,

Tak jsem s radosti hned nainstaloval nove Delphi 2007.
Ale hned prvni krok se mi nedari rozchodit.
Pouzivam LMD komponenty, ktere jsou i v balicku Delphi 2007, ale po jejich nainstalovani (a zkousel jsem to x krat a jak free verzi, tak trial verzi) se nedari komponenty pouzivat. Po vlozeni komponenty na formular zacne komponenta blikat, Delphi zatuhnou a nereaguji.

Nepodarilo se nekomu pres to prejit?

Dekuji, Lubos Novy

ADO Connection Dialog

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 21.3.2007 11:59:31

ADOConnection vyhodi dialog pro nastaveni ConnectionString pres standardni dialog.
Tentyz dialog zobrazi napr. CASE Studio (reverse inzenyring) nebo right-click na .udl soubor.

Chtel bych ho pro nastaveni ConnectionStirng zobrazit programove v runtime.
Jak ???
Jak z nej pak vycucnout zadane nastaveni?

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

ADO Connection Dialog

[*] ZdenA?k Kubovec <zkubovec(zv)kdyne(tec)net> - 21.3.2007 12:21:33

Existuje na to metoda EditConnectionString(...) v unite AdoConEd, ktera prebira jeden parametr, do ktereho se ADOConnection. Po odkliknuti OK pak lze nastavenej connection string precist z property ADOConnection.ConnectionString

Uplny prototyp funkce je:
function EditConnectionString(Component: TComponent): Boolean;

priklad:
uses AdoConEd;
....
{dbConn je typu TADOConnection}
....
EditConnectionString(dbConn);
ShowMessage(dbConn.ConnectionString);

S pranim hezkeho dne
Zdenek Kubovec

----- Original Message -----
From: Jan Sebelik [mailto:honza(zv)haes(tec)cz]
To: delphi-l(zv)clexpert(tec)cz
Subject: ADO Connection Dialog


> ADOConnection vyhodi dialog pro nastaveni ConnectionString pres standardni
> dialog.
> Tentyz dialog zobrazi napr. CASE Studio (reverse inzenyring) nebo
> right-click na .udl soubor.
>
> Chtel bych ho pro nastaveni ConnectionStirng zobrazit programove v runtime.
> Jak ???
> Jak z nej pak vycucnout zadane nastaveni?
>
> Honza
> ====================================
> = RNDr. Jan Sebelik - HAES
> = Skolici a konzultacni stredisko pro vyvoj SW
> = www.haes(tec)cz
> = Vojtiskova 321
> = 507 81 Lazne Belohrad
> ====================================
>
>
>
>

Prace s bitmapami ve 2 vlaknech

[*] Tomas Grepl <delphi(zv)kapsw(tec)cz> - 21.3.2007 12:17:33

Mam problem pri praci s objekty TBitmap v aplikaci, ktera pouziva 2 vlakna.
Jedno vlakno je pouze vypoctove a mimo jine provadi vytvoreni objektu
TBitmap, nacteni male bitmapy ze souboru, jednoduche kresleni na Canvas teto
bitmapy a ulozeni do jineho souboru. Druhe (hlavni) vlakno mezitim neco
vykresluje na obrazovku a mimo jine take pracuje s JINYMI bitmapami. V tomto
vlakne vse funguje tak, jak ma.

Problem je v tom, ze prace s bitmapou ve vypoctovem vlakne je nespolehliva,
vyvolava ruzne nesmyslne vyjimky (nejcasteji vycerpani prostredku nebo
hlaseni, ze soubor s ukladanou bitmapou jiz existuje). Sem tam to ale udela
dobre, nekdy to vyjimku nevyvola, ale vysledna bitmapa neni dobra.
Kdyz je ta sama procedura zavolana pres hlavni vlakno (volano pres
mechanismus zprav) nebo v samostatne testovaci jednovlaknove aplikaci - tak
jede vse na 100%.

Prijde mi, jako by prace s bitmapami v Delphi nebyla reetrantni nebo nejak
nekorektne sdilela prostredky Windows.

Potreboval bych jednoduse pracovat s bitmapami i ve vypoctovem vlakne -
prepinani do druheho vlakna velmi zneprehlednuje aplikaci. Da se to nejak
jednoduse resit ?

D6Pro, WinXP Pro na jednoprocesorovem nebo dvouprocesorovem stroji.

Diky, Tomas

ADO Connection Dialog

[*] Milan Lucka <mlucka(zv)foxconn(tec)cz> - 21.3.2007 12:13:32

Zdravim

Uz je to davno, co som to pouzival...
Skusil by som hladat EditConnectionString

Milan

ADO Connection Dialog

[*] Jan Jemelka - seznam(tec)cz <jan.jemelka(zv)seznam(tec)cz> - 21.3.2007 12:23:34

Ahoj.

Mam D5 a pouzivam EditConnectionString.

var
cnn: TADOConnection;
sConnectionStr: String;
..
begin
...
EditConnectionString(cnn);
sConnectionStr := cnn.ConnectionString;
...

EditConnectionString je v unite ADOConEd.

Honza


----- Original Message -----
From: "Jan Sebelik" <honza(zv)haes(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, March 21, 2007 11:59 AM
Subject: ADO Connection Dialog


> ADOConnection vyhodi dialog pro nastaveni ConnectionString pres standardni
> dialog.
> Tentyz dialog zobrazi napr. CASE Studio (reverse inzenyring) nebo
> right-click na .udl soubor.
>
> Chtel bych ho pro nastaveni ConnectionStirng zobrazit programove v
> runtime.
> Jak ???
> Jak z nej pak vycucnout zadane nastaveni?
>
> Honza
> ====================================
> = RNDr. Jan Sebelik - HAES
> = Skolici a konzultacni stredisko pro vyvoj SW
> = www.haes(tec)cz
> = Vojtiskova 321
> = 507 81 Lazne Belohrad
> ====================================
>
>
>

ShowMessage pripadne modalni okno se zobrazuje za

[*] delphak(zv)centrum(tec)cz - 21.3.2007 12:41:35

Ahoj,

na Win XP se velmi casto stava, ze okenko vytovrene pomoci ShowMessage nebo MessageDlg pripadne vlastni formular jehoz ownerem je Application se zobrazi "za aplikaci" .. tedy aplikace vypada jako mrtva .. a teprve po stisku Alt+Tab vyskoci do popredi ono skovane okenko.
Stejna aplikace se na Win 2000 chova bez problemu, na XP se vsak okenko velmi casto zobrazi dozadu (ale ne vzdycky).

Mate nejake rady, napady, ideu?

Dik.

ADO Connection Dialog

[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 21.3.2007 12:23:34

Ahoj

> Behalf Of Jan Sebelik
>
> ADOConnection vyhodi dialog pro nastaveni ConnectionString pres
> standardni dialog.
> Tentyz dialog zobrazi napr. CASE Studio (reverse inzenyring) nebo
> right-click na .udl soubor.
>
> Chtel bych ho pro nastaveni ConnectionStirng zobrazit programove
> v runtime.
> Jak ???
> Jak z nej pak vycucnout zadane nastaveni?
>

ja jsem nekde pouzil nasladujici:

if EditConnectionString(ADOConnection) then
begin
E_ConStr.Text := ADOConnection.ConnectionString;
E_Provid.Text := ADOConnection.Provider;
...
end;

Funkce EditConnectionString je v ADOConEd.pas. Mam D5 ent.

Igor Vodicka

ShowMessage pripadne modalni okno se zobrazuje za

[*] delphinpp(zv)atlas(tec)cz - 21.3.2007 13:09:37

delphak(zv)centrum(tec)cz wrote / napisal(a):
> Ahoj,
>
> na Win XP se velmi casto stava, ze okenko vytovrene pomoci ShowMessage nebo MessageDlg pripadne vlastni formular jehoz ownerem je Application se zobrazi "za aplikaci" .. tedy aplikace vypada jako mrtva .. a teprve po stisku Alt+Tab vyskoci do popredi ono skovane okenko.
> Stejna aplikace se na Win 2000 chova bez problemu, na XP se vsak okenko velmi casto zobrazi dozadu (ale ne vzdycky).
>
> Mate nejake rady, napady, ideu?
>
>
Zdar,

raz som nasiel toto :

. an long-running bug in VCL that would allow a modal dialog show up
behind another form on the screen giving the appearance of a hung
application. The Delphi IDE would do this as well from time-to-time.
With the introduction of Windows2000 and WindowsXP, Microsoft added a
new feature called "window ghosting." If a top-level window hasn't
processed a message within 5 seconds, Windows will "ghost" the form and
allow you to drag, resize, and change the Z-order of the form, even
though the application isn't processing any messages. The fact that it
allows a Z-order change is what caused all the trouble. However, if the
form had the WS_POPUP style and the "owner" was the correct window, even
a "ghosted" form would not be allowed to switch Z-order to under it's
owner, thus there is no chance for a modal dialog to suddenly disappear.

http://blogs.borland.com/abauer/archive/2004/02/10/295.aspx

http://qc.borland.com/wc/qcmain.aspx?d=3730

Workaround: run the following code during your application's startup:

procedure DisableProcessWindowsGhosting;
var
DisableProcessWindowsGhostingProc: procedure;
begin
DisableProcessWindowsGhostingProc := GetProcAddress(
GetModuleHandle('user32.dll'),
'DisableProcessWindowsGhosting');
if Assigned(DisableProcessWindowsGhostingProc) then
DisableProcessWindowsGhostingProc;
end;


Miso

ShowMessage pripadne modalni okno se zobrazuje za

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 21.3.2007 13:21:38

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of delphak(zv)centrum(tec)cz

Ahoj,

> na Win XP se velmi casto stava, ze okenko vytovrene pomoci
> ShowMessage nebo MessageDlg pripadne vlastni formular jehoz
[...]
> Stejna aplikace se na Win 2000 chova bez problemu, na XP se
> vsak okenko velmi casto zobrazi dozadu (ale ne vzdycky).
>
> Mate nejake rady, napady, ideu?

No nevim jak se ti to bude libit, ale ja mam vlastni MessageDlg(), kde
jednim
z mnoha parametru je i owner handle a tim je handle toho okna ze ktereho se
msg vola
a neni problem.

PM


delphi 2007 a LMD

[*] rkubat(zv)email(tec)cz - 21.3.2007 13:25:38

LMD maji specifickou verzi svych komponent pro Delphi 2007 na sve strance downloadu:
http://www.lmdinnovative.com/download/index.php#LMD%20Freeware

Komponenty jsem instaloval a umistil je na formular bez problemu, o kterem pisete. Asi by bylo treba blize popsat jednotlive kroky tak, aby se dal problem reprodukovat. (Co jste instaloval a instrukce krok za krokem.)

Uzivatele nezavislych komponent pro BDS 2006 musi manualne vlozit spravne cesty ke knihovnam a instalacnim balickum pro Delphi 2007, aby komponenty mohly spravne fungovat. V nekterych pripadech dodavatele komponent obchazeji Tools API v Delphi a pracuji primo s internimi tridami. V tom pripade mohou byt problemy s kompatibilitou v IDE, ale vzdy pomuze rekompilace.

Odpovedi na otazky tohoto typu vam zajisti technicka podpora produktu, ktera je soucasti pojisteni software.

Fredrik Haglund (preklad R. Kubat)

> ------------ Puvodni zprava ------------
> Od: Novy Lubos <lnovy(zv)unileasing(tec)cz>
> Predmet: delphi 2007 a LMD
> Datum: 21.3.2007 11:09:27
> ----------------------------------------
> Zdravim,
>
> Tak jsem s radosti hned nainstaloval nove Delphi 2007.
> Ale hned prvni krok se mi nedari rozchodit.
> Pouzivam LMD komponenty, ktere jsou i v balicku Delphi 2007, ale po jejich
> nainstalovani (a zkousel jsem to x krat a jak free verzi, tak trial verzi) se
> nedari komponenty pouzivat. Po vlozeni komponenty na formular zacne komponenta
> blikat, Delphi zatuhnou a nereaguji.
>
> Nepodarilo se nekomu pres to prejit?
>
> Dekuji, Lubos Novy

delphi 2007 a LMD

[*] Novy Lubos <lnovy(zv)unileasing(tec)cz> - 21.3.2007 14:23:43

Po stahnuti nejnovejsi verze free LMD komponent funguje vse v poradku !!
Takze pro vsechny uzivatele Delphi2007 - nepouzivejte prilozenou instalaci LMD komponent, je nefunkcni, stahnete si z webu www.lmd.de aktualni, ta jiz funguje.

Lubos Novy

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of rkubat(zv)email(tec)cz
Sent: Wednesday, March 21, 2007 1:26 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: delphi 2007 a LMD

LMD maji specifickou verzi svych komponent pro Delphi 2007 na sve strance downloadu:
http://www.lmdinnovative.com/download/index.php#LMD%20Freeware

Komponenty jsem instaloval a umistil je na formular bez problemu, o kterem pisete. Asi by bylo treba blize popsat jednotlive kroky tak, aby se dal problem reprodukovat. (Co jste instaloval a instrukce krok za krokem.)

Uzivatele nezavislych komponent pro BDS 2006 musi manualne vlozit spravne cesty ke knihovnam a instalacnim balickum pro Delphi 2007, aby komponenty mohly spravne fungovat. V nekterych pripadech dodavatele komponent obchazeji Tools API v Delphi a pracuji primo s internimi tridami. V tom pripade mohou byt problemy s kompatibilitou v IDE, ale vzdy pomuze rekompilace.

Odpovedi na otazky tohoto typu vam zajisti technicka podpora produktu, ktera je soucasti pojisteni software.

Fredrik Haglund (preklad R. Kubat)

> ------------ Puvodni zprava ------------
> Od: Novy Lubos <lnovy(zv)unileasing(tec)cz>
> Predmet: delphi 2007 a LMD
> Datum: 21.3.2007 11:09:27
> ----------------------------------------
> Zdravim,
>
> Tak jsem s radosti hned nainstaloval nove Delphi 2007.
> Ale hned prvni krok se mi nedari rozchodit.
> Pouzivam LMD komponenty, ktere jsou i v balicku Delphi 2007, ale po jejich
> nainstalovani (a zkousel jsem to x krat a jak free verzi, tak trial verzi) se
> nedari komponenty pouzivat. Po vlozeni komponenty na formular zacne komponenta
> blikat, Delphi zatuhnou a nereaguji.
>
> Nepodarilo se nekomu pres to prejit?
>
> Dekuji, Lubos Novy


ADMIN: delphi 2007 a LMD

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 21.3.2007 14:35:43

Puvodni zprava ze dne 21.3.2007 od Novy Lubos:

> Po stahnuti nejnovejsi verze free LMD komponent funguje vse v
> poradku !! Takze pro vsechny uzivatele Delphi2007 - nepouzivejte
> prilozenou instalaci LMD komponent, je nefunkcni, stahnete si z webu
> www.lmd.de aktualni, ta jiz funguje.

Takze pro vsechny ucastniky konferenci - poradne quotujte, sakrys...

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

==========================================================


Prace s bitmapami ve 2 vlaknech

[*] Petr Fejfar <petr.fejfar(zv)seznam(tec)cz> - 21.3.2007 15:47:48

Dne Wed, 21 Mar 2007 12:17:33 +0100 Tomas Grepl <delphi(zv)kapsw(tec)cz>
napsal/-a:

> Potreboval bych jednoduse pracovat s bitmapami i ve vypoctovem vlakne -
> prepinani do druheho vlakna velmi zneprehlednuje aplikaci. Da se to nejak
> jednoduse resit ?

Bitmap.Canvas.Lock-Unlock pouzivas?

Prace s bitmapami ve 2 vlaknech

[*] Vaclav Sazima <vaclav.sazima(zv)utilia(tec)cz> - 21.3.2007 15:57:49

Ahoj,
Tomas Grepl napsal(a):
> Prijde mi, jako by prace s bitmapami v Delphi nebyla reetrantni nebo nejak
> nekorektne sdilela prostredky Windows.
>
To souhlas, mel jsem podobne problemy.
> Potreboval bych jednoduse pracovat s bitmapami i ve vypoctovem vlakne -
> prepinani do druheho vlakna velmi zneprehlednuje aplikaci. Da se to nejak
> jednoduse resit ?
>
Vzhledem k tomu, ze Ti nikdo nic chytryho zatim neporadil, posilam Ti
sve (nevyzkousene) tipy :
Vysapat z TBitmap potrebne struktury + data a pracovat s nimi primo pres
API
nebo thread schovat do dll
nebo najit nejakou grafickou knihovnu, ktera je thread save

Vaclav Sazima

ShowMessage pripadne modalni okno se zobrazuje za

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 21.3.2007 18:21:58

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Vlastimil Burian

Ahoj,

> manageru, pokud ne, je to vsem znamy problem window-focus a
> nijak bych ho neresil

No abych se priznal, ja to resit musel (proto vlastni MsgDialogs),
protoze uzivatele byli docela vytoceny kdyz klikali na main okno
a ono nic(win delali cink cink cink), protoze proste na pozadi bylo modalni
okno...takze apl sproste sestrelili :)


PM


ShowMessage pripadne modalni okno se zobrazuje za

[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 21.3.2007 17:53:57

casto kdyz pri normalnim behu systemu blbne focusovani oken, hodim si Task
Manager (ctrl+alt+delete), prepnu se do okna ktere zustalo vzadu a je to,
zavru task manager. Zkus jestli to ta tva aplikace udela i pri zapnutem task
manageru, pokud ne, je to vsem znamy problem window-focus a nijak bych ho
neresil



-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of delphak(zv)centrum(tec)cz
Sent: Wednesday, March 21, 2007 12:42 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: ShowMessage pripadne modalni okno se zobrazuje za aplikaci

Ahoj,

na Win XP se velmi casto stava, ze okenko vytovrene pomoci ShowMessage nebo
MessageDlg pripadne vlastni formular jehoz ownerem je Application se zobrazi
"za aplikaci" .. tedy aplikace vypada jako mrtva .. a teprve po stisku
Alt+Tab vyskoci do popredi ono skovane okenko.
Stejna aplikace se na Win 2000 chova bez problemu, na XP se vsak okenko
velmi casto zobrazi dozadu (ale ne vzdycky).

Mate nejake rady, napady, ideu?

Dik.

ShowMessage pripadne modalni okno se zobrazuje za

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 21.3.2007 16:07:50

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Pavel Malinsky
> > Mate nejake rady, napady, ideu?
>
> No nevim jak se ti to bude libit, ale ja mam vlastni MessageDlg(), kde
> jednim z mnoha parametru je i owner handle a tim je handle toho okna
> ze ktereho se msg vola a neni problem.

Koukam, ze sem se trochu upsal, chtel sem rict, ze tomu dialogu nastavuji
parenta na handle toho okna ze ktereho jej volam. Sorry

PM


ADO Connection Dialog

[*] Ludek <konference(zv)sales(tec)cz> - 21.3.2007 15:59:49

----- Original Message -----
From: "Jan Sebelik" <honza(zv)haes(tec)cz>

> ADOConnection vyhodi dialog pro nastaveni ConnectionString pres standardni dialog.
> Tentyz dialog zobrazi napr. CASE Studio (reverse inzenyring) nebo right-click na .udl soubor.
>
> Chtel bych ho pro nastaveni ConnectionStirng zobrazit programove v runtime.
> Jak ???
> Jak z nej pak vycucnout zadane nastaveni?

Ahoj,
Treba tak :

with ADOConnection1 do
try
ConnectionString := '';
ConnectionString := Edit1.Text;
//DriverCompletion := DriverPrompt;
ConnectionString := PromptDataSource(self.Handle, ConnectionString);
Open;
Edit1.Text := ConnectionString;
finally
if Connected then
Close;
end;

Ludek

PDA +.NET

[*] Erik Salaj <winsoft(zv)netkosice.sk> - 22.3.2007 11:27:07

> s technologii .NET jsem zatim nemel zadne zkusenosti, tak se chci zeptat,
> zda mi nemuzete dat nejake odkazy. A taky jestli je lepsi pouzit .NET, nez
> javu.
> Byl jsem konzultovat projekt, ktery mam napsany v delphi, ale jako
> aplikaci
> win32. Ale konzultant chce, aby to bylo mozne pouzit i na PDA a rikal, ze
> by
> bylo lepsi, kdyby to bylo bud v .NET, nebo jave. A k tomu jsem se taky
> chtel
> zeptat, jak se da v delphi napsat aplikace na PDA, nebo jine mobilni
> zarizeni?


zavisi to od konkretneho zariadenia: na mobiloch
zvykne byt Java ME, na Windows Mobile zase CF.NET.

V Delphi (Win32) to je AIK neriesitelne. V Delphi.NET
ak je podpora CF.NET tak by to mohlo byt pouzitelne
ale osobne by som uprednostnil C# a Visual Studio.

Co sa tyka Javy, tak treba pozit Javu ME (lebo su 3 edicie
Javy) a aj ME je v niekolkych roznych "verziach", v podstate
su 2 zakladne verzie: starsia MIDP 1 a novsia MIDP 2.
MIDP je zaklad a k tomu vyrobcovia zvyknu poskytovat
aj pridavne Java API rozhrania, zavisi to od konkretneho
vyrobcu a mobilu. Ale hlavne treba zohladnit rozne obmedzenia
a specifika najme velkost displeja a sposob zadavania udajov
PDA/mobilov. Pre CF.NET to je asi podobne, aj ked asi nie
az talko roznych moznosti.

Cize riesit to obecne je IMHO nerealne.

Erik Salaj

PDA +.NET

[*] Marek Dostal <konf(zv)agnis(tec)cz> - 22.3.2007 11:07:05

> Byl jsem konzultovat projekt, ktery mam napsany v delphi, ale jako
> aplikaci
> win32. Ale konzultant chce, aby to bylo mozne pouzit i na PDA a rikal, ze
> by
> bylo lepsi, kdyby to bylo bud v .NET, nebo jave.

V PDA s operacnim system na platforme Microsoft bezi Compact Framework, coz
je podmnozina .NET frameworku. Takze pokud bude napsany program, ktery bude
vyuzivat pouze to, co je dostupne v Compact Frameworku, potom muze byt jeden
zdroj prelozeny pro obe platformy. V praxi to ale tak jednoduche stejne
nebude, bude zalezet na typu aplikace.>A k tomu jsem se taky chtel zeptat, jak se da v delphi napsat aplikace na
>PDA, nebo jine mobilni zarizeni?

V Delphi 7 to nejde, ve vyssich verzich Delphi jsem snad o nejake podpore
cetl, ale mam pocit, ze co se tyce programovani pro mobilni zarizeni, tak
Delphi je o par let zpet za Microsoftem, pro PDA piseme aplikaci ve
VisualStudiu, ktere s mobilnimi zarizenimi pocita. Pri zakladani projetku je
primo moznost zvolit projekt pro mobilni zarizeni, soucasti jsou emulatory,
takze se da programovat i bez samotneho PDA (i kdyz je to pres emulator
pomalejsi nez na skutecnem PDA), je tam k tomu napoveda apod.

Marek Dostal
D7Prof, WinXP, FireBird 1.0, 1.5

PDA +.NET

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 22.3.2007 10:51:04

Zdravim,
s technologii .NET jsem zatim nemel zadne zkusenosti, tak se chci zeptat,
zda mi nemuzete dat nejake odkazy. A taky jestli je lepsi pouzit .NET, nez
javu.
Byl jsem konzultovat projekt, ktery mam napsany v delphi, ale jako aplikaci
win32. Ale konzultant chce, aby to bylo mozne pouzit i na PDA a rikal, ze by
bylo lepsi, kdyby to bylo bud v .NET, nebo jave. A k tomu jsem se taky chtel
zeptat, jak se da v delphi napsat aplikace na PDA, nebo jine mobilni
zarizeni?
Diky za informace,
Petr

PDA +.NET

[*] Tomas Grepl <delphi(zv)kapsw(tec)cz> - 22.3.2007 11:35:07

Petr Berek wrote:
> s technologii .NET jsem zatim nemel zadne zkusenosti, tak se chci
> zeptat, zda mi nemuzete dat nejake odkazy. A taky jestli je lepsi
> pouzit .NET, nez javu.
> Byl jsem konzultovat projekt, ktery mam napsany v delphi, ale jako
> aplikaci win32. Ale konzultant chce, aby to bylo mozne pouzit i na
> PDA a rikal, ze by bylo lepsi, kdyby to bylo bud v .NET, nebo jave. A
> k tomu jsem se taky chtel zeptat, jak se da v delphi napsat aplikace
> na PDA, nebo jine mobilni zarizeni?

Toto rozhodnuti jsme resili take, nez jsme zacali delat objednavkovou
aplikaci pro tyto pristroje. Vybrali jsme Javu, protoze je funkcni na vsech
novych pristrojich bez potreby jakekoli dodatecne instalace. Velmi dobre
bezi i na pristrojich se Symbian (je obvykle stabilnejsi) i s Windows Mobile
(je obvykle rychlejsi). Narazili jsme ale take na spoustu omezeni (Java pro
mobily umi jen cast toho co velka Java) a take chyb v implemetaci Javy (na
kazdem PDA se projevuje jina chyba).
Nejdulezitejsi ale podle mne je rovnou zakoupit co nejlepsi vyvojove
prostredi, protoze s prostredky, ktere jsou zdarma, je vyvoj znacne
tezkopadny a zdlouhavy. Je treba zvazit i to, ze aplikace v Jave pro PDA
(resp. mobily) ma hodne jinou logiku a take jine vizualni prostredky a neda
se pocitat s tim, ze by se nejake kusy kodu dali jednoduse prenest z Win32
prostredi. Kazdopadne nez vznikne neco trochu pouzitelneho tak to budou
stovky hodin zkoumani a testovani.

Pro urcite aplikace je pak mozna lepsi upravit Win32 aplikaci a nechat ji
bezet pres sit v terminalovem okne na vzdalenem pocitaci :-)

Tomas

PDA +.NET

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 22.3.2007 11:45:08

>Cize riesit to obecne je IMHO nerealne.
>
>Erik Salaj

Projekt je program, ktery ma nahradit zapisnik ucitele. Jde o to, aby ucitel
nemusel s sebou tahat obycejny zapisnik a pak si to prepsat na svem pc,
ktere ma v kabinete. Moznosti je mit notebook a na nem win32 aplikaci. Tak
jsem stavel puvodni projekt jeste na stredni skole. Ale ted je napad udelat
to pro PDA. Tak aby ho ucitel vytahl jen z kapsy a mohl zapisovat znamky.
Aplikace je jeste ted ve win32, ma asi 7000 radku kodu, vyuzivat databazovy
server MySQL. A toto cele by se ted melo predelat do mobilniho prostredi,
nejlepe pro PDA.
Takze jak ctu jeste dal, tak je asi lepsi vyuzit Visual Studio a psat to pod
.NET.
Premyslim nad vhodnym resenim, jak projekt prepsat, kdyz ma tolik kodu.
Petr

PDA +.NET

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 22.3.2007 11:51:09

Puvodni zprava ze dne 22.3.2007 od Petr Berek:

> Projekt je program, ktery ma nahradit zapisnik ucitele. Jde o to,
> aby ucitel nemusel s sebou tahat obycejny zapisnik a pak si to
> prepsat na svem pc, ktere ma v kabinete.

Na tohle bych ja osobne (a ted se nedivam na financni stranku veci)
zvolil TabletPC. Znacne vyhody jiste neni treba dale rozvadet.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

==========================================================


PDA +.NET

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 22.3.2007 11:59:10

Ahoj,

>
> Pro urcite aplikace je pak mozna lepsi upravit Win32 aplikaci a nechat ji
> bezet pres sit v terminalovem okne na vzdalenem pocitaci :-)

taky predemnou stoji ukol vytvorit klienta pro nasi aplikaci na PDA.
Protoze vsak klient nebude delat nic jineho nez zobrazovat par dat z DB
a umoznovat jen vyber (oznacovani) polozek z predem dane nabidky,
napadlo me realizovat to pomoci HTML. Mate nekdo nejake zkusenosti s tim?

Premyslel jsem ze muj aplikacni server bude generovat dynamicke HTML
stranky a to PDA je bude jen zobrazovat.

Pripadne nejake jine reseni umoznujici velmi tenkeho klienta a celou
logiku nechat defacto na apliakcnim serveru?

tr

PDA +.NET

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 22.3.2007 12:09:11

Ahoj,

osobne bych doporucil .net, C# a VisualStudio5. Podpora vyvoje primo
luxusni. Pochopitelne to potom budu fungovat jenom na PDA s .net CF,
tedy ne na Palmech (noflame). I kdyz jsem nejaky nastroj na "kompilaci"
.net zdrojaku pro PalmOS kdysi videl, bohuzel si uz nevybavuje kde.
V delphi se pro PDA rozumne psat neda, protoze AFAIK prozstredi nijak
nepodporuje .net CF (Compact Framework).

Tomas Grepl napsal(a):
> Vybrali jsme Javu, protoze je funkcni na vsech
> novych pristrojich bez potreby jakekoli dodatecne instalace.

pokud ja vim, tak naopak na vetsine PDA java standardne neni. Pouze
na komunikatorech (PDA + GSM) a smartfounech (GSM + PDA - dotykovy
displej) je MIPD Java.
Narazil jsem nato, kdyz jsem si do sveho Looxe N560 chtel hodit
nejake aplikace z telefonu. Pokud se ale mylim, a jenom neumim hledat,
rad se necham vyvest z omylu. Pripadne informace radeji na soukromy
email, nebot zde by to bylo jiz znacne OT.

> Tomas

Peca

Carovy kod CODE128B/C+Fast Report

[*] Jaroslav Kuba <jarda(zv)tresoft(tec)cz> - 22.3.2007 11:59:09

Ahoj tak jsem zjistil toto ale porad se mi nedari vytisknout kod
ktery by firma DPD dokazala nacist

Mate nekdo nejake podrobnosti o carovem kodu Code128Auto

Dale nasleduje co jsem zatim vypatral
Firma generuje kod timto zpusobem asi takto

1znak...............StartB Hodnota 104
2znak...............% Hodnota 5
3znak...............0 Hodnota 0
4znak...............CodeC Hodnota 99

Dale pak po dvojicich
napr 09
5znak...............9 Hodnota 9
atd.

no a nakonec by mel prijit spravny kontrolni soucet
a prave tady je podle meho chyba protoze pocitam kontrolni soucet jako pro
CODE128B
a mozna ze je to jinak.

a pak nasledovat konec
znak................Stop Hodnota 106


zacne klasicky jako kod CODE128B a vedi ze textove znaky jsou pouze prvni
dva
pak nahodi znak CodeC ktery by podle nich mel prehodit Kodovani na CodeC a
dal pokracuji po dvojcich a koduji CodeC
nakonec by mel prijit kontrolni soucet a znak stop

No a ja se chtel zeptat zda nemate nejake zkusenosti s prepinanim sad
znaku pri generovani code128
a zda nevite jestli se nahodou kontrolni soucet pro code128B pocita jinak
nez pro code128C nebo code128BC

Me s toho jde hlava kolem a zatim se nedari.

--
Jaroslav Kuba
Tresoft s.r.o
Pr+APk-myslov+AOE- 1137
506 01 Ji+AOgA7Q-n

+-420 777 172 420
+-420 493 544 422


> Jak funguje ten B/C kod vim, ale bohuzel neznam fast Report pouzivat
> Komponentu pro Quickreport kterou jsem si stahl i se zdrojakama a ten
> B/C jinak nazyvany Auto jsem si tam doplnil sam
>
> Co potrebujes pro DPD? tyhle stitky bezne tisknu a nenarazil jsem na
> problem
>

--
Jaroslav Kuba
Tresoft s.r.o
Pr+AW8-myslov+AOE- 1137
506 01 Ji+AQ0A7Q-n

+-420 777 172 420
+-420 493 544 422

PDA +.NET

[*] Peter Ondras <konfery(zv)pse.sk> - 22.3.2007 12:21:11

V Delphi 2005 a Delphi 2006 je mozne robit aplikacie pre PDA. Je vhodne
doinstalovat free CFBuild Helper, ktory integruje podporu pre Compact
Framework podobne ako je tomu vo Visual Studiu (aj ked az take to zas
nie je).
Pri rozhodovani medzi .NET a Javou v pripade PDA by som si ja osobne
vybral .NET. Java v mobilnych telefonoch, resp. PDA ma mensie moznosti
(hlavne nizsiu kompatibilitu) v porovnani Java Desktop/Java Mobile ako
.NET Desktop/.NET Mobile.
Netreba zabudnut, ze aplikacie pre PDA a smartphone maju oproti plnemu
frameworku viacere obmedzenia dane moznostami tychto zariadeni. Napr. na
smartphone sa nepouzivaju tlacitka, ale menu, ktore sa zobrazi v spodnej
casi. Pri PDA je tychto obmedzeni samozrejme menej.

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Petr Berek

Zdravim,
s technologii .NET jsem zatim nemel zadne zkusenosti, tak se chci
zeptat, zda mi nemuzete dat nejake odkazy. A taky jestli je lepsi pouzit
.NET, nez javu. Byl jsem konzultovat projekt, ktery mam napsany v
delphi, ale jako aplikaci win32. Ale konzultant chce, aby to bylo mozne
pouzit i na PDA a rikal, ze by bylo lepsi, kdyby to bylo bud v .NET,
nebo jave. A k tomu jsem se taky chtel zeptat, jak se da v delphi napsat
aplikace na PDA, nebo jine mobilni zarizeni? Diky za informace, Petr


PDA +.NET

[*] Erik Salaj <winsoft(zv)netkosice.sk> - 22.3.2007 12:23:12

>> Projekt je program, ktery ma nahradit zapisnik ucitele. Jde o to,
>> aby ucitel nemusel s sebou tahat obycejny zapisnik a pak si to
>> prepsat na svem pc, ktere ma v kabinete.
>
> Na tohle bych ja osobne (a ted se nedivam na financni stranku veci)
> zvolil TabletPC. Znacne vyhody jiste neni treba dale rozvadet.

zaujimave zariadenie je aj Internet Tablet (N700/N800) od Nokie:
http://www.nseries.com/campaigns/n800/internet/#l=products,n800
Je to Maemo platforma www.maemo.org zalozena na Linuxe (cize
Delphi je nepouzitelne) ale funguje tam vela webovych aplikacii
v slusnom rozliseni 800x480 aj dost Linux programov. Je to prve
mobilne zariadenie, ktore mam (s vynimkou notebooka), na ktorom
mozem normalne (teda prakticky) citat PDF-ka a browsovat web
(cez WiFi alebo BT). Ma byt k tomu aj Skype, zatial je podporovany
Google Talk. Komplikovanejsi je tam vstup udajov (dotyk. obrazovka)
a vydrz baterie by tiez mohla byt lepsia (asi 3 az 3.5 hodiny). Ale
v porovnani s notebookom je to podstatne mobilnejsie (lahsie a mensie)
a pritom aj lacnejsie.

Erik Salaj

PDA +.NET

[*] Peter Ondras <konfery(zv)pse.sk> - 22.3.2007 12:31:12

Elektronicka kniha zadarmo:
http://download.microsoft.com/download/8/6/c/86c09926-affc-4e14-bec0-3c4
5cd989436/Vyvoj_aplikacii_pre_mobilne_zariadenia.pdf

PDA +.NET

[*] Erik Salaj <winsoft(zv)netkosice.sk> - 22.3.2007 13:15:15

>> Pro urcite aplikace je pak mozna lepsi upravit Win32 aplikaci a nechat ji
>> bezet pres sit v terminalovem okne na vzdalenem pocitaci :-)
>
> taky predemnou stoji ukol vytvorit klienta pro nasi aplikaci na PDA.
> Protoze vsak klient nebude delat nic jineho nez zobrazovat par dat z DB
> a umoznovat jen vyber (oznacovani) polozek z predem dane nabidky,
> napadlo me realizovat to pomoci HTML. Mate nekdo nejake zkusenosti s tim?
>
> Premyslel jsem ze muj aplikacni server bude generovat dynamicke HTML
> stranky a to PDA je bude jen zobrazovat.
>
> Pripadne nejake jine reseni umoznujici velmi tenkeho klienta a celou
> logiku nechat defacto na apliakcnim serveru?


zalezi opet na konkretnom zariadeni, aky ma displej
aky je tam browser a ako sa dostanes na internet.
Na PDA-ckach s Windows Mobile a na lepsich mobiloch
a na tom internet tablete by to malo byt HTML pouzitelne
ale treba vyskusat a pripadne prisposobit tu aplikaciu
zariadeniu. Problemy zvyknu byt so zobrazenim
(zle naformatovane, resp. naposuvane objekty, ine fonty),
nemusia chodit niektore skripty, java aplety. Je to,
zial, vela o experimentovani a skusani.

Erik Salaj

PDA +.NET

[*] Radim Kunz <rkunz(zv)casestudio(tec)com> - 22.3.2007 13:17:16

Tomas Rosa napsal(a):

>Ahoj,
>
>
>
>>Pro urcite aplikace je pak mozna lepsi upravit Win32 aplikaci a nechat ji
>>bezet pres sit v terminalovem okne na vzdalenem pocitaci :-)
>>
>>
>
>taky predemnou stoji ukol vytvorit klienta pro nasi aplikaci na PDA.
>Protoze vsak klient nebude delat nic jineho nez zobrazovat par dat z DB
>a umoznovat jen vyber (oznacovani) polozek z predem dane nabidky,
>napadlo me realizovat to pomoci HTML. Mate nekdo nejake zkusenosti s tim?
>
>Premyslel jsem ze muj aplikacni server bude generovat dynamicke HTML
>stranky a to PDA je bude jen zobrazovat.
>
>Pripadne nejake jine reseni umoznujici velmi tenkeho klienta a celou
>logiku nechat defacto na apliakcnim serveru?
>
>t
>
>
web services?

Radim

odinstalace prerekvizit

[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 22.3.2007 14:55:22

zdravim,

z?baliku BDS 2006 jsem nainstaloval jen a pouze uplne hole Delphi Win32 ...
muzu a pripadne ktere z?prerekvizit muzu odinstalovat kdyz Delphi.NET
nepouzivam, nebo je musim nechat?

..NET Framework 1.1
..NET Framework 1.1 SP1
..NET Framework 1.1 SDK
Visual J# .NET 1.1

diky,

Vlastimil Burian
IT Specialist
GSM: +420 776 305 900
E-mail: burian(zv)vbsoftware(tec)cz
WWW: http://www.vbsoftware(tec)cz

odinstalace prerekvizit

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 22.3.2007 15:11:24

Vlastimil Burian napsal(a):
> zdravim,
>
> z?baliku BDS 2006 jsem nainstaloval jen a pouze uplne hole Delphi Win32 ...
> muzu a pripadne ktere z?prerekvizit muzu odinstalovat kdyz Delphi.NET
> nepouzivam, nebo je musim nechat?
>
> ..NET Framework 1.1
> ..NET Framework 1.1 SP1
> ..NET Framework 1.1 SDK
> Visual J# .NET 1.1
>

a nebo jeste

http://www.kopf.com.br/bds2006config/

R.

odinstalace prerekvizit

[*] Petr Vones <conference(zv)petrvones(tec)net> - 22.3.2007 15:07:23

From: "Vlastimil Burian" <vlastax.b(zv)seznam(tec)cz>
> z?baliku BDS 2006 jsem nainstaloval jen a pouze uplne hole Delphi Win32
> ...
> muzu a pripadne ktere z?prerekvizit muzu odinstalovat kdyz Delphi.NET
> nepouzivam, nebo je musim nechat?

Nechat (nicemu to zvlast nevadi).

Petr Vones

odinstalace prerekvizit

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 22.3.2007 15:09:23

Vlastimil Burian napsal(a):

> z?baliku BDS 2006 jsem nainstaloval jen a pouze uplne hole Delphi Win32 ...
> muzu a pripadne ktere z?prerekvizit muzu odinstalovat kdyz Delphi.NET
> nepouzivam, nebo je musim nechat?
>
> ..NET Framework 1.1
> ..NET Framework 1.1 SP1
> ..NET Framework 1.1 SDK
> Visual J# .NET 1.1
>

na internetu jsou postupy, treba:

http://delphi.about.com/od/delphifornet/a/delphi2005win32.htm

ale upozornuji ze pak nebude treba v IDE dostupny refaktoring atd.

R.

PDA +.NET

[*] Lauko Stefan, Insypo <lauko(zv)insypo.sk> - 22.3.2007 19:25:41

Co tak Delphi for PHP.

Ulozeni certifikatu do BASE64

[*] Petr Langer <p.langer(zv)nexnet(tec)cz> - 22.3.2007 19:09:40

ahoj,
taky jsem komunikaci s PVS resil :-)
funkce MimeEncodeString je z JCL, unit JclMime.


function GetX509Certificate(CertContext: PCCERT_CONTEXT; const
EncodeToBase64: boolean = false): string;
begin
SetLength(Result, CertContext.cbCertEncoded);
MoveMemory((zv)Result[1], CertContext.pbCertEncoded,
CertContext.cbCertEncoded);

if (EncodeToBase64) then
Result := MimeEncodeString(Result);

end;


HTH,
PL


Martin Radvansky wrote:
> nejak nemuzu prijit na to jak ulozit pouzity certifikat do BASE64 do
> tagu <X509Certificate> pres CryptoApi.

Ulozeni certifikatu do BASE64

[*] Martin Radvansky <delphiconf(zv)radvansky(tec)net> - 22.3.2007 18:41:38

Dobry den,

resim podepisovani XML pro PVS a jsem asi uz moc prepracovany,
nejak nemuzu prijit na to jak ulozit pouzity certifikat do BASE64 do
tagu <X509Certificate> pres CryptoApi.
Respektive jak ziskat obsah certifikatu v Base64

Diky za pomoc.


--
S pozdravem,
Martin Radvansky

odinstalace prerekvizit

[*] Petr Vones <conference(zv)petrvones(tec)net> - 22.3.2007 17:51:35

From: "Vlastimil Burian" <vlastax.b(zv)seznam(tec)cz>
> zatim dotnetem nezabyvam takze mi jaksi uchazi jak je to zalozeny ale
> nejnovejsi verze by probuh mohla nahrazovat vsechny verze predchozi ...

Ne.

Petr Vones

odinstalace prerekvizit

[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 22.3.2007 17:43:34

puvodcem me iniciativy "cistka" bylo hlavne to ze mam v pocitaci samej .NET
(1.1, hotfixy, SDK, 2.0, 3.0 a ja nevim co vsechno dalsiho) ... vubec se
zatim dotnetem nezabyvam takze mi jaksi uchazi jak je to zalozeny ale
nejnovejsi verze by probuh mohla nahrazovat vsechny verze predchozi ...
takhle clovek snad za par let bude mit v systemu 10 verzi .NET Frameworku,
jeste k tomu dualne pro x86 a x64, kam to speje, no co uz, necham to tam

PDA +.NET

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 22.3.2007 17:05:31

Zdravim,
>> taky predemnou stoji ukol vytvorit klienta pro nasi aplikaci na PDA.
>> Protoze vsak klient nebude delat nic jineho nez zobrazovat par dat z DB
>> a umoznovat jen vyber (oznacovani) polozek z predem dane nabidky,
>> napadlo me realizovat to pomoci HTML. Mate nekdo nejake zkusenosti s tim?
>>
>> Premyslel jsem ze muj aplikacni server bude generovat dynamicke HTML
>> stranky a to PDA je bude jen zobrazovat.
kolega tu delal jednu malou aplikaci pro PDA, ktera
zobrazuje data (HTML) a rozhrani pro povolovani
a zakazovani polozek. Je to doplnek k nasemu IS.

Aplikace v podstate plni funkci dalkoveho ovladace.

Je tam potraba se vyvarovat ruznych JavaScriptu
a podobnych veci. Nechodi uplne dobre vsechny styly.
Nektere to nepodporuje vubec jine jsou zobrazeny jinak.
Je potreba myslet porad na rozliseni toho zarizeni.

Kazdopadne je traba pocitat s tim, ze ten kdo to bude
delat bude muset kazdou vec zvlast otestovat a zjistit
jak to Pocket IE interpretuje.

Testovano na MDAc a MDA Vario v Pocket IE.


Vaclav Halik

Prace s bitmapami ve 2 vlaknech

[*] Daniel Hajek <danik(zv)zachuv(tec)net> - 22.3.2007 16:39:30

Tak jsem to zkusil simulovat, Execute u threadu musi vypadat nejak takhle:
procedure TMakeBitmapThread.Execute;
var
x,y:integer;
begin
FBitmap.Canvas.Lock; // zamknout at nam ke canvasu nikdo jiny neleze
for y:=0 to FBitmap.Height-1 do
Begin
for x:=0 to FBitmap.Width-1 do
Begin
FBitmap.Canvas.Pixels[x,y]:=(not (FBitmap.Canvas.Pixels[x,y]))and
$00ffffff; // jen test
End;
sleep(10); // aby to taky chvilku trvalo :)
End;
FBitmap.Canvas.Unlock; // po vypoctu odemknout.
end;

D.

Tomas Grepl napsal(a):

>Mam problem pri praci s objekty TBitmap v aplikaci, ktera pouziva 2 vlakna.
>Jedno vlakno je pouze vypoctove a mimo jine provadi vytvoreni objektu
>TBitmap, nacteni male bitmapy ze souboru, jednoduche kresleni na Canvas teto
>bitmapy a ulozeni do jineho souboru. Druhe (hlavni) vlakno mezitim neco
>vykresluje na obrazovku a mimo jine take pracuje s JINYMI bitmapami. V tomto
>vlakne vse funguje tak, jak ma.
>
>Problem je v tom, ze prace s bitmapou ve vypoctovem vlakne je nespolehliva,
>vyvolava ruzne nesmyslne vyjimky (nejcasteji vycerpani prostredku nebo
>hlaseni, ze soubor s ukladanou bitmapou jiz existuje). Sem tam to ale udela
>dobre, nekdy to vyjimku nevyvola, ale vysledna bitmapa neni dobra.
>Kdyz je ta sama procedura zavolana pres hlavni vlakno (volano pres
>mechanismus zprav) nebo v samostatne testovaci jednovlaknove aplikaci - tak
>jede vse na 100%.
>
>Prijde mi, jako by prace s bitmapami v Delphi nebyla reetrantni nebo nejak
>nekorektne sdilela prostredky Windows.
>
>Potreboval bych jednoduse pracovat s bitmapami i ve vypoctovem vlakne -
>prepinani do druheho vlakna velmi zneprehlednuje aplikaci. Da se to nejak
>jednoduse resit ?
>
>D6Pro, WinXP Pro na jednoprocesorovem nebo dvouprocesorovem stroji.
>
>Diky, Tomas
>
>
>
>
>

odinstalace prerekvizit

[*] Petr Vones <conference(zv)petrvones(tec)net> - 22.3.2007 16:21:28

From: "Radek Cervinka" <radek.cervinka(zv)technodat(tec)cz>
> ale upozornuji ze pak nebude treba v IDE dostupny refaktoring atd.

Me by hlavne zajimalo, jaky ma vsechno tohle pocinani smysl ? Pomalost
spusteni Delphi IDE spociva v necem naprosto jinem, nez v pouziti .NETu pro
refaktoring a spol. Jde predevsim o znacne neefektivni kod v RTL, ktery
kontroluje duplikace unitu v ruznych baliccich.

Reseni (s drobnym varovanim) bez omezeni funkcnosti IDE a dalsich nesmyslych
zasahu stylem pokus-omyl je popsano zde:
http://hallvards.blogspot.com/2005/08/ultimate-delphi-ide-start-up-hack.html

Petr Vones

ASP.NET User Account

[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 22.3.2007 20:29:45

V?uzivatelskych uctech systemu se mi po instalaci BDS2006 pridal "ASP.NET
Machine A...". Muzu jej s klidem smazat kdyz ASP.NET neuzivam?

Ulozeni certifikatu do BASE64

[*] Martin Radvansky <delphiconf(zv)radvansky(tec)net> - 22.3.2007 20:05:44

Dobry den,

PL> funkce MimeEncodeString je z JCL, unit JclMime.
PL> function GetX509Certificate(CertContext: PCCERT_CONTEXT; const
PL> EncodeToBase64: boolean = false): string;
PL> begin
PL> SetLength(Result, CertContext.cbCertEncoded);
PL> MoveMemory((zv)Result[1], CertContext.pbCertEncoded,
PL> CertContext.cbCertEncoded);

PL> if (EncodeToBase64) then
PL> Result := MimeEncodeString(Result);

PL> end;

>> nejak nemuzu prijit na to jak ulozit pouzity certifikat do BASE64 do
>> tagu <X509Certificate> pres CryptoApi.

Diky za pomoc
ja hledal primo v Cryptoapi funkci na dekodovani toho
cbCertEncoded a koukam ze zbytecne.

--
S pozdravem,
Martin Radvansky

Zeos SQLite

[*] jiri(zv)bartonek(tec)cz - 23.3.2007 09:59:32

Zdravim,

mam pouzitou DB SQLite 3.3.8 a Zeos 6.6.0 - beta.
Pomoci trigerru udrzuji referencni integritu v tabulkach.
Na dvou tabulkach mi trigerr before delete funguje OK ,
pouze jedna asociacni tabulka pri pokusu o mazani pres trigerr before
delete hlasi 'SQL logic error or missing database'.
Pokud dane prikazy ktere jdou pres TZUpdateSql provedi v SQLIte admin, tak
se vse chova dle ocekavani a funguje dobre.

-- trigger
CREATE TRIGGER tslozmattep_del
BEFORE DELETE ON tslozmattep
FOR EACH ROW BEGIN
SELECT CASE
WHEN ((SELECT tsmt.c_Id
FROM tslozmattep tsmt
LEFT JOIN trcepolytropa tpolyt ON tpolyt.c_IdSlozMatTep = tsmt.c_Id
LEFT JOIN trcepolynom3st tpol3 ON tpol3.c_IdSlozMatTep = tsmt.c_Id
LEFT JOIN trcepolynom5st tpol5 ON tpol5.c_IdSlozMatTep = tsmt.c_Id
LEFT JOIN trceraclomena tracl ON tracl.c_IdSlozMatTep = tsmt.c_Id
LEFT JOIN trcejohnsoncook trcejc ON trcejc.c_IdSlozMatTep = tsmt.c_Id
LEFT JOIN trcepracpolytropa tpolytp ON tpolytp.c_IdSlozMatTep = tsmt.c_Id
LEFT JOIN trcepracpolynom tpolynp ON tpolynp.c_IdSlozMatTep = tsmt.c_Id
WHERE tsmt.c_Id = OLD.tsmt.c_Id) IS NOT NULL)
THEN RAISE(ABORT, 'z+AOE-znam je pou+AX4-it!!!')
END;
END;

----
prikaz TZUpdateSql pro mazani:
delete from TSlozMatTep where c_Id = :c_Id

Pokud trigerr odstranim vse probiha OK ale smaze mi i odkazovane radky,
coz je spatne, pri zjednoduseni trigerru na kontrolu treba jen jedne
tabulky se chyba vyskytuje stale.
Setkal se uz nekdo s timto problemem?
Diky za kazdy napad.
Jiri

W XP Proff, D7 Ent

DBComboBox

[*] Milan Dvorak <dvorak(zv)gymzn(tec)cz> - 24.3.2007 15:41:30

Asi to zalezi na tom, co napises do Items a pripadne jak nastavis vlastnost Style.
Pokud by jsi chtel dosazovat hodnoty z nejakeho ciselniku (jine tabulky), pak je ale asi vhodnejsi DBLookupCombobox.

Milan Dvorak

>>> jiri.zyk(zv)worldonline(tec)cz 24.3.2007 14:37 >>>
Databazova varianta komponenty ComboBox - DBComboBox po navazani na
DataSource
zobrazuje vzdy jen aktualni hodnotu daneho sloupce.Po kliknuti na
rozbalovaci sipku vpravo se
DBComboBox nerozbaluje.V literature jsen nasel,ze to tak ma byt,ale ze
jde zaridit,aby se
DBComboBox rozbaloval.Hral jsem si s tim problemem pomerne dost
dlouho,ale nedokazal
jsem na to prijit.
Jestli by mi nekdo neporadil,jak na to.
JZ

DBComboBox

[*] cz636704 <jiri.zyk(zv)worldonline(tec)cz> - 24.3.2007 14:37:26

Databazova varianta komponenty ComboBox - DBComboBox po navazani na
DataSource
zobrazuje vzdy jen aktualni hodnotu daneho sloupce.Po kliknuti na
rozbalovaci sipku vpravo se
DBComboBox nerozbaluje.V literature jsen nasel,ze to tak ma byt,ale ze
jde zaridit,aby se
DBComboBox rozbaloval.Hral jsem si s tim problemem pomerne dost
dlouho,ale nedokazal
jsem na to prijit.
Jestli by mi nekdo neporadil,jak na to.
JZ

Assigned() -> access violation (CLX)

[*] viktordoubek(zv)volny(tec)cz - 23.3.2007 18:38:07

Ahoj vsem,
pred casem jsem tu resil pozirani zpravy WM_QUERYENDSESSION CLX
aplikaci - pomoci vlastni reakce na zpravu ve wndProc (TWndProcHook).


Myslel jsem si, ze jsem to krasne a elegantne vyresil,
ale samozrejme odstranenim jedne chyby vznikla minimalne jedna
dalsi.
Pri velkem provozu na mnoha pobockach to zacalo padat (velmi zridka
- pokazde na jinem miste a na jine stanici) na AV. Po dlouhem
hledani a nasazeni JCLDebugu jsem dosel opet do oznaceneho mista
viz.konec mailu (vytah z .dpr).

Nevite, jak se muze stat, ze to vyhuci pri testu If Assigned()? Lze
to nejak jinak osetrit?

Diky moc. VD.


--------------------------------------
Vytah z .dpr:

uses
....
messages,
....

var
OldWndProc: TWndProcHook = nil;

function MyWndProc(Message: PMsg): Integer; stdcall;
var
retVal: integer;
begin
Result := 0;
case Message^.message of
WM_QUERYENDSESSION:
begin //aby to nesezral Qt
Halt;
end;
....
end;

if Assigned(OldWndProc) then /////Tady to spadne na AV!!!
begin
retVal := OldWndProc(Message);
Result := retVal or Result;
end;
end;

....
OldWndProc := Application.SetWndProc( MyWndProc);
Application.Run;
End.
--
Zbavte se draheho internetu! Pripojte levneji. VOLNY Internet od
349 Kc.
Vice informaci na http://adsl.volny(tec)cz nebo na telefonu 800 880 842.

Assigned() -> access violation (CLX)

[*] viktordoubek(zv)volny(tec)cz - 24.3.2007 20:57:45

Nevim, jestli to s tim muze souviset, ale ted jsem zjistil, proc
mi to nahodne pada na AV - pri dotazu do DB z vedlejsiho vlakna
pres samostatnou TSQLConnection se v SQLExpr nastavuje kursor na SQLhodiny
a tam se to samozrejme muze srazit s hlavnim vlaknem pri

procedure TSQLConnection.SetCursor(CursorType: Integer);
begin
if SQLHourGlass or (CursorType = DefaultCursor) then
if Assigned(ScreenCursorProc) then
ScreenCursorProc(CursorType);
end;

ScreenCursorProc ma prirazenu QDBLogDlg.SetCursorType a ta vola QForms.TScreen.SetCursor.


Takze to vlastne vubec neni threadsave!!

Pri SQLHourGlass := false; to sice nebude menit kursor, ale stejne
to tam pri ukonceni akce v DB vleze a bude sahat do Screen, protoze
je tam ..or (CursorType = DefaultCursor)...

Asi by se ta druha cast podminky dala zakomentovat, ale vubec se
mi takove reseni nelibi a hlavne kolik takovych kostlivcu tam
jeste bude???
Neresil jste to uz nekdo?

Dik moc, VD.
> Nevite, jak se muze stat, ze to vyhuci pri testu If
> Assigned()? Lze
> to nejak jinak osetrit?
--
Zbavte se draheho internetu! Pripojte levneji. VOLNY Internet od
349 Kc.
Vice informaci na http://adsl.volny(tec)cz nebo na telefonu 800 880 842.

gbak - schovani hesla

[*] Jan Sebesta <sebesta(zv)cube(tec)cz> - 26.3.2007 13:40:27

Zdravim vsechny,

lze nejak schovat (nebo sifrovat) heslo pod linuxem pro gbak -t -user sysdba
-password "masterkey" zdroj cil.

Chci pravidelne poustet zalohy pomoci scritpu kde pouziji gbak, ale heslo se
mi tam moc psat nechce (aby bylo volne ulozeno v?nejakem scriptu)

dekuji
Jan Sebesta

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Radek KALA <kala(zv)betacontrol(tec)cz> - 26.3.2007 13:56:28

Normalne to ukladej a ignoruj prislusnou chybu

Petr Svejda napsal(a):
> Stale nemuzu vymyslet, jak pridat velke mnozstvi zaznamu (desetitisice) z
> CSV do FB tabulky pri soucasne kontrole na duplicitu.
>
> Delam to takto:
>
> - zjistim si pomoci existenci zaznamu SELECT Klic FROM Sklad WHERE Klic =
> :Klic
> - kdyz existuje Klic, tak zaznam z CSV pomoci SQL opravim (updatuju), kdyz
> neexistuje, tak pomoci SQL pridavam
>
> Problem je, ze ten SELECT je hrozne pomalej. Bez nej se prida 10 000 polozek
> za par vterin, s nim za nekolik minut.
>
> Nevite nekdo o nejake efektivnejsi moznosti?
>
> Diky
>
> Petr Svejda
>
> ISOFT
>
> www.znalosti(tec)cz
> www.isoft(tec)cz
>
>
>

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Petr Svejda <petr(zv)svejda(tec)cz> - 26.3.2007 13:48:28

Stale nemuzu vymyslet, jak pridat velke mnozstvi zaznamu (desetitisice) z
CSV do FB tabulky pri soucasne kontrole na duplicitu.

Delam to takto:

- zjistim si pomoci existenci zaznamu SELECT Klic FROM Sklad WHERE Klic =
:Klic
- kdyz existuje Klic, tak zaznam z CSV pomoci SQL opravim (updatuju), kdyz
neexistuje, tak pomoci SQL pridavam

Problem je, ze ten SELECT je hrozne pomalej. Bez nej se prida 10 000 polozek
za par vterin, s nim za nekolik minut.

Nevite nekdo o nejake efektivnejsi moznosti?

Diky

Petr Svejda

ISOFT

www.znalosti(tec)cz
www.isoft(tec)cz

Vytvoreni kopie formulare

[*] Ing. Zdenek Gala <gala(zv)cathedral(tec)cz> - 26.3.2007 14:04:30

Zdravim konferenci.

Mam nasledujici dotaz: Ve vyvojovem prostredi BDS 2006 (Delphi) mam vytvoren formular a chtel bych udelat jeho kopii pod jinym nazvem, kterou buch trochu pozmenil a pouzival dale.

Dekuji a jsem s pozdravem

Zdenek Gala.

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Petr Svejda <petr(zv)svejda(tec)cz> - 26.3.2007 14:14:31

Index na klici mam. Predpokladam, ze nejaky postup je bezny, koser - proste:
"takhle se to ma delat" a "takto je to nejrychlejsi". Ja vubec nevim, jestli
se to takto pomoci SELECTu vubec dela - treba je na to v SQL specifikaci
primo nejaka "vychytavka".

Petr Svejda

ISOFT

www.znalosti(tec)cz
www.isoft(tec)cz


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

A nepomohl by proste index podle "Klic" na tabulce "Sklad" ? Pak uz by mohlo
byt jedno jestli se udela SELECT Klic FROM Sklad WHERE Klic =neco nebo
SELECT count(*) FROM Sklad WHERE Klic =neco pripadne SELECT 1 from
RDB$DATABASE where exists(select 1 from SKLAD where SKLAD.Klic = neco)
tech variaci jak zjistit jestli existuje zaznam s nejakou hodnotou atributu
je hafo.

Z.Kalhous

----- Original Message -----
From: "Petr Svejda" <petr(zv)svejda(tec)cz>
> Stale nemuzu vymyslet, jak pridat velke mnozstvi zaznamu
> (desetitisice) z CSV do FB tabulky pri soucasne kontrole na duplicitu.
> Delam to takto:
> - zjistim si pomoci existenci zaznamu SELECT Klic FROM Sklad WHERE
> Klic = :Klic
> - kdyz existuje Klic, tak zaznam z CSV pomoci SQL opravim (updatuju),
> kdyz neexistuje, tak pomoci SQL pridavam Problem je, ze ten SELECT je
> hrozne pomalej. Bez nej se prida 10 000
polozek
> za par vterin, s nim za nekolik minut.

gbak - schovani hesla

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 26.3.2007 13:56:29

> lze nejak schovat (nebo sifrovat) heslo pod linuxem pro gbak -t -user sysdba
> -password "masterkey" zdroj cil.
>

Pokud to mas pod linuxem tak si nastav prava ze to uzivatel muze
spustit, ale nesmi to cist. Pripadne to poustej pod jinym uzivatelem
(skupinou) a bezni uzivatele to neuvidi.

tr

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Marian Nykel <m.any(zv)centrum(tec)cz> - 26.3.2007 14:22:32

A co zkusit si vsechny klice nacist predem hromadnym selectem do nejakeho seznamu a
pak porovnat s timto seznamem. Urcite to bude rychlejsi.


Petr Svejda napsal(a):
> Stale nemuzu vymyslet, jak pridat velke mnozstvi zaznamu (desetitisice) z
> CSV do FB tabulky pri soucasne kontrole na duplicitu.
>
> Delam to takto:
>
> - zjistim si pomoci existenci zaznamu SELECT Klic FROM Sklad WHERE Klic =
> :Klic
> - kdyz existuje Klic, tak zaznam z CSV pomoci SQL opravim (updatuju), kdyz
> neexistuje, tak pomoci SQL pridavam
>
> Problem je, ze ten SELECT je hrozne pomalej. Bez nej se prida 10 000 polozek
> za par vterin, s nim za nekolik minut.
>
> Nevite nekdo o nejake efektivnejsi moznosti?
>
> Diky
>
> Petr Svejda
>
> ISOFT
>
> www.znalosti(tec)cz
> www.isoft(tec)cz
>
>
>
>
>

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 26.3.2007 14:32:33

Ja to delam taky tak, mam dva do sebe vnorene bloky try-catch a v tom vnitrnim si
kontroluju jestli Message obsahuje slova "PRIMARY OR UNIQUE", pokud ano, delam update,
pokud ne, vyhodim tu vyjimku znova a odchyti ji ten vnejsi catch.

Tom

Petr Svejda napsal(a):
> Jenze ja musim zaroven pri existenci zaznamu ten zaznam upravit. Asi bych to
> musel delat na try-exception, ale nevim, jestli je to koser. Zaroven se tak
> zbavim moznosti sledovat bezne exception.
>
> Petr Svejda
>

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Petr Svejda <petr(zv)svejda(tec)cz> - 26.3.2007 14:02:30

Jenze ja musim zaroven pri existenci zaznamu ten zaznam upravit. Asi bych to
musel delat na try-exception, ale nevim, jestli je to koser. Zaroven se tak
zbavim moznosti sledovat bezne exception.

Petr Svejda

ISOFT

www.znalosti(tec)cz
www.isoft(tec)cz

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

Normalne to ukladej a ignoruj prislusnou chybu

Petr Svejda napsal(a):
> Stale nemuzu vymyslet, jak pridat velke mnozstvi zaznamu
> (desetitisice) z CSV do FB tabulky pri soucasne kontrole na duplicitu.
>
> Delam to takto:
>
> - zjistim si pomoci existenci zaznamu SELECT Klic FROM Sklad WHERE
> Klic = :Klic
> - kdyz existuje Klic, tak zaznam z CSV pomoci SQL opravim (updatuju),
> kdyz neexistuje, tak pomoci SQL pridavam
>
> Problem je, ze ten SELECT je hrozne pomalej. Bez nej se prida 10 000
> polozek za par vterin, s nim za nekolik minut.
>
> Nevite nekdo o nejake efektivnejsi moznosti?
> Petr Svejda
> www.znalosti(tec)cz

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Petr Svejda <petr(zv)svejda(tec)cz> - 26.3.2007 14:34:33

Mozna jsem te dobre nepochopil. Myslis nejaky TStringList, nebo
TRxMemoryTable? Nebo mas na mysli nejake Firebird reseni (pohled)? Nicmene
to neni spatny napad a vyzkousim ho.


Petr Svejda

ISOFT

www.znalosti(tec)cz
www.isoft(tec)cz


-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Marian Nykel

A co zkusit si vsechny klice nacist predem hromadnym selectem do nejakeho
seznamu a pak porovnat s timto seznamem. Urcite to bude rychlejsi.


Petr Svejda napsal(a):
> Stale nemuzu vymyslet, jak pridat velke mnozstvi zaznamu (desetitisice) z
> CSV do FB tabulky pri soucasne kontrole na duplicitu.
>
> Delam to takto:
>
> - zjistim si pomoci existenci zaznamu SELECT Klic FROM Sklad WHERE Klic =
> :Klic
> - kdyz existuje Klic, tak zaznam z CSV pomoci SQL opravim (updatuju), kdyz
> neexistuje, tak pomoci SQL pridavam
>
> Problem je, ze ten SELECT je hrozne pomalej. Bez nej se prida 10 000
polozek
> za par vterin, s nim za nekolik minut.
>
> Nevite nekdo o nejake efektivnejsi moznosti?
>
> www.znalosti(tec)cz
> www.isoft(tec)cz

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 26.3.2007 14:32:33

Je treba se podelit o zakladni "detaily" situace:
1. V cem je to psane, nejlepe primo kod z aplikace
2. Jak se pracuje z transakcemi (cela akce v jedne explicitni transakci).
3. Jaky je plan toho selectu
4. Pouzivas prepare nebo nechas server vzdy spocitat provadeci plan (na kazdy
select) ?
5. Zmeni se neco po backup a restore DB ?
6. Klic je jakeho typu ?

Ten select je velmi rychly, problem bude nekde jinde.

Slavek

> Stale nemuzu vymyslet, jak pridat velke mnozstvi zaznamu
> (desetitisice) z CSV do FB tabulky pri soucasne kontrole na duplicitu.
>
> Delam to takto:
>
> - zjistim si pomoci existenci zaznamu SELECT Klic FROM Sklad
> WHERE Klic = :Klic
> - kdyz existuje Klic, tak zaznam z CSV pomoci SQL opravim
> (updatuju), kdyz neexistuje, tak pomoci SQL pridavam
>
> Problem je, ze ten SELECT je hrozne pomalej. Bez nej se prida
> 10 000 polozek za par vterin, s nim za nekolik minut.
>
> Nevite nekdo o nejake efektivnejsi moznosti?

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Kalhous <kalhous(zv)eu(tec)cz> - 26.3.2007 14:02:30

A nepomohl by proste index podle "Klic" na tabulce "Sklad" ? Pak uz by mohlo
byt jedno jestli se udela
SELECT Klic FROM Sklad WHERE Klic =neco
nebo
SELECT count(*) FROM Sklad WHERE Klic =neco
pripadne
SELECT 1 from RDB$DATABASE where exists(select 1 from SKLAD where
SKLAD.Klic = neco)
tech variaci jak zjistit jestli existuje zaznam s nejakou hodnotou atributu
je hafo.

Z.Kalhous

----- Original Message -----
From: "Petr Svejda" <petr(zv)svejda(tec)cz>
> Stale nemuzu vymyslet, jak pridat velke mnozstvi zaznamu (desetitisice) z
> CSV do FB tabulky pri soucasne kontrole na duplicitu.
> Delam to takto:
> - zjistim si pomoci existenci zaznamu SELECT Klic FROM Sklad WHERE Klic =
> :Klic
> - kdyz existuje Klic, tak zaznam z CSV pomoci SQL opravim (updatuju), kdyz
> neexistuje, tak pomoci SQL pridavam
> Problem je, ze ten SELECT je hrozne pomalej. Bez nej se prida 10 000
polozek
> za par vterin, s nim za nekolik minut.

Vytvoreni kopie formulare

[*] Kalhous <kalhous(zv)eu(tec)cz> - 26.3.2007 15:14:36

Skoro bych rekl ze nejjednodussi je udelat to drevorubecky. Soubory
"Jmeno1.pas" a "Jmeno1.dfm" zkopirovat jako "Jmeno2.pas" a "Jmeno2.dfm" a v
nich udelat hromadnou nahradu Jmeno1->Jmeno2. Alespon v D7 to tak delam bez
problemu.
Z.Kalhous

----- Original Message -----
From: "Ing. Zdenek Gala" <gala(zv)cathedral(tec)cz>
> Mam nasledujici dotaz: Ve vyvojovem prostredi BDS 2006 (Delphi) mam
vytvoren formular a chtel bych udelat jeho kopii pod jinym nazvem, kterou
buch trochu pozmenil a pouzival dale.

Vytvoreni kopie formulare

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 26.3.2007 15:10:36

> Mam nasledujici dotaz: Ve vyvojovem prostredi BDS 2006 (Delphi)
> mam vytvoren formular a chtel bych udelat jeho kopii pod jinym
> nazvem, kterou buch trochu pozmenil a pouzival dale.
> Zdenek Gala.

Urcite by melo nejak fungovat File/SaveAs.
Ale stejne soudim, ze tato myslenka je od zacatku spatne: DEDICNOST FORMULARU !!!

Je treba dobre navrhnout hierarchickou strukturu formularu, odlisit obecne od specialniho, abstraktni od konkretniho, implementovat a v oddedenych formularich pripadne virtualizovat prislusnou funkcnost.

Pak uz jenom New Items / jmeno projektu / seznam formularu / Inherit

(omlouvam se, pokud je to v BDS2006 jinak, ja hovorim o D7, ale melo by to byt podobne)

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

Vytvoreni kopie formulare

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 26.3.2007 14:50:34

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Ing. Zdenek Gala

Ahoj,

> Mam nasledujici dotaz: Ve vyvojovem prostredi BDS 2006
> (Delphi) mam vytvoren formular a chtel bych udelat jeho kopii
> pod jinym nazvem, kterou buch trochu pozmenil a pouzival dale.

No nevim jak BDS2006, ale az po D7 (novejsi nemam), existuje
"Repository" (viz help "Using an Object Repository item in a project"),
kam si dany form umistis a pak z nej muzes zakladat
bud nove inherited formy, nebo vylozene kopii. POkud se jedna o jednorazovou
kopii tak soubory(pas a dfm) zkopirovat a proste uvnitr patricne texty
nahradit
treba pomoci Global Search&Replace, jednim smahem.

PM


Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Svoboda Jiri <jsvoboda(zv)lekis(tec)cz> - 26.3.2007 14:50:34

Nevim jak ve firebirdu, ale na MS SQL bych postupoval takto:
1. Nacist data do nejake pomocne tabulky
2.Update existujicich dat - na strane serveru,jen pomoci T-SQL, jeden prikaz
3.Insert novych dat - na serveru pomoci T-SQL, jeden prikaz

Vubec bych insert a update nedelal pres Delphi, maximalne nacteni toho souboru do pomocne tabulky.Vse ostatni na strane serveru, bude to urcite rychlejsi a efektivnejsi.
Svoboda Jiri

>-----Original Message-----
>From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Petr Svejda>
>Sent: Monday, March 26, 2007 2:35 PM
>To: delphi-l(zv)clexpert(tec)cz
>Subject: Re: Firebird: Pridani velkeho poctu zaznamu s kontrolou na duplicitu

>Mozna jsem te dobre nepochopil. Myslis nejaky TStringList, nebo TRxMemoryTable? Nebo mas na mysli nejake Firebird reseni (pohled)? Nicmene to neni spatny napad a vyzkousim ho.>Petr Svejda

>ISOFT


>-----Original Message-----
>From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Marian Nykel

>A co zkusit si vsechny klice nacist predem hromadnym selectem do nejakeho seznamu a pak porovnat s timto seznamem. Urcite to bude rychlejsi.>Petr Svejda napsal(a):
> Stale nemuzu vymyslet, jak pridat velke mnozstvi zaznamu
> (desetitisice) z CSV do FB tabulky pri soucasne kontrole na duplicitu.
>
> Delam to takto:
>
> - zjistim si pomoci existenci zaznamu SELECT Klic FROM Sklad WHERE
> Klic = :Klic
> - kdyz existuje Klic, tak zaznam z CSV pomoci SQL opravim (updatuju),
> kdyz neexistuje, tak pomoci SQL pridavam
>
> Problem je, ze ten SELECT je hrozne pomalej. Bez nej se prida 10 000
polozek
> za par vterin, s nim za nekolik minut.
>
> Nevite nekdo o nejake efektivnejsi moznosti?
>
> www.znalosti(tec)cz
> www.isoft(tec)cz

gbak - schovani hesla

[*] Ludek <konference(zv)sales(tec)cz> - 26.3.2007 15:36:38

----- Original Message -----
From: "Jan Sebesta" <sebesta(zv)cube(tec)cz>

> Chci pravidelne poustet zalohy pomoci scritpu kde pouziji gbak, ale heslo se
> mi tam moc psat nechce (aby bylo volne ulozeno v?nejakem scriptu)

Ahoj,
Nastav prava tak aby to videl jen prislusny uzivatel.
Bat se , ze to nekdo prolomi je zbytecne, protoze pokud prolomi toto, dostane se jiste i primo k souborum zalohy, respektive primo k souborum DB.

Ludek

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Ludek <konference(zv)sales(tec)cz> - 26.3.2007 15:42:38

----- Original Message -----
From: "Tomas Rosa" <trosa(zv)seznam(tec)cz>

> Ja osobne bych pouzil TStringList a nastavil bych mu Sorted - pak v nem
> IndexOf hleda pomerne rychle. Mozna bych zkusil i variantu ze kdyz to
> najdes, tak to z nej odstran (at priste hleda rychleji - ovsem je otazka
> aby se pokazde nepreradil, to by pak nemelo efekt - proste zkus oboji).
>

Ahoj,
IMHO je tady obrovske nebezpeci, ze az bude v databazi tech zaznamu velmi mnoho, bude tohle na klientovi naprosto zoufale pomale (az se to nevejde do RAMky).
Lepsi je ten zpusob s pomocnou tabulkou :
1) nacist import do pomocne tabulky
2) upravit v pomocne tabulce konfliktni klice
3a) vypnout index(y) na hlavni tabulce
3) insertnout pomocnou tabulku do hlavni
3c) Zapnout a rebuildnout index(y) na hlavni tabulce
4) smazat pomocnou tabulku

Ludek

P.S. Vychazim z predpokladu, ze po nejake dobe je pocet vet v hlavni tabulce mnohemkrat vyssi nez pocet vkladanych vet.

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 26.3.2007 14:52:35

Ja osobne bych pouzil TStringList a nastavil bych mu Sorted - pak v nem
IndexOf hleda pomerne rychle. Mozna bych zkusil i variantu ze kdyz to
najdes, tak to z nej odstran (at priste hleda rychleji - ovsem je otazka
aby se pokazde nepreradil, to by pak nemelo efekt - proste zkus oboji).

Pripadne jste zkus porovnat v rychlosti s TStringHashMap z unity
JclStrHashMap

tr


> Mozna jsem te dobre nepochopil. Myslis nejaky TStringList, nebo
> TRxMemoryTable? Nebo mas na mysli nejake Firebird reseni (pohled)? Nicmene
> to neni spatny napad a vyzkousim ho.
>
..
>
> A co zkusit si vsechny klice nacist predem hromadnym selectem do nejakeho
> seznamu a pak porovnat s timto seznamem. Urcite to bude rychlejsi.

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 26.3.2007 15:50:39

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Ludek

Ahoj,

> IMHO je tady obrovske nebezpeci, ze az bude v databazi tech
> zaznamu velmi mnoho, bude tohle na klientovi naprosto
> zoufale pomale (az se to nevejde do RAMky).
> Lepsi je ten zpusob s pomocnou tabulkou :
> 1) nacist import do pomocne tabulky
> 2) upravit v pomocne tabulce konfliktni klice
> 3a) vypnout index(y) na hlavni tabulce
> 3) insertnout pomocnou tabulku do hlavni
> 3c) Zapnout a rebuildnout index(y) na hlavni tabulce
> 4) smazat pomocnou tabulku
>
> Ludek

No a v podstate cele se to da zaridit asi na serveru
pomoci SP, takze z apl jen iniciujes "zacni neco delat".
(Ano data budes mozna tlacit z klienta...)

PM


gbak - schovani hesla

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 26.3.2007 22:31:07

Ludek wrote:
> Ahoj, Nastav prava tak aby to videl jen prislusny uzivatel. Bat se ,
> ze to nekdo prolomi je zbytecne, protoze pokud prolomi toto, dostane
> se jiste i primo k souborum zalohy, respektive primo k souborum DB.

Jenze v ps axf to uvidi stejne. Pokud teda neni aplikovan nejaky
security patch.

Mj. jsem tohle uz hodil kdysi do FB trackeru, takze mozna dalsi verze
prinesou nejakou moznost cist to ze vstupu/souboru/...

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 26.3.2007 22:29:06

Slavomir Skopalik wrote:
> Prosim, opuste vsechny reseny typu stringlist, memory table, temporary
> table atd.
> Ukol byl, reseni zrychlit, nikoliv jej nasobne zpomalit.
> 1. V zadnem pripade nenacitat tabulku na klienta, pri desitkach
> tisic zaznamu to povazuji za plytvani vsim (server musi poslat celou tabulku,
> sit ji musi prenest, klient ji musi zpracovat).
>

Tohle ma taky problem v tom, ze se muze mezitim obsah DB zmenit. A pak
budes resit jeste dalsi problem, zbytecne.

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

Registrace DCOM serveru

[*] Petr Vones <conference(zv)petrvones(tec)net> - 26.3.2007 20:30:59

From: "Jan Sebelik" <honza(zv)haes(tec)cz>
> Presto "The RPC Server is porad not available".
>
> Registrace COM by mela byt v poradku - lokalne to funguje.

Neblokuje to Windows XP Firewall ?

Petr Vones

Firebird: Pridani velkeho poctu zaznamu s kontrolo

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 26.3.2007 20:12:58

Prosim, opuste vsechny reseny typu stringlist, memory table, temporary
table atd.
Ukol byl, reseni zrychlit, nikoliv jej nasobne zpomalit.
1. V zadnem pripade nenacitat tabulku na klienta, pri desitkach
tisic zaznamu to povazuji za plytvani vsim (server musi poslat celou tabulku,
sit ji musi prenest, klient ji musi zpracovat).

2. Proc delat temporary table ? Neni pro to jedinny rozumny duvod
(abych nakopiroval data a ty pak pomoci STEJNEHO algoritmu
vkladal do puvodni tabulky?).

Takze, cekam, az se autor puvodniho prispevku trochu vice rozepise
o tom, co vlastne dela.
Pokud pouziva FB2.0, muze vyuzit on fly uloznou proceduru. Velmi vyhodne.
Priklad:
IBQP.SQL.Text:=Format('EXECUTE BLOCK AS '+CRLF+
'DECLARE id INTEGER=NULL;'+CRLF+
'DECLARE idm INTEGER =%d;'+CRLF+
'DECLARE LoLo DOUBLE PRECISION =%s;'+CRLF+
'DECLARE Lo DOUBLE PRECISION =%s;'+CRLF+
'DECLARE Hi DOUBLE PRECISION =%s;'+CRLF+
'DECLARE HiHi DOUBLE PRECISION =%s;'+CRLF+
'BEGIN '+CRLF+
'SELECT id FROM DevMeasurandLimits WHERE idDevice=1 AND
idDevMeasurand=:idm INTO :id;'+CRLF+
'IF(id IS NULL) THEN '+
'INSERT INTO DevMeasurandLimits(idDevice,idDevMeasurand, LoLo, Lo,
Hi, HiHi) VALUES(1,:idm, :LoLo, :Lo, :Hi, :HiHi);'+
'ELSE '+
'UPDATE DevMeasurandLimits SET LoLo=:LoLo, Lo=:Lo, Hi=:Hi,
HiHi=:HiHi WHERE id=:id;'+
'END',

[p.id,FloatToSQLStr(p.MinMin),FloatToSQLStr(p.Min),FloatToSQLStr(p.Max),FloatToS
QLStr(p.MaxMax)]);
IBQP.ExecQuery;

PS: V danem pripade v NEPOUZIVAT format, vede to pouze k nasobnemu zpomaleni, je
treba vse provest
v jedne explicitni transakci a vsechny dotazy v modu prepare.
Dale me zajima, jak je to se siti, jestli neni problem v latenci site.

Slavek

> Ja osobne bych pouzil TStringList a nastavil bych mu Sorted -
> pak v nem
> IndexOf hleda pomerne rychle. Mozna bych zkusil i variantu ze kdyz to
> najdes, tak to z nej odstran (at priste hleda rychleji -
> ovsem je otazka
> aby se pokazde nepreradil, to by pak nemelo efekt - proste
> zkus oboji).
>
> Pripadne jste zkus porovnat v rychlosti s TStringHashMap z unity
> JclStrHashMap
>
> tr
>
>
> > Mozna jsem te dobre nepochopil. Myslis nejaky TStringList, nebo
> > TRxMemoryTable? Nebo mas na mysli nejake Firebird reseni (pohled)?
> > Nicmene to neni spatny napad a vyzkousim ho.
> >
> ..
> >
> > A co zkusit si vsechny klice nacist predem hromadnym selectem do
> > nejakeho seznamu a pak porovnat s timto seznamem. Urcite to bude
> > rychlejsi.
>
>
>
>


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