Archív konference Delphi

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

Spusteni service

[*] Viliam Mlich <mlich1(zv)volny(tec)cz> - 10.1.2003 23:11:44

> Presne tak potrebuji vyuzit vsech vyhod ktere mi sluzba NT prinasi
(system
> account,spousteni pri startu ...). Chtel jsem se jen vyhnout
implemetaci
> sheduleru

Sluzby sa daju spustat a zastavovat z cmd-line prikazom 'net start ..'
resp. 'net stop ..' a normalnym schedulerom mozes naplanovat, kedy sa
.BAT s tymto prikazom ma vykonat.

Ina varianta je v sluzbe cakat na single object (subor, semafor atd.) a
schedulerom naplanovat jeho vytvorenie. Subor vyrobis napr. prikazom
'echo'.

bye
vmlich http://www.rar(tec)cz


msdos aplikacia vo W2k poziera 100% procesora

[*] Tomas Grepl <delphi(zv)kapsw(tec)cz> - 11.1.2003 00:11:50

> vo W2000 jedna msdos aplikacia zerie 100% procesora

resenim muze byt take program Tame
www.tamedos.com

Tomas

Shut down Windows

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 11.1.2003 00:27:04


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

> LedovecAko sa da vypnut Windows?

Ahoj.

Treba :

program poweroff;

uses Windows,Sysutils;


var
hToken, hProcess: THandle;
tp, prev_tp: TTokenPrivileges;
Len: DWORD;

begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
hProcess := OpenProcess(PROCESS_ALL_ACCESS, True, GetCurrentProcessID);
try
if not OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES or
TOKEN_QUERY, hToken) then Exit;
finally
CloseHandle(hProcess);
end;
try
if not LookupPrivilegeValue('', 'SeShutdownPrivilege',
tp.Privileges[0].Luid) then Exit;
tp.PrivilegeCount := 1;
tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
if not AdjustTokenPrivileges(hToken, False, tp, SizeOf(prev_tp),
prev_tp, Len) then Exit;
finally
CloseHandle(hToken);
end;
end;
ExitWindowsEx(EWX_POWEROFF or EWX_FORCE , 0); //EWX_xxxxx konstanty pro
vypnuti,logooff,shutdown atd, FORCE - nepta se aplikaci
end.

Prednastaveni noveho formu

[*] tondrej(zv)t-online.de (TOndrej) - 11.1.2003 01:14:11

> Preji pekny den,
> D5prof
>
> daji se nejak ovlivnit prednastavene hodnoty noveho formu? Mam na mysli
> toto: umistim-li do aplikace novy form, aby se mi nastavily property podle
> meho nastaveni (napr. ShowHint=true...) nebo jsem odkazany jen na sve formy
> takto nastavene a ulozene do repository a nove jsou "zadratovane" a musim u
> kazdeho tyto vlastnosti menit rucne?

Konkretne File\New\Form nie je prilis flexibilne, nejake moznosti na upravu
("DefaultFont") su v registry:
http://bdn.borland.com/article/0,1410,26668,00.html
Dalsia moznost je pridat si prednastaveny formular do repository:
http://bdn.borland.com/article/0,1410,16977,00.html
Dalsia moznost je vytvorit si module creator wizard cez OpenTools API.

Napisal som kedysi jednu sadu wizardov, akysi framework na tvorbu wizardov,
snad pomoze: http://community.borland.com/article/0,1410,28050,00.html

Osobne by som pouzil prave to repository, zda sa mi to najpohodlnejsie. Wizard
je asi vhodnejsi, ak potrebujes vecsiu flexibilitu, a novy projekt/modul sa ma
generovat dynamicky na zaklade nejakeho vstupneho dialogu.
No a tie moje wizardy na tvorbu wizardov, to uz je len taky ulet ;-)

HTH
TOndrej

SQL Collation conflict

[*] Radim Hampel <hampel(zv)ecommerce(tec)cz> - 11.1.2003 11:04:52

> From: Ludek ZITA Sent: Friday, January 10, 2003 5:30 PM

> Poradte mi prosim jak mam zjoinovat dve tabulky z ruznych=20
> databazi na temze
> serveru kdyz jsou kazda s jinou collation.
> Zkousel jsem
> SELECT .....
> FROM db1.dbo.Table1 T1
> JOIN db2.dbo.Table2 T2 ON Convert(nchar,T1.JMENO_UZIV) =3D
> Convert(nchar,T2.o_prijmeni)

Zkus neco takovyho:

SELECT *=20
FROM text=20
WHERE a =3D b COLLATE [nejaka_colation]

Proste si u jednoho explicitne nastavit colation, aby byla shodna s
druhym.

Radim


Rychlost vykreslovani

[*] <kuba.zubaty(zv)centrum(tec)cz> - 11.1.2003 13:35:14

Ahoj,=20
chtel bych docilit obrazku na pozadi listboxu.

procedure TForm1.ListBox2DrawItem(Control: TWinControl;=20
Index:Integer; Rect: TRect; State: TOwnerDrawState);
var x,y:word;
Bitmapa:TBitmap;
begin
Bitmapa:=3DTBitmap.Create;
Bitmapa:=3DImage1.Picture.Bitmap;
( Control As TListBox ).Canvas.BrushCopy
(Rect,Bitmapa,Rect,clBlack);
end;


to vsak zpomali program k nepouzitelnosti.
Zkusil jsem i snizit pocet barev v bitmape na 256.

Co s tim?
Diky



--------------------
NOVINKA na Centrum(tec)cz Auto! Nejv=ECt=B9=ED autokatalog na =E8esk=E9m in=
ternetu - sestavte si sv=E9 auto sn=F9! http://auto.centrum(tec)cz/katalog


Rychlost vykreslovani

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 11.1.2003 13:40:17

Takhle je ale bitmapa jako pozadi kazde polozky zvlast, ne jako pozadi
celeho listboxu. Zbytecne vytvaris pro kazdou polozku objekt TBitmap a
neuvolnujes ho (!!!) - to bude patrne duvod zpomaleni. Uprav kresleni =
takto:

(Control As TListBox
).Canvas.BrushCopy(Rect,Image1.Picture.Bitmap,Rect,clBlack);

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]=20
http://web.redbox(tec)cz/petr.brant

D&COMM s.r.o.
Korunova=E8n=ED 6
Praha 7
tel. +420724007234


Subject: Rychlost vykreslovani

chtel bych docilit obrazku na pozadi listboxu.

procedure TForm1.ListBox2DrawItem(Control: TWinControl;=20
Index:Integer; Rect: TRect; State: TOwnerDrawState);
var x,y:word;
Bitmapa:TBitmap;
begin
Bitmapa:=3DTBitmap.Create;
Bitmapa:=3DImage1.Picture.Bitmap;
( Control As TListBox =
).Canvas.BrushCopy(Rect,Bitmapa,Rect,clBlack);
=20
end;

to vsak zpomali program k nepouzitelnosti.
Zkusil jsem i snizit pocet barev v bitmape na 256.

aktivni objekt

[*] <kuba.zubaty(zv)centrum(tec)cz> - 11.1.2003 13:45:04

Ahoj, jeste banalita.
Jakzm prikazen nastavym objekt jako aktivni.

napr. Chci po nejake akci nastavit aktivni tlacitko Storno

Diky

--------------------
NOVINKA na Centrum(tec)cz Auto! Nejv=ECt=B9=ED autokatalog na =E8esk=E9m in=
ternetu - sestavte si sv=E9 auto sn=F9! http://auto.centrum(tec)cz/katalog


Shut down Windows

[*] Peter Ondras <peter.ondras(zv)pse.sk> - 11.1.2003 14:10:58

(*
Pouzi tento maly program. Na form daj jeden button a prirad mu
button1onclick. Funguje to aj vo win nt, 2000 a xp.
*)

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
function MyExitWindows(RebootParam: Longword): Boolean;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.MyExitWindows(RebootParam: Longword): Boolean;
var TTokenHd: THandle;
TTokenPvg: TTokenPrivileges;
cbtpPrevious: DWORD;
rTTokenPvg: TTokenPrivileges;
pcbtpPreviousRequired: DWORD;
tpResult: Boolean;
const SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
begin
//univerzalny ovladac pre rozne druhy vypinania Windows
if Win32Platform=VER_PLATFORM_WIN32_NT then
begin
//nastavenie pristupovych prav vo WinNT a Win2000
tpResult:=OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, TTokenHd);
if tpResult then
begin
tpResult:=LookupPrivilegeValue(nil, SE_SHUTDOWN_NAME,
TTokenPvg.Privileges[0].Luid);
TTokenPvg.PrivilegeCount:=1;
TTokenPvg.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
cbtpPrevious:=SizeOf(rTTokenPvg);
pcbtpPreviousRequired := 0;
if tpResult then
Windows.AdjustTokenPrivileges(TTokenHd, False, TTokenPvg,
cbtpPrevious, rTTokenPvg, pcbtpPreviousRequired);
end;
end;
//samotne zresetovanie alebo vypnutie (podla parametra)
Result:=ExitWindowsEx(RebootParam, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
MyExitWindows(EWX_POWEROFF or EWX_FORCE);
end;

end.

Peter Ondras
peter.ondras(zv)pse.sk
(+421) 0904 421 925
>: -----Original Message-----
>: From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]
On
>: Behalf Of Martin Kasman
>: Sent: Friday, January 10, 2003 10:44 PM
>: To: Delphi
>: Subject: Shut down Windows
>:
>: LedovecAko sa da vypnut Windows?
>:
>: Vdaka za kazdu radu.
>:
>:
>:
>: --------------------------
>: Tisicky obrazkov na tlacitka a ikonky v Delphi!
>: www.martinkasman.sk - Sekcia programy zdarma, program Ikony!
>:

aktivni objekt

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 11.1.2003 14:39:01

Tlacitko.SetFocus

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

11.1.2003 kuba.zubaty(zv)centrum(tec)cz:
> Ahoj, jeste banalita.
> Jakzm prikazen nastavym objekt jako aktivni.

> napr. Chci po nejake akci nastavit aktivni tlacitko Storno

XP controls vs. nativni vizualni Delphi komponenty

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 11.1.2003 17:55:25

From: "Tomas Krysl" <tomkrysl(zv)quick(tec)cz>
> existuje nejaky zpusob, jak donutit nativni vizualni VCL komponenty k
> podobnemu zobrazeni, jako maji new style controls ve WinXP? Mam na mysli
> napr. TBitBtn, TSpeedButton, aj. Kdyz do jedne sve aplikace zaresourcuju ten
> manifest, tak z toho je pekna cokolada ;-(.

Ano, pouzit VCL s podporou XP manifestu ktera je az v Delphi 7. Castecne
reseni pro starsi verze Delphi nabizi XP Theme Manager:
http://www.delphi-gems.com/ThemeManager.php

Petr Vones

Rychlost vykreslovani

[*] <kuba.zubaty(zv)centrum(tec)cz> - 11.1.2003 18:24:40

Podle tve rady se nevykreslilo nic a obrazek z image1 zmizel.
Posledni uprava s globalni promennou bitmapa:

with ( Control As TListBox ).Canvas do begin
BrushCopy(Rect,Bitmapa,Rect,clBlack);
end;

Stale je to pomale. Posun o jednu polozku trva cca 2sekundy.
Jak jde vykreslit pozadi celeho listboxu a ne po jednotlivych
polozkach?

Diky
______________________________________________________________
> Od: <delphi-l-owner(zv)clexpert(tec)cz>
> Komu: delphi-l(zv)clexpert(tec)cz
> CC:
> Datum: Sat, 11 Jan 2003 13:40:17 +0100
> P�edm�t: RE: Rychlost vykreslovani
>
> Takhle je ale bitmapa jako pozadi kazde polozky zvlast, ne jako
pozadi
> celeho listboxu. Zbytecne vytvaris pro kazdou polozku objekt
TBitmap a
> neuvolnujes ho (!!!) - to bude patrne duvod zpomaleni. Uprav
kresleni takto:
>
> (Control As TListBox
> ).Canvas.BrushCopy(Rect,Image1.Picture.Bitmap,Rect,clBlack);
>
> 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
>
>
> Subject: Rychlost vykreslovani
>
> chtel bych docilit obrazku na pozadi listboxu.
>
> procedure TForm1.ListBox2DrawItem(Control: TWinControl;
> Index:Integer; Rect: TRect; State: TOwnerDrawState);
> var x,y:word;
> Bitmapa:TBitmap;
> begin
> Bitmapa:=TBitmap.Create;
> Bitmapa:=Image1.Picture.Bitmap;
> ( Control As TListBox ).Canvas.BrushCopy
(Rect,Bitmapa,Rect,clBlack);
>
> end;
>
> to vsak zpomali program k nepouzitelnosti.
> Zkusil jsem i snizit pocet barev v bitmape na 256.
>


--------------------
NOVINKA na Centrum(tec)cz Auto! Nejv�t�� autokatalog na �esk�m internetu - sestavte si sv� auto sn�! http://auto.centrum(tec)cz/katalog


SQL - Group by ROK, MESIC

[*] J�n Harman <harman(zv)volny(tec)cz> - 11.1.2003 19:35:37

To jsem zkousel taky, ale je to to same. Vypada to ze v Group by asi nemuze
byt pole ktere vylozene neni fyzicke.
Nejake dalsi navrhy?

> Zkus GROUP BY 1,2
> Ludek

> > SELECT EXTRACT(YEAR FROM DatumCas) AS ROK,
> > EXTRACT(MONTH FROM DatumCas) AS MESIC,
> > Count (*)
> > from WorkData
> > GROUP BY ROK, MESIC
> >
> > NEFUNGUJE TO! Napise to ze nezna pole ROK. POMOZTE nekdo PROSIM.
> > Honza.

SQL - Group by ROK, MESIC

[*] Ing. Marek Kocan <kocan(zv)ebchod(tec)cz> - 11.1.2003 19:57:36

pokud nejde pouzit syntaxi pomoci pozice ani aliasu, je jeste mozne pouzit
view... KER

P.S. Mimochodem, o jakou platformu jde? Nejak mi to uniko...

Zajimaji vas databazove technologie? Pak navstivte informacni server
Databazovy svet (http://www.dbsvet(tec)cz)
----- Original Message -----
From: "J�n Harman" <harman(zv)volny(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Saturday, January 11, 2003 7:35 PM
Subject: Re: SQL - Group by ROK, MESIC


> To jsem zkousel taky, ale je to to same. Vypada to ze v Group by asi
nemuze
> byt pole ktere vylozene neni fyzicke.
> Nejake dalsi navrhy?
>
> > Zkus GROUP BY 1,2
> > Ludek
>
> > > SELECT EXTRACT(YEAR FROM DatumCas) AS ROK,
> > > EXTRACT(MONTH FROM DatumCas) AS MESIC,
> > > Count (*)
> > > from WorkData
> > > GROUP BY ROK, MESIC
> > >
> > > NEFUNGUJE TO! Napise to ze nezna pole ROK. POMOZTE nekdo PROSIM.
> > > Honza.

SQL - Group by ROK, MESIC

[*] J�n Harman <harman(zv)volny(tec)cz> - 11.1.2003 20:28:37

Taky mne napadlo pouzit View...nic z toho, nelze vytvorit takove View.
Jde o W2k, FB1.0
Honza.

> pokud nejde pouzit syntaxi pomoci pozice ani aliasu, je jeste mozne pou=
zit
> view... KER
>
> P.S. Mimochodem, o jakou platformu jde? Nejak mi to uniko...
>
> Zajimaji vas databazove technologie? Pak navstivte informacni server
> Databazovy svet (http://www.dbsvet(tec)cz)
> ----- Original Message -----
> From: "J=E1n Harman" <harman(zv)volny(tec)cz>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Saturday, January 11, 2003 7:35 PM
> Subject: Re: SQL - Group by ROK, MESIC
>
>
> > To jsem zkousel taky, ale je to to same. Vypada to ze v Group by asi
> nemuze
> > byt pole ktere vylozene neni fyzicke.
> > Nejake dalsi navrhy?
> >
> > > Zkus GROUP BY 1,2
> > > Ludek
> >
> > > > SELECT EXTRACT(YEAR FROM DatumCas) AS ROK,
> > > > EXTRACT(MONTH FROM DatumCas) AS MESIC,
> > > > Count (*)
> > > > from WorkData
> > > > GROUP BY ROK, MESIC
> > > >
> > > > NEFUNGUJE TO! Napise to ze nezna pole ROK. POMOZTE nekdo PROSIM.
> > > > Honza.
>
>

SQL - Group by ROK, MESIC

[*] Ing. Marek Kocan <kocan(zv)ebchod(tec)cz> - 11.1.2003 20:38:39

Proc by neslo pouzit? U FB si myslim, ze mas smulu, aliasy ani poradi tam
takto nefunguji... KER
----- Original Message -----
From: "J�n Harman" <harman(zv)volny(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Saturday, January 11, 2003 8:28 PM
Subject: Re: SQL - Group by ROK, MESIC


> Taky mne napadlo pouzit View...nic z toho, nelze vytvorit takove View.
> Jde o W2k, FB1.0
> Honza.
>
> > pokud nejde pouzit syntaxi pomoci pozice ani aliasu, je jeste mozne
pouzit
> > view... KER
> >
> > P.S. Mimochodem, o jakou platformu jde? Nejak mi to uniko...

SQL - Group by ROK, MESIC

[*] Viliam Mlich <mlich1(zv)volny(tec)cz> - 11.1.2003 21:11:58

>>> SELECT EXTRACT(YEAR FROM DatumCas) AS ROK,
>>> EXTRACT(MONTH FROM DatumCas) AS MESIC,
>>> Count (*) from WorkData
>>> GROUP BY ROK, MESIC

>> Zkus GROUP BY 1,2

> jsem zkousel taky, ale je to to same

Ja by som skusil:

GROUP BY EXTRACT(YEAR FROM DatumCas)

bye
vmlich http://www.rar(tec)cz

SQL - Group by ROK, MESIC

[*] Ing. Marek Kocan <kocan(zv)ebchod(tec)cz> - 11.1.2003 21:14:28

nemam ted FB pred sebou, ale to imho taky nebude fungovat...
----- Original Message ----- >
> Ja by som skusil:
>
> GROUP BY EXTRACT(YEAR FROM DatumCas)
>
> bye
> vmlich http://www.rar(tec)cz
>

Rychlost vykreslovani

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 11.1.2003 23:57:03

From: <kuba.zubaty(zv)centrum(tec)cz>

> Jak jde vykreslit pozadi celeho listboxu
> a ne po jednotlivych polozkach?


Odchyt si zpravu WM_EraseBkGnd a v jejim
handleru si tu bitmapu vykresli.


HTH, pf

SQL - Group by ROK, MESIC

[*] J�n Harman <harman(zv)volny(tec)cz> - 12.1.2003 01:13:16

> >>> SELECT EXTRACT(YEAR FROM DatumCas) AS ROK,
> >>> EXTRACT(MONTH FROM DatumCas) AS MESIC,
> >>> Count (*) from WorkData
> >>> GROUP BY ROK, MESIC
!!! tady to nefunguje. chybova hlaska: "Dynamic SQL Error SQL error code
= -206 Column unknown ROK At line 4, column 10"
>
> >> Zkus GROUP BY 1,2
!!! tady je hlaska: "...SQL error code = -104 Token unknown - line 4, char
10 1"
>
> > jsem zkousel taky, ale je to to same
>
> Ja by som skusil:
>
> GROUP BY EXTRACT(YEAR FROM DatumCas)
!!! opet chyba: "...SQL error code = -104 Token unknown - line 4, char 10
EXTRACT"

SQL - Group by ROK, MESIC

[*] Radim Hampel <hampel(zv)ecommerce(tec)cz> - 12.1.2003 11:00:09

> From: J=E1n Harman Sent: Saturday, January 11, 2003 7:36 PM

> To jsem zkousel taky, ale je to to same. Vypada to ze v Group=20
> by asi nemuze
> byt pole ktere vylozene neni fyzicke.
> Nejake dalsi navrhy?

Co takhle

SELECT EXTRACT(YEAR FROM DatumCas) AS ROK,
EXTRACT(MONTH FROM DatumCas) AS MESIC,
Count (*)
from WorkData
>> GROUP BY EXTRACT(YEAR FROM DatumCas), EXTRACT(MONTH FROM DatumCas) <<

Radim


SQL Collation conflict

[*] Bohdan Voska <bohdan(zv)softok(tec)cz> - 12.1.2003 13:10:12

Ta funkce by mela vypadat asi takhle

Create function p((zv)s varchar(4000))
returns nvarchar(4000)
as
begin
return cast((zv)s as nvarchar(4000))
end

a v selectu by bylo

SELECT .....
FROM db1.dbo.Table1 T1
JOIN db2.dbo.Table2 T2 ON p(T1.JMENO_UZIV) =
p(T2.o_prijmeni)

Mame to odzkousene a funguje nam to. Radim Hampel radil neco jako WHERE a =
b COLLATE [nejaka_colation]. Pokud to funguje, tak to taky neni spatny
reseni, ale je zase problem ten, ze musis znat do jakeho kodovani to chces
prevest.

Bohdan Voska

> > > Poradte mi prosim jak mam zjoinovat dve tabulky z ruznych databazi na
> > temze
> > > serveru kdyz jsou kazda s jinou collation.
> > >
>
> > Misto Convert je lepsi pouzit vlastni funkci. V te vlastni funkci muze
byt
> > treba ten convert. Snad Ti to pomuze.
> >
> > Bohdan Voska
> >
> >
>
> Ahoj.
> No ono to samozrejme dela i bez Convert tedy pri prostem porovnani :
> .......ON T1.JMENO_UZIV = T2.o_prijmeni
> convert jsem tam dal ve snaze ten konflikt Collation odstranit.
>
> Co by ta funkce, kterou mas na mysli mela delat. Problem je za kazda
> databaze ma jinou collation, proto jsem se to snazi nejprve prevest na
> Unicode a pak teprve porovnat.

SQL - Group by ROK, MESIC

[*] J�n Harman <harman(zv)volny(tec)cz> - 12.1.2003 13:51:37

Radime nefunguje ani toto. Skutecne to asi bude tak, ze v GROUP BY nemuze
byt jine pole, nez skutecne fyzicke pole v tabulce. Uvidime v pondeli, bude
tady vice lidi, jestli se k tomu nekdo vyjadri.
Honza.

Co takhle

SELECT EXTRACT(YEAR FROM DatumCas) AS ROK,
EXTRACT(MONTH FROM DatumCas) AS MESIC,
Count (*)
from WorkData
>> GROUP BY EXTRACT(YEAR FROM DatumCas), EXTRACT(MONTH FROM DatumCas) <<

Radim

SQL Collation conflict

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 12.1.2003 14:28:21

----- Original Message -----
From: "Bohdan Voska" <bohdan(zv)softok(tec)cz>

> Ta funkce by mela vypadat asi takhle
>
> Create function p((zv)s varchar(4000))
> returns nvarchar(4000)
> as
> begin
> return cast((zv)s as nvarchar(4000))
> end
>
> a v selectu by bylo
>
> SELECT .....
> FROM db1.dbo.Table1 T1
> JOIN db2.dbo.Table2 T2 ON p(T1.JMENO_UZIV) =
> p(T2.o_prijmeni)
***********************
To bohuzel overi az ve stredu.

> Mame to odzkousene a funguje nam to. Radim Hampel radil neco jako WHERE a
=
> b COLLATE [nejaka_colation]. Pokud to funguje, tak to taky neni spatny
> reseni, ale je zase problem ten, ze musis znat do jakeho kodovani to chces
> prevest.
No tohle mne (myslim) taky napadlo a nepomohlo to. Mozna jsem to psal nejak
blbe.

Ludek

SQL - Group by ROK, MESIC

[*] Milan Lucka <mlucka(zv)cz.foxconn(tec)com> - 12.1.2003 14:43:53

Zdravim,

co tak vyskusat toto:

verzia pre MS SQL

SELECT ROK, MESIC, Count(*) FROM
(SELECT YEAR(DatumCas) AS ROK, MONTH (DatumCas) AS MESIC FROM WorkData) AS A
GROUP BY ROK, MESIC

alebo tvoj syntax:

SELECT ROK, MESIC, Count(*) FROM
(SELECT EXTRACT(YEAR FROM DatumCas) AS ROK, EXTRACT(MONTH FROM DatumCas) AS
MESIC FROM WorkData) AS A
GROUP BY ROK, MESIC


Milan

SQL Collation conflict

[*] Petr Langer <langer(zv)xdom(tec)cz> - 12.1.2003 14:56:10


----- Original Message -----
From: "Bohdan Voska" <bohdan(zv)softok(tec)cz>
>
> SELECT .....
> FROM db1.dbo.Table1 T1
> JOIN db2.dbo.Table2 T2 ON p(T1.JMENO_UZIV) =
> p(T2.o_prijmeni)
>
> Mame to odzkousene a funguje nam to. Radim Hampel radil neco jako WHERE a
=
> b COLLATE [nejaka_colation]. Pokud to funguje, tak to taky neni spatny
> reseni, ale je zase problem ten, ze musis znat do jakeho kodovani to chces
> prevest.
>
> Bohdan Voska

Je potreba ale rict, ale to reseni pres UDF ma znacny vliv na vykon, jak uz
kvuli CASTu, tak i kvuli tomu, ze se s nejvetsi pravdepodobnosti nepouzije
spravny index. Nezkoumal jsem sice, jaky vliv na vykon ma uvedeni COLLATE,
ale myslim, ze nijak dramaticky.

HTH
Petr Langer


SQL - Group by ROK, MESIC

[*] J�n Harman <harman(zv)volny(tec)cz> - 12.1.2003 16:27:51

> co tak vyskusat toto:
>
> verzia pre MS SQL
>
> SELECT ROK, MESIC, Count(*) FROM
> (SELECT YEAR(DatumCas) AS ROK, MONTH (DatumCas) AS MESIC FROM WorkData) AS
A
> GROUP BY ROK, MESIC
>
> alebo tvoj syntax:
>
> SELECT ROK, MESIC, Count(*) FROM
> (SELECT EXTRACT(YEAR FROM DatumCas) AS ROK, EXTRACT(MONTH FROM DatumCas)
AS
> MESIC FROM WorkData) AS A
> GROUP BY ROK, MESIC
!!! tak toto nefunguje taky. "...SQL error code = -104 Token unknown - line
2, char 2 SELECT"

Chyba DB pri Query

[*] Honza <blue22(zv)quick(tec)cz> - 12.1.2003 17:18:48


Pokud pouziji k vytvoreni formulare k databazovym polim FormVizzard a vyberu
CreateForm using TTable objects, vsechno funguje.
Pokud pouziji CreateForm useng TQuery objects, zhavaruje to s nasledujici
hlaskou: Project raised exception class EDatabaseError with message
EditStepProcedurename: Field 'Step_1_Procedure name' not found.
Stejne (nebo podobne) se mi to chova, kdyz se snazim SQL prikazy psat sam do
TQuery. Jako by Query vubec nefungovala.

SQL prikaz z TQuery:
Select
`flow`.`PrimaryKey`,
`flow`.`Ind`,
`flow`.`Operator_name`,
`flow`.`Date`,
`flow`.`Step_1`,
`flow`.`Step_1_Remark`,
`flow`.`Step_1_Procedure name`
>From `flow`

DB MySQL, D6
Diky Honza

OT: Skryte adresare

[*] <bukaj(zv)iol(tec)cz> - 12.1.2003 19:23:11

Dobry den,
nevim jestli nekdo znate program "Hlidaci Pes", ale zaujala
me na nem jedna vlastnost. Pri instalaci se nainstaluje do
nejak zvlastne skryteho adresare, ktery neni videt ve Windows
(Total) Commanderu ani kdyz mam nastavene zobrazeni
skrytych souboru. Kdyz dam "cd adresar" tak se tam
dostanu, ale v seznamu adresaru neni videt.

Nevite nekdo, jak to ten program dela???

Kuba

IP adresy

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 12.1.2003 20:28:44

Zdravim

Je mozno zjistit IP adresy vsech pocitacu v siti z jednoho pocitace v sit=
i.

Priklady PEPRSoftu
Netdirectory zjistim pocitace v siti
GetIP zjistim Ip adresu pocitace na kterem programek spustim

Bylo by pekne videt vedle pocitace v siti i jeho IP adresu

Diky za odpoved

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

---
Odchoz=ED zpr=E1va neobsahuje viry.
Zkontrolov=E1no antivirov=FDm syst=E9mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.443 / Virov=E1 b=E1ze: 248 - datum vyd=E1n=ED: 10.1.2003

IP adresy

[*] Petr Langer <langer(zv)xdom(tec)cz> - 12.1.2003 20:57:38

Podivej se do MSDN na funkce WNetOpenEnum a WNetEnumResource.

HTH
Petr Langer

----- Original Message -----
From: "Viktor Marek" <viktor(zv)mbox.vol(tec)cz>
To: "Konference Delphi 2000" <delphi-l(zv)clexpert(tec)cz>
Sent: Sunday, January 12, 2003 8:28 PM
Subject: IP adresy


Zdravim

Je mozno zjistit IP adresy vsech pocitacu v siti z jednoho pocitace v siti.

Priklady PEPRSoftu
Netdirectory zjistim pocitace v siti
GetIP zjistim Ip adresu pocitace na kterem programek spustim

Bylo by pekne videt vedle pocitace v siti i jeho IP adresu

Diky za odpoved

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

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

Firebird a data na CD

[*] KALUS Jozef <jozef.kalus(zv)spordat.sk> - 13.1.2003 07:17:57

ak nie je ta db velka, co tak skopirovat ju najskor na disk do tempu a
potom ju po sebe zase zmazat

joka


Zkousel jsem to - nejde to. Neprisel jsem na to, jak to obejit,
asi je to dano z principu. Skoda, ale na druhou stranu je to
logicke. Databaze Firebird neni proste zamyslena
pro tento typ pouziti.
Napadlo me, ze by to treba mohlo jit, protoze Flash Filler
to umi a pritom je to taky SQL server.
Nicmene presto diky za ochotu.

Honza

Ukladani komponent do souboru a jejich nasledne na

[*] Tvrz Miroslav <Miroslav.Tvrz(zv)merlin(tec)cz> - 13.1.2003 07:35:43

Ahoj,
tak se mi zadarilo zmenit status posledniho mailu z hlaseni chyby na
dobrou fcnost - jak jsem v nedeli, bo kdy psal, ze hlasi chybu s
nezaregistrovanou tridou - uz to chodi. Mam ale problem s dotahovanim
eventu (coz ale zatim nepotrebuju) a hlavne: mam vlastni komponenty,
ktere potrebuju (treba timhle zpusobem) ukladat a neukladaji se mi i
jejich vlastnosti, ktere potrebuju, aby se ukladaly - uklada se cca
5 az 7 vlastnosti - da se nejak udelat aby se pro danou tridu ukladaly
vsechny jeji vlastnosti?

Ja mam s tim ukladanim vlastnich komponent problemy zrejme proto, ze
jsou neforemne napsany (musel jsem to tak udelat, kvuli dosavadnimu
ukladani/nacitani), ale rad bych vedel, jak udelat, aby se ukladaly
vsechny vlastnosti danych komponenet (vse co vidim v Object Inspectoru)

Asi jsem to ted popsal vcelku nejasne, ale rad dovysvetlim.

MI'RA

-----Original Message-----
From: Robert Suska [mailto:SuskaR(zv)seznam(tec)cz]
Sent: Friday, January 10, 2003 9:19 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Ukladani komponent do souboru a jejich nasledne nacitani


Ahoj

pouzi toto a budes bez problemov

function TShowLoadedForm.StringToComponent(Value: string; F:TComponent):
TComponent;
var
StrStream:TStringStream;
BinStream: TMemoryStream;
begin
StrStream := TStringStream.Create(Value);
try
BinStream := TMemoryStream.Create;
try
ObjectTextToBinary(StrStream, BinStream);
BinStream.Seek(0, soFromBeginning);
Result := BinStream.ReadComponent(F);
finally
BinStream.Free;
end;
finally
StrStream.Free;
end;
end;

function ComponentToString(Component: TComponent): string;
var
BinStream:TMemoryStream;
StrStream: TStringStream;
s: string;
begin
BinStream := TMemoryStream.Create;
try
StrStream := TStringStream.Create(s);
try
BinStream.WriteComponent(Component);
BinStream.Seek(0, soFromBeginning);
ObjectBinaryToText(BinStream, StrStream);
StrStream.Seek(0, soFromBeginning);
Result:= StrStream.DataString;
finally
StrStream.Free;

end;
finally
BinStream.Free
end;
end;

priklad pouzitia

if SaveDialog1.Execute then
begin
St:=TStringList.Create;
St.Text:= ComponentToString( TForm Tvoj form ktory budes ukladat aj
s komponentami );
St.SaveToFile(SaveDialog1.FileName);
St.Free;
end;

a spat urobis toto

procedure TMainForm.Otvorulozenyform1Click(Sender: TObject);
var
F:TForm;
St:TStringList;
i: Integer;
s,ss :string;
begin
if OpenDialog.Execute then
begin
St:=TStringList.Create;
St.LoadFromFile(OpenDialog.FileName);}
OpenModul(OpenDialog.FileName);
F:= TForm.Create(Application);
F:=StringToComponent(St.Text,F) as TForm;
F.FormStyle:= fsMDIChild;

for I:= 0 to F.ComponentCount -1 do
begin
ss:= F.Components[i].ClassName;
if F.Components[i] is TButton then
if (F.Components[i] as TButton).Caption = '&FillDATA&' then
begin
Control:= F.Components[i];
(F.Components[i] as TButton).Caption:= 'moj text'; //mojametoda;
(F.Components[i] as TButton).OnClick:= ClickForm.mojclick;
end;
if F.Components[i] is TEdit then
if pos('&FillDATA&', (F.Components[i] as TEdit).Text) <> 0 then
begin
s:= UpravText((F.Components[i] as TEdit).Text, '1200');
Caption:= (s);
end;
ss:= ss;
end;
St.Free;
end;
end;

a vie to pouzivat aj eventy mozes si ich spat pri "otvarani" formu dynamicky
nalinkovat a pouzivat za behu. Ja tak robim jednu celu apl. a je to parada.

To som len tak pastol z jedneho testovacieho dema co som robil niekedy davno
takze tam mozno budu nejake chyby ale podstatu dufam pochopis.

S pozdravom,

************************************
Robert Suska
KORAK SLOVAKIA s.r.o.
Horna 52
974 01 Banska Bystrica
www.korak.sk robert(zv)korak.sk
Network administrator, Delphi programmer
************************************
----- Original Message -----
From: "Tvrz Miroslav" <Miroslav.Tvrz(zv)merlin(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, January 10, 2003 8:42 AM
Subject: Ukladani komponent do souboru a jejich nasledne nacitani


> Ahoj vsem dobrym lidem - prosim o radu,
>
> Mam takovou aplikaci, kde si uzivatel na formular sklada ruzne
komponenty
> (TEdit, TPanel, atp.) a nastavuje si
> jejich ruzne vlastnosti (Text, Caption, Color, rozmery, atp.) - ma jich
> nekolik u kazdeho objektu (kazda je presne
> definovana). No a ja bych potreboval nejak ulozit do souboru vsechny
> komponenty, ktere uzivatel na formular
> naskladal a zaroven s nimi ulozit i vsechny jejich vlastnosti.
>
> Doposud to resim tak, ze pri ukladani mam cyklus, kterym projdu vsechny
> komponenty a do "TXT" (soubor s
> priponou .DAT) souboru zapisu index komponenty (indexy vytvarim/rusim pri
> vkladani/odmazavani komponent z
> formulare) a k onomu indexu pridam danou vlastnost a jeji hodnotu (viz.
> konec mailu). Jenze tenhle zpusob je pak
> celkem dosti krkolomny, jelikoz uzivatel muze mit takovychto komponent na
> formulari i vic nez 100 - jejich nacteni
> na pomalejsim stroji pote zabere treba nekolik minut.
>
> Vedel by prosim nekdo o nejakem rozumnem reseni tohoto problemu - klidne
> mohu ukladat i do binarniho
> souboru, ale aby pak take sel nacitat?
>
> priklad ulozeni dvou komponent a nekolika jejich vlastnosti:
> --------------------------
> 0 Name "Panel1"
> 0 Color "clBlue"
> 0 Caption "Test. panel"
> 0 Width "50"
> 0 Height "100"
> 0 Top "50"
> 0 Left "35"
>
> 1 Name "Edit1"
> 1 Color "clWhite"
> 1 Caption "Test. edit. pole"
> 1 Width "150"
> 1 Height "35"
> 1 FontSize "14"
> 1 Top "10"
> 1 Left "0"
> -------------------------
>
> diky za kazdou radu
>
> MI'RA
>
> Miroslav Tvrz
> Software Development Specialist
> E-mail: miroslav.tvrz(zv)merlin(tec)cz
>

AW: SQL - Group by ROK, MESIC

[*] Burkovsky Ladislav <Ladislav.Burkovsky(zv)autinform.de> - 13.1.2003 07:42:18

Tento problem som tu niekedy uz riesil a to je
pod FB 1 urobit computed polia alebo pozit view s definovanymi Extract(..) a
potom groupnut
na view alebo group by 1,2 ak mas FB 1.5

Vela zdaru

Laco

> >> Zkus GROUP BY 1,2
!!! tady je hlaska: "...SQL error code = -104 Token unknown - line 4, char
10 1"
>
> > jsem zkousel taky, ale je to to same
>
> Ja by som skusil:
>
> GROUP BY EXTRACT(YEAR FROM DatumCas)
!!! opet chyba: "...SQL error code = -104 Token unknown - line 4, char 10
EXTRACT"

Access violation pri uzavirani DELPHI

[*] Ing. Jiri Kubicek <kubicek(zv)etatherm(tec)cz> - 13.1.2003 07:51:43

File - Close All pred ukoncenim Delphi skutecne pomuze, ale po pricine badam
dal.
Zdravim a vsem dekuji
Jirka
>
> Na predchozim pocitaci se mi nahodile take objevovala AV pri ukonceni
> Delphi. Pomohl prikaz File - Close All pred ukoncenim Delphi, pak to
> slo v klidu ukoncit.
> Nyni na novem pocitaci a v nove instalaci jiz zadne AV :-)
> S pozdravem Karel Horky


FindChildControl - nefunguje 100%!????????

[*] Vagner Pavel <Vagner(zv)ceps(tec)cz> - 13.1.2003 08:42:34

Zdravim lidi,
setkal se nekdo taky s tim ze TWinControl,FindControl vraci nil i kdyz je
na 100% jmeno vyhledavaneho controlu spravne a TWinControl je opravdu
parentem???.

mam groupbox v kterym je: 15 editBoxu ebLayer0...ebLayer13 //name
15 editboxu ebLayer0Value..ebLayer13Value
15 shape shLayer0..shLayer13

kdyby ta funkce nenasla nic, tak bych to mozna nejak chapat ale ze mi vraci
pouze ebLayer0.. 13 a ostatni ne, tak to fakt nechapu.
dik Pavel

PS: koukal jsem ze to TWinControl.FindChildControl porovnana pomoci fuknce
CompareText, ale ta je asm, tak z toho asi nic nevykoukam.

delam to takhle :

var arrCtrls[1..3,0..14] of TControl;
tmpStr:String;
i:INteger;

for i:=0 to GroupBox.ControlCount-1 do
begin
tmpStr:= 'ebLayer'+ IntToStr(i);
arrCtrls[1,i]:= GroupBox.FindChildControl(tmpStr) // toto facha

tmpStr:= 'ebLayer'+ IntToStr(i) + 'Value';
arrCtrls[2,i]:= GroupBox.FindChildControl(tmpStr) // toto ne????
...
....

end;

Ukladani komponent do souboru a jejich nasledne na

[*] Vaclav Riha - Soft Consult <vaclav_riha(zv)softconsult(tec)cz> - 13.1.2003 09:02:31

property musi byt v sekci published

pokud je v sekci public nebo property je typu TObject, tak je treba definovat properties
procedure DefineProperties(AFiler: TFiler); override;

S pozdravem Vaclav Riha

tak se mi zadarilo zmenit status posledniho mailu z hlaseni chyby na
dobrou fcnost - jak jsem v nedeli, bo kdy psal, ze hlasi chybu s
nezaregistrovanou tridou - uz to chodi. Mam ale problem s dotahovanim
eventu (coz ale zatim nepotrebuju) a hlavne: mam vlastni komponenty,
ktere potrebuju (treba timhle zpusobem) ukladat a neukladaji se mi i
jejich vlastnosti, ktere potrebuju, aby se ukladaly - uklada se cca
5 az 7 vlastnosti - da se nejak udelat aby se pro danou tridu ukladaly
vsechny jeji vlastnosti?

Prednastaveni noveho formu

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 13.1.2003 09:08:21

> 1.
> Neni nutno tyto formulare ukladat do Repository.
> Jakmile se stanou soucasti projektu, lze od nich dedit.
> 2.
> Jakykoli jiny nez "minimalni" projekt si bez dedicnych
> formularu nedokazu predstavit.
> Od toho tu prave dedicnost je, abych si nastavil obecne to,
> co obecne potrebuju.

Pekne riesenie, to ma nenapadlo. Ak pouzivas svoju vlastnu base class pre
vsetky formulare v projekte, potom je to idealne.

> Zaver:
> Zadny formular me aplikace (az na jeden hlavni a jeden
> "zakladni") nebude oddeden od TForm.
> Budu-li dusledny, budu i hlavni dedit od "obecne hlavniho" a
> zakladni od "obecne zakladniho".

Priznam sa, ze to nerobim a napadlo ma niekolko pripadov v mojich
projektoch, kde by to pomohlo eliminovat duplicitu kodu (rovnake spracovanie
sprav) vo viacerych formularoch. A tiez sa to pekne hodi na jednoduchu zmenu
vlastnosti formularov v celom projekte. Vdaka za tip.

Prajem pekny Delphi den,
TOndrej


Prednastaveni noveho formu

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

From: "Ondrej Kelle" <O.Kelle(zv)digitalpublishing.de>

> A tiez sa to pekne hodi na jednoduchu zmenu
> vlastnosti formularov v celom projekte.

Nejen formularu. U rozsahlejsich projektu,
kde se predpoklada delsi zivotni cyklus,
je vhodne vlozit mezi kazdou "externi" tridu
vlastniho predka, abys ziskal misto,
ze ktereho muzes ovladat spolecne vlastnosti
vsech instanci tridy v celem projektu.

Bohuzel, komponentove programovani se mimo
formularu a framu k tomu moc neda pouzit.

Ostatne, jak napr. postupny vyvoj Delphi
od verze D1 ukazuje, casto se to vyplati
i u beznych funkci pro I/O, retezcove aj.
operace.
pf

FindChildControl - nefunguje 100%!????????

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 13.1.2003 09:30:39

> Zdravim lidi,
> setkal se nekdo taky s tim ze TWinControl,FindControl vraci
> nil i kdyz je na 100% jmeno vyhledavaneho controlu spravne
> a TWinControl je opravdu parentem???.
>
> mam groupbox v kterym je: 15 editBoxu ebLayer0...ebLayer13
> //name
> 15 editboxu ebLayer0Value..ebLayer13Value
> 15 shape shLayer0..shLayer13

Ak su tie editboxy potomkovia TWinControl a ten groupbox je ich priamym
parentom a skutocne pouzivas spravne mena, potom myslim nie je dovod, aby to
nechodilo.
Skus si vypisat vsetky child controls toho groupboxu:

function AncestryStr(AClass: TClass): string;
begin
Result := '';
while AClass <> nil do
begin
if Result <> '' then
Result := '\' + Result;
Result := AClass.ClassName + Result;
AClass := AClass.ClassParent;
end;
end;

for I := 0 to GroupBox.ControlCount - 1 do
with GroupBox.Controls[I] do
OutputDebugString(PChar(Format('%d. ''%s'' [%s]', [I, Name,
AncestryStr(ClassType)])));

HTH
TOndrej


Const.pas v cestine (D6)

[*] Rumcajs-konfera <konfera(zv)rumcajs(tec)com> - 13.1.2003 09:39:48

Servus ve spolek,
nema nekdo prelozenou unitu const.pas pro Delphi 6 do cestiny?
Rumcajs

Prednastaveni noveho formu

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 13.1.2003 09:43:46

> Nejen formularu. U rozsahlejsich projektu,
> kde se predpoklada delsi zivotni cyklus,
> je vhodne vlozit mezi kazdou "externi" tridu
> vlastniho predka, abys ziskal misto,
> ze ktereho muzes ovladat spolecne vlastnosti
> vsech instanci tridy v celem projektu.

Zaujimave, mozes prosim uviest nejaky priklad?

> Bohuzel, komponentove programovani se mimo
> formularu a framu k tomu moc neda pouzit.

Ale v tejto diskusii sa jedna o inicializaciu z .dfm, teda TComponent,
minimalne TPersistent. Pomocou form inheritance sa da dosiahnut jednoducha
zmena vlastnosti vsetkych potomkov pre inicializaciu z .dfm pri vytvarani
instancii v runtime.
Ak mas na mysli hromadnu zmenu vlastnosti vsetkych instancii normalne v
runtime (uz po vytvoreni), potom si aj tak musis prejst pole tych instancii
a zmenit ich vlastnosti podla potreby. Uniklo mi nieco?

> Ostatne, jak napr. postupny vyvoj Delphi
> od verze D1 ukazuje, casto se to vyplati
> i u beznych funkci pro I/O, retezcove aj.
> operace.

Celkovo mam pocit, ze som Tvoj prispevok nepochopil, keby si to mohol
podrobnejsie vysvetlit, budem Ti vdacny.

Dik
TOndrej


TTreeView a OnMouseUp

[*] Michal Jiskra <jiskra(zv)eskon(tec)cz> - 13.1.2003 09:59:11

Ahoj,
mam komponentu TTreeView a v ni definovanu metodu OnMouseUp pro udalost
vyvolanou kliknutim pravym tlacitkem mysi.
Problem je v tom, ze po kliknuti pravym tlacitkem to do te metody vubec
nevleze. Kdyz kliknu levym(standard) tak je to bez problemu.
Nevite kde je chyba ?
WinMe, D5(SP1)

Michal

Prednastaveni noveho formu

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 13.1.2003 10:09:33

From: "Ondrej Kelle" <O.Kelle(zv)digitalpublishing.de>

> Zaujimave, mozes prosim uviest nejaky priklad?

Stejne jako u toho TForm popr. TFrame, kdy si vytvoris
nejakeho svojeho potomka, ktery bude hrat v celem projektu roli spolecneho
predka pro vsechny ostatni formularu/frames.

Akorat ze tady to podporuje primo Delphi.

Z hlediska udrzovatelnosti vetsich - dele zijicich
projektu by bylo vhodne, abys totez udelal i pro vsechny ostatni tridy v
celem projektu - to uz ovsem Delphi nepodporuje - naopak svou koncepci tomu
brani.

Ale i presto se vyplaci v takovych projektech
vytvorit vlastni interface mezi "externi" tridy a funkce, takze 2 konkretni
priklady (jeden vizualni,
jeden nevizualni):

misto TListBox, TStringList nadefinovat
spolecne predky TCmnListBox, TCmnStringList a ty pak
pouzivat striktne v celem projektu.

Totez se casto vyplati i pro bezne "externi" funkce, takze zase priklad
jedne interfacove funkce:

function astrupr(const AStr:ANSIString): ANSIString;
begin
Result := ANSIUpperCase(AStr);
end;***

Z ciste metodickeho pohledu to vypada tak, ze pri objektovem navrhu
definujes basickou tridu, ktera representuje spolecne vlastnosti vsech
podtrid.

V okamziku, kdy instancujes/dedis primo "externi" tridy, je mnozina
spolecnych vlasnosti pevna
a nemuzes ji rozsirovat/menit.

Proto se casto vklada trida mezi "externi" definici
a projekt, abys mohl z jedineho mista v programu menit vlastnosti vsech
potomku/instanci v projektu.

Nehlede k tomu, ze plati zlate programatorske pravidlo,
ze kazdy kod se pise prave jednou ;-)


Tak snad uz se to da pochopit...

pf

CPU View

[*] Jiri Sedivec <jsedivec(zv)mail(tec)cz> - 13.1.2003 11:01:52

Pri spousteni aplikace se mi zacne ukazovat "CPU view" vzdy kdyz se vytvari
nejaky formulare. Zadnou chybu to nezahlasi, normalne se da pak pokracovat
dal. Kdyz se spusti aplikace normalne (.exe) zadny problemy nejsou. Jak se
ten nahled da vypnout? Proc se zacal ukazovat?

CPU View

[*] Tvrz Miroslav <Miroslav.Tvrz(zv)merlin(tec)cz> - 13.1.2003 11:04:22

Neni nekde v nastaveni zaskrtnut checkbox zobrazovat CPU View - napr. v
nastaveni kompilatoru, debugeru, atp. - mel jsem podobny problem, ale i
jsem mel zaroven kliku, ze mi padly Delphi a musel jsem je preinstalovat
- tim se problem vyresil

MI'RA

-----Original Message-----
From: Jiri Sedivec [mailto:jsedivec(zv)mail(tec)cz]
Sent: Monday, January 13, 2003 11:02 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: CPU View


Pri spousteni aplikace se mi zacne ukazovat "CPU view" vzdy kdyz se vytvari
nejaky formulare. Zadnou chybu to nezahlasi, normalne se da pak pokracovat
dal. Kdyz se spusti aplikace normalne (.exe) zadny problemy nejsou. Jak se
ten nahled da vypnout? Proc se zacal ukazovat?

Prednastaveni noveho formu

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

> Stejne jako u toho TForm popr. TFrame, kdy si vytvoris
> nejakeho svojeho potomka, ktery bude hrat v celem projektu
> roli spolecneho predka pro vsechny ostatni formularu/frames.
>
> Akorat ze tady to podporuje primo Delphi.
>
> Z hlediska udrzovatelnosti vetsich - dele zijicich
> projektu by bylo vhodne, abys totez udelal i pro vsechny
> ostatni tridy v celem projektu - to uz ovsem Delphi nepodporuje
> - naopak svou koncepci tomu brani.
>
> Ale i presto se vyplaci v takovych projektech
> vytvorit vlastni interface mezi "externi" tridy a funkce,
> takze 2 konkretni
> priklady (jeden vizualni,
> jeden nevizualni):
>
> misto TListBox, TStringList nadefinovat
> spolecne predky TCmnListBox, TCmnStringList a ty pak
> pouzivat striktne v celem projektu.
>
> Totez se casto vyplati i pro bezne "externi" funkce, takze
> zase priklad
> jedne interfacove funkce:
>
> function astrupr(const AStr:ANSIString): ANSIString;
> begin
> Result := ANSIUpperCase(AStr);
> end;
>
>
> ***
>
> Z ciste metodickeho pohledu to vypada tak, ze pri objektovem navrhu
> definujes basickou tridu, ktera representuje spolecne vlastnosti vsech
> podtrid.
>
> V okamziku, kdy instancujes/dedis primo "externi" tridy, je mnozina
> spolecnych vlasnosti pevna
> a nemuzes ji rozsirovat/menit.
>
> Proto se casto vklada trida mezi "externi" definici
> a projekt, abys mohl z jedineho mista v programu menit
> vlastnosti vsech
> potomku/instanci v projektu.
>
> Nehlede k tomu, ze plati zlate programatorske pravidlo,
> ze kazdy kod se pise prave jednou ;-)
>
>
> Tak snad uz se to da pochopit...

Diky, uz som to pochopil. Len mi to predtym nedavalo vyznam v suvislosti s
form inheritance. Vyhoda je asi v tom, ze zmeny napisane v jednom mieste
(base class) su automaticky premietnute do potomkov bez potreby hromadnych
search/replace a podobnych veci nad vsetkymi unitami v projekte.
Asi sa to fakt oplati pre velke projekty, ako hovoris. Sam s takymi velkymi
projektmi nemam prilis skusenosti.
Vdaka za info.

Prajem pekny Delphi den :-)
TOndrej


CPU View

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 13.1.2003 12:23:21

> Neni nekde v nastaveni zaskrtnut checkbox zobrazovat CPU View -
napr. v
> nastaveni kompilatoru, debugeru, atp. - mel jsem podobny problem,
ale i
> jsem mel zaroven kliku, ze mi padly Delphi a musel jsem je
preinstalovat
> - tim se problem vyresil

jaka verze Delphi?
CPU okno mohlo samo vyskocit ve chvili kdy doslo k nejakym problemum
(exceptions) pripadne byla-li v systemu natazena nejaka knihovna se
softwareovymi breakpointy (nevim uz o ktery software nejcasteji slo).

D. Toman

Prednastaveni noveho formu

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 13.1.2003 12:26:18

From: "Ondrej Kelle" <O.Kelle(zv)digitalpublishing.de>

> Asi sa to fakt oplati pre velke projekty,
> ako hovoris.

Kdyz vezmu ty 2 priklady, tak tam se to vyplati
IMHO i u bezne velkeho projektu:

1. TListBox:

Borland si to zjednodusil a zobrazuje tak, ze vymaze cely background a pak
pres nej pise existujici/viditelne radky -> to ma za nasledek probliknuti,
ktere asi bezne nevadi.

Ale treba zjistis, ze to vadit zacne a budes potrebovat kreslit rychle a bez
problikavani. To budes muset potlacit mazani pozadi odchycenim WM_EraseBkgnd
a predelat handler WM_Paint, ktery zajisti, ze zaplnis celou Client area tj.
vykresli neexistujici radky jako pozadi. Kdyz nebudes mit spolecneho predka
ve vlastnim projektu, asi se ti to bude delat dost blbe.


2. TStringList

Borland si to opet zjednodusil a u volani API funkce
CompareString() pouziva natvrdo argument dwCmpFlags=0, takze defaultne se
interpunkcni znamenka ignoruji !!!
A kdyz to zjistis, tak se ti naramne bude hodit
takovy spolecny predek, ktereho budes volat s flagem
SORT_STRINGSORT.

***

Takovych prikladu by bohuzel se dalo uvest mnoho...


HTH, pf

Prednastaveni noveho formu

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 13.1.2003 12:44:06

> Kdyz vezmu ty 2 priklady, tak tam se to vyplati
> IMHO i u bezne velkeho projektu:
>
> 1. TListBox:
>
> Borland si to zjednodusil a zobrazuje tak, ze vymaze cely
> background a pak
> pres nej pise existujici/viditelne radky -> to ma za nasledek
> probliknuti,
> ktere asi bezne nevadi.
>
> Ale treba zjistis, ze to vadit zacne a budes potrebovat
> kreslit rychle a bez
> problikavani. To budes muset potlacit mazani pozadi
> odchycenim WM_EraseBkgnd
> a predelat handler WM_Paint, ktery zajisti, ze zaplnis celou
> Client area tj.
> vykresli neexistujici radky jako pozadi. Kdyz nebudes mit
> spolecneho predka
> ve vlastnim projektu, asi se ti to bude delat dost blbe.

Ahoj,
tohle je presne jedna z veci, kterou bych potreboval jako sul. Typicky
priklad je TControl - uz nescetnekrat jsem doplnoval udalost EnterLikeTab
(aby po stisknuti Enter/Shift Enter presel na nasledujici/predchozi
control). Puriste namitnou, ze to je v rozporu s ovladanim podle Gatesovych
predstav, praktici vedi, ze to je velmi ergonomicky zpusob vyplnovani
formularu s mnoha editovanymi polozkami. Velmi bych ocenil, kdyby slo
upravit chovani vsech oddedenych komponent napriklad pridanim property
enablujici toto chovani, ale tak, abych nemusel editovat zdroje VCL,
pripadne vytvorit kompletni sadu svych komponent jen kvuli takoveto s
odpustenim volovine. Nevite nekdo, jak na to ?

Zdravim

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

CPU View

[*] Jiri Sedivec <jsedivec(zv)mail(tec)cz> - 13.1.2003 12:53:29

> jaka verze Delphi?
Delphi 6 Ent

v CPU View se mi to zastavi na:
ntdll.DbgBreakPoint:

Ale zadny BreakPoint jsem tam nedaval...

Prednastaveni noveho formu

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 13.1.2003 13:07:54

From: "Jiri Foldyna" <jiri.f(zv)avizo(tec)cz>

> priklad je TControl - uz nescetnekrat jsem doplnoval > udalost
EnterLikeTab (aby po stisknuti Enter/Shift
> Enter presel na nasledujici/predchozi
> control).

Tak zrovna tohle by slo asi resit bez spolecneho predka TControls pouzitim
spolecneho predka formulare misto TForm.

V nem bys odchytil OnKeyDown a prenesl focus na next/prev control.

Predelat existujici projekt bude znamenat:

1. ve vsech *.pas souborech nahradit definici
TXYForm = class(TForm) za predka
2. ve vsech *.dfm souborech (v textove podobe)
upravit 1. radek na inherited

Jeste by mohli byt nejake potize se jmeny/typy formu v uses klauzuli v *.dpr
souboru (ale to je tusim dulezite hlavne u TFrames). Snad jsem na neco
nezapomel.


HTH, pf


Prednastaveni noveho formu

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 13.1.2003 13:13:50

> Kdyz vezmu ty 2 priklady, tak tam se to vyplati
> IMHO i u bezne velkeho projektu:
>
> 1. TListBox:
>
> Borland si to zjednodusil a zobrazuje tak, ze vymaze cely
> background a pak pres nej pise existujici/viditelne radky
> -> to ma za nasledek probliknuti, ktere asi bezne nevadi.
>
> Ale treba zjistis, ze to vadit zacne a budes potrebovat
> kreslit rychle a bez problikavani. To budes muset potlacit
> mazani pozadi odchycenim WM_EraseBkgnd a predelat
> handler WM_Paint, ktery zajisti, ze zaplnis celou Client
> area tj. vykresli neexistujici radky jako pozadi. Kdyz
> nebudes mit spolecneho predka ve vlastnim projektu,
> asi se ti to bude delat dost blbe.
>
>
> 2. TStringList
>
> Borland si to opet zjednodusil a u volani API funkce
> CompareString() pouziva natvrdo argument dwCmpFlags=0, takze
> defaultne se
> interpunkcni znamenka ignoruji !!!
> A kdyz to zjistis, tak se ti naramne bude hodit
> takovy spolecny predek, ktereho budes volat s flagem
> SORT_STRINGSORT.

S tymi konkretnymi dvoma prikladmi sa da suhlasit, skratka povazujes za
potrebne upravit si funkcionalitu dvoch existujucich tried. Samozrejme vtedy
to nezavisi od velkosti projektu, ale o tom nebola rec.
Rec bola o tom, ze mas argumenty pre to, aby si to robil preventivne pre
_kazdu_ triedu v projekte, nemam pravdu? To znamena vopred aj pre triedy,
ktore zatial/zdanlivo vyhovuju tak ako su. To snad v beznych projektoch nie
je potrebne. Moze sa to hodit v naozaj velkych projektoch, kde je vela
formularov a neskorsia nahrada TListBox za TMyFixedListBox je narocna a na
chyby hakliva praca (treba korektne zmenit deklaracie vo vsetkych .dfm a
.pas vsetkych formularov). Tak som chapal Tvoj predosly prispevok, a s tym
som suhlasil, ze snad mas pravdu, lebo ja nemam take skusenosti.
Ono sa to ale da doviest ad absurdum: tie Tvoje triedy sa v urcitom stadiu
vyvoja stanu podobnymi 'pevnymi' triedami so svojimi vlastnymi obmedzeniami,
teda vo velkych projektoch by bolo dobre zaviest dalsieho predka este pred
ne, atd...

Co sa tyka TListBox, verim, ze mas pravdu s tym preblikavanim, aj ked mne to
zatial nevadilo, aj tak ho pouzivam velmi malo.
Co sa tyka TStringList, prave na to tam je virtualna metoda CompareStrings,
ktora sa da overridnut, ale nielen to, je tam aj CustomSort, ktora Ti pri
pouziti TStringList (bez odvodzovania novej triedy) dovoluje robit si
akekolvek triedenie, ake uznas za vhodne.

Skratka, toto je uz debata uplne o inom.
Povodna debata bola o tomto:
Zober si existujuci projekt, v ktorom mas povedzme 500 roznych formularov a
na kazdom je TListBox. Zistis, ze TListBox nefunguje tak, ako si chcel,
napises si teda TMyListBox a potrebujes vsade vymenit TListBox za
TMyListBox.
Vo velkom projekte, keby si od zaciatku pouzivat nejaky TMyListBox, ktory by
bol trebars aj cista deklaracia type TMyListBox = TListBox; (samozrejme
musel by byt aj zaregistrovany na paletu) by si si usetril pracu s tou
vymenou deklaracii a mal by si pocit, ze si sa na zaciatku rozhodol spravne.
Prave tu s Tebou suhlasim, ze je snad lepsie/jednoduchsie pouzivat
preventivne svoje 'medzi-triedy', ak sa budu v projekte vyskytovat
mnohokrat.
Vo svojich malych projektikoch take veci nerobim ani nehodlam robit, nie som
totiz presvedceny o tom, ze to ma pre mna nejaky prinos. V najhorsom pripade
zvladnem nejaky ten Search/Replace, je to jednorazova vec, ktora sa nerobi
casto.

Prajem pekny Delphi den :-)
TOndrej


Prednastaveni noveho formu

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 13.1.2003 13:21:22

> tohle je presne jedna z veci, kterou bych potreboval jako sul. Typicky
> priklad je TControl - uz nescetnekrat jsem doplnoval udalost
> EnterLikeTab (aby po stisknuti Enter/Shift Enter presel na
> nasledujici/predchozi control). Puriste namitnou, ze to je v rozporu
> s ovladanim podle Gatesovych predstav, praktici vedi, ze to je velmi
> ergonomicky zpusob vyplnovani formularu s mnoha editovanymi
> polozkami. Velmi bych ocenil, kdyby slo upravit chovani vsech
> oddedenych komponent napriklad pridanim property enablujici toto
> chovani, ale tak, abych nemusel editovat zdroje VCL, pripadne vytvorit
> kompletni sadu svych komponent jen kvuli takoveto s odpustenim
> volovine. Nevite nekdo, jak na to ?

V tomto pripade je asi najjednoduchsie osetrit si to na urovni formulara.
Ten formular mozes potom pouzit ako base class pre ostatne formulare.
Priamo do TControl by som to nedaval, pretoze: 1. som asi purista ;-) 2.
mozes mat formular, v ktorom ma mat klavesa Enter iny vyznam ako Tab, a
Tvoja kontrolka by tam potom zavadzala a musel by si hladat cestu, ako to
obist. Nech je standardne riesenie v standardnych triedach a nestandardne
riesenia nech su vo vymedzenych specializovanych triedach, to je asi
najlepsi sposob.

HTH
TOndrej


Prednastaveni noveho formu

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 13.1.2003 13:23:01

> Tak zrovna tohle by slo asi resit bez spolecneho predka
> TControls pouzitim
> spolecneho predka formulare misto TForm.
> V nem bys odchytil OnKeyDown a prenesl focus na next/prev control.
> Predelat existujici projekt bude znamenat:
> 1. ve vsech *.pas souborech nahradit definici
> TXYForm = class(TForm) za predka
> 2. ve vsech *.dfm souborech (v textove podobe)
> upravit 1. radek na inherited
> Jeste by mohli byt nejake potize se jmeny/typy formu v uses
> klauzuli v *.dpr
> souboru (ale to je tusim dulezite hlavne u TFrames). Snad jsem na neco
> nezapomel.
> HTH, pf

Ahoj,
samozrejme, tohle muzu pouzit, pokud se maji vsechny kontroly VZDY chovat
takto, jenze to pokazde nejde - specialne treba u TMemo potrebuji obcas
Enter pouzit jako Enter :-)). O to ani nejde, byl to jen zjednoduseny
priklad (podobny priklad je napr. filtrace zadavani cislic v TEdit). Jde mi
o to, jak by to slo nejak univerzalne zaridit bez modifikace VCL nebo
nahrady std komponent, specialne treba pro Tebou uvedeny priklad TListBoxu s
tim, ze by upravene komponenty byly dostupne i z IDE, nejen pri dynamickem
vytvareni - tam to samozrejme neni problem.

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

Prednastaveni noveho formu

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 13.1.2003 13:29:07

> Skratka, toto je uz debata uplne o inom.
> Povodna debata bola o tomto:
> Zober si existujuci projekt, v ktorom mas povedzme 500
> roznych formularov a
> na kazdom je TListBox. Zistis, ze TListBox nefunguje tak, ako
> si chcel,
> napises si teda TMyListBox a potrebujes vsade vymenit TListBox za
> TMyListBox.
> Vo velkom projekte, keby si od zaciatku pouzivat nejaky
> TMyListBox, ktory by
> bol trebars aj cista deklaracia type TMyListBox = TListBox;> (samozrejme
> musel by byt aj zaregistrovany na paletu) by si si usetril pracu s tou

Ahoj, presne to by se mi hodilo, neslo by to nejak bez te registrace na
paletu ? To je totiz muj nejvetsi problem - po kazde reinstalaci obnovit
sady komponent a
na nic nezapomenout. To mne asi nejvic odrazuje od "mezitrid".

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

> TOndrej

CPU View

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 13.1.2003 13:33:21

> > jaka verze Delphi?
> Delphi 6 Ent
>
> v CPU View se mi to zastavi na:
> ntdll.DbgBreakPoint:
>
> Ale zadny BreakPoint jsem tam nedaval...

tak mate ntdll ze ktere MS zapomnel vyhodit ten breakpoint (nebo
nejaky jiny proces vola tuhle funkci?) Jakou mate verzi windows
(service pack?)


D. Toman

Prednastaveni noveho formu

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 13.1.2003 13:35:48

From: "Ondrej Kelle" <O.Kelle(zv)digitalpublishing.de>

> Rec bola o tom, ze mas argumenty pre to,
> aby si to robil preventivne pre _kazdu_ triedu
> v projekte, nemam pravdu?

Mas.

> Ono sa to ale da doviest ad absurdum:
> tie Tvoje triedy sa v urcitom stadiu
> vyvoja stanu podobnymi 'pevnymi' triedami
> so svojimi vlastnymi obmedzeniami,
> teda vo velkych projektoch by bolo dobre zaviest
> dalsieho predka este pred
> ne, atd...

No to ne :

a) pouziti nejake "externi" tridy jako predka
ma dane vice ci mene jasne hranice oblasti
pouziti.

b) "interfacova" trida zije s projektem tj.
vzdy existuje osoba s opravnenim ji menit,
takze dokud nenarazis na hranice z bodu a),
neni treba zavadet dalsiho predka
a pokud na ne narazis, muzes se pokusit
zmenit "interfacovou" tridu na tridu basickou
a puvodni "externi" tridy zahodit.
A pokud se Ti to nepovede - jsi v ....... ;-)


Bye, pf

Prednastaveni noveho formu

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 13.1.2003 13:38:16

From: "Jiri Foldyna" <jiri.f(zv)avizo(tec)cz>> Ahoj, presne to by se mi hodilo, neslo by to nejak
> bez te registrace na paletu ? To je totiz muj
> nejvetsi problem - po kazde reinstalaci obnovit
> sady komponent a na nic nezapomenout.
> To mne asi nejvic odrazuje od "mezitrid".

Slo, ale clovek musi zapomenout na matlani component mysi :-)


Bye, pf

Prednastaveni noveho formu

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 13.1.2003 13:40:02

> Ahoj, presne to by se mi hodilo, neslo by to nejak bez te
> registrace na paletu ? To je totiz muj nejvetsi problem
> - po kazde reinstalaci obnovit sady komponent a
> na nic nezapomenout. To mne asi nejvic odrazuje od "mezitrid".

Sorry, co chces v designtime pouzivat z palety, musi byt na paletu
zaregistrovane.
To sa neda obist. Snad az taky problem to nie je, ved ak .dfm obsahuje
triedy, ktore nie su zaregistrovane do palety, Delphi Ti ten formular
odmietne otvorit, takze Ti to 'pripomenie', ze nemas nainstalovany nejaky
balicek, ktory je v tom projekte potrebny.

HTH
TOndrej


Prednastaveni noveho formu

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 13.1.2003 13:43:13

> V tomto pripade je asi najjednoduchsie osetrit si to na
> urovni formulara.
> Ten formular mozes potom pouzit ako base class pre ostatne formulare.
> Priamo do TControl by som to nedaval, pretoze: 1. som asi
> purista ;-) 2.
> mozes mat formular, v ktorom ma mat klavesa Enter iny vyznam
> ako Tab, a
> Tvoja kontrolka by tam potom zavadzala a musel by si hladat
> cestu, ako to
> obist. Nech je standardne riesenie v standardnych triedach a
> nestandardne
> riesenia nech su vo vymedzenych specializovanych triedach, to je asi
> najlepsi sposob.
>
> HTH
> TOndrej

Ahoj,
moje predstava (i realizace) jde trochu jinak - specialne TEdit mam takto
upraveny - pridal jsem boolean property EnterLikeTab, defaultne je vypnuta,
Edit se chova jako normalni edit. Kdyz ji zapnu, skace se po Enter na dalsi
control. Podobne resim nejcastejsi filtrace (jen cislice, zadavani tlf,
zadavani meny apod.), zmena obarveni pri ziskani a ztrate fokusu atd. Nic z
toho neni svetoborna zalezitost, jenze kdyz to mas delat u kazdeho editu
extra, tak to a) zdrzuje, za b) casto na to nekde zapomenu a pak to jako
idiot doplnuju. Urcite by to slo udelat napr. tak, jak psal Honza Sebelik -
vytvorit potrebne metody v zakladnim formulari a pak je v potomcich
pouzivat, ale elegantnejsi by bylo, mit moznost doplnovat vlastnosti std
komponent podle potreby bez nutnosti modifikovat VCL nebo pouzivat kompletni
vlastni sady komponent - hlavne kvuli znovupouzitelnosti a udrzbe projektu.
Proto se mi libi to, co psal Petr Fejfar - jen to neumim jednoduse uvest do
zivota v IDE :-))

Zdravim

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

Prednastaveni noveho formu

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 13.1.2003 13:44:45

>> Ono sa to ale da doviest ad absurdum:
>> tie Tvoje triedy sa v urcitom stadiu vyvoja stanu
>> podobnymi 'pevnymi' triedami so svojimi vlastnymi
>> obmedzeniami, teda vo velkych projektoch by bolo
>> dobre zaviest dalsieho predka este pred ne, atd...
>
> No to ne :
>
> a) pouziti nejake "externi" tridy jako predka
> ma dane vice ci mene jasne hranice oblasti
> pouziti.
>
> b) "interfacova" trida zije s projektem tj.
> vzdy existuje osoba s opravnenim ji menit,
> takze dokud nenarazis na hranice z bodu a),
> neni treba zavadet dalsiho predka
> a pokud na ne narazis, muzes se pokusit
> zmenit "interfacovou" tridu na tridu basickou
> a puvodni "externi" tridy zahodit.
> A pokud se Ti to nepovede - jsi v ....... ;-)

Uznavam, to som trochu prehnal ;-)

Prajem pekny Delphi den :-)
TOndrej


CPU View

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 13.1.2003 13:46:07

----- Original Message -----
From: "Jiri Sedivec" <jsedivec(zv)mail(tec)cz>
> v CPU View se mi to zastavi na:
> ntdll.DbgBreakPoint:
>
> Ale zadny BreakPoint jsem tam nedaval...

Je mozne ze otviras ten formular stiskem klavesy F12?
Windows 2000 a vyssi standardne vyhazuji breakpoint
pri stisku klavesy F12 -- pokud je aplikace ladena, debugger
se zastavi prave na tomto radku.

Lze tomu zabranit nastavenim v registry, hledej na googlu.

Martin Schayna

mpeg & Delphi

[*] bleak <bleak(zv)mvesely(tec)com> - 13.1.2003 13:46:00

zdravim,
potrebuji vytvorit programek pro prehravani videa ve formatu MPEG ve
fullscreenu, rozm�r obrazu bude plny PAL. Existuje nejaka komponenta (mimo
TMediaPlayer), ktera je vhodna pro tento ucel?

bleak

Prednastaveni noveho formu

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 13.1.2003 13:48:53

> > Ahoj, presne to by se mi hodilo, neslo by to nejak
> > bez te registrace na paletu ? To je totiz muj
> > nejvetsi problem - po kazde reinstalaci obnovit
> > sady komponent a na nic nezapomenout.
> > To mne asi nejvic odrazuje od "mezitrid".
>
> Slo, ale clovek musi zapomenout na matlani component mysi :-)

To bych ozelel, ale jak to zaridit, aby se ty komponenty dostaly tam, kam
chci a sla pripadne interaktivne upravit jejich poloha ? Predpokladam, ze
nepouzivate ctvereckovany papir a nedelate dfm rucne ? Bo (bo = specialni
ostravska zkratka pro nebo :-)) takovou predstavivost nemam, aby mi stacily
jen souradnice ...

Zdravim

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

Nacteni bunky z XLS souboru

[*] delphi <delphi(zv)autonaprodej(tec)cz> - 13.1.2003 14:07:56


Dobry den,
potreboval bych nac=EDst texty z urcitych bunek ze souboru ve formatu MS
Excel. Muzete mi poradit jakym zpusobem na to jit?

Diky

Tomas
thajek(zv)autonaprodej(tec)cz


Prednastaveni noveho formu

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 13.1.2003 14:29:48

From: "Jiri Foldyna" <jiri.f(zv)avizo(tec)cz>

> tim, ze by upravene komponenty byly dostupne
> i z IDE

Jak uz psal Ondrej, bez instalace je do
IDE nedostanes, takze pak zbyva jedine run-time.


Bye, pf


Nacteni bunky z XLS souboru

[*] Vagner Pavel <Vagner(zv)ceps(tec)cz> - 13.1.2003 14:33:19

pisu to po pameti, tak sorry za pripadne chyby. Asi by to tam jeste =
mozna
chtelo dat nejaky try ... .
cau Pavel

......
var Range:Variant; =20
Sheet:Variant;
ExcelApp:Variant; =20
ExcelWorkBook:Variant;
=20
var S: String;=20


begin
ExcelApp:=3D CreateOLEObject('EXcel.Application');
if VarIsEmpty(ExcelApp) then
begin
MessageDlg('P=F8ipojen=ED k EXCELu se nepod=F8ilo !', =
mtError,[mbOK],0);
end
else
begin =20
ExcelApp.Visible:=3D True;
ExcelWorkBook:=3D ExcelApp.Workbooks.Open(viz help);
ExcelWorkBook.Sheets['JMeno listu'].Activate
Sheet:=3DExcelWorkBook.ActiveSheet

S:=3D Sheets.Cells[rowIndex,ColumnIndex]
.....
ExcelApp.Quit;
end;=20
end;
=20
//------------------
viz MSEXCEL VBA Help

Open Method =20
Opens a workbook.

Syntax

WorkBooks.Open(FileName, UpdateLinks, ReadOnly, Format, Password,
WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, =
Editable,
Notify, Converter, AddToMRU)

expression Required. An expression that returns a Workbooks or =
RecentFile
object.

FileName Required String. The file name of the workbook to be opened.

>
Dobry den,
potreboval bych nac=EDst texty z urcitych bunek ze souboru ve formatu =
MS
Excel. Muzete mi poradit jakym zpusobem na to jit?

Diky

Tomas
thajek(zv)autonaprodej(tec)cz

Prednastaveni noveho formu

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 13.1.2003 14:34:09

From: "Jiri Foldyna" <jiri.f(zv)avizo(tec)cz>

> To bych ozelel, ale jak to zaridit,
> aby se ty komponenty dostaly tam,
> kam chci a sla pripadne interaktivne
> upravit jejich poloha ?

Interaktivne = v IDE -> to bez registrace na
paletu pujde jen tezko, ne?

Neinteraktivne by se to dalo udelat nasazenim
standardnich prvku z palety na formular s naslednou
substituci jmen trid v PAS a DFM.

Bye, pf

Prednastaveni noveho formu

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 13.1.2003 14:42:09

> Odes=EDlatel: Jiri Foldyna <jiri.f(zv)avizo(tec)cz>
> Urcite by to slo udelat napr. tak, jak psal Honza Sebelik -
> vytvorit potrebne metody v zakladnim formulari a pak je v potomcich
> pouzivat, ale elegantnejsi by bylo, mit moznost doplnovat vlastnosti =
std
> komponent podle potreby=20

Jasne, ze by to slo tak, jak jsem navrhoval ja.
Jenze to by pak formular cim dal tim vic resil problemy, ktere mu =
nenalezeji, ktere nalezeji prislusne TControl.
Tedy tzv. "delegacni model", kdy metody (properties, events) komponenty =
"delegujeme" do metody formulare.
A to uz zase trochu utikame od cisteho OOP.
Je treba zvolit vhodnou "miru", co jeste delegacni model "unese" a co uz =
ne.
Do te "vhodne miry" mohou pritom silnym hlasem promluvit Frames.

Problem s pouzitim vlastni sady komponent vidim v tom, ze pokud Borland =
na neco zapomnel (neco resil nesikovne) nekde "vysoko" (TControl, ...), =
tak to budeme bez zasahovani do kodu VCL tezko implementovat dedenim od =
TEdit a pod.=20

A to uz nechci mluvit o tom, ze muzeme v oddedenych komponentach tezko =
pracovat s "private" metodami, se kterymi Borland snadno pracuje v jedne =
unite sve VCL.

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

IB - transakce a deadlock

[*] Petr Selinger <delphiforum(zv)centrum(tec)cz> - 13.1.2003 14:57:25

Resim nasledujici problem:
K databazi (IB5.6, Delphi5 UP2) pristupuje soucasne vice klientu,=20
kteri modifikuji data (update v tabulce).=20
Nekdy se stane, ze pokud updatuje v DB soucasne vice klientu,=20
IB generuje chybu: "lock conflict on no wait transaction deadlock".

Jde mi o to, jak nastavit transakce u techto klientu.

Soucasne nastaveni je:=20
AutoStopAction :=3D saNone;
DefaultAction :=3D TACommit;
Params :=3D [read_committed, rec_version, nowait];

Nevite nekdo, co mam nastaveno spatne?

Diky, Petr



--------------------
NOVINKA na Centrum(tec)cz Auto! Nejv=ECt=B9=ED autokatalog na =E8esk=E9m in=
ternetu - sestavte si sv=E9 auto sn=F9! http://auto.centrum(tec)cz/katalog


CPU View

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.1.2003 16:32:47

From: "Jiri Sedivec" <jsedivec(zv)mail(tec)cz>
> v CPU View se mi to zastavi na:
> ntdll.DbgBreakPoint:

Patrne nejaka DLL natazena do procesu (obvykle blbe drivery tiskaren od HP)
obsahuje breakpoint.

Petr Vones

Re[2]: CPU View

[*] Roland Turcan <rotursoft(zv)post.sk> - 13.1.2003 16:56:55

<<< 13. 1. 2003 16:56 - Martin Schayna "mschayna(zv)aktis(tec)cz" >>>
MS> ----- Original Message -----
MS> From: "Jiri Sedivec" <jsedivec(zv)mail(tec)cz>
>> v CPU View se mi to zastavi na:
>> ntdll.DbgBreakPoint:
>>
>> Ale zadny BreakPoint jsem tam nedaval...

Finta je ze sa zmeni hotkey na debuger na nejaku klavesu ktora na
nasich klavesniciach nie je:

Opravit hodnotu na:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
"UserDebuggerHotKey"=dword:00000015


--
Best regards, TRoland

Prednastaveni noveho formu

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.1.2003 17:03:12

From: "Jiri Foldyna" <jiri.f(zv)avizo(tec)cz>
> Ahoj, presne to by se mi hodilo, neslo by to nejak bez te registrace na
> paletu ? To je totiz muj nejvetsi problem - po kazde reinstalaci obnovit

Neslo, tak je to zkratka navrzene. Navic ta idea mezitrid me v tomto pripade
prijde ponekud samoucelna, protoze:

- musi se definovat a udrzovat
- pouhe odvozeni bez pridanych vlastnosti nebo uprav nic neprinasi
- zbytecne zvetsuje velikost kodu (dalsi VMT)
- vetsinou neni treba menit vlastnosti vsech komponent v aplikaci. Teprve az
kdyz narazim na problem ktery je lepsi resit upravenou komponentou tak si
ji vytvorim a pomoci nejakeho Search & Replace (tusim ze je to napriklad v
GExpers) nahradim definice v DFM a PAS souborech. Vytvorenou komponentu pak
pridam do vlastniho 'firemniho' balicku. Tim je mam vsechny pohromade.
- uprava takove 'megatridy' by mohla ovlivnit existujici kod, zvlaste kdyz je
pouzita vsude (a vetsinou zbytecne)
- obcas se da vec resit efektivneji primo ve formulari pomoci obsluhy udalosti
dane komponenty (treba uprava vykreslovani). Obsluzny kod se pak ulozi do
samostatneho unitu, takze v te udalosti se pouze zavola prislusna procedura
a preda se ji Sender, pripadne dalsi parametry. Tim lze tento kod pouzivat z
vice formularu.
- slozitejsi veci lze take resit pomoci frames, kde lze pak pouzivat ruzne
upravene komponenty, vytvarene treba az za behu aplikace.

> sady komponent a na nic nezapomenout. To mne asi nejvic odrazuje od
> "mezitrid".

Snad neni nutne reinstalovat kazdy mesic, pokud ano tak je dobre se nad tim
trochu zamyslet :-) Ohledne 'na nic nezapomenout' - to jen chce mit ve vecech
alespon trochu poradek, pak neni treba na to myslet. A samozrejme pouzivat jen
komponenty ktere nejsou moc zprasene a daji se normalne instalovat. Jestli je
to opravdu tak narocne, tak si lze instalaci castecne zautomatizovat, podobne
jako je to treba s JCL IDE experty.

Tenhle problem mel puvodne resit Package Collection Editor, ale Borland jej
nikdy nedotahl do pouzitelne podoby.

Petr Vones

Prednastaveni noveho formu

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.1.2003 17:24:13

From: "Jiri Foldyna" <jiri.f(zv)avizo(tec)cz>
> moje predstava (i realizace) jde trochu jinak - specialne TEdit mam takto
> upraveny - pridal jsem boolean property EnterLikeTab, defaultne je vypnuta,
> Edit se chova jako normalni edit. Kdyz ji zapnu, skace se po Enter na dalsi
> control. Podobne resim nejcastejsi filtrace (jen cislice, zadavani tlf,
> zadavani meny apod.), zmena obarveni pri ziskani a ztrate fokusu atd. Nic z
> toho neni svetoborna zalezitost, jenze kdyz to mas delat u kazdeho editu
> extra, tak to a) zdrzuje, za b) casto na to nekde zapomenu a pak to jako
> idiot doplnuju. Urcite by to slo udelat napr. tak, jak psal Honza Sebelik -
> vytvorit potrebne metody v zakladnim formulari a pak je v potomcich
> pouzivat, ale elegantnejsi by bylo, mit moznost doplnovat vlastnosti std
> komponent podle potreby bez nutnosti modifikovat VCL nebo pouzivat kompletni
> vlastni sady komponent - hlavne kvuli znovupouzitelnosti a udrzbe projektu.

Tato moznost se jmenuje dedicnost.

Priznam se, ze jsem celou tu debatu nesledoval, ale stale mi unika v cem je
problem. Tedy:

- mas upraveny TEdit s dalsimy vlastnostmi, rikejme mu treba TAvizoEdit
- pouzivas jej, ovsem ne uplne vsude, nekde jsou pouzity 'jen' TEdit
- pri tvorbe aplikace patrne vis, kde pouzit kterou edit komponentu.

Co z predchoziho textu nechapu:

- "jenze kdyz to mas delat u kazdeho editu extra" - co extra ?

Petr Vones

Prednastaveni noveho formu

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 13.1.2003 18:44:27

> Tato moznost se jmenuje dedicnost.
>
> Priznam se, ze jsem celou tu debatu nesledoval, ale stale mi
> unika v cem je
> problem. Tedy:
>
> - mas upraveny TEdit s dalsimy vlastnostmi, rikejme mu treba
> TAvizoEdit
> - pouzivas jej, ovsem ne uplne vsude, nekde jsou pouzity 'jen' TEdit
> - pri tvorbe aplikace patrne vis, kde pouzit kterou edit komponentu.
>
> Co z predchoziho textu nechapu:
>
> - "jenze kdyz to mas delat u kazdeho editu extra" - co extra ?
>
> Petr Vones

Ahoj,

vezmu to trochu zesiroka - udrzuju cca 25 programu napsanych v Delphi, ktere
vznikaly v ruzne dobe a stale se pouzivaji. Nektere jsou vice nez 5 let
stare, nektere jsou nove, pribyvaji dalsi. No a ja mam trochu problem s
udrzenim prehledu, co kde je. Behem te doby jsem pouzil ruzne komponenty z
ruznych zdroju - prevazne proto, ze delaly to, co jsem zrovna potreboval, a
ty, ktere jsem uz pouzival, to neumely. Neslo o zadne svetoborne funkce -
obcas potrebuji vlastnost EnterLikeTab, obcas potrebuji trosku chytrejsi
TLabel, obcas potrebuji TListView, co si sam nastavi sirku sloupce po
poklepani na predel a tak. Casem se mi nashromazdilo par vylepseni, ktere
celkem bezne pouzivam, jenze jsou bud rozsypane v ruznych komponentach,
anebo se museji dobastlovat jako odezvy na zpravy, nebo se museji psat jako
eventy, nebo se museji pretypovavat tridy kvuli protected propertam. Pritom
vetsinu z nich bych mohl realizovat uplne jednoduse, protoze to vetsinou
jsou veci, ktere jsou spolecne pro vice trid - typicky EnterLikeTab,
obarvovani pri ziskani/ztrate fokusu atd. Kdyby se dala nahradit napr. trida
TControl moji tridou TAvizoControl (:-)) tak, aby se to promitlo do
zdedenych trid VCL, tak bych byl uplne spokojen. Pouzival bych std
komponenty, kdybych potreboval neco upravit nebo doplnit, sahl do bych sve
mezitridy a byl bych v klidu. Mohu si samozrejme vytvorit svuj balicek
customizovanych komponent, ktere budou potomky TAvizoControl, ale tim bych v
podstate z valne casti jen duplikoval to, co uz v Delphi je. Navic uz ted mi
docela dela problem v palete rychle neco najit, natoz kdybych ji prakticky
zdvojnasobil svymi komponentami.

Toz tak.

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

Prednastaveni noveho formu

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.1.2003 23:22:48

From: "Jiri Foldyna" <jiri.f(zv)avizo(tec)cz>
> obcas potrebuji vlastnost EnterLikeTab, obcas potrebuji trosku chytrejsi
> TLabel, obcas potrebuji TListView, co si sam nastavi sirku sloupce po
> poklepani na predel a tak. Casem se mi nashromazdilo par vylepseni, ktere
> celkem bezne pouzivam, jenze jsou bud rozsypane v ruznych komponentach,

Pak je tedy problem v tom udelat si v nich akorat udelat poradek.

> anebo se museji dobastlovat jako odezvy na zpravy, nebo se museji psat jako

Pokud je to castejsi pripad, tak je asi vhodnejsi to resit vlastni
komponentou.

> eventy, nebo se museji pretypovavat tridy kvuli protected propertam. Pritom

K protected metodam muzes pristupovat bud v odvozene komponente nebo pomoci
deklarace pomocne tridy v unitu.

> vetsinu z nich bych mohl realizovat uplne jednoduse, protoze to vetsinou
> jsou veci, ktere jsou spolecne pro vice trid - typicky EnterLikeTab,

To lze realizovat dobre na urovni formulare nebo cele aplikace pomoci obsluhy
prislusnych zprav.

> obarvovani pri ziskani/ztrate fokusu atd. Kdyby se dala nahradit napr. trida
> TControl moji tridou TAvizoControl (:-)) tak, aby se to promitlo do

Kdyby se dala nahradit tak potom nebude nic fungovat :-) protoze i ostatni
komponenty potrebuji mit nejake jasne definovane chovani.

> zdedenych trid VCL, tak bych byl uplne spokojen. Pouzival bych std
> komponenty, kdybych potreboval neco upravit nebo doplnit, sahl do bych sve
> mezitridy a byl bych v klidu. Mohu si samozrejme vytvorit svuj balicek
> customizovanych komponent, ktere budou potomky TAvizoControl, ale tim bych v

Podobne upravy se prece daji delat uplne jinak. Budto potrebujes upravit jednu
konkretni komponentu - pak si odvodis novou. Nebo chces upravit chovani celeho
kontaineru (TForm), pak sahnes po obsluze zprav nebo udalosti TApplication.

> docela dela problem v palete rychle neco najit, natoz kdybych ji prakticky
> zdvojnasobil svymi komponentami.

Staci to jen nejak rozume organizovat, popripade skryt komponenty ktere
nepouzivas.

Petr Vones

Prednastaveni noveho formu

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 13.1.2003 23:42:57

> > obcas potrebuji vlastnost EnterLikeTab, obcas potrebuji
> trosku chytrejsi
> > TLabel, obcas potrebuji TListView, co si sam nastavi sirku
> sloupce po
> > poklepani na predel a tak. Casem se mi nashromazdilo par
> vylepseni, ktere
> > celkem bezne pouzivam, jenze jsou bud rozsypane v ruznych
> komponentach,
>
> Pak je tedy problem v tom udelat si v nich akorat udelat poradek.
>
> > anebo se museji dobastlovat jako odezvy na zpravy, nebo se
> museji psat jako
>
> Pokud je to castejsi pripad, tak je asi vhodnejsi to resit vlastni
> komponentou.
>
> > eventy, nebo se museji pretypovavat tridy kvuli protected
> propertam. Pritom
>
> K protected metodam muzes pristupovat bud v odvozene
> komponente nebo pomoci
> deklarace pomocne tridy v unitu.
>
> > vetsinu z nich bych mohl realizovat uplne jednoduse,
> protoze to vetsinou
> > jsou veci, ktere jsou spolecne pro vice trid - typicky EnterLikeTab,
>
> To lze realizovat dobre na urovni formulare nebo cele
> aplikace pomoci obsluhy
> prislusnych zprav.
>
> > obarvovani pri ziskani/ztrate fokusu atd. Kdyby se dala
> nahradit napr. trida
> > TControl moji tridou TAvizoControl (:-)) tak, aby se to promitlo do
>
> Kdyby se dala nahradit tak potom nebude nic fungovat :-)
> protoze i ostatni
> komponenty potrebuji mit nejake jasne definovane chovani.
>
> > zdedenych trid VCL, tak bych byl uplne spokojen. Pouzival bych std
> > komponenty, kdybych potreboval neco upravit nebo doplnit,
> sahl do bych sve
> > mezitridy a byl bych v klidu. Mohu si samozrejme vytvorit
> svuj balicek
> > customizovanych komponent, ktere budou potomky
> TAvizoControl, ale tim bych v
>
> Podobne upravy se prece daji delat uplne jinak. Budto
> potrebujes upravit jednu
> konkretni komponentu - pak si odvodis novou. Nebo chces
> upravit chovani celeho
> kontaineru (TForm), pak sahnes po obsluze zprav nebo udalosti
> TApplication.
>
> > docela dela problem v palete rychle neco najit, natoz
> kdybych ji prakticky
> > zdvojnasobil svymi komponentami.
>
> Staci to jen nejak rozume organizovat, popripade skryt
> komponenty ktere
> nepouzivas.
>
> Petr Vones

Obecne mas samozrejme pravdu, prakticka realizace je ovsem obtizna - zdedil
jsem treba projekt, kde bylo cca 80 formularu a u vsech jsem dodelaval
obarvovani podle fokusu - dva dny tupe rutinni otrociny. Kdyby slo jen o
jednu komponentu, cert to vem, udelam si novou a pres GExpert to povymenuju.
Ale delat jich 10 nebo vice jen kvuli takove drobnosti... Moc nechybelo a
byl bych sahl do TControl :-))
Ale nechme to, nejde to, je treba se s tim smirit a najit jinou cesticku.
Ostatne, na seminari Delphi snad zbude chvilka u piva na pripadnou debatu
:-))

Zdravim

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

tisk na nekonecny papir

[*] votava <votava(zv)cmail(tec)cz> - 14.1.2003 01:20:38

zdravim,
muzete mi prosim poradit jak na tisk na nekonecny papir na tiskarne, kde
neni moznost uzivatelkeho nastaveni rozmeru papiru. W2K, D5Prof, Epson LQ300
dekuji Votava

Prednastaveni noveho formu

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

From: "Jiri Foldyna" <jiri.f(zv)avizo(tec)cz>
> Obecne mas samozrejme pravdu, prakticka realizace je ovsem obtizna - zdedil
> jsem treba projekt, kde bylo cca 80 formularu a u vsech jsem dodelaval
> obarvovani podle fokusu - dva dny tupe rutinni otrociny. Kdyby slo jen o

Ono by to prave pomoci tech udalosti TApplication a TScreen bylo jednodusi.

> Ostatne, na seminari Delphi snad zbude chvilka u piva na pripadnou debatu
> :-))

Spravne :-))

Petr.

Nacteni bunky z XLS souboru

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 14.1.2003 03:41:02

From: "delphi" <delphi(zv)autonaprodej(tec)cz>
> potreboval bych nac�st texty z urcitych bunek ze souboru ve formatu MS
> Excel. Muzete mi poradit jakym zpusobem na to jit?

- pomoci Excelu volaneho pres jeho COM rozhrani (musi byt tedy nainstalovan)
- pomoci nejakych komponent ktere umi vice ci mene cist XLS format

Petr Vones

mpeg & Delphi

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 14.1.2003 03:41:29

From: "bleak" <bleak(zv)mvesely.com>
> potrebuji vytvorit programek pro prehravani videa ve formatu MPEG ve
> fullscreenu, rozm�r obrazu bude plny PAL. Existuje nejaka komponenta (mimo
> TMediaPlayer), ktera je vhodna pro tento ucel?

Co treba pouzit naimportovany Windows Media Player ?

Petr Vones

mpeg & Delphi

[*] bleak <bleak(zv)mvesely(tec)com> - 14.1.2003 06:19:59

diky za odpoved. Jak naimportuji WMP? Takov� import neumim.

Jeste me napadlo, neslo by to nejak realizovat v DelphiX?

bleak

----- Original Message -----
From: "Petr Vones" <pvones(zv)mbox.vol(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Tuesday, January 14, 2003 3:41 AM
Subject: Re: mpeg & Delphi


> From: "bleak" <bleak(zv)mvesely.com>
> > potrebuji vytvorit programek pro prehravani videa ve formatu MPEG ve
> > fullscreenu, rozm�r obrazu bude plny PAL. Existuje nejaka komponenta
(mimo
> > TMediaPlayer), ktera je vhodna pro tento ucel?
>
> Co treba pouzit naimportovany Windows Media Player ?
>
> Petr Vones
>
>

OT: Inno Setup - instalace na Win XP

[*] Milan Dvorak <bert.dvorak(zv)worldonline(tec)cz> - 14.1.2003 06:52:44

Zdravim,

vytvoril jsem instalaci sve aplikace pomoci Script Makeru pro Inno Setup. U
zakazniku, kteri maji Win XP se pri spusteni instalace jeste pred jejim
zapocetim se objevi chybove hlaseni "... nepodarilo se vytvorit docasny
soubor ... chyba 193". Podle jejicich sdeleni maji v okamziku instalace
administratorska prava.
Na ostatnich verzich WIN je to bez problemu - minimalne po 98.

Nevite jsetli uz na to Inno Setup nestaci nebo jsem v nem neco spatne
nastavil?

Verze Script Makeru je 2.0.10, verze Inno Setupu je 2.0.

S pozdravem

Milan Dvorak
bert.dvorak(zv)worldonline(tec)cz

Identifikace klienta u TCPIP

[*] Du�ek Karel <dusek(zv)MUDK(tec)cz> - 14.1.2003 07:16:01

Prosim o radu. Ucim se s komunikaci TCPIP. Pro pochopeni cinnosti jsem =
si
vzal priklad TCPStreamClientServer z DEMOS. Komunikace mi funguje, ale =
mam
problem se zjistenim identifikace pripojeneho Clienta k serveru. =
Poradte mi
prosim jak mam zjistit na strane Serveru IP adresu nebo MAC ID =
pripojeneho
klienta. Predem moc dekuji za nakopnuti.


D6,WinXP

Dik Karel Dusek

---
Odchoz=ED zpr=E1va neobsahuje viry.
Zkontrolov=E1no antivirov=FDm syst=E9mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.427 / Virov=E1 b=E1ze: 240 - datum vyd=E1n=ED: 6.12.2002
=20


mpeg & Delphi

[*] Obermaier Petr Ing. <Obermaier(zv)mail.sdas(tec)cz> - 14.1.2003 07:36:01

> Od: bleak [SMTP:bleak(zv)mvesely.com]
> diky za odpoved. Jak naimportuji WMP? Takov=FD import neumim.
> Jeste me napadlo, neslo by to nejak realizovat v DelphiX?
>=20
Lip to pujde s JEDI-DirectX, na strance mas i par prikladu prehravacu =
(http://www.crazyentertainment.net).

Problem nebude prehravac, ale kodek, resp. dekoder. Pokud ti jde o =
prehrani MPEG-1, postaci ten, co je soucasti Windows. U MPEG-2 uz je =
problem, skoro vsechny jsou placeny (viz nejpouzivanejsi InterVideo a =
CyberLink). Jedinej free (co znam) je Elecard, ten ale na oplatku =
zobrazuje v rohu logo jako vodoznak.

Ober


OT: Inno Setup - instalace na Win XP

[*] Karel Kral <kralkonf(zv)purus(tec)cz> - 14.1.2003 08:15:20

Rozhodne bych pouzil nejnovejsi Inno Setup. Uz je verze 3.x, mam ji
vyzkousenou.

Milan Dvorak wrote:
>
> Zdravim,
>
> vytvoril jsem instalaci sve aplikace pomoci Script Makeru pro Inno Setup. U
> zakazniku, kteri maji Win XP se pri spusteni instalace jeste pred jejim
> zapocetim se objevi chybove hlaseni "... nepodarilo se vytvorit docasny
> soubor ... chyba 193". Podle jejicich sdeleni maji v okamziku instalace
> administratorska prava.
> Na ostatnich verzich WIN je to bez problemu - minimalne po 98.
>
> Nevite jsetli uz na to Inno Setup nestaci nebo jsem v nem neco spatne
> nastavil?
>
> Verze Script Makeru je 2.0.10, verze Inno Setupu je 2.0.
>
> S pozdravem
>
> Milan Dvorak
> bert.dvorak(zv)worldonline(tec)cz

--
______________________________________________________
Karel Kral, vedouci odd. IT / IT manager
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 547 235 000, 602 552 432, Fax: 547 231 203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________

TWinControl -Transparent: po create, size ano - po

[*] Vagner Pavel <Vagner(zv)ceps(tec)cz> - 14.1.2003 09:00:05

Cus lidi mam takovej mensi problemek:

mam odvozenou komponentu od TCustomControl,
Overridujum si CreateParams, aby byla pruhledna a dala se menit size za
behu.

Kdyz ji vytvorim(run time), je pruhledna - a vse je OK, kdyz ji menim size
tak je taky vse ok, akorat kdyz ho mysi pretahnu po formu (vse delam
run-time, OnMouseDown atd., nemam ji ani nebudu davat na paletu), tak je
transparentnost v cudu. Zkousel jsem do WM_MOVE dat RecretateWnd, ale asi to
byla blbost, pac to nefungovalo.

dik Pavel

procedure TMujClass.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.Style:= Params.Style or WS_THICKFRAME;
Params.ExStyle:= Params.ExStyle or WS_EX_TRANSPARENT ;
end;

procedure TMujClass.Paint;
var HalfXSpace,HalfYSpace:Integer;
R:TRect;

begin
with Canvas do
begin
Pen.Color:= PenColor;
Brush.Style :=bsClear;
FillRect(ClientRect);
.....
end.

Identifikace klienta u TCPIP

[*] Tom� Janta��������{����Y��̿ - 14.1.2003 09:20:41

Ahoj,

Bohuzel delam v D5, takze neznam TCPStreamClientServer, ale v D5 jsou
komponenty ClientSocket a ServerSocket (Streamy umeji taky, takze to bude
snad obdobne) a u nich se staci povesit treba na event OnClientConnect ten
bude vyvolan v okamziku kdy se klient pripoji a metode preda objekt Socket,
ten ma napriklad metody:

Socket.RemoteHost
Socket.RemoteAddress
Socket.RemotePort

pokud se ti k serveru bude pripojovat vice klientu, doporucuji prostudovat
ServerSocket.Socket.Connections ! aby jsi mohl obsluhovat jednotlive klienty
samostatne, jinak muzes pouzivat parametr Socket v eventech (parametr Socket
v eventech neni to same jako ServerSocket.Socket ale
ServerSocket.Socket.Connections[x])

Tomas Jantac


> Prosim o radu. Ucim se s komunikaci TCPIP. Pro pochopeni cinnosti jsem si
> vzal priklad TCPStreamClientServer z DEMOS. Komunikace mi funguje, ale mam
> problem se zjistenim identifikace pripojeneho Clienta k serveru. Poradte
mi
> prosim jak mam zjistit na strane Serveru IP adresu nebo MAC ID pripojeneho
> klienta. Predem moc dekuji za nakopnuti.> D6,WinXP

> Dik Karel Dusek


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

Uvozovky v SQL do pole Varchar

[*] J�n Harman <harman(zv)volny(tec)cz> - 14.1.2003 09:33:35

Ahoj opet uvozovky, ale nekde jinde.
Potrebuji vlozit uvozovky, nebo apostrof do pole Varchar.
Situace z delphi:
Apostrof jednoduse zdvojim a je to ok.
Uvozovku ( " ) pokud zapisu zdvojenou tak to sice vezme, ale objevi se i =
v
retezci 2x, coz je nezadouci.
Pokud ji napisu jednou, tak to hodi chybu "XSQLDA index out of range" ???
Situace z ISQL:
Do retezce (ktery je ohranicen apostrofy) staci zapsat jednou uvozovku a
normalne ji tam zapise. Bez chyby.

Kde je problem? Urcite to jiz nekdo resil.
Dik.
J=E1n Harman, Brno, harman(zv)volny(tec)cz

Prednastaveni noveho formu

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 14.1.2003 09:35:27

Sleduju tuhle debatu a mel bych dotaz: v balickove aplikaci (dynamicky
nahravane) jsou formulare odvozene od TForm popr. nejake od TXXForm. Je
nejaka moznost, jak jim vsem (nebo spise vetsine) jednoduse vymenit predka
(nejaky TBasicAppForm). Za predpokladu, ze dodrzim vlastnosti, metody...
Staci jen upravit definici class?

Dik,
Roman
==============================
http://kouzelne.misto(tec)cz

OT: Skryte adresare

[*] <tomsir1.edu(zv)mail.cez(tec)cz> - 14.1.2003 10:12:41


... hm, kdysi jsem neco podobneho mel napsaneho na linuxu, slo v podst=
ate
o to, ze jsem mel napsany kernel modul, ktery odchytaval signal systemu=
pro
praci s diskem, a provedl vlastni obsluhu .... neco ve stylu if adresar=

=3D 'hack3d' then exit :O)

Predpokladam, ze pujde o neco podobneho pomoci hooku ...


Radek


<bukaj(zv)iol(tec)cz>(zv)clexpert(tec)cz on 12.01.2003 19:23:11

Odpov=ECzte pros=EDm - delphi-l(zv)clexpert(tec)cz

Odesl=E1no k=FDm: delphi-l-owner(zv)clexpert(tec)cz


Komu: "Delphi Konference" <delphi-l(zv)clexpert(tec)cz>
Kopie:
P=F8edm=ECt: OT: Skryte adresare


Dobry den,
nevim jestli nekdo znate program "Hlidaci Pes", ale zaujala
me na nem jedna vlastnost. Pri instalaci se nainstaluje do
nejak zvlastne skryteho adresare, ktery neni videt ve Windows
(Total) Commanderu ani kdyz mam nastavene zobrazeni
skrytych souboru. Kdyz dam "cd adresar" tak se tam
dostanu, ale v seznamu adresaru neni videt.

Nevite nekdo, jak to ten program dela???

Kuba
=

Delphi a win CE

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 14.1.2003 10:14:37

Zdravim

mam jeden zdrojak v delphi a potreboval bych to prevest a zprovoznit
na Windows CE. Jak je to mozne provest. Predpokladam ze to budu muset
asi prepsat do C++. kompilator asi neexistuje.


Diky Milan V.

LPD daemon

[*] Sula Milos <milos.sula(zv)oku-su(tec)cz> - 14.1.2003 12:29:02

Zdravim,
nema tu nekdo zkusenosti s psanim LPD daemona pro windows ? Nebo nevite
o nejakem freeware at ho nemusim psat , ktery je funkcni i pod win 2000
?

dekuji
Milos


Delphi a win CE

[*] Sula Milos <milos.sula(zv)oku-su(tec)cz> - 14.1.2003 12:34:31

Jo jedine prevest do c++. Navic wince nepodporuji vsechny api funkce co
ma klasicky windows.

Milos

-----Original Message-----
From: Vymazal Milan [mailto:vymazal.milan(zv)seznam(tec)cz]=20
Sent: Tuesday, January 14, 2003 10:15 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Delphi a win CE


Zdravim

mam jeden zdrojak v delphi a potreboval bych to prevest a zprovoznit na
Windows CE. Jak je to mozne provest. Predpokladam ze to budu muset asi
prepsat do C++. kompilator asi neexistuje.


Diky Milan V.

dynamicke pole -> staticke

[*] Milan Schembera <milan(zv)missoftware(tec)cz> - 14.1.2003 12:47:38

Zdravim,

ted sem na to narazil a nejak furt odbiham do slepe ulicky: Mam dynamicke
pole nadeklarovane jako
P: array of string (nemuzu pouzit stringlist, resp. problem by byl pak
stejny).
No a pak to pole plnim, to je OK, ale kdyz ho chci pouzit u metody, kde jako
parametr se uvadi staticke pole, tak mi to samozrejme rve, ze nelze pouzit
dynamicke pole. Zkousel sem mu to vnutit vselijakym zpusobem, ale ne a ne
tomu prijit na kloub. Mohl by me nekdo nakopnout, mne to po tech svatcich
nejak hur mysli.

Delphi 5.

Dik.

M.Sch.

dynamicke pole -> staticke

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 14.1.2003 13:13:33

> Mam dynamicke pole nadeklarovane jako
> P: array of string (nemuzu pouzit stringlist, resp. problem
> by byl pak stejny).
> No a pak to pole plnim, to je OK, ale kdyz ho chci pouzit u
> metody, kde jako parametr se uvadi staticke pole, tak mi
> to samozrejme rve, ze nelze pouzit dynamicke pole.
> Zkousel sem mu to vnutit vselijakym zpusobem,
> ale ne a ne tomu prijit na kloub. Mohl by me nekdo
> nakopnout, mne to po tech svatcich nejak hur mysli.
>
> Delphi 5.

Mozes si tu metodu prepisat na open array?

procedure MyMethod(A: array of string);

Potom jej mozes v parametri A predavat tak staticke, ako aj dynamicke polia
of string.

HTH
TOndrej


SQL export do xml

[*] Parizsky Ladislav <Ladislav.Parizsky(zv)access-it(tec)cz> - 14.1.2003 13:23:53

Ahoj,
vyskytl se mi tu problemek s exportem provazanych datasetu do xml dle =
zadaneho schematu. Pri pouziti SQLXML3.0 a zadane query mi nahlasi =
RelationShip expected i kdyz podle vkladaneho schematu jsou vsechny relace =
nastaveny. Setkal jste se nekdo s podobnym problemem, popr jakym zpusobem =
resite exporty dat do xml ?

Vyber dat:
'<ROOT xmlns:sql=3D''urn:schemas-microsoft-com:xml-sql'' >' +
'<sql:xpath-query mapping-schema=3D''exportpr.x=
ml'' >' +
' <sql:query> ' +
' SELECT * FROM PohyboveDoklady FOR XML AUTO =
' +
' </sql:query> ' +
'</sql:xpath-query>' +
'</ROOT>'

za nakopnuti dik
Ladap=20
WinXP SP1 EN, D5 ENT SP2, MSDE2000

Delphi a win CE

[*] Radek KALA <Kala(zv)BetaControl(tec)cz> - 14.1.2003 13:27:55

Zalezi taky na tom kde to na CE bude behat, neco jsem takovyho
jednou uz delal, a nez jsem zacal prepisovat, tak se zjistilo, ze
zakaznik ma Citrix a tak se to spustilo na nem a uzivatele maji na
Win CE jen CITRIX klienta.
Beha to velmi pekne.

> Jo jedine prevest do c++. Navic wince nepodporuji vsechny api funkce
> co ma klasicky windows.
>
> Milos
>
> -----Original Message-----
> From: Vymazal Milan [mailto:vymazal.milan(zv)seznam(tec)cz]
> Sent: Tuesday, January 14, 2003 10:15 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Delphi a win CE
>
>
> Zdravim
>
> mam jeden zdrojak v delphi a potreboval bych to prevest a zprovoznit
> na Windows CE. Jak je to mozne provest. Predpokladam ze to budu muset
> asi prepsat do C++. kompilator asi neexistuje.
>
> Diky Milan V.
> S pozdravem Radek KALA
BetaControl, s.r.o.
Cerneho 58/60, 635 00
tlf. : + 420 5 4622 3491
fax : + 420 5 4622 3470
GSM : + 420 603 85 75 15

dynamicke pole -> staticke

[*] Milan Schembera <milan(zv)missoftware(tec)cz> - 14.1.2003 13:33:31

Prave ze nemuzu, neni to moje metoda ;-) Je to FilterOnBookmarks z
DataSetu.> -----Original Message-----
> From: Ondrej Kelle

> Mozes si tu metodu prepisat na open array?

dynamicke pole -> staticke

[*] Ing. Pavel �ilinec����)b����ȧ~�� - 14.1.2003 13:33:50

Zkus pouzit TStringList a do parametru uved TStringList.Text a ten si
uvnitr te metody hod opet do TStringList.
To by melo projit.

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

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

MS> Zdravim,

MS> ted sem na to narazil a nejak furt odbiham do slepe ulicky: Mam dynamicke
MS> pole nadeklarovane jako
MS> P: array of string (nemuzu pouzit stringlist, resp. problem by byl pak
MS> stejny).
MS> No a pak to pole plnim, to je OK, ale kdyz ho chci pouzit u metody, kde jako
MS> parametr se uvadi staticke pole, tak mi to samozrejme rve, ze nelze pouzit
MS> dynamicke pole. Zkousel sem mu to vnutit vselijakym zpusobem, ale ne a ne
MS> tomu prijit na kloub. Mohl by me nekdo nakopnout, mne to po tech svatcich
MS> nejak hur mysli.

MS> Delphi 5.

MS> Dik.

MS> M.Sch.

Select textu ve sloupci Gridu

[*] Jan Naiser <tua(zv)wo(tec)cz> - 14.1.2003 13:44:54

Preji pekny den,
D5.01P, W2k

mam nasledujici cast kodu

dbGrid1.SelectedField:= dbGrid1.DataSource.DataSet.FieldByName('Pocet');
dbGrid1.EditorMode:= true;

a ted bych potreboval vybrat cely text v bunce podobnym prikazem jako napr.
v TEdit.SelectAll, ale nejak nemuzu prijit na to, cim to udelat.

Diky, Honza.

OT: padanie apl.

[*] Robert Suska <SuskaR(zv)seznam(tec)cz> - 14.1.2003 13:59:30

Ahojte!

Mam taku mozno specificku otazku a ak je to blbost tak mi to prosim odpuste
jedna sa o to ze mam hru ChessMaster 9000 a skusal som to na vsetkych OS
98/ME/2000/XP a robi to to iste. Proste spustite ju a vyhlasi to chybu. Ja
som dal svojmu kamaratovi na #delphi(tec)cz tri subory nech mi ich umiestni na
webe a bol by som rad keby sa niekto nasiel kto mi odpovie. Jedna sa o to ci
sa da z tych suborou zistit preco pada ta apl.. Popisy chyb su z Windows XP
PRO eng SP1 + posledne http://windowsupdate.microsoft.com pocitac Intel
Celeron Tualatin 1.4GHz, 3x 128MB RAM, HDD60GB, Geforce 4 Ti 4200, DX 9.0 a
testoval som to aj na DX8.1 a nic.

Dakujem za odpovede

linky:

http://naro.wz(tec)cz/sefino/appcompat.xml
http://naro.wz(tec)cz/sefino/chessmaster.JPG
http://naro.wz(tec)cz/sefino/01chessmaster.JPG

P.S. ak ma tato debata vyznam a treba obsirnejsie info o chybach tak prosim
napiste.

S pozdravom,

************************************
Robert Suska
KORAK SLOVAKIA s.r.o.
Horna 52
974 01 Banska Bystrica
www.korak.sk robert(zv)korak.sk
Network administrator, Delphi programmer
************************************

LPD daemon

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 14.1.2003 14:04:37

Sula Milos dne 14 Jan 2003 v 12:29:

> Zdravim,
> nema tu nekdo zkusenosti s psanim LPD daemona pro windows ? Nebo
> nevite o nejakem freeware at ho nemusim psat , ktery je funkcni i pod
> win 2000 ?

Ahoj,

neni neco takoveho primo soucasti Win2000? Na Win2000 jde doinstalovat sitova soucast, ktera pak
umozni posilat tisky na IP adresu te stanice z Unixu; vyuzivame to napr. pro NDPS tisk z Novellu.
Podrobny popis se da najit v knowledge base na www.novell.com, zakladem je otevrit okenko sitovych
pripojeni, dat Upresnit, Volitelne sitove soucasti, Jine sitove sluzby pro soubory a tisk,
Podrobnosti... Pod Win9x to nejspis soucasti OS neni.

Karel Rys

padanie apl.

[*] Jiri Sedivec <jsedivec(zv)mail(tec)cz> - 14.1.2003 14:11:39

http://naro.wz(tec)cz/sefino/chessmaster.JPG
Tak tuhle uplne stejnou hlasku mi vyhodila moje aplikace (viz. diskuze CPU
View)

Ja to neresim, stava se mi to jen kdyz aplikaci spoustim pres Delphi. Jinak
to funguje normalne.

Jiri

Select textu ve sloupci Gridu

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 14.1.2003 14:20:49

> Odes=EDlatel: Jan Naiser <tua(zv)wo(tec)cz>
> a ted bych potreboval vybrat cely text v bunce podobnym prikazem jako =
napr.
> v TEdit.SelectAll, ale nejak nemuzu prijit na to, cim to udelat.

Ja nevim, jestli to neni pitomej napad, ale pokud si vzpominam (Delphi =
kvuli tomu poustet nebudu), tak text v gridu se "vyselekti", kdyz =
zmacknu Enter.
Co mu takhle poslat message?

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


dynamicke pole -> staticke

[*] Jan Sebel�k <honza(zv)haes(tec)cz> - 14.1.2003 14:28:30

> Odes=EDlatel: Milan Schembera <milan(zv)missoftware(tec)cz>
> Prave ze nemuzu, neni to moje metoda ;-) Je to FilterOnBookmarks z
> DataSetu.

A jak je teda ta metoda FilterOnBookmarks deklarovana?
V Delphi 5 jsem to u TDataSet nenasel, D6 mam jen na ucebne.

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


dynamicke pole -> staticke

[*] Milan Schembera <milan(zv)missoftware(tec)cz> - 14.1.2003 14:44:16

FilterOnBookmarks(Bookmarks: array of const)

> -----Original Message-----
> From: Jan Sebel�k

> A jak je teda ta metoda FilterOnBookmarks deklarovana?
> V Delphi 5 jsem to u TDataSet nenasel, D6 mam jen na ucebne.

Delphi a win CE

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 14.1.2003 14:48:04

From: "Vymazal Milan" <vymazal.milan(zv)seznam(tec)cz>
> mam jeden zdrojak v delphi a potreboval bych to prevest a zprovoznit
> na Windows CE. Jak je to mozne provest. Predpokladam ze to budu muset

V soucasne dobe nijak, jedine prevodem do MSVC++. V budoucnosti pak pomoci
.NET Compact Framework a Delphi pro .NET

Petr Vones

dynamicke pole -> staticke

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 14.1.2003 14:51:11

>> Mozes si tu metodu prepisat na open array?

> Prave ze nemuzu, neni to moje metoda ;-) Je to FilterOnBookmarks z
> DataSetu.

to je tzv. variant open array:

procedure TCustomADODataSet.FilterOnBookmarks(Bookmarks: array of const);

tam mozes pouzit tzv. open array constructor:

ADODataSet1.FilterOnBookmarks([B1, B2, B3]);

co Ti ale asi nepomoze, pretoze zrejme potrebujes mat dynamicke pole
bookmarkov. Potom je este moznost pouzit array of TVarRec (pretoze array of
const = array of TVarRec). Neviem, akeho typu maju byt prvky toho pola
konkretne pre ADODataSet.FilterOnBookmarks. Predpokladam, ze je to string,
pretoze v povodnej otazke si uvadzal array of string. Tu je kratky priklad:

procedure Test;
var
A: array of string;
V: array of TVarRec;
I: Integer;
begin
// initialize string array with test data
SetLength(A, 3);
A[0] := 'abc';
A[1] := 'def';
A[2] := 'ghi';
// prepare TVarRec array
SetLength(V, Length(A));
for I := Low(A) to High(A) do
begin
V[I].VType := vtAnsiString;
V[I].VAnsiString := Pointer(A[I]);
end;
// pass it as variant open array parameter
OutputDebugString(PChar(Format('0: ''%s'', 1: ''%s'', 2: ''%s''', V)));
end;

V tomto priklade je druhy parameter funkcie Format variant open array:

function Format(const Format: string; const Args: array of const): string;

cize mozes mu predat array of TVarRec, ktore si pripravis na zaklade Tvojho
array of string.

Je to trochu divoke, mozno Ti niekto poradi nieco jednoduchsie.

HTH
TOndrej


Access violation pri uzavirani DELPHI

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 14.1.2003 14:53:43

Mam neprijemny pocit ze to souvisi s napovedou,alespon me se to po
nekolikratem zobrazeni helpu deje...ale ne vzdy,ale asi to trochu souvisiii

> File - Close All pred ukoncenim Delphi skutecne pomuze, ale po
> pricine badam
> dal.
> Zdravim a vsem dekuji
> Jirka
> >
> > Na predchozim pocitaci se mi nahodile take objevovala AV pri ukonceni
> > Delphi. Pomohl prikaz File - Close All pred ukoncenim Delphi, pak to
> > slo v klidu ukoncit.
> > Nyni na novem pocitaci a v nove instalaci jiz zadne AV :-)
> > S pozdravem Karel Horky
>
>
>

odstraneni mezer

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 14.1.2003 15:01:14

Hello delphi-l,

zdravim ma nasledujici problem

mam tento radek
"Package name: kdelibs"

a potrebuji ziskat to slovicko kde libs.
radek jsem rozdeli podle funkce breakapart a ziskal jsem
tak dva stringy:

"Package name:"

a

" kdelibs"

potreboval bych ostranit ty mezery z toho kdelibs. Skousel jsem
trimleft ale to nefunguje. koukal jsem se do hexeditu a to
prazdne misto je vyplneno x20


--
Best regards,

Milan Vymazal
Delphi 7 Enterprise, Windows 2000 SP3 Proff, IE 6.0sp1 with all sp

odstraneni mezer

[*] Ales Vasicek <vasicek(zv)ecommerce(tec)cz> - 14.1.2003 15:09:41

Pokud je prazdne misto vyplneno hexa 20, mela by to byt obycejna mezera,
cili staci pouzit fci Trim.

A.> -----Original Message-----
> From: Vymazal Milan [mailto:vymazal.milan(zv)seznam(tec)cz]=20
>=20
> potreboval bych ostranit ty mezery z toho kdelibs. Skousel jsem
> trimleft ale to nefunguje. koukal jsem se do hexeditu a to
> prazdne misto je vyplneno x20


odstraneni mezer

[*] Skopalik Slavomir <skopalik(zv)hlubocky.del(tec)cz> - 14.1.2003 15:19:16

D5 - trimleft, trim funguji na zadany retezec (kopie z e-mailu).
Zkus si to dat do watches, mozna je chyba nekde jinde.

Slavek

> "Package name:"
>
> a
>
> " kdelibs"
>
> potreboval bych ostranit ty mezery z toho kdelibs. Skousel jsem
> trimleft ale to nefunguje. koukal jsem se do hexeditu a to
> prazdne misto je vyplneno x20

mpeg & Delphi

[*] Peter Ondras <peter.ondras(zv)pse.sk> - 14.1.2003 15:25:32

1. pusti Delphi
2. vyber File->Close all
3. vyber Component->Import ActiveX control...
4. v listboxe prejdi az na uplny koniec, kde najdes "Windows Media
Player (version 1.0)"
5. v listboxe "Class names:" prepis "TMediaPlayer" na napr.
"TWinMediaPlayer" alebo na napr. "TWMP"
6. klikni na "Install..."
7. odklikaj vsetky okna co ti Delphi vyhodi a potom vyber Save all
8. odteraz mozes Windows Media Player mozes pouzivat. Najdes ho na
zalozke ActiveX, ale kludne si ho mozes prehodit kdekolvek inde. Jeho
pouzivanie je velmi jednoduche. Nemusis ani nic programovat, staci
pouzivat jeho originalne tlacitka. Ak ho chces ovladat programovo, tak
je to tiez velmi jednoduche. Staci napisat <nazov komponenty> napr.
WinMediaPlayer1.Play pre hranie WinMediaPlayer1.Stop pre zastavenie.
Predtym mu este musis dodat cestu a nazov suboru do
WinMediaPlayer1.FileName

Peter Ondras
peter.ondras(zv)pse.sk
(+421) 0904 421 925


>: -----Original Message-----
>: From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]
On
>: Behalf Of bleak
>: Sent: Tuesday, January 14, 2003 6:20 AM
>: To: delphi-l(zv)clexpert(tec)cz
>: Subject: Re: mpeg & Delphi
>:=20
>: diky za odpoved. Jak naimportuji WMP? Takov=FD import neumim.
>:=20
>: Jeste me napadlo, neslo by to nejak realizovat v DelphiX?
>:=20
>: bleak
>:=20
>: ----- Original Message -----
>: From: "Petr Vones" <pvones(zv)mbox.vol(tec)cz>
>: To: <delphi-l(zv)clexpert(tec)cz>
>: Sent: Tuesday, January 14, 2003 3:41 AM
>: Subject: Re: mpeg & Delphi
>:=20
>:=20
>: > From: "bleak" <bleak(zv)mvesely.com>
>: > > potrebuji vytvorit programek pro prehravani videa ve formatu MPEG
ve
>: > > fullscreenu, rozm=ECr obrazu bude plny PAL. Existuje nejaka
komponenta
>: (mimo
>: > > TMediaPlayer), ktera je vhodna pro tento ucel?
>: >
>: > Co treba pouzit naimportovany Windows Media Player ?
>: >
>: > Petr Vones
>: >
>: >

SQL Collation conflict

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 14.1.2003 15:28:26


----- Original Message -----
From: "Ludek ZITA" <konference(zv)sales(tec)cz>
> Poradte mi prosim jak mam zjoinovat dve tabulky z ruznych databazi na
temze
> serveru kdyz jsou kazda s jinou collation.
>
> Zkousel jsem
> SELECT .....
> FROM db1.dbo.Table1 T1
> JOIN db2.dbo.Table2 T2 ON Convert(nchar,T1.JMENO_UZIV) =
> Convert(nchar,T2.o_prijmeni)
> a porad mi nadava ze pry "Cannot resolve collation conflict for equal to
> operation."

Takze nejlepe se mi ovedcilo explicitni zadani collation :

SELECT .....
FROM db1.dbo.Table1 T1
JOIN db2.dbo.Table2 T2 ON JMENO_UZIV COLLATE SQL_Czech_CP1250_CI_AS =
T2.o_prijmeni COLLATE SQL_Czech_CP1250_CI_AS

Ludek

Export delphi unity do C++

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 14.1.2003 15:29:22

Ahoj kluci,tak jsem tu zas co musim vsechno dodrzet aby slo exportovat unitu
z delphi a pouzit ji jako knihovnu na v C++? Poslal jsem kamosovi unitu a ta
se neda prelozit,seka se to hned na prvnim radku a hlasi to udajne chybu
kompilace!!
Netusite co se musi udelat a co dodrzet? Staci poslat jen unitu nebo to mam
nejak spesl prelozil?

Hezky den

Ales Pavel
D6 Ent WXP
laik v profesionalnim kolotoci
http://talpa.chytrak(tec)cz/

Predpriprava dat v MS SQL

[*] K�tele� J�n <Koteles(zv)lumen.sk> - 14.1.2003 15:43:01

Dobry den,

pracujem na databazovej aplikacii, ktora po starte zobrazuje cely obsah
databazy, citajucej cca 50k riadkov. Databaza je vedena na MSSQL7. Ten obsah
tam potrebujem mat zoradeny podla dvoch poli.
Otvaranie databazy trva 15s ked pouzijem ORDER BY, co je dost dlho. Bez
ORDER BY to trva 4s.
Neda sa na MSSQL nejakym sposobom predpripravit uz zoradena databaza, ktoru
by uz iba hotovu poslal?
(D5, k MSSQL sa pripajam cez ADO.)

Dakujem

jk


Predpriprava dat v MS SQL

[*] Karel Kral <kralkonf(zv)purus(tec)cz> - 14.1.2003 16:21:31

Ledaze bys mel podle tech dvou poli primarni clusterovany klic. Moje
domnenka, taky zacinam.

K=F6tele=B9 J=E1n wrote:
> =

> Dobry den,
> =

> Neda sa na MSSQL nejakym sposobom predpripravit uz zoradena databaza, k=
toru
> by uz iba hotovu poslal?
> =

> Dakujem
> =

> jk

-- =

______________________________________________________
Karel Kral, vedouci odd. IT / IT manager
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 547 235 000, 602 552 432, Fax: 547 231 203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________

Blokovani DELETE v DBNavigatoru

[*] Milan Ruksak <ruksak(zv)volny(tec)cz> - 14.1.2003 16:27:49

Zdravim,
obcas potrebuji zablokovat funkci delete v DBNavigatoru. Jak to mam v
BeforeAction udelat, aby po stlaceni tohoto tlacitka se nemazalo?

Diky, Rooksy

Blokovani DELETE v DBNavigatoru

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 14.1.2003 16:29:03

> obcas potrebuji zablokovat funkci delete v DBNavigatoru. Jak to mam v
> BeforeAction udelat, aby po stlaceni tohoto tlacitka se nemazalo?

Mozes si vyvolat nejaku exception.

HTH
TOndrej


Predpriprava dat v MS SQL

[*] Lstiburek Pavel <Lstiburek(zv)ceb(tec)cz> - 14.1.2003 16:48:14

Pokud "Databaza" je tabulka, potom pomuze definovat=20
clustrovany index na pozadovanych sloupcich.
Ma-li tabulka primatni klic je ho nutno vymazat a=20
nahradit unikatnim indexem.=20

Pavel

> From: K=F6tele=B9 J=E1n [mailto:Koteles(zv)lumen.sk]
> pracujem na databazovej aplikacii, ktora po starte zobrazuje=20
> cely obsah
> databazy, citajucej cca 50k riadkov. Databaza je vedena na=20
> MSSQL7. Ten obsah
> tam potrebujem mat zoradeny podla dvoch poli.=20
> Otvaranie databazy trva 15s ked pouzijem ORDER BY, co je dost=20
> dlho. Bez
> ORDER BY to trva 4s.
> Neda sa na MSSQL nejakym sposobom predpripravit uz zoradena=20
> databaza, ktoru
> by uz iba hotovu poslal?
> (D5, k MSSQL sa pripajam cez ADO.)

Re[2]: odstraneni mezer

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 14.1.2003 16:49:29

Cau

uz jsem na to prisel. prepsal jsem v jedne fuknci a stale jsem volal
starou funkci. v pohode. je to mezi klavesnici a zidli

> Pokud je prazdne misto vyplneno hexa 20, mela by to byt obycejna mezera,
> cili staci pouzit fci Trim.

skusil jsem to znovu z trimleft a fungovalo to skvele.

> A.

jinak diky

>> -----Original Message-----
>> From: Vymazal Milan [mailto:vymazal.milan(zv)seznam(tec)cz]
>>
>> potreboval bych ostranit ty mezery z toho kdelibs. Skousel jsem
>> trimleft ale to nefunguje. koukal jsem se do hexeditu a to
>> prazdne misto je vyplneno x20

S pozdravem

Milan Vymazal
Delphi 7 Enterprise, Windows 2000 SP3 Proff, IE 6.0sp1 with all sp

Uvozovky v SQL do pole Varchar

[*] Roland Turcan <rotursoft(zv)post.sk> - 14.1.2003 16:49:17

<<< 14. 1. 2003 16:48 - J=E1n Harman "harman(zv)volny(tec)cz" >>>
JH> Ahoj opet uvozovky, ale nekde jinde.
JH> Potrebuji vlozit uvozovky, nebo apostrof do pole Varchar.
JH> Situace z delphi:
JH> Apostrof jednoduse zdvojim a je to ok.
JH> Uvozovku ( " ) pokud zapisu zdvojenou tak to sice vezme, ale obje=
vi se i v
JH> retezci 2x, coz je nezadouci.
JH> Pokud ji napisu jednou, tak to hodi chybu "XSQLDA index out of ra=
nge" ???
JH> Situace z ISQL:
JH> Do retezce (ktery je ohranicen apostrofy) staci zapsat jednou uvo=
zovku a
JH> normalne ji tam zapise. Bez chyby.

robis nieco ako

ibquery1.sql.text:=3D'select meno from osoby where meno starting
'''+e1.text'''';

?

Ak ano tak to rob cez Params a bude po problemoch.


--=20
Best regards, TRoland


Re[2]: Delphi a win CE

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 14.1.2003 17:08:38

Cau Petr,

Tuesday, January 14, 2003, 2:48:04 PM, you wrote:

> From: "Vymazal Milan" <vymazal.milan(zv)seznam(tec)cz>
>> mam jeden zdrojak v delphi a potreboval bych to prevest a zprovoznit
>> na Windows CE. Jak je to mozne provest. Predpokladam ze to budu muset

> V soucasne dobe nijak, jedine prevodem do MSVC++. V budoucnosti pak pomoci
> .NET Compact Framework a Delphi pro .NET

Aha tak alespon neco... ale jak dlouho znamena budoucnost. budu to
muset asi prepsat do VC++

> Petr Vones


S pozdravem

Milan Vymazal
Delphi 7 Enterprise, Windows 2000 SP3 Proff, IE 6.0sp1 with all sp

PDFExport pro FastReport a cestina

[*] Ji�� Binder<j.binder(zv)albacon(tec)cz> - 14.1.2003 18:11:11

Ahoj=2C

zkousel jsem uvedeny free PDFExport z FastReportu do pdf zalozenych na free=
komponentach PowerPdf=2E
Bohuzel si neporadi s cestinou=2E Nezkoumal nahodou nekdo=2C jak tam dodat=
definice fontu=3F

Diky za pripadne namety=2E Zdravi Jiri=
Binder

PDFExport pro FastReport a cestina

[*] Martin Radvansky <delphicz(zv)stereo(tec)cz> - 14.1.2003 18:18:30

Dobr� den,
14. ledna 2003, 18:11:11, napsal jste:

JB> Ahoj,

JB> zkousel jsem uvedeny free PDFExport z FastReportu do pdf zalozenych na free komponentach PowerPdf.
JB> Bohuzel si neporadi s cestinou. Nezkoumal nahodou nekdo, jak tam dodat definice fontu?

JB> Diky za pripadne namety. Zdravi Jiri Binder


Podle mych pruzkumu si s PDF s cestinou z FR poradi pouze placena knihovna
llPDFLib


--
S pozdravem,
radvansky.martin.stereo(tec)cz
radvansky.martin(zv)stereo(tec)cz

Delphi a win CE

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

From: "Vymazal Milan" <vymazal.milan(zv)seznam(tec)cz>

To: "Petr Vones" <delphi-l(zv)clexpert(tec)cz>
^ tohle je asi trochu spatne, ne ? ;-)

> Aha tak alespon neco... ale jak dlouho znamena budoucnost. budu to

Odhadem nekolik mesicu. Pokud to ale nebude rekneme ani do konce roku, tak uz
je to ve spojeni s Delphi asi bezpredmetne (-> C#).

Petr Vones

PDFExport pro FastReport a cestina

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 14.1.2003 18:51:12

----- Original Message -----
From: "Jir� Binder" <j.binder(zv)albacon(tec)cz>
>

> zkousel jsem uvedeny free PDFExport z FastReportu
> do pdf zalozenych na free komponentach PowerPdf.
> Bohuzel si neporadi s cestinou. Nezkoumal nahodou nekdo,
> jak tam dodat definice fontu?
>

Podpora cestiny je bohuzel v PDF problem, ktery pokud vim
umi resit pouze komercni komponenty llPDFLib od llionsoft
www.llion.net

Martin Schayna

Export delphi unity do C++

[*] Blazek Jaroslav <Jaroslav.Blazek(zv)access-it(tec)cz> - 14.1.2003 19:27:25

Ahoj,

> Aldik(zv)quick(tec)cz 14.1.03 15:30 >>>
>Ahoj kluci,tak jsem tu zas co musim vsechno dodrzet aby slo exportovat =
unitu
>z delphi a pouzit ji jako knihovnu na v C++? Poslal jsem kamosovi unitu a =
ta
>se neda prelozit,seka se to hned na prvnim radku a hlasi to udajne chybu
>kompilace!!
>Netusite co se musi udelat a co dodrzet? Staci poslat jen unitu nebo to =
mam
>nejak spesl prelozil?

v BCB to jde urcite...
Menu->Component->Install Component...
zalozka - Into new package
Unit file name =3D vyberes si tu svou komponentu "Komponenta.pas"
Package file name =3D balicek "CKomponenta.bpk" (nesmi se jmenovat =
Komponenta.bpk)

Pokud ti jde o tu tvoji unitu FreeExcelSylk, ktera nejni komponentou, tak =
to jde stejnym zpusobem
potom staci balicek odinstalovat a mit jen (*.pas, *.dcu, *.obj, *.hpp)
includnout do projektu #indlude "FreeExcelSylk.hpp"
a pridat cestu=20
Menu->Project->Options...
zalozka Directories/Conditionals - Include path...
http://sweb(tec)cz/data.product/BCB/BCB6/FreeExcelSylk/FreeExcelSylk.zip
mas tam i prepsany ten tvuj priklad ze stranek.... :-)


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

Uvozovky v SQL do pole Varchar

[*] J�n Harman <harman(zv)volny(tec)cz> - 14.1.2003 19:56:33

Problem spociva v INSERT INTO nebo UPDATE
Napr: UPDATE FIRMY SET NAZEV=3D'aaaaaaa"b"aaaaaa'
pokud to zapisu takto, tak to vyhazuje chybu "XSQLDA index out of range".
Pokud to zapisu takto:
UPDATE FIRMY SET NAZEV=3D'aaaaaaa""b""aaaaaa'
tak to chybu nehodi, ale ulozi do pole ten samy text jak je zadany, tzn s=
e
dvema uvozovkama posobe.
DAJI SE NEJAK ZAPSAT JENOM JEDNY UVOZOVKY??
Diky moc.
J=E1n Harman, Brno, harman(zv)volny(tec)cz

PDFExport pro FastReport a cestina

[*] Ji�� Binder<j.binder(zv)albacon(tec)cz> - 14.1.2003 20:28:28

=3E
=3E JB=3E zkousel jsem uvedeny free PDFExport z FastReportu do pdf=
zalozenych na free komponentach PowerPdf=2E
=3E JB=3E Bohuzel si neporadi s cestinou=2E Nezkoumal nahodou nekdo=2C jak=
tam dodat definice fontu=3F
=3E
From=3A Martin Radvansky =3Cdelphicz=40stereo=2Ecz
=3E Podle mych pruzkumu si s PDF s cestinou z FR poradi pouze placena=
knihovna
=3E llPDFLib

Ani komponenty od Pragnaan Software=3F Doufal jsem=2C ze uspeju alespon s=
nimi=2C jejich cena je prece jen
priznivejsi=2E

Jiri Binder

Blokovani DELETE v DBNavigatoru

[*] Milan Ruksak <ruksak(zv)volny(tec)cz> - 14.1.2003 20:41:31

Diky, ale reakce exception vznikne, az kdyz je nejaka vyjimka. Ale ja se
potrebuji rozhodnout jeste pred tim, nez vyjimka vznikne (na zaklade
vypoctu). A vypnout tlacitko nemohu.

Jinak - potrebuji, aby tlacitko "na oko" fungovalo, ale nic se nestalo.

Rooksy

----- Original Message -----
From: "Ondrej Kelle" <O.Kelle(zv)digitalpublishing.de>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Tuesday, January 14, 2003 4:29 PM
Subject: RE: Blokovani DELETE v DBNavigatoru


> > obcas potrebuji zablokovat funkci delete v DBNavigatoru. Jak to mam v
> > BeforeAction udelat, aby po stlaceni tohoto tlacitka se nemazalo?
>
> Mozes si vyvolat nejaku exception.
>
> HTH
> TOndrej
>
>

Re[2]: PDFExport pro FastReport a cestina

[*] Martin Radvansky <delphicz(zv)stereo(tec)cz> - 14.1.2003 20:57:11

Dobr� den,
14. ledna 2003, 20:28:28, napsal jste:

>>
>> JB> zkousel jsem uvedeny free PDFExport z FastReportu do pdf zalozenych na free komponentach PowerPdf.
>> JB> Bohuzel si neporadi s cestinou. Nezkoumal nahodou nekdo, jak tam dodat definice fontu?
>>
JB> From: Martin Radvansky <delphicz(zv)stereo(tec)cz
>> Podle mych pruzkumu si s PDF s cestinou z FR poradi pouze placena knihovna
>> llPDFLib

JB> Ani komponenty od Pragnaan Software? Doufal jsem, ze uspeju alespon s nimi, jejich cena je prece jen
JB> priznivejsi.

JB> Jiri Binder


Komponenty od Pragnaan software mam jiz od kvetna minuleho roku a od te
doby je neustale bombarduji emaily, kdy to bude. Jednou pry ano. Zatim
se na jejich strankach pouze objevila jakasi verze pro ReportBuilder
PRO ktera ma dle popisu to umet. Jestli ano, to nevim, po dotazu na
verzi pro FR jsem dostal jiz obligatni odpoved ze se to chysta a
jednou to bude. Jen jeste FR chysta verzi 3 takze snad by to mohli dat
do upgrade pro FR3, ale moc bych si od toho nesliboval.

Ja jeste resim problem s llPDFLib a to je ten, ze to nechce fungovat
dobre, pokud je na sestave wmf obrazek. pro zmenu je necesky ten PDF
obrazek.

--
S pozdravem,
Martin Radvansky

dynamicke pole -> staticke

[*] Milan Schembera <milan(zv)missoftware(tec)cz> - 14.1.2003 21:16:55

Jojo, funguje, upravil jsem si to k obrazu svemu a je to ono. Pokud by mel
nekdo zajem, muzu zdrojak na tento konkretni priklad zaslat.

M.

> -----Original Message-----
> From: Ondrej Kelle

> procedure Test;
> var
> A: array of string;
> V: array of TVarRec;
> I: Integer;
> begin
> // initialize string array with test data
> SetLength(A, 3);
> A[0] := 'abc';
> A[1] := 'def';
> A[2] := 'ghi';
> // prepare TVarRec array
> SetLength(V, Length(A));
> for I := Low(A) to High(A) do
> begin
> V[I].VType := vtAnsiString;
> V[I].VAnsiString := Pointer(A[I]);
> end;
> end;

Re[2]: Blokovani DELETE v DBNavigatoru

[*] Martin Radvansky <delphicz(zv)stereo(tec)cz> - 14.1.2003 21:19:48

Dobr� den,
14. ledna 2003, 20:41:31, napsal jste:

MR> Diky, ale reakce exception vznikne, az kdyz je nejaka vyjimka. Ale ja se
MR> potrebuji rozhodnout jeste pred tim, nez vyjimka vznikne (na zaklade
MR> vypoctu). A vypnout tlacitko nemohu.

MR> Jinak - potrebuji, aby tlacitko "na oko" fungovalo, ale nic se nestalo.

Tak proc to neresis v before delete?
Proste nesmazes zaznam na zaklade tve podminky.
Je prece jedno, jestli to mazes stiskem tlacitka v navigatoru nebo del
na radku v mrizce

--
S pozdravem,
Martin Radvansky

PDFExport pro FastReport a cestina

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

From: "Ji�� Binder" <j.binder(zv)albacon(tec)cz>
> Bohuzel si neporadi s cestinou. Nezkoumal nahodou nekdo, jak tam dodat
> definice fontu?

Obecne jsou dva zpusoby jak zobrazovat ceske znaky v PDF dokumentech:

- vlozit do dokumentu prislusny 'EE' font

- slozit znaky s diakritikou ze znaku anglicke abecedy a pridaneho znamenka
(hacek, carka, krouzek). V tomto pripade si vystacis se zakladnimi fonty
definovanymi Adobe, ktere jsou v prohlizeci PDF. Urcitou nevyhodu je ale to,
ze takovy text nelze kopirovat z dokumentu pres clipboard, coz ale nemusi v
mnoha pripadech tolik vadit. Samozrejme je pro to potreba podpora ze strany
te knihovny kterou na vytvareni PDF pouzivas.

Petr Vones

Tlacitka: YES NO

[*] Milan Ruksak <ruksak(zv)volny(tec)cz> - 14.1.2003 21:32:01

Jeste jeden dotaz. Jak donutit Delphi, aby v hlaskach misto Yes, No a OK tam
byla cestina (Ano, NE ...) ?

Rooksy

Blokovani DELETE v DBNavigatoru

[*] Milan Ruksak <ruksak(zv)volny(tec)cz> - 14.1.2003 21:33:19

Vlastne to byl docela dobry napad, diky.

----- Original Message -----
From: "Ondrej Kelle" <O.Kelle(zv)digitalpublishing.de>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Tuesday, January 14, 2003 4:29 PM
Subject: RE: Blokovani DELETE v DBNavigatoru


> > obcas potrebuji zablokovat funkci delete v DBNavigatoru. Jak to mam v
> > BeforeAction udelat, aby po stlaceni tohoto tlacitka se nemazalo?
>
> Mozes si vyvolat nejaku exception.
>
> HTH
> TOndrej
>
>

Tlacitka: YES NO

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 14.1.2003 21:34:19

From: "Milan Ruksak" <ruksak(zv)volny(tec)cz>
> Jeste jeden dotaz. Jak donutit Delphi, aby v hlaskach misto Yes, No a OK tam
> byla cestina (Ano, NE ...) ?

Pouzivat standardni dialogy Windows, ve VCL je to Application.MessageBox.

Petr Vones

Tlacitka: YES NO

[*] <M.Babik(zv)mus(tec)cz> - 14.1.2003 21:36:31

Zkus pouzit klasicke windows messages!
Treba:=20
MessageBox(application.Handle, PChar('Chcete zalozit novy zaznam?'),PChar('=
Zalozeni zaznamu'), MB_YESNO or MB_ICONQUESTION ) M&B=20

>>> ruksak(zv)volny(tec)cz 14.1.2003 21:32 wrote:
>Jeste jeden dotaz. Jak donutit Delphi, aby v hlaskach misto Yes, No a OK =
tam byla cestina (Ano, NE ...) ?

Blokovani DELETE v DBNavigatoru

[*] tondrej(zv)t-online.de (TOndrej) - 14.1.2003 22:04:16

> Diky, ale reakce exception vznikne, az kdyz je nejaka vyjimka. Ale ja se
> potrebuji rozhodnout jeste pred tim, nez vyjimka vznikne (na zaklade
> vypoctu). A vypnout tlacitko nemohu.
>
> Jinak - potrebuji, aby tlacitko "na oko" fungovalo, ale nic se nestalo.

Skus proceduru Abort - ta vyvola 'tichu' vynimku EAbort, ktora sa nezobrazuje
uzivatelovi.

HTH
TOndrej

Tlacitka: YES NO

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 14.1.2003 22:36:27

MTQuMS4yMDAzIFBldHIgVm9uZXM6DQo+IEZyb206ICJNaWxhbiBSdWtzYWsiIDxydWtzYWtAdm9s
bnkuY3o+DQo+PiBKZXN0ZSBqZWRlbiBkb3Rhei4gSmFrIGRvbnV0aXQgRGVscGhpLCBhYnkgdiBo
bGFza2FjaCBtaXN0byBZZXMsIE5vIGEgT0sgdGFtDQo+PiBieWxhIGNlc3RpbmEgKEFubywgTkUg
Li4uKSA/DQoNCj4gUG91eml2YXQgc3RhbmRhcmRuaSBkaWFsb2d5IFdpbmRvd3MsIHZlIFZDTCBq
ZSB0byBBcHBsaWNhdGlvbi5NZXNzYWdlQm94Lg0KDQpBIHBhayB6IHRvaG8gamUgbWV6aW5hcm9k
bmkgbWFnbGFqeiwgcG9rdWQgbeG5IGFuZ2xpY2vpIHdpbmRvd3MgbmVibw0KdG8gY2hjZbkgbG9r
YWxpem92YXQuDQoNCi0tIA0KaW5nLiBKYW4gRmlhbGENCm1haWx0bzpqYW4uZmlhbGFAaW9sLmN6

Predpriprava dat v MS SQL

[*] Petr Langer <langer(zv)xdom(tec)cz> - 14.1.2003 22:54:13

Jak uz ostatni radili, je potreba vytvorit index. Samozrejme nejrychlejsi je
clustrovany, ale pomuze ti jakykoliv. Pokud mas v ORDER BY vice sloupcu, je
lepsi dat do indexu vsechny, ale zase musis brat ohled na ostatni query.
Nejvice tipu kolem MSSQL najdes na www.sql-server-performance.com

HTH
Petr Langer

----- Original Message -----
From: "K�tele� J�n" <Koteles(zv)lumen.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Tuesday, January 14, 2003 3:43 PM
Subject: Predpriprava dat v MS SQL


> Dobry den,
>
> pracujem na databazovej aplikacii, ktora po starte zobrazuje cely obsah
> databazy, citajucej cca 50k riadkov. Databaza je vedena na MSSQL7. Ten
obsah
> tam potrebujem mat zoradeny podla dvoch poli.
> Otvaranie databazy trva 15s ked pouzijem ORDER BY, co je dost dlho. Bez
> ORDER BY to trva 4s.
> Neda sa na MSSQL nejakym sposobom predpripravit uz zoradena databaza,
ktoru
> by uz iba hotovu poslal?
> (D5, k MSSQL sa pripajam cez ADO.)
>
> Dakujem
>
> jk
>
>

Tlacitka: YES NO

[*] Milan Ruksak <ruksak(zv)volny(tec)cz> - 14.1.2003 23:57:48

Tak ted uz z toho mam "maglajs" i ja. S delphi vicemene zacinam, ale chce=
te
tim rict, ze to nejde ? V C++, VisualBasicu i VisualFoxpro to jde a jen
Delphi to neumi ? Protoze nevim, zda nekdo bude mit ceske, anglicke nebo
nemecke Windows, asi Windows okna nebudou resenim !!! Mel jsem o Delphi
lepsi mineni, ale jest-li mam kazdou udalost a hlasku obsluhovat pomoci
vyjimek (protoze jinou rozumnou cestu neznam), tak "NO NAZDAR" ... A to
nemluvim o lokalizaci, kterou budu potrebovat! Stejne tak se mi zda "ujet=
y"
psat vyjimku jen proto, aby program napsal misto "Key Violation" neco
srozumitelneho pro obycejneho ceskeho uzivatele.
A nebo jsem jako zacatecnik uplne mimo misu ...?

O reseni bych vedel, ale zatim to neumim udelat - napsat potomky dialogu =
s
vlastnostmi popis tlacitek ...

Rooksy

----- Original Message -----
From: "ing. Jan Fiala" <jan.fiala(zv)iol(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Tuesday, January 14, 2003 10:36 PM
Subject: Re: Tlacitka: YES NO


> 14.1.2003 Petr Vones:
> > From: "Milan Ruksak" <ruksak(zv)volny(tec)cz>
> >> Jeste jeden dotaz. Jak donutit Delphi, aby v hlaskach misto Yes, No =
a
OK tam
> >> byla cestina (Ano, NE ...) ?
>
> > Pouzivat standardni dialogy Windows, ve VCL je to
Application.MessageBox.
>
> A pak z toho je mezinarodni maglajz, pokud m=E1=B9 anglick=E9 windows n=
ebo
> to chce=B9 lokalizovat.
>
> --
> ing. Jan Fiala
> mailto:jan.fiala(zv)iol(tec)cz


Produkty TurboPower na SourceForge

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

Ahoj,

pokud chcete vedet kde najdete nektere z uvolnenych produktu TurboPower, tak
muzete zacit na teto adrese: http://sourceforge.net/users/tpsfadmin/

Jako prvni je k dispozici TurboPower Essentials

Petr Vones

Prekresleni TJvThumbImage

[*] Miroslav Novosad <mirnov2(zv)seznam(tec)cz> - 15.1.2003 01:20:07

Ahoj,

pouzivate nekdo TJvThumbImage prip. TJvSpecialImage z JVCL?
Kdyz se pokusim zmenit napr. Lightness, resp. Brightness tak mi obrazek
zmizne a zustane bila plocha. V navrhu to funguje. Nenasel jsem ale, jak
za behu vynutit prekresleni.
Mate nekdo vysvetleni/reseni?

if Ano then Diky:-)


Miroslav Novosad
mirnov2(zv)seznam(tec)cz

Tlacitka: YES NO

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

14.1.2003 Milan Ruksak:
> Tak ted uz z toho mam "maglajs" i ja. S delphi vicemene zacinam, ale chcete
> tim rict, ze to nejde ? V C++, VisualBasicu i VisualFoxpro to jde a jen
> Delphi to neumi ? Protoze nevim, zda nekdo bude mit ceske, anglicke nebo
> nemecke Windows, asi Windows okna nebudou resenim !!! Mel jsem o Delphi
> lepsi mineni, ale jest-li mam kazdou udalost a hlasku obsluhovat pomoci
> vyjimek (protoze jinou rozumnou cestu neznam), tak "NO NAZDAR" ... A to
> nemluvim o lokalizaci, kterou budu potrebovat! Stejne tak se mi zda "ujety"
> psat vyjimku jen proto, aby program napsal misto "Key Violation" neco
> srozumitelneho pro obycejneho ceskeho uzivatele.
> A nebo jsem jako zacatecnik uplne mimo misu ...?

Problem je v tom, ze klasicky MessageDlg() Delphi pouziva retezce z
Consts.PAS. Takze jsou vzdy anglicke.
Pokud pouzijes Application.MessageBox(), budes vazany na jazykovou
verzi OS. Takze na ceskych Windows bude program anglicky, ale dialogy
budou cesky (podobne jako ve VB nebo C)
Dalsi moznost je pouzit API funkci MessageBoxEx(), ve ktere je
poslednim parametrem LanguageID. Ale tam taky nezvolis libovolny
jazyk.

Ja pouzivam klasicky MessageDlg() z Delphi a pro lokalizaci si zavolam
tohle (kdysi P.Vones):

type
TLocalizeResString = record
ResString: PResStringRec;
LocalizedText: string;
end;

{-----------------------------------------------------------------
Prepsani resource v dialozich
------------------------------------------------------------------}
procedure LocalizeResStrings(const Strings: array of TLocalizeResString);
var
I: Integer;
OldProtect, Dummy: DWORD;
begin
for I := Low(Strings) to High(Strings) do
with Strings[I] do
begin
Win32Check(VirtualProtect(ResString, SizeOf(TResStringRec),
PAGE_READWRITE, OldProtect));
try
ResString^.Identifier := Integer(PChar(LocalizedText));
finally
VirtualProtect(ResString, SizeOf(TResStringRec), OldProtect, Dummy);
end;
end;
end;

{-----------------------------------------------------------------
Lokalizace dialogu
------------------------------------------------------------------}
procedure LocalizeDialogs;
var
ResStrings: array[0..8] of TLocalizeResString;
begin
ResStrings[0].ResString := (zv)SMsgDlgYes;
ResStrings[0].LocalizedText := rs_Yes;
ResStrings[1].ResString := (zv)SMsgDlgNo;
ResStrings[1].LocalizedText:= rs_No;
ResStrings[2].ResString := (zv)SMsgDlgWarning;
ResStrings[2].LocalizedText:= rs_Warning ;
ResStrings[3].ResString := (zv)SMsgDlgError;
ResStrings[3].LocalizedText:= rs_Error;
ResStrings[4].ResString := (zv)SMsgDlgInformation;
ResStrings[4].LocalizedText:= rs_Asterisk;
ResStrings[5].ResString := (zv)SMsgDlgConfirm;
ResStrings[5].LocalizedText:= rs_Question;
ResStrings[6].ResString := (zv)SMsgDlgAll;
ResStrings[6].LocalizedText:= rs_All;
ResStrings[7].ResString := (zv)SMsgDlgCancel;
ResStrings[7].LocalizedText:= rs_Cancel;
ResStrings[8].ResString := (zv)SMsgDlgYesToAll;
ResStrings[8].LocalizedText:= rs_YesToAll;
LocalizeResStrings(ResStrings);
end;

Do rs_??? se dosadi prislusny lokalizovany string. Staci zavolat
jednou kdekoliv v programu. Po zmene retezcu na jiny jazyk a
opetovnem zavolani jsou dialogy v jinem jazyku.

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

mpeg & Delphi

[*] bleak <bleak(zv)mvesely(tec)com> - 15.1.2003 06:20:48

diky za odpoved, kde na te strance najdu ty prehravace? Ma to byt v sekci
dxheaders - DirectAnimation.zip? Z te stranky totiz nelze nic stahovat.
bleak

----- Original Message -----
From: "Obermaier Petr Ing." <Obermaier(zv)mail.sdas(tec)cz>
Lip to pujde s JEDI-DirectX, na strance mas i par prikladu prehravacu
(http://www.crazyentertainment.net).
Ober

Tlacitka: YES NO

[*] Tvrz Miroslav <Miroslav.Tvrz(zv)merlin(tec)cz> - 15.1.2003 07:22:14

Ahoj, ja na to pouzivam jednotku, kterou jsem pred cca 2 roky nekde =
stahnul
a=20
bezi to vsechno na vybornou - pokud ma nekdo zajem, mohu ji zaslat

MI'RA

Miroslav Tvrz
Software Development Specialist
MERLIN
=A9tef=E1nikova 32
150 00 Prague 5
Czech Republic
Tel.: (+420) 241010111
Fax: (+420) 241010165

E-mail: miroslav.tvrz(zv)merlin(tec)cz=20
http://www.merlinlogic.com/=20
http://www.merlin(tec)cz/


-----Original Message-----
From: ing. Jan Fiala [mailto:jan.fiala(zv)iol(tec)cz]
Sent: Wednesday, January 15, 2003 6:06 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Tlacitka: YES NO


14.1.2003 Milan Ruksak:
> Tak ted uz z toho mam "maglajs" i ja. S delphi vicemene zacinam, ale
chcete
> tim rict, ze to nejde ? V C++, VisualBasicu i VisualFoxpro to jde a =
jen
> Delphi to neumi ? Protoze nevim, zda nekdo bude mit ceske, anglicke =
nebo
> nemecke Windows, asi Windows okna nebudou resenim !!! Mel jsem o =
Delphi
> lepsi mineni, ale jest-li mam kazdou udalost a hlasku obsluhovat =
pomoci
> vyjimek (protoze jinou rozumnou cestu neznam), tak "NO NAZDAR" ... A =
to
> nemluvim o lokalizaci, kterou budu potrebovat! Stejne tak se mi zda
"ujety"
> psat vyjimku jen proto, aby program napsal misto "Key Violation" neco
> srozumitelneho pro obycejneho ceskeho uzivatele.
> A nebo jsem jako zacatecnik uplne mimo misu ...?

Problem je v tom, ze klasicky MessageDlg() Delphi pouziva retezce z
Consts.PAS. Takze jsou vzdy anglicke.
Pokud pouzijes Application.MessageBox(), budes vazany na jazykovou
verzi OS. Takze na ceskych Windows bude program anglicky, ale dialogy
budou cesky (podobne jako ve VB nebo C)
Dalsi moznost je pouzit API funkci MessageBoxEx(), ve ktere je
poslednim parametrem LanguageID. Ale tam taky nezvolis libovolny
jazyk.

Ja pouzivam klasicky MessageDlg() z Delphi a pro lokalizaci si zavolam
tohle (kdysi P.Vones):

type
TLocalizeResString =3D record
ResString: PResStringRec;
LocalizedText: string;
end;

{-----------------------------------------------------------------
Prepsani resource v dialozich
------------------------------------------------------------------}
procedure LocalizeResStrings(const Strings: array of =
TLocalizeResString);
var
I: Integer;
OldProtect, Dummy: DWORD;
begin
for I :=3D Low(Strings) to High(Strings) do
with Strings[I] do
begin
Win32Check(VirtualProtect(ResString, SizeOf(TResStringRec),
PAGE_READWRITE, OldProtect));
try
ResString^.Identifier :=3D Integer(PChar(LocalizedText));
finally
VirtualProtect(ResString, SizeOf(TResStringRec), OldProtect, =
Dummy);
end;
end;
end;

{-----------------------------------------------------------------
Lokalizace dialogu
------------------------------------------------------------------}
procedure LocalizeDialogs;
var
ResStrings: array[0..8] of TLocalizeResString;
begin
ResStrings[0].ResString :=3D (zv)SMsgDlgYes;
ResStrings[0].LocalizedText :=3D rs_Yes;
ResStrings[1].ResString :=3D (zv)SMsgDlgNo;
ResStrings[1].LocalizedText:=3D rs_No;
ResStrings[2].ResString :=3D (zv)SMsgDlgWarning;
ResStrings[2].LocalizedText:=3D rs_Warning ;
ResStrings[3].ResString :=3D (zv)SMsgDlgError;
ResStrings[3].LocalizedText:=3D rs_Error;
ResStrings[4].ResString :=3D (zv)SMsgDlgInformation;
ResStrings[4].LocalizedText:=3D rs_Asterisk;
ResStrings[5].ResString :=3D (zv)SMsgDlgConfirm;
ResStrings[5].LocalizedText:=3D rs_Question;
ResStrings[6].ResString :=3D (zv)SMsgDlgAll;
ResStrings[6].LocalizedText:=3D rs_All;
ResStrings[7].ResString :=3D (zv)SMsgDlgCancel;
ResStrings[7].LocalizedText:=3D rs_Cancel;
ResStrings[8].ResString :=3D (zv)SMsgDlgYesToAll;
ResStrings[8].LocalizedText:=3D rs_YesToAll;
LocalizeResStrings(ResStrings);
end;

Do rs_??? se dosadi prislusny lokalizovany string. Staci zavolat
jednou kdekoliv v programu. Po zmene retezcu na jiny jazyk a
opetovnem zavolani jsou dialogy v jinem jazyku.

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

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