Archív konference Delphi

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

Saznam LPT

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 24.9.2002 21:15:18

From: "Tom� Janta�" <tomasnusle(zv)volny(tec)cz>
> Samozrejme potrebuji vsechny dostupne LPT v PC na kterem bezi ma
> aplikace....

Potom pomoci API funkce EnumPorts. Tisk neprovadi primo aplikace ale printer
spooler.

Petr Vones

StringGrid

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 24.9.2002 21:28:47

From: "PetoSoft" <Petosoft(zv)centrum.sk>
> Zdravim. Chcel by som sa spytat ako nastavit focus na urcitej bunke v
> StringGrid-e

procedure TForm1.Button1Click(Sender: TObject);
begin
StringGrid1.Row := 3;
StringGrid1.Col := 3;
end;

> a ako nastavit farbu pozadia a textu a ci sa da aj pismo nastavit aho hrube,
> kurziva.

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with (Sender as TStringGrid) do
if State = [] then
begin
Canvas.Brush.Color := clYellow;
Canvas.FillRect(Rect);
Canvas.Font := Font;
Canvas.Font.Style := [fsBold];
Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, Cells[ACol, ARow]);
end;
end;

Petr Vones

Neprerusena ciselna rada pro doklady v FB/IB

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 24.9.2002 21:31:40

24.9.2002 Pavel Cisar:
> Haj hou!

> On 24 Sep 2002 at 8:27, ing. Jan Fiala wrote:

>> 24.9.2002 Pavel Cisar:
>>
>> > Docela hruza z pohledu prace vice uzivatelu. Propustnost bude nula nula
>> > nic.
>>
>> Z jakeho duvodu ?
>> Samozrejme predpokladam, ze nemam otevrenou transakci po celou dobu
>> porizovani dokladu (jak to mnozi delaji), ale predpokladam zpusob
>> prace, kdy je transakce zahajena az kdyz uzivatel potvrdi ulozeni
>> dokladu. A zapsani dokladu trva relativne chvilku.
>> Jake vidis problemy s propustnosti ?

> Aktualizace tehoz radku tabulky (uchovava posledni cislo pro tabulku) z
> mnoha transakci. Budou se navzajem blokovat. Nemluve o mnozeni verzi
> tohoto radku. Zkus insertovat 10000 dokladu davkove z programu a jen tyto
> verze te u IB udusi, protoze sweep thread ma mensi prioritu a nedostane
> se k lizu.

Ja jsem psal o MSSQL, ten si verze nemnozi. Mozna mi unikl zacatek,
kdy se to rozvinulo nad IB.

Kolik uzivatelu ti ve stejnem okamziku klikne na zapsani dokladu ?
Blokovani je jen v tomto okamziku. A to se urcite netyka 10000 dokladu
denne. Stejny druh dokladu dela max. par lidi.
A pokud uvazujes o 10000 dokladech, co rikas na nazory, kdy by se s
takovym systemem pracovalo v DB editech, gridech apod., jak popisovali
reseni ostatni.

--
ing. Jan Fiala
mailto:jan.fiala(zv)iol(tec)cz

StringGrid

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 24.9.2002 21:33:36

Klikni na StringGrid, v objekt inspektoru klikni na OnDrawCell a
stiskni F1. Mas to tam i s prikladem.

--
ing. Jan Fiala
mailto:jan.fiala(zv)iol(tec)cz

24.9.2002 PetoSoft:
> Zdravim. Chcel by som sa spytat ako nastavit focus na urcitej bunke v StringGrid-e a ako nastavit farbu pozadia a textu a ci sa da aj pismo nastavit aho hrube, kurziva.
> Ale vsetko len v jednej-mnou urcenej bunke
> Diky.

thready

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 24.9.2002 21:38:05

From: <kevin33(zv)post(tec)cz>
> potreboval bych aby vlakno bezelo opravdu nezavisle na tom co se
> deje ve zbytku aplikace

Pak je nutne aby se neprovadely zadne synchronizace s hlavnim threadem
aplikace (napriklad TThread.Synchronize) a veskera komunikace byla realizovana
v tom threadu (ci vice threadech). Dale je vhodne nastavit u toho threadu
vyssi prioritu aby mu scheduler venoval vice pozornosti. Ani to vsak nezaruci
ze nedojde k nejake nahodne prodleve - Windows nejsou realtime OS. V praxi se
da takto dosahnout pomerne spolehlive reakce do desitek ms. Je-li treba kratsi
doba reakce je vhodne to realizovat pomoci nejakeho hardware zhotoveneho na
zakazku a ten pak ovladat z Windows.

Pouzivani Application.ProcessMessages je jinak samozrejme blbost, ale to uz tu
bylo receno.

Petr Vones

Neprerusena ciselna rada pro doklady v FB/IB

[*] Ludek Paral <ludek.paral(zv)quick(tec)cz> - 24.9.2002 22:24:11

[P��loha v souboru: winmail.dat]
Ja to delam zvlastni promennou, kterou mam ulozenou.

Pak mam na query udelany event BeforeInsert, kde
1. zjistim Prvni cislo dle nastaveni
2. Zjistim, zda existuje ucet PrvniCislo-1
Ano - vse OK
Ne - upozorneni uzivatele o prerusene ciselne rade (at se sdam rozhodne,
co s tim)

Pokud existuje vice uzivatelu, kteri by soucasne vytvareli ucty, tak by
mozna bylo nejlepsi urcovat prvni cislo az pred tiskem (tj. po teto akci
jiz nelze ucet smazat, pouze oznacit doklad jako stornovany)

Ludek Paral

Spojeni ruznych trid (komponent)

[*] <prichy(zv)volny(tec)cz> - 24.9.2002 23:15:41

Zdravim ve spolek.

Napsal jsem potomka TCustomControl a v n�m si vytvo�il ScrollBar (jako Self). Vlastnost Parent jsem nastavil tez na Self.
Umim pristupovat k vlastnostem a asi bych umel i zverejnit udalosti Scrollbaru, ale
mam dva problemy
1) potreboval bych reagovat na udalosti jen vne jednotky
2) proc se pri kliknuti na sipky neposouva posuvnik u takto mnou dynamicky vytvoreneho Scrollbaru?

Prosim o trochu polopatictejsi vysvetleni, pokud je to mozne. Diky


Prichy (W98Se, D6) Amater

Neprerusena ciselna rada pro doklady v FB/IB

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 24.9.2002 23:46:22

From: "Pavel Cisar" <pcisar(zv)users.sourceforge.net>

> > > Nastavi se uroven transakce treba na
> > > set transaction level serializable
> > > To staci udelat na chvilku, nez nactes cislo a inkrementujes je.
> >
> > Aha, ale pokud mne pamet neklame, tak jsem si teto moznosti u SQL
serveru
> > nevsiml (ale nepotreboval jsem,tak nevim). Da se predpokladat, ze
podobnou
> > vlastnost na urovni transakce ma vetsina SQL server u PC platforme?> Zpatky do skoly :-))) Izolacni urovne jsou uhelnym kamenem vsech C/S SQL

Ne ze by se clovek nemusel cely zivot ucit, ale obavam se ,
ze Tvoje odpoved je poneku mimo misu ;-)

Nebo si ji mam vylozit tak, ze existuje u IB/FB, DB/2 ci dalsich SQL stroju
transaction isolation level serializable a tudiz moznost zamknout SQL stroj?

Ja jsem spis nabyl dojmu, ze tato uroven neni nijak obvykla, spise bych
rekl, ze je specificicka pro M$ SQL - to bych si chtel mj. ujasnit.

Dale me zajima, jak se da zajistit neprerusitelnost vykonani operaci
GET&INC, pokud si budes generovat hodnotu sam na urovni SQL prikazu a nemas
isolation level "serializable" (ci nejakou rovnocennou) resp. zda existuji
nejake standardni "high-level" postupy, jak takovou vec implementovat
prostrednictvim SQL prikazu.


Bye, pf

ADO na Intraweb

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.9.2002 03:27:04

From: "Ing. Keder Vladimir" <vkeder(zv)iol.sk>
> Skusam robit v Delphi 7 trial taku pokusnu webovu aplikaciu. Pouzil som
> komponenty z palety IntraWeb. Mam databazu v MS access a chcel by som ju
> otvorit. Pouzil som ADO komponenty. Ked umiestnim na formular komponentu
> ADOConnection pripravim si spojenie, otestujem, dam Connected=True vsetko je
> v poriadku. Pouzil som Microsoft Jet 4.0 OLE DB Provider. Ked spustim
> aplikaciu program sa zastavi s hlaskou CoInitialize has not been called. V

http://www.atozedsoftware.com/intraweb/FAQ/index.html

I am trying to use ADO or some other COM component and I get an error about
CoInitialize must be called?

Set InitializeCOM to True in your application's server controller

Petr Vones

IB versus MSSQL

[*] Otisk Rene <otisk(zv)misel(tec)cz> - 25.9.2002 04:01:25

I-bejska ma mensi systemove naroky nez MS SQL...

Sroub

Ahoj,

> hlas(zv)inmail.sk 23.9.02 22:38 >>>
>je mssql lepsi ako IB?

zcela urcite... :-)

>je mssql ozaj free?

neni......
na instalacnim CDcku MS Office je MSDE XP (MSSQL 2000), 2000 (MSSQL 7),
coz je orezana verze MSSQL
maximalne 5 uzivatelu, max 2GB databaze
rekl bych, ze jakmile mas oficialne zakoupeny MS Office muzes pouzivat MSDE

>ako sa da pristupovat k mssql? iba cez dbx?

pomoci ADO, OLE DB, ODBC

>su aj nativne komponenty?

ADO

Obousmerne odkazy na Interfaces a ref counting

[*] Jan K��ek - 25.9.2002 06:37:17

> >To funguje, ale lze nejak udelat prirazeni FParent :=
> AParent, tak aby
> >se nezvysil RefCount (tedy nezavolalo se _Add).
>
> skus po priradeni zavolat _Release a pocitadlo dekrementovat
> (len pozor na to, aby objekt potom nebol uvolneny skor ako treba).
> Samozrejme idealnym riesenim by bola automaticka sprava pameti,
> t.j. GC, kde sa o to vobec nemusis starat ale to v COM a Delphi
> nie je mozne pouzit (az v Delphi.NET).
>
> Erik
>

Tak to taky delam, jak jsem psal. Ptal jsem se, jestli neexistuje
moznost priradit interface do promenne bez implicitniho zavolani _Add.

Vubec nechapu co na tom resi GC? Jak pozna, ze na rodice uz odkazuji
pouze jeho deti a tedy se muze cela struktura zrusit?

Honza +

StringGrid

[*] Rumcajs - konference <konrum(zv)seznam(tec)cz> - 25.9.2002 06:59:34

Zkus komponentu AdvStringGrid - ta toho umi jeste vic. Najdes ji na
http://sodev.webzdarma(tec)cz/
Rumcajs

Zdravim. Chcel by som sa spytat ako nastavit focus na urcitej bunke v
StringGrid-e a ako nastavit farbu pozadia a textu a ci sa da aj pismo
nastavit aho hrube, kurziva.
Ale vsetko len v jednej-mnou urcenej bunke
Diky.


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

IBExpert

[*] Kalus Jozef Ing. <jozef.kalus(zv)spordat.sk> - 25.9.2002 07:57:22

nazdar,

uz som tu na konfere viackrat videl pisane nieco o IBExpert-e, to som ale
netusil ze je to plateny soft, existuje nieco podobne ale free alebo daka
IEExpert Free verzia ?

dik

joka

ClientDataSource

[*] Milan Tome� <milan.tomes(zv)haida(tec)cz> - 25.9.2002 08:01:23

Coz je IMHO (s vyhledem do budoucna) daleko lepsi. Nejhorsi je udelat si
nejaky framework, ktery toto vsechno umi. Ja jsem si zakladni FW napsal
(vcetne jedne komponenty - editacniho pole) a ma to nekolik tisic radku
zdrojaku... Jeste mi chybi spousta komponent (combo box, grid atp...), ale
pouzitelne to je a nemam s tim nejake vyraznejsi problemy.

S pozdravem

Milan Tomes
mailto:milan.tomes(zv)haida(tec)cz

> Anebo, jak by asi poradil Zbysek :-), data umistit do vlastnich
> objektu a na DBControls zapomenout.
> Pak mam vsechno uplne pod vlastni kontrolou. Je to ale pracnejsi.
>
> Honza

Neprerusena ciselna rada pro doklady v FB/IB

[*] Jon�s Marian <Jonas(zv)komercpoj(tec)cz> - 25.9.2002 08:03:31

> Nebo si ji mam vylozit tak, ze existuje u IB/FB, DB/2 ci
> dalsich SQL stroju
> transaction isolation level serializable a tudiz moznost
> zamknout SQL stroj?
>
> Ja jsem spis nabyl dojmu, ze tato uroven neni nijak obvykla,
> spise bych
> rekl, ze je specificicka pro M$ SQL - to bych si chtel mj. ujasnit.
>
> Dale me zajima, jak se da zajistit neprerusitelnost vykonani operaci
> GET&INC, pokud si budes generovat hodnotu sam na urovni SQL
> prikazu a nemas
> isolation level "serializable" (ci nejakou rovnocennou) resp.
> zda existuji
> nejake standardni "high-level" postupy, jak takovou vec implementovat
> prostrednictvim SQL prikazu.
>
> Bye, pf

SQL92 definuje tyto standartni urovne izolaci :
1. Read Uncommitted
2. Read Committed
3. Repeatable Read
4. Serializable

ale v pripade zminovane DB2 si IBM prejmenovala urovne na :
1. Uncommitted read (UR)
2. Cursor stability (CS)
3. Read Stability (RS)
4. Repeatable read (RR)
a v DB2 pro AS/400 pridala jeste No commit (NC)

Marian Jonas

CustomDocumentProperties

[*] Milan Tomes <milan.tomes(zv)haida(tec)cz> - 25.9.2002 08:17:29

var
DocProc: DocumentProperties;
i: integer;
begin
DocProp := WDoc.CustomDocumentProperties as DocumentProperties;
for i := 1 to DocProc.Count do //tady si nejsem jisty indexovanim toho
collection - mozna je to od 0
DocProc........
DocProc := nil;
end;

> var V,XX:Variant;
> begin
> ...
> V:=WDoc.CustomDocumentProperties;
> XX:=V.Item(1);
>
> tak to nechodi.
>
> Nevite nahodou nekdo, na co je procedure Invoke ? Mam dojem, ze
> to bude nejak souviset.

Invoke je metoda rozhrani IDispatch a souvisi s automation objekty (slouzi
pro vyvolavani jejich metod). Vice v dokumentaci pro COM

HTH

S pozdravem

Milan Tomes
mailto:milan.tomes(zv)haida(tec)cz

cyklus While a Application.ProcessMessages, Strin

[*] Petr Hlo�ek <petr h(zv)mrp(tec)cz> - 25.9.2002 08:32:13

Dobry den,

pisete ze pouziti Application.ProcessMessages v cyklu neni spravne.
mam cyklus napr:

while not Table1.eof do begin
....
.... { Neco s tabulkou delam}
Table1.Next;
Application.ProcessMessages
end;

Ted kdyz se prepnu na jinou ulohu a zpet, okno se nevykresli a zustane bile.
K prekresleni dojde az po ukonceni cyklu. Toto vse se deje bez radku
Application.ProcessMessages. S Application.ProcessMessages to chodi jak ma.
Jak to tedy jinak vyresit?

Omlouvam se, mozna je to hloupy dotaz, ale povazuju se za zacatecnika a chci
se neco naucit.


Nevite prosim nekdo o komponente, ktera by byla potomkem StringGridu a umela
slouceni bunek?


Dekuji.

Petr

Neprerusena ciselna rada pro doklady v FB/IB

[*] Pavel Cisar <pcisar(zv)users.sourceforge(tec)net> - 25.9.2002 08:36:37

Haj hou!

On 24 Sep 2002 at 23:46, Petr Fejfar wrote:

> Nebo si ji mam vylozit tak, ze existuje u IB/FB, DB/2 ci dalsich SQL stroju
> transaction isolation level serializable a tudiz moznost zamknout SQL stroj?

Ano, existuje. Nazyva se sice vetsinou u kazdeho systemu jinak, ale
existuje. U InterBase/Firebirdu se jmenuje SNAPSHOT TABLE STABULITY, ale
stejneho efektu by slo dosahnout i doplnujicim RESERVING u prosteho
SNAPSHOT.

> Ja jsem spis nabyl dojmu, ze tato uroven neni nijak obvykla, spise bych
> rekl, ze je specificicka pro M$ SQL - to bych si chtel mj. ujasnit.

Bohuzel, neni to specialita MS.

> Dale me zajima, jak se da zajistit neprerusitelnost vykonani operaci
> GET&INC, pokud si budes generovat hodnotu sam na urovni SQL prikazu a nemas
> isolation level "serializable" (ci nejakou rovnocennou) resp. zda existuji
> nejake standardni "high-level" postupy, jak takovou vec implementovat
> prostrednictvim SQL prikazu.

Od toho je prave ten serializable isolation level :-) Nedovedu si
predstavit (i kdyz mozna existuje) jak to resit jinak s concurrency
isolation levelem. Jedine snad s pomoci UDF mimo kontrolu serveru.

S pozdravem
Pavel Cisar
Mobil: 0724 281429
http://www.ibphoenix(tec)cz
Vse co potrebujete pro Firebird a InterBase

Re[2]: Neprerusena ciselna rada pro doklady v FB/I

[*] Roland Turcan <rolo(zv)sedas.sk> - 25.9.2002 08:49:01

My sme si tento problem riesili pomocou tabulkou ktora obsahuje:
Create CisRada(ID integer,Cislo integer,uzivatel varchar(30),pridelene
smallint);

1. zaisti si tabulku CisRada aby zaznam ktory si vytvoril nikto
nemohol update, delete
(myslim ze nieco v before update a delete ako if(old.uzivatel<>current_user)
then exception...
)
2. zisti najmensie nepridelene cislo
3. zapis do tabulky s vrat ho ako result value SP
3a. if HasError(step3) opakuj step2; (asi ti to cislo niekto vyfukol)


Nevyhoda: nie je mozne byt pripojeny ako jeden user_name pre celu
siet, tak ako to niektory robia.

--
Best regards, TRoland

IBExpert

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 25.9.2002 08:57:48

> uz som tu na konfere viackrat videl pisane nieco o IBExpert-e, to som
> ale netusil ze je to plateny soft, existuje nieco podobne ale free
> alebo daka IEExpert Free verzia ?

Existuje free Personal verze, ktera ma urcite fce potlaceny. Na
strankach www.ibexpert.com na strance purchase na konci je odkaz,
kde by mela byt ke stazeni:
http://www.hksoftware.net/download/

Zkus, a pokud to neni pravda, dej vedet.

David Lebeda

IB versus MSSQL

[*] Lstiburek Pavel <Lstiburek(zv)ceb(tec)cz> - 25.9.2002 09:04:15

Dost o tom pochybuji, MSSQL 7.0 bezi (a celkem svizne) i na W95 PIII/200.

Pavel

> Od: Otisk Rene [mailto:otisk(zv)misel(tec)cz]
> I-bejska ma mensi systemove naroky nez MS SQL...
>
> Sroub
>
> Ahoj,
>
> > hlas(zv)inmail.sk 23.9.02 22:38 >>>
> >je mssql lepsi ako IB?
>
> zcela urcite... :-)
>
> >je mssql ozaj free?
>
> neni......
> na instalacnim CDcku MS Office je MSDE XP (MSSQL 2000), 2000
> (MSSQL 7),
> coz je orezana verze MSSQL
> maximalne 5 uzivatelu, max 2GB databaze
> rekl bych, ze jakmile mas oficialne zakoupeny MS Office muzes
> pouzivat MSDE
>
> >ako sa da pristupovat k mssql? iba cez dbx?
>
> pomoci ADO, OLE DB, ODBC
>
> >su aj nativne komponenty?
>
> ADO
>

Jak nastavit barvu TBitBtn

