Archív konference Delphi

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

VS2005 versus BDS2006 ? Delphi 10 Lite versus D7 ?

[*] Ing. Radovan Samudovsky, Gas-Me-Ra s.r.o <rsamudovsky(zv)gasmera.sk> - 15.5.2006 16:02:24

Dobry den,

nema niekto prakticke skusenosti a moze porovnat produktivitu prace vo
VS2005 od Microsoftu versus BDS2006 od Borlandu ? Potrebujem vyvijat ..NET
aplikacie a neviem pre co sa mam rozhodnut.

Este jedna otazka ohladne Win32 aplikacii co je to Delphi 10 Lite, kde sa da
stiahnut a ako je na tom v porovnani s D7 ?

Dakujem

Radovan Samudovsky

Nahrada za TTreeView

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 15.5.2006 15:38:22

VirtualTreeView neni urcen na takove konstrukce jako chces ty.
Nejde mu definovat data v dobe navrhu.
Je urcen na velke dynamicke objemy dat (zvladne v pohode x milionu dat),
diky svemu virtualnimu pristupu k datum je unikatni a je to jedna z mojich
nejoblibenejsich komponent, ktera te prakticky v nicem neomezuje.

Na to co chces ty se podivej po necem jinem.> Ahoj,
>
> snazim se najit vhodnou nahradu za TTreeView. Narazil jsem na
> TVirtualTreeView, ale na prvni pokus se mi tam nepodarilo dostat zadna
> data v dobe navrhu. Marne hledam i nejaky priklad v dokumentaci. Jeto
> vubec mozne a jak?
>
> Priklad: v klasickem TTreeView mam preddefinovany strom:
>
> +-uzel_1
> | +-poduzel_11
> +-uzel_2
> | +-poduzel_21
> | | +-podpoduzel_211
> | | +-podpoduzel_212
> | | +-podpoduzel_213
> | +-poduzel_22
> +-uzel_3
>
> Potrebuju neco podobneho, ale s "rozumnym" editorem pro design time -
> ten co je v delphi je desnej. A ukladani do dfm v textove podobe.
> Original TTreeView si data do dfm uklada binarne. Pdminkou je, abych pri
> poklepani mohl odpalit vlastni akci, poznal, z jakeho uzlu / decka to
> bylo a aby bylo lze individualne zvyraznit vybrana decka (tucne + barvou).
>
> Dekuji za kazdou radu,
>
> Petr Palicka aka Peca.
>
>
>

Delphi a webkamera

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 15.5.2006 15:30:21

DelphiTwain - kuprikladu moje webka Geniuska GE111 ma twain rozhrani,
takze jde ji v pravidelnem intervalu zapnout, vykuchat obrazek a ulozit.

TR

> Ahoj, nevite o nejakych free komponentach nebo nejakem jednoduchem zpusobu kterak z delphi pracovat s Webkamerou? Jde o ukladani obrazu z webky na disk v nastavenych casovych intervalech, pripadne z vice webkamer (pripojenych pres USB) soucasne ...
>

Nahrada za TTreeView

[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 16.5.2006 07:27:30



> -----Original Message-----
> From: petr palicka
> snazim se najit vhodnou nahradu za TTreeView. Narazil jsem na
> TVirtualTreeView, ale na prvni pokus se mi tam nepodarilo dostat zadna
> data v dobe navrhu. Marne hledam i nejaky priklad v dokumentaci. Jeto
> vubec mozne a jak?
>

Ahoj, podivej se tady http://www.lischke-online.de/TreeNT.php. Je to od
stejneho autora, jednodussi, dostatecne rychle nacitani dat. Ma to vlastni
format pro ulozeni dat pro stromovou strukturu. Mam s tim dobre zkusenosti.

Ing. Igor Vodicka
informacni systemy
Nakladatelstvi Sagit
Tel.: 59 6786 001
HTTP://www.sagit(tec)cz/

Nahrada za TTreeView

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 16.5.2006 08:07:35

Ahoj,

Ing. Igor Vodicka napsal(a):
> Ahoj, podivej se tady http://www.lischke-online.de/TreeNT.php. Je to od
> stejneho autora, jednodussi, dostatecne rychle nacitani dat. Ma to vlastni
> format pro ulozeni dat pro stromovou strukturu. Mam s tim dobre zkusenosti.

to me nenapadlo, myslel jsem, ze je to predchudce VirtualTreeView.
Dik za radu. Mam ted ale jeste jeden problem, prave s TreeNT. Komponenta
vyzaduje nejake "Delphi free stuff", jenze na webu to vypada, ze stranka
je zrusena. Muzete mi nekdo poslat nejaky funkcni odkaz? Eventuelne
emailem na peca(zv)email(tec)cz.

> Ing. Igor Vodicka
> informacni systemy
> Nakladatelstvi Sagit
> Tel.: 59 6786 001
> HTTP://www.sagit(tec)cz/

Dekuji
Petr Palicka aka Peca

Nahrada za TTreeView

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 16.5.2006 08:17:36

Ahoj,

petr palicka napsal(a):
> vyzaduje nejake "Delphi free stuff", jenze na webu to vypada, ze stranka
> je zrusena.

uz jsem to nasel na Torry

Peca

Nahrada za TTreeView

[*] Karel Pecinka <k.pecinka(zv)seznam(tec)cz> - 16.5.2006 09:13:41

Nebylo by lepsi strom vytvaret az za behu? Me se Tvuj pristup zda dost
divnej.

Mohl bys mit uzly ulozene v DB nebo aspon TXT a vytvorit je za behu. Ma to
spoustu vyhod
- vic uzivatelu je muze upravovat, uzlum je mozne nastavit uzivatelska
prava, barvicky, font
a mnohe dalsi.

Karel

> tak bohuzel. Data se opet ukladaji binarne, to je nepouzitelne. nelze
mergovat zdrojaky z ruznych vyvojovych vetvi.

Nahrada za TTreeView

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 16.5.2006 09:05:40

Ahoj,

Ing. Igor Vodicka napsal(a):
> Ahoj, podivej se tady http://www.lischke-online.de/TreeNT.php. Je to od
> stejneho autora, jednodussi, dostatecne rychle nacitani dat. Ma to vlastni
> format pro ulozeni dat pro stromovou strukturu. Mam s tim dobre zkusenosti.

tak bohuzel. Data se opet ukladaji binarne, to je nepouzitelne. nelze
mergovat zdrojaky z ruznych vyvojovych vetvi.

Peca

Nahrada za TTreeView

[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 16.5.2006 09:33:42



> -----Original Message-----
> From: petr palicka
> Ing. Igor Vodicka napsal(a):
> > Ahoj, podivej se tady http://www.lischke-online.de/TreeNT.php. Je to od
> > stejneho autora, jednodussi, dostatecne rychle nacitani dat. Ma
> to vlastni
> > format pro ulozeni dat pro stromovou strukturu. Mam s tim dobre
> zkusenosti.
>
> tak bohuzel. Data se opet ukladaji binarne, to je nepouzitelne. nelze
> mergovat zdrojaky z ruznych vyvojovych vetvi.
>

samozrejme ma to sve plusy i minusy, zalezi co chces delat. Pro Tvuj pripad
by asi bylo lepsi vyuzit nejakou DBTreeView komponentu napojujici se na db
tabulku napr. JvDBTreeView od JediVCL,na webu jich najdes spousta.

Igor Vodicka

Nahrada za TTreeView

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 16.5.2006 09:29:42

Ahoj,

Karel Pecinka napsal(a):
> Nebylo by lepsi strom vytvaret az za behu? Me se Tvuj pristup zda dost
> divnej.

pouzivame ten strom jako nahradu ze menu. Menu se po kliknuti zavre a
uzivatel musi znovu najizdet tam, kde byl naposledy (tyka se tiskovych
sestav).

> Mohl bys mit uzly ulozene v DB nebo aspon TXT a vytvorit je za behu. Ma to
> spoustu vyhod - vic uzivatelu je muze upravovat, uzlum je mozne nastavit
> uzivatelska prava, barvicky, font a mnohe dalsi.

Me to staci v dobe navrhu. Reseni by to asi bylo a mozna mene
narocne, nez na prvni pohled vypada. Nejake XML nebo TXT, ktery by se
pri startu ulohy nacetl. Uzivatel by do toho asi hrabat nemel, preci
jenom, aby si nejake volby nerozkopal uplne.

> Karel

Dik za radu

Peca

Nahrada za TTreeView

[*] Ludek Finstrle <ludek.finstrle(zv)pzkagis(tec)cz> - 16.5.2006 09:13:41

> > Ahoj, podivej se tady http://www.lischke-online.de/TreeNT.php. Je to od
> > stejneho autora, jednodussi, dostatecne rychle nacitani dat. Ma to vlastni
> > format pro ulozeni dat pro stromovou strukturu. Mam s tim dobre zkusenosti.
>
> tak bohuzel. Data se opet ukladaji binarne, to je nepouzitelne. nelze
> mergovat zdrojaky z ruznych vyvojovych vetvi.

Co ti brani upravit ukladani/nacitani? Predpokladam, ze je to otazka
par minut.

Luf

Nahrada za TTreeView

[*] Ladislav Fitz <ladislav.fitz(zv)kodytek(tec)cz> - 16.5.2006 09:49:44


----- Original Message -----
From: "petr palicka" <palicka.petr(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Tuesday, May 16, 2006 9:29 AM
Subject: Re: Nahrada za TTreeView


> Ahoj,
>
> Karel Pecinka napsal(a):
>> Nebylo by lepsi strom vytvaret az za behu? Me se Tvuj pristup zda dost
>> divnej.
>
> pouzivame ten strom jako nahradu ze menu. Menu se po kliknuti zavre a
> uzivatel musi znovu najizdet tam, kde byl naposledy (tyka se tiskovych
> sestav).

tohle sem kdysi resil tak ze sem si pri ukonceni prace prolezl vsechny
polozky a pokud byla rozbalena pridal sem si do stringu + a pokud zabalena
tak -, no pri opetovne praci sem je zase prolezl a podle plusu a minusu sem
je rozbali ci zabalil

myslim ze se to da pouzit pokud tech uzlu neni moc a navic si to muzes
zapamatovat u kazdeho uzivatele zvlast, jedinej problem je ze pokud nejak
zamichas poradi (vytvoris nove, smazes stare, ...) tak ti to pri pristim
otevreni nebude sedet

>
>> Mohl bys mit uzly ulozene v DB nebo aspon TXT a vytvorit je za behu. Ma
>> to
>> spoustu vyhod - vic uzivatelu je muze upravovat, uzlum je mozne nastavit
>> uzivatelska prava, barvicky, font a mnohe dalsi.
>
> Me to staci v dobe navrhu. Reseni by to asi bylo a mozna mene
> narocne, nez na prvni pohled vypada. Nejake XML nebo TXT, ktery by se
> pri startu ulohy nacetl. Uzivatel by do toho asi hrabat nemel, preci
> jenom, aby si nejake volby nerozkopal uplne.
>
>> Karel
>
> Dik za radu
>
> Peca
>
>
>

OleContainer, Excel2003

[*] Radek Doubeta <rdoubeta(zv)rehabilitace(tec)cz> - 16.5.2006 10:37:47

Ahoj,



na formulari mam OleContainer a v nem vlozeny objekt Excel2003.

Na NEKTERYCH instalacich dochazi pri volani metody DoVerb(ovShow) tohoto
OleContaineru

nahodne k vyjimce EOleSysError.



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

Nezname rozhrani.

Exception class: EOleSysError

Exception address: 0047C941

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

Stack list, generated 15.5.2006 14:26:06

[0047C93C] ComObj.OleError (Line 1269, "ComObj.pas" + 1) + $11

[0047C954] ComObj.OleCheck (Line 1276, "ComObj.pas" + 1) + $D

[00534B78] OleCtnrs.TOleContainer.DoVerb + $BC


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



Pokud je nainstalovan EXCEL2000 vse funguje OK.

Nevite nekdo kde by mohla byt chyba?



Diky

Radek Doubeta



DELPHI6 SP2, WinXP SP2

Vzdalene ladeni

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 16.5.2006 11:07:49

Ahoj,

lze nejak v IDE krokovat program, ktery je spusten na jinem pocitaci?

Instalace TTreeNT, was RE: Nahrada za TTreeView

[*] David Janko <djanko(zv)nextmedia(tec)cz> - 16.5.2006 11:31:51

Ahoj,
tak sem se na to TreeNT mrkl na webu a docela se mi take libilo, tak sem to
zkusil instalnout. Zadny specialni install postup tam neuvadi, tak sem
zkusil verzi pro D6, pak i tu puvodni, pak je i dat spolu do jedno adresare,
a nakonec sem installnout i zminovane "Delphi free stuff" (byt ho po me
nechtelo). V kazdem pripade sem pri Install baliku skoncil na hlasce:
"resource TICK_DARK not found".
Jak jsi to prosim instaloval ?

Diky
---
Best Regards,
David Janko
jednatel
djanko(zv)nextmedia(tec)cz
http://www.nextmedia(tec)cz
+420 777 233 530

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

Ahoj,

petr palicka napsal(a):
> vyzaduje nejake "Delphi free stuff", jenze na webu to vypada, ze stranka
> je zrusena.

uz jsem to nasel na Torry

Peca

Vzdalene ladeni

[*] Vit Krska <krska(zv)del(tec)cz> - 16.5.2006 11:41:52

nevim jak v jinych verzich, ale v D7 to jde. na instalacnim cd je aplikace
RDebug a pak si staci precist navod.

vitek

> Ahoj,
>
> lze nejak v IDE krokovat program, ktery je spusten na jinem pocitaci?
>

Vzdalene ladeni

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 16.5.2006 11:39:52

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

Ahoj,

> lze nejak v IDE krokovat program, ktery je spusten na jinem pocitaci?

viz help Remote debugging.

S pozdravem a dikem
=====================================
> Pavel Malinsky; malinsky(zv)pmcom(tec)cz <
=====================================
> GSM: 602 652 203 | ICQ: 322015967 <
=====================================

Instalace TTreeNT, was RE: Nahrada za TTreeView

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 16.5.2006 11:53:53

Ahoj,

David Janko napsal(a):
> "resource TICK_DARK not found".
> Jak jsi to prosim instaloval ?

no, mozna DFS ani neni potreba. V jednotce TreeNT prohod radky 830 a
832 a vypni direktivy na radkach 21 a 22. Je tam:

21: {$define DarkImages} // include this compiler switch if you want to
have darker default check images
22: {$define TickImages} // include this compiler switch if you want to
have ticks instead of crosses in check images
....
822: {$ifdef DarkImages}
823: {$ifdef TickImages}
824: LoadAndMapBitmap(Images, HINstance, 'TICK_DARK');
825: {$else}
826: LoadAndMapBitmap(Images, HINstance, 'CHECK_DARK');
827: {$endif}
828: {$else}
829: {$ifdef TickImages}
830: LoadAndMapBitmap(Images, HINstance, 'CHECK_LIGHT');
831: {$else}
832: LoadAndMapBitmap(Images, HINstance, 'TICK_LIGHT');
833: {$endif}
834: {$endif}

Jenze v *.RES je jenom CHECK_LIGHT a CHECK_DARK.

> David Janko

Peca

Vzdalene ladeni

[*] Petr Vones <konference(zv)petrvones(tec)net> - 16.5.2006 11:31:51

From: "Martin Pisarik" <martin.pisarik(zv)seznam(tec)cz>
> lze nejak v IDE krokovat program, ktery je spusten na jinem pocitaci?

Ano, pomoci Remote Debuggeru (dale je to popsane v helpu). Je na instalacnim
CD Delphi.

Petr Vones

Komponenta pro texty

[*] Vaclav Sazima <vaclav.sazima(zv)utilia(tec)cz> - 16.5.2006 13:38:01

Ahoj,
a nechces rovnout pouzit componentu pro zobrazovani html, treba
THtmlLight (zadarmo) (autor David Baldwin)?

Vaclav Sazima

Viktor Marek wrote:

> 1) Tvorim aplikaci o historii obce. Fotografie jsem ulozil do databaze ale
> narazil jsem na problem jak do programu dostat psanou historii. Jedna se
> zhruba o 200 kb textu, ktery musim bohuzel prenest z html pres clipbord.
> Zkousel jsem Memo, RichEdit i RXRichEdit, ale vysledek je nehezky a nenasel
> jsem moznost jak zvyraznovat barevne text, o formatovani textu nemluve.
>
> Win XP, Delphi 5 profesional
> Viktor Marek
>
>
>
>
>

Komponenta pro texty

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 16.5.2006 13:11:59

1) Tvorim aplikaci o historii obce. Fotografie jsem ulozil do databaze ale
narazil jsem na problem jak do programu dostat psanou historii. Jedna se
zhruba o 200 kb textu, ktery musim bohuzel prenest z html pres clipbord.
Zkousel jsem Memo, RichEdit i RXRichEdit, ale vysledek je nehezky a nenasel
jsem moznost jak zvyraznovat barevne text, o formatovani textu nemluve.

Jak toto resite, pripadne jakou komponentu na tyto ucely pouzivate? Text by
nemel byt pro uzivatele editovatelny.

2) Lze nejakym zpusobem cenrtovat text ve Form.Caption?

Win XP, Delphi 5 profesional
Viktor Marek


Komponenta pro texty

[*] vlko <vlko(zv)zilina(tec)net> - 16.5.2006 13:54:03

Viktor Marek wrote:
> 1) Tvorim aplikaci o historii obce. Fotografie jsem ulozil do databaze ale
> narazil jsem na problem jak do programu dostat psanou historii. Jedna se
> zhruba o 200 kb textu, ktery musim bohuzel prenest z html pres clipbord.
> Zkousel jsem Memo, RichEdit i RXRichEdit, ale vysledek je nehezky a nenasel
> jsem moznost jak zvyraznovat barevne text, o formatovani textu nemluve.
>
> Jak toto resite, pripadne jakou komponentu na tyto ucely pouzivate? Text by
> nemel byt pro uzivatele editovatelny.

ak ide o html tak som nasiel super komponentu pre
zobrazovanie html QzHtmlLabel
http://www.quickzip.org/forums/viewtopic.php?t=278
alebo na torry http://www.torry.net/pages.php?id=129
(QzHtmlLabel v.2.00)

Je super, na zakladne veci staci, a najma da sa pouzit
existujuci html kod, co sa hodi pre multimedialne cd:)

Mam pocit, ze som musel upravovat zdrojak, lebo nezvladala
prekreslovanie vyssich html celkov ale inac ide v pohode,
upravene zdrojaky mozem zaslat na sukromny mail.

Pridam aj nejaky ten screenshot z existujucej aplikacie:
http://zeta.zilina.net/picture.php?ukaz=tisesw.jpg
je pouzity v okne detail objektu, cize vidno, ze vie aj obrazky.

vlko


--

--------------
mail: vlko(zv)zilina.net
web: http://vlko.zilina.net

OT: Nabidka prace: Junior programator (Delphi -> C

[*] Pavol Kakacka <kasix(zv)atlas(tec)cz> - 16.5.2006 13:11:59

Popis spolecnosti ? mlada rozvijejici se spolecnost zalozena vyznamnymi hraci v oblasti poskytovani IT sluzeb.

Popis projektu ? vyvoj ucelenych systemu a aplikaci v oblasti automatizovanych domacich i prumyslovych zarizeni (robotu) a inteligentnich budov.

Junior programator (Delphi -> C#)

Napln prace
- programovani soucasti aplikaci na zaklade analyz pod odbornym dohledem senior programatora

Pozadujeme
- znalost jazyka C# nebo chut prejit na C#
- znalost nektereho OOP jazyka (Delphi, C++, Java, C#, ?)
- zkusenosti s vyvojem aplikaci vyhodou
- znalost anglictiny na urovni bezproblemove prace s dokumentacemi
- znalost SQL (neni nezbytne, je vyhodou)
- aktivni pristup a pruznost pri reseni problemu, peclivost, odolnost vuci stresu, zodpovednost, spolehlivost
- logicke mysleni a dobrou predstavivost
- tymoveho hrace
- schopnost rozvijet sve znalosti

Nabizime
- prace na zajimavych projektech
- praci v perspektivnim odvetvi
- prijemne neformalni pracovni prostredi a mlady kolektiv
- pruzna pracovni doba
- zajimave financni ohodnoceni, ovlivnitelne vlastnim nasazenim
- sluzebni notebook a dalsi zamestnanecke vyhody
- moznost prosazeni vlastnich tvurcich dovednosti
- moznost dalsiho odborneho i osobniho rozvoje
- moznost dalsiho profesniho rustu

Pracoviste
- Praha (Michle)

Typ pracovniho pomeru
- zamestnanecky pracovni pomer, plny uvazek
- juniorske pozice lze vykonavat i pri dalkovem studiu

Odpovedi, CV, pripadne dalsi dotazy, zasilejte na muj mail, ne do konference!

Pavol Kakacka
Technical Director
Positro a.s.
tel: +420 736622412
pavol.kakacka(zv)positro.com
pavol.kakacka(zv)gmail.com

OT: Nabidka prace: Senior programator (Delphi -> C

[*] Pavol Kakacka <kasix(zv)atlas(tec)cz> - 16.5.2006 13:11:59

Popis spolecnosti ? mlada rozvijejici se spolecnost zalozena vyznamnymi hraci v oblasti poskytovani IT sluzeb.

Popis projektu ? vyvoj ucelenych systemu a aplikaci v oblasti automatizovanych domacich i prumyslovych zarizeni (robotu) a inteligentnich budov.

Senior programator (Delphi -> C#)

Napln prace
- programovani ruznych druhu aplikaci (serverovych, klient/server, desktopovych, ?)
- programovani ruznych soucasti aplikaci
- spoluucast pri navrhu funkcnosti aplikaci

Pozadujeme
- znalost jazyka C# nebo chut prejit na C#
- dobra znalost nektereho OOP jazyka (Delphi, C++, Java, C#, ?) a zkusenosti s vyvojem aplikaci
- znalost anglictiny na urovni bezproblemove prace s dokumentacemi
- znalost SQL (neni nezbytne, je vyhodou)
- aktivni pristup a pruznost pri reseni problemu, peclivost, odolnost vuci stresu, samostatnost, zodpovednost, spolehlivost
- logicke mysleni a dobrou predstavivost
- tymoveho hrace
- schopnost rozvijet sve znalosti

Nabizime
- prace na zajimavych velkych projektech
- praci v perspektivnim odvetvi
- prijemne neformalni pracovni prostredi a mlady kolektiv
- pruzna pracovni doba
- zajimave financni ohodnoceni, ovlivnitelne vlastnim nasazenim
- sluzebni notebook a dalsi zamestnanecke vyhody
- moznost prosazeni vlastnich tvurcich dovednosti
- moznost dalsiho odborneho i osobniho rozvoje
- moznost dalsiho profesniho rustu

Pracoviste
- Praha (Michle)

Typ pracovniho pomeru
- zamestnanecky pracovni pomer, plny uvazek

Odpovedi, CV, pripadne dalsi dotazy, zasilejte na muj mail, ne do konference!

Pavol Kakacka
Technical Director
Positro a.s.
tel: +420 736622412
pavol.kakacka(zv)positro.com
pavol.kakacka(zv)gmail.com


OT: Nabidka prace: Architekt - Senior programator

[*] Pavol Kakacka <kasix(zv)atlas(tec)cz> - 16.5.2006 13:11:59

Popis spolecnosti ? mlada rozvijejici se spolecnost zalozena vyznamnymi hraci v oblasti poskytovani IT sluzeb.

Popis projektu ? vyvoj ucelenych systemu a aplikaci v oblasti automatizovanych domacich i prumyslovych zarizeni (robotu) a inteligentnich budov.

Architekt - Senior programator (Delphi -> C#)

Napln prace
- vudci cinnost pri vyvoji ruznych druhu aplikaci
- analyticka cinnost a navrh architektury
- spoluucast pri navrhu GUI aplikaci
- spoluucast pri definovani standardu pro vyvoj a integraci aplikaci
- seniorska programatorska cinnost ? vyvoj klicovych prvku aplikaci
- vedeni mensiho teamu programatoru

Pozadujeme
- znalost jazyka C# nebo chut prejit na C#
- vyborna znalost nektereho OOP jazyka (Delphi, C++, Java, C#, ?) a dlouhodobe zkusenosti s vyvojem aplikaci
- znalost anglictiny na urovni bezproblemove prace s dokumentacemi
- znalost SQL a znalost principu a tvorby relacnich databazi
- aktivni pristup a pruznost pri reseni problemu, peclivost, inovativni pristup k projektum, odolnost vuci stresu, samostatnost, zodpovednost, spolehlivost
- logicke mysleni a dobrou predstavivost
- tymoveho hrace
- pracovni nasazeni odpovidajici pozici
- schopnost rozvijet sve znalosti

Nabizime
- prace na zajimavych velkych projektech
- praci v perspektivnim odvetvi
- prijemne neformalni pracovni prostredi a mlady kolektiv
- pruzna pracovni doba
- financni ohodnoceni odpovidajici Vam sverene odpovednosti, zajimave, ovlivnitelne vlastnim nasazenim s moznosti primeho zainteresovani na uspesich firmy
- sluzebni mobil a notebook, dalsi zamestnanecke vyhody
- moznost prosazeni vlastnich tvurcich dovednosti
- moznost dalsiho odborneho i osobniho rozvoje
- moznost dalsiho profesniho rustu

Pracoviste
- Praha (Michle)

Typ pracovniho pomeru
- zamestnanecky pracovni pomer, plny uvazek

Odpovedi, CV, pripadne dalsi dotazy, zasilejte na muj mail, ne do konference!

Pavol Kakacka
Technical Director
Positro a.s.
tel: +420 736622412
pavol.kakacka(zv)positro.com
pavol.kakacka(zv)gmail.com

Webcam: DSPack + VisionLab

[*] delphak(zv)centrum(tec)cz - 17.5.2006 09:03:23

Ahoj, nezkousel nekdo, pripadne nevite jak vyuzit komponentu pro detekci pohybu z VisionLab ve spolupraci s DSPack (kde se zase lepe dela komprese apod.)

Dik za radu

Aplikace a rozliseni monitoru

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 17.5.2006 09:53:27

V prispevcich konference jsem nasel prispevek z 26. rijna 1967 a komponente,
ktera autonaticky upravuje aplikaci dle rozliseni monitoru.

Want your Forms to work in any resolution? This component automatically
adjusts all child controls size proportionally to the panel current size.
Including font size, column widths, etc... With this you can easily deploy
resolution independent applications. (Shareware trial version) Nevyhoda -
$20 popr. $30 vcetne zdrojoveho textu, demo zdarma...
Nevi nekdo zda v soucasne dobe neco takoveho existuje pro Delphi 5?

Viktor Marek
viktor(zv)vol(tec)cz
http://www.volweb(tec)cz/viktor

Aplikace a rozliseni monitoru

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

From: "Viktor Marek" <viktor(zv)mbox.vol(tec)cz>
Subject: Aplikace a rozliseni monitoru
To: delphi-l(zv)clexpert(tec)cz
Date sent: Wed, 17 May 2006 09:53:27 +0200
Send reply to: delphi-l(zv)clexpert(tec)cz

> V prispevcich konference jsem nasel prispevek z 26. rijna
> 1967 a komponente, ktera autonaticky upravuje aplikaci dle
> rozliseni monitoru.

K podobnemu ucelu se da pouzit metoda formu ScaleBy, viz
help. Pokud je form rozumne navrzen, tj. pouzivaji se
panely s vhodnym Align apod., da se tak velka cast formu
pomerne snadno roztahnout dle rozliseni. Presto zbydou
komponenty, ktere nereaguji zcela dle ocekavani, ale to se
da snadno doosetrit. Napr. grid neprepocita sirky sloupecku
apod. Nesmi se tez zapomenout na pripadny prepocet
Constraint, je-li pouzivano.

Nebo jsem puvodni prispevek spatne pochopil a odpovidam na
neco jineho?

David Lebeda

Aplikace a rozliseni monitoru

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 17.5.2006 11:01:31

> V prispevcich konference jsem nasel prispevek z 26. rijna 1967 a
komponente,

Panejo, to jsi teda zalovil pekne hluboko ;-)

> ktera autonaticky upravuje aplikaci dle rozliseni monitoru.

Dovolil bych si malinko zapochybovat o ucelnosti neceho takoveho, jako je
"resolution independent", kdyby se takto chovaly vsechny aplikace, asi by
nemelo smysl mit ruzna rozliseni, ne? U specialnich aplikaci to nejspis
muze byt potreba, ale obvyklejsi je myslim vyuzit vyssiho rozliseni k
zobrazeni vice informaci/podrobnosti. Trochu pochybuji, ze by to fungovalo
skutecne spravne u vsech komponent.

MB

Aplikace a rozliseni monitoru

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 17.5.2006 11:17:33

Zalovil, zalovil. Samozrejme souhlasim s nazorem "vetsi rozliseni = vice
informaci" pred ocima. a o metode "ScaleBy" vim. Bohuzel se mi nikdy
nepovedlo s s ni uspokojive poradit, zcela urcite vlastni neschopnosti.

Prizpusobit aplikaci rozliseni potrebuji opravdu pro specificky programek,
kde bude stejne informaci jak v rozliseni 800x600 tak v rozliseni 1024x768.

Jinak jsem na netu nasel unitu "Resizer" - chodit chodi, ale .....
Prikladam ji a doufam ze mne admin za to nesepsuje!?

Viktor Marek
viktor(zv)mbox.vol(tec)cz

unit Resizer;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
stdCtrls;

type
PMetrics = ^TMetrics;
TMetrics = record
Font : real;
Left : real;
Top : real;
Width : real;
Height : real;
Control: TControl;
end;

TResizer = class(TComponent)
private
FActive : boolean;
FUseFont : boolean;
FFont : TFont;
FParentForm: TForm;
FControls : TList;
FWrapResize: TNotifyEvent;
procedure SetActive(b: boolean);
procedure FontStyleChanged(Sender: TObject);
procedure SetFont(F: TFont);
public
constructor Create(AOwner: TComponent); override;
procedure ResizeControls(Sender: TObject);
destructor Destroy; override;
published
property Active: boolean read FActive write SetActive;
property Font: TFont read FFont write SetFont;
property UseFont: boolean read FUseFont write FUseFont;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('TheCaptain', [TResizer]);
end;

constructor TResizer.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FFont := TFont.Create;
FFont.OnChange := FontStyleChanged;
FControls := TList.Create;
FParentForm := TForm(AOwner);
FWrapResize := FParentForm.OnResize;
FParentForm.OnResize := ResizeControls;
SetActive(false);
end;

procedure TResizer.SetActive(b: boolean);
var i: integer;
p: PMetrics;
begin
FActive := b;
if (b) then begin
for i := 0 to FParentForm.ComponentCount - 1 do
if (FParentForm.Components[i] is TControl) then
begin
New(p);
if (FUseFont) then TEdit(FParentForm.Components[i]).Font := FFont;
if TControl(FParentForm.Components[i]).Height > 0 then
begin
p^.Font := (((TEdit(FParentForm.Components[i]).Font.Height)*
1.0) / (TControl(FParentForm.Components[i]).Height* 1.0) * 1.0);
p^.Top := (((TControl(FParentForm.Components[i]).Top * 1.0)
/ (FParentForm.Height* 1.0)) * 1.0);
p^.Left := (((TControl(FParentForm.Components[i]).Left * 1.0)
/ (FParentForm.Width * 1.0)) * 1.0);
p^.Width := (((TControl(FParentForm.Components[i]).Width * 1.0)
/ (FParentForm.Width * 1.0)) * 1.0);
p^.Height := (((TControl(FParentForm.Components[i]).Height* 1.0)
/ (FParentForm.Height* 1.0)) * 1.0);
p^.Control := TControl(FParentForm.Components[i]);
FControls.Add(p);
end;
end;
end else begin
for i := FControls.Count - 1 DownTo 0 do begin
p := FControls[i];
Dispose(p);
end;
FControls.Clear;
end;
end;

procedure TResizer.FontStyleChanged(Sender: TObject);
var i: integer;
begin
if (FUseFont) and (FActive) then
for i := 0 to FControls.Count - 1 do
TEdit(FControls[i]).Font.Assign(FFont);
end;

procedure TResizer.SetFont(F: TFont);
begin
FFont.Assign(F);
end;

procedure TResizer.ResizeControls(Sender: TObject);
var i,h: integer;
C: TControl;
WP,WH,WT,WL,FH: Real;
begin
if (FActive) then begin
for i := 0 to FControls.Count - 1 do begin
C := PMetrics(FControls[i])^.Control;
WP := PMetrics(FControls[i])^.Width;
WH := PMetrics(FControls[i])^.Height;
WL := PMetrics(FControls[i])^.Left;
WT := PMetrics(FControls[i])^.Top;
FH := PMetrics(FControls[i])^.Font;
h := StrToInt(FormatFloat('0',(FParentForm.Height* 1.0) * WH));
TEdit(C).Font.Height := StrToInt(FormatFloat('0',(h* 1.0) * FH));
C.Width := StrToInt(FormatFloat('0',(FParentForm.Width * 1.0) * WP));
C.Top := StrToInt(FormatFloat('0',(FParentForm.Height* 1.0) * WT));
C.Left := StrToInt(FormatFloat('0',(FParentForm.Width * 1.0) * WL));
C.Height := h;
end;
end;
if (Assigned(FWrapResize)) then FWrapResize(Sender);
end;

destructor TResizer.Destroy;
var i: integer;
p: PMetrics;
begin
FFont.Free;
for i := FControls.Count - 1 DownTo 0 do begin
p := FControls[i];
Dispose(p);
FControls.Delete(i);
end;
FControls.Free;
inherited Destroy;
end;

end.>> V prispevcich konference jsem nasel prispevek z 26. rijna 1967 a
> komponente,
>
> Panejo, to jsi teda zalovil pekne hluboko ;-)
>
>> ktera autonaticky upravuje aplikaci dle rozliseni monitoru.
>
> Dovolil bych si malinko zapochybovat o ucelnosti neceho takoveho, jako je
> "resolution independent", kdyby se takto chovaly vsechny aplikace, asi by
> nemelo smysl mit ruzna rozliseni, ne? U specialnich aplikaci to nejspis
> muze byt potreba, ale obvyklejsi je myslim vyuzit vyssiho rozliseni k
> zobrazeni vice informaci/podrobnosti. Trochu pochybuji, ze by to fungovalo
> skutecne spravne u vsech komponent.
>
> MB


FastReport 3 - lokalizacia

[*] Jiva Jiva <jiva(zv)inmail.sk> - 17.5.2006 12:01:36

Ahojte ...


Skusam trial verziu FastReportu 3.21 .
Potreboval by som mat v programe viac jazykovych verzii FastReportu.

Ako nacitam rozne lokalizacie? Nacitaju sa frc (Slovak.frc, Czech.frc,...) subory
alebo treba vytvorit nejaku DLL. Nejako to nikde neviem najst.

Dakujem

Animace bez externich komponent

[*] lynx01(zv)tiscali(tec)cz - 17.5.2006 19:10:05

Zdravim,

potreboval bych naprogramovat 5 ctverecku, u kterych lze tremi posuvniky

menit RGB, ktere se pohybuji po cernem pozadi rychlostmi: 800, 400, 200,

130, 100 pixelu za sekundu, tak, aby tato animace byla plynula i v pivot

modu monitoru (monitor otoceny na vysku /90?/ ) na cele obrazovce
(fullscreen). Podarilo se mi naprogramovat animaci, ktera jede plynule v

normalnim modu, ale jak se zapne pivot, tak je pohyb sekany - zajimave
je, ze kdyz se pri pivot modu hybe kurzorem, tak je pohyb dokonale
plynuly. Zkousel jsem to vykreslovat pres smycku, timer, onpaint, ale
bez uspechu. Z technickych duvodu nemohu pouzit externi komponenety
(DelphiX, ... ).

Dekuji predem za Vase rady.

S pozdravem Petr Holub



______________________________________
Pratelstvi, flirt nebo laska? Seznamte se! TISCALI Seznamka. http://seznamka.tiscali(tec)cz

Zmena textu na windows-liste

[*] Rastislav Lazan <lazan(zv)davidplus.sk> - 18.5.2006 11:17:13


Ako docielim zmenu textu na windows liste? Myslel som ze Form.Caption,
ale to mi nefunguje...
Win XP, Delphi 7. Dakujem.

S pozdravom Ing. Rastislav Lazan
e-mail: lazan(zv)davidplus.sk
icq: 35 70 30 80
tel.: (037) 693 00 80
fax: (037) 693 00 81

zmena kurzoru mysi pri Query.Open

[*] Kalhous <kalhous(zv)eu(tec)cz> - 18.5.2006 13:07:21

No, nevim co to presne znamena "pri otevreni" ale jestli staci "tesne pred
otevrenim" tak snad

Screen.Cursor:=crHourGlass;
try
... Open ...
finally
Screen.Cursor:=crDefault;
end

Z.Kalhous
----- Original Message -----
From: "Stanislav ADAMCIK" <konferencia(zv)stadas.sk>
> ako by som mohol zmenit kurzor mysi pri otvoreni query ?
> Stano

zmena kurzoru mysi pri Query.Open

[*] Stanislav ADAMCIK <konferencia(zv)stadas.sk> - 18.5.2006 12:31:18

Ahojte

ako by som mohol zmenit kurzor mysi pri otvoreni query ?

Stano

export stringu z projektu

[*] Vladimir Nikel <vladimir.nikel(zv)post(tec)cz> - 18.5.2006 11:27:14

Zdravim,
potreboval bych z projektu vyexportovat veskere stringy - jednak z
.pas, ale i captiony z formu, stringlistu atd. ... existuje nejaky jednoduchy zpusob?

Diky,
VN.

Zmena textu na windows-liste

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 18.5.2006 11:27:14

Application.Title

S pozdravem

Milan Tomes

Rastislav Lazan napsal(a):
>
> Ako docielim zmenu textu na windows liste? Myslel som ze Form.Caption,
>

ado+xls a sloupec chybne se tvarici jako float

[*] David Janko <djanko(zv)nextmedia(tec)cz> - 18.5.2006 10:33:10

Dobry den,
v TADODataSet oteviram xls soubor (SELECT [ sloupec 1] as sloupec ...) a
najednou sem u jednoho zakaznikem dodaneho xls narazil na problem, ze jeden
evidentne txt sloupec (obsahuje ruzne cisla i pismena) se v datasetu tvari
jako TFloat. To samozrejme dela v D problem kdyz je tam treba hodnota
A123456789. Nepomohlo oznacit typ budek v xls explicitne jako txt, ani pred
hodnotu v xls dat '. U jinych sloupcu tehoz xls je to ok, delal sem jiz
exporty i z jinych xls a nemel sem problem. Setkal se s tim pls nekdo a muze
me nakopnout spravnym smerem ? Lze nejak explicitne si vynutit datovy typ ?
(rucni vytvoreni TStringField v DS hodi type mischmash ...).

Diky


---
Best Regards,
David Janko
jednatel
djanko(zv)nextmedia(tec)cz
http://www.nextmedia(tec)cz
+420 777 233 530


TIBTable a filter

[*] Ivan Dulgerov <idulgerov(zv)stonline.sk> - 18.5.2006 09:43:06

Zdravim.

Mozno trochu blba otazka, ale potrebujem
v IBTable zadat asi takyto filter :

Moja_IbTable.Filter := 'Datum >'12.05.2005' and 'Datum<01.02.2006'';

Otazka:
Inak povedane, je mozne v IBTable pouzivat pri zadavani
filtra operatory > , < , >= , <= ?
Nemozem pouzit SQL, musi to byt TIBTable a property Filter.

S pozdravom
Ivan Dulgerov
Delphi5 Prof+ SP1, Delphi 4 St, Win XP Porf. + SP1, Win98 SE
mail : idulgerov(zv)stonline.sk


zmena kurzoru mysi pri Query.Open

[*] Stanislav ADAMCIK <konferencia(zv)stadas.sk> - 18.5.2006 13:17:22

ano je to ono, ale teraz ma napadlo, potrebujem to aj vtedy ked sa
pohybujem po datasete

while not Query.Eof do
begin
Query.Next;
end;

ked to menim v tom cykle tak mi tam stale preblikava SQL cursor

Kalhous napsal(a):
> No, nevim co to presne znamena "pri otevreni" ale jestli staci "tesne pred
> otevrenim" tak snad
>
> Screen.Cursor:=crHourGlass;
> try
> ... Open ...
> finally
> Screen.Cursor:=crDefault;
> end
>

zmena kurzoru mysi pri Query.Open

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 18.5.2006 13:47:24

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

Ahoj,

> ano je to ono, ale teraz ma napadlo, potrebujem to aj vtedy ked sa
> pohybujem po datasete
> while not Query.Eof do
> begin
> Query.Next;
> end;
>
> ked to menim v tom cykle tak mi tam stale preblikava SQL cursor

hm, tak to v nem nemen :)

Screen.Cursor:=crHourGlass;
try
while not Query.Eof do
begin
Query.Next;
end;
finally
Screen.Cursor:=crDefault;
end;

PM


Dotaz nad dvema databazemi firebirdu, pomoci IBX k

[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 18.5.2006 14:37:27

Ahoj, nemate nekdo zkusenosti s dotazy nad dvema databazemi najednou, je mi jasne ze to
musi byt pomoci transakce do ktere pridam obe databaze (AddDatabase), ale jak potom tomu
Query rict ktera tabulka je ze ktere databaze, spojuji totiz dvoje data ktera maji uplne
stejnou strukturu, cili neco takoveho jako:

insert into DB1.tabulkaA (id, hodnota)
select gen_id(DB1.generator_id, 1), hodnota from DB2.tabulkaA;

misto generatoru muze byt napriklad (id + OFFSET), to je jedno.

Moc diky za kazdou radu

Tomas

TIBTable a filter

[*] delphi(zv)kopr(tec)cz - 18.5.2006 15:55:33

Nazdar,

Moja_IbTable.Filter := '(Datum<' + chr(39) + '01.05.2004' + chr(39) + ')';

a tak dale
Pavel


Mozno trochu blba otazka, ale potrebujem
v IBTable zadat asi takyto filter :

Moja_IbTable.Filter := 'Datum >'12.05.2005' and 'Datum<01.02.2006'';

Otazka:
Inak povedane, je mozne v IBTable pouzivat pri zadavani
filtra operatory > , < , >= , <= ?
Nemozem pouzit SQL, musi to byt TIBTable a property Filter.

S pozdravom
Ivan Dulgerov
Delphi5 Prof+ SP1, Delphi 4 St, Win XP Porf. + SP1, Win98 SE
mail : idulgerov(zv)stonline.sk

--
----------------------------------------
I am using the free version of SPAMfighter for private users.
It has removed 2443 spam emails to date.
Paying users do not have this message in their emails.
Try www.SPAMfighter.com/pro for free now!

TVideoCapture a ulozeni nastavene normy na PAL

[*] Dalibor <dalibor(zv)torola(tec)cz> - 18.5.2006 19:19:47

Ahoj, pouzivam komponentu TVideoCapture. Potreboval bych nejak ucinne ulozit nastaveni normy obrazu. Vzdy po restartu PC se mi norma vrati zpet na NTSC, kdyz nastavim PAL je to jenom do doby, nez opet restarnu PC.

Diky za jakykoliv tip.


Delphi 7, Win 2003 server


TIBTable a filter

[*] Ivan Dulgerov <idulgerov(zv)stonline.sk> - 19.5.2006 08:02:41

> Nazdar,
>
> Moja_IbTable.Filter := '(Datum<' + chr(39) + '01.05.2004' + chr(39) + ')';
>
> a tak dale
> Pavel
>
>
> Mozno trochu blba otazka, ale potrebujem
> v IBTable zadat asi takyto filter :
>
> Moja_IbTable.Filter := 'Datum >'12.05.2005' and 'Datum<01.02.2006'';
>
*Takze uz viam co tomu bolo.
*Nazov fieldu som mal "DATE", cize rovnaky ako datovy typ "Date",
*teda potom sa filter musi pisat v uvodzovkach asi takto :

Moja_IbTable.Filter := '("DATE"<' + chr(39) + '01.05.2004' + chr(39) + ')';

*Toto funguje ;-))

S pozdravom
Ivan Dulgerov
Delphi5 Prof+ SP1, Delphi 4 St, Win XP Porf. + SP1, Win98 SE
mail : idulgerov(zv)stonline.sk


Zasifrovat heslo do ini

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 19.5.2006 13:01:03

HI *,
O5 jsem zde s otazkami:
1. Kam je nejlepsi ukladat data typu heslo+ucet (pristu do ftp)? Ja zvolil *.ini
2. Neni nejaka vhodna komponentka na sifrovani?

Prijemny zbytek dne
Vasek Zaruba
8^)

Zasifrovat heslo do ini

[*] Skalsky Milan <skalsky(zv)komercpoj(tec)cz> - 19.5.2006 13:19:04

ad a) v pripade, ze budes mit heslo zasifrovane, pak bych nevidel problem s pouzitim INI, ale asi bych sifroval i login
ad b) Ohledne kryptovani jsem velmi spokojen s balikem Delphi Cryptographic Component Library http://www.cityinthesky.co.uk
V baliku je spousta algoritmu s ruznymi delkami klicu, jen pro ilustraci hashovani pomoci MD4, MD5, RMD, SHA nebo Tiger, kryptovani BlowFish, DES, IDEA, CAST, Rijndael, TwoFish atp. je jich tam samozrejme vic. Nerikam, ze je to nej nej reseni, mozna existuji i jine, nemel jsem zatim duvod hledat neco jineho ...


Milan
D7 Arch., WinXP



-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Venca Zaruba
Sent: Friday, May 19, 2006 1:01 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Zasifrovat heslo do ini


HI *,
O5 jsem zde s otazkami:
1. Kam je nejlepsi ukladat data typu heslo+ucet (pristu do ftp)? Ja zvolil *.ini
2. Neni nejaka vhodna komponentka na sifrovani?

Prijemny zbytek dne
Vasek Zaruba
8^)

Nastaveni datumu v pocitaci

[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 19.5.2006 14:27:09

Nevite nekdo jak z programu (pouzivam D5) nastavit datum v pocitaci. Treba
posunout datum presne o jeden rok zpet. Nejaka funkce, komponenta nebo
knihovna, nevite nekdo.

Diky

Ing. Igor Vodicka
informacni systemy
Nakladatelstvi Sagit
Tel.: 59 6786 001
HTTP://www.sagit(tec)cz/

Streaming videa

[*] delphak(zv)centrum(tec)cz - 19.5.2006 14:37:10

Ahoj,
nevite o nejake free komponentne nebo jednoduchem reseni na streaming videa (neco jako mms://localhost:XYZ/)
Potreboval bych to pro primy streaming videa z webkamery pripadne streaming souboru ukladaneho z webky

Dik za radu

Nastaveni datumu v pocitaci

[*] FM <fabtech(zv)fabtech.sk> - 19.5.2006 14:57:11

http://www.pcsvet(tec)cz/art/article.php?id=1235


> Nevite nekdo jak z programu (pouzivam D5) nastavit datum v pocitaci. Treba
> posunout datum presne o jeden rok zpet. Nejaka funkce, komponenta nebo
> knihovna, nevite nekdo.
>

Obrazky na tlacitka

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 21.5.2006 13:56:29

Zdravim,
hezke. Na muj vkus je to prilis podobne Crystalum z KDE (Linux).
Dokonce si dovolim tvrdit, ze nektere ikonky skoro rikaji odkud
jsou.

Jinak Crystaly jsou tusim pod nejakou licenci OpenSource
a je mozne je pouzivat za dodrzeni teto licence. Jak je to ale
s komercnimi projekty nevim.

Sosejte zde:
http://archive.ubuntu.com/ubuntu/pool/universe/k/kde-icons-crystal/kde-icons-crystal_3.7.orig.tar.gz

Dobry zdoj pro inspiraci je na:
http://www.kde-look.org/index.php?xcontentmode=22
http://artax.karlin.mff.cuni(tec)cz/~kendy/ooo/icons/status/


S pozdravem Vaclav Halik

>iconbook - je to sice komercni, ale obsahuje obrovskou knihovnu ikon
>setridenych obrazku dle abecedy, typu. jsou tam zastoupeny obrazky ve
>velikostech 32x32 i 16x16.
>

Fiskalni tiskarny - displeje

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 20.5.2006 18:05:06

Puvodni zprava ze dne 20.5.2006:

> hledam na netu nejake vhodne fiskalni tiskarny, ale kazdy vyrobce
> uvadi neco jineho a nemuzu se nikde dopatrat oficialni verze - je k
> fiskalni tiskarne nutny displej? Nebo ji lze v ramci zakona
> provozovat bez tohoto displeje? Pokud nikoliv, proc se nabizi i bez
> displeju a jen nekteri prodejci upozornuji ze bez tohoto displeje je
> nevyhovujici?

Jaktoze neni subjekt oznacen OT, kdyz je to OT dotaz bez vazby na
programovani? Ber to jako napomenuti administratora.

Precti si zakon a zjistis, ze fiskalni tiskarnu lze provozovat pouze s
displejem pro zakaznika. Displej musi byt viditelny zakaznikovi, bez
nej to neni mozne. Bez displeje nelze zadnou fiskalni tiskarnu ani
schvalit (certifikovat) a dokonce s tou danou fiskalni tiskarnou musi
byt provozovan prave ten schvaleny displej, ktery byl v procesu
certifikace.

Bez displeje se prodavaji proto, ze nekdo uz ten displej muze mit, pak
ho nemusi kupovat, ale musi to byt ten typ, se kterym bylo zarizeni
certifikovano. Proste bez displeje nelze fiskalni tiskarnu provozovat
v ramci zakona c. 215/2005 o registracnich pokladnach.

Petr Zahradnik, pocitacovy expert

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


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

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


Obrazky na tlacitka

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 20.5.2006 12:20:42

Poradi nekdo kde stahnout obrazky na tlacitka. To co mam je uz okoukane.

Viktor Marek
viktor(zv)mbox.vol(tec)cz

Fiskalni tiskarny - displeje

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 20.5.2006 17:33:03

Zdravim,

hledam na netu nejake vhodne fiskalni tiskarny, ale kazdy vyrobce
uvadi neco jineho a nemuzu se nikde dopatrat oficialni verze - je k
fiskalni tiskarne nutny displej? Nebo ji lze v ramci zakona provozovat
bez tohoto displeje? Pokud nikoliv, proc se nabizi i bez displeju a jen
nekteri prodejci upozornuji ze bez tohoto displeje je nevyhovujici?

TR

Obrazky na tlacitka

[*] jarek2(zv)centrum(tec)cz - 20.5.2006 13:36:48

iconbook - je to sice komercni, ale obsahuje obrovskou knihovnu ikon
setridenych obrazku dle abecedy, typu. jsou tam zastoupeny obrazky ve
velikostech 32x32 i 16x16.

Viktor Marek napsal(a):

>Poradi nekdo kde stahnout obrazky na tlacitka. To co mam je uz okoukane.
>
>Viktor Marek
>viktor(zv)mbox.vol(tec)cz
>
>
>
>
>
>

Obrazky na tlacitka

[*] Milan Dvorak <dvorak(zv)gymzn(tec)cz> - 20.5.2006 12:48:44

a co mas?

Milan Dvorak

>>> viktor(zv)mbox.vol(tec)cz 20.5.2006 12:20 >>>
Poradi nekdo kde stahnout obrazky na tlacitka. To co mam je uz okoukane.

Viktor Marek
viktor(zv)mbox.vol(tec)cz

Prehravani AVI souboru

[*] Peter Ondras <konfery(zv)pse.sk> - 20.5.2006 12:48:44

Pravdepodobne je chyba v ozvuceni (Animate myslim neprehrava videa so
zvukom) alebo v kodeku.

Akekolvek video (podla nainstalovanych kodekov) prehra sada komponent
DSPack

> -----Original Message-----
> se ji priradit "Animate.Filenname:=film.avi" vypadne hlaska "Cannot
open
> AVI"
>
> Poradi nekdo kde je chyba, nebo componentu ktera to to zvladne?

Prehravani AVI souboru

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 20.5.2006 12:16:42

Mam hodne stary film z 8mm kamery prevedeny do AVI souboru, ktery bych chtel
zaclenit do sve prezentace. Pokud dam na form komponentu "Animate" a pokusim
se ji priradit "Animate.Filenname:=film.avi" vypadne hlaska "Cannot open
AVI"

Poradi nekdo kde je chyba, nebo componentu ktera to to zvladne?

WIN XP, Delphi 5 Prof.
Viktor Marek


Streaming videa

[*] Dalibor <dalibor(zv)torola(tec)cz> - 20.5.2006 08:28:23

Zkus se mrknout tady http://www.videolan.org/ . Jedna se o program, ktery
prehrava a zaroven muze slouzit jako server streamu.

>> Ahoj,
>> nevite o nejake free komponentne nebo jednoduchem reseni na streaming
>> videa (neco jako mms://localhost:XYZ/)
>> Potreboval bych to pro primy streaming videa z webkamery pripadne
>> streaming souboru ukladaneho z webky

Streaming videa

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 19.5.2006 20:51:36

On 19.5.2006 14:37 delphak(zv)centrum(tec)cz wrote:
> Ahoj,
> nevite o nejake free komponentne nebo jednoduchem reseni na streaming videa (neco jako mms://localhost:XYZ/)
> Potreboval bych to pro primy streaming videa z webkamery pripadne streaming souboru ukladaneho z webky
>
> Dik za radu
>
>

Windows Media Encoder obsahuje i SDK (ke stazeni u MS), ktere je mozne
pouzit v tve app. Pripadne volat dodany skript, ktery to cele jste zjednodusuje.

--
Jiri Cincura
http://www.cincura.net/

OT- Standarty XML (BizTalk)

[*] Pavel Poles <delphi(zv)noni(tec)cz> - 19.5.2006 19:13:29

Zdravim,

nevite nekdo o nejakych standardizovanych sablonach pro vymenu business
informaci
pomoci XML. Jde mi hlavne o faktury, dobropisy apod...
Na xml.com jsem nasel na repository xml.org a microsofti biztalk, ale
nikde jsem
se nebyl schopen dobrat nejakeho konkretniho schematu.
Nejvic mne zajima projekt BizTalk, protoze jak jsem pochopil, ten by mel
schranovat
prave sablony pro vymenu obchodnich informaci...

Nemate s tim nekdo zkusenosti, nebo pouzivate jine standarty, nebo
pouzivate proste sve
sablony?

Pavel Poles

Nastaveni datumu v pocitaci

[*] Jiri Matejka <matejka(zv)stemmark(tec)cz> - 19.5.2006 17:31:22

var
D:TDateTime
T:TSystemTime;

D:=IncYear(D,-1);
DateTimeToSystemTime(D,T);
SetSystemTime(T);

Jirka Matejka

> Nevite nekdo jak z programu (pouzivam D5) nastavit datum v pocitaci. Treba
> posunout datum presne o jeden rok zpet. Nejaka funkce, komponenta nebo
> knihovna, nevite nekdo.
>
> Diky
>
> Ing. Igor Vodicka
> informacni systemy
> Nakladatelstvi Sagit
> Tel.: 59 6786 001
> HTTP://www.sagit(tec)cz/

Obrazky na tlacitka

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 21.5.2006 14:10:30

Ups, hlavni zdroj je na:
http://linuxcult.com/node/10


Vaclav Halik

>Sosejte zde:
>http://archive.ubuntu.com/ubuntu/pool/universe/k/kde-icons-crystal/kde-icons-crystal_3.7.orig.tar.gz
>
>

Volna RAM

[*] lynx01(zv)tiscali(tec)cz - 22.5.2006 01:49:17

Dobry den,

jak lze zjistit kolik MB RAM pameti je volne?

S pozdravem
Petr Holub

______________________________________
Pratelstvi, flirt nebo laska? Seznamte se! TISCALI Seznamka. http://seznamka.tiscali(tec)cz

Volna RAM

[*] Petr Malasek <malasek(zv)carsoft(tec)cz> - 22.5.2006 08:09:47

Zkus :
var
MemoryStatus: TMemoryStatus;
Begin
MemoryStatus.dwLength := SizeOf(MemoryStatus) ;
GlobalMemoryStatus(MemoryStatus) ;
.
.
end;
lynx01(zv)tiscali(tec)cz napsal(a):
> Dobry den,
>
> jak lze zjistit kolik MB RAM pameti je volne?
>
> S pozdravem
> Petr Holub
>
> ______________________________________
> Pratelstvi, flirt nebo laska? Seznamte se! TISCALI Seznamka. http://seznamka.tiscali(tec)cz
>
>
>
>
>
>

Prehravani AVI souboru

[*] Jiri Matejka <matejka(zv)stemmark(tec)cz> - 22.5.2006 08:59:50

Na prehravani videa pouzivam komponentu TMediaPlayer (standardne v Delphi na
zalozce System). Funguje celkem bez problemu, prehravam na tom avi i mpeg.
D6Prof, WXP.

Jirka Matejka


> Mam hodne stary film z 8mm kamery prevedeny do AVI souboru, ktery bych
> chtel
> zaclenit do sve prezentace. Pokud dam na form komponentu "Animate" a
> pokusim
> se ji priradit "Animate.Filenname:=film.avi" vypadne hlaska "Cannot open
> AVI"
>
> Poradi nekdo kde je chyba, nebo componentu ktera to to zvladne?
>
> WIN XP, Delphi 5 Prof.
> Viktor Marek


dynamicke nacteni dll knihovny

[*] David Kopecek <david.kopecek(zv)hacktrack(tec)com> - 22.5.2006 15:30:21

Zdravim konferenci

chci se zeptat jak spravne dynamicky nacist dll knihovnu vcetne
komplentiho osetreni vyjime.. Uz nekolikrat se mi stalo ze se neco
seklo a knihovna uvazla a uz v jinem vlaku ji nemohl nikdo nacist.

Diky David

dynamicke nacteni dll knihovny

[*] koukal(zv)petrkoukal(tec)cz - 23.5.2006 07:57:28


-----Puvodni zprava-----
From: "David Kopecek" david.kopecek(zv)hacktrack.com
Date: Mon, 22 May 2006 15:30:56 +0200
To: delphi-l(zv)clexpert(tec)cz
Subject: dynamicke nacteni dll knihovny

Zdravim konferenci

chci se zeptat jak spravne dynamicky nacist dll knihovnu vcetne
komplentiho osetreni vyjime.. Uz nekolikrat se mi stalo ze se neco
seklo a knihovna uvazla a uz v jinem vlaku ji nemohl nikdo nacist.

Diky David

Dobry den

Neni problem jen ve spatne synchronizaci chodu vlaken (Kriticke sekce)?
Pouzivam dl ve vicevlaknove aplikaci a jede to bez problemu.
(Volam pomoci loadlibrary, uvolnuji freelibrary, suynchronizuji pomoci kritickych sekci)

Petr Koukal.

funkcni dll pro ms access

[*] Petr Malasek <malasek(zv)carsoft(tec)cz> - 23.5.2006 07:51:28

Jak mas deklarovany metody toho DLL, mely by byt tusim STDCALL.

PeM

Jiri Baudys napsal(a):
> Krasny den,
> podarilo se Vam nekomu napsat funcni dll, ktera pujde volat z ms accesu ?
> At zkousim, co zkousim, bud nejde funce vubec zavolat, nebo se spatne predaj
> parametry atd.
>
> Problem asi neni v delphi, protoze jinde mi dll fungujou bez problemu, ale
> to volani z accesu se mi nejak nedari,
>
> diky za radu
>
> jirka
>
>
>
>
>
>
>

Prirazeni hodnoty

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 23.5.2006 07:41:27

HI *,
Asi velmi zacatecnicky dotaz....
Mam v jedne promene nazev druhe a tuto bych potreboval naplnit
Prikladek dole je jen ilustracni a je mi jasny, ze takto to je nesmysl...
var
pomoc,Str :string;
begin
........
pomoc := 'Str'; // Nazev druheho retezce
pomoc := 'Hodnota pro retezec STR'; // // // Zde bych videl nejakej ten ukazatel, ale jakej?
showmessage(Str); // Hodnota pro retezec STR
..........

U komponent jsem to vyresil takto:

var pomocnej:tcomponent;
pomocnej := FindComponent('nameask');
if pomocnej is TLabel then (pomocnej as Tlabel).caption:='sds';

Neexistuje neco "sikovnejsiho" a hlavne rychlejsiho nez FindComponent()

(Obe procedurky jsou srdcem vlastnilokalizace. Ctu z *.csv nazev promene (komponenty) a jeji preklad)

Prijemny zbytek dne
Vasek Zaruba
8^)

zakaz zmen v casti mema

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 23.5.2006 07:25:26

Dobry den,
mam mensi databazicku s meridly, kde pridavam do memoboxu udaje o kontrolach a udrzbe. Podle normy je ale treba zamezit zasahum do starych zaznamu, tedy i do starych radku memoboxu. Da se nejak osetrit, abych do mema mohl pripisovat ale nemohl v nem menit stare udaje?
Diky za rady
Dalibor.

funkcni dll pro ms access

[*] Jiri Baudys <konference(zv)baudys.name> - 23.5.2006 07:11:25

Krasny den,
podarilo se Vam nekomu napsat funcni dll, ktera pujde volat z ms accesu ?
At zkousim, co zkousim, bud nejde funce vubec zavolat, nebo se spatne predaj
parametry atd.

Problem asi neni v delphi, protoze jinde mi dll fungujou bez problemu, ale
to volani z accesu se mi nejak nedari,

diky za radu

jirka


nevidim dataset vo FastReporte

[*] Pavol Svorc <svorc(zv)slovanet.sk> - 23.5.2006 08:37:31

Ahoj,
vyrabam zostavu vo FastReporte. Za behu vyrobim dataset ale nevidim
ho v DesignReporte. Ked ale ten dataset placnem na form ako
komponentu tak ho vidim bez problemu. V com moze byt chyba?

v kode mam:
...
public
dsCfg: TfrxDBDataset;
...
a potom dalej v kode:
...
dsCfg := TfrxDBDataset.Create(self);
dsCfg.DataSet := qCfg;
...


P.Svorc

Kniha o ECO III v anglictine

[*] rkubat(zv)email(tec)cz - 23.5.2006 09:51:39


Zdravim vsechny ctenare,



mate-li zajem o anglicky preklad knizky o ECO III v BDS 2006,

navstivte adresu http://www.ecospace.de/58.html
(http://www.ecospace.de/58.html).



-- Richard Kubat, Borland s.r.o.

dynamicke nacteni dll knihovny

[*] David Kopecek <david.kopecek(zv)hacktrack(tec)com> - 23.5.2006 10:35:43

Zdravim

kpc> Neni problem jen ve spatne synchronizaci chodu vlaken (Kriticke sekce)?
kpc> Pouzivam dl ve vicevlaknove aplikaci a jede to bez problemu.
kpc> (Volam pomoci loadlibrary, uvolnuji freelibrary, suynchronizuji pomoci kritickych sekci)

muzete mi please poslat kratickou ukazku.. ja kriticke sekce nijak pro
synchronizaci nepouzivam..

thx david

zakaz zmen v casti mema

[*] Cizek.Milan <cizek.milan(zv)seznam(tec)cz> - 23.5.2006 11:13:46

> starych radku memoboxu. Da se nejak osetrit, abych do mema mohl pripisovat ale
> nemohl v nem menit stare udaje?

Nevim, ale nadhodim... co treba osetrit stisk klavesy a pohlidat si DEL,BCKSPACE,INSERT... resp. vse krom povolenych znaku? A nebo bych udelal memo read-only a pod nej edit, do ktereho by se psalo.

Milan

zakaz zmen v casti mema

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 23.5.2006 12:01:49

On 23.5.2006 11:13 +0200 Cizek.Milan wrote:
>> starych radku memoboxu. Da se nejak osetrit, abych do mema mohl pripisovat ale
>> nemohl v nem menit stare udaje?
>
> Nevim, ale nadhodim... co treba osetrit stisk klavesy a pohlidat si DEL,BCKSPACE,INSERT... resp. vse krom povolenych znaku? A nebo bych udelal memo read-only a pod nej edit, do ktereho by se psalo.


Ja bych to trochu rozsiril. Udelal bych po prvni (read-only) memo jeste
jedno, kam by se dalo libovolne psat a obsah by se hned pridaval k tomu
read-only. Takze by logika prace zustala zachovana (pradpokladam, ze s tim
prvnim neco delas) a zaroven by se poresila ta editace.

Druhy (trochu hnusnejsi) napad je hlidani toho co uzivatel dela. Pamataoval
by sis nekde originalni obsah a pri kazdem stisku klavesy (treba)
porovnaval, jestli ti obsah nezmenil.

--
Jiri Cincura
http://www.cincura.net/

dynamicke nacteni dll knihovny

[*] koukal(zv)petrkoukal(tec)cz - 23.5.2006 14:33:59


-----Puvodni zprava-----
From: "David Kopecek" david.kopecek(zv)hacktrack.com
Date: Tue, 23 May 2006 10:36:37 +0200
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: dynamicke nacteni dll knihovny

Zdravim

kpc> Neni problem jen ve spatne synchronizaci chodu vlaken (Kriticke sekce)?
kpc> Pouzivam dl ve vicevlaknove aplikaci a jede to bez problemu.
kpc> (Volam pomoci loadlibrary, uvolnuji freelibrary, suynchronizuji pomoci kritickych sekci)

muzete mi please poslat kratickou ukazku.. ja kriticke sekce nijak pro
synchronizaci nepouzivam..

thx david

********************************************************************

Synchronizace probiha v neefinovanem case x ms zadna mira. mj. to zavisi i na priorite vlakna.

Type Tmythread = Calss (...)
....

protected
Cs : Tcriticalsection;

End;

Kazde vlakno pri startu (constructor) provvede

InitializeCriticalSection(Cs);

volani dl fce :
....
EnterCriticalSection(Cs); //vstup povolen ? - pokud jine vlakno drive vstoupilo, ceka se na ukonceni tohoto, tj provedeni LeaveCriticalSection(Cs)
vstup do dll fce
LeaveCriticalSection(Cs) // cs ukoncena;
.....

Destructor vola:

DeleteCriticalSection(Cs);


Pk.

dynamicke nacteni dll knihovny

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 23.5.2006 14:48:01


> ********************************************************************
>
> Synchronizace probiha v neefinovanem case x ms zadna mira. mj. to zavisi i na priorite vlakna.
>
> Type Tmythread = Calss (...)
> ....
>
> protected
> Cs : Tcriticalsection;
>
> End;
>
> Kazde vlakno pri startu (constructor) provvede
>
> InitializeCriticalSection(Cs);
>
> volani dl fce :
> ....
> EnterCriticalSection(Cs); //vstup povolen ? - pokud jine vlakno drive vstoupilo, ceka se na ukonceni tohoto, tj provedeni LeaveCriticalSection(Cs)
> vstup do dll fce
> LeaveCriticalSection(Cs) // cs ukoncena;
> .....
>
> Destructor vola:
>
> DeleteCriticalSection(Cs);
>
>

jen je dobre to uzavrit do try finally

EnterCriticalSection(Cs);
try
//pristup k chranenym prostredkum
//zde muze dojit klidne k vyjimce

finally
LeaveCriticalSection(Cs); // ale kriticka sekce bude vzdy uvolnena
end;

Pokud by se nepouzilo try/finally a doslo k vyjimce, tak by se dalsi process nedostal do kriticke sekce

Mozna je lepsi pouzit zapouzdreni TCriticalSection (nebo jak to je)


R.

tvorba grafu v ecxelu pod OLEAut

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 23.5.2006 15:00:02

Ahoj,
Tak se pokousim vytvorit graf v excelu pres OLEAutomation, ale nemuzu prijit na to, jak mu vnutit prvni radu hodnot jako osu X. Porad mi tvori dve rady hodnot na y ose.

s.Range['A2:B8'].Select;
AppExcel.Workbooks[1].Charts.Add; ----pridam graf
g:= AppExcel.Workbooks[1].Charts[1]; ---- dam ho do variantu, abych mohl strucne odkazovat
g.ChartType:=xlXYScatterLinesNoMarkers; ---- nastavim typ

mysle jsem, ze pokud dam typ grafu jako XY, tak automaticky vezme prvni radu jako hodnoty pro osu X.
Delal jste to uz nekdo?

Dalibor Faltynek,
ORGREZ, a.s.
telefon: (+420) 541 613 312
fax: (+420) 541 613 299
e-mail: dalibor.faltynek(zv)orgrez(tec)cz


dynamicke nacteni dll knihovny

[*] koukal(zv)petrkoukal(tec)cz - 23.5.2006 14:56:01


-----Puvodni zprava-----
From: "Radek Cervinka" radek.cervinka(zv)technodat(tec)cz
Date: Tue, 23 May 2006 14:48:59 +0200
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: dynamicke nacteni dll knihovny


> ********************************************************************
>
> Synchronizace probiha v neefinovanem case x ms zadna mira. mj. to zavisi i na priorite vlakna.
>
> Type Tmythread = Calss (...)
> ....
>
> protected
> Cs : Tcriticalsection;
>
> End;
>
> Kazde vlakno pri startu (constructor) provvede
>
> InitializeCriticalSection(Cs);
>
> volani dl fce :
> ....
> EnterCriticalSection(Cs); //vstup povolen ? - pokud jine vlakno drive vstoupilo, ceka se na ukonceni tohoto, tj provedeni LeaveCriticalSection(Cs)
> vstup do dll fce
> LeaveCriticalSection(Cs) // cs ukoncena;
> .....
>
> Destructor vola:
>
> DeleteCriticalSection(Cs);
>
>

jen je dobre to uzavrit do try finally

EnterCriticalSection(Cs);
try
//pristup k chranenym prostredkum
//zde muze dojit klidne k vyjimce

finally
LeaveCriticalSection(Cs); // ale kriticka sekce bude vzdy uvolnena
end;

Pokud by se nepouzilo try/finally a doslo k vyjimce, tak by se dalsi process nedostal do kriticke sekce

Mozna je lepsi pouzit zapouzdreni TCriticalSection (nebo jak to je)


R.

Omlouvam se - to jsem pouze opomenul. - Je to vycuc z hodne sloziteho kodu.


PK.

dynamicke nacteni dll knihovny

[*] delphin(zv)post(tec)cz - 23.5.2006 15:16:03

> Type Tmythread = Calss (...)
> ....
>
> protected
> Cs : Tcriticalsection;
>
> End;
>
> Kazde vlakno pri startu (constructor) provvede
>
> InitializeCriticalSection(Cs);
>
> volani dl fce :
> ....
> EnterCriticalSection(Cs); //vstup povolen ? - pokud jine vlakno drive
> vstoupilo, ceka se na ukonceni tohoto, tj provedeni
> LeaveCriticalSection(Cs)
> vstup do dll fce
> LeaveCriticalSection(Cs) // cs ukoncena;
> .....
>
> Destructor vola:
>
> DeleteCriticalSection(Cs);

Bohuzel tak jak je to popsano vyse, tak to vubec nesynchronizuje, protoze
kazde vlakno ma zrejme vlastni TCriticalSection. Proto mohou dve nebo vice
vlaken TMyThread bez problemu vstoupit do kriticke sekce soucasne.
Aby to synchronizovalo, tak TCriticalSection se musi sdilet mezi vlakny,
jedna z moznosti je globalni promenna.

dynamicke nacteni dll knihovny

[*] Radim Kunz <rkunz(zv)casestudio(tec)com> - 23.5.2006 15:38:05

delphin(zv)post(tec)cz napsal(a):

>>Type Tmythread = Calss (...)
>>....
>>
>>protected
>> Cs : Tcriticalsection;
>>
>>End;
>>
>>Kazde vlakno pri startu (constructor) provvede
>>
>>InitializeCriticalSection(Cs);
>>
>>volani dl fce :
>>....
>>EnterCriticalSection(Cs); //vstup povolen ? - pokud jine vlakno drive
>>vstoupilo, ceka se na ukonceni tohoto, tj provedeni
>>LeaveCriticalSection(Cs)
>>vstup do dll fce
>>LeaveCriticalSection(Cs) // cs ukoncena;
>>.....
>>
>>Destructor vola:
>>
>>DeleteCriticalSection(Cs);
>>
>>
>
>Bohuzel tak jak je to popsano vyse, tak to vubec nesynchronizuje, protoze
>kazde vlakno ma zrejme vlastni TCriticalSection. Proto mohou dve nebo vice
>vlaken TMyThread bez problemu vstoupit do kriticke sekce soucasne.
>Aby to synchronizovalo, tak TCriticalSection se musi sdilet mezi vlakny,
>jedna z moznosti je globalni promenna.
>
>
>
Bude to fungovat, do jedne kriticke sekce smi soucasne jedno vlakno, bez
ohledu
na to, kde mas wrapovaci objekt TCriticalSection deklarovany.

Radim

dynamicke nacteni dll knihovny

[*] David Kopecek <david.kopecek(zv)hacktrack(tec)com> - 23.5.2006 15:34:05

Zdravim


>> Type Tmythread = Calss (...)
>> ....
>>
>> protected
>> Cs : Tcriticalsection;
>>
>> End;
>>
>> Kazde vlakno pri startu (constructor) provvede
>>
>> InitializeCriticalSection(Cs);
>>
>> volani dl fce :
>> ....
>> EnterCriticalSection(Cs); //vstup povolen ? - pokud jine vlakno drive
>> vstoupilo, ceka se na ukonceni tohoto, tj provedeni
>> LeaveCriticalSection(Cs)
>> vstup do dll fce
>> LeaveCriticalSection(Cs) // cs ukoncena;
>> .....
>>
>> Destructor vola:
>>
>> DeleteCriticalSection(Cs);

dpc> Bohuzel tak jak je to popsano vyse, tak to vubec nesynchronizuje, protoze
dpc> kazde vlakno ma zrejme vlastni TCriticalSection. Proto mohou dve nebo vice
dpc> vlaken TMyThread bez problemu vstoupit do kriticke sekce soucasne.
dpc> Aby to synchronizovalo, tak TCriticalSection se musi sdilet mezi vlakny,
dpc> jedna z moznosti je globalni promenna.

no nevim tak sem z toho mimo coje teda spravne podobnou funkci
pouzivam pro zapis do log souboru.. a tam to funguje jak ma nesekne se
to...


thx david

Zpracovani telefonnich hovoru

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 23.5.2006 15:32:05

Ahoj,

potreboval bych do jednoho pocitace privest az 8 tlf linek a umoznit
operatorovi na techto linkach prijimat hovory (neco jako call centrum).
Mam 2 problemy:

1. Jaky HW pouzit ?
2. Existuje nejaka podpora ve Win2K, WinXP pro praci s telefonem ? Potrebuji
detekovat a indikovat vyzvaneni na lince a prijmout, nahrat a ukoncit hovor.

Zacinam na zelene louce, takze uvitam kazdou zkusenost.

Diky.

Jiri Foldyna


dynamicke nacteni dll knihovny

[*] Radim Kunz <rkunz(zv)casestudio(tec)com> - 23.5.2006 15:46:06

Radim Kunz napsal(a):

>delphin(zv)post(tec)cz napsal(a):
>
>
>
>>>Type Tmythread = Calss (...)
>>>....
>>>
>>>protected
>>>Cs : Tcriticalsection;
>>>
>>>End;
>>>
>>>Kazde vlakno pri startu (constructor) provvede
>>>
>>>InitializeCriticalSection(Cs);
>>>
>>>volani dl fce :
>>>....
>>>EnterCriticalSection(Cs); //vstup povolen ? - pokud jine vlakno drive
>>>vstoupilo, ceka se na ukonceni tohoto, tj provedeni
>>>LeaveCriticalSection(Cs)
>>>vstup do dll fce
>>>LeaveCriticalSection(Cs) // cs ukoncena;
>>>.....
>>>
>>>Destructor vola:
>>>
>>>DeleteCriticalSection(Cs);
>>>
>>>
>>>
>>>
>>Bohuzel tak jak je to popsano vyse, tak to vubec nesynchronizuje, protoze
>>kazde vlakno ma zrejme vlastni TCriticalSection. Proto mohou dve nebo vice
>>vlaken TMyThread bez problemu vstoupit do kriticke sekce soucasne.
>>Aby to synchronizovalo, tak TCriticalSection se musi sdilet mezi vlakny,
>>jedna z moznosti je globalni promenna.
>>
>>
>>
>>
>>
>Bude to fungovat, do jedne kriticke sekce smi soucasne jedno vlakno, bez
>ohledu
>na to, kde mas wrapovaci objekt TCriticalSection deklarovany.
>
>Radim
>
>
Jeste doplnim, kdyby byla kriticka sekce sdilena mezi objekty, pak by
jedno vlakno
zbytecne cekalo pred kritickou sekci jednoho objektu na druhe vlakno,
ktere by bylo
uvnitr kriticke sekce jineho objektu. Sice stejne tridy, ale jine
instance s jinymi
daty.

Radim

Zpracovani telefonnich hovoru

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 23.5.2006 15:54:07

On Tuesday, May 23, 2006 3:32 PM ,
Jiri Foldyna <jiri.f(zv)avizo(tec)cz> wrote:

> Ahoj,
>
> potreboval bych do jednoho pocitace privest az 8 tlf linek a umoznit
> operatorovi na techto linkach prijimat hovory (neco jako call
> centrum).
> Mam 2 problemy:
>
> 1. Jaky HW pouzit ?
> 2. Existuje nejaka podpora ve Win2K, WinXP pro praci s telefonem ?
> Potrebuji detekovat a indikovat vyzvaneni na lince a prijmout,
> nahrat
> a ukoncit hovor.
>
> Zacinam na zelene louce, takze uvitam kazdou zkusenost.

asi bych na server nainstaloval www.asterisk.com , strcil do nej
nejakou vhodnou kartu (viz podporovany hardware - nejsou zrovna
zadarmo), operatorovi koupil nejakej operatorskej IP telefon a bylo
by. Asterisk umi sam spoustu veci a tusim jde i nejak rozsirovat atd.


D. Toman

dynamicke nacteni dll knihovny

[*] Radim Kunz <rkunz(zv)casestudio(tec)com> - 23.5.2006 16:20:10

delphin(zv)post(tec)cz napsal(a):

>>Bude to fungovat, do jedne kriticke sekce smi soucasne jedno vlakno, bez
>>ohledu
>>na to, kde mas wrapovaci objekt TCriticalSection deklarovany.
>>
>>
>
>Nastesti si lze lehce overit, zda do "kriticke" sekce vleze jenom jedno
>vlakno nebo ne. Na konkretnim prikladu nize tam vlezou vsechny tri. Vypisy
>jsou v EventLogu Ctrl+Alt+V
>
>type
> TMyThread=class(TThread)
> protected
> FCS:TRTLCriticalSection;
> procedure Execute; override;
> public
> constructor Create;
> destructor Destroy; override;
> end;
>
>constructor TMyThread.Create;
>begin
> InitializeCriticalSection(FCS);
> inherited Create(False);
>end;
>
>destructor TMyThread.Destroy;
>begin
> inherited;
> DeleteCriticalSection(FCS);
>end;
>
>procedure TMyThread.Execute;
>begin
> repeat
> EnterCriticalSection(FCS);
> OutputDebugString(PChar(DateTimeToStr(Now)+' Zacatek kriticke sekce
>'+IntToStr(ThreadID)+' '));
> Sleep(30000);
> OutputDebugString(PChar(DateTimeToStr(Now)+' Konec kriticke
>sekce'+IntToStr(ThreadID)));
> LeaveCriticalSection(FCS);
> until Terminated;
>end;
>
>procedure TForm1.FormCreate(Sender: TObject);
>begin
> TMyThread.Create;
> TMyThread.Create;
> TMyThread.Create;
>end;
>
>
>
Mas pravdu, blbe jsem se podival, neuvedomil jsem si, ze
ta trida je nejspis potomkem TThread.

Radim

Zpracovani telefonnich hovoru

[*] Petr Vones <konference(zv)petrvones(tec)net> - 23.5.2006 16:18:09

From: "Jiri Foldyna" <jiri.f(zv)avizo(tec)cz>
> 2. Existuje nejaka podpora ve Win2K, WinXP pro praci s telefonem ?

Ano, TAPI.

Petr Vones

Zpracovani telefonnich hovoru

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 23.5.2006 16:16:09

> asi bych na server nainstaloval www.asterisk.com , strcil do nej
> nejakou vhodnou kartu (viz podporovany hardware - nejsou zrovna
> zadarmo), operatorovi koupil nejakej operatorskej IP telefon a bylo
> by. Asterisk umi sam spoustu veci a tusim jde i nejak rozsirovat atd.

Diky za odpoved,

ale asi jsem se spatne vyjadril. Ja mam hotovou aplikaci, do ktere potrebuji
integrovat prijem telefonnich hovoru. Zatim je to tak, ze operatorka ma 6
telefonu, na kterych prijima hovory a do aplikace pise texty (prijem
inzerce). Na placene linky tady mame ustrednu, ktera zajistuje takove ty
kecy a ve finale klienta pripoji bud na zaznamnik nebo na operatora. A ja
potrebuji ty telefony u operatora integrovat do pocitace, aby se daly
ovladat z me aplikace.
Nasel jsem neco od Dialogic, ale jedna karta stoji pres $1200, coz je trosku
silne kafe.

Zdravim

Jiri Foldyna


dynamicke nacteni dll knihovny

[*] delphin(zv)post(tec)cz - 23.5.2006 16:14:09

> Bude to fungovat, do jedne kriticke sekce smi soucasne jedno vlakno, bez
> ohledu
> na to, kde mas wrapovaci objekt TCriticalSection deklarovany.

Nastesti si lze lehce overit, zda do "kriticke" sekce vleze jenom jedno
vlakno nebo ne. Na konkretnim prikladu nize tam vlezou vsechny tri. Vypisy
jsou v EventLogu Ctrl+Alt+V

type
TMyThread=class(TThread)
protected
FCS:TRTLCriticalSection;
procedure Execute; override;
public
constructor Create;
destructor Destroy; override;
end;

constructor TMyThread.Create;
begin
InitializeCriticalSection(FCS);
inherited Create(False);
end;

destructor TMyThread.Destroy;
begin
inherited;
DeleteCriticalSection(FCS);
end;

procedure TMyThread.Execute;
begin
repeat
EnterCriticalSection(FCS);
OutputDebugString(PChar(DateTimeToStr(Now)+' Zacatek kriticke sekce
'+IntToStr(ThreadID)+' '));
Sleep(30000);
OutputDebugString(PChar(DateTimeToStr(Now)+' Konec kriticke
sekce'+IntToStr(ThreadID)));
LeaveCriticalSection(FCS);
until Terminated;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
TMyThread.Create;
TMyThread.Create;
TMyThread.Create;
end;

DBGid - odchyceni zmeny sirky sloupce

[*] Kalhous <kalhous(zv)eu(tec)cz> - 23.5.2006 16:44:12

Zdravim,
nevite nekdo jak odchytit udalost zmeny sirky sloupce (mysi) v DBGridu? Je na nem OnColumnMoved ale zadne OnColumnResized najit nemuzu. OnTitleClick pri stisku mysi "mezi sloupci" nenastane a testovat jestli se zmenila sirka sloupce po kazdem OnMouseUp se mi zda neprakticke ...

Z.Kalhous
ToWare s.r.o.

DBGid - odchyceni zmeny sirky sloupce

[*] Jan Novak <delfin4(zv)volny(tec)cz> - 23.5.2006 19:10:23

> jak odchytit udalost zmeny sirky sloupce (mysi) v DBGridu?
> Je na nem OnColumnMoved ale zadne OnColumnResized najit nemuzu.

Taky jsem to kdysi potreboval a nakonec jsem musel v OnDrawColumnCell
porovnavat s posledni zapamatovanou sirkou a 'udalost' vyvolat po
zjisteni zmeny

dynamicke nacteni dll knihovny

[*] Petr Vones <konference(zv)petrvones(tec)net> - 23.5.2006 18:08:18

From: "Radim Kunz" <rkunz(zv)casestudio.com>
> Uplne nejlepsi by bylo strcit kritickou sekci dovnitr
> te DLL. Taky je otazka, jestli ta DLL vubec synchronizaci
> potrebuje, pokud je v ni jen hafo funkci bez spolecnych
> promennych, tak ne.

Pokud chapu otazku tak nejde o volani funkce v DLL ale o jeji dynamicke
zavedeni do procesu, volanim funkce LoadLibrary/Ex. Tam je treba si uvedomit
ze operacni system sam provadi toto volani v jakesi sve privatni "kriticke
sekci", z toho duvodu je take v inicialiazcnim kodu DLL nedoporuceno volat
plno veci (vcetne pristupu k registru apod).

Ohledne osetreni vyjimek, tak samo nahrani DLL nezpusobi vyvolani vyjimky.
Pokud je DLL psana v Delphi, tak jakakoli vyjimka nesmi opustit DLL a musi
byt osetrena prevedenim na chybovy kod apod.

Petr Vones

JPG v databazi

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 23.5.2006 17:58:18

Puvodni zprava ze dne 23.5.2006:

> V databazi mam ulozene obrazky JPG v BLOBu. Komponenta DBImage vsak
> umoznuje nacist pouze format BMP, coz pri poctu obrazku v databazi
> je neprijatelne, vzhledm k objemu dat.

> Poradte prosim nejakou komponentu pro Delphi 5

Neni treba jina komponenta, staci dat do uses knihovnu "jpeg" a pak to
myslim funguje.

Petr Zahradnik, pocitacovy expert

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


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

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


ClientDataSet, indexy, ukladani do souboru

[*] delphin(zv)post(tec)cz - 23.5.2006 17:32:16

> P.S. Pokousel jsem se klienta presvedcit, ze pracovat s takovym
> mnozstvim dat je napovazenou... ale spis on me presvedcil, ze jsou
> situace, kdy je potreba je inkrementale prohledavat vsechna najednou...,
> nejen filtrovana. Proto tedy zustanu u pouziti nejake MemoryTable.

Je treba analyzovat, co vlastne si klient predstavuje. Zrejme si
nepredstavuje nacist a zobrazit 100000 zaznamu, nebot i kdyby stihl
shlednout jeden zaznam za sekundu, trvalo by mu to pul tydne. Prohledavat
vsechna data najednou vzdycky bylo namet na Select.

dynamicke nacteni dll knihovny

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

delphin(zv)post(tec)cz napsal(a):

>>no nevim tak sem z toho mimo coje teda spravne podobnou funkci
>>
>>
>
>Aby to skutecne synchronizovalo pristup do DLL, je treba neco takoveho:
>
>var
> FCS:TRTLCriticalSection;
>
>procedure SyncCallDLLFunc1;
>begin
> EnterCriticalSection(FCS);
> try
> DLLFunc1;
> finally
> LeaveCriticalSection(FCS);
> end;
>end;
>
>initialization
> InitializeCriticalSection(FCS);
>finalization
> DeleteCriticalSection(FCS);
>end.
>
>
>
Uplne nejlepsi by bylo strcit kritickou sekci dovnitr
te DLL. Taky je otazka, jestli ta DLL vubec synchronizaci
potrebuje, pokud je v ni jen hafo funkci bez spolecnych
promennych, tak ne.


Radim

JPG v databazi

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 23.5.2006 17:32:15

V databazi mam ulozene obrazky JPG v BLOBu. Komponenta DBImage vsak umoznuje
nacist pouze format BMP, coz pri poctu obrazku v databazi je neprijatelne,
vzhledm k objemu dat.

Poradte prosim nejakou komponentu pro Delphi 5

Viktor Marek


dynamicke nacteni dll knihovny

[*] delphin(zv)post(tec)cz - 23.5.2006 16:18:09

> no nevim tak sem z toho mimo coje teda spravne podobnou funkci

Aby to skutecne synchronizovalo pristup do DLL, je treba neco takoveho:

var
FCS:TRTLCriticalSection;

procedure SyncCallDLLFunc1;
begin
EnterCriticalSection(FCS);
try
DLLFunc1;
finally
LeaveCriticalSection(FCS);
end;
end;

initialization
InitializeCriticalSection(FCS);
finalization
DeleteCriticalSection(FCS);
end.

ClientDataSet, indexy, ukladani do souboru

[*] Zdenek Sedlak <konf(zv)seus(tec)cz> - 23.5.2006 17:16:14

Jen doplnim, ze rychlost nacteni dat cca 4s a vytvoreni vsech ctyr
indexu cca 7s patri k memu pocitaci, ktery je relativne vykonny -
Athlon64 3000+ a 1GB RAM. Takze na slabsich strojich je to znatelne
pomalejsi, treba celkem i kolem 20s a vice.

A jeste prosim omluvte me hrubky v predchozim prispevku... stydim se,
jak jsem mohl napsat "indexy dali ulozit" misto "daly ulozit" apod.
Diky, budu se snazit davat pozor na svuj pisemny projev :-)

Zdenek

Zdenek Sedlak napsal(a):
> Ahoj,
>
> casto pracuji s TClientDataSet, je to pro me prijemna memory table.
> Vetsinou ji pouzivam spolu s DataSetProviderem...
>
> V jednom projektu ma klient v db ciselnik mist (tvrdi ze jich bude cca
> 100000, coz je opravdu hodne). DBMS je Firebird, a je samozrejme
> indexovan, takze selecty apod. jsou rychle...
>
> Ovsem problem je, ze potrebuju mit v nejakou chvili vsechny ty zaznamy
> zobrazene v gridu a ruzne je filtrovat a prohledavat. Filtr je rychlej
> (protoze db je indexovana) ale inkrementalni vyhledavani konkretniho
> zaznamu pomoci dataset.locate je problem... Pokud to prohledavam poprve
> a hledam zaznam na konci, tak to trva i 3s. Proste ta data musi sosnout
> z DB. Pokud uz jednou dojde na konec, tak pak je prohledavani zase v
> pohode a rychle.
>
> Data v teto tabulce se meni minimalne, takze jsem se rozhodl tato data
> nacist do ClientDataSet. Vyhledavani je pak naprosto uzasne rychle (dle
> slov klienta), pametove naroky se zvednou o cca 15MB, coz neni problem.
> Ale malym problemkem zustava, ze nacitani dat do ClientDataSetu trva cca
> 4s, a pak tvorba ctyr indexu (pro trideni i filtrovani) trva cca 7s.
>
> Vim, ze ClientDataSet umi ukladat data do souboru (a zase je nacitat).
> Takze pokud se data nezmenila, tak je nactu ze souboru a je to rychlejsi
> cca o 70%, takze castecna uspora, ktera se velmi hodi.
>
> Ale pak stejne musim vytvorit indexy. Je nejaka moznost, jak by se i
> tyto indexy dali ulozit a pak nacist? (aby se nemuseli vytvaret)
>
> Jak jsem rikal, data v ciselniku se budou menit minimalne, takze mi
> ClientDataSet nacteny do pameti velmi vyhovuje a take jeho schopnost
> data ulozit na disk a zase je nacist. Hodilo by se i ukladani (a
> nacitani) indexu.
>
> Je to nejak mozne, nebo tapu ve tme? :-)
>
> Neumi nejaka jina MemoryTable (ktera je potomtek Dataset, aby sla
> navazat na grid a mela metodu Locate) ukladat data i indexy do souboru
> (nebo do streamu)?
>
> Diky za rady...
>
> P.S. Pokousel jsem se klienta presvedcit, ze pracovat s takovym
> mnozstvim dat je napovazenou... ale spis on me presvedcil, ze jsou
> situace, kdy je potreba je inkrementale prohledavat vsechna najednou...,
> nejen filtrovana. Proto tedy zustanu u pouziti nejake MemoryTable.
>
> Zdenek Sedlak
>
>
>
>
>

ClientDataSet, indexy, ukladani do souboru

[*] Zdenek Sedlak <konf(zv)seus(tec)cz> - 23.5.2006 17:02:13

Ahoj,

casto pracuji s TClientDataSet, je to pro me prijemna memory table.
Vetsinou ji pouzivam spolu s DataSetProviderem...

V jednom projektu ma klient v db ciselnik mist (tvrdi ze jich bude cca
100000, coz je opravdu hodne). DBMS je Firebird, a je samozrejme
indexovan, takze selecty apod. jsou rychle...

Ovsem problem je, ze potrebuju mit v nejakou chvili vsechny ty zaznamy
zobrazene v gridu a ruzne je filtrovat a prohledavat. Filtr je rychlej
(protoze db je indexovana) ale inkrementalni vyhledavani konkretniho
zaznamu pomoci dataset.locate je problem... Pokud to prohledavam poprve
a hledam zaznam na konci, tak to trva i 3s. Proste ta data musi sosnout
z DB. Pokud uz jednou dojde na konec, tak pak je prohledavani zase v
pohode a rychle.

Data v teto tabulce se meni minimalne, takze jsem se rozhodl tato data
nacist do ClientDataSet. Vyhledavani je pak naprosto uzasne rychle (dle
slov klienta), pametove naroky se zvednou o cca 15MB, coz neni problem.
Ale malym problemkem zustava, ze nacitani dat do ClientDataSetu trva cca
4s, a pak tvorba ctyr indexu (pro trideni i filtrovani) trva cca 7s.

Vim, ze ClientDataSet umi ukladat data do souboru (a zase je nacitat).
Takze pokud se data nezmenila, tak je nactu ze souboru a je to rychlejsi
cca o 70%, takze castecna uspora, ktera se velmi hodi.

Ale pak stejne musim vytvorit indexy. Je nejaka moznost, jak by se i
tyto indexy dali ulozit a pak nacist? (aby se nemuseli vytvaret)

Jak jsem rikal, data v ciselniku se budou menit minimalne, takze mi
ClientDataSet nacteny do pameti velmi vyhovuje a take jeho schopnost
data ulozit na disk a zase je nacist. Hodilo by se i ukladani (a
nacitani) indexu.

Je to nejak mozne, nebo tapu ve tme? :-)

Neumi nejaka jina MemoryTable (ktera je potomtek Dataset, aby sla
navazat na grid a mela metodu Locate) ukladat data i indexy do souboru
(nebo do streamu)?

Diky za rady...

P.S. Pokousel jsem se klienta presvedcit, ze pracovat s takovym
mnozstvim dat je napovazenou... ale spis on me presvedcil, ze jsou
situace, kdy je potreba je inkrementale prohledavat vsechna najednou...,
nejen filtrovana. Proto tedy zustanu u pouziti nejake MemoryTable.

Zdenek Sedlak

DBGid - odchyceni zmeny sirky sloupce

[*] Robert Fujak <robof(zv)inmail.sk> - 23.5.2006 20:50:30

TMYGrid = class(TDBGrid)
protected
procedure ColWidthsChanged; override;
end;


S pozdravom
Robert Fujak

----- Original Message -----
From: "Jan Novak" <delfin4(zv)volny(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Tuesday, May 23, 2006 7:10 PM
Subject: Re: DBGid - odchyceni zmeny sirky sloupce


>> jak odchytit udalost zmeny sirky sloupce (mysi) v DBGridu?
>> Je na nem OnColumnMoved ale zadne OnColumnResized najit nemuzu.
>
> Taky jsem to kdysi potreboval a nakonec jsem musel v OnDrawColumnCell
> porovnavat s posledni zapamatovanou sirkou a 'udalost' vyvolat po
> zjisteni zmeny
>

Zpracovani telefonnich hovoru

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 23.5.2006 20:34:29

Hovory zaved pres SIP do PC. Hledej SIP a Delphi (jedna nejmenovana
komponenta pro DElphi i pro .NET - neni zadara, ale podle me jedina).
Pripadne pouzij knihovnu iaxclient pokud ovladas Ccko a dokazes si ji
nadratovat do Delphi. Tim mas vyreseny SIP resp. IAX2 protokol, ktery
obsluhuje VoIP.

Nasledne musis ty tve linky prevest na VoIP - nejjednodussi cesta je si
je nechat rovnou routovat pres VoIP od operatora pokud to umi, pripadne
na jedno pevne cislo ktere si koupis od nejakeho VoIPa (VoIP ma tu
vyhodu ze na jedno cislo se ti dovola tolik lidi, kolik jich zvednes -
neni to omezene). A pokud to jsou klasicke linky, pak si porid VoIP
brany Sipura nebo neco podobneho a to ti umozni pripojit 2 analogove
telefony a presmerovat je na SIP. Cena tohoto zarizeni je cca 2000kc.

Pak jiz to cele propojit (pokud mas treba 3 Sipury na 6 linek a PCcka s
operatorkama) a k tomu jiz opravdu ten Aterisk co ti uz radili.

TR

>
> ale asi jsem se spatne vyjadril. Ja mam hotovou aplikaci, do ktere potrebuji
> integrovat prijem telefonnich hovoru. Zatim je to tak, ze operatorka ma 6
> telefonu, na kterych prijima hovory a do aplikace pise texty (prijem
> inzerce). Na placene linky tady mame ustrednu, ktera zajistuje takove ty
> kecy a ve finale klienta pripoji bud na zaznamnik nebo na operatora. A ja
> potrebuji ty telefony u operatora integrovat do pocitace, aby se daly
> ovladat z me aplikace.
> Nasel jsem neco od Dialogic, ale jedna karta stoji pres $1200, coz je trosku
> silne kafe.

D5 - export z datasetu do XML

[*] David Klodner <delphikonfer(zv)seznam(tec)cz> - 23.5.2006 21:42:33

Zdravim konferenci,

potreboval bych do sveho programu zakomponovat nastavitelne exporty z
datasetu do XML, tak aby se to dalo strukturovat.
Napr. mam tabulku objednavek, polozek a odberatelu a potrebuju je
vyexportovat do XML o strukture:

+ hlavicka objednavky
+ odberatel
+adresa 1
+adresa 2
+ polozky
+ polozka 1
+ polozka x

Pouzivam D5 prof. kde jsou moznosti prace s XML omezene oproti vyssim
verzim.
Prechod na vyssi verzi je pro me zatim nerealny.

Nevite nekdo o vhodnem nastroji pro takovy export?

Prosel jsem podrobne historii konference, ale nic moc jsem nezjistil, odkazy
uz nefunguji.

David Klodner

DBGid - odchyceni zmeny sirky sloupce

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 24.5.2006 08:13:17

> TMYGrid = class(TDBGrid)
> protected
> procedure ColWidthsChanged; override;
> end;

Jo, kdyz jsem to resil, taky jsem to udelal touto cestou.
Mam ale pocit, ze prislusny event se pak volal necekane
casto - i nekolikrat po sobe apod. Nepamatuji si
podrobnosti - nicmene schudna cesta to je.

David Lebeda

tvorba grafu v ecxelu pod OLEAut

[*] jiri(zv)bartonek(tec)cz - 24.5.2006 07:41:15

Ahoj,


procedure TProtlZpet.GrafBBClick(Sender: TObject);
var
Excel : OleVariant;
IsExcel : Integer;
row : Integer;
col : Char;
begin
......

try
Excel := GetActiveOleObject('Excel.Application');
except
Excel := CreateOLEObject('Excel.Application');
end;
......

Excel.Charts.Add;
Excel.ActiveChart.Location(1);
Excel.ActiveChart.ChartType := $FFFFEFB7;
Excel.ActiveChart.SeriesCollection(1).XValues :=
'=List1!R2C1:R'+IntToStr(High(VysledkyS)+2)+'C1';
Excel.ActiveChart.SeriesCollection(1).Values :=
'=List1!R2C2:R'+IntToStr(High(VysledkyS)+2)+'C2';
Excel.ActiveChart.SeriesCollection(1).Name := 'Zavislost tvareci
sily'+#13+'na teplote';
Excel.ActiveChart.HasTitle := True;
Excel.ActiveChart.ChartTitle.Characters.Text := 'Material:
'+VysledkyS[0].SOcel;
Excel.ActiveChart.Axes(1, 1).HasTitle := True;
Excel.ActiveChart.Axes(1, 1).AxisTitle.Characters.Text := 'Teplota [?C]';
Excel.ActiveChart.Axes(2, 1).HasTitle := True;
Excel.ActiveChart.Axes(2, 1).AxisTitle.Characters.Text := 'Sila [kN]';
Excel.ActiveChart.HasDataTable := False;

.....
end;

Jirka

ClientDataSet, indexy, ukladani do souboru

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 24.5.2006 09:53:24

> Ale pak stejne musim vytvorit indexy. Je nejaka moznost, jak by se i
> tyto indexy dali ulozit a pak nacist? (aby se nemuseli vytvaret)

Ano. Su tri moznosti, ako pridat index v TClientDataSet:
1. IndexFieldNames
2. AddIndex
3. IndexDefs este pred CreateDataSet

Posledna moznost (IndexDefs) umoznuje mat perzistentne indexy, ktore sa
ukladaju do suboru spolu s datami.
Je to popisane v napovede D7 pod "Adding a new index".

HTH
TOndrej

Evidence smen

[*] Tyslic Jiri <jiri.tyslic(zv)opp.tbggroup(tec)com> - 24.5.2006 10:25:27

Resim nasledujici "trivialni" problem.
Do tabulky vyroba se zapisuje Datum+ Cas + Cislo palety. Ja potrebuji vyhodnocovat vyrobene palety podle smen.
Vse je ulozeno v MS SQL, takze je potreba provest optimalni sql dotaz pro vyhodnoceni.
Vidim nasledujici dve reseni:

1. Pridat sloupec Smena a v triggeru tento sloupec naplnit podle aktualniho casu R,O,N (Ranni, Odpoledni, Nocni).
Ovsem jak potom spravne provest select pro nocni smenu tak, aby se zapocitala nocni pouze vybraneho dne? Napadlo me jeste dolpnit dalsi pole Datum vyroby, ktere by pro nocni smenu po pulnoci zapsala Datum-1.

2. Mam napsane funkce v sql, ktere mi po zadani datumu vrati spravnou smenu, ale myslim si, ze pro velky pocet zaznamu jsou funkce v podminkach docela brzda.


Priklanel bych se spise k bodu 1. ale pokud budu chtit evidovat vice operaci s paletou, budu muset dodelat odpovidajici sloupce Smena a Datum_Vyroby pro kazdou operaci.

Mozna na to jdu uplne spatne a lze to zapsat jednoduchym sql dotazem, ale fakt nevim.
Pokud jste nekdo resil obdobny problem, prosim o radu.

Diky

Jirka

TIBTable neserazuje dle indexu

[*] Ing. Antonin Spurny <spurny(zv)kavlounky(tec)cz> - 24.5.2006 10:37:28

Ahoj,

TIBTable mi neserazuje podle indexu, pokud pridam novy zaznam (napr pomoci
TDBGrid), zustane mi zaznam na te pozici, na ktere jsem ho, vlozil bez
ohledu na index. Serazeni dosahnu napriklad az zmenou filtru na jiny a pak
vracenim na puvodni filter.
To prinasi dalsi problemy, tykajici se zapamatovani puvodni pozice v
databazi, protoze potrebuji aby mi kurzor databaze zustal na pozici
naposledy upraveneho zaznamu a jako na potvoru TIBTable nezna funkci
FindKey... takze puvodni pozici musim najit prochazenim jednotlivych
zaznamu...
Zaznamu je ve vyberu tak cca 10 az 20 ale cela databaze bude mit po urcite
dobe tisice a mozna i desetittisice polozek, tak mi prijde, ze po kazde
zmene zaznamu zadat o novy filter je zbytecne zatezujici pro server.

Je to normalni chovani nebo nekde delam chybu?
Da se to resit nejakym elegantnejsim zpusobem?

Pouzivam D7, Firebird 1.5.2 a Windows XP Pro

dekuji Ing. A. Spurny

TIBTable neserazuje dle indexu

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

Ahoj,

Ing. Antonin Spurny napsal(a):
> Ahoj,
>
> TIBTable mi neserazuje podle indexu, pokud pridam novy zaznam.....

1/ Nepouzivej TIBTable, ale TIBDataSet. TIBTable je vhodna nanejvyse
pro primitivni tabulky typu ciselnik, kdy presne vis, co delas a kdy
nemas o co prijit. TIBDataSet ti umozni zadat jak dotaz pro vyzadani
dat, tak i dotazy pro vlozeni, zmenu a obnoveni zaznamu.

2/ Je to logicke. Data ti poskytuje server, v poradi, v jakem si sam
reknes. Pro spravne zacleneni vlozeneho zaznamu musis znovy vyzadat data
ze serveru = open/close tabulky.

3/ Spravne najeti zaznamu po novem otevreni tabulky delam pomoci
locate metody. Neni to idealni, ale funguje. Musis si pred uzavrenim
tabulky zapamatovat klicive hodnoty zaznamu a pak je zkusit vyhledat v
nove nactenych datech.

> dekuji Ing. A. Spurny

Peca

TIBTable neserazuje dle indexu

[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 24.5.2006 10:55:29

Nepouzivej TIBTable, ale TIBQuery a tam si dej order by.

Tom

Ing. Antonin Spurny napsal(a):
> Ahoj,
>
> TIBTable mi neserazuje podle indexu, pokud pridam novy zaznam (napr pomoci
> TDBGrid), zustane mi zaznam na te pozici, na ktere jsem ho, vlozil bez
> ohledu na index. Serazeni dosahnu napriklad az zmenou filtru na jiny a pak
> vracenim na puvodni filter.
> To prinasi dalsi problemy, tykajici se zapamatovani puvodni pozice v
> databazi, protoze potrebuji aby mi kurzor databaze zustal na pozici
> naposledy upraveneho zaznamu a jako na potvoru TIBTable nezna funkci
> FindKey... takze puvodni pozici musim najit prochazenim jednotlivych
> zaznamu...
> Zaznamu je ve vyberu tak cca 10 az 20 ale cela databaze bude mit po urcite
> dobe tisice a mozna i desetittisice polozek, tak mi prijde, ze po kazde
> zmene zaznamu zadat o novy filter je zbytecne zatezujici pro server.
>
> Je to normalni chovani nebo nekde delam chybu?
> Da se to resit nejakym elegantnejsim zpusobem?
>
> Pouzivam D7, Firebird 1.5.2 a Windows XP Pro
>
> dekuji Ing. A. Spurny
>
>
>
>
>

Evidence smen

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 24.5.2006 11:11:31

A proc takto ?
Vzdyt preci si muzu vytahnout zaznamy mezi dvema cosovymi okamziky,
proste:
SELECT * FROM data WHERE tDate>='5..5.2006 22:00:00' AND tDate<'6.5.2006
6:00:00'

nad tDate je samozrejme index.

Takle mame udelany cely system na evidenci produkce:
http://www.elektlabs(tec)cz/demos/masa/

Slavek

> 1. Pridat sloupec Smena a v triggeru tento sloupec naplnit
> podle aktualniho casu R,O,N (Ranni, Odpoledni, Nocni).
> Ovsem jak potom spravne provest select pro nocni smenu
> tak, aby se zapocitala nocni pouze vybraneho dne? Napadlo me
> jeste dolpnit dalsi pole Datum vyroby, ktere by pro nocni
> smenu po pulnoci zapsala Datum-1.

QuicReport 3.0.9 nastaveni

[*] marek <marek.rakowski(zv)trz(tec)cz> - 24.5.2006 12:09:35

Tiskarna mi overuje Access Code pro tisk, ale jak ho zadam v Printer setup
tak se tisk nezdari, asi neprevezme to nastaveni



Da se to prosim vyresit



Marek

Evidence smen

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 24.5.2006 12:19:36

Tohle ne, to nikam nevede.
Vzdyt vyber od do casu je to nejjednodussi !
To pak bude posouvat uplne vsude, misto peti radek kodu si pridam stovky ?

Slavek

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


> jen napad, kdesi jsem videl, ze si posunuli cas na PC o sest
> hodin, takze
> ranni smena zacinala v 00:00, odpoledni v 08;00 a nocni v 16:00. Co
> zapisovat do databaze cas a datum -6hod oproti mistnimu casu?

Evidence smen

[*] Ing. Antonin Spurny <spurny(zv)kavlounky(tec)cz> - 24.5.2006 12:11:35

Ahoj,
jen napad, kdesi jsem videl, ze si posunuli cas na PC o sest hodin, takze
ranni smena zacinala v 00:00, odpoledni v 08;00 a nocni v 16:00. Co
zapisovat do databaze cas a datum -6hod oproti mistnimu casu?

ahoj
tonda

----- Original Message -----
From: "Tyslic Jiri" <jiri.tyslic(zv)opp.tbggroup.com>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, May 24, 2006 10:25 AM
Subject: Evidence smen


> Resim nasledujici "trivialni" problem.
> Do tabulky vyroba se zapisuje Datum+ Cas + Cislo palety. Ja potrebuji
> vyhodnocovat vyrobene palety podle smen.
> Vse je ulozeno v MS SQL, takze je potreba provest optimalni sql dotaz pro
> vyhodnoceni.

Evidence smen

[*] Tyslic Jiri <jiri.tyslic(zv)opp.tbggroup(tec)com> - 24.5.2006 12:37:37

> A proc takto ?
> Vzdyt preci si muzu vytahnout zaznamy mezi dvema cosovymi okamziky,
> proste:
> SELECT * FROM data WHERE tDate>='5..5.2006 22:00:00' AND
> tDate<'6.5.2006 6:00:00'
>
> nad tDate je samozrejme index.
>
> Takle mame udelany cely system na evidenci produkce:
> http://www.elektlabs(tec)cz/demos/masa/
>
> Slavek

Tahle to jde urcite pro jeden den, ale pokud chci vyhodnotit napr.nocni smeny v mesici...

Evidence smen

[*] Stepan Dobias <stepan.dobias(zv)del(tec)cz> - 24.5.2006 13:03:40

A co si na smeny vytvorit tabulku a normalne je tam podle jednoducheho planu
zakladat a do tabulek s daty vkladat id konkretni smeny? V tabulce smen lze
jednoduse provest vyber jiz zminenych nocnich smen. Vyber vsech dat ke
konkretni smenne to dost urychluje. Oproti tomu indexovani sloupce typu
DateTime zabira v DB znacny prostor.

Stepan

----- Original Message -----
From: "Lukas Barton" <lukas(zv)cnawr(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, May 24, 2006 12:53 PM
Subject: Re: Evidence smen


> Slavomir Skopalik wrote:
>
>>A proc takto ?
>>Vzdyt preci si muzu vytahnout zaznamy mezi dvema cosovymi okamziky,
>>proste:
>> SELECT * FROM data WHERE tDate>='5..5.2006 22:00:00' AND tDate<'6.5.2006
>>6:00:00'
>>
>>nad tDate je samozrejme index.
>>
>>
>>
> Otazkou je, zda se zacatek a konec smeny nebude v case menit. Ale to uz
> mozna predjimam pouzivani BI nad sbiranymi daty. A v datovych skladech
> rozhodne data nejsou v normalni forme.
>
>

Evidence smen

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 24.5.2006 12:55:39

Dne Wednesday, May 24, 2006 12:37 PM [GMT+1=CET],
Tyslic Jiri <jiri.tyslic(zv)opp.tbggroup.com> napsal(a):

>> A proc takto ?
>> Vzdyt preci si muzu vytahnout zaznamy mezi dvema cosovymi okamziky,
>> proste:
>> SELECT * FROM data WHERE tDate>='5..5.2006 22:00:00' AND
>> tDate<'6.5.2006 6:00:00'
>>
>> nad tDate je samozrejme index.
>>
>> Takle mame udelany cely system na evidenci produkce:
>> http://www.elektlabs(tec)cz/demos/masa/
>>
>> Slavek
>
> Tahle to jde urcite pro jeden den, ale pokud chci vyhodnotit
> napr.nocni smeny v mesici...

Treba
where (tdate between '1.1.2006 22:00' and '1.2.2006 06:00) and (extract(hour
from tdate)>=22) and (extract(hour from tdate)<=6) ?

Roman

Evidence smen

[*] Lukas Barton <lukas(zv)cnawr(tec)cz> - 24.5.2006 12:53:39

Slavomir Skopalik wrote:

>A proc takto ?
>Vzdyt preci si muzu vytahnout zaznamy mezi dvema cosovymi okamziky,
>proste:
> SELECT * FROM data WHERE tDate>='5..5.2006 22:00:00' AND tDate<'6.5.2006
>6:00:00'
>
>nad tDate je samozrejme index.
>
>
>
Otazkou je, zda se zacatek a konec smeny nebude v case menit. Ale to uz
mozna predjimam pouzivani BI nad sbiranymi daty. A v datovych skladech
rozhodne data nejsou v normalni forme.

Evidence smen

[*] Ludek Finstrle <ludek.finstrle(zv)pzkagis(tec)cz> - 24.5.2006 12:47:38

> > A proc takto ?
> > Vzdyt preci si muzu vytahnout zaznamy mezi dvema cosovymi okamziky,
> > proste:
> > SELECT * FROM data WHERE tDate>='5..5.2006 22:00:00' AND
> > tDate<'6.5.2006 6:00:00'
> >
> > nad tDate je samozrejme index.
> >
> > Takle mame udelany cely system na evidenci produkce:
> > http://www.elektlabs(tec)cz/demos/masa/
> >
> > Slavek
>
> Tahle to jde urcite pro jeden den, ale pokud chci vyhodnotit
> napr.nocni smeny v mesici...

Hmm, dva sloupce? Jeden cas druhy datum?

Luf

tvorba grafu v ecxelu pod OLEAut

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 24.5.2006 13:15:41

Diky Jirko,
vypada to ,za tomu u mne vadil tento prikaz:

g.SetSourceData(s.Range['A2:B6'], PlotBy:=xlColumns);

Dalibor.

Evidence smen

[*] Petr Gregor <pgregor(zv)orsia(tec)cz> - 24.5.2006 13:13:41

Pokud bych chtel sledovat nocni smeny v mesici, asi bych si udelal tabulku v
niz bych rozdelil den
po hodinach mezi jednotlive smeny do zvlastni tabulky HodinyDne_Smeny
Smena Hodina
N '00'
N '01'
...
N 05
R 06
R 07
...
R 13
O 14
O 15
...
O 21
N 22
N 23

Pak bych si psal pro nocni smeny

SELECT * FROM Data D
WHERE TO_CHAR( D.tDate ,'HH24') IN ( SELECT Hodina
FROM
HodinyDne_Smeny
WHERE
Smena = 'N' )

Obdobne pro kazdou jinou smenu.


Syntaxi jsem vzal z oracle. Pisu jen tak z hlavy alle myslim, ze by to mohlo
fungovat.
Klauzule IN by sla asi napsat jinak napr pres EXISTS, ale tady se mi to zda
nazornejsi.

Petr

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

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Tyslic Jiri
> Sent: Wednesday, May 24, 2006 12:38 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: Evidence smen
>
> > A proc takto ?
> > Vzdyt preci si muzu vytahnout zaznamy mezi dvema cosovymi okamziky,
> > proste:
> > SELECT * FROM data WHERE tDate>='5..5.2006 22:00:00' AND
> > tDate<'6.5.2006 6:00:00'
> >
> > nad tDate je samozrejme index.
> >
> > Takle mame udelany cely system na evidenci produkce:
> > http://www.elektlabs(tec)cz/demos/masa/
> >
> > Slavek
>
> Tahle to jde urcite pro jeden den, ale pokud chci vyhodnotit
> napr.nocni smeny v mesici...
>

Evidence smen

[*] Lukas Barton <lukas(zv)cnawr(tec)cz> - 24.5.2006 13:11:41

Roman wrote:

>
>Treba
>where (tdate between '1.1.2006 22:00' and '1.2.2006 06:00) and (extract(hour
>from tdate)>=22) and (extract(hour from tdate)<=6) ?
>
>
>
Problem je, ze volani funkci uvnitr dotazu vetsinou radove zpomali jeho
vyhodnoceni.
Misto pouziti indexu se musi nacist vzdy vsechna data!!!!

Lukas

>
>
>

Evidence smen

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 24.5.2006 12:51:39

Tak to bude soustava 31 (30, 29 ci 28) stejnych podminek :)

S pozdravem

Milan Tomes

Tyslic Jiri napsal(a):
>> A proc takto ?
>> Vzdyt preci si muzu vytahnout zaznamy mezi dvema cosovymi okamziky,
>> proste:
>> SELECT * FROM data WHERE tDate>='5..5.2006 22:00:00' AND
>> tDate<'6.5.2006 6:00:00'
>>
>> nad tDate je samozrejme index.
>>
> Tahle to jde urcite pro jeden den, ale pokud chci vyhodnotit napr.nocni smeny v mesici...
>

Evidence smen

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 24.5.2006 12:51:38

Pak mam nekolik moznosti:
1. Tabulku evidence smen (smena od, do, mistr, ....) a vyrobu mit navazanou na
konkretni smenu (zaznam)
2. Projit to cyklem, dotaz den po dni a pak sumovat (ulozna procedura)
3. neco na zpusob tohoto:
SELECT * FROM data
WHERE
tDate >='1.1.2006 6:00' AND tDate<'1.2.2006 6:00' AND
EXTRACT_TIME(tDate)>='22:00' AND EXTRACT_TIME(tDate)<'6:00'

Nevyhoda je, ze se bude prochazet 3x tolik zaznamu, nez je treba, ale bude se
pripravovat jen jeden provadeci plan.

Psano z hlavy, takze nerucim, za vysledek :)

Slavek

> > Vzdyt preci si muzu vytahnout zaznamy mezi dvema cosovymi okamziky,
> > proste:
> > SELECT * FROM data WHERE tDate>='5..5.2006 22:00:00' AND
> > tDate<'6.5.2006 6:00:00'
> >
> > nad tDate je samozrejme index.
> >
> > Takle mame udelany cely system na evidenci produkce:
> > http://www.elektlabs(tec)cz/demos/masa/
> >
> > Slavek
>
> Tahle to jde urcite pro jeden den, ale pokud chci vyhodnotit
> napr.nocni smeny v mesici...
>
>

Evidence smen

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 24.5.2006 13:39:43

Lukas Barton wrote:

> Problem je, ze volani funkci uvnitr dotazu vetsinou radove zpomali
> jeho vyhodnoceni.

Kdyz ta tabulka neni ani v 1NF, tak od toho nemuzes chtit zazraky ;-)


pf

ClientDataSet, indexy, ukladani do souboru

[*] Zdenek Sedlak <konf(zv)seus(tec)cz> - 24.5.2006 13:53:44

Ahoj dekuju za napad.

ClientDataSet naplnuji tak, ze mu priradim DataProvider a pak volam
ClientDataSet.Open

tedy napr.
// cds je TClientDataSet
// provider je TDataProvider, na jeho dataset je nastavena IBQuery
// provider je prirazen k cds
cds.open;

// ted ulozim data do souboru (binarniho)
cds.SaveToFile('c:\test1.cds', dfBinary);

// pak nadefinuju nekolik indexu
cds.IndexDefs.Add('nazev1','fields',[ixCaseInsensitive]);
cds.IndexDefs.Add('nazev2','fields',[]);
cds.IndexDefs.Add('nazev3','fields',[ixCaseInsensitive]);

// opet ulozim do souboru
cds.SaveToFile('c:\test2.cds', dfBinary);
// oba soubory jsou naprosto stejne

// teprve az index pouziju, tak se asi vytvori,
// protoze prvni pouziti kazdeho indexu trva 1s - 2s
// dalsi prepnuti na index jiz je bez prodlevy
cds.IndexName := 'nazev1';
cds.IndexName := 'nazev2';
cds.IndexName := 'nazev3';

// pokud i ted ulozim do souboru
// tak je opet stejnej
cds.SaveToFile('c:\test3.cds', dfBinary);


Takze vsechny tri ulozene soubory jsou stejne, a jsou bez tech indexu.
Pokud pak zavolam cds.LoadFromFile('c:\test3.cds') tak ho otevre, ale
pri pokusu prepnout na index to spadne s tim, ze index neexistuje.

Muzes mi, prosim, poradit, jak tedy spravne naplnit clientdataset a jak
pro nej vytvorit indexy, aby se pri cds.SaveToFile() ulozily data i
indexy? (a aby se ulozila nejen struktura indexu ale i index sam, aby se
pak nemusel vytvaret).

Velmi dekuji za pomoc.

Zdenek

Ondrej Kelle napsal(a):
> 3. IndexDefs este pred CreateDataSet
>
> Posledna moznost (IndexDefs) umoznuje mat perzistentne indexy, ktore sa
> ukladaju do suboru spolu s datami.
> Je to popisane v napovede D7 pod "Adding a new index".
>

cteni *.XLS

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 24.5.2006 14:37:47

HI *,
Hledam free komponentku, ktera by cetla excel file bez externich knihoven.
Kdysi jsem takovou mel pro D5. Nyni potrebuji projekt oprasit, ale uz mam vse pro D7...
Nepotrebuji nic jineho, nez jednoduse precist z jednoho listu jeden sloupec stringu.

Prijemny zbytek dne
Vasek Zaruba
8^)

Evidence smen

[*] Tyslic Jiri <jiri.tyslic(zv)opp.tbggroup(tec)com> - 24.5.2006 14:43:48

Dekuji vsem za podnetne dotazy.

Nakonec jsem to vyresil tak, ze do tabulky pribyly dva sloupce DatSmeny a Smena.
DatSmeny je smallint a Smena char(1), takze k dramatickemu zvetseni objemu dat to urcite nepovede.
Obe polozky se automaticky doplni v triggeru podle data a casu vyroby.
Hlavne se mi ted bude dobre vytvaret uzivatelsky filtr, protoze dotazy budou prehledne napr. select * from Vyroba where DatSmeny >= :Datum and Smena = 'O'

Jeste jednou diky vsem

Jirka

cteni *.XLS

[*] Lukas Barton <lukas(zv)cnawr(tec)cz> - 24.5.2006 14:43:48

Venca Zaruba napsal(a):
> HI *,
> Hledam free komponentku, ktera by cetla excel file bez externich knihoven.
> Kdysi jsem takovou mel pro D5. Nyni potrebuji projekt oprasit, ale uz mam vse pro D7...
> Nepotrebuji nic jineho, nez jednoduse precist z jednoho listu jeden sloupec stringu.
>
>
Doporucuji http://www.tmssoftware.com/go.asp?flexcel
Umi to s OLE i bez OLE.
Jen jsem uz narazil na par souboru, ktere bez OLE neprojdou.

Lukas


JPG v databazi

[*] Pavel GRATZER <pavelg(zv)stbk.mcs(tec)cz> - 24.5.2006 20:18:12

Ja to delam takhle

Do uses pridam unitu JPEG

a nacteni obrazku delam takhle

if ExtractFileExt(OpenPictureDialog1.FileName)='.jpg' then
begin
JPEGImage:=TJPEGImage.Create;
JPEGImage.LoadFromFile(OpenPictureDialog1.FileName);
DBImage1.Picture.Bitmap.Assign(JPEGImage.Bitmap);
JPEGImage.Free;
end
else
DBImage1.Picture.Bitmap.LoadFromFile(OpenPictureDialog1.FileName);

PG


----- Original Message -----
From: "Viktor Marek" <viktor(zv)mbox.vol(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, May 24, 2006 6:34 PM
Subject: Re: JPG v databazi


> Muzes mne jeste trochu popostrcit?
> Do uses jsem pridal "JPEG" ale kdyz dam v object inspektoru
> DBImage1.DataSource=DataSource1 a DataField=Foto vybehne hlaska "Bitmap
> image is not valid"
>
> Nevim zda jsem se presne zeptal: Jde o to, ze v databazi mam JPJ ulozene
> v
> BLOBu a chtel bych k nemu primo z DBImage pristupovat. Jak jsem procital
> konferenci, pripada mi ze v databazi je ulozen BMP a konvertuje se do
> DBImage jako JPG. To by ovsem neresilo objem dat v databazi. Stejny
> obrazek
> v JPG ma 200 kilo a v BMP kolem 2 MB
>
> Nebyl by nejaky prikladek?
>
> Delphi 5 prof.
> Viktor Marek
>
>>> V databazi mam ulozene obrazky JPG v BLOBu. Komponenta DBImage vsak
>>> umoznuje nacist pouze format BMP, coz pri poctu obrazku v databazi
>>> je neprijatelne, vzhledm k objemu dat.
>>> Poradte prosim nejakou komponentu pro Delphi 5
>>
>> Neni treba jina komponenta, staci dat do uses knihovnu "jpeg" a pak to
>> myslim funguje.
>> Petr Zahradnik, pocitacovy expert
>
>
>

JPG v databazi

[*] Dalibor <dalibor(zv)torola(tec)cz> - 24.5.2006 19:20:08

Ja jsem to kdysi delal takhle:


procedure TForm1.BitBtn5Click(Sender: TObject);
const
Zn : array[0..3] of char = ('''','_',' ',':');
var
MujStream : TStream;
F : TFileStream;
i : integer ;

begin
OpenDialog1.FileName:='*'+VCDLIst.FindField('NAZEV_ORIG').AsString;
for i:=low(Zn) to High(Zn) do begin
OpenDialog1.FileName:=StringReplace(OpenDialog1.FileName, ZN[i], '*',
[rfReplaceAll, rfIgnoreCase]);
end;
if Sender=BitBtn5 then
OpenDialog1.FileName:=OpenDialog1.FileName+'*front*'
else
OpenDialog1.FileName:=OpenDialog1.FileName+'*back*';
if OpenDialog1.Execute then begin
with VCDList do begin
Edit;
if Sender=BitBtn5 then
MujStream:=VCDLIST.CreateBlobStream(FindField('FRONT'),
bmReadWrite)
else
MujStream:=VCDLIST.CreateBlobStream(FindField('BACK'),
bmReadWrite);
MujStream.Position:=0;
F:=TFIleStream.Create(OpenDialog1.FileName, fmOpenRead);
F.Position:=0;
MujStream.CopyFrom(F, F.Size);
F.Free;
Post;
end;
end;
end;

procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
if not checkbox1.checked then exit;
with VCDList do begin
If not FindField('FRONT').IsNull then begin
Nahraj('FRONT', Image1.Picture, VCDLIST);
end;
If not FindField('BACK').IsNull then begin
Nahraj('BACK', IMAGE2.Picture, VCDList);
end;
end;
end;

procedure Tform1.Nahraj(Pole : string; Image : TPicture; Source :
TIBDataSet);
var
MyJpeg: TJpegImage;
MujStream:TStream;
begin

if Source.FindField(POLE).isNull then exit;

try
with Source do begin
MyJpeg:= TJpegImage.Create;
MujStream:=CreateBlobStream(FindField(POLE),bmReadWrite);
MujStream.Position:=0;
MyJPeG.LoadFromStream(MujStream);
Image.Bitmap.Assign(MyJpeg);
end;
finally
MujSTREAM.Free;
MyJPeG.Free
end;
end;

> Puvodni zprava ze dne 24.5.2006:
>
>> Muzes mne jeste trochu popostrcit?
>> Do uses jsem pridal "JPEG" ale kdyz dam v object inspektoru
>> DBImage1.DataSource=DataSource1 a DataField=Foto vybehne hlaska "Bitmap
>> image is not valid"
>

JPG v databazi

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 24.5.2006 18:50:06

Puvodni zprava ze dne 24.5.2006:

> Muzes mne jeste trochu popostrcit?
> Do uses jsem pridal "JPEG" ale kdyz dam v object inspektoru
> DBImage1.DataSource=DataSource1 a DataField=Foto vybehne hlaska "Bitmap
> image is not valid"

Tak mrkni na net, ja DBImage nikdy nepouzival, protoze nepouzivam DB
aware komponenty. A do Image by to nebyl problem z blobu nacist.

Koukni se treba sem, tady mas o tom 5 stranek, jak to jednoduse
vyresit:

http://delphi.about.com/od/database/l/aa030601a.htm

(dole je treba klikat na dalsi a dalsi stranky)... Nebo treba tady
neco mas:

http://www.dbforums.com/archive/index.php/t-427106.html

Pripadne dej do googlu ta spravna slova a vylezou tuny...

Petr Zahradnik, pocitacovy expert

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


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

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


JPG v databazi

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 24.5.2006 18:34:04

Muzes mne jeste trochu popostrcit?
Do uses jsem pridal "JPEG" ale kdyz dam v object inspektoru
DBImage1.DataSource=DataSource1 a DataField=Foto vybehne hlaska "Bitmap
image is not valid"

Nevim zda jsem se presne zeptal: Jde o to, ze v databazi mam JPJ ulozene v
BLOBu a chtel bych k nemu primo z DBImage pristupovat. Jak jsem procital
konferenci, pripada mi ze v databazi je ulozen BMP a konvertuje se do
DBImage jako JPG. To by ovsem neresilo objem dat v databazi. Stejny obrazek
v JPG ma 200 kilo a v BMP kolem 2 MB

Nebyl by nejaky prikladek?

Delphi 5 prof.
Viktor Marek

>> V databazi mam ulozene obrazky JPG v BLOBu. Komponenta DBImage vsak
>> umoznuje nacist pouze format BMP, coz pri poctu obrazku v databazi
>> je neprijatelne, vzhledm k objemu dat.
>> Poradte prosim nejakou komponentu pro Delphi 5
>
> Neni treba jina komponenta, staci dat do uses knihovnu "jpeg" a pak to
> myslim funguje.
> Petr Zahradnik, pocitacovy expert


ClientDataset - ukladani indexu (po druhe)

[*] Zdenek Sedlak <konf(zv)seus(tec)cz> - 24.5.2006 17:46:01

Ahoj,

porad se tu trapim s tim, abych ClientDataSet prinutil ukladat do
souboru i index.
V helpu je jasne napsano, ze pokud pred volanim metody CreateDataSet
nadefinuji pomoci FieldDefs a IndexDefs pole a indexy, tak se to ulozi
pri exportu (do binarniho souboru, do xml se indexy neukladaji).

Citace helpu:
---
Call CreateDataSet at runtime to create a new, empty client dataset that
can then be edited and saved.

If the FieldDefs property contains values, these values are used to
create field definitions. Otherwise the Fields property is used. One or
both of these properties must contain values in order to create a
dataset. If neither property is set, CreateDataSet raises an exception.

If the IndexDefs property contains values, these values are used to
create indexes for the dataset. Indexes created from the IndexDefs
property are saved with the client dataset when it is saved to a file.
---

Vypada to, ze do souboru uklada jen definici poli (fielddefs) a
samozrejme zaznamy.

Napsal jsem si jednoduchy kod (proto si dovoluji jej prilozit k teto
zprave), ktery vytvori instanci tridy TClientDataSet nazvanou cds,
nadefinuje na ni dva sloupce (pomoci FieldDefs.Add() i pomoci
FieldDefs.AddFieldDef ) dale definuji 2 indexy (opet jeden pomoci
IndexDefs.Add a druhy pomoci IndexDefs.AddIndexDef). Pote pridam dva
nove zaznamy. A dale dataset ulozim do binarniho souboru.

Pak vytvorim novou instanci TClientDataSet nazvanou cds2. A tu naplnim
ze souboru drive ulozeneho.

V novem cds2 souhlasi FieldDefs (pole maji stejne nazvy i typ).
Samozrejme take zaznamy se nactou v poradku. Ovsem indexy chybi :-(
FieldDefs.Count je 2, ale IndexDefs.Count je 0. Pokud na cds2 zavolam
metodu cds2.IndexDefs.Update, tak se objevi dva indexy, ale to jsou jen
defaultni indexy (s nazvy DEFAULT_ORDER a CHANGEINDEX) nikoli ty, ktere
jsem definoval na cds.

Ukazka kodu:
---
var
cds: TClientDataSet;
cds2: TClientDataSet;
i: Integer;

begin

cds := TClientDataSet.Create(nil);
cds.StoreDefs := True;

// definice poli
cds.FieldDefs.Clear;
cds.FieldDefs.Add ('f1', ftstring, 4, True);
with cds.FieldDefs.AddFieldDef do begin
DataType := ftInteger;
Required := True;
Name := 'f2';
end;

// definice indexu
cds.IndexDefs.Clear;
cds.IndexDefs.Add('i1','f1',[ixCaseInsensitive]);
with cds.IndexDefs.AddIndexDef do begin
Fields := 'f2';
Name := 'i2';
end;

// vytvoreni clientdatasetu
cds.CreateDataSet;

// Pridani dvou zaznamu
cds.Append;
cds.Fields[0].AsInteger := 11;
cds.Fields[1].AsInteger := 12;
cds.Append;
cds.Fields[0].AsInteger := 21;
cds.Fields[1].AsInteger := 22;
cds.Post;

// ulozeni DataSetu do binarniho souboru
cds.SaveToFile('c:\a.cds');

// Vytvoreni novho datasetu cds2
cds2 := TClientDataSet.Create(nil);
cds2.LoadFromFile('c:\a.cds');

end;
---



Prosim, vi tedy nekdo z vas, jak vytvorit ClientDataSet s definici poli,
indexu (a take naplnit ho zaznamy) tak, aby se pri ulozeni ulozily i
indexy? (tedy aby pri opetovnem nacteni byly indexy definovane a take
"vytvorene").

Dekuji za jakykoli napad.

Jen jeste dodam, ze jsem to zkousel v Delphi 6 Pro Update 2 a v Delphi
2006 Trial (resp. BDS 2006 Trial)


Zdenda

Formulare a datove moduly

[*] Martin Cajbik <cajbik(zv)sct.sk> - 25.5.2006 09:29:08

Zdravim,
mal by som otazku na sposob vytvarania vazby formularov na datove moduly.
Objektovy modul mojej aplikacie obsahuje zakladny datovy modul s
vseobecnymi funkciami a komponentami. Od neho je potom odvodeny
rozsireny modul s niektorymi doplneniami a zmenami specifickymi pre
konkretny projekt.
Vseobecna cast funkcnosti (ktoru planujem pouzit aj v inych projektoch)
je potom naviazana a pracuje iba so zakladnym datovym modulom,
specificka cast sa odkazuje priamo na rozsireny modul. Instancia sa
vytvara iba pre rozsireny modul, odkaz na neho sa vsak po jeho vytovreni
naplni do premennych pre zakladny aj rozsireny modul.
Kod aplikacie pracuje s takto vytvorenym modulom korektne, funguju aj
priame odkazy na komponenty rozsireneho modulu, nefunguju mi vsak v
designtime definovane odkazy z definicie formularov na komponenty
zakladneho modulu (aj ked jeho premenna je v case ich vytvarania
naplnena korektne) a je potrebne ich nastavit dodatocne v kode tychto
formularov. Je toto mozne nejako obist (nejakym vseobecnym kodom na
urovni zakladneho alebo rozsireneho modulu) ?

--
Martin Cajbik
SCT s.r.o. Kosice

TIBDataSet, Append, Insert

[*] Ing. Antonin Spurny <spurny(zv)kavlounky(tec)cz> - 25.5.2006 09:37:09

Ahoj,

da se nekde v TIBDataSet rozlisit jestli pouzivam pro vkladani noveho
zaznamu funkci Append nebo Insert?
Potrebuji to pro nasteveni vychozi hodnoty polozek v zaznamu.
Umim to rozlisit pouze na u DBGrig podle stisknute klavesy....

dekuji
Tonda

TIBDataSet, Append, Insert

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 25.5.2006 10:03:11

> da se nekde v TIBDataSet rozlisit jestli pouzivam pro
> vkladani noveho zaznamu funkci Append nebo Insert? Potrebuji
> to pro nasteveni vychozi hodnoty polozek v zaznamu. Umim to

Ahoj,

koukni se do unity db na realizaci funkci Append a Insert.
Jsou si hodne podobne a nezda se mi, ze by se nekam ukladal
nejaky rozlisovaci priznak. Myslim si proto, ze v prubehu
vkladani nebudes umet rozlisit, zda jde o insert nebo
append. Leda ze by te na zaklade zdrojaku uvedenych metod a
pripadne po prostudovani zdrojaku k IBDatasetu neco
napadlo...

K cemu to vlastne potrebujes? Nebude uzivatelsky divne,
kdyz bude rozil mezi insertem a appendem?

David Lebeda

TIBDataSet, Append, Insert

[*] aldik(zv)quick(tec)cz - 25.5.2006 10:31:13

staci prepsat append a insert (nezapomen je uvnitr oddedit) u prislusneho
objektu oddedeneho od TDataset a pridat do class parametr ktery ti
ukaze co jsi
prave provedl. Pak musis prepsat typ u sveho objectu na TMyIBDataset...
Je to velmi jednoduche..mozna na to jdu zbytecne drasticky, ale prijde mi to
jako jednoduche reseni

Aldik
>> da se nekde v TIBDataSet rozlisit jestli pouzivam pro
>> vkladani noveho zaznamu funkci Append nebo Insert? Potrebuji
>> to pro nasteveni vychozi hodnoty polozek v zaznamu.

Jak mazat co nejrychleji a nejefektivneji space ze

[*] Vladimir Ponechal <vponecha(zv)email(tec)cz> - 25.5.2006 10:43:14

Ahoj panove,

mozna stupidni a primitivni otazka, ale zeptam se.

Kdyz mam nejaky string a chci z nej dostat praznde mista (space) postupouji asi takhle:

delete (MyString, pos(' ',MyString), 1);

Tato moje funce ma par drobnych nedostatku.
1.) Smaze vzdy jenom jeden space
2.) pokud mam vic space, musim ho dat do smycky.

Neni nejaka funkce by default, ktera mi jednoduse odstranu vsechny space (pripadne jiny znak) ze stringu aniz bych ji musel uzavirat do loopu?

Diky,

Vlada

Jak mazat co nejrychleji a nejefektivneji space ze

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

On 25.5.2006 10:43 +0200 Vladimir Ponechal wrote:
> Neni nejaka funkce by default, ktera mi jednoduse odstranu vsechny space (pripadne jiny znak) ze stringu aniz bych ji musel uzavirat do loopu?

Predne bych to delal nad nejaky string builderem, aby to bylo rychlejsi, uz
samo o sobe.

A/Nebo se zkus take mrknout na StringReplace, ten by ti to mohl delat o neco
rychleji.

Ale myslim, ze nektere realokace toho stingu budou narocnejsi nez cela ta
smycka a proto string builder bude lepsi.

--
Jiri Cincura
http://www.cincura.net/

TIBDataSet, Append, Insert

[*] Ing. Antonin Spurny <spurny(zv)kavlounky(tec)cz> - 25.5.2006 10:57:15

Ahoj,

----- Original Message -----
From: "Lebeda David" <david.lebeda(zv)comarr(tec)cz>

> koukni se do unity db na realizaci funkci Append a Insert.
> Jsou si hodne podobne a nezda se mi, ze by se nekam ukladal
> nejaky rozlisovaci priznak. Myslim si proto, ze v prubehu
> vkladani nebudes umet rozlisit, zda jde o insert nebo
> append. Leda ze by te na zaklade zdrojaku uvedenych metod a
> pripadne po prostudovani zdrojaku k IBDatasetu neco
> napadlo...

Kouknul jsem se do zdrojaku a napadlo me udelat novou komponentu, ktera by
signalizovala co vlastne dela. Podobne jako to navrhl Aldik.

> K cemu to vlastne potrebujes? Nebude uzivatelsky divne,
> kdyz bude rozil mezi insertem a appendem?

Moje tabulka predstavuje radky protokolu, kde kazdy radek protokolu
zobrazuje nejaky parametr a jeho namerenou hodnotu pripadne meze a podobne.
Ale protokol musi byt univerzalni a uzivatel si muze pridavat jednotlive
radky protokolu. Pokud prida radek isertem v DBGrid, vola se funkce Inser v
Datasetu ale ale klic radku musi mit takove parametry aby po potvrzeni
zustal na tom miste kam ho uzivatel vlozil. Funkce Append se vola, kdyz na
poslednim radku DBGridu uzivatel zmackne sipku dolu. Zase se musi navrhnout
klic tak, aby radek po potvrzeni zustal posledni. A prave pro vypocet klice
potrebuji rozlisit ktera z techto operaci se provadi. (Isert pred aktualni
zaznam, append za aktualni zaznam.)

Protoze ve starych D2 jsem nemel zdrojaky, tak me ani nenapadlo do nich
koukat :-) takze tohle byl pro me asi nejcenejsi podnet.

Dik

Tonda

Jak mazat co nejrychleji a nejefektivneji space ze

[*] Radek KALA <kala(zv)betacontrol(tec)cz> - 25.5.2006 10:55:15

StringReplace(Mystring, ' ', '', [rfReplaceALL]);

Vladimir Ponechal napsal(a):
> Ahoj panove,
>
> mozna stupidni a primitivni otazka, ale zeptam se.
>
> Kdyz mam nejaky string a chci z nej dostat praznde mista (space) postupouji asi takhle:
>
> delete (MyString, pos(' ',MyString), 1);
>
> Tato moje funce ma par drobnych nedostatku.
> 1.) Smaze vzdy jenom jeden space
> 2.) pokud mam vic space, musim ho dat do smycky.
>
> Neni nejaka funkce by default, ktera mi jednoduse odstranu vsechny space (pripadne jiny znak) ze stringu aniz bych ji musel uzavirat do loopu?
>
> Diky,
>
> Vlada
>
>

Jak mazat co nejrychleji a nejefektivneji space ze

[*] Skalsky Milan <skalsky(zv)komercpoj(tec)cz> - 25.5.2006 11:05:16

at uz zavolas jakoukoli funkci, jeji podstata bude v konecnem dusledku stejna ... cyklem to projizdet znak po znaku. IMHO to snad ani jinak realizovat nejde ...

Zkus pouzit fci StringReplace s flagem rfReplaceAll
Delphi syntax: function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;

... tedy v tvem pripade myString := StringReplace(myString, ' ', '', rfReplaceAll);

jeji podstata je ale zase jen cyklem prochazet cely string znak po znaku ....

Milan
D7 Arch., WinXP



-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Vladimir Ponechal
Sent: Thursday, May 25, 2006 10:43 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Jak mazat co nejrychleji a nejefektivneji space ze stringu


Ahoj panove,

mozna stupidni a primitivni otazka, ale zeptam se.

Kdyz mam nejaky string a chci z nej dostat praznde mista (space) postupouji asi takhle:

delete (MyString, pos(' ',MyString), 1);

Tato moje funce ma par drobnych nedostatku.
1.) Smaze vzdy jenom jeden space
2.) pokud mam vic space, musim ho dat do smycky.

Neni nejaka funkce by default, ktera mi jednoduse odstranu vsechny space (pripadne jiny znak) ze stringu aniz bych ji musel uzavirat do loopu?

Diky,

Vlada


TIBDataSet, Append, Insert

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 25.5.2006 12:23:21

> Kouknul jsem se do zdrojaku a napadlo me udelat novou
> komponentu, ktera by signalizovala co vlastne dela. Podobne
> jako to navrhl Aldik.

Ale pozor - Insert a Append nejsou bohuzel virtualni
metody, aspon v mych D5 ne, takze je nepujde jen tak
bezpecne prepsat v potomkovi. Kdyz to udelas, tak se to
prelozi, ale bude zalezet, jakeho typu je instance, jiz
metodu volas. Pujde-li o promennou typu TMujDatasaet,
zavola se tvoje rutina, ale bude-li to TDataset, coz se da
u gridu cekat, zavola se puvodni metoda.

Daleko lepsi by bylo, kdybys nasel vhodnou virtualni
metodu, volanou pri insertu nebo appendu, kterou bys mohl
prepsat. Ja jsem na letmy pohled zadnou takovou nevidel,
ale treba by se nejaka precejen nasla.

David Lebeda

Jak mazat co nejrychleji a nejefektivneji space ze

[*] Jonas Marian <jonas(zv)komercpoj(tec)cz> - 25.5.2006 12:29:22

Pokud jde POUZE o vyhozeni mezer, neni StringReplace prilis efektivni, staci se podivat do zdrojaku SysUtils. Nejrychlejsi bude asi tato funkce:

function RemoveSpace(const Value: string): string;
var
i, j, x: integer;
z: char;
begin
result := Value;
j := Length(Value);
x := 0;
for i := 1 to j do
begin
z := Value[i];
if z <> #32 then
begin
Inc(x);
result[x] := z;
end;
end;
SetLength(result, x);
end;

>-----Original Message-----
>From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Skalsky Milan
>Sent: Thursday, May 25, 2006 11:05 AM
>To: delphi-l(zv)clexpert(tec)cz
>Subject: Re: Jak mazat co nejrychleji a nejefektivneji space ze stringu
>
>
>at uz zavolas jakoukoli funkci, jeji podstata bude v konecnem dusledku stejna ... cyklem to projizdet znak po znaku. IMHO to snad ani jinak realizovat nejde ...
>
>Zkus pouzit fci StringReplace s flagem rfReplaceAll
>Delphi syntax: function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
>
> ... tedy v tvem pripade myString := StringReplace(myString, ' ', '', rfReplaceAll);
>
>jeji podstata je ale zase jen cyklem prochazet cely string znak po znaku ....
>
>Milan
>D7 Arch., WinXP

Data z konference za duben

[*] Jan Plisek <plisek(zv)spse(tec)cz> - 25.5.2006 14:25:30

Je jiz temer konec kvetna a tak se chci zeptat, kdy budou na serveru
ftp://delphi:archivar(zv)delphi(tec)cz/Other/KonfViewData/
k dispozici data za duben.

Dekuji
J.Plisek

username

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 25.5.2006 14:53:32

Ahoj,
uz to tady myslim bylo, ale nevi nekdo honem jak se zjisti username prihlaseneho uzivatele do Windows a do TS?
Dalibor.

username

[*] Lukas Barton <lukas(zv)cnawr(tec)cz> - 25.5.2006 15:27:34

Dalibor Faltynek napsal(a):
> Ahoj,
> uz to tady myslim bylo, ale nevi nekdo honem jak se zjisti username prihlaseneho uzivatele do Windows a do TS?
> Dalibor.
>
>
Pouzivame postup z navodu uvedeneho na
http://javaalmanac.com/egs/javax.security.auth.login/GetLogin.html
Neco podobneho delame i v Eclipse RCP aplikaci. Tu stavime na
EclipseJAAS (http://www.integility.com/eclipse_jaas) a zbytek je potom
podobny.

TIBDataSet, Append, Insert

[*] Ing. Antonin Spurny <spurny(zv)kavlounky(tec)cz> - 25.5.2006 15:47:36

Ahoj,

nakonec jsem to vyresil pomoci funkce datasetu RecNo.
Pri Insert je RecNo shodne pred i po provedeni insertu. Pri Append je po
provedeni vzdy 0.
Takze mi zbyva osetrit jen pripad kdy je tabulka prazdna, coz je stejne
specialni pripad.

dik za pomoc,
Tonda

----- Original Message -----
From: "Lebeda David" <david.lebeda(zv)comarr(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, May 25, 2006 12:23 PM
Subject: Re: TIBDataSet, Append, Insert


>> Kouknul jsem se do zdrojaku a napadlo me udelat novou
>> komponentu, ktera by signalizovala co vlastne dela. Podobne
>> jako to navrhl Aldik.
>
> Ale pozor - Insert a Append nejsou bohuzel virtualni
> metody, aspon v mych D5 ne, takze je nepujde jen tak
> bezpecne prepsat v potomkovi. Kdyz to udelas, tak se to
> prelozi, ale bude zalezet, jakeho typu je instance, jiz
> metodu volas. Pujde-li o promennou typu TMujDatasaet,
> zavola se tvoje rutina, ale bude-li to TDataset, coz se da
> u gridu cekat, zavola se puvodni metoda.
>
> Daleko lepsi by bylo, kdybys nasel vhodnou virtualni
> metodu, volanou pri insertu nebo appendu, kterou bys mohl
> prepsat. Ja jsem na letmy pohled zadnou takovou nevidel,
> ale treba by se nejaka precejen nasla.
>
> David Lebeda


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