[*] Sula Milos <milos.sula(zv)oku-su(tec)cz> - 25.9.2002 09:23:59

Nevite jak nastavim barvu pozadi TBitBtn ?

Milos

Neprerusena ciselna rada pro doklady v FB/IB

[*] Lstiburek Pavel <Lstiburek(zv)ceb(tec)cz> - 25.9.2002 09:25:28

Myslim si, ze "cislo dokladu" nepotrebuje, pouze je potreba dodrzet starou
poucku, ze PK nemaji byt vypovidajici identifikatory, ale jen
"identifikatory".

Tedy:
-----
1. "cislo dokladu" ucin samostatnym sloupcem v "dokladu" a pouhym jedinecnym
klicem (pouze pro jistotu).
2. Vazbu master-detail realizuj pres PK ktery budes generovat libovolnym
zpusobem (v IB je nejjednodusi generator).
3. Needituj primo nad tabulkami, ale nekam si to natlac a pak to zapis vse
najednou, pekne v transakci, vcetne zvyseni cisla dokladu o 1.

Tento postup je "lety" provereny, nebot prani, i co se formatu cisel dokladu
tyka, uzivatelu jsou preletava jak letni lasky.
Ono transakcovani pri prime editaci v SQL serveru vede nejcasteji do pekel
(zvlaste operaci insert si dabel pochvaluje).
Bohuzel to neresi oblibeny problem, doklad je "zrusen", pokud to neni
posledni a cislo se chytre generuje ve tvaru rokmesicporadovecislodokladu a
dalsi doklad prijde az v nasledujicim obdobi (, ale to je vesmes dano
idiocii metodickych predpisu a metodiku).

Pavel

> Od: Jan Sebel�k [mailto:honza(zv)haes(tec)cz]

> > > V zadnem pripade cisla neprideluj pri zacatku editace
> dokladu a kdyz,
> > > tak pouze informativne.
> > >
> > ako sa to da urobit - nepridelovat cislo pred zaciatkom
> editacie, ked pocas
> > editacie chcem udrzat vazbu
> > master detail a prim. kluc je zaroven kodom tejto vazby?
>
> Mas pravdu, prim. klic pri editaci potrebujes.
> Mimo jine to znamena, ze se musis vzdat pozadavku na
> kontinualni casovou radu id (treba kdyz uzivatel zmackne Cancel).
>
> (Viz moje uvaha v paralelni zprave.)

IB versus MSSQL

[*] Otisk Rene <otisk(zv)misel(tec)cz> - 25.9.2002 09:40:19

Mam stejny projekt na MSSQL a Ibejsce, tu Ibejsku rozjedu na P75 MHz. Tam
jsem si s MSSQL ani neskrtnul (rozumne minimum mi vychazi tak na 233Mhz a 64
MB)

Sroub


> Dost o tom pochybuji, MSSQL 7.0 bezi (a celkem svizne) i na W95 PIII/200.
>
> Pavel
>
> > Od: Otisk Rene [mailto:otisk(zv)misel(tec)cz]
> > I-bejska ma mensi systemove naroky nez MS SQL...
> >
> > Sroub
> >
> > Ahoj,
> >
> > > hlas(zv)inmail.sk 23.9.02 22:38 >>>
> > >je mssql lepsi ako IB?
> >
> > zcela urcite... :-)
> >
> > >je mssql ozaj free?
> >
> > neni......
> > na instalacnim CDcku MS Office je MSDE XP (MSSQL 2000), 2000
> > (MSSQL 7),
> > coz je orezana verze MSSQL
> > maximalne 5 uzivatelu, max 2GB databaze
> > rekl bych, ze jakmile mas oficialne zakoupeny MS Office muzes
> > pouzivat MSDE
> >
> > >ako sa da pristupovat k mssql? iba cez dbx?
> >
> > pomoci ADO, OLE DB, ODBC
> >
> > >su aj nativne komponenty?
> >
> > ADO
> >

komponenta pro zobrazeni casove osy ukolu

[*] Otisk Rene <otisk(zv)misel(tec)cz> - 25.9.2002 09:42:26

Ja to delam pres grid a vykresluji to rucne na Canvas. Zacatek byl sice
porod, ale mnohe veci se daji automatizovat pomoci procedur a funkci. Je
otazka jak rozsahle si to predstavujes...

Sroub

> Ahoj,
> nevite nekdo o nejake OCX komponente pro zobrazeni ukolu na casove ose?
> Dulezite je, aby slo dat ukoly ve tvaru (id,nazev,cas_od,cas_do,...) a
> existoval nejaky event OnClick, ktery se vola pri kliknuti na "prouzek
> ukolu" v ose.
>
> Dik a sorry za OT,
> odpoved prosim na muj email,
> Roman
> ==============================
> sw.maurice(zv)cbox(tec)cz
> http://kouzelne.misto(tec)cz

IB versus MSSQL

[*] Jaroslav Nadhera <nadhera(zv)csh(tec)cz> - 25.9.2002 09:43:19

> Nejsem odbornik na licence MS. Ale nekde jsem slysel cca toto: MSDE neni
> free a nikdy nebyl, ale muzes jej bezplatne sirit, pokud mas zakoupeno
> vyvojove prostredi MS (nevim ktere, ale slysel jsem, ze existuje nekolik
> variant). Nejsem si jist, ale myslim si, ze pritom neni dulezite, zda
> aplikace, se kterou to siris byla vyvinuta v tomto prostredi nebo ne.

Je to presne tak, pokud mas zakoupeno vyvojove prostredi, ktere obsahuje SQL
server, je u nej na CDcku i adresar MSDE, ktery je mozno pribalit k
aplikaci, ktera SQL server pouziva. Vlastni aplikace muze byt udelana treba
v Delphi, to uz je jedno.

> Jinak MS SQL povazuji za dobry stroj. Jestli jsou jine jeste lepsi, to
> nevim, mozne to je.

Jedine, co MSDE vytykam, je nekdy ponekud obtizna instalace (nekdy pomohla
az reinstalace Windows a asi na dvou pocitacich z nekolika set se MSDE
nepodarilo nainstalovat vubec - hotline MS taky nedokazal poradit) a nekdy
se to hada s jinymi programy. Takze nekdy bezny uzivatel neni schopen sam
instalaci provest.

Jaroslav Nadhera

CSH spol. s r.o.
Velflikova 10, 160 00 Praha 6
tel.: 224 3123 44-5
fax: 235 522 892
e-mail: nadhera(zv)csh(tec)cz WWW: http://www.csh(tec)cz
pobocka Ostrava:
Nedbalova 14, 701 00 Ostrava
tel: 596 635 687

Obousmerne odkazy na Interfaces a ref counting

[*] eNca <delphi(zv)enca(tec)cz> - 25.9.2002 09:57:54

Snad to dobre chapu:
Pokud plati, ze
- rodic zna pocet svych potomku
- kazdy potomek vzdy obsahuje prave jednu referenci na sveho rodice
Pak bych na to sel z druheho konce - prepsanim metody _Release na
rodicovi. Tam bych dopsal podminku, ze pokud refcount klesne na hodnotu,
ktera se rovna poctu potomku, tak bych vsechny potomky postupne uvolnil.
Po zruseni posledniho potomka by mela automaticky klesnout refcount
rodice na nulu a ten se tak uvolni automaticky sam.
Samozrejme je treba osetrit, ze behem uvolnovani potomku se mi bude
znovu vyvolavat _Release na rodicovi.
Nezkousel jsem to, snad v tom neni zadna logicka chyba.

eNca


Jan K��ek wrote:

>Tak to taky delam, jak jsem psal. Ptal jsem se, jestli neexistuje
>moznost priradit interface do promenne bez implicitniho zavolani _Add.
>
>Vubec nechapu co na tom resi GC? Jak pozna, ze na rodice uz odkazuji
>pouze jeho deti a tedy se muze cela struktura zrusit?
>
>
>

Obousmerne odkazy na Interfaces a ref counting

[*] Malecek Ondrej <ondrej.malecek(zv)radom-cz(tec)cz> - 25.9.2002 10:04:12

No, jde to, ikdyz to asi nelze doporucit, bo pri neopatrnem pouziti to vnasi
dost chaos:

pointer( FParent) := pointer( AParent);

O :-))
> -----Puvodni zprava-----
>
> To funguje, ale lze nejak udelat prirazeni FParent := AParent, tak aby
> se nezvysil RefCount (tedy nezavolalo se _Add).
>
> Honza +
> D5Prof


IB versus MSSQL

[*] Slavek Rydval <rk(zv)atrey.karlin.mff.cuni(tec)cz> - 25.9.2002 10:08:12


Ahoj,

ja bych se tomu prilis nedivil vzhledem k moznostem, ktere MS SQL umi
a IB po nich jen pokukuje.

Slavek

On 25 Sep 2002 at 9:40, Otisk Rene wrote:
> Mam stejny projekt na MSSQL a Ibejsce, tu Ibejsku rozjedu na P75 MHz.
> Tam jsem si s MSSQL ani neskrtnul (rozumne minimum mi vychazi tak na
> 233Mhz a 64 MB)
>
> Sroub

--------------------------------------------------------
http://atrey.karlin.mff.cuni(tec)cz/~rk
Pozor, nyni pouze http://195.113.18.111/~rk/index.shtml
--------------------------------------------------------
Udelejte to blbuvzdorne a zitra nekdo vymysli jeste vetsiho blba.

Diakritika v tabulkach

[*] peter hanzel <8hanzel(zv)nw.fmph.uniba.sk> - 25.9.2002 10:11:04

Dobry den,
mam DB v ktorej pouzivam paradox 7 tabulky. Ked ich vsak chcem
utriedit v SQL prikazom ORDER BY povazuje napr. pismeno L s hacikom
za 1/4 dosledkom coho slovo zaradi na koniec zoznamu. Skusal som
menit v Database Desktope vo vlastnostiach tabulky jazyk(kodovanie),
ale nenasiel som v ponukanych vhodne.

Vedel by mi prosim niekto poradit ci sa to da nejak jednoducho, alebo
si to budem musiet triedit vo vlastnej rezii.
DAKUJEM.


S pozdravom,
peter hanzel

mailto:dracik(zv)szm.sk

cyklus While a Application.ProcessMessages, Strin

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 25.9.2002 10:30:21

> Odes�latel: Petr Hlo�ek <petr_h(zv)mrp(tec)cz>
> pisete ze pouziti Application.ProcessMessages v cyklu neni spravne.
Myslim, ze to tak nebylo mysleno.
Application.ProcessMessages je OK.
Pokud jsem si vsiml, tak to bylo kritizovano pouze v souvislosti s technikami pro koordinaci threadu.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

ClientDataSource

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 25.9.2002 10:33:02

----- Original Message -----
From: "Milan Tome�" <milan.tomes(zv)haida(tec)cz>
> Coz je IMHO (s vyhledem do budoucna) daleko lepsi. Nejhorsi je udelat si
> nejaky framework, ktery toto vsechno umi. Ja jsem si zakladni FW napsal
> (vcetne jedne komponenty - editacniho pole) a ma to nekolik tisic radku
> zdrojaku... Jeste mi chybi spousta komponent (combo box, grid atp...), ale
> pouzitelne to je a nemam s tim nejake vyraznejsi problemy.

A nebo implementovat TDataSet potomka, ktery s temi datovymi objekty
(business objekty) umi pracovat jakoby to byly zaznamy v tabulkach.
Pak lze vyuzit vsechen komfort data controls a take programovani GUI je
jednodussi -- programatori pracuji s tim co znaji TDataSource, TDBcokoliv
atd. Mame tak udelany framework a funguje to OK.

Martin Schayna

SelectDirectory - umiestnenie

[*] Kalus Jozef Ing. <jozef.kalus(zv)spordat.sk> - 25.9.2002 10:34:45

zdravim,

ked pouzijem na vyber adresara nieco taketo:

SelectDirectory('Vyber cestu:', '', StrDir);

tak mi to mrskne to male okienko kdesi vpravo dole, ale ja by som ho chcel
vycentrovane alebo mu chcel povedat kde ma byt umiestnene a to som akosi
nikde nenasiel, help je velmi strucny

dik za kazde info pripadne nakopnutie :o)

joka

Debug pro runtime balicky v Delphi6

[*] Petr P�a <drinjones(zv)seznam(tec)cz> - 25.9.2002 10:37:05

Ahoj,

mam takovy problem: Vytvoril jsem balicek v Delphi, ktery pouzivam
jako interface pro dalsi add-in balicky dynamicky za behu programu.
Jenze:

1) At se deje co se deje (zkousel jsem snad skoro vsecko co je
myslitelne) nemuzu tracovat kod v knihovnach balicku (teda ukazatel
skoci na begin prislusne metody a potom se hned vrati zpet do hlavni
knihovny. Co je zvlastni - pokud mam ukazatel na begin te metody,
muzu zajet do jejiho tela a tam dat trace into (F4). To funguje.
Nemuzu ale dat napriklad to teto funkce breakpoint.

2) Mam tam funkci ApplySkin(OnControl:TControl), ktera se podiva na
vsechny komponenty ktera dana controla obsahuje a zmeni jejich
vzhled. Problem je v tom, ze pri spusteni to zarve a oznami Access
violation. Dival jsem se a jakykoli pristup k OnControl v tele te
funkce se hlasi jako Access Violation. Jak je to mozne a hlavne co s
tim prosim!

Jo a kdyz zrusim v Delphi!Project!Project Options!Packages a tam
zrusim polozku Build with runtim packages, tak vsechno funguje, ale
pak to nemuzu zase pouzivat jako interface...

Poradte mi prosim!!

Diky moc, Petr


______________________________________________________________________
Reklama:
Seznam Prace - Hledate praci nebo menite zamestnani? http://prace.seznam(tec)cz

CustomDocumentProperties

[*] Tomas Folprecht <tomas(zv)apkfolprecht(tec)cz> - 25.9.2002 10:39:41

Neexistuje zadny typ DocumentProperties ani TDocumentProperties.

Musim se jeste moooc ucit.
Zkousejte to dal, treba me k reseni dokopete.
Kazdopadne dekuju za solidaritu

Tomas


> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Milan Tomes
> Sent: Wednesday, September 25, 2002 8:17 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: RE: CustomDocumentProperties
>
>
> var
> DocProc: DocumentProperties;
> i: integer;
> begin
> DocProp := WDoc.CustomDocumentProperties as DocumentProperties;
> for i := 1 to DocProc.Count do //tady si nejsem jisty indexovanim toho
> collection - mozna je to od 0
> DocProc........
> DocProc := nil;
> end;
>
> > var V,XX:Variant;
> > begin
> > ...
> > V:=WDoc.CustomDocumentProperties;
> > XX:=V.Item(1);
> >
> >
> > tak to nechodi.
> >
> > Nevite nahodou nekdo, na co je procedure Invoke ? Mam dojem, ze
> > to bude nejak souviset.
>
> Invoke je metoda rozhrani IDispatch a souvisi s automation objekty (slouzi
> pro vyvolavani jejich metod). Vice v dokumentaci pro COM
>
> HTH
>
> S pozdravem
>
> Milan Tomes
> mailto:milan.tomes(zv)haida(tec)cz
>
>
>

Memory manager BORLNDMM.DLL, padajici program pri

[*] Radek Ku�era <raku(zv)foresta(tec)cz> - 25.9.2002 10:41:19


> Co to napsat tak aby pouziti BORLNDMM.DLL nebylo vubec nutne.
>

Myslim si, ze pouziti BORLNDMM.DLL je nutne, nebot v predanych parametrech
do DLL je typ "packed record" se stringy.

Mirne doplnena procedura o dalsi kus zdroje, ktery jsem v minulem mailu pro
prehlednost vynechal:

type
// definice pro predavana data
TDLL = packed record
Database:TAdoDataBase;
Zkratka : String;
UO : String;
Regcis:Integer;
DT_Hlavni:String;
DT:String;
Poradi:Integer;
ModPrace:Char;
navrat:Integer;
end;
// funkce pro komunikaci mazi master a DLL
TRUN = function(AHandle:THandle;var DLL:TDLL):Boolean;stdcall;
TF_DLL = class(TForm)
ADODatabaseParadox: TADODatabase;
MasterDataBase: TADODatabase;
procedure FormCreate(Sender: TObject);
end;


procedure _SpustModul(...);
var
LIBHandle:THandle;
Run:TRun;
DataRun:TDLL;
HandleRun:THandle;
NazevDLL:string;
FceDLL :string;
Modul : String;
begin
FceDll :='RunDllDetail';
// naplneni predavanych parametru
application.createform(tF_DLL,F_DLL);
DataRun.Database := F_DataModule.ADODatabase;
DataRun.UO :=
Trim(F_DataModule.ADODS_Zadost.FieldByName('UO').AsString);
DataRun.RegCis :=
F_DataModule.ADODS_Zadost.FieldByName('RegCis').AsInteger;
DataRun.DT_hlavni :=
F_DataModule.ADODS_Zadost.FieldByName('DT_hlavni').AsString;
DataRun.Zkratka := Copy(F_UvodniFormular.G_Zkratka,1,10) {'JDB'};
DataRun.ModPrace := ModPrace;
// naplneni handlu z duvodu ukonveni master aplikace
HandleRun:=Application.Handle;
//Spusteni vybraneho modulu(dll souboru)
LibHandle:=0;
(zv)Run:=nil;
try
LibHandle:=Loadlibrary(PChar(NazevDLL));
(zv)Run:=GetProcAddress(LibHandle,PChar(FceDll));
if not ((zv)Run=nil) then
finally
if LibHandle <> 0 then
begin
FreeLibrary(LibHandle); //!!! A tady to pada na Win95 !!!
end;
end;
end;

Predem dekuji za rady,

Radek Kucera


COM

[*] Libor Filip <filip(zv)agrokonzulta(tec)cz> - 25.9.2002 10:42:46

Ahoj,
mam jednoduchou aplikaci, ktera vola COM objekt.
Vse funguje OK, ale pokud aplikaci prelozim s balicky,
tak pri ukonceni to zustane viset v pameti.
Nevite kde je problem?

Libor

import do tinyDB

[*] Hanusek, Jaroslav <Jaroslav.Hanusek(zv)nou.sk> - 25.9.2002 10:45:06

Neviete niekto o nejakom sposobe ako naimportovat do TinyDB tabulky
DBase alebo Paradox?
Jaro.

Memory manager BORLNDMM.DLL, padajici program pri

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 25.9.2002 10:53:47

> > Co to napsat tak aby pouziti BORLNDMM.DLL nebylo vubec nutne.
> >
>
> Myslim si, ze pouziti BORLNDMM.DLL je nutne, nebot v predanych
parametrech
> do DLL je typ "packed record" se stringy.

samozrejme je nutne podobne cunarny eliminovat - staci zajistit, ze v
predanych paremetrech (dynamicky alokovanych castech) nebudou
provadeny zmeny.

> Mirne doplnena procedura o dalsi kus zdroje, ktery jsem v minulem
mailu pro
> prehlednost vynechal:
>
> type
> // definice pro predavana data
> TDLL = packed record
> Database:TAdoDataBase;
> Zkratka : String;
> UO : String;
> Regcis:Integer;
> DT_Hlavni:String;
> DT:String;
> Poradi:Integer;
> ModPrace:Char;
> navrat:Integer;
> end;

urcite by AnsiStringa sla nahradit napriklad ShortStringy nebo PChar
buffery (array[0..x] of char). I v Databazi mas zrejme definovanou max
delku uvedenych retezcu - cili neni problem nahjradit AnsiString.
Pokud se AnsiStringu nechces/nemuzes vzdat pak je nutn zajistit, ze
pametove operace pro ne budou probihat vzdy bud v DLL nebo v aplikaci.
Napriklad ma-li DLL naplnit stringa, pak je musi aplikace pouzivat
jako readonly a po te co je uz nepotrebuje by se mela zavolat funkce z
DLL, ktera ansistringa dealokuje (xy.Zkratka := '')

D. Toman

IB versus MSSQL

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 25.9.2002 11:11:12

> Odes�latel: Blazek Jaroslav <Jaroslav.Blazek(zv)access-it(tec)cz>
viz nize

> > honza(zv)haes(tec)cz 24.9.02 12:37 >>>
> Pokud se nemylim, probiha to nasledovne:
> 1. before insert
> 2. integritni kontroly
> 3. after insert
> Podotykam, ze pokud after insert dojde k navaznym akcim na jinych tabulkach, ktere skonci chybou, tak se provede celkovy rollback celeho insertu (i kdyz uz jsem AFTER) vcetne vseho, co jsem udelal before insert. Tedy prave s vyjimkou generatoru.
>
> Abych se priznal, nedokazu pochopit, jak toto resil MSSQL, kdyz neznal before/after triggery a jak to resi ted.

[Honza]
Obavam se, ze nize uvedeny priklad vyse uvedeny problem problem neresi.
Navic, priznam se, ze nize uvedeny kod je pro me absolutne necitelny.

Nas kurz "Navrh a implementace SQL databaze" se odehrava nad FB/IB. Pritom si ale ukazeme alternativni skripty (triggery, ulozene procedury) pro Oracle a Sybase. Zjistime, ze to je vlastne totez, pouze trochu jina syntaxe, neni treba nic preprogramovavat, pouze prepsat trochu jinak. 40KB triggeru a ulozenych procedur jsem prepsal z IB a odladil na Oracle za jeden den.

Bohuzel, v MSSQL je to uplne jinak. Pokud bych chtel neco preprogramovat do MSSQL, musel bych to udelat uplne od zacatku znova. Tedy pokud bych to umel.

Jeste poznamka:
Snadne programovani, instalace a administrace je podle meho soudu jednou z nejvetsich vyhod IB/FB. Znam lidi, kteri berou velmi slusne penize za administraci IB v jednom velkem podniku. Jejich prace spociva v tom, ze tam jednou za rok prijdou, ometou pavuciny ze serveru, udelaji backup/restore a zase maji na rok klid.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================
> Odes�latel: Blazek Jaroslav <Jaroslav.Blazek(zv)access-it(tec)cz>
> na MSSQL to muze byt treba takto...neznam moc FB/IB, ale mozna neco pujde pouzit i tam
>
> CREATE TABLE Tabulka
> (
> IdTabulka INT PRIMARY KEY IDENTITY,
> Cislo INT NOT NULL UNIQUE,
> Info VARCHAR(50),
> Smazano BIT DEFAULT 0
> )
>
> INSERT INTO Tabulka (Cislo, Info)
> (
> SELECT CASE WHEN AktMinimum > 1 THEN 1 ELSE PoruseneMinimum END NoveCislo, 'text' FROM
> (SELECT ISNULL(MIN(Cislo),0) AS AktMinimum FROM Tabulka ) t1,
> (SELECT ISNULL(MIN(Cislo),0) + 1 AS PoruseneMinimum FROM Tabulka t
> WHERE NOT EXISTS (SELECT * FROM Tabulka WHERE Cislo = t.Cislo + 1)) t2
> )
>
> nebo neco podobneho jde pouzit i v triggeru
>
>
> S pozdravem
>
> Bc. Jaroslav Blazek
> Access-IT Ceska Lipa
> mailto:jaroslav.blazek(zv)access-it(tec)cz
> http://www.access-it(tec)cz
> ICQ# : 133673990
> +420605/813644

IB versus MSSQL / vykon

[*] Pavol Kakacka <kakacka(zv)proca(tec)cz> - 25.9.2002 11:45:28

Ahoj, mna by zaujimalo ci z vas niekto ma PRAKTICKE skusenosti co sa tyka
zrovnania vykonu MSSQL vs. IB/FB pri viac nez 100 (200+) pripojenych
uzivateloch? + specifikacia HW a OS.

Kakacka Pavol
KasiX(zv)atlas(tec)cz

> ja bych se tomu prilis nedivil vzhledem k moznostem, ktere MS SQL umi
> a IB po nich jen pokukuje.
>
> Slavek
>
> On 25 Sep 2002 at 9:40, Otisk Rene wrote:
> > Mam stejny projekt na MSSQL a Ibejsce, tu Ibejsku rozjedu na P75 MHz.
> > Tam jsem si s MSSQL ani neskrtnul (rozumne minimum mi vychazi tak na
> > 233Mhz a 64 MB)
> >
> > Sroub

TTable a DBase - runtime vytvorenie struktury

[*] Tony Suransky <Suransky(zv)kios.sk> - 25.9.2002 11:48:50

Zdravim,

potrebujem malu pomoc s vytvorenim struktury DBase suboru cez TTbale
componentu.

Problem je v tom ze po nastaveniparametrov do
TFieldDef( DataType = ftBCD; Size = 12; Precision = 2; )
- alebo akekolvek ine ciselne nastavenie

a ulozeni tabulky s TableType = ttDBase;

vsetky polia ine ako ftString dostanu struktutu
( DataType = Numeric; Size = 19; Precision = 4; )

Nemate niekto tusenie co treba nastavit?
V helpe to popisane nie je.

Dik za pomoc,

Tony

Zaloha FireBird,IB

[*] Valenta P <valentapat(zv)volny(tec)cz> - 25.9.2002 11:53:27

Zdravicko, mam dotaz:
Hodne se tu diskutovalo o zalohovani dat
Nestaci jako zaloha jen nekde zkopirovat samotn� soubor *.gbd ???

dekuji.

Valik
ICQ 54152896


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

Existence pole v tabulce (IB)

[*] PeJaSoft <pejasoft(zv)volny(tec)cz> - 25.9.2002 11:58:21

Zdravim,

da se nejak jednoduse zjistit, zda v dane tabulce existuje pole? Napadl me
zpusob pres SELECT z tabulky, tusim RDB$neco_fields, WHERE
(RDB$tustim_tablename = nazev tabulky) a (RDB$necojako_fieldname = nazev
pole).
Pokud bude vysledek.RecordCount > 0, tak tam existuje.

Existuje neco jednodussiho?

Jedna se o IB/FB a DBX.

Diky za radu.

Petr Jarkovsky

Existence pole v tabulce (IB)

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 25.9.2002 12:15:17

> da se nejak jednoduse zjistit, zda v dane tabulce existuje
> pole? Napadl me
> zpusob pres SELECT z tabulky, tusim RDB$neco_fields, WHERE
> (RDB$tustim_tablename = nazev tabulky) a
> (RDB$necojako_fieldname = nazev
> pole).
> Pokud bude vysledek.RecordCount > 0, tak tam existuje.

Ano, napriklad takto:

select rdb$field_name from rdb$relation_fields where (rdb$relation_name =
'MYTABLENAME') and (rdb$field_name = 'MYFIELDNAME')

HTH
TOndrej

Existence pole v tabulce (IB)

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 25.9.2002 12:15:39

----- Original Message -----
From: "PeJaSoft" <pejasoft(zv)volny(tec)cz>
> da se nejak jednoduse zjistit, zda v dane tabulce existuje pole? Napadl me
> zpusob pres SELECT z tabulky, tusim RDB$neco_fields, WHERE
> (RDB$tustim_tablename = nazev tabulky) a (RDB$necojako_fieldname = nazev
> pole).

To je jediny zpusob, pokud nejake komponenty pro pristup k IB/FB
poskytuji jednodussi zpusob, delaji to interne take takto.

Abys to nemusel opakovat, muzes si stahnout vsechny fieldy a
cachovat na klientovi.

select RDB$FIELD_NAME
from RDB$RELATION_FIELDS
where RDB$RELATION_NAME = :tabulka

Distribuce & kompilace vice balicku komponent naje

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 25.9.2002 12:16:23

RXLib ma upgrade od firmy Polaris. Upravy ale byly delany asi jen pro Delphi5.
Jaro B.

-----Original Message-----
From: Daniel Frantik [mailto:frantik(zv)telpro(tec)cz]
Sent: Wednesday, September 25, 2002 12:23 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: RE: Distribuce & kompilace vice balicku komponent najednou > apod. to neni optimalni. (i kdyz RX & upgrade ... ;-)

Distribuce & kompilace vice balicku komponent naje

[*] Daniel Frantik <frantik(zv)telpro(tec)cz> - 25.9.2002 11:23:22

> > mam nekolik sad komponent (hodne *.dpk), jejichz instalace
> zabere celkem cca
>
> Neni prece duvod aby kazda komponenta mela vlastni
> design-time balicek. Je
> mozne vytvorit jeden pro vsechny komponenty a pripadne i
> runtime balicek,
> pokud jej chces pouzivat.
Problem je, ze ne vsechny jsou moje/nase. Napr. RX a DevEx a ty maji svoje
dpk. Slo by prehazet jejich obsah do noveho dpk, ale vzhledem k upgrade
apod. to neni optimalni. (i kdyz RX & upgrade ... ;-)

> > 2) Snazil jsem se pouzit Package Colecion Editor, ale:
> > 2a) Dotahne se tam automaticky cela VCL a tvrdi to, ze
> tyto bpl nejdou
> > nainstalovat
> > 2b) Spadne to na index out of range ... (vzdycky)
>
> Bohuzel, PCE byl k tomuto ucelu vytvoren ale nikdo to asi
> nepouzival a jeho
> implementace je dost nedotazena.
Zjistil jsem, ze kdyz PCE nebezi tak to nespadne. Jen to tam porad chce
priregistrovat i VCL balicky a to se samozrejme nepodari. Staci ale odklepat
hromadu cervenych oken a je to skoro OK.

> Asi nejsnazsi je udelat jen jeden design-time balicek
> popripade vice balicku a
> ty dat do jedne project group. Podobny problem byl v JCL/JVCL
> kde je nekolik
> IDE expertu a jejich instalace (i pri pouziti te project
> group) byla pomerne
> nezazivna.
Dost nezazivne :-)

> Nakonec se to vyresilo 'instalatorem', ktery
Hmm, zajimavy napad.

Diky,
Danik


Self v DLL

[*] Ludo Fulop <kexo(zv)ynet.sk> - 25.9.2002 12:25:28

zdravim,
v DLL si dynamicky vytvaram komponenty, a ako owner mi nefunguje self...
tak som self nahradil Application, a do uses som pridal QForms. To vsak malo
za nasledok podstatne zvacsenie vysledneho dll suboru (o cca 350kb). Da sa
proti tomu nieco spravit?
Ludo Fulop

D6, winME

cyklus While a Application.ProcessMessages, Strin

[*] Peter Vlkovic <vlkovic(zv)minv.sk> - 25.9.2002 12:26:30

Ahoj,

pouzitie Application.ProcessMessages prinasa zo sebou pomerne
velku reziu s obsluhou sprav v ramci aplikacie, co sa moze
v niektorych sluckach s vysokym poctom iteracii prejavit
vyraznym spomalenim behu aplikacie v danej slucke.
Priebeh takychto sluciek vsak pomerne casto treba vyobrazit
aj vizualne prostrednictvom nejakeho pocitadla, alebo
progressbaru a pod. V casovo kratsich pasazach staci zavolat
metodu Update() prislusneho control prvku, ktorym zobrazujeme
priebeh. V pripade casovo narocnejsich sluciek je vhodne pocet
volani Application.ProcessMessages obmedzit, napriklad zavolat
tuto metodu len po urcitom pocte vykonanych iteracii.
V niektorych programoch som obsluhu sprav riesil pomocou
pomocneho pocitadla uplynuteho casu, ktory zistujem
funkciou GetTickCount nasledovne:

var
OldTicks, CurrentTicks: DWord;

// nasledovna konstanta udava, v akych casovych
// intervaloch sa vykonava ProcessMessages
// (konstanta je v nasobkoch milisekund)
const
HandlingMessagesDelay = 100;


pred spustenim slucky treba inicializovat OldTicks:

OldTicks := GetTickCount();

V slucke potom testujem uplynutie stanoveneho
poctu "TickCounts" nasledovne:

CurrentTicks := GetTickCount();
if OldTicks + HandlingMessagesDelay < CurrentTicks then
begin
Application.ProcessMessages();
OldTicks := CurrentTicks;
end;


Vlkovic
> pisete ze pouziti Application.ProcessMessages v cyklu neni spravne.
> mam cyklus napr:
>
> while not Table1.eof do begin
> ....
> .... { Neco s tabulkou delam}
> Table1.Next;
> Application.ProcessMessages
> end;

Interface v Delphi

[*] Marek Eichler <marek.eichler(zv)seznam(tec)cz> - 25.9.2002 12:27:27

Zdravim,
mel bych uvahu par dotazu k pouziti interface v Delphi a byl bych vdecny za
odpovedi a pripadne uvedeni na pravou miru:

Uvaha:
1. Pouziti interface neni vazano na pouziti technologie COM. Znamena to
tedy, ze pouzitim interface zarucuju objektu urcitou funkcnost

Otazky:
1. Kdyz pouzivam interface (bez COM) funguje pocitani referenci nebo ne ->
je treba se o to starat?

2. Objekt, ktery implementuje interface musi byt potomkem nejakeho
specialniho objektu, nebo je to naprosto jedno?

3. Pokud musi byt objekt implementujici interface potomkem urciteho objektu,
jak vyresit dedicnost?

S pozdravem Marek Eichler

JOIN vs WHERE

[*] Marek Eichler <marek.eichler(zv)seznam(tec)cz> - 25.9.2002 12:31:57

Zdravim,
chtel bych se zeptat, jaky je rozdil mezi JOIN a WHERE v SQL dotazech. Jde
mi o to, ze jsem doposud pouzival pouze WHERE a o JOIN toho moc nevim (resp.
vubec nic, krome toho ze existuje), ale nekde jsem zaslechl, ze JOIN je
vhodnejsi nez WHERE.
A dalsi vec, co bych potreboval je vysvetlit jak JOIN funguje nebo odkazy
kde se to doctu.

S pozdravem Marek Eichler

Obousmerne odkazy na Interfaces a ref counting

[*] Erik Salaj <winsoft(zv)stonline.sk> - 25.9.2002 12:33:25

>Tak to taky delam, jak jsem psal. Ptal jsem se, jestli neexistuje
>moznost priradit interface do promenne bez implicitniho zavolani _Add.

no mohlo by fungovat bez _Add, ked to pretypujes tak, aby to
nebol interface ale smernik

>Vubec nechapu co na tom resi GC? Jak pozna, ze na rodice uz odkazuji
>pouze jeho deti a tedy se muze cela struktura zrusit?

pozrie sa v pameti. ktore sa pouzivaju a ktore nie, povedzme najjednoduchsi
pripad: na heape ani na stacku ani v ziadnom registry nie je adresa objektu
=> objekt sa nepouziva a GC tuto pamet uvolni. Samozrejme v skutocnosti
sa pouzivaju domyselnejsie algoritmy, ktore to lepsie detekuju a su aj
daleko
rychlejsie. GC je podla mna nevyhnutna zalezitost pre OOP, pretoze bez GC
nie je mozne efektivne riesit spravu pamete pre zlozitejsie vezby medzi
objektami. GC riesi aj ine dolezite problemy, na druhej strane nejake
problemy aj prinasa, napr. nevies dopredu, kedy sa objekt uvolni,
uvolnovanie pameti zvykne na nejaky urcity cas "zastavit" cinnost aplikacie
(zalezi od algoritmu). Zaujimave je, ze GC moze byt v mnohych
pripadoch daleko vykonnejsie aj pametovo menej narocnejsie ako
klasicke rucne alokovanie/uvolnovanie pameti heapu.

Erik

Interface v Delphi

[*] Radim Kunz <privat(zv)casestudio(tec)com> - 25.9.2002 12:37:49


----- Original Message -----
From: "Marek Eichler" <marek.eichler(zv)seznam(tec)cz>
To: "Konference Delphi" <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, September 25, 2002 12:27 PM
Subject: Interface v Delphi


> Zdravim,
> mel bych uvahu par dotazu k pouziti interface v Delphi a byl bych vdecny
za
> odpovedi a pripadne uvedeni na pravou miru:
>
> Uvaha:
> 1. Pouziti interface neni vazano na pouziti technologie COM. Znamena to
> tedy, ze pouzitim interface zarucuju objektu urcitou funkcnost
>
> Otazky:
> 1. Kdyz pouzivam interface (bez COM) funguje pocitani referenci nebo ne ->
> je treba se o to starat?

Pocitani funguje vzdycky. Bohuzel.

>
> 2. Objekt, ktery implementuje interface musi byt potomkem nejakeho
> specialniho objektu, nebo je to naprosto jedno?

Muze byt potomkem TInterfacedObject, nebo nejakeho vlastniho, kde
jsou implementovany metody AddRef, Release a QueryInterface. Staci
se podivat na zdrojaky TInterfacedObject, neni to nic tezkeho.

>
> 3. Pokud musi byt objekt implementujici interface potomkem urciteho
objektu,
> jak vyresit dedicnost?
>
> S pozdravem Marek Eichler
>

Radim

Interface v Delphi

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 25.9.2002 12:37:02

> Uvaha:
> 1. Pouziti interface neni vazano na pouziti technologie COM.

Spravne.

> Otazky:
> 1. Kdyz pouzivam interface (bez COM) funguje pocitani
> referenci nebo ne -> je treba se o to starat?

Treba sa o to bud postarat, alebo to mozes zdedit od TInterfacedObject,
ktory sa o to stara.

> 2. Objekt, ktery implementuje interface musi byt potomkem nejakeho
> specialniho objektu, nebo je to naprosto jedno?

Musi byt akurat potomkom TObject, ako kazdy iny objekt.

HTH
TOndrej

Self v DLL

[*] Radim Kunz <privat(zv)casestudio(tec)com> - 25.9.2002 13:10:55


----- Original Message -----
From: "Ludo Fulop" <kexo(zv)ynet.sk>
To: "Delphi Konfera" <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, September 25, 2002 12:25 PM
Subject: Self v DLL


> zdravim,
> v DLL si dynamicky vytvaram komponenty, a ako owner mi nefunguje self...
> tak som self nahradil Application, a do uses som pridal QForms. To vsak
malo
> za nasledok podstatne zvacsenie vysledneho dll suboru (o cca 350kb). Da sa
> proti tomu nieco spravit?
> Ludo Fulop
>
> D6, winME
>

Jako ownera pro dynamicky vytvarene komponenty muzes dat NIL. Pak si
ale komponenty musis uvolnovat sam.

Radim

Jak vytvorit novy TEdit na pozici kurzoru?

[*] JiriKrakora(zv)skh(tec)cz - 25.9.2002 13:12:34

This is a multipart message in MIME format.
Dobry den,

Mam Form1 a na nem onMouseDown event s nasledujicim kodem:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Edit: TEdit;
begin
Edit := TEdit.Create(self);
try
Edit.Visible := True;
Edit.Color := clRed;
Edit.Enabled := True;
Edit.Name := 'TEST';
Edit.BorderStyle := bsSingle;
Edit.Width := 20;
Edit.Height := 5;
Edit.Left := x;
Edit.Top := y;
Edit.Show;
showmessage('Jsem uvnitr a vytvarim Edit');
finally

end;
end;


Predpokladal jsem, ze to bude fungovat, ale nefunguje. Muj TEdit to sice
vytvori (to poznam podle jmena), ale ja ho nevidim. Kdyz jsem pouzil
Edit.Showing tak mi to vratilo False. Zkousel jsem i Edit.BringToFront ,
nebo Edit.ClientToScreen , ale porad se mi ta komponenta nezobrazuje.
Nefunguje to ani kdyz nepouziji try...finally prikaz. Uz nad tim sedim
druhy den a porad nemuzu prijit na pricinu.

Zkouseli jsme to s kolegou v praci na WIN2000 a Delphi 6 i Delphi 7.
Prosim o radu.

Dekuji, Jiri Krakora.

IDispatch

[*] Tomas Folprecht <tomas(zv)apkfolprecht(tec)cz> - 25.9.2002 13:28:48

Dobry den,

nemohl by mi nekdo poslat priklad zdrojaku, ze ktereho bude i mne zrejme, jak se vola metoda GetIDsOfNames a jak jeji
vysledky pouzit v metode Invoke.
Jak ziskam vsechny parametry, ktere tyto metody pozaduji?

Diky

Tomas Folprecht

Zobrazeni framu z DLL v hlavni aplikaci

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 25.9.2002 13:29:56

> ale porovnani "Form is TCustomForm" probehne
> samozrejme vzdy na False, protoze ta funkce se vola
> v DLL a formular je vytvoreny v EXE.

Presne tak, TCustomForm v DLL <> TCustomForm v EXE.
Skus EXE aj DLL prebuildovat s runtime packages.
Pripadne prepis tu DLL na runtime package.

HTH
TOndrej

Neprerusena ciselna rada pro doklady v FB/IB

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 25.9.2002 13:30:21


Pavka Cisar radi a Alda nechape:
>Neprerusovanou radu lze realizovat i vlastnim sdilenym TCP/IP serverem s
>jednoduchou implementaci dvoufazoveho potvrzovaciho protokolu.


Aldik vrasti celo a bije se v prsa:-))

Nuze po tvem Pavko HAJ HOU:-)))
Nuzes mi to rici trochu vice jako pro blba,ke kteremu kdyz sleduji tvoji
odpoved dusevne priklanim:-)) Vubec nechapu o cem mluvis:-)
Nemel bys ukazku....
Asi tusim co myslis....ale detail mi unika diky malym znalostem teto
problematiky (tcp/ip server jsem si jeste veru nedelal...)...
Muzes si ty nebo jiny databazovy vymytac vyjadrit podrobneji ci prihodit
nejake link?

Bye Bye

Ales Frantisek Pavel
(Info pro neznalce: 2 jmena mivaji SVATIII,Papez - no a ja mam 3 dokonce
uredne dolozitelne:-))) )
D6 Ent WXP
laik v profesionalnim kolotoci

Neprerusena ciselna rada pro doklady v FB/IB

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 25.9.2002 13:30:19

Parada to je to potrebuji.......diky moc....

Nejlepsi mas kdyz udelas generator:

CREATE GENERATOR GEN_Muj;
SET GENERATOR GEN_Muj TO 161

a das do trigeru:

CREATE TRIGGER jmeno FOR tabulka BEFORE INSERT POSITION 0 AS
BEGIN
NEW.TvojeID = gen_id(GEN_Muj,1);
END

Cau Jarda


Neprerusena ciselna rada pro doklady v FB/IB

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 25.9.2002 13:30:17

Aldik chape,ale reseni nejako nevidi:
No fajn....
A jake mas reseni? Nejaky navod na netu a jine prakticke rady?

zdenek kalhous:
>Pridelovani unikatnich cisel v neprerusene rade neni tak trivialni jak
>se na prvni pohled zda, riziko pouzivani max pro tento ucel je krome
>jineho v tom, ze ve viceuzivatelskem a trochu intenzivnim provozu
>ma prakticky nulovou sanci na fungovani. Zkuste si jen tak na papire
>nasimulovat jak se to bude chovat.

Zobrazeni framu z DLL v hlavni aplikaci

[*] Tom Beran <assas(zv)bonbon(tec)net> - 25.9.2002 13:33:12


Zkus EXE i DLL prelozit s run-time VCL balicky.

Hodne zdaru!!!

Tom

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

Interface v Delphi

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 25.9.2002 13:38:41


----- Original Message -----
From: "Marek Eichler" <marek.eichler(zv)seznam(tec)cz>
> mel bych uvahu par dotazu k pouziti interface v Delphi a byl bych vdecny za
> odpovedi a pripadne uvedeni na pravou miru:
>
> Uvaha:
> 1. Pouziti interface neni vazano na pouziti technologie COM. Znamena to
> tedy, ze pouzitim interface zarucuju objektu urcitou funkcnost

Plati pravidlo, ze kazdy objekt ktery implementuje nejaky interface musi
zaroven implementovat zakladni interface IUnknown. Znamena to ze
musis bud podedit tridu od predka ktery jiz IUnknown implementuje
(TInterfacedObject) nebo IUnknown implementovat sam, neni to
nic tezkeho, jde hlavne o praci s ref.countem. Lze take premapovat
implementaci IUnknown v potomkovi TInterfacedObjectu tak ze se
znovu implementuje IUnknown, napr. kvuli zmene chovani pri pocitani
ref.countu -- napr. spolecny ref.count na vice objektech nebo jine
osetreni zanikani objektu pri spadnuti ref.countu na 0.

>
> Otazky:
> 1. Kdyz pouzivam interface (bez COM) funguje pocitani referenci nebo ne ->
> je treba se o to starat?

Korektni volani _AddRef a _Release na objektech drzenych pres interface
ti zajistuje kompilator Delphi. Osetreni techto metod musi resit objekt sam,
napr. musi vyvolat po spadnuti ref.countu na 0 pri _Release sam na sobe
Destroy. Zakladni implementace to jiz delaji (TInterfacedObject).

> 2. Objekt, ktery implementuje interface musi byt potomkem nejakeho
> specialniho objektu, nebo je to naprosto jedno?

nemusi, viz nahore

>
> 3. Pokud musi byt objekt implementujici interface potomkem urciteho objektu,
> jak vyresit dedicnost?

dtto.

Martin Schayna

IB versus MSSQL / vykon

[*] Slavek Rydval <rk(zv)atrey.karlin.mff.cuni(tec)cz> - 25.9.2002 13:39:56


Ahoj,

co se tyce vykonu, tak na nekterych mych ulohach je MS SQL Server
davno na pivu, zatimco IB se stale poti. Mrkni na http://www.tpc.org/
kde mas ,,nezavisle`` testy a udelej si sam predstavu o vykonu IB.

Slavek


On 25 Sep 2002 at 11:45, Pavol Kakacka wrote:

> Ahoj, mna by zaujimalo ci z vas niekto ma PRAKTICKE skusenosti co sa
> tyka zrovnania vykonu MSSQL vs. IB/FB pri viac nez 100 (200+)
> pripojenych uzivateloch? + specifikacia HW a OS.
>
> Kakacka Pavol
> KasiX(zv)atlas(tec)cz

--------------------------------------------------------
http://atrey.karlin.mff.cuni(tec)cz/~rk
Pozor, nyni pouze http://195.113.18.111/~rk/index.shtml
--------------------------------------------------------
Udelejte to blbuvzdorne a zitra nekdo vymysli jeste vetsiho blba.

IB versus MSSQL / vykon

[*] Pavol Kakacka <kakacka(zv)proca(tec)cz> - 25.9.2002 13:44:49

From: "Slavek Rydval" <rk(zv)atrey.karlin.mff.cuni(tec)cz>
> co se tyce vykonu, tak na nekterych mych ulohach je MS SQL Server
> davno na pivu, zatimco IB se stale poti. Mrkni na http://www.tpc.org/
> kde mas ,,nezavisle`` testy a udelej si sam predstavu o vykonu IB.

Vdaka, ale to je to co nechcem. Mna zaujima ci je tu v CR a SR niekto kto
prevadzkuje FB/IB alebo MSSQL v ostrej prevadzke pri viac nez 100 alebo viac
nez 200+ klienotch a je ochotny sa podelit o skusenosti.

Kakacka Pavol
KasiX(zv)atlas(tec)cz

Interface v Delphi

[*] Milan Tome� <milan.tomes(zv)haida(tec)cz> - 25.9.2002 13:51:20

Ahoj Marku,

> Uvaha:
> 1. Pouziti interface neni vazano na pouziti technologie COM. Znamena to
> tedy, ze pouzitim interface zarucuju objektu urcitou funkcnost
>
> Otazky:
> 1. Kdyz pouzivam interface (bez COM) funguje pocitani referenci nebo ne ->
> je treba se o to starat?

Jestli bude pocitani referenci k dispozici se urcuje u implementace a ne v
interfacu. Resp. ono je k dispozici vzdy (metody AddRef a Release resp.
_AddRef a _Release v Delphi), protoze kazda implementace musi implementovat
rozhrani IUnknown (resp. od Delphi 6 rozhrani IInterface), ale interni
pochody se daji upravit tak, ze k pocitani odkazu vlastne nedochazi...

> 2. Objekt, ktery implementuje interface musi byt potomkem nejakeho
> specialniho objektu, nebo je to naprosto jedno?

V Delphi je objekt, ktery implementuje interface bezne potomkem
TInterfacedObject a v tomto predkovi je reference counting implementovan.
Ale obecne to muze byt jakykoliv objekt.

> 3. Pokud musi byt objekt implementujici interface potomkem
> urciteho objektu,
> jak vyresit dedicnost?

Jak "jak vyresit dedicnost" ??? Vzdyt ta je preci hlavnim rysem OOP.
Dedicnost je automaticky zarucena (ovsem pouze dedicnost trid nikoliv
dedicnost rozhrani...)
> S pozdravem Marek Eichler

S pozdravem

Milan Tomes
mailto:milan.tomes(zv)haida(tec)cz

CustomDocumentProperties

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 25.9.2002 14:05:36

----- Original Message -----
From: "Tomas Folprecht" <tomas(zv)apkfolprecht(tec)cz>
> Neexistuje zadny typ DocumentProperties ani TDocumentProperties.

DocumentProperties je typ z typove knihovny Office,
tedy nikoliv z typove knihovny Word. Mozna bude
treba toho vic do Delphi naimportovat.

Napr. ve Wordu tohle funguje normalne:

Public Sub Test()
Dim i As Integer
ActiveDocument.CustomDocumentProperties.Add "Moje", False, msoPropertyTypeString, "Hodnota"
For i = 1 To ActiveDocument.CustomDocumentProperties.Count
MsgBox ActiveDocument.CustomDocumentProperties.Item(i).Value
Next
End Sub

Martin Schayna

cyklus While a Application.ProcessMessages, Strin

[*] Rumcajs - konference <konrum(zv)seznam(tec)cz> - 25.9.2002 14:08:35

AdvStringGrid - rano semto tu psal
Rumcajs
>
> Nevite prosim nekdo o komponente, ktera by byla potomkem StringGridu a
umela
> slouceni bunek?
>
> Dekuji.
>
> Petr
>
>


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

Interface v Delphi

[*] Marek Eichler <marek.eichler(zv)seznam(tec)cz> - 25.9.2002 14:28:56

Zdravim,> >
> > 2. Objekt, ktery implementuje interface musi byt potomkem nejakeho
> > specialniho objektu, nebo je to naprosto jedno?
>
> Muze byt potomkem TInterfacedObject, nebo nejakeho vlastniho, kde
> jsou implementovany metody AddRef, Release a QueryInterface. Staci
> se podivat na zdrojaky TInterfacedObject, neni to nic tezkeho.
**** Co se stane, kdyz nebudu v predkovi implementovat AddRef, Release,
QueryInterface. Jde mi o to, ze delam editor zdrojovych kodu. Zatim mam pro
editor dve rozhrani s prikazy editoru a normalne to pouzivam bez AddRef, ...
a je to bez problemu.
>
> Radim
>

S pozdravem Marek Eichler

Jak vytvorit novy TEdit na pozici kurzoru?

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 25.9.2002 14:48:41

> Predpokladal jsem, ze to bude fungovat, ale nefunguje. Muj TEdit to
> sice vytvori (to poznam podle jmena), ale ja ho nevidim.

Musis nastavit Parent na prvek, na nemz Edit lezi.
Tedy Edit.Parent := Self, jde-li o form.

David Lebeda

Query - COUNT

[*] Peter Surovy <psurovy(zv)uevora.pt> - 25.9.2002 14:02:19

Ahoj
mam taky problem s Query(resp. SQL) a prikazom COUNT
V SQL je :
SELECT table ID,prvok1, COUNT(prvok1) .. GROUP By ID,prvok1
...
funguje to OK
potom polia SQL resultu citam a pracujem s nimi,
volam ich podla cisla Fields[0].AsInteger
NIE podla mena FieldByName('meno')
..vsetko OK.

Nainstalujem vsetko na iny comp
a pri aktivovani tejto Query stale dostanem chybu
Query1 Field 'COUNT_OF_P' NOT FOUND !!!

DB nad ktorou Query pracuje je korektne
vyplnena- nemoze vratit nul. result
Tak tomu nerozumiem..
Peter Surovy

univerzalny interfejs voci db

[*] Kalus Jozef Ing. <jozef.kalus(zv)spordat.sk> - 25.9.2002 15:02:48

nazdar,

riesim takyto problem:

robim soft nad db FB/IB, ale chcel by som ho prisposobit tak aby mi mohol
ist aj voci inej db, napriklad MySQL, MS SQL, Oracle, Progress atd. Viem, ze
nic univerzalne nenajdem preto by som si chcel urobit interface, ktory by
som podla potreby doprogramoval o podporu dalseho typu db, t.j. ze by som
jednoducho zavolal funkcie na zapis alebo insert a len tie volal v celom
programe s tym ze v tychto funkciach by bolo vetvenie pre jednotlive typy
db.

Nema niekto s takymto niecim skusenosti ? Nechcem sa zamotat v bludnom kruhu
a nerad by som isiel nejakou zlou cestou.

Stacilo by mi coho sa mam vyvarovat a co uprednostnit, pripadne doporucenia.

Dik za kazde info, velmi mi to pomoze.

joka

Interface v Delphi

[*] Marek Eichler <marek.eichler(zv)seznam(tec)cz> - 25.9.2002 15:05:31

Zdravim

Milan Tomes:
> > jak vyresit dedicnost?
>
> Jak "jak vyresit dedicnost" ??? Vzdyt ta je preci hlavnim rysem OOP.
> Dedicnost je automaticky zarucena (ovsem pouze dedicnost trid nikoliv
> dedicnost rozhrani...)
*** "jak vyresit dedicnost" znamenalo, jak to udelat, kdyby objekt
implementujici interface musel byt dedeny od urciteho objektu a ne od toho,
ktery bych potreboval

> S pozdravem
>
> Milan Tomes
> mailto:milan.tomes(zv)haida(tec)cz


S pozdravem Marek Eichler

cyklus While a Application.ProcessMessages, Strin

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 25.9.2002 15:13:47

----- Original Message -----
From: "Petr Hlo�ek" <petr_h(zv)mrp(tec)cz>
> pisete ze pouziti Application.ProcessMessages v cyklu neni spravne.
> mam cyklus napr:
>
> while not Table1.eof do begin
> ....
> .... { Neco s tabulkou delam}
> Table1.Next;
> Application.ProcessMessages
> end;
>
> Ted kdyz se prepnu na jinou ulohu a zpet, okno se nevykresli a zustane bile.
> K prekresleni dojde az po ukonceni cyklu. Toto vse se deje bez radku
> Application.ProcessMessages. S Application.ProcessMessages to chodi jak ma.
> Jak to tedy jinak vyresit?

Pokud napr. stiskem tlacitka na formulari vyvolas v OnClick dele trvajici
akci, ve ktere budes pravidelne volat Application.ProcessMessages,
bude tvoje okno zpracovavat zpravy -- tj. bude se prekreslovat ale
zaroven (coz je mnohem horsi) budou reagovat i ovladaci prvky tveho
okna, takze uzivatel bude moci stisknout to tlacitko podruhe!!!
Takze behem vyvolani ProcessMessages se znovu vyvola OnClick.
Co to zpusobi za zmatek ti urcite dochazi.

Lze to resit tak ze se behem dele trvajici akce ktera bude ProcessMessages
vyvolavat vsechny ovladaci prvky disabluji.

Delal jsem prevod dat ktery bezel u klientu mnoho hodin. Tam by
se teoreticky nemusel ProcessMessages volat, ale pak nesel prevod
uzivatelsky pozastavit ale ani uspat pocitac (je zajimave ze k uspani
pocitace musi procesy odevzdavat cas, kde je ten proklamovany
preemptivni multitasking ;-)))
Aby to fungovalo, musel jsem ProcessMessages volat a disablovat
vsechny ovladaci prvky krome jednoho tlacitka pro uzivatelske
preruseni, pak StandBy a Hibernate opravdu zabral.

Martin Schayna

cyklus While a Application.ProcessMessages, Strin

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.9.2002 15:27:15

From: "Martin Schayna" <mschayna(zv)aktis(tec)cz>
> akci, ve ktere budes pravidelne volat Application.ProcessMessages,
> bude tvoje okno zpracovavat zpravy -- tj. bude se prekreslovat ale
> zaroven (coz je mnohem horsi) budou reagovat i ovladaci prvky tveho
> okna, takze uzivatel bude moci stisknout to tlacitko podruhe!!!
> Takze behem vyvolani ProcessMessages se znovu vyvola OnClick.
> Co to zpusobi za zmatek ti urcite dochazi.

Spravne, navic se ta funkce zavola zevnitr te smycky, takze nejen ze se zavola
znovu ale i ve zcela jine situaci.

> Lze to resit tak ze se behem dele trvajici akce ktera bude ProcessMessages
> vyvolavat vsechny ovladaci prvky disabluji.

To je jen pokus o obchazeni dusledku bez reseni priciny (ackoli pomoci akci by
to slo resit jeste relativne prehledne). Jedna moznost je pro prekresleni
volat cas od casu metodu Update, ale lepsi je presunout tuto dlouhotrvajici
cinnost do samostatneho threadu a hlavni thread nechat ciste jen pro ovladani
aplikace a GUI.

Petr Vones

SelectDirectory - umiestnenie

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 25.9.2002 15:30:32

> ked pouzijem na vyber adresara nieco taketo:
>
> SelectDirectory('Vyber cestu:', '', StrDir);
>
> tak mi to mrskne to male okienko kdesi vpravo dole, ale ja by
> som ho chcel vycentrovane alebo mu chcel povedat kde ma
> byt umiestnene

Cau,
da sa to napriklad takto:

function SelectDirCB(Wnd: HWND; uMsg: UINT; lParam, lpData: LPARAM):
Integer; stdcall;
var
R: TRect;
begin
if (uMsg = BFFM_INITIALIZED) then
begin
GetWindowRect(Wnd, R);
if Assigned(Application) and Assigned(Application.MainForm) then
with Application.MainForm do
SetWindowPos(Wnd, HWND_TOP, Left + (Width - (R.Right - R.Left)) div
2,
Top + (Height - (R.Bottom - R.Top)) div 2, 0, 0, SWP_NOOWNERZORDER
or SWP_NOSIZE or SWP_SHOWWINDOW);
if (lpData <> 0) then
SendMessage(Wnd, BFFM_SETSELECTION, Integer(True), lpdata);
end;
Result := 0;
end;

function SelectDirectory(const Caption: string; const Root: WideString; var
Directory: string): Boolean;
... kopia z FileCtrl

skratka to iste ako vo FileCtrl, akurat v tej callback funkcii pri sprave
BFFM_INITIALIZED si zmenis polohu toho dialogu.

HTH
TOndrej

QReport 2.0k vs. Win XP

[*] Marek Hradil <marekhr(zv)benefitcz(tec)cz> - 25.9.2002 15:43:02

Pri opakovanem generovani sestav v QRep. ver. 2.0
pod Win XP Pro dochazi k nedeterministickym chybam.
Pritom pod Win 2000, 98, 95 funguje vse OK.

Nesetkal jste se nekdo s necim podobnym?

Delphi 2 C/S, QRep 2.0k, Win2000Pro
Marek Hradil
Benefit CZ, s.r.o
Hrub�ho 11, 602 00 Brno
Tel: +420 5 4121 9098,+420 5 4121 9099
Fax: +420 5 4121 5886

cyklus While a Application.ProcessMessages, Strin

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 25.9.2002 15:57:39

> pisete ze pouziti Application.ProcessMessages v cyklu neni spravne.
> mam cyklus napr:
>
> while not Table1.eof do begin
> ....
> .... { Neco s tabulkou delam}
> Table1.Next;
> Application.ProcessMessages
> end;
>
> Ted kdyz se prepnu na jinou ulohu a zpet, okno se nevykresli
> a zustane bile.
> K prekresleni dojde az po ukonceni cyklu. Toto vse se deje bez radku
> Application.ProcessMessages. S Application.ProcessMessages to
> chodi jak ma.
> Jak to tedy jinak vyresit?

Ahoj,

nic neni ani cerne, ani bile. Application.ProcessMessages ma krome toho, ze
prekresli okno jeste dalsi dusledek, a to sice, ze se zpracuje udalost napr.
od tlacitka. To muze byt jak nevhodne (napr. dalsi spusteni tveho cyklu,
tentokrat zevnitr), tak vhodne - napr. pro realizaci uzivatelskeho preruseni
cyklu. Asi je treba zvazit, co potrebujes, a podle toho se zaridit.
Prekresleni okna zaridis treba pomoci Refresh, pro zablokovani udalosti od
kontrolu muzes pouzit OnUpdate z Action (pokud je nepouzivas, vrele
doporucuji), nebo muzes pouzit dalsi thread, proste variant je vice. Ja se
pouziti ProcessMessages nevyhybam, pokud potrebuji soubezne s
dlouhotrvajicim cyklem jeste zajistit rekaci na zasahy operatora, a nechci
pouzit dalsi thread.

Zdravim

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

Jak vytvorit novy TEdit na pozici kurzoru?

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 25.9.2002 16:14:44

Musis nastavit Edit.Parent:= self

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
D&COMM s.r.o.
Korunova�n� 6
Praha 7
tel. +420724007234


From: JiriKrakora(zv)skh(tec)cz [mailto:JiriKrakora(zv)skh(tec)cz]
Subject: Jak vytvorit novy TEdit na pozici kurzoru?
Mam Form1 a na nem onMouseDown event s nasledujicim kodem:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Edit: TEdit;
begin
Edit := TEdit.Create(self);
try
Edit.Visible := True;
Edit.Color := clRed;
Edit.Enabled := True;
Edit.Name := 'TEST';
Edit.BorderStyle := bsSingle;
Edit.Width := 20;
Edit.Height := 5;
Edit.Left := x;
Edit.Top := y;
Edit.Show;
showmessage('Jsem uvnitr a vytvarim Edit');
finally

end;
end;


Predpokladal jsem, ze to bude fungovat, ale nefunguje. Muj TEdit to sice
vytvori (to poznam podle jmena), ale ja ho nevidim. Kdyz jsem pouzil
Edit.Showing tak mi to vratilo False. Zkousel jsem i Edit.BringToFront ,
nebo Edit.ClientToScreen , ale porad se mi ta komponenta nezobrazuje.
Nefunguje to ani kdyz nepouziji try...finally prikaz. Uz nad tim sedim druhy
den a porad nemuzu prijit na pricinu.

Jak vytvorit novy TEdit na pozici kurzoru?

[*] Libor Junek, KSH-Data <junek(zv)ksh-data(tec)cz> - 25.9.2002 16:30:17

Nemas nastaven parent:
Edit.Parent := Self;

Libor

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

Predpokladal jsem, ze to bude fungovat, ale nefunguje. Muj TEdit to sice
vytvori (to poznam podle jmena), ale ja ho nevidim. Kdyz jsem pouzil
Edit.Showing tak mi to vratilo False. Zkousel jsem i Edit.BringToFront ,
nebo Edit.ClientToScreen , ale porad se mi ta komponenta nezobrazuje.
Nefunguje to ani kdyz nepouziji try...finally prikaz. Uz nad tim sedim druhy
den a porad nemuzu prijit na pricinu.

Zkouseli jsme to s kolegou v praci na WIN2000 a Delphi 6 i Delphi 7. Prosim
o radu.

cyklus While a Application.ProcessMessages, Strin

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 25.9.2002 17:02:26

> Delal jsem prevod dat ktery bezel u klientu mnoho hodin. Tam by
> se teoreticky nemusel ProcessMessages volat, ale pak nesel prevod
> uzivatelsky pozastavit ale ani uspat pocitac (je zajimave ze k uspani
> pocitace musi procesy odevzdavat cas, kde je ten proklamovany
> preemptivni multitasking ;-)))
> Aby to fungovalo, musel jsem ProcessMessages volat a disablovat
> vsechny ovladaci prvky krome jednoho tlacitka pro uzivatelske
> preruseni, pak StandBy a Hibernate opravdu zabral.

Mam pocit, ze to nema s multitaskingom nic spolocne. Moja teoria (nemam to
odskusane) znie takto:
Windows pred prechodom do power management rezimu vysle kazdej aplikacii
spravu WM_POWERBROADCAST a tym jej dava sancu, aby tomuto prechodu zabranila
(vratenim hodnoty BROADCAST_QUERY_DENY).
Power management teda zrejme nefungoval, pretoze Tvoja aplikacia
nespracovavala ziadne spravy a tym padom ani WM_POWERBROADCAST.
Defaultne spravanie je zrejme nakodovane v DefWindowProc, takze aplikacia,
ktora tuto spravu explicitne neosetruje, prechod do power management rezimu
povoli. Musi ale spracovavat spravy.
Mozno sa mylim, ale takto mi to znie logicky.

TOndrej

cyklus While a Application.ProcessMessages, Strin

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 25.9.2002 17:16:30

----- Original Message -----
From: "Petr Vones" <pvones(zv)mbox.vol(tec)cz>
> From: "Martin Schayna" <mschayna(zv)aktis(tec)cz>
> > Thread je samozrejme nejlepsi reseni, ale je otazka jak se to zachova pri
> > pokusu uspat takto pracujici pocitac. Nechapu proc to nejde kdyz je hlavni
> > thread v dlouhotrvajici smycce.
>
> S timhle jsme nikdy nic nedelal, ale nemuze na to mit vliv pouziti funkce
> SetThreadExecutionState ?

Myslim ze ne, pomoci teto funkce se naopak rika systemu, ze thread pracuje
a proto se pocitac nesmi samovolne uspat. Ja potrebuji naopak docilit toho aby
pocitac sel uspat, treba nasilim (napr. Start->Shut down->Hibernate).
Pokud se behem prace pravidelne nevola Application.ProcessMessages,
uspat se ho nepodari. Od skutecneho mutlitaskingu bych ocekaval ze
zmrazit vsechny procesy/thready a hibernovat pujde v kazdy okamzik
a ne jen pokud spolupracuje aplikace. :-(((

Martin Schayna

cyklus While a Application.ProcessMessages, Strin

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.9.2002 17:19:28

From: "Martin Schayna" <mschayna(zv)aktis(tec)cz>
> pocitac sel uspat, treba nasilim (napr. Start->Shut down->Hibernate).
> Pokud se behem prace pravidelne nevola Application.ProcessMessages,
> uspat se ho nepodari. Od skutecneho mutlitaskingu bych ocekaval ze

Pak je to asi to co psal Ondrej Kelle, ze je system ceka na odpoved zpravy
WM_POWERBROADCAST. Na druhe strane pokud neodpovi do 20ti vterin tak by to mel
system povazovat za vyrizene a akci povolit, viz PBT_APMQUERYSUSPEND

Petr Vones

Zobrazeni framu z DLL v hlavni aplikaci

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 25.9.2002 17:42:04

> Odes�latel: delphi-konference(zv)bcpraha.com
> "Form is TCustomForm" probehne
> samozrejme vzdy na False, protoze ta funkce se vola v DLL a formular je vytvoreny
> v EXE.

Built with Runtime packages?

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Zaloha FireBird,IB

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 25.9.2002 17:46:35

> Odes�latel: Valenta P <valentapat(zv)volny(tec)cz>
> Hodne se tu diskutovalo o zalohovani dat
> Nestaci jako zaloha jen nekde zkopirovat samotn� soubor *.gbd ???

V zasade staci, ALE
1.
Zalovane .gbk soubory jsou mensi
2.
Cas do casu je uzitecne Backup/Restore, databaze se "setrepe".
3.
Ale predevsim: zalohovat se da za plneho provozu databaze pri pripojenych uzivatelich.
Pokus o kopirovani .gdb souboru, kdyz se do tohoto souboru soucasne zapisuje, skonci fatalne.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

univerzalny interfejs voci db

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 25.9.2002 17:56:02

> Odes�latel: Kalus Jozef Ing. <jozef.kalus(zv)spordat.sk>
> robim soft nad db FB/IB, ale chcel by som ho prisposobit tak aby mi mohol
> ist aj voci inej db, napriklad MySQL, MS SQL, Oracle, Progress atd.

Kvuli tomu vzniklo BDE.
V zasade se da rici, ze BDE tyto pozadavky splnuje.

Jenze me hned nekdo opravi: kazda databaze je trochu jina, kazda vyzaduje trochu jine techniky prace s daty atd. Takze s BDE to sice asi bude fungovat, ale nebude to idealni fungovani.

Mozne reseni je pouzit
TClientDataSet + TDataSetProvider + NejakyDataset + NejakaConnection.

Pri prechodu na jinou databazi je sice zpravidla treba zmenit tu Connection a ten DataSet, ale 99% prace s programovanim uzivatelskeho rozhrani budes psat na tim TClientDataSet, takze to menit nebudes muset.

Taky by slo DataSetProvider + DataSet + Connection umistit do COM-objektu a mas tady vicevrstvou aplikaci. Klient (TClientDataSet), se kterym je nejvice prace, vubec nemusi tusit, nad jakou databazi to bezi.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Self v DLL

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 25.9.2002 18:05:26

> Odes�latel: Ludo Fulop <kexo(zv)ynet.sk>
> v DLL si dynamicky vytvaram komponenty, a ako owner mi nefunguje self...
> tak som self nahradil Application, a do uses som pridal QForms. To vsak malo
> za nasledok podstatne zvacsenie vysledneho dll suboru (o cca 350kb). Da sa
> proti tomu nieco spravit?

To neni dobre reseni.

1.
Unita Forms je silena.
Pokud pisu kod pro nevizualni zalezitosti (DLL), urcite bych se bez ni mel obejit.
Pokud pisu vizualni aplikaci, musim se tim smirit.
2.
Standardne (bez pouziti runtime packages) je promenna Forms.Application (a vsechny ostatni globalni promenne) zvlast v EXE a zvlast v DLL. Znamena to, ze pri pouzitem pristupu s owner=Application bude vlastnikem objektu vytvoreneho v DLL jina Application nez ta, co je v EXE a nad kterou jsou postaveny vsechny formulare a pod.
3.
Vlastnikem muze byt NIL.
Anebo taky jakakoli komponenta predana z EXE.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Jak vytvorit novy TEdit na pozici kurzoru?

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 25.9.2002 18:18:18

> Odes�latel: JiriKrakora(zv)skh(tec)cz

Edit := TEdit.Create(self);
try
// Edit.Name := 'TEST'; tohle spadne napodruhe kvuli duplicitnimu jmenu
// Name se nastavovat nemusi
Edit.BorderStyle := bsSingle;
Edit.Width := 20;
Edit.Height := 5; // tohle asi nepujde
Edit.Left := x;
Edit.Top := y;
Edit.Parent:=self;
// Parent muze byt libovolny kontejner odvozeny od TWinControl, treba TPanel, ...
except
Edit.Free;
end;

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Predpokladal jsem, ze to bude fungovat, ale nefunguje. Muj TEdit to sice
vytvori (to poznam podle jmena), ale ja ho nevidim. Kdyz jsem pouzil
Edit.Showing tak mi to vratilo False. Zkousel jsem i Edit.BringToFront ,
nebo Edit.ClientToScreen , ale porad se mi ta komponenta nezobrazuje.
Nefunguje to ani kdyz nepouziji try...finally prikaz. Uz nad tim sedim
druhy den a porad nemuzu prijit na pricinu.

Zkouseli jsme to s kolegou v praci na WIN2000 a Delphi 6 i Delphi 7.
Prosim o radu.

Dekuji, Jiri Krakora.

cyklus While a Application.ProcessMessages, Strin

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 25.9.2002 18:29:03

Jak lze taky pouzit Application.ProcessMessages?

Pred casem jsem byl nucen psat vlastni tisk na TPrinter.
Po hroznem usili se to nejak podarilo.
Jenze to na nekterych typech tiskaren zatuhlo.
Zeptal jsem se Vaska Krmely (Sinea), zda by neco neporadil.

Odpoved:
Zavolej "ve vhodnem okamziku" asi tak 3-5 x Aplication.ProcessMessages.
Zacalo to fungovat :-)

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Zobrazovani avi animaci

[*] Jan �imeck� - 25.9.2002 18:34:40

Dobry den,

na vytvareni animaci mam program SWiSH. Pokud soubor avi otevru komponentou
TAnimate tak mi to vyhodi hlasku Cannot open AVI. Zadni zvuk ovsem nemam.

PORADTE PROSIM !!!!

S pozdravem

(zv)(zv)(zv)(zv)(zv)(zv)(zv)
\ ~ ~ /
(\ (zv) (zv) /)
-------oOOO--(_)--OOOo-------

Jan �imeck�
simecky(zv)centrum(tec)cz
http://www.simecky.tk
http://www.reklalink.tk

ooO
----------( )--Ooo---------
\ ( ( )
\_) ) /
(_)


-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of Petr Vones
Sent: Tuesday, September 17, 2002 8:36 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Zobrazovani avi animaci


From: "Jan �imeck�" <jsimecky(zv)zskuldova(tec)cz>
> potreboval bych poradit, jak mam zobrazit avi animace, ktere jsem si
> vytvoril.

Pokud jde o jednoduche animace bez zvuku, tak pouzij komponentu TAnimate.

Petr Vones


---
P��choz� zpr�va neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.380 / Virov� b�ze: 213 - datum vyd�n�: 24.7.2002

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

Memo-pomozte prosim

[*] Jan �imeck� - 25.9.2002 19:08:02

Dobry den,

nyni vylepsuji programek pro tadku a potreboval poradit jak na posledni
pozici kurzoru vlozit treba text ahoj po kliknuti na tlacitko. S pozdravem

(zv)(zv)(zv)(zv)(zv)(zv)(zv)
\ ~ ~ /
(\ (zv) (zv) /)
-------oOOO--(_)--OOOo-------

Jan �imeck�
simecky(zv)centrum(tec)cz
http://www.simecky.tk
http://www.reklalink.tk

ooO
----------( )--Ooo---------
\ ( ( )
\_) ) /
(_)


-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of Petr Vones
Sent: Sunday, April 21, 2002 9:51 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Memo-pomozte prosim


From: "Jan ?imeck�" <jsimecky(zv)zskuldova(tec)cz>
> prosim Vas, chtel bych nejakym zpusobem omezit pocet radku v
> Memo na urcity pocet radku (rekneme napr. 57). Da se to nejak udelat
> nebo existuje nejaka jina komponenta, ktera to umoznuje?

Pred kazdym vlozenim znaku ci vlozenim ze schranky budes muset kontrolovat
jestli TMemo.Lines.Count neni vetsi nez pozadovany pocet radek.

> A mam jeste jeden dotaz, a to, jak se da jednoduse vlozit nejaky
> konkretni (specialni) znak na aktivni pozici kurzoru (napr. po stisknuti
> nejake kombinace klaves).

Ctrl+F10 vlozi '1':

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Shift = [ssCtrl]) and (Key = VK_F10) then
begin
Key := 0;
with TMemo(Sender) do
begin
SelLength := 0;
SelText := '1';
end;
end;
end;

Petr Vones


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

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

OT: Zmena stavu komponent v bezicim exe souboru

[*] Vita J. <delphi(zv)obecpohori(tec)cz> - 25.9.2002 19:54:55

Zdravim,
potreboval bych nejaky program, ktery by v jiz bezicim programu byl schopen
prepnout komponentu (polozku v menu, pripadne button) z disable na enable.
Zadne trvale zmeny, staci pro jednou.
Poradi nekdo? Prosim no flame war - neni to urceno pro nelegalni zprovozneni
nejake aplikace.

Diky


Zaloha FireBird,IB

[*] Pavel Cisar <pcisar(zv)users.sourceforge(tec)net> - 25.9.2002 20:23:22

Haj hou!

On 25 Sep 2002 at 16:15, Roland Turcan wrote:

> <<< 25. 9. 2002 16:13 - Valenta P "valentapat(zv)volny(tec)cz" >>>
> VP> Nestaci jako zaloha jen nekde zkopirovat samotn� soubor *.gbd ???
>
> Pokial subor je serverom otvoreny a este nebodaj ides na ForcedWrite=0
> tak nie je iste ze vsetko subor obsahuje. Pozri to uz nie je FoxPro,
> ze musia sa vsetci odhlasit, lebo administrator ide zalohovat. Tu
> zalohovanie zabezpecuje server na zaklade transakcneho mechanizmu.
> Takze mozess zalohovat za jazdy.

Amen bratre :-) Jen bych k tomu dodal, ze vysledny soubor zalohy je
typicky mnohonasobne _mensi_ nez samotna databaze.

S pozdravem
Pavel Cisar
Mobil: 0724 281429
http://www.ibphoenix(tec)cz
Vse co potrebujete pro Firebird a InterBase

cyklus While a Application.ProcessMessages, Strin

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.9.2002 20:30:04

From: "Jan Sebel�k" <honza(zv)haes(tec)cz>
> Zavolej "ve vhodnem okamziku" asi tak 3-5 x Aplication.ProcessMessages.
> Zacalo to fungovat :-)

To je ale jen pul problemu (ta mene zajimava cast ;-) Ta druha pulka je totiz
o tom proc tomu tak je a co presne se tam deje. Napada me, neslo o treba tisk
nejakych vetsich obrazku kde se pouzivala trida TBitmap ? Pokud ano, slo by
zkusit zdali podobny efekt bude mit volani Graphics.FreeMemoryContexts ?

Petr Vones

Distribuce & kompilace vice balicku komponent naje

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.9.2002 20:47:20

From: "Daniel Frantik" <frantik(zv)telpro(tec)cz>
> Problem je, ze ne vsechny jsou moje/nase. Napr. RX a DevEx a ty maji svoje
> dpk. Slo by prehazet jejich obsah do noveho dpk, ale vzhledem k upgrade
> apod. to neni optimalni. (i kdyz RX & upgrade ... ;-)

Potom je asi jedine reseni napsat postup jak to instalovat nebo pouzit nejaky
ten 'instalator' ktery jsem uz popisoval. Na druhou stranu pokud tech balicku
neni 50 tak to snad neni takovy problem. Neni prece treba to instalovat pri
kazdem startu IDE.

> Zjistil jsem, ze kdyz PCE nebezi tak to nespadne. Jen to tam porad chce
> priregistrovat i VCL balicky a to se samozrejme nepodari. Staci ale odklepat

Prave. Kdyby byl alespon znam format DPC souboru tak by to slo mozna resit.

Petr Vones

OT Zmena stavu komponent v bezicim exe souboru

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.9.2002 21:25:30

From: "Vita J." <delphi(zv)obecpohori(tec)cz>
> potreboval bych nejaky program, ktery by v jiz bezicim programu byl schopen
> prepnout komponentu (polozku v menu, pripadne button) z disable na enable.
> Zadne trvale zmeny, staci pro jednou.

Zalezi na tom prvku, pokud se jedna o button tak musis najit jeho handle
pomoci jmen trid/oken parentu apod (WinSight pomuze). Ohledne menu zase ID te
polozky. Zadny jednoduchy univerzalni zpusob neni, navic ta aplikace muze ten
stav nastavovat periodicky nebo pri nejakych operacich, takze se to nastaveni
provedene jinou aplikaci hned zase ztrati.

Petr Vones

Jak nastavit barvu TBitBtn

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.9.2002 21:27:02

From: "Sula Milos" <milos.sula(zv)oku-su(tec)cz>
> Nevite jak nastavim barvu pozadi TBitBtn ?

Je treba upravit vykreslovani toho buttonu. Na internetu budou urcite tuny
takovych (vice ci mene funkcnich) komponent. Hledej 'TColorButton' apod.

Petr Vones

IB versus MSSQL / vykon

[*] Pavel Cisar <pcisar(zv)users.sourceforge(tec)net> - 25.9.2002 21:57:29

Haj hou!

On 25 Sep 2002 at 13:44, Pavol Kakacka wrote:

> Vdaka, ale to je to co nechcem. Mna zaujima ci je tu v CR a SR niekto kto
> prevadzkuje FB/IB alebo MSSQL v ostrej prevadzke pri viac nez 100 alebo viac
> nez 200+ klienotch a je ochotny sa podelit o skusenosti.

Nejsem si jisty zda maji vic nez 100 klientu, ale rekl bych ze Mestska
knihovna v Praze (nyni ovsem zavrena), Nemocnice Na Vinohradech (nebo v
Motole, ted fakt nevim) a mozna SOMA.

S pozdravem
Pavel Cisar
Mobil: 0724 281429
http://www.ibphoenix(tec)cz
Vse co potrebujete pro Firebird a InterBase

ActionMainMenuBar a zkratkove klavesy

[*] Tomas Grepl <delphi(zv)kapsw(tec)cz> - 25.9.2002 22:03:28

Pokud na formulari pouziji TActionMainMenuBar (+TActionManager a spol.), tak
mi prestanou fungovat klavesove zkratky u TLabel komponent (napr. Alt+D pro
�&daj), ale i u jinych komponent. Jako by si veskere znacknuti Alt prevzal
TActionMainMenuBar.

Chtel jsem to osidit pomoci vytvorene akce s nastavenym ShortCut (napr. na
Alt+D), ve ktere nastavuji ActiveControl na pozadovanou komponentu, ale to
ma jeste podivnejsi chovani: focus se nastavi jakoby spravne, ale editace
nefunguje, protoze "neviditelny" focus ma ve skutecnosti TActionMainMenuBar
a teprve po stisknuti ESC vse pokracuje dobre.

Existuje na to nejake jednoduche reseni nebo mam na TActionMainMenuBar ve
formulari zapomenout ?

Tomas

cyklus While a Application.ProcessMessages, Strin

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 25.9.2002 22:13:39

> From: "Jan Sebel�k" <honza(zv)haes(tec)cz>
> > Zavolej "ve vhodnem okamziku" asi tak 3-5 x
> > Aplication.ProcessMessages.
> > Zacalo to fungovat :-)
>
> From: Petr Vones
> To je ale jen pul problemu (ta mene zajimava cast ;-)
> Ta druha pulka je totiz
> o tom proc tomu tak je a co presne se tam deje.

Samozrejme jsem nad tim badal, ale neuspesne.
Jedine na co jsem prisel bylo, ze cetnost vyskytu
problemu je umerna slozitosti ovladace tiskarny.
Tim myslim pocet DLL ktere ovladac tiskarny potrebuje.
Pripadalo mi to tak, ze ProcessMessages da sanci ovladaci
ovladaci tiskarny, aby se vzpamatoval.

> Napada me, neslo o treba tisk
> nejakych vetsich obrazku kde se pouzivala trida TBitmap ?
> Pokud ano, slo by
> zkusit zdali podobny efekt bude mit volani
> Graphics.FreeMemoryContexts ?

Slo o tisk obrazku. FreeMemoryContexts zkusim a dam vedet.

Vaclav Krmela

cyklus While a Application.ProcessMessages, Strin

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 25.9.2002 22:34:22

From: "Vaclav Krmela" <krmela(zv)ustinadorlici(tec)cz>
> Slo o tisk obrazku. FreeMemoryContexts zkusim a dam vedet.

V tom pripade je hlavne nutne nepouzivat TCanvas.StretchDraw pro tisk na
tiskarnu protoze tato operace je ve Windows nepodporovana a skutecnost ze to
nekdy funguje je zavadejici. Pro tisk je nutno vytvorit DIB a pouzit funkci
StretchDiBits.

INFO: Blitting Between DCs for Different Devices Is Unsupported
http://support.microsoft.com/default.aspx?scid=KB;EN-US;q195830

http://www.efg2.com/Lab/Library/Delphi/Printing/StretchDIBitsDemo.txt

Petr Vones

ActionMainMenuBar a zkratkove klavesy

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

From: "Tomas Grepl" <delphi(zv)kapsw(tec)cz>
> Pokud na formulari pouziji TActionMainMenuBar (+TActionManager a spol.), tak
> mi prestanou fungovat klavesove zkratky u TLabel komponent (napr. Alt+D pro
> �&daj), ale i u jinych komponent. Jako by si veskere znacknuti Alt prevzal
> TActionMainMenuBar.

V jake verzi Delphi ?

Petr Vones

Jak nastavit barvu TBitBtn

[*] Pavel ZIDEK <delphi(zv)kopr(tec)cz> - 26.9.2002 04:55:49

Koukni se na
http://www.kopr(tec)cz/delphi/index.htm#KColBtn

----- Pavel ZIDEK ----- > Nevite jak nastavim barvu pozadi TBitBtn ?
>
> Milos

Jak vytvorit novy TEdit na pozici kurzoru?

[*] Pavel ZIDEK <delphi(zv)kopr(tec)cz> - 26.9.2002 04:59:49

Chybi ti
Edit.Parent := Form1

----- Pavel ZIDEK ----- Mam Form1 a na nem onMouseDown event s nasledujicim kodem:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Edit: TEdit;
begin
Edit := TEdit.Create(self);
try
Edit.Visible := True;
Edit.Color := clRed;
Edit.Enabled := True;
Edit.Name := 'TEST';
Edit.BorderStyle := bsSingle;
Edit.Width := 20;
Edit.Height := 5;
Edit.Left := x;
Edit.Top := y;
Edit.Show;
showmessage('Jsem uvnitr a vytvarim Edit');
finally

end;
end; Predpokladal jsem, ze to bude fungovat, ale nefunguje. Muj TEdit to sice vytvori (to poznam podle jmena), ale ja ho nevidim. Kdyz jsem pouzil Edit.Showing tak mi to vratilo False. Zkousel jsem i Edit.BringToFront , nebo Edit.ClientToScreen , ale porad se mi ta komponenta nezobrazuje. Nefunguje to ani kdyz nepouziji try...finally prikaz. Uz nad tim sedim druhy den a porad nemuzu prijit na pricinu.

Zkouseli jsme to s kolegou v praci na WIN2000 a Delphi 6 i Delphi 7. Prosim o radu.

Dekuji, Jiri Krakora.

Jak vytvorit novy TEdit na pozici kurzoru?

[*] Piskac Josef <josef.piskac(zv)comarr(tec)cz> - 26.9.2002 07:24:05

On 25 Sep 2002 at 13:12, JiriKrakora(zv)skh(tec)cz wrote:

> Mam Form1 a na nem onMouseDown event s nasledujicim kodem:
>
> procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
> Shift: TShiftState; X, Y: Integer);
> var
> Edit: TEdit;
> begin
> Edit := TEdit.Create(self);
> try

Edit.Parent := Self; // Toto Ti tam chybi, pak se uz objevi.

> Edit.Visible := True;
> Edit.Color := clRed;
> Edit.Enabled := True;
> Edit.Name := 'TEST';
> Edit.BorderStyle := bsSingle;
> Edit.Width := 20;
> Edit.Height := 5;
> Edit.Left := x;
> Edit.Top := y;
> Edit.Show;
> showmessage('Jsem uvnitr a vytvarim Edit');
> finally
>
> end;
> end;
>

Pepa

Editace AVI

[*] Sula Milos <milos.sula(zv)oku-su(tec)cz> - 26.9.2002 07:26:45

Neznate nekdo nejakou komponentu pro editaci videa - avi ? Mam na mysli
vkladani textu pripadne grafiky do avi sekvenci. Nebo nevite jak to
udelat ?

Milos

CustomDocumentProperties

[*] Milan Tomes <milan.tomes(zv)haida(tec)cz> - 26.9.2002 08:02:16

Omlouvam se, mas pravdu........
Jen dodam, ze prislusna typova knihovna (MSO9.dll) se naimportuje i v
pripade, ze importujes knihovnu Wordu (vznikne soubor Office_TLB.pas)

S pozdravem

Milan Tomes
mailto:milan.tomes(zv)haida(tec)cz

> DocumentProperties je typ z typove knihovny Office,
> tedy nikoliv z typove knihovny Word. Mozna bude
> treba toho vic do Delphi naimportovat.
> Martin Schayna

univerzalny interfejs voci db

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 26.9.2002 08:30:44

From: "Kalus Jozef Ing." <jozef.kalus(zv)spordat.sk>

> Nema niekto s takymto niecim skusenosti ?
> Nechcem sa zamotat v bludnom kruhu
> a nerad by som isiel nejakou zlou cestou.

Ja jsem se v nekolika projektech snazil o neco podobneho a dodnes se snazim
takovy
interface pouzivat, ale jde to cim dal tim vic
ztuha :-(

Bylo to navrzeno pro aplikace serverovskeho typu:

Kazda DB tabulka byla potomkem tridy tSQLTable
a ta mela jako atributy vytazena vsechna pole z DB.
Vlastni metody byly rodeleny napr. na

public SearchForXXX(...)
a protected _BuildSearchForXXXCommand(...)

Takze jakakoli zmena na urovni DB se udehrala v metodach teto tridy a zbytek
aplikace o ni v podstate nevedel.

Pro vlastni DB pristup jsme zapouzdrili konkretni konektivitu do vlastnich
trid tSQLDatabase a tSQLQuery (nemaji nic spolecneho s TDataset), ktere
poskytuji jakysi min. interface spolecny ruznym konektivitam.
Ridi se to podminenym prekladem a pouzivali jsme to
pres BDE, ODBCe, DBExpress, IBExpress, ale taky SQLite
proti IB, DB/2 a SQLite.

***

Zatim to celkem vyhovovalo, ale momentalne jsem do toho musel zahrabat a
udelat do interface "diru" v podobe zpristupneni native Database a Query
kvuli TIBTransaction u IBExpress :-(

***

Jestli se na ty obalky nad DB a Query chces podivat, muzu poslat. Konrektni
potomky tech tabulek ne,
protoze jsou to veci z projektu citliveho na bezpecnost.


HTH, pf

Obousmerne odkazy na Interfaces a ref counting

[*] Jan K��ek - 26.9.2002 08:47:22

> >Vubec nechapu co na tom resi GC? Jak pozna, ze na rodice uz odkazuji
> >pouze jeho deti a tedy se muze cela struktura zrusit?
>
> pozrie sa v pameti. ktore sa pouzivaju a ktore nie, povedzme
> najjednoduchsi
> pripad: na heape ani na stacku ani v ziadnom registry nie je
> adresa objektu
> => objekt sa nepouziva a GC tuto pamet uvolni. Samozrejme v
> skutocnosti
> sa pouzivaju domyselnejsie algoritmy, ktore to lepsie detekuju a su aj
> daleko rychlejsie.

Nojo ale ten odkaz v pameti je, protoze rodic ma odkaz na syna a syn na
rodice. Jde o to, ze neni odkaz na zadny prvek z cele te struktury z
venku, tedy ma cela struktura zaniknout - jestli tohle maji GC v sobe
zabudovane, tak jsou to opravdu frajeri (a pak se nedivim, ze tolik
zdrzuji :-)).

Honza +

Obousmerne odkazy na Interfaces a ref counting

[*] Jan K��ek - 26.9.2002 08:51:20

> Snad to dobre chapu:
> Pokud plati, ze
> - rodic zna pocet svych potomku
> - kazdy potomek vzdy obsahuje prave jednu referenci na sveho rodice
> Pak bych na to sel z druheho konce - prepsanim metody _Release na
> rodicovi. Tam bych dopsal podminku, ze pokud refcount klesne
> na hodnotu,
> ktera se rovna poctu potomku, tak bych vsechny potomky
> postupne uvolnil.
> Po zruseni posledniho potomka by mela automaticky klesnout refcount
> rodice na nulu a ten se tak uvolni automaticky sam.
> Samozrejme je treba osetrit, ze behem uvolnovani potomku se mi bude
> znovu vyvolavat _Release na rodicovi.
> Nezkousel jsem to, snad v tom neni zadna logicka chyba.
>
> eNca

Diky za napad, asi bude nejlepsi cesta pres pohrani si s implementaci
_Add a _Release. Me slo hlavne o to, abych to mel vyresene jednou a
obecne, protoze vzdy kdyz to udelam znovu, tak zapomenu na _Release v
tom potomkovi a pak se strasne divim, ze se to nechce uvolnit :-)

Dik Honza +

Serializable xan na IB/FB (was: Neprerusena ciseln

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 26.9.2002 09:00:29

From: "Pavel Cisar" <pcisar(zv)users.sourceforge.net>

> Ano, existuje. Nazyva se sice vetsinou u kazdeho systemu jinak, ale
> existuje. U InterBase/Firebirdu se jmenuje SNAPSHOT TABLE STABULITY,
> ale stejneho efektu by slo dosahnout i doplnujicim RESERVING u prosteho
> SNAPSHOT.

Hm, ted jsem z toho uz uplnen gogo ;-) Odkud to pochazi, tenhle nazev? Kdyz
se podivam po connectivitach, ktere mam na pocitaci spolu s D6prof, tak
dostanu nasledujici nazvy urovni izolace transakci:

ADO/OLE DB
Chaos,ReadUnCommitted,Browse,CursorStability,ReadCommited,
RepeatableRead,Serializable,Isolated
BDE
DirtyRead,ReadCommitted,RepeatableRead
ODBCe
ReadCommitted,ReadUnCommitted,RepeatableRead,Serializable
DBX
ReadCommitted,RepeatableRead,DirtyRead,Custom
IBX
low-level sada priznaku isc_tpb_consistency, etc..., ze kterych
se musi nejaka smysluplna uroven poskladat
SQL92, jak psal Marian Jonas
ReadUnCommitted,ReadCommitted,RepeatableRead,Serializable


Ale nikde jsem narazil na to Tvoje SNAPSHOT TABLE STABILITY...


Bye, pf

Zobrazeni framu z DLL v hlavni aplikaci

[*] delphi-konference(zv)bcpraha(tec)com - 26.9.2002 09:17:08

> > Odes�latel: delphi-konference(zv)bcpraha.com
> > "Form is TCustomForm" probehne
> > samozrejme vzdy na False, protoze ta funkce se vola v DLL a formular je vytvoreny
> > v EXE.
>
> Built with Runtime packages?

Myslite, ze by pomohlo napsat to v CLX knihovne a pouzit QT DLLko?

Ludek

Zmena stavu komponent v bezicim exe souboru

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 26.9.2002 09:19:24

> Odes�latel: Vita J. <delphi(zv)obecpohori(tec)cz>
> potreboval bych nejaky program, ktery by v jiz bezicim programu byl schopen
> prepnout komponentu (polozku v menu, pripadne button) z disable na enable.

Mozna nekoho neco napadne, ale ja o tom dost pochybuju.
Tim spis, ze pod menu/knofliky by spravne mely byt akce, ktere maji sve vlastni Enabled.
Navic si toto Enabled mohou nastavovat prubezne v OnUpdate.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes(tec)cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Zmena stavu komponent v bezicim exe souboru

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 26.9.2002 09:52:07

> potreboval bych nejaky program, ktery by v jiz bezicim
> programu byl schopen prepnout komponentu
> (polozku v menu, pripadne button) z disable na enable.
> Zadne trvale zmeny, staci pro jednou.

Ak je to windowed control, tak si najdi o nej info v Spy++ ci WinSight,
potom v programe ju vyhladaj (FindWindow, EnumChildWindows apod.) a posli
jej prislusnu spravu (WM_ENABLED) ,mohlo by to chodit.

HTH
TOndrej

ActionMainMenuBar a zkratkove klavesy

[*] Tomas Grepl <delphi(zv)kapsw(tec)cz> - 26.9.2002 09:59:52

> From: "Tomas Grepl" <delphi(zv)kapsw(tec)cz>
> > Pokud na formulari pouziji TActionMainMenuBar (+TActionManager a spol.),
tak
> > mi prestanou fungovat klavesove zkratky u TLabel komponent (napr. Alt+D
pro
> > U&daj), ale i u jinych komponent. Jako by si veskere znacknuti Alt
prevzal
> > TActionMainMenuBar.
>
> V jake verzi Delphi ?

D6 Profi na WinXP.

Stejne se to chova, pokud mam nemodalni okno s Labely (a pod.) a hlavni okno
obsahuje TActionMainMenuBar. Pak navic ten "neviditelny" focus preskoci do
hlavniho okna (a to i kdyz zadne zvyraznene pismeno v menu neodpovida
stisknute kombinaci Alt+klavesa).

Tomas

Zmena stavu komponent v bezicim exe souboru

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 26.9.2002 10:05:56

T2Rlc+1sYXRlbDogVml0YSBKLiA8ZGVscGhpQG9iZWNwb2hvcmkuY3o+DQo+IHBvdHJlYm92YWwg
YnljaCBuZWpha3kgcHJvZ3JhbSwga3RlcnkgYnkgdiBqaXogYmV6aWNpbSBwcm9ncmFtdSBieWwg
c2Nob3Blbg0KPiBwcmVwbm91dCBrb21wb25lbnR1IChwb2xvemt1IHYgbWVudSwgcHJpcGFkbmUg
YnV0dG9uKSB6IGRpc2FibGUgbmEgZW5hYmxlLg0KDQpFeGlzdHVqZSBwcm9ncmFtIFdpbmRvd3NF
bmFibGVyLCBrdGVyeSB0byB1bWkuIEtsaWtuZXMgc2kgbmEgY29udHJvbCwNCmt0ZXJ5IGplIGRp
c2FibGUgYSBvbiBqZWogenByaXN0dXBuaS4NCg0KLS0gDQppbmcuIEphbiBGaWFsYQ0KbWFpbHRv
Omphbi5maWFsYUBpb2wuY3o=

Zobrazovani avi animaci

[*] Richard Siegl <rsiegl(zv)elas.sk> - 26.9.2002 10:16:49

Nemas to AVI nahodou kompresovane ....

Rickie
----- Original Message -----
From: "Jan �imeck�" <jsimecky(zv)zskuldova(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, September 25, 2002 6:34 PM
Subject: RE: Zobrazovani avi animaci


> Dobry den,
>
> na vytvareni animaci mam program SWiSH. Pokud soubor avi otevru
komponentou
> TAnimate tak mi to vyhodi hlasku Cannot open AVI. Zadni zvuk ovsem nemam.
>
> PORADTE PROSIM !!!!
>
> S pozdravem
>
> (zv)(zv)(zv)(zv)(zv)(zv)(zv)
> \ ~ ~ /
> (\ (zv) (zv) /)
> -------oOOO--(_)--OOOo-------
>
> Jan �imeck�
> simecky(zv)centrum(tec)cz
> http://www.simecky.tk
> http://www.reklalink.tk
>
> ooO
> ----------( )--Ooo---------
> \ ( ( )
> \_) ) /
> (_)
>
> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
> Behalf Of Petr Vones
> Sent: Tuesday, September 17, 2002 8:36 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: Zobrazovani avi animaci
>
>
> From: "Jan �imeck�" <jsimecky(zv)zskuldova(tec)cz>
> > potreboval bych poradit, jak mam zobrazit avi animace, ktere jsem si
> > vytvoril.
>
> Pokud jde o jednoduche animace bez zvuku, tak pouzij komponentu TAnimate.
>
> Petr Vones
>
>
> ---
> P��choz� zpr�va neobsahuje viry.
> Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
> Verze: 6.0.380 / Virov� b�ze: 213 - datum vyd�n�: 24.7.2002
>
> ---
> Odchoz� zpr�va neobsahuje viry.
> Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
> Verze: 6.0.380 / Virov� b�ze: 213 - datum vyd�n�: 24.7.2002
>
>

SelectDirectory - umiestnenie

[*] Richard Siegl <rsiegl(zv)elas.sk> - 26.9.2002 10:27:02

Nazdar

ked je uz debata o SelectDirectory.... neviete niekto ako sa da aby bol uz
nejaky konkretny adresar vybrany ..... zmenou parametra root iba obmedzim
vyberovu strukturu a to nechcem
alebo nejaky vhodnejsi sposob (komponentu) vyberu adresaru ale musi tam byt
k dispozicii aj siet

Rickie

----- Original Message -----
From: "Ondrej Kelle" <O.Kelle(zv)digitalpublishing.de>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, September 25, 2002 3:30 PM
Subject: RE: SelectDirectory - umiestnenie


> > ked pouzijem na vyber adresara nieco taketo:
> >
> > SelectDirectory('Vyber cestu:', '', StrDir);
> >
> > tak mi to mrskne to male okienko kdesi vpravo dole, ale ja by
> > som ho chcel vycentrovane alebo mu chcel povedat kde ma
> > byt umiestnene
>
> Cau,
> da sa to napriklad takto:
>
> function SelectDirCB(Wnd: HWND; uMsg: UINT; lParam, lpData: LPARAM):
> Integer; stdcall;

Oracle PL/SQL

[*] Ben, Martin (CAP, GCF) <Martin.Ben(zv)gecapital(tec)com> - 26.9.2002 10:27:29

Podle verze Oracle zkus jednu z techto moznosti:

1)
declare
v_sql varchar2(255);
begin
v_sql := 'delete from ' || m_tab_n || ' where model = ' || m_sysop;
execute immediate v_sql;
end;

2)
declare
v_cursor number;
v_rows number;
v_sql varchar2(255);
begin
v_cursor := dbms_sql.open_cursor;
v_sql := 'delete from ' || m_tab_n || ' where model = ' || m_sysop;
dbms_sql.parse(v_cursor,v_sql,dbms_sql.native);
v_rows := dbms_sql.execute(v_cursor);
dbms_sql.close_cursor(v_cursor);
end;

Martin Ben

PS: Poradne si zkontroluj spravny tvar SQL prikazu DELETE v promenne v_sql.

> -----Original Message-----
> From: Jiri Lev [mailto:levj(zv)jhv(tec)cz]
>
> ...
> delete from m_tab_n where model = m_sysop;
> ...
>
> Na tomhle "delete from m_tab_n where model = m_sysop;" se kompilator
> zpouzi a zpouzi...., jestlize mu napisu misto m_tab_n nejakou tabulku
> primo, tak to zchroupne.... Nevite nekdo co s tim ? Vsechny tabulky
> existuji...

SelectDirectory - umiestnenie

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 26.9.2002 11:04:13

Napsal jsem si na to tenhle unit, je tam k dispozici i sit (ale nezobrazi se
sitovy adresar, i kdyz existuje) a pokud existuje adresar InitialDirectory,
struktura se prislusne rozbali.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
http://web.redbox(tec)cz/petr.brant
D&COMM s.r.o.
Korunova�n� 6
Praha 7
tel. +420724007234

unit BrowseDir;

interface
uses
Windows,
ShlObj, SysUtils, FileCtrl;

type TBrowseDirectory = class(TObject)
private
{ Private declarations }


public
{ Public declarations }
function BrowseForDirectory(OwnerWnd:THandle; InitialDirectory: string; var
SelectedDirectory:string):boolean;
end;

implementation
uses ActiveX;

var m_InitialDirectory:string;

function BrowseCallbackProc(Wnd: HWnd; Msg: UINT; lPar: LPARAM; lData:
LPARAM): integer; stdcall;
begin
Result := 0;
if (Msg = BFFM_INITIALIZED) and DirectoryExists(m_InitialDirectory) then
SendMessage(Wnd, BFFM_SETSELECTION, 1, LPARAM(m_InitialDirectory) );
end;


function TBrowseDirectory.BrowseForDirectory(OwnerWnd:THandle;
InitialDirectory: string; var SelectedDirectory:string):boolean;
var BrowseInfo: TBrowseInfo;
idRoot: PItemIDList;
Dir: PChar;
ShellMalloc: IMalloc;
begin
FillChar(BrowseInfo, SizeOf(BrowseInfo), 0);
if (ShGetMalloc(ShellMalloc) = S_OK) and (ShellMalloc <> nil) then
begin
Dir:= ShellMalloc.Alloc(MAX_PATH);
try
m_InitialDirectory:=InitialDirectory;
BrowseInfo.hwndOwner:=OwnerWnd;
BrowseInfo.pidlRoot:=idRoot;
BrowseInfo.lpszTitle:='';
BrowseInfo.ulFlags:= BIF_RETURNONLYFSDIRS;
BrowseInfo.lpfn:=BrowseCallbackProc;
BrowseInfo.pszDisplayName:=Dir;
idRoot:=ShBrowseForFolder(BrowseInfo);
Result:=false;
if idRoot<>nil then
begin
SHGetPathFromIDList(idRoot, Dir);
SelectedDirectory:=string(Dir);
ShellMalloc.Free(idRoot);
Result:=(Length(SelectedDirectory)<>0);
end;
finally
ShellMalloc.Free(Dir);
end;
end;
end;
end.

Subject: Re: SelectDirectory - umiestnenie

Nazdar

ked je uz debata o SelectDirectory.... neviete niekto ako sa da aby
bol uz
nejaky konkretny adresar vybrany ..... zmenou parametra root iba
obmedzim
vyberovu strukturu a to nechcem
alebo nejaky vhodnejsi sposob (komponentu) vyberu adresaru ale musi
tam byt
k dispozicii aj siet

Rickie


IB/FB - jde nejak udelat ENUM()?

[*] Ing. Jiri SOKOL <JS-delphi(zv)seznam(tec)cz> - 26.9.2002 11:05:13

Ahoj,
v databazi, jejich tabulkach bych chtel mit sloupce, ktere by mely mit hodnoty
vymezene vyctem.
U jinych databazi to jde pomoci ENUM(vycet).
Jde neco podobneho i u FB/IB? Jak?
Jestli ne, jak to resite?

Diky Jirka


Ing. Jiri Sokol, js-delphi(zv)seznam(tec)cz, +420251431187
D6ProfSP2,WinNT
amatersky programator

______________________________________________________________________
Reklama:
Nenechte si ujit novy film Woodyho Allena "Hollywood Ending" - blaznivou
komedii o tom, jak se ve tme strefit do cerneho. V konech od 3.9.2002.
Sledujte http://www.hce(tec)cz

SelectDirectory - umiestnenie

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 26.9.2002 11:32:40

> ked je uz debata o SelectDirectory.... neviete niekto ako sa
> da aby bol uz nejaky konkretny adresar vybrany

V tom dialogu bude vopred nastavena cesta, ktoru predas pri volani
SelectDirectory v parametri Directory.

> ale musi tam byt k dispozicii aj siet

To tam je tiez.

HTH
TOndrej

pack v Access-e

[*] Ludo Fulop <kexo(zv)ynet.sk> - 26.9.2002 11:34:22

zdravim, da sa nejako skomprimovat databaza v Accesse?
D6->ADO->ODBC->office2000
dik
Ludo Fulop

Zachyceni ukonceni windows

[*] Petr Varga <djvar(zv)post(tec)cz> - 26.9.2002 12:54:24

Ahoj
potreboval jsem poradit, jak mam zachytit ukonceni windows
standartnim zpusobem. Pripadne pokud by jste vedeli tak jaky postup
pri win 98 a pri win NT.. Diky moc Petr

Zachyceni ukonceni windows

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 26.9.2002 13:06:43

private
procedure WMQueryEndSession(var Msg:TWMQueryEndSession);
message WM_QUERYENDSESSION;

procedure TForm1.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
{Uzivatel chce ukoncit Windows, tak si nastavim nejakou promennou,
aby se mi ukoncil i muj program a zavolame si obsluhu
OnCloseQuery }
inherited;
end;

--
ing. Jan Fiala
mailto:jan.fiala(zv)iol(tec)cz

26.9.2002 Petr Varga:
> Ahoj
> potreboval jsem poradit, jak mam zachytit ukonceni windows
> standartnim zpusobem. Pripadne pokud by jste vedeli tak jaky postup
> pri win 98 a pri win NT.. Diky moc Petr

IB versus MSSQL

[*] bardon <bardon(zv)akord-soft(tec)cz> - 26.9.2002 13:26:00

Delam s MS SQL nekolik let a nikdy jsem nepotreboval BEFORE insert. Ted,
kdyz tam je, snazim se najit vyuziti, obcas me neco napadne, ale neni to az
takovy prinos, aby mi stalo za to menit sve stare zvyky.

Ten priklad jsem nepochopil. Nevim ceho ma byt dosazeno a tudiz nevim jak to
resit.

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of Jan Sebel�k
Sent: Wednesday, September 25, 2002 11:11 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: IB versus MSSQL


> Odes�latel: Blazek Jaroslav <Jaroslav.Blazek(zv)access-it(tec)cz>
viz nize

> > honza(zv)haes(tec)cz 24.9.02 12:37 >>>
> Pokud se nemylim, probiha to nasledovne:
> 1. before insert
> 2. integritni kontroly
> 3. after insert
> Podotykam, ze pokud after insert dojde k navaznym akcim na jinych
tabulkach, ktere skonci chybou, tak se provede celkovy rollback celeho
insertu (i kdyz uz jsem AFTER) vcetne vseho, co jsem udelal before insert.
Tedy prave s vyjimkou generatoru.
>
> Abych se priznal, nedokazu pochopit, jak toto resil MSSQL, kdyz neznal
before/after triggery a jak to resi ted.

SelectDirectory - umiestnenie

[*] Richard Siegl <rsiegl(zv)elas.sk> - 26.9.2002 13:31:04

Perfektne ..... mozem ten unit pouzit free .. aj do komercnej aplikacie ???

Rickie

PS : urobil som si upravu ze ked je init dir sietovy tak ho neberiem do
uvahy

----- Original Message -----
From: "Petr Brant" <brant(zv)dcomm(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 26, 2002 11:04 AM
Subject: RE: SelectDirectory - umiestnenie


Napsal jsem si na to tenhle unit, je tam k dispozici i sit (ale nezobrazi se
sitovy adresar, i kdyz existuje) a pokud existuje adresar InitialDirectory,
struktura se prislusne rozbali.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
http://web.redbox(tec)cz/petr.brant
D&COMM s.r.o.
Korunova�n� 6
Praha 7
tel. +420724007234

unit BrowseDir;

interface
uses
Windows,
ShlObj, SysUtils, FileCtrl;

type TBrowseDirectory = class(TObject)
private
{ Private declarations }


public
{ Public declarations }
function BrowseForDirectory(OwnerWnd:THandle; InitialDirectory: string; var
SelectedDirectory:string):boolean;
end;

implementation
uses ActiveX;

var m_InitialDirectory:string;

function BrowseCallbackProc(Wnd: HWnd; Msg: UINT; lPar: LPARAM; lData:
LPARAM): integer; stdcall;
begin
Result := 0;
if (Msg = BFFM_INITIALIZED) and DirectoryExists(m_InitialDirectory) then
SendMessage(Wnd, BFFM_SETSELECTION, 1, LPARAM(m_InitialDirectory) );
end;


function TBrowseDirectory.BrowseForDirectory(OwnerWnd:THandle;
InitialDirectory: string; var SelectedDirectory:string):boolean;
var BrowseInfo: TBrowseInfo;
idRoot: PItemIDList;
Dir: PChar;
ShellMalloc: IMalloc;
begin
FillChar(BrowseInfo, SizeOf(BrowseInfo), 0);
if (ShGetMalloc(ShellMalloc) = S_OK) and (ShellMalloc <> nil) then
begin
Dir:= ShellMalloc.Alloc(MAX_PATH);
try
m_InitialDirectory:=InitialDirectory;
BrowseInfo.hwndOwner:=OwnerWnd;
BrowseInfo.pidlRoot:=idRoot;
BrowseInfo.lpszTitle:='';
BrowseInfo.ulFlags:= BIF_RETURNONLYFSDIRS;
BrowseInfo.lpfn:=BrowseCallbackProc;
BrowseInfo.pszDisplayName:=Dir;
idRoot:=ShBrowseForFolder(BrowseInfo);
Result:=false;
if idRoot<>nil then
begin
SHGetPathFromIDList(idRoot, Dir);
SelectedDirectory:=string(Dir);
ShellMalloc.Free(idRoot);
Result:=(Length(SelectedDirectory)<>0);
end;
finally
ShellMalloc.Free(Dir);
end;
end;
end;
end.

Subject: Re: SelectDirectory - umiestnenie

Nazdar

ked je uz debata o SelectDirectory.... neviete niekto ako sa da aby
bol uz
nejaky konkretny adresar vybrany ..... zmenou parametra root iba
obmedzim
vyberovu strukturu a to nechcem
alebo nejaky vhodnejsi sposob (komponentu) vyberu adresaru ale musi
tam byt
k dispozicii aj siet

Rickie

IB versus MSSQL

[*] bardon <bardon(zv)akord-soft(tec)cz> - 26.9.2002 13:34:41

Jakmile tam bude dostatecne mnoho vet, tak to bude podle meho v podstate
neoptimalizovatelne a tudiz pomale.

Kdybych mel resit tento problem, resil bych to tak, ze bych to necisloval
hned, ale az dodatecne davkovym procesem a pote bych zakazal ta cisla menit
aby mi nevznikly diry. Jestli totiz principielne pripustis dodatecny vznik
der, pak ti ani nejlepsi algoritmus nezaruci, ze se k urcitemu konkretnimu
okamziku vsechny diry dodatecne zaplni.

Jinymi slovy, problem je v tom, ze potrebujes neprerusenou ciselnou radu.
Neprerusena ciselna rada je bud logicky nesmysl (chapu, ze sis to
nevymyslel, byl to nesmyslny pozadavek odnekud), nebo je to opravdu jakasi
transakcni historie a pak pouziju identity a zakazu mazat vety. Dodatecne
zaplnovani der je proste spatne zadani.

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of Blazek Jaroslav
Sent: Wednesday, September 25, 2002 3:39 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: IB versus MSSQL


Ahoj,

> honza(zv)haes(tec)cz 25.9.02 11:11 >>>
>Obavam se, ze nize uvedeny priklad vyse uvedeny problem problem neresi.

no nevim, proc jsi to pridal do tohoto prispevku s timto %Subject%, ale to
patrilo k prispevku na neprerusovanou radu

>Navic, priznam se, ze nize uvedeny kod je pro me absolutne necitelny.

no asi proto, ze IB/FB neumi CASE, mozna snad jsem zaslechl uz ve vyssich
verzich ano

tento kod jede uplne bez problemu....

> SELECT CASE WHEN AktMinimum > 1 THEN 1 ELSE PoruseneMinimum END NoveCislo,
'text' FROM

> (SELECT ISNULL(MIN(Cislo),0) AS AktMinimum FROM Tabulka ) t1,

1. subselect zjisti aktualni minimum - to je pro pripad, ze by vznikla dira
MIN(Cislo) > 1
pr1. 3,4 = 3
pr2. 1,3,4 = 1
pr3. 1,2,3 = 1

> (SELECT ISNULL(MIN(Cislo),0) + 1 AS PoruseneMinimum FROM Tabulka t
> WHERE NOT EXISTS (SELECT * FROM Tabulka WHERE Cislo = t.Cislo + 1)) t2

2. subselect zjisti minimalni cislo + 1 v porusene rade
pr1. 3,4 = 5
pr2. 1,3,4 = 2
pr3. 1,2,3 = 4

provede se skalarni soucin
vysledek
pr1. = AktMinimum( 3 ), PoruseneMinimum+1( 5 )
pr2. = AktMinimum( 1 ), PoruseneMinimum+1( 2 )
pr3. = AktMinimum( 1 ), PoruseneMinimum+1( 4 )

a v prvnim selectu se provede rozhodnuti v CASE a to je jasne
if (AktMinimum > 1)
NoveCislo = 1
else
NoveCislo = PoruseneMinimum

celkovy vysledek
pr.1 = 1
pr.2 = 2
pr.3 = 4


S pozdravem

Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek(zv)access-it(tec)cz
http://www.access-it(tec)cz
ICQ# : 133673990
+420605/813644


IB versus MSSQL

[*] Kalus Jozef Ing. <jozef.kalus(zv)spordat.sk> - 26.9.2002 13:35:08

AFTER a BEFORE sa daju vynikajuco pouzit na zaznamenavanie historie :o)

-----Original Message-----
From: bardon [mailto:bardon(zv)akord-soft(tec)cz]
Sent: Thursday, September 26, 2002 1:26 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: RE: IB versus MSSQL


Delam s MS SQL nekolik let a nikdy jsem nepotreboval BEFORE insert. Ted,
kdyz tam je, snazim se najit vyuziti, obcas me neco napadne, ale neni to az
takovy prinos, aby mi stalo za to menit sve stare zvyky.

SelectDirectory - umiestnenie

[*] Richard Siegl <rsiegl(zv)elas.sk> - 26.9.2002 13:36:14

tak to urcite nie .... to bola prva vec co ma napadla ale nefunguje,
je zajedno ci je v parametry directory nieco nastavene alebo nie vzdy
zobrazi

Rickie
(pouzivam D5 Ent SP1)

----- Original Message -----
From: "Ondrej Kelle" <O.Kelle(zv)digitalpublishing.de>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 26, 2002 11:32 AM
Subject: RE: SelectDirectory - umiestnenie


> > ked je uz debata o SelectDirectory.... neviete niekto ako sa
> > da aby bol uz nejaky konkretny adresar vybrany
>
> V tom dialogu bude vopred nastavena cesta, ktoru predas pri volani
> SelectDirectory v parametri Directory.
>
> > ale musi tam byt k dispozicii aj siet
>
> To tam je tiez.
>
> HTH
> TOndrej
>

CustomDocumentProperties

[*] Tomas Folprecht <tomas(zv)apkfolprecht(tec)cz> - 26.9.2002 13:41:01

Aha, ten typ je v unite Office97.pas, takze stacilo ji pridat do uses.

Uz to lze zkompilovat, vypada to smysluplne, ale na radce:

DocProps:= WDoc.CustomDocumentProperties as DocumentProperties;

to vyhodi chybu EIntfCastError "Interface not supported".

Pricemz ve Visual Basicovskym helpu jsem si precetl, ze Document.CustomDocumentProperties je typu DocumentProperties.

Co s t�m?


Tomas Folprecht

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Milan Tomes
> Sent: Wednesday, September 25, 2002 2:02 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: RE: CustomDocumentProperties
>
>
> A mas naimportovanou typovou knihovnu ??? Kdyz naomportujes knihovnu
> MSWORD9.OLB tak tam tento typ existuje !!!
>
> S pozdravem
>
> Milan Tomes
> mailto:milan.tomes(zv)haida(tec)cz
>
> > Neexistuje zadny typ DocumentProperties ani TDocumentProperties.
> > Tomas
>
>
>

SelectDirectory - umiestnenie

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 26.9.2002 13:54:08

>> V tom dialogu bude vopred nastavena cesta, ktoru predas pri volani
>> SelectDirectory v parametri Directory.

> tak to urcite nie .... to bola prva vec co ma napadla ale nefunguje,
> je zajedno ci je v parametry directory nieco nastavene alebo nie vzdy
> zobrazi

Ak si vsimnes ten riadok v SelectDirCB, co som posielal:

if (lpData <> 0) then
SendMessage(Wnd, BFFM_SETSELECTION, Integer(True), lpData);

tam sa to prave deje. Do callbacku sa ako lpData dostane to, co zadas v
TBrowseInfo.lParam.
Takze v SelectDirectory by si tam mal dat PChar(Directory) a callback potom
zariadi, aby bola ta cesta v dialogu pocas jeho inicializacie vybrana. U mna
to v SelectDirectory vyzera takto:

...
if not DirectoryExists(Directory) then
Directory := '';
...
with BrowseInfo do
begin
...
if Directory <> '' then
lParam := PChar(Directory);
end;
...

> (pouzivam D5 Ent SP1)

Ja pouzivam D6 a tam to uz je. Ak to v D5 nemas, mozes si to tam dopisat.

HTH
TOndrej

CustomDocumentProperties

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 26.9.2002 14:06:36

Zkus si tam doplnit "T" pred to DocumentProperties, cili
DocProps:= WDoc.CustomDocumentProperties as TDocumentProperties;

K tem svym predchozim radam, skutecne jsem nemohl tusit, ze nemas v
USES unitu knihovny :-(

--
ing. Jan Fiala
mailto:jan.fiala(zv)iol(tec)cz

26.9.2002 Tomas Folprecht:
> Aha, ten typ je v unite Office97.pas, takze stacilo ji pridat do uses.
> Uz to lze zkompilovat, vypada to smysluplne, ale na radce:
> DocProps:= WDoc.CustomDocumentProperties as DocumentProperties;
> to vyhodi chybu EIntfCastError "Interface not supported".

Prevedeni komponenty na formulari na vlastni kompo

[*] Da�a Petr <Petr.Dana(zv)pvt(tec)cz> - 26.9.2002 14:12:05

Zdravim,
na formulari mam TPanel a potreboval bych ho prevest na vlastni komponentu. Jsou na nej naveseny nejake udalosti (to nebude problem), ale hlavne mi jde o popup menu. Mam na nem celkem 3. Lze je nejak jednoduse vlozit do vlastni komponenty nebo je budu muset vsechny rucne vytvaret?

Petr

Obousmerne odkazy na Interfaces a ref counting

[*] Erik Salaj <winsoft(zv)stonline.sk> - 26.9.2002 14:35:28

>Nojo ale ten odkaz v pameti je, protoze rodic ma odkaz na syna a syn na
>rodice. Jde o to, ze neni odkaz na zadny prvek z cele te struktury z
>venku, tedy ma cela struktura zaniknout - jestli tohle maji GC v sobe
>zabudovane, tak jsou to opravdu frajeri (a pak se nedivim, ze tolik
>zdrzuji :-)).

jasne, GC funguje (trochu) zlozitejsie, objekty sa oznacuju napr. tak,
ze sa vychadza zo zaciatocneho objektu aplikacie (alebo viacerych
moznych objektov) a zvysne objekty sa uz urcuju deterministicky
(pomocou RTTI informacii je presne zname, ktore polozky objektu
su smerniky na ine objekty a rekurzivne sa tieto objekty oznacuju).

Erik

Query - COUNT

[*] Peter Surovy <psurovy(zv)uevora.pt> - 26.9.2002 13:40:46

Ahoj

----- Original Message -----
From: "Roman" <sw.maurice(zv)seznam(tec)cz>
Sent: Saturday, October 26, 2002 6:50 AM
>
> Pouzil bych radeji count(prvek) as jmenoprvku. Polozku COUNT_OF_P mas
> vytvorenou asi ve Fields...

--no mal si pravdu nebolo to sice vo Fields
ale v Chart- e ktory bol naviazany na to Query
ale tak ci on je mi divne ze na jednom compe
to islo a na druhom nie.

Zachyceni ukonceni windows

[*] Milan Tome� <milan.tomes(zv)haida(tec)cz> - 26.9.2002 14:49:32

Podivej se do archivu na zpravy WM_QUERYENDSESSION a WM_ENDSESSION

S pozdravem

Milan Tomes
mailto:milan.tomes(zv)haida(tec)cz

> potreboval jsem poradit, jak mam zachytit ukonceni windows
> standartnim zpusobem. Pripadne pokud by jste vedeli tak jaky postup
> pri win 98 a pri win NT.. Diky moc Petr

Prevod castky na slova

[*] Pavel Zichovsky <zichovsky(zv)trul(tec)cz> - 26.9.2002 15:16:28

Dobr� den,

nemate nekdo prosim funkci pro prevod cisla na text
slovy (napr. cislo 583 na text "petsetosmdesattri")?

Potrebuju to do jednoho programu pro vnitrni
potrebu, a nechce se mi to vymyslet, pokud uz to
nekdo ma, a bude ochoten mi to (zdarma)
poskytnout.

Delphi 6 Pro

Predem moc diky.

S pozdravem
Pavel �ichovsk� (zichovsky(zv)trul(tec)cz)

FreeReport & presna tlac 2

[*] Pavol Svorc <svorcp(zv)pp.internet.sk> - 26.9.2002 14:28:30

Zdravim,
kedze na povodnu otazku nikto nereagoval, pokusim sa ju
preformulovat. Vo FreeReport 2.32 vytvorim nejaku zostavu pomocou
designera. Ako mozem v takto navrhnutej zostave programovo zmenit
suradnice x,y prvku typu memo? Nedari sa mi na to prist.
P.Svorc


prepinace

[*] Robert TOTH <toth(zv)lc.vszp.sk> - 26.9.2002 15:33:07

je niekte popis prepinacov ku prikazom na "command line" zadavanie prikazov
na archivaciu a pridavanie uzivatelov pre Firebird 1.0 ?

Alternativne - Viete mi poradit co v delphi 5.0 mam urobit aby som mohol
volat api funkcie Firebirdu, kt. su na pridanie uzivatela a obdobne na
archivaciu a restore?

s pozdravom

Ing. Robert TOTH
veduci odboru IS
VsZP - pobocka Lucenec

047 / 43 32 991-2
047 / 43 32 990 - fax

toth(zv)lc.vszp.sk
www.vszp.sk

Prevod castky na slova

[*] Ing. Pavel �ilinec����)b���zf���3 - 26.9.2002 15:43:27

Kdysi to tu bylo, tak jsme si to vzali a mozna to i trochu upravili,
tak tady to je - jen to mame jeste lokalizovane (je to na konci).
Mozna tam budou nejake vlastni fce, ale to uz asi nebude problem
nahradit. Navic jsem z duvodu pravidel odstranil diakritiku, tak si ji
zase dopln.

function CurrToText(Value : Currency) : string;
function Stovky(Trojice : string) : string;
var Prvni, Druha, Treti : string;
Pom1, Pom2, Pom3 : Integer;
begin
Result := '';
Prvni := '0';
Druha := '0';
Treti := '0';
case Length(Trojice) of
3 : begin
Prvni := copy(Trojice,1,1);
Druha := copy(Trojice,2,1);
Treti := copy(Trojice,3,1);
end;
2 : begin
Druha := copy(Trojice,1,1);
Treti := copy(Trojice,2,1);
end;
1 : Treti := Trojice;
end;
if Prvni[1] in ['0','P'] then Pom1 := 0
else Pom1 := StrToInt(Prvni);
if Druha[1] in ['0','P'] then Pom2 := 0
else Pom2 := StrToInt(Druha);
if Treti[3] in ['0','P'] then Pom3 := 0
else Pom3 := StrToInt(Treti);
case Pom1 of
1..2 : Result := Result + GetStr(3280 + Pom1);
3..4 : Result := Result + GetStr(3250 + Pom1) + GetStr(3283);
5..9 : Result := Result + GetStr(3250 + Pom1) + GetStr(3284);
end;
case Pom2 of
1 : Result := Result + GetStr(3260 + Pom3)
else Result := Result + GetStr(3270 + Pom2)
end;
if (Pom2 <> 1) and (Pom3 in [1..9]) then Result := Result + GetStr(3250 + Pom3);
end;
var Pom : integer;
CisloChr, Prvni, Druha, Treti, Ctvrta : string;
begin
Pom := 0;
Result := '';
STR(ABS(Trunc(Value)), CisloChr);
CisloChr := TrimLeft(CisloChr);
case Length(CisloChr) of
10..12 : begin
Prvni := Copy(CisloChr, 1, Length(CisloChr)-9);
Druha := Copy(CisloChr, Length(Prvni)+1, 3);
Treti := Copy(CisloChr, Length(Prvni)+4, 3);
Ctvrta := Copy(CisloChr, Length(Prvni)+7, 3);
end;
7..9 : begin
Prvni := '';
Druha := Copy(CisloChr, 1, Length(CisloChr)-6);
Treti := Copy(CisloChr, Length(Druha)+1, 3);
Ctvrta := Copy(CisloChr, Length(Druha)+4, 3);
end;
4..6 : begin
Prvni := '';
Druha := '';
Treti := Copy(CisloChr, 1, Length(CisloChr)-3);
Ctvrta := Copy(CisloChr, Length(Treti)+1, 3);
end;
1..3 : begin
Prvni := '';
Druha := '';
Treti := '';
Ctvrta := CisloChr;
end;
else begin
Prvni := '';
Druha := '';
Treti := '';
Ctvrta := '0';
end;
end;
{Konverze miliard}
if Length(Prvni) > 0 then
if StrToInt(Prvni) < 3 then Result := GetStr(3289 + Pom)
else Result := GetStr(3292);
{Konverze milionu}
if Length(Druha) > 0 then
if StrToInt(Druha) = 1 then Result := Result + GetStr(3287)
else if StrToInt(Druha) < 5 then Result := Result + Stovky(Druha) + GetStr(3288)
else Result := Result + Stovky(Druha) + GetStr(3289);
{Konverze tisicu}
if Length(Treti) > 0 then
case StrToInt(Treti) of
0 : Result := Result;
1 : Result := Result +GetStr(3285);
2..4 : Result := Result + Stovky(Treti) + GetStr(3286);
else Result := Result + Stovky(Treti) + GetStr(3285);
end;
{Konverze do nuly}
if Length(Ctvrta) > 0 then Result := Result + Stovky(Ctvrta);
if Length(Result) = 0 then Result := GetStr(3250);
{Znamenko}
if Value < 0 then Result := GetStr(3299) + Result;
{Desetinna cast - jako zlomek (minimalne setiny)}
Pom := ABS(Trunc((Value - Trunc(Value)) * 10000));
if Pom <> 0 then
begin
{Pokud to pujde, necham to misto na 4 jen 2 desetinna mista}
if Pom mod 10 = 0 then Pom := Pom div 10;
if Pom mod 10 = 0 then Pom := Pom div 10;
{A doplnim i ten zlomek}
Result := Result + ' ' + IntToStr(Pom) + '/1' + MakeStr('0', Length(IntToStr(Pom)));
end;
end;

STRINGTABLE
{
3250, "nula"
3251, "jedna"
3252, "dve"
3253, "tri"
3254, "ctyri"
3255, "pet"
3256, "sest"
3257, "sedm"
3258, "osm"
3259, "devet"
3260, "deset"
3261, "jedenact"
3262, "dvanact"
3263, "trinact"
3264, "ctrnact"
3265, "patnact"
3266, "sestnact"
3267, "sedmnact"
3268, "osmnact"
3269, "devatenact"
3272, "dvacet"
3273, "tricet"
3274, "ctyricet"
3275, "padesat"
3276, "sedesat"
3277, "sedmdesast"
3278, "osmdesat"
3279, "devadesat"
3281, "sto"
3282, "dveste"
3283, "sta"
3284, "set"
3285, "tisic"
3286, "tisice"
3287, "milion"
3288, "miliony"
3289, "milionu"
3290, "miliarda"
3291, "miliardy"
3292, "miliard"
3299, "minus "
}

--------
ing. Pavel Zilinec
MailTo:zilinec(zv)email(tec)cz

Prog-Soft s.r.o. Plzen
Informacni system pro vyrobce
a distributory napoju

PZ> Dobr� den,

PZ> nemate nekdo prosim funkci pro prevod cisla na text
PZ> slovy (napr. cislo 583 na text "petsetosmdesattri")?

PZ> Potrebuju to do jednoho programu pro vnitrni
PZ> potrebu, a nechce se mi to vymyslet, pokud uz to
PZ> nekdo ma, a bude ochoten mi to (zdarma)
PZ> poskytnout.

PZ> Delphi 6 Pro

PZ> Predem moc diky.

PZ> S pozdravem
PZ> Pavel �ichovsk� (zichovsky(zv)trul(tec)cz)

Prevedeni komponenty na formulari na vlastni kompo

[*] Richard Siegl <rsiegl(zv)elas.sk> - 26.9.2002 15:51:48

ak je ten tvoj komponent potomkom TPanelu tak potom prepis v xxx.dfm a
xxx.pas subore definiciu toho objektu.

napr dfm:

object Panel1: TPanel => object Panel1: TMojPanel

pas :

Panel1: TPanel => Panel1: TMojPanel

dufam ze som to nepoplietol a napisal zrozumitelne .... robil som to
niekolko krat ked upravoval v testovacom projekte komponentu a potom nou
jednoducho nahradil napr combobox bez akehokolvek programovania

Rickie

----- Original Message -----
From: "Da�a Petr" <Petr.Dana(zv)pvt(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, September 26, 2002 2:12 PM
Subject: Prevedeni komponenty na formulari na vlastni komponentu


Zdravim,
na formulari mam TPanel a potreboval bych ho prevest na vlastni komponentu.
Jsou na nej naveseny nejake udalosti (to nebude problem), ale hlavne mi jde
o popup menu. Mam na nem celkem 3. Lze je nejak jednoduse vlozit do vlastni
komponenty nebo je budu muset vsechny rucne vytvaret?

Petr

Access violation at address 0048B44A

[*] aaa <j.staufcik(zv)msp.mesit(tec)cz> - 26.9.2002 15:51:00

Je to rok, co jsem se za�al u�it Delphi. Sou�asn� jsem musel p�evz�t po sv�m
p�edch�dci v�t�� d�lko v Delphi v.5. Nejprve �dr�ba a drobn� �pravy, pak
dost velk� z�sah. Program mi te� v ur�it�m m�st� spadne s hl�kou : Project
Program.exe raised exception class EaccessViolation with message 'Access
violation at address 0048B44A in module Program.exe.Read of address
00000004'. Use Step or Run to continue.
a j� nejsem schopen na z�klad� chybov�ch hl�en� poznat, kde je chyba.
Krokov�n� p�es debuger mne zavede do syst�mu.

Byl by n�kdo ochoten mi pomoci? Pepa

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


Zobrazovani avi animaci

[*] Ji�� Semler <jsemler(zv)stbk.mcs(tec)cz> - 26.9.2002 15:58:41


Mozna by ti mohlo pomoct tohle.
Vezmi TMediaPlayer a nastav display:=Animate1, FileName:='xxx.avi' a
AutoOpen:=True, a pust to.

Jirka


> Dobry den,
>
> na vytvareni animaci mam program SWiSH. Pokud soubor avi otevru komponentou
> TAnimate tak mi to vyhodi hlasku Cannot open AVI. Zadni zvuk ovsem nemam.
>
> Jan �imeck�
>
> From: "Jan �imeck�" <jsimecky(zv)zskuldova(tec)cz>
> > potreboval bych poradit, jak mam zobrazit avi animace, ktere jsem si
> > vytvoril.
>
> Pokud jde o jednoduche animace bez zvuku, tak pouzij komponentu TAnimate.
>
> Petr Vones

Access violation at address 0048B44A

[*] Peter Surovy <psurovy(zv)uevora.pt> - 26.9.2002 15:01:43

Ahoj

----- Original Message -----
From: "aaa" <j.staufcik(zv)msp.mesit(tec)cz>
Sent: Thursday, September 26, 2002 2:51 PM
>: Project
> Program.exe raised exception class EaccessViolation with message 'Access
> violation at address 0048B44A in module Program.exe.Read of address
> 00000004'. Use Step or Run to continue.
--- to moze byt mnoho dovodov hlavne si odkontroluj premenne
ci nezapisujes do malej premennej velke cislo a pod.
napr. do bytu zapises 260 a je to
do longword -1 a tak...

potom ak pouzivas instancie tried
ci ich spravne vytvaras:

MojObject.kresli //bude chyba

mojObject:=TObject.create;
MojObject.kresli; // uz by malo byt OK


> a j� nejsem schopen na z�klad� chybov�ch hl�en� poznat, kde je chyba.
> Krokov�n� p�es debuger mne zavede do syst�mu.
--- co tym myslis?

Access violation at address 0048B44A

[*] Ing. Pavel �ilinec����)b���zf���3 - 26.9.2002 16:02:56

Nevim, jestli je vubec mozne nektere takove chyby primo odchytit a
dosledovat.
Na nasem (take obsahlejsim) projektu se to take stava a u nas to treba
je neuvolnenim nejakych objektu z pameti (ted uz si na to davame dobry
pozor), ale i tak se nam takove hlasky jeste objevuji - je to dost
narocna prace toto vsechno dohledavat v hromade souboru :(

--------
ing. Pavel Zilinec
MailTo:zilinec(zv)email(tec)cz

Prog-Soft s.r.o. Plzen
Informacni system pro vyrobce
a distributory napoju

a> Je to rok, co jsem se za�al u�it Delphi. Sou�asn� jsem musel p�evz�t po sv�m
a> p�edch�dci v�t�� d�lko v Delphi v.5. Nejprve �dr�ba a drobn� �pravy, pak
a> dost velk� z�sah. Program mi te� v ur�it�m m�st� spadne s hl�kou : Project
a> Program.exe raised exception class EaccessViolation with message 'Access
a> violation at address 0048B44A in module Program.exe.Read of address
a> 00000004'. Use Step or Run to continue.
a> a j� nejsem schopen na z�klad� chybov�ch hl�en� poznat, kde je chyba.
a> Krokov�n� p�es debuger mne zavede do syst�mu.

a> Byl by n�kdo ochoten mi pomoci? Pepa

Eventy v IB, jak je osetrit

[*] Petr Selinger <delphiforum(zv)centrum(tec)cz> - 26.9.2002 16:03:40

Zdravim,
resim nasledujici problem: v Databazi mam trigger, ktery
vyvola Event kdyz pribude v tabulce zaznam (After Insert).
V programu tento event odchytnu a zaznam(y) zpracuju.

Problem je, kdyz mi techto zaznamu pribude v tabulce najednou
nekolik ve shlucich. Event se nejspis vyvolava nekolikrat a ja
pak nektere zaznamy ztracim. Nacitani je reseno selectem na
tabulku, kde se vyberou vsechny zaznamy vetsi nez posledni
nactene poradove cislo.

Posloupnost:

Po vyvolani Eventu:
1. select * from tabulka where id > last_id
2. prochazim dataset a ukladam zaznamy nekam jinam
3. ziskani maximalniho cisla id z tabulky a ulozeni do last_id

Myslim si, ze kdyz se Event vyvola v jeden casovy okamzik
vicekrat, procedura se spousti paralelne a ja ztracim zaznamy.
Napadlo me to osetrit pomoci TCriticalSection, ale nejak to
nezafungovalo.

Neresil nekdo neco podobneho?

Diky, Petr

IB 6.0.1, D5 UP2

--------------------
Vyhrajte sk�tr Peugeot na www.superliga(tec)cz . Zalo�te si sv�j t�m a hrajte s n�mi !

TImage a skrolovani obrazku

[*] JiriKrakora(zv)skh(tec)cz - 26.9.2002 16:07:24

This is a multipart message in MIME format.
Dobry den,

Mohl by mi nekdo poradit, jak prinutit komponentu TImage, aby mi
skrolovala obrazek, ktery do ni nactu? Nikde jsem nenasel nic o
scrolbarech v TImage. Umi jenom Proportional, coz neni to co potrebuji.

Dekuji, Jirka.

Access violation at address 0048B44A

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 26.9.2002 16:07:22

>Je to rok, co jsem se za�al u�it Delphi. Sou�asn� jsem musel p�evz�t
po sv�m
>p�edch�dci v�t�� d�lko v Delphi v.5. Nejprve �dr�ba a drobn� �pravy,
pak
>dost velk� z�sah. Program mi te� v ur�it�m m�st� spadne s hl�kou :
Project
>Program.exe raised exception class EaccessViolation with message
'Access
>violation at address 0048B44A in module Program.exe.Read of address
>00000004'. Use Step or Run to continue.
> a j� nejsem schopen na z�klad� chybov�ch hl�en� poznat, kde je
chyba.
>Krokov�n� p�es debuger mne zavede do syst�mu.

navrhuju:
1) prelozit s debug info a stack frames a spustit v MemProofu. Pokud
budes
mit trochu stesti najde chybu v pouziti/dealokaci pameti
2) vygenerovat mapfile a podle adresy ty chyby najit/odhadnout
alespon unitu
kde k chybe dochazi. Casto se podobne chyby bohuzel projevi az v
SysUtils.pas atd (pri realokaci stringa apod)
3) podezrely kod doplnovat ladicimi hlaskami az se podari lokalizovat
konkretni rutinu/radku kodu...

Tipoval bych na nejaky problem se spatne inicializovanym stringem
(napriklad alokace pameti pro Record obsahujici ansistringa pomoci
GetMem, cteni Recordu obsahujiciho stringa ze souboru atd) atd.

D. Toman


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