Archív konference Delphi

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

Generovani ID pri pridavani zaznamu

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

From: Karel Kral <kral(zv)purus(tec)cz>
> To zni dobre. Ale jakou funkci vygeneruji GUID? V helpu Win32 API jsem
> se docetl: Each class identifier key is a globally unique identifier
> (GUID) generated by the UUIDGEN tool. To nezni moc nadejne?

Ahoj,

Treba pomoci funkce CreateClassID (unit ComObj) nebo volanim CoCreateGuid.

Petr Vones, amatersky programator


DBgrid

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

From: HAJDUK Slavo <slavo.hajduk(zv)za.asset.sk>
> priklad - klasicky dbgrid ma na pravom boku scrollbar (d3,d4,win95)
> ak nim pohnes zmeni sa ti pozicia zaznamu a to je ten problem,
> potreboval by som to nahradit
> scroll barom, ktori posuva ale nemeni poziciu oznaceneho zaznamu.

Ahoj,

Mozna by jsi mohl vyuzit oznacovani zaznamu v DBGridu. Nastav si v
TDBGrid.Options dgMultiSelect.

Petr Vones, amatersky programator

Zajimavost pri vytizeni procesoru

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

From: Jirka Virt <virt(zv)volny(tec)cz>
> tak jsem na to mrknul a neco vytvoril.Neni to ono, ale funguje
> to.Mimochodem - nevite jak sledovat vytizeni procesoru na NTckach???

Ahoj,

V NT pomoci Performance Data Helper knihovny, zkratka jinak nez ve W9x :-)

> Ano, vim, je to chaoticke , ale funguje to!!

Tady jsem se to pokusil trochu zobecnit do Delphi trid, aby se s tim lepsi
pracovalo. Umoznuje to prochazeni dostupnymi polozkami, ziskavani hodnot
(jak primych tak rozdilovych) a zapinani a vypinani jednotlivych polozek.
Je u toho i priklad (Examples\PerfMon95Example.dpr)
http://www.volweb(tec)cz/pvones/download/PvComponents.zip

Petr Vones, amatersky programator


THTML

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.12.1999 22:49:09

From: Ale� Kle�ka <aklecka(zv)merlin(tec)cz>
> Panove chtel bych Vas poprosit o doporuceni nejake komponenty pro
> prohlizeni HTML stranek.

Ahoj,

Napriklad Internet Explorer :-) Muzes si jej naimportovat do Delphi jako ActiveX
control a pak pouzit. V menu Component | Import ActiveX control vyber "Microsoft
Internet Controls" a v zalozce ActiveX se ti pak objevi TWebBrowser. V D5 uz je
primo v palete komponent "Internet". Lepsi HMTL engine v soucasne dobe patrne nenajdes.

Petr Vones, amatersky programator

Pohyb po databazi a editacni buffer

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.12.1999 22:49:13

From: Karel Kral <kral(zv)purus(tec)cz>
> Mam jeste jeden dotaz souvisejici s predchozim:
> Jestlize jsem nastaven na nejakem zaznamu databaze, mam v datovem
> bufferu urcite hodnoty a kurzor je na nejake aktualni pozici.
> Dejme tomu, ze se potrebuji na chvilku podivat na jiny zaznam databaze a
> nerad bych ztratil hodnoty z puvodniho zaznamu. Jak to udelat?
> Napadly me dve moznosti, obe podle mne slabe:
> 1. Schovat si jednotlive pole zaznamu pomoci MyString:=
> FieldByName('xxx'.AsString. To je hodne blbe.
> 2. Otevrit si dalsi TTable nad stejnou fyzickou tabulkou a tam udelat
> pozadovane "kouknuti jinam". To je asi elegantnejsi.

Ahoj,

Predpokladam ze jde o souborove databaze. Otevreni druhe tabulky neni tak
hrozne.

> Existuje nejaka moznost, pri pohybech v databazi neprijit o obsah
> aktualniho datoveho bufferu? Treba jak si schovat cely zaznam v nejakem
> surovem formatu a po kouknuti jinam ho zase obnovit? Pominme to, ze ho
> muzu znovu nacist z databaze.

Teoreticky by jsi ve stavu datasetu TDataSet.State = dsEdit mohl ulozit obsah
bufferu TDataSet.ActiveBuffer o delce TDataSet.RecordSize, zavolat Cancel, pak
se kouknout jinam, skocit zpet na ten zaznam, dat Edit a naplnit buffer zpet.
Mohlo by to vypadat asi takhle, nebude to ale mozne pouzit na BLOBy, navic je
to takove, na hranici "cistoty".

type
TForm1 = class(TForm)
(...)
private
EditBuffer: Pointer;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.SaveBtnClick(Sender: TObject);
begin
with Table1 do
if State = dsEdit then
begin
GetMem(EditBuffer, RecordSize);
Move(ActiveBuffer^, EditBuffer^, RecordSize);
Cancel;
end else ShowMessage('Error');
end;

type
TDataSetHack = class(TDataSet);

procedure TForm1.RestoreBtnClick(Sender: TObject);
begin
with TDataSetHack(Table1) do
if (State = dsBrowse) and (EditBuffer <> nil) then
begin
Edit;
Move(EditBuffer^, ActiveBuffer^, RecordSize);
DataEvent(deRecordChange, 0);
FreeMem(EditBuffer);
EditBuffer := nil;
end else ShowMessage('Error');
end;

Petr Vones, amatersky programator

Zatuhnuti tabulek pri prochazeni

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.12.1999 22:49:18

From: Bednar��k Dalibor <d.bednarcik(zv)vpfm(tec)cz>
> dovedli by jste mi pomoct nekdo s timhle problemem....
> Pri prochazeni zaznamu, se stava, ze po nejake dobe, tabulky zamrznou
> a nezbyva nez aplikaci UKONCIT CTR+ALT+DEL
> Tabulky jsou DBF. Indexy CDX CDX, BDE 5.01, Delphi 5
> Reindexace tomu nepomaha

Ahoj,

Na podobny problem pri pouziti Foxpro tabulek jsem narazil (vysledkem bylo
pravidelne zatuhnuti BDE). Neobsahuje ta tabulka nejake smazane zaznamy ?
Pokud ano, tak ji zkus zpakovat. Take existuje update na BDE 5.10, ale je
otazka jestli je tam zrovna toto opraveno.

http://www.borland.com/devsupport/bde/bdeupdate.html

Petr Vones, amatersky programator

Pristup k datum, Delphree a vubec was: D5 - ano ci

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.12.1999 23:11:38

From: Erik Salaj <winsoft(zv)napri.sk>
> Ano, aby to bolo obecne, je potrebne prislusnu porovnavaciu funkciu predavat
> ako parameter (co nie je ziadny problem).

Ahoj,

Takze treba neco takoveho ?

type
TMyCompareFunc = function(const Item1, Item2): Integer;

function MyCompare(const Item1, Item2; CompareFunc: Pointer): Integer;
begin
Result := TMyCompareFunc(CompareFunc)(Item1, Item2);
end;


function CompareInt(Item1, Item2: PInteger): Integer;
begin
if Item1^ < Item2^ then Result := -1 else
if Item1^ > Item2^ then Result := 1 else
Result := 0;
end;

function CompareExtended(Item1, Item2: PExtended): Integer;
begin
if Item1^ < Item2^ then Result := -1 else
if Item1^ > Item2^ then Result := 1 else
Result := 0;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
A, B: Integer;
X, Y: Extended;
begin
A := 1;
B := 0;
ShowMessageFmt('%d', [MyCompare(A, B, (zv)CompareInt)]);

X := 12.0;
Y := 12.1;
ShowMessageFmt('%d', [MyCompare(X, Y, (zv)CompareExtended)]);
end;


Petr Vones, amatersky programator


Upraveny buttons.pas - problem

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.12.1999 23:11:51

From: Jiri Binder <j.binder(zv)albacon(tec)cz>
> Nahradil jsem originalni buttons.pas verzi od Petra Vonese setrici
> zdroje. Narazil jsem na jednu zmenu chovani. Za behu programu
> jsem u speedbuttonu menival bitmapu prikazem
> SpeedButtonXZ.Glyph.Assign(...
> To s upravenou unitou nefunguje. Po pricine jsem zatim nepatral.

Ahoj,

Dik za upozorneni. Opravena verze je ke stazeni tady:

ftp://ftp.mlp(tec)cz/pub/misc/Delphi/konference/D5/Other/ButtonGlyphFix120.zip

Jinak misto pouzivani TSpeedButton bych doporucoval TToolBar.

Petr Vones, amatersky programator

Tymova spoluprace

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 22.12.1999 23:18:49

Puvodni zprava, kterou napsal Josef Zvonicek dne 22 Dec 99,:

> Je Source Save obecny program pro spravu projektu tedy i pouzitelny pro
> DELPHI nebo je pouzitelny pouze pro produkty MICROSOFT? Pokud ano, jak se da
> implementovat do DELPHI.

Nikoliv Source Save, ale Source Safe... Ano, pracuje to obecne.
Produkty MS maji vyhodu akorat v tom, ze je to do nich primo
vsunute, takze neni potreba spoustet zvlast jeste SourceSafe.
Ale to neni zase takovy problem.


S pozdravem
Petr Zahradnik, pocitacovy expert

Autorizovany dealer TurboPower Software... knihovny pro Delphi
==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Obvodova 740/14, PO BOX 15, 400 07 Usti nad Labem 7 ===
=== telefon: 047-5500610, telefon/fax: 047-5501627 ===
=== mobilni telefon GSM (hotline): 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================
ICQ: 21215917, PGP vitano


Generovani ID pri pridavani zaznamu

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 22.12.1999 23:27:50

Puvodni zprava, kterou napsal Karel Kral dne 22 Dec 99,:

> Mam na mysli to (to jsem se docetl zde), ze napr. v Autoinc poli se pri
> presunu do jine tabulky (treba pracovni) se ti zmeni hodnota. To neni
> vlastnost, se kterou bych se umel vyrovnat. Kdyz maji na takovy zaznam
> zase vazbu jine zaznamy, autoinc pole se urcite neda pouzit jako nejaka
> rozumna vazebni hodnota.

Co ti brani v tom, aby sis pro "pracovni" pruchody udelal dalsi
tabulku a nebo pouzil treba bookmark?


S pozdravem
Petr Zahradnik, pocitacovy expert

Autorizovany dealer TurboPower Software... knihovny pro Delphi
==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Obvodova 740/14, PO BOX 15, 400 07 Usti nad Labem 7 ===
=== telefon: 047-5500610, telefon/fax: 047-5501627 ===
=== mobilni telefon GSM (hotline): 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================
ICQ: 21215917, PGP vitano


Viacjazycna aplikacia.

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 22.12.1999 23:30:11

Puvodni zprava, kterou napsal Petr Fejfar dne 22 Dec 99,:

> > Kazdopadne tak jako tak doporucuji prechod na D5.
>
> Mel bys asi dodat, ze ITE je soucasti az verze Enterprise a ta ze stoji cca 5x tolik nez
> professional, upgrade dokonce 6x :-(((

A ja bych dodal, ze Professional + lokalizator je v tomto
pripade mnohem lepsi reseni. A to nejen z duvodu zanedbatelne
ceny lokalizatoru, ale hlavne take proto, ze lokalizator
je podle meho nazoru mnohem lepsi...


S pozdravem
Petr Zahradnik, pocitacovy expert

Autorizovany dealer TurboPower Software... knihovny pro Delphi
==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Obvodova 740/14, PO BOX 15, 400 07 Usti nad Labem 7 ===
=== telefon: 047-5500610, telefon/fax: 047-5501627 ===
=== mobilni telefon GSM (hotline): 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================
ICQ: 21215917, PGP vitano


Zrychleni aplikace

[*] Infra Red <nezadal(zv)volny(tec)cz> - 23.12.1999 00:59:06

>procedure TForm1.Button2Click(Sender: TObject);
>var
> Bitmap: TBitmap;
> X, Y, N1, N2: Integer;
> Line: PByteArray;
>
> function TestPixel(P: Pointer; X: Integer): Boolean; assembler;
>asm
> MOV ECX, EDX
> AND ECX, 7
> SHR EDX, 3
> ADD EAX, EDX
> MOV EDX, $80
> SHR EDX, CL
> TEST [EAX], EDX
> MOV EAX, 1
> JNZ (zv)End
> DEC EAX
>(zv)End:
>end;
>
>begin
> Bitmap := TBitmap.Create;
> try
> Bitmap.Monochrome := True;
> SP_Start(1);
> Bitmap.LoadFromFile('Big.bmp');
> SP_Stop(1);
>
> SP_Start(2);
> N1 := 0;
> for Y := 0 to Bitmap.Height - 1 do
> begin
> Line := Bitmap.ScanLine[Y];
> for X := 0 to Bitmap.Width - 1 do
> if not TestPixel(Line, X) then Inc(N1);
> end;
> SP_Stop(2);

>
>z toho vyplyva cca 35ti nasobne zrychleni s pouzitim primeho pristupu k
radkum
>bitmapy za pomoci TBitmap.ScanLines oproti TCanvas.Pixels
>
>
>Petr Vones, amatersky programator
>


Tomu rikam darek k vanocum. Dekuji mnohokrat. At zije Petr Vones a cela
konference vubec !
Martin Nezadal


Generovani ID pri pridavani zaznamu

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 23.12.1999 07:22:30

> -----P�vodn� zpr�va-----
> Od: Karel Kral [mailto:kral(zv)purus(tec)cz]
> Odesl�no: 22. prosince 1999 16:46
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re: Generovani ID pri pridavani zaznamu
>
> Mam na mysli to (to jsem se docetl zde), ze napr. v Autoinc
> poli se pri
> presunu do jine tabulky (treba pracovni) se ti zmeni hodnota. To neni
> vlastnost, se kterou bych se umel vyrovnat. Kdyz maji na takovy zaznam
> zase vazbu jine zaznamy, autoinc pole se urcite neda pouzit
> jako nejaka
> rozumna vazebni hodnota.

No jo, jenomze v jine tabulce je to bud
a) reference na puvodni zaznam, pokud se k nemu vztahuje,
potom by to nemel byt autoinc ale integer a ten tam dostanes
b) uplne jina polozka, potom je lhostejne, jestli je jeji primarni
klic hodnota stejna nebo jina. A pokud v tomto pripade chces
svazovat zaznamy tabulky 1 se zaznamy tabulky 2, nemuzes to delat
primarnim klicem, ale pres zvlastni atribut CIZI KLIC (integer)

Myslim, ze pokud nekdo zjisti, ze mu vadi Tebou popsana vlastnost,
nema neco v poradku v navrhu datoveho modelu. Zkusim uvest prakticky
duvod proc nemas chtit kopirovat hodnoty do pole autoincrement
pri kopirovani zaznamu. Predpokladejme, ze potrebujes kopirovat
zaznamy z tabulky1 do tabulky2:

Potrebujes zachovat referenci na puvodni zaznam ?

ANO

Potom nepotrebujes, aby pole, do nehoz kopirujes autoinc tabulky1
byl take autoinc. Po pridani zaznamu do tabulky2 by se totiz
jedna hodnota autoinc vytvorila mechanismem databaze a kolidovala by
s tabulkou1 (bud by mela hodnotu neexistujiciho zaznamu v tabulce1
anebo by ukazovala na zaznam, z nehoz nevznikla). Tim by doslo k tomu,
ze toto pole v tabulce 2 by nemelo jednoznacny vyznam a mela by nastoupit
dekompozice. Misto jednoho atributu v tabulce2(pouziju doufam
srozumitelnou
syntaxi - identifikatory jsou velkymi pismeny):

int autoinc ID primary key //primarni klic a (nebo) cizi klic pro
tabulka1

bys mel zavest dva atributy:

int autoinc ID primary key //primarni klic
int TABULKA1_ID foreign key TABULKA1 (ID) //cizi klic

NE

Potom Ti nevadi, ze jsou v polich autoinc jine hodnoty

ZAVER

autoinc je prave vazebni hodnota. Jestli ses docetl, ze je autoinkrement
nevhodny jako primarni klic, tvrdili to lide dvou druhu:
1) lide, kteri moc nerozumi datovemu navrhu a kteri meli vyhradu, kterou sis
bohuzel zapamatoval
2) lide, kteri neodsuzovali autoinkrement primarne ale propagovali podle
nich
vhodnejsi zpusob generovani primarniho klice. Od techto lidi jsem
neslysel
zadnou vyhradu vuci vlastnostem, ktere autoinkrementu vycitali lide
z prvni skupiny (napsal jsem to dobre, Pavle Cisari :-)?

Tedy Tvoje vyhrada je podle meho nazoru obecne nesmyslna. Vlastnosti
autoincrementu nejsou spatne nebo nepouzitelne. Mozna mas pocit, ze Te
omezuji, ale neni tomu tak. Jestli mas nejaky konkretni problem, zkus ho
popsat
a treba se ho tomuto foru podari cistym zpusobem vyresit.

Jura


Tymova spoluprace

[*] Slavek Rydval <rk(zv)atrey.karlin.mff.cuni(tec)cz> - 23.12.1999 07:56:41

Ahoj,

> Pouzivame VSS pro projekty v C++, ale pro delphi to jde take. Ale
> integrace do prostredi Delphi ... asi ne. Pekne rucne Chech out, ladit a
> pak zase rucne Check in.
****Integrace do Delphi je stejna jako u Borland Team Source. Muzes
si to dat to menu tools a spoustet to odtamtud, ale pridavani a vybirani
musis delat ruce.

Slavek

> Petr Brant [p.brant(zv)samo(tec)cz], programator v MSVC++,


-------------------------------------------------
http://atrey.karlin.mff.cuni(tec)cz/~rk
-------------------------------------------------


THTML

[*] Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz> - 23.12.1999 08:02:38

> Proto jsem se rozhodl zkusit nejakou jinou komponentu.
> Vzhledem k tomu,
> ze me dost nechutne tlaci cas, jsem Vas chtel pozadat o
> dopuruceni nejake
> komponenty ( nemam tim na mysli vzkazy typu podivej sa na
> 'torryho', ale
> spis bych byl vdecny za neco na zpusob 'mel jsem podobne
> trable, resil jsem,
> zkusil jsem, MOHU DOPORUCIT ...' )

Mohu doporucit free komponentu (tusim pro nekomercni pouziti) na
http://www.pbear.com.

Pouzivam ji v EasyPadu (http://easypad.fwd(tec)cz) a jsem plne spokojen. Jedina
vec mi vadi a to ta, ze tahle free verze nepodporuje framecky.

Pohyb po databazi a editacni buffer

[*] Karel Kral <kral(zv)purus(tec)cz> - 23.12.1999 08:02:30

Diky, asi to budu resit otevrenim druhe tabulky. Ta zalezitost s
presunem bufferu opravdu neni moc cista, tak si ji schovam na nouzove
reseni.

--
______________________________________________________
Karel Kral, informatik
Purus, s.r.o., Cezavy 627, 664 56 Blucina
Tel: 05/47235000, 0602/552432, Fax: 05/47231203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________


THTML

[*] Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz> - 23.12.1999 08:05:34

> Napriklad Internet Explorer :-) Muzes si jej naimportovat do
> Delphi jako ActiveX
> control a pak pouzit.

Problem ovsem nastane, pokud takovou aplikaci spustis na stroji, kde neni
Internet Explorer nainstalovan (jsou takovi mezi nami;-)

Generovani ID pri pridavani zaznamu

[*] Karel Kral <kral(zv)purus(tec)cz> - 23.12.1999 08:09:08

Diky za obsirnou odpoved. Zamyslim se nad mym datovym modelem.

> Tedy Tvoje vyhrada je podle meho nazoru obecne nesmyslna. Vlastnosti
> autoincrementu nejsou spatne nebo nepouzitelne. Mozna mas pocit, ze Te
> omezuji, ale neni tomu tak. Jestli mas nejaky konkretni problem, zkus ho
> popsat
> a treba se ho tomuto foru podari cistym zpusobem vyresit.
>
> Jura

--
______________________________________________________
Karel Kral, informatik
Purus, s.r.o., Cezavy 627, 664 56 Blucina
Tel: 05/47235000, 0602/552432, Fax: 05/47231203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________


Tymova spoluprace

[*] Martin Lasevic <lasevic(zv)atlascon(tec)cz> - 23.12.1999 08:14:59

> Zapominas, ze v Delphi je mozne uplne VSECHNO. Osobne jsem videl u kolegy
v Nemecku jakesi komponenty, s jejichz pomoci ma v menu polozky jako
"ulozit aktualni soubor do Source Safe", "ziskat aktualni verzi otevreneho
souboru ze Source Safe", ap. Bohuzel momentalne nevim, jak se to jmenuje a
kde se to da sehnat, ale pokusim se to zjistit.
>
Sorry, ale v dobe, kdy jsem se SourceSafe laboroval, tak teprve zacinaly D3
a ja delal na D1.

Martin

Pohyb po databazi a editacni buffer

[*] Ren� Otisk - 23.12.1999 08:21:42

Hi,
oznac si aktualni zaznam pomoci TBookMark

var
Zalozka: TBookmark

try
Zalozka := Table1.GetBookmark;
while not Table1.Eof do
neco provadim...
Table1.GotoBookmark(Zalozka);
finally
Table1.FreeBookmark(Zalozka);
end

----- Original Message -----
From: Karel Kral <kral(zv)purus(tec)cz>
To: Konference Delphi <delphi-l(zv)fwd(tec)cz>
Sent: Wednesday, December 22, 1999 4:54 PM
Subject: Pohyb po databazi a editacni buffer


> Diky vsem za odpovedi ohledne generovani jedinecneho Id.
> Mam jeste jeden dotaz souvisejici s predchozim:
> Jestlize jsem nastaven na nejakem zaznamu databaze, mam v datovem
> bufferu urcite hodnoty a kurzor je na nejake aktualni pozici.
> Dejme tomu, ze se potrebuji na chvilku podivat na jiny zaznam databaze a
> nerad bych ztratil hodnoty z puvodniho zaznamu. Jak to udelat?
> Napadly me dve moznosti, obe podle mne slabe:
> 1. Schovat si jednotlive pole zaznamu pomoci MyString:=
> FieldByName('xxx'.AsString. To je hodne blbe.
> 2. Otevrit si dalsi TTable nad stejnou fyzickou tabulkou a tam udelat
> pozadovane "kouknuti jinam". To je asi elegantnejsi.
>
> Existuje nejaka moznost, pri pohybech v databazi neprijit o obsah
> aktualniho datoveho bufferu? Treba jak si schovat cely zaznam v nejakem
> surovem formatu a po kouknuti jinam ho zase obnovit? Pominme to, ze ho
> muzu znovu nacist z databaze.
>
>
> --
> ______________________________________________________
> Karel Kral, informatik
> Purus, s.r.o., Cezavy 627, 664 56 Blucina
> Tel: 05/47235000, 0602/552432, Fax: 05/47231203
> E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
> ______________________________________________________


Jak rozeznat klavesy Enter

[*] Marian Jonas <jonas(zv)ji(tec)cz> - 23.12.1999 08:30:26

Potrebuji v udalosti OnKeyDown, OnKeyPress klavesy
Enter na hlavni a Enter na numericke klavesnici.

Jde to vubec ?

Marian Jonas


Pohyb po databazi a editacni buffer

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 23.12.1999 08:52:51

Karel Kral wrote:

> Diky vsem za odpovedi ohledne generovani jedinecneho Id.
> Mam jeste jeden dotaz souvisejici s predchozim:
> Jestlize jsem nastaven na nejakem zaznamu databaze, mam v datovem
> bufferu urcite hodnoty a kurzor je na nejake aktualni pozici. Dejme
> tomu, ze se potrebuji na chvilku podivat na jiny zaznam databaze a
> nerad bych ztratil hodnoty z puvodniho zaznamu. Jak to udelat? Napadly
> me dve moznosti, obe podle mne slabe: 1. Schovat si jednotlive pole
> zaznamu pomoci MyString:= FieldByName('xxx'.AsString. To je hodne
> blbe. 2. Otevrit si dalsi TTable nad stejnou fyzickou tabulkou a tam
> udelat pozadovane "kouknuti jinam". To je asi elegantnejsi.
>
> Existuje nejaka moznost, pri pohybech v databazi neprijit o obsah
> aktualniho datoveho bufferu? Treba jak si schovat cely zaznam v
> nejakem surovem formatu a po kouknuti jinam ho zase obnovit? Pominme
> to, ze ho muzu znovu nacist z databaze.

Tomuhle moc nerozumim. TDataSet si schovava data v poli
PCharu, co jeden PChar, to jeden zaznam. Takze jednou
prohlizeny zaznam je ulozen v tomto bufferu a pokud neudelas
refresh, tak tam je, neztraci se. Pokud se chces vratit na konkretni
predchozi zaznam, muzes si ho oznacit pomoci GetBookmark.


S pozdravem

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


Generovani ID pri pridavani zaznamu

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 23.12.1999 08:52:51

Karel Kral wrote:

> To zni dobre. Ale jakou funkci vygeneruji GUID? V helpu Win32 API jsem
> se docetl: Each class identifier key is a globally unique identifier
> (GUID) generated by the UUIDGEN tool. To nezni moc nadejne?

Pokud to umi databaze (napr. MS SQL 7 ano), pak to muzes sverit
ji, nebo si muzes napsat takovouto funkcicku:

function NewGuid: TGUID;
begin
CoCreateGuid(Result);
end;

CoCreateGuid lezi tusim v ActiveX.


S pozdravem

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


Viacjazycna aplikacia.

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 23.12.1999 08:52:52

Petr Fejfar wrote:

> > Kazdopadne tak jako tak doporucuji prechod na D5.
>
> Mel bys asi dodat, ze ITE je soucasti az verze Enterprise a ta ze
> stoji cca 5x tolik nez professional, upgrade dokonce 6x :-(((

Proc? Vnucuje ti nekdo prave ITE? Staci se podivat na
www.localizator.com, a pak si secti pouze Professional +
Lokalizator, ktery toho umi umi vic nez ITE. :-)

Sorry za reklamni mail. :-)


S pozdravem

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


ARP tabulka z routeru (2).

[*] Vladimir Ponechal <Vladimir_Ponechal(zv)tesco-europe(tec)com> - 23.12.1999 08:58:09

OK, Eexistuje nejaka komponenta pro SNMP??? Radeji dam prednost SNMP. Neznate nekdo nejakej link? My tady mame CISCO a IBM routery...

Vl.

-----Original Message-----
From: Dalibor Toman [SMTP:dtoman(zv)fortech(tec)cz]
Sent: stoeda, prosince 22, 1999 5:14
To: delphi-l(zv)fwd(tec)cz
Subject: Re: ARP tabulka z routeru.
>Preji hezky den,
>
>mate nekdo zkusenosti s ARP tabulkou na routrech? Muzu nejak z routeru za
>pomoci D3 stahnout informaci o MAC adresach, ktere jsou na siti?


jsou mozne v zasade 2 varianty:
1) stahnes si ARP tabulku v telnest session (tj simulujes login a prislusne povely - napr "sh arp")
2) pomoci SNMP

pokud je ten router rozumny a rozumne nakonfigurovany (cisco, Linux) mel by umoznit oboje.

Zdravi
D. Toman


Konec radku do stringu v RES

[*] Petr.Motlicek(zv)bcbrno(tec)cz - 23.12.1999 08:58:50

Zdrav�m Delphisty,

jeden snad trivialni problem:

Jak dostat konec radku (znak konce radku) do
stringu, ktery se bude ve zdrojich ?
Stringy definujeme v RC souboru...

Diky za odpovedi

S pranim haldy kvalitniho vyvojarskeho software
pod stromeckem a dobrych programatorskych
(vyvojarskych) del a napadu v roce 2000

:-)

Petr Motlicek


Scrollbar a toolbar

[*] Ren� Otisk - 23.12.1999 09:00:03

Hi,
D1, RxLib 2.6?
Nenasel jsem to v konferenci. Mam SDI aplikaci. Ve formu mam TPanel (Align.alTop) jako toolbar. Form je vyssi nez obrazovka takze po AutoScroll := True se mi tam objevi verticalni scrollbar. Bohuzel, kdyz po nem roluji, tak mi ulitne nahoru i ten toolbar, coz nevypada az tak, ze jo. Jak na to?

Sroub


ADOCommand

[*] Jaroslav Nadhera <nadhera(zv)csh(tec)cz> - 23.12.1999 09:29:13

Poradite mi nekdo kde se nachazi komponenty ADOCommand a spol.? Odkud je lze ziskat?


J. N�dhera

CSH spol. s r.o.
Velflikova 10, 160 00 Praha 6
tel: 02/2431 2344-5, fax: 02/652 28 92
Nedbalova 14, 701 00 Ostrava
tel: 069/663 56 87
e-mail: nadhera(zv)csh(tec)cz WWW: http://www.csh(tec)cz

Zrychleni aplikace

[*] Vaclav Krmela <krmela(zv)pecomp(tec)cz> - 23.12.1999 09:32:28


> Tomu rikam darek k vanocum. Dekuji mnohokrat. At zije Petr Vones a cela
> konference vubec !
> Martin Nezadal
>

Skoda, ze stale nevime, jakych hodnot nabyva n.
Pokud by se n napriklad pohybovalo v intervalu 2..32,
dalo by se dosahnout dalsiho n nasobneho zrychleni
testovanim cele n-tice bodu najednou.

Vaclav Krmela


THTML

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 23.12.1999 09:40:05

Kdyz uz se o tom pise, mel by prosim nekdo funkcni
priklad, jak takovou importovanou komponentu pouzit ?
Jak nacist stranku z nejake URL ci souboru a podobne.

Snazil jsem se najit neco na msdn.M$.com, ale merne :-(
(netvrdim, ze to neni moje vina)

Diky moc...
...Dobra
<OT>
Preji vsem vesle Vanoce a stastny nejen Novy rok,
ale i vsechny dalsi dny po nem...
(
pro pany http://mujweb(tec)cz/Pocitace/dcomp/xgirl.exe (228 kB)
a pro damy http://mujweb(tec)cz/Pocitace/dcomp/xguy.exe (195 kB)
;-)
</OT>

> ----------
> Od: Petr Vones[SMTP:pvones(zv)mbox.vol(tec)cz]
>
> From: Ale> � Kle�ka <aklecka(zv)merlin(tec)cz>
> > Panove chtel bych Vas poprosit o doporuceni nejake komponenty pro
> > prohlizeni HTML stranek.
>
> Napriklad Internet Explorer :-) Muzes si jej naimportovat do Delphi jako ActiveX
> control a pak pouzit. V menu Component | Import ActiveX control vyber "Microsoft
> Internet Controls" a v zalozce ActiveX se ti pak objevi TWebBrowser. V D5 uz je
> primo v palete komponent "Internet". Lepsi HMTL engine v soucasne dobe patrne nenajdes.
>
>

Upraveny buttons.pas - problem

[*] Ales Radikovsky <radik(zv)seznam(tec)cz> - 23.12.1999 09:55:32

> Jinak misto pouzivani TSpeedButton bych doporucoval TToolBar.

Problem je, ze ToolBar ma dost omezene moznosti co se tyce umistovani
tlacitek (napriklad zarovnani vpravo) a zije si dost vlastnim zivotem
(velikost, oktaje a tak).
Takze na formulari kde je jeden DBGrid a kolem spousta tlacitek a ja
nechci ztratit focus toho gridu je SpeedButton asi jedine reseni.

Ales


--

Ale� Radikovsk�
mail: radik(zv)seznam(tec)cz
tel: +420 603 300093


Jak rozeznat klavesy Enter

[*] Pavel ZIDEK <kopr(zv)kopr(tec)cz> - 23.12.1999 10:29:35

Klavesa Enter je VK Return

case Key of
VK Return: blabla
end;
----- Original Message -----
From: Marian Jonas
To: Konference Delphi
Sent: Thursday, December 23, 1999 8:30 AM
Subject: Jak rozeznat klavesy Enter Potrebuji v udalosti OnKeyDown, OnKeyPress klavesy
Enter na hlavni a Enter na numericke klavesnici.

Jde to vubec ?

Marian Jonas


Ztraceni vlastnosti typu TComponent

[*] Martin Dupal <mdupal(zv)vision(tec)cz> - 23.12.1999 10:32:58

Ahoj,

pri praci v IDE Delphi se mi stava zajimavy problem: Pokud mam na formu komponentu
s vlastnosti typu TComponent (nebo potomek), kterou napojim v OI na komponentu v jinem
formulari nebo DataModulu, tak mi NEKDY pri nasledne manipulaci s formulari v IDE tato
vazba vypadne. Bohuzel se mi nepodarilo docilit 100% opakovatelnosti. Moment ztraty
ukazatele nastane pri otevreni formu v IDE, protoze predchozi kontrola vlastnosti primo v DFM
je pozitivni.
Problem se projevuje jen v pripade, ze komponenta lezi na formu, ktery neni synem tridy TForm,
ale vnukem. Klidne si to muzete vyzkouset na priklade, kdy do DataModulu soupnete treba TQuery a
do nejakeho vnuka (nikoliv syna !) tridy TForm polozite TDataSource, ktery napojite pres vlastnost
Dataset na to TQuery z DM. Sem tam ten pointer vypadne a uz me to zacina pekne sr.. zlobit.

Mam ted Delphi 4 C/S SP3 (WinNT4.0 SP5), ale tento problem znam uz od D2.

Co vy na to?

Martin Dupal

Scrollbar a toolbar

[*] Martin �ajbik <marcant(zv)sct.sk> - 23.12.1999 10:33:31

Neviem, co presne mas na forme pod tym vrchnym panelom. Ak je tam len jedna komponenta (nejaka Grid-a, ListBox a pod) tak jej nastav Align na alClient. Ak je ich tam na ploche viac, tak ich nedavaj priamo na Form, ale na nejaky dalsi Panel a pre neho nastav Align na alClient (dufam teda, ze alClient ma aj Delphi 1 pretoze som z nou v zivote nerobil)
----- Original Message -----
From: Ren� Otisk
To: delphi-l(zv)fwd(tec)cz
Sent: Thursday, December 23, 1999 9:00 AM
Subject: Scrollbar a toolbar


Hi,
D1, RxLib 2.6?
Nenasel jsem to v konferenci. Mam SDI aplikaci. Ve formu mam TPanel (Align.alTop) jako toolbar. Form je vyssi nez obrazovka takze po AutoScroll := True se mi tam objevi verticalni scrollbar. Bohuzel, kdyz po nem roluji, tak mi ulitne nahoru i ten toolbar, coz nevypada az tak, ze jo. Jak na to?

Sroub


Rezident

[*] Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz> - 23.12.1999 10:54:35

Preju hezky den,

chtel bych napsat utilitku, ktera by hlidala pod Windows95 vlozeni diskety a
na zaklade toho by spustila nejakou cinnost. Ovsem jedine reseni, ktere me
napada (TIMER) asi nebude pametove nejoptimalnejsi, co?==[ Libor Krayzel ]================================
http://webhost(tec)cz/elka * mailto:libor.krayzel(zv)czech-tv(tec)cz
http://easypad.fwd(tec)cz * mailto:elka(zv)seznam(tec)cz
office: +420-69-620 1375
GSM: +420-603-937 947
==============================================

Postgresql (WAS: Jak tedy lepe s SQL ?)

[*] Tomas Kouba <tomas(zv)neo(tec)cz> - 23.12.1999 11:50:51

Pro linux je Interbase 4.0 zdarma ke stazeni na borland.com

------------------------------
Tomas Kouba
mailto:tomas(zv)neo(tec)cz


>
> > > ten posgresql je jen na NT, ze jo ?
>
> Ahoj,
>
> ja jsem ho stahoval, s t�m ze je pro WIN32.
> Celej nazhavenej jsem ho chtel zkusit na
> WIN95 jenze mu chybela nejaka funkce v
> nejake sitove DLL (uz si nepamatuji). Ve win
> api tato funkce byla pops�na, ze je pro WIN NT
> a ne pro win32..... .
>
> Takze ted uz se ucim LINUX....
>
> Petr Motlicek
>

Internet Explorer ActiveX

[*] "Be�varov, Boris" <boro(zv)gratex.sk> - 23.12.1999 11:50:44

Ahoj !

Na ftp server konferencie som umiestnil demo pouzitia Internet Explorer
ActiveX komponentu.
Nachadza sa v adresari
/pub/misc/Delphi/konference/D5/Internet/IEDemo.zip

Demo by malo byt pouzitelne aj pod D4.

S pozdravom

Boris Becvarov
Gratex International
mailto:boro(zv)gratex.sk


Scrollbar a toolbar

[*] Ren� Otisk - 23.12.1999 11:53:12

Hi,

Spatne sem se vyjadril. Na formu mam nahore TPanel (as ToolBar (alTop)). Pak mam TPanel na formu (nemuze byt alClient) s ruznou vyskou toho panelu v zavislosti na datech (a komponentach), ktere si uzivatel zvolil. Takze v OnCreate tam doplnuji Mema, Edity, Gridy... (predem nevim kolik, prizpusobuji velikost mema poctu radku...)

Jinak vracel jsem se z D3 ohledne tehle jedine aplikace do D1 a je to des (z dnesniho pohledu) od klavesovych zkratek az po IDE

Sroub


Neviem, co presne mas na forme pod tym vrchnym panelom. Ak je tam len jedna komponenta (nejaka Grid-a, ListBox a pod) tak jej nastav Align na alClient. Ak je ich tam na ploche viac, tak ich nedavaj priamo na Form, ale na nejaky dalsi Panel a pre neho nastav Align na alClient (dufam teda, ze alClient ma aj Delphi 1 pretoze som z nou v zivote nerobil)
----- Original Message -----
From: Ren� Otisk
To: delphi-l(zv)fwd(tec)cz
Sent: Thursday, December 23, 1999 9:00 AM
Subject: Scrollbar a toolbar


Hi,
D1, RxLib 2.6?
Nenasel jsem to v konferenci. Mam SDI aplikaci. Ve formu mam TPanel (Align.alTop) jako toolbar. Form je vyssi nez obrazovka takze po AutoScroll := True se mi tam objevi verticalni scrollbar. Bohuzel, kdyz po nem roluji, tak mi ulitne nahoru i ten toolbar, coz nevypada az tak, ze jo. Jak na to?

Sroub


Tymova spoluprace

[*] Tomas Kouba <tomas(zv)neo(tec)cz> - 23.12.1999 11:58:14

Zdravim,

nepouzivate nekdo FreeVCS (http://www.thensle.de/index.htm)? je to zdarma a
primo pro Delphi. Jake jsou s tim zkusenosti? Prosim o zkusenosti...

------------------------------
Tomas Kouba
mailto:tomas(zv)neo(tec)cz


> > Je Source Save obecny program pro spravu projektu tedy i
> pouzitelny pro
> > DELPHI nebo je pouzitelny pouze pro produkty MICROSOFT?
> Pokud ano, jak se da
> > implementovat do DELPHI.
>
> Nikoliv Source Save, ale Source Safe... Ano, pracuje to obecne.
> Produkty MS maji vyhodu akorat v tom, ze je to do nich primo
> vsunute, takze neni potreba spoustet zvlast jeste SourceSafe.
> Ale to neni zase takovy problem.
>
> S pozdravem
> Petr Zahradnik, pocitacovy expert
>
> Autorizovany dealer TurboPower Software... knihovny pro Delphi
> ==============================================================
> === Petr Zahradnik - Computer Laboratory ===
> === Obvodova 740/14, PO BOX 15, 400 07 Usti nad Labem 7 ===
> === telefon: 047-5500610, telefon/fax: 047-5501627 ===
> === mobilni telefon GSM (hotline): 0602-409601 ===
> === http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
> ==============================================================
> ICQ: 21215917, PGP vitano
>

Ztraceni vlastnosti typu TComponent

[*] Vaclav Krmela <krmela(zv)pecomp(tec)cz> - 23.12.1999 12:03:02

From: Martin Dupal <mdupal(zv)vision(tec)cz>> pri praci v IDE Delphi se mi stava zajimavy problem: Pokud mam na formu
komponentu
> s vlastnosti typu TComponent (nebo potomek), kterou napojim v OI na
komponentu v jinem
> formulari nebo DataModulu, tak mi NEKDY pri nasledne manipulaci s
formulari v IDE tato
> vazba vypadne. Bohuzel se mi nepodarilo docilit 100% opakovatelnosti.
Moment ztraty
> ukazatele nastane pri otevreni formu v IDE, protoze predchozi kontrola
vlastnosti primo v DFM
> je pozitivni.
> Problem se projevuje jen v pripade, ze komponenta lezi na formu, ktery
neni synem tridy TForm,
> ale vnukem. Klidne si to muzete vyzkouset na priklade, kdy do DataModulu
soupnete treba TQuery a
> do nejakeho vnuka (nikoliv syna !) tridy TForm polozite TDataSource, ktery
napojite pres vlastnost
> Dataset na to TQuery z DM. Sem tam ten pointer vypadne a uz me to zacina
pekne sr.. zlobit.
>
> Mam ted Delphi 4 C/S SP3 (WinNT4.0 SP5), ale tento problem znam uz od D2.
> Co vy na to?
>
> Martin Dupal
>

Ja tomu predchazim tak, ze mam vzdy otevreny DataModul v editoru IDE.
Pokud je DataModul otevreny, ke ztrate nedojde, pokud otevreny neni, odkaz
se ztrati.

Toto je empiricke zjisteni. Zadne vysvetleni ani zaruku nedavam.

Vaclav Krmela

Tymova spoluprace

[*] Mitko Mit�v <mitev(zv)foresta(tec)cz> - 23.12.1999 12:08:38

Ahoj,
Ano existuje knihovna .dll, ktera integruje pozivani VSS do IDE Delphi. U
nas ve firme ji pouzivame. Po nainstalovani si prida svoje menu do Delphi,
pres ktere je mozno pouzivat vsechny prikazy jako je check in, ckeck out,
get latest version. Je to dokonce interaktivni na prave tlacitko. Mame to
odskousene ale jen v Delphi 3. K stazeni by mela byt na adrese ::
http://www.shareit.com/programs/101214.htm .

S pozdravem

Mitko Mitev, Foresta SG a.s.
mitev(zv)foresta(tec)cz
www.foresta(tec)cz

-----P�vodn� zpr�va-----
Od: Slab� Petr (Pilsen) <slaby(zv)kadel(tec)cz>
Komu: Delphi Forum <delphi-l(zv)fwd(tec)cz>
Datum: 22. prosince 1999 12:44
P�edm�t: RE: Tymova spoluprace


>Slab�, Petr (Pilsen), 22.12.1999 11:22:47
>Milan Lasevic wrote:
>> Ahoj,
>>
>> nejakou dobu jsem s nim pracoval a mam za to, ze MS Source Safe lze
pouzit i obecne.
>> Implementace do DELPHI tusim nejni mozna.
>
>Zapominas, ze v Delphi je mozne uplne VSECHNO. Osobne jsem videl u kolegy v
Nemecku jakesi komponenty, s jejichz pomoci ma v menu polozky jako "ulozit
aktualni soubor do Source Safe", "ziskat aktualni verzi otevreneho souboru
ze Source Safe", ap. Bohuzel momentalne nevim, jak se to jmenuje a kde se to
da sehnat, ale pokusim se to zjistit.
>
>Best regards,
>PS.
>
>
>
>

Problemek ... (API)

[*] Martin Palas <PalasM(zv)kaucuk(tec)cz> - 23.12.1999 12:11:06

Ahojky vsem chytrym hlavam, ktere dokazi
zotpovedet muj problemek.

Mam aplikaci, ktera pomoci fce ShellExecute spousti
programy a vraci "HInstance". Potreboval bych nejaky
seznam, nebo neco, kde se da zjistit jestli aplikace
s "HInstanci" jeste bezi, nebo if uz byla ukoncena.

.... nebo nejaky jiny zpusob jak spustit aplikaci, kontrolovat
jeji chod (ve smyslu bezi/nebezi), ale pritom stale pracovat.

nasel jsem neco jako WaitForSingleObject, ale nejsem si jist
if mi to po dobu behu jine aplikace nezabrzdi hlavni program.
Who knows ? Bill Gates :-)

Takze prosim nekoho jestli vi at mi toto tajemstvi prozradi :-)))

Cau ........ Martin


Prepis do D5

[*] Miroslav Mare� <sm(zv)sct(tec)cz> - 23.12.1999 12:12:55

Nazdarek,

mam mensi problem potrebuju neco prepsat z D3 do D5 a nejak mi to nejde. Poradi mi nekdo??

type
INT: Longint;

function TAPIERROR FORMATMESSAGE(ErrCode: INT): INT;
begin
if ErrCode > $FFFF0000 then ERROR - comparison always evaluates to False; comparing signed and
unsigned types
Result:=ErrCode and $FFFF
else if ErrCode and $10000000 <> 0 then
Result:=ErrCode - $90000000 + $F000 ERROR - comparing signed and unsigned types
else
Result:=ErrCode - $80000000 + $F000 ERROR - comparing signed and unsigned types
end;

Vubec mi to totiz dneska nemysli :-((

Diky

Mirek


Jak rozeznat klavesy Enter

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 23.12.1999 12:15:21

Marian Jonas wrote:

> Potrebuji v udalosti OnKeyDown, OnKeyPress klavesy
> Enter na hlavni a Enter na numericke klavesnici.
>
> Jde to vubec ?

Samozrejme. Ale v tomto pripade se budes asi muset ponorit
hloubeji do zdrojaku VCL a najit misto, kde dochazi k transformaci
odchycene klavesy na zjednoduseny kod (hodnotu). Na OnKey...
to asi uz nerozpoznas.


S pozdravem

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


ADOCommand

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 23.12.1999 12:15:21

Jaroslav Nadhera wrote:

> Poradite mi nekdo kde se nachazi komponenty ADOCommand a spol.? Odkud
> je lze ziskat?

Je soucasti ADOExpress komponent, ktere jsou v D5 Enterprise, k
D5 Professional je mozne je dokoupit. V D5 Standard mas smulu -
tam by mohly fungovat patrne jen moje OLE DB komponenty,
protoze ty nejsou jako jedny z mala napojene na TDataSet.


S pozdravem

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


Prepis do D5

[*] Michal Leinweber <M.Leinweber(zv)sh.cvut(tec)cz> - 23.12.1999 12:28:19

Protoze D4,5 uz maji DWORD coz je unsigned int.
Integer ma max hodnotu $7FFFFFFF, kdezto DWORD $FFFFFFFF

Tim padem pa prekladac pravdu ze ErrCode kterej je int nemuze byt nikdy
vetsi nez $FFFF0000.

V tvem pripade pomuze zmenit ErrCode na DWORD

McLEI


-----Original Message-----
From: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]On Behalf Of
Miroslav Mare�
Sent: Thursday, December 23, 1999 12:13 PM
To: delphi-l(zv)fwd(tec)cz
Subject: Prepis do D5


Nazdarek,

mam mensi problem potrebuju neco prepsat z D3 do D5 a nejak mi to nejde.
Poradi mi nekdo??

type
INT: Longint;

function TAPIERROR_FORMATMESSAGE(ErrCode: INT): INT;
begin
if ErrCode > $FFFF0000 then ERROR -
comparison always evaluates to False; comparing signed and

unsigned types
Result:=ErrCode and $FFFF
else if ErrCode and $10000000 <> 0 then
Result:=ErrCode - $90000000 + $F000 ERROR - comparing
signed and unsigned types
else
Result:=ErrCode - $80000000 + $F000 ERROR - comparing
signed and unsigned types
end;

Vubec mi to totiz dneska nemysli :-((

Diky

Mirek


Problemek ... (API)

[*] Michal Leinweber <M.Leinweber(zv)sh.cvut(tec)cz> - 23.12.1999 12:33:08

> Mam aplikaci, ktera pomoci fce ShellExecute spousti
> programy a vraci "HInstance". Potreboval bych nejaky
> seznam, nebo neco, kde se da zjistit jestli aplikace
> s "HInstanci" jeste bezi, nebo if uz byla ukoncena.
>
> .... nebo nejaky jiny zpusob jak spustit aplikaci, kontrolovat
> jeji chod (ve smyslu bezi/nebezi), ale pritom stale pracovat.

Nejsem si jist, ale WaitForSingleObject jde urcite pouzit na Handle kterej
vrati v ProcessInformation funkce CreateProcess. Jestli to funguje i s
ShellExecute to nevim.

> nasel jsem neco jako WaitForSingleObject, ale nejsem si jist
> if mi to po dobu behu jine aplikace nezabrzdi hlavni program.
> Who knows ? Bill Gates :-)

To je pomerne jasne. Na 100% zablokuje. K tomu ta funkce je urcena. Takze
pokud chces aby tvuj program bezel tak tuto funkci musis zavolat z nejakeho
threadu, kterej bude cekat v teto funkci, a po ukonceni volaneho programu se
uvolni, a ty muzes provest nejakou akci - nejspis signalizovat hlavnimu
threadu ze aplikace skoncila.

McLEI


Jakou databazi doporucite ?

[*] Miroslav Hostinsk� <abcsoft(zv)rychnov(tec)cz> - 23.12.1999 12:35:39

Urcite Interbase
Ve spojeni s Delphi to nejlepsi reseni. Tvi uzivatele at si drzi klobouky,
kdyz se to umi je rychla jak vitr!
Kdyz slysim o problemech s MS SQL od jimych programatoru, musim se smat. Nic
takoveho u Interbase neni.

Cau Mira

----- Original Message -----
From: Petr Dedecek <petrd(zv)atlas(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Monday, December 13, 1999 9:27 PM
Subject: Jakou databazi doporucite ?>
> I kdyz se moje DOS aplikace porad bez problemu prodavaji a vyviji, chci je
> postupne prevest pod Delphi,ale nemohu se rozhodnout pro databazi. Doposud
> jsem delal v B-Tree od TurboPower.
> Nechci pouzivat BDE, tabulky Paradox ani dBase. Jeden program musi
pracovat
> lokalne i sitove.
> Pristupy k vetam pres indexy, prace s filtry. Nasazeni bude max na 50
> stanicich. Zakaznici jsou zvykli na rychlost z DOS aplikace a proto nesmi
> byt o moc pomalejsi , je pozadovana vysoka spolehlivost, v aplikaci musi
> spolupracovat nekolik desitek databazi i s nekolika miliony vet . Protoze
> vetsina zakazniku ma 1-4 pocitace, tak musi vystacit se zakladnim sitovym
> vybavenim ( Windows 9x/NT popripade Novell ) bez dalsich doplnku. Nechci
nic
> free, ale databazi se zajistenou podporou firmy.
> Dik za kazdou radu.
>
> Petr
>

Problemek ... (API)

[*] Daniel Rott <roxton(zv)atlas(tec)cz> - 23.12.1999 13:10:13

> .... nebo nejaky jiny zpusob jak spustit aplikaci, kontrolovat
> jeji chod (ve smyslu bezi/nebezi), ale pritom stale pracovat.
>

Spoustej ji pres CreateProcess, dostanes handle procesu
a hlavniho threadu. Pak muzes opakovane pouzit funkci
GetExitCodeProcess, pokud ti vrati ExitCode=STILL_ACTIVE
tak jeste bezi, jinak vrati ExitCode. Na zaver musis oba handly
uvolnit (CloseHandle).

Daniel

Ztraceni vlastnosti typu TComponent

[*] Martin Dupal <mdupal(zv)vision(tec)cz> - 23.12.1999 13:29:36

>Ja tomu predchazim tak, ze mam vzdy otevreny DataModul v editoru IDE.
>Pokud je DataModul otevreny, ke ztrate nedojde, pokud otevreny neni, odkaz
>se ztrati.

Mno, ja ho mam taky otevreny porad, ale presto se to obcas ztrati. Jestli ono
to neni tak, ze zalezi na poradi otevirani formu v IDE (sekce modules v *.DSK).
Jak ten datamodule neni prvni, tak to nastane.

Pozadi v Sinei

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 23.12.1999 13:31:02

Dobry den,


mam nasledujici dotaz. V D4 C/S pouzivame tiskove sestavy
Sinea. Potrebuji programem vyplnit nejaky formular. Existuje
nejaky zpusob, jak nascanovanou podobu tohoto formulare umistit
pri editaci sestavy na pozadi, ale nakonec vytisknout jen vyplnena
data bez tohoto obrazku s formularem?

Preview typu, za na bilem papire jsou nekde pohazena nejaka
data se mi naprosto nelibi. David Lebeda

lebeda(zv)comarr(tec)cz


Dekuji a zdravim :)

<FontFamily><param>Courier New</param>

<nofill>

Knihovna JPEG pro D1

[*] k.brkl(zv)oku-rk(tec)cz - 23.12.1999 13:44:18

V D4 existuje knihovna JPEG. Vi prosim nekdo o teto knihovne pro D1?

Dekuji

K.Brkl


Pristup k Paradox tbl

[*] Foldyna Ji�� <jiri.f(zv)avizo(tec)cz> - 23.12.1999 13:57:06

Ahoj,

mam problem - potreboval bych se dostat na tabulku Paradox, staci pro cteni
a nechci pouzit BDE. Tabulka je chranena heslem, obsahuje i BLOBy. Zkousel
jsem pristup pres ADONIS komponenty, ale dostavam chybu 10498 - chyba
externiho driveru. Heslo samozrejme znam, pres DB Desktop se tabulka da
otevrit. Nevite nekdo, jak na to ?

Mam D3, W95/NT, dival jsem se i na ADONIS FAQ, ale priklad nastaveni
DatabaseProvider a DatabaseConnect vraci prave vyse popsanou chybu. Klidne
by mi vyhovovalo i reseni pres primy pristup (ne jako k databazi, ale jako k
souboru), pokud nekdo znate odkaz.

Diky za vas cas a preji pekne svatky.

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

Ztraceni vlastnosti typu TComponent

[*] Miloslav Sk�cel <kastner(zv)infos(tec)cz> - 23.12.1999 14:07:20

>Problem se projevuje jen v pripade, ze komponenta lezi na formu, ktery neni
synem tridy TForm,
>ale vnukem. Klidne si to muzete vyzkouset na priklade, kdy do DataModulu
soupnete treba TQuery a
>do nejakeho vnuka (nikoliv syna !) tridy TForm polozite TDataSource, ktery
napojite pres vlastnost
>Dataset na to TQuery z DM. Sem tam ten pointer vypadne a uz me to zacina
pekne sr.. zlobit.

Muzu to potvrdit.
V nasem pripade podobne 'zlobi' vlastnost TForm.Position.
Zkousel jsi experimentovat s poradim otvirani v IDE predek-potomek vs.
potomek-predek?

S pozdravem
Miloslav Skacel
mskacel(zv)iol(tec)cz
www.stereo(tec)cz

Tymova spoluprace

[*] Karel Kral <kral(zv)purus(tec)cz> - 23.12.1999 14:32:02

Ja ano (si 5 mesicu), zkusenosti jen ty nejlepsi. Ale bohuzel jsem sam,
takze to pouzivam pouze pro spravu verzi :)). Ale pokud vim tymovou
spolupraci to podporuje.

Tomas Kouba wrote:
>
> Zdravim,
>
> nepouzivate nekdo FreeVCS (http://www.thensle.de/index.htm)? je to zdarma a
> primo pro Delphi. Jake jsou s tim zkusenosti? Prosim o zkusenosti...
>
> ------------------------------
> Tomas Kouba
> mailto:tomas(zv)neo(tec)cz
>
> > > Je Source Save obecny program pro spravu projektu tedy i
> > pouzitelny pro
> > > DELPHI nebo je pouzitelny pouze pro produkty MICROSOFT?
> > Pokud ano, jak se da
> > > implementovat do DELPHI.
> >
> > Nikoliv Source Save, ale Source Safe... Ano, pracuje to obecne.
> > Produkty MS maji vyhodu akorat v tom, ze je to do nich primo
> > vsunute, takze neni potreba spoustet zvlast jeste SourceSafe.
> > Ale to neni zase takovy problem.
> >
> >
> > S pozdravem
> > Petr Zahradnik, pocitacovy expert
> >
> > Autorizovany dealer TurboPower Software... knihovny pro Delphi
> > ==============================================================
> > === Petr Zahradnik - Computer Laboratory ===
> > === Obvodova 740/14, PO BOX 15, 400 07 Usti nad Labem 7 ===
> > === telefon: 047-5500610, telefon/fax: 047-5501627 ===
> > === mobilni telefon GSM (hotline): 0602-409601 ===
> > === http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
> > ==============================================================
> > ICQ: 21215917, PGP vitano
> >

--
______________________________________________________
Karel Kral, informatik
Purus, s.r.o., Cezavy 627, 664 56 Blucina
Tel: 05/47235000, 0602/552432, Fax: 05/47231203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________


Tymova spoluprace

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 23.12.1999 16:12:56



>Ja ano (si 5 mesicu), zkusenosti jen ty nejlepsi. Ale bohuzel jsem sam,
>takze to pouzivam pouze pro spravu verzi :)). Ale pokud vim tymovou
>spolupraci to podporuje.


Dnes jsem na FreeVCS taky padnul a testuju s D5. Zatim jsem spise spokojen nez nespokojen (zadny podobny nastroj jsem dosud nepouzival tak spise koukam co od toho muzu cekat)

Mam tyto dotazy:
- muj projekt ma v hlavnim adresari podadresare (ne ze bych se jich nemohl vzdat) a FreeVCS chvi pouzivat pro spravu verzi - to jest chci mit moznost vratit se k pul roku stare verzi projektu. To se mi v podstate dari s tim, ze FreeVCS pri Syncu ignoruje podadresare a nasype mi vsechny soubory do Target directory. Da se s tim neco delat?

Libi se mi automaticke backaupovani pri ukonceni Delphi - jen bych rad, aby se cilovy ZIP archiv prejmenovaval tak, aby existovalo nekolik zaloh zpatky...

D. Toman

ARP tabulka z routeru (2).

[*] muher(zv)csas(tec)cz - 23.12.1999 16:54:26

PowerTCP od www.dart.com (snad). Doporucuji pouzivat vice malych SNMP dotazu
nez jeden velky (zkusenost z WAN). Jinak se pouziva UDP 161 a 162. Lze to
napsat, ale je to desny a nedoporucuji to (jen pro velmi specialni a velmi
jednoduche a nizkorozpoctove aplikace). Take je mozne pouzit podporu MS - to
je neco mezi.

Martin Uher

-----Original Message-----
From: Vladimir Ponechal [mailto:Vladimir_Ponechal(zv)tesco-europe.com]
Sent: Thursday, December 23, 1999 8:58 AM
To: 'delphi-l(zv)fwd(tec)cz'
Subject: RE: ARP tabulka z routeru (2).

OK, Eexistuje nejaka komponenta pro SNMP??? Radeji dam prednost SNMP.
Neznate nekdo nejakej link? My tady mame CISCO a IBM routery...

Vl.

-----Original Message-----
From: Dalibor Toman [SMTP:dtoman(zv)fortech(tec)cz]
Sent: stoeda, prosince 22, 1999 5:14
To: delphi-l(zv)fwd(tec)cz
Subject: Re: ARP tabulka z routeru.
>Preji hezky den,
>
>mate nekdo zkusenosti s ARP tabulkou na routrech? Muzu nejak z routeru za
>pomoci D3 stahnout informaci o MAC adresach, ktere jsou na siti?


jsou mozne v zasade 2 varianty:
1) stahnes si ARP tabulku v telnest session (tj simulujes login a prislusne
povely - napr "sh arp")
2) pomoci SNMP

pokud je ten router rozumny a rozumne nakonfigurovany (cisco, Linux) mel by
umoznit oboje.

Zdravi
D. Toman


Konec radku do stringu v RES

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 23.12.1999 17:31:39

Petr.Motlicek(zv)bcbrno(tec)cz wrote:

> Jak dostat konec radku (znak konce radku) do
> stringu, ktery se bude ve zdrojich ?
> Stringy definujeme v RC souboru...

Od D3 vyse povazuji za rozumnejsi cpat retezce do resourcu takto,
primo ve zdrojaku *.pas:

resourcestring
SMujText='Muj text'#13#10;


S pozdravem

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


Pozadi v Sinei

[*] Vaclav Krmela <krmela(zv)pecomp(tec)cz> - 23.12.1999 21:09:21

From: David Lebeda
>mam nasledujici dotaz. V D4 C/S pouzivame tiskove sestavy Sinea.
>Potrebuji programem vyplnit nejaky formular. Existuje nejaky
>zpusob, jak nascanovanou podobu tohoto formulare umistit pri editaci
sestavy na pozadi,
>ale nakonec vytisknout jen vyplnena data
>bez tohoto obrazku s formularem?
>Preview typu, za na bilem papire jsou nekde pohazena nejaka data se mi
naprosto nelibi.
>
Jako zakladni vlastnost neco takoveho neni.
V editoru predloh to nelze obejit.
V preview by se to dalo udelat tak, ze se obrazek umisti do zacatku
sestavy nebo do hlavy stranky pod ostatni prvky sestavy.
Aby se mohl obrazek pri tisku vyhodit, muselo by to byt osetreno programove,
napriklad tak, ze bude obrazek vlozen jako odkaz, ktery se pred tiskem
zrusi. Zpusob provedeni odkazu jsem popisoval nedavno.

Jako namet na rozsireni funkcnosti generatoru sestav to neni spatne.

Vaclav Krmela

Format ICO

[*] lukas(zv)oknet(tec)cz (Vana Lukas) - 24.12.1999 00:25:29

Nema nekdo prosim popis formatu ICO? Potrebuji vytvorit jednoduchy icon
editor, ale ikona zrejme neni BMP (minimalne ma vlastnost pruhlednost).
Pokud nekdo narazil na zdrojak, ktery uklada ikony, pomohlo by mi to.

Dik, Lukas Vana.

Pristup k Paradox tbl

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 24.12.1999 09:16:44

Foldyna Ji�� wrote:

> mam problem - potreboval bych se dostat na tabulku Paradox, staci pro
> cteni a nechci pouzit BDE. Tabulka je chranena heslem, obsahuje i
> BLOBy. Zkousel jsem pristup pres ADONIS komponenty, ale dostavam chybu
> 10498 - chyba externiho driveru. Heslo samozrejme znam, pres DB
> Desktop se tabulka da otevrit. Nevite nekdo, jak na to ?

Patrne mas v hlavicce Pdx tabulky jazykovy driver.


S pozdravem

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


Pristup k Paradox tbl

[*] Libor V�trovec <vetrak(zv)hotmail(tec)com> - 26.12.1999 05:29:22 pst

Mam prozbu
muj zamestananec pomne chce aby jsme udelal program ktery poziva Paradox
nebo DB2 a nechce pou��t na P��stup ADO ani BDE da se to nejak udelat
existuje komponenta ktera to dokaze obejit bez BDE i ADO ?
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com


Zajimavost pri vytizeni procesoru

[*] Jirka Virt <virt(zv)volny(tec)cz> - 26.12.1999 11:04:03

Ahoj,
diky za postouchnuti, ale at jsem na to koukal jak jsem chtel vubec nic
jsem s tim nevymyslel.Nemuzes mi poradit vic???Jediny co me pak napadlo,
prochazet vsechny procesy a nevyuzity bytek pak ukazovat jako nevytizeny
procesor.Ale to je dost krkolomny.Snad pres Kernela?


Diky Jirka Virt

email: virt(zv)volny(tec)cz
----- Original Message -----
From: Petr Vones <pvones(zv)mbox.vol(tec)cz>
To: Konference Delphi <delphi-l(zv)fwd(tec)cz>
Sent: Wednesday, December 22, 1999 10:49 PM
Subject: Re: Zajimavost pri vytizeni procesoru


> From: Jirka Virt <virt(zv)volny(tec)cz>
> > tak jsem na to mrknul a neco vytvoril.Neni to ono, ale funguje
> > to.Mimochodem - nevite jak sledovat vytizeni procesoru na NTckach???
>
> Ahoj,
>
> V NT pomoci Performance Data Helper knihovny, zkratka jinak nez ve W9x :-)

Zrychleni aplikace

[*] Infra Red <nezadal(zv)volny(tec)cz> - 26.12.1999 11:10:47

n nabyva hodnot 2 - cca 250, v zavislosti na velikosti obrazku a jeho
"fraktalite".
Prominte za opomenuti.
MArtin NEzadal

-----P�vodn� zpr�va-----
Od: Vaclav Krmela <krmela(zv)pecomp(tec)cz>
Komu: delphi-l(zv)fwd(tec)cz <delphi-l(zv)fwd(tec)cz>
Datum: 23. prosince 1999 10:43
P�edm�t: Re: Zrychleni aplikace


>
>> Tomu rikam darek k vanocum. Dekuji mnohokrat. At zije Petr Vones a cela
>> konference vubec !
>> Martin Nezadal
>>
>
>Skoda, ze stale nevime, jakych hodnot nabyva n.
>Pokud by se n napriklad pohybovalo v intervalu 2..32,
>dalo by se dosahnout dalsiho n nasobneho zrychleni
>testovanim cele n-tice bodu najednou.
>
>Vaclav Krmela
>
>
>

Stracaju sa obrazky v TToolBar-e

[*] Tomas Holan <HOLAN(zv)ksvi.mff.cuni(tec)cz> - 26.12.1999 16:56:33

> V programe som si spravil ToolBar. Cez
> ImageList som si tam napratal ikonky.
> Skompiloval som program a nahral na druhe PC.
> Vsetko bolo OK. Po case som to druhy krat skompiloval.
> U mna OK a na druhom PC ikonky zmizly. Nech som skusal,
> co som skusal, na druhom PC sa ikonky neobjavily.

Bylo to tu tak pred 1-2 mesici.
Je to versi jakehosi .DLL, viz DEPLOY.TXT.

Tom


SW_HIDE

[*] Jmisek <jmisekdelphi(zv)seznam(tec)cz> - 26.12.1999 16:55:09

Cauves

mam takovou otazecku, jak se da sposutet aplikace skryte, tedy
myslim tim aby uz pri startu mela parametr SW HIDE, kdyz dam
do oncreate showwindows sw hide, nefunguje to

dik a cus
pouzivam d3cs, w98


neco o Image

[*] Martin Pe�ek <pesek.martin(zv)mymail(tec)cz> - 26.12.1999 19:28:28

Zdravim !!!
Mam v Delphi 4 nekolik (hodne) komponent typu Image. A potrebuju jim za behu priradit jeden urcity obrazek. Slo by to udelat nejakym cyklem ? A pak tem Image priradit jeden stejnej event, ale aby to udelalo efetk jen na ten Image, na kterej by se kliklo. Jde o to, ze si uzivatel vybere nejakej obrazek a kdyz potom klikne na ten Image, tak aby ten obrazek se priradil tomu Image, na ktery kliknul. Slo by to nejak osetrit, abych mel nejakej kus zdrojaku, kterej zjisti, od kteryho Image prislo volani na ten event a podle toho by se zaridil ? Predem dik a cau Martin.

Preju vsem vesele Vanoce a bourliveho Silvestra.

/======================\
/ pesek.martin(zv)mymail(tec)cz \
/-------------------------------------------------\
<---<([ Martin Pesek ] [ Gamemaker ])>--->
\-------------------------------------------------/
\ www.mujweb(tec)cz/www/gusman /
\======================/

neco o Image

[*] Vaclav Krmela <krmela(zv)pecomp(tec)cz> - 26.12.1999 21:51:02

From: Martin Pe�ek

>Mam v Delphi 4 nekolik (hodne) komponent typu Image.
>A potrebuju jim za behu priradit jeden urcity obrazek. Slo by to udelat
>nejakym cyklem ? A pak tem Image priradit jeden stejnej event,
>ale aby to udelalo efetk jen na ten Image, na kterej by se kliklo.
>Jde o to, ze si uzivatel vybere nejakej obrazek a kdyz potom klikne na ten
Image,
>tak aby ten obrazek se priradil tomu Image, na ktery kliknul.
>Slo by to nejak osetrit, abych mel nejakej kus zdrojaku, kterej zjisti,
>od kteryho Image prislo volani na ten event a podle toho
>by se zaridil ? Predem dik a cau Martin.

Zalezi na tom, zda se komponenty TImage tvori az za behu programu,
nebo jiz pri navrhu formulare.
Ja tvorim obrazky az za behu programu, kazdemu prirazuji jiny Tag
a jejich seznam si udrzuji v TList. Prochazenim TList se dostavam
na vsechny obrazky. Pouzivam u vsech spolecnou obsluhu udalosti
a mezi obrazky rozlisuji prave podle jejich Tag, pokud potrebuji index,
.....(Sender as TImage).Tag
nebo take List.IndexOf(Sender)...
V jednoduchych udalostech staci i pouhe (Sender as TImage)....

Pokud jsou obrazky vytvoreny jiz v navrhu formulare,
zbyva pouze jejich Tag.
Pokud by byl potreba nejaky cyklus, muselo by se na ne jit pres
Controls nebo Components:
for i := 0 to ComponentCount - 1 do
if Components[i] is TImage then
with Components[i] as TImage do

Vaclav Krmela

SpeedButton nebo Toolbar ? (Was: Upraveny buttons.

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

From: Ales Radikovsky <radik(zv)seznam(tec)cz>
> Problem je, ze ToolBar ma dost omezene moznosti co se tyce umistovani
> tlacitek (napriklad zarovnani vpravo) a zije si dost vlastnim zivotem
> (velikost, oktaje a tak).

Ahoj,

Tuhle reakci jsem tak trochu cekal :-) Je to samozrejme subjektivni, ale
ve Windows je myslim dobre udrzovat urcity konzistentni vzhled a ovladani
aplikaci. Pokud se podivas treba na Delphi 5 IDE, Word, Excel, Internet
Explorer a dalsi, tak tam se bez "SpeedButtonu" obesli a veci to spise
prospelo. Nehlede na to, ze dropdown tlacitka se staly beznou soucasti
uzivatelskeho rozhrani (a vcelku i pomerne praktickou), coz je vec ktera
se pomoci SpeedButtonu udelat neda. ToolBar (ve Windows, bohuzel ne ve
VCL :-( take primo podporuje konfiguraci panelu tlacitek.

> Takze na formulari kde je jeden DBGrid a kolem spousta tlacitek a ja
> nechci ztratit focus toho gridu je SpeedButton asi jedine reseni.

Jak souvisi ztrata focusu se SpeedButtonem a ToolBarem ?

Petr Vones, amatersky programator

Scrollbar a toolbar

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

From: Ren� Otisk <otisk(zv)misel(tec)cz>
> D1, RxLib 2.6?
> Nenasel jsem to v konferenci. Mam SDI aplikaci. Ve formu mam TPanel (Align.alTop)
> jako toolbar. Form je vyssi nez obrazovka takze po AutoScroll := True se mi tam objevi
> verticalni scrollbar. Bohuzel, kdyz po nem roluji, tak mi ulitne nahoru i ten toolbar,
> coz nevypada az tak, ze jo. Jak na to?

Ahoj,

Dej na formular TPanel (Align = alTop) a TScrollBox (Align = alClient). Ten ti
pak umozni scrollovat pouze svoji oblast.

Petr Vones, amatersky programator

Rezident

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

From: Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz>
> chtel bych napsat utilitku, ktera by hlidala pod Windows95 vlozeni diskety a
> na zaklade toho by spustila nejakou cinnost. Ovsem jedine reseni, ktere me
> napada (TIMER) asi nebude pametove nejoptimalnejsi, co?

Ahoj,

Tak hrozny me to nepripada, a uz vubec ne ve vztahu k pameti. Problem by ale
mohl nastat, pokud by jsi nastavil velmi maly interval zjistovani pritomnosti
diskety, protoze by tak dochazelo ke zbytecnemu vytezovani procesoru. Pokud to
ale nastavis na radove 100vky milisekund, nemelo by to byt kriticke. Samozrejme
ze reseni s notifikaci je vzdy lepsi, ale o zadnem takovem nevim ... :-)

Petr Vones, amatersky programator


Format ICO

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

From: Vana Lukas <lukas(zv)oknet(tec)cz>
> Nema nekdo prosim popis formatu ICO? Potrebuji vytvorit jednoduchy icon
> editor, ale ikona zrejme neni BMP (minimalne ma vlastnost pruhlednost).
> Pokud nekdo narazil na zdrojak, ktery uklada ikony, pomohlo by mi to.

Ahoj,

Podivej se treba do prislusnych VCL zdrojaku na TIcon nebo hledej format
ICO tady: http://www.wotsit.org/

Petr Vones, amatersky programator

Problemek ... (API)

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 26.12.1999 22:24:38

From: Martin Palas <PalasM(zv)kaucuk(tec)cz>
> Mam aplikaci, ktera pomoci fce ShellExecute spousti
> programy a vraci "HInstance". Potreboval bych nejaky
> seznam, nebo neco, kde se da zjistit jestli aplikace
> s "HInstanci" jeste bezi, nebo if uz byla ukoncena.
> .... nebo nejaky jiny zpusob jak spustit aplikaci, kontrolovat
> jeji chod (ve smyslu bezi/nebezi), ale pritom stale pracovat.

Ahoj,

Muzes pouzit treba komponentu TPvCreateProcess ktera umoznuje prave i cekani na
ukonceni spusteneho procesu a poskytuje i dalsi informace. Ke stazeni vcetne
prikladu tady (urceno pro D4 a D5):

http://www.volweb(tec)cz/pvones/download/PvComponents.zip

Komponenta ale pouziva CreateProcess a ne ShellExecute, nicmene je to dobry
namet na rozsireni.

Petr Vones, amatersky programator

Jak rozeznat klavesy Enter

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

From: Marian Jonas <jonas(zv)ji(tec)cz>
> Potrebuji v udalosti OnKeyDown, OnKeyPress klavesy
> Enter na hlavni a Enter na numericke klavesnici.

Ahoj,

Napriklad takhle:

type
TForm1 = class(TForm)
private
procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

{ TForm1 }

procedure TForm1.WMKeyDown(var Message: TWMKeyDown);
begin
inherited;
with Message do
if CharCode = VK_RETURN then
if KeyData and (1 shl 24) = 0 then
ShowMessage('Enter')
else
ShowMessage('Enter na numericke klavesnici')
end;

Petr Vones, amatersky programator

Pozadi v Sinei

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 26.12.1999 22:25:37

From: Jaro <jaro(zv)sinea(tec)cz>
> Myslym, ze tohle je velmi dobry napad a ja bych k tomu pridal i svuj hlas.
> Dalo by se ve vlastnostech generatoru nacist maly bitmapovy vzorek jako
> tapetu pro preview a pro tisk s tim, ze pro kazdy pripad by byl volitelne
> nacten vzorek. Implicitni hodnota by byla nastavena: "Bez vyplne".

Ahoj,

Jen poznamka, misto omezeni na bitmapu (TBitmap) by bylo dobre to zobecnit
na TPicture, aby slo pouzit jakykoliv graficky format (napriklad JPEG apod.)

Petr Vones, amatersky programator

THTML

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

From: Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz>
> > Napriklad Internet Explorer :-) Muzes si jej naimportovat do
> > Delphi jako ActiveX
> > control a pak pouzit.
>
> Problem ovsem nastane, pokud takovou aplikaci spustis na stroji, kde neni
> Internet Explorer nainstalovan (jsou takovi mezi nami;-)

Ahoj,

To uz ale neni problem te aplikace. To je asi totez, jako kdyz udelas aplikaci
komunikujici po siti a za "problem" oznacis, ze ne vsechny pocitace budou mit
instalovany potrebne protokoly. Patrne asi nezacnes znovu psat implementace
protokolu jen proto, ze "je prece vsude zrovna nemaji instalovane". Internet
Explorer je dnes povazovan za zakladni soucast OS, takze je to spis problem
neuplne (neaktualizovane) instalace operacniho systemu. Proto se u SW prece
stanovuji minimalni pozadavky na system (verze, aplikovane servispacky, min.
velikost pameti apod.). Nedavno tu byl odkaz na dokument Microsoftu tykajici
se specifikaci aplikaci pro W2000. Mimo jine je tam take pojem "nejnovejsi
vydana verze OS", napriklad pro Win95 je to W95 OSR2 + IE5. Stejne tak kdyz
zvolis na plose Tento pocitac -> Vlastnosti, tak na zalozce Obecne mas pod
napisem System verzi Windows a IE.

Petr Vones, amatersky programator


Zajimavost pri vytizeni procesoru

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 26.12.1999 22:26:32

From: Jirka Virt <virt(zv)volny(tec)cz>
> diky za postouchnuti, ale at jsem na to koukal jak jsem chtel vubec nic
> jsem s tim nevymyslel.Nemuzes mi poradit vic???Jediny co me pak napadlo,
> prochazet vsechny procesy a nevyuzity bytek pak ukazovat jako nevytizeny
> procesor.Ale to je dost krkolomny.Snad pres Kernela?

Ahoj,

Nejake komponenty na Windows NT Performance API jsou tady:

http://www.chat.ru/~aldyn/pu_frame.html

Petr Vones, amatersky programator

Telefonicke pripojeni site

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 26.12.1999 22:26:59

From: Petr Reichl <reichl(zv)atlas(tec)cz>
> Muzete mi prosim poradit, jak mam vyvolat dialog Telefonicke pripojeni site,
> v pripade, ze je pocitac off-line?

Ahoj,

Napriklad takhle:

uses
WinInet;

const
ERROR_USER_DISCONNECTION = 631; // RASERROR.H

procedure TForm1.Button1Click(Sender: TObject);
begin
if not InternetAutoDial(0, 0) and (GetLastError <> ERROR_USER_DISCONNECTION) then
RaiseLastWin32Error;
end;

Petr Vones, amatersky programator

SW_HIDE

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 26.12.1999 22:26:18

From: Jmisek <jmisekdelphi(zv)seznam(tec)cz>
> mam takovou otazecku, jak se da sposutet aplikace skryte, tedy
> myslim tim aby uz pri startu mela parametr SW_HIDE, kdyz dam
> do oncreate showwindows sw_hide, nefunguje to

Ahoj,

Pokud chces skryt hlavni okno aplikace pri startu, tak to lze takhle:

procedure TMainForm.FormCreate(Sender: TObject);
begin
Application.ShowMainForm := False;
end;

Zaroven musis mit u toho formulare nastaveno v OI Visible na False.

Petr Vones, amatersky programator


Konec radku do stringu v RES

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 26.12.1999 22:26:06

From: <Petr.Motlicek(zv)bcbrno(tec)cz>
> Jak dostat konec radku (znak konce radku) do
> stringu, ktery se bude ve zdrojich ?
> Stringy definujeme v RC souboru...

Ahoj,

Pro ukladani retezcu do resourcu je asi lepsi pouzit deklaraci RESOURCESTRING
primo ve zdrojaku. Pokud ale z nejakych duvodu presto trvas na pouziti .RC
souboru, tak to lze udelat takhle:

const
MyTextID = $100;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(LoadStr(MyTextID));
end;

DATA.RC
-------
#define MyText 0x100L

STRINGTABLE
BEGIN
MyText, "Prvni radek\r\nDruhy radek\r\nTreti radek\r\n"
END


Petr Vones, amatersky programator


D5prof: Nefungujici metoda tBitmap.LoadFromResourc

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 26.12.1999 22:26:24

From: Petr Fejfar <callnet(zv)telecom(tec)cz>
> 1. Nefunguje ani proste LoadFromFile()
> 2. Neumi to nacist BMP soubory ve formatu Windows RLE Encoded. Formaty OS/2
> a Windows RGB encoded to cte spravne, ale jsou 2x vetsi :-(((

Ahoj,

Zvlastni, a ve starsich verzich Delphi to funguje ?

Petr Vones, amatersky programator

neco o Image + setreni systemovych zdroju

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 26.12.1999 22:29:15

From: Martin Pe�ek <pesek.martin(zv)mymail(tec)cz>
> Mam v Delphi 4 nekolik (hodne) komponent typu Image. A potrebuju jim za
> behu priradit jeden urcity obrazek. Slo by to udelat nejakym cyklem ? A

Ahoj,

Slo. Na formulari mas rekneme nekolik komponent TImage (Image1, Image2, atd.).
Je nekolik moznosti jak to udelat, takze:

Obrazek nahrajes do Image1 (muzes jej vlozit primo v IO misto nahravani za
behu pomoci metody LoadFromFile, to je jedno). Ostatnim TImage jen priradis
za behu stejny obrazek jako ma Image1, viz nasledujici kod:

procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
C: TComponent;
begin
Image1.Picture.LoadFromFile('alarm.bmp');
for I := 0 to ComponentCount - 1 do
begin
C := Components[I];
if (C is TImage) and (C <> Image1) then TImage(C).Picture.Assign(Image1.Picture);
end;
end;

Druha moznost je v kodu pro kazdy obrazek volat metodu LoadFromFile (nebo
primo vlozenim obrazku v dobe navrhu kazde komponente):

procedure TForm1.Button2Click(Sender: TObject);
var
I: Integer;
C: TComponent;
begin
for I := 0 to ComponentCount - 1 do
begin
C := Components[I];
if (C is TImage) then TImage(C).Picture.LoadFromFile('alarm.bmp');
end;
end;

Na prvni pohled to vypada, ze je vlastne jedno jaky zpusob pouzijes, ve
vysledku to bude vypadat naprosto stejne. V cem je tedy rozdil. V prvnim
pripade bude totiz existovat jen jedna bitmapa (ve smyslu alokace bitmapy
jako Windows handle) a vsechny ostatni komponenty TImage ji budou sdilet
(samozrejme pokud do nektereho TImage nepriradis jiny obrazek).
Tim lze dosahnout uspory systemovych zdroju, protoze tom v druhem pripade
bude pro kazdy TImage vytvorena nova bitmapa (i kdyz se stejnym obsahem),
coz pri vetsim poctu takovychto komponent muze zvlaste v pripade Win9x
znamenat urcite problemy.

V pripade ze by se jednalo o JPEG obrazek nahravany metodou LoadFromFile,
je treba v prvnim prikladu do kodu za LoadFromFile pridat jeste volani
metody DIBNeeded:

Image1.Picture.LoadFromFile('DelphiDuck.jpg');
(Image1.Picture.Graphic as TJPEGImage).DIBNeeded;

> pak tem Image priradit jeden stejnej event, ale aby to udelalo efetk jen
> na ten Image, na kterej by se kliklo. Jde o to, ze si uzivatel vybere
> nejakej obrazek a kdyz potom klikne na ten Image, tak aby ten obrazek se
> priradil tomu Image, na ktery kliknul. Slo by to nejak osetrit, abych mel
> nejakej kus zdrojaku, kterej zjisti, od kteryho Image prislo volani na ten
> event a podle toho by se zaridil ? Predem dik a cau Martin.

Vsem TImage muzes priradit stejnou udalost na OnClick a parametr Sender ti
pak urcuje kdo tuto udalost vyvolal. Tento princip lze obecne pouzivat v
Delphi. Takhle muzes vymazat vzdy ten obrazek na ktery kliknes:

procedure TForm1.Image1Click(Sender: TObject);
begin
(Sender as TImage).Picture.Assign(nil);
end;

Petr Vones, amatersky programator


Priklady ke stazeni pro Delphi 5

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 26.12.1999 22:33:24

Ahoj,

Pokud touzite po nejakych prikladech pro Delphi 5, tak zde jsou volne ke
stazeni z knihy od Marca Cantu:

http://www.marcocantu.com/md5/md5dload.htm

Jinak vsem preji pekne svatky a bujareho Silvestra. Doufam, ze se v hojnem
poctu sejdeme 6.1.1900 v Belohrade.

Petr Vones, amatersky programator


Pozadi v Sinei

[*] Jaro <jaro(zv)sinea(tec)cz> - 26.12.1999 14:48:14 -0800

Melo by to jit zrejme snadnym zasahem do zdroju, protoze Preview je normalni
TForm.
Pokud zdroje nevlastnite, obratte se na muj e-mail: jaro(zv)sinea(tec)cz
Myslym, ze tohle je velmi dobry napad a ja bych k tomu pridal i svuj hlas.
Dalo by se
ve vlastnostech generatoru nacist maly bitmapovy vzorek jako tapetu pro
preview
a pro tisk s tim, ze pro kazdy pripad by byl volitelne nacten vzorek.
Implicitni
hodnota by byla nastavena: "Bez vyplne".
Je vsak nutne pocitat s tim, ze pokud se pouzije velky podklad, tak se zdrzi
vystup preview.

Jaro


Dobry den,

mam nasledujici dotaz. V D4 C/S pouzivame tiskove sestavy Sinea. Potrebuji
programem vyplnit nejaky formular. Existuje nejaky zpusob, jak nascanovanou
podobu tohoto formulare umistit pri editaci sestavy na pozadi, ale nakonec
vytisknout jen vyplnena data bez tohoto obrazku s formularem?
Preview typu, za na bilem papire jsou nekde pohazena nejaka data se mi
naprosto nelibi.

David Lebeda
lebeda(zv)comarr(tec)cz

Dekuji a zdravim :)

Spravne zavreni aplikace

[*] Va�ek N�vrat���zx"��뢖�z?� - 27.12.1999 00:09:23

Nazdarek !!!
jeste nez se zacnu ptat, chci Vam vsem v konferenci poprat prijemne prozite svatky a uspesne vykroceni do tak diskutovaneho roku, je je rok 2000. Doufejme, ze nam i v roce 2000 jeste bude fungovat lednicka :-))).
A ted k problemu: Rok pracuju na jednom programu a uz pekne dlouho mi to vzdycky po ukonceni programu (Form1.Close) necha stale dole v taskbaru ikonku s tim programem. Kdyz na ni klinu, tak zmizi a vse je v pohode. Dival jsem se do seznamu uloh a hned po skonceni aplikace se tam uz ten program neukazuje (coz je spravne), ale v taskbaru tam stale je a zustane tam do te doby, nez na ni kliknu. Ostatni programy at uz moje nebo cizi to nedelaji. Mohl by mi nekdo pomoc vyresit tenhle "kosmeticky" problem??

Delphi 4 na Windows 98 Cz

S pranim hezkych svatku....
Vasek Navrat
programator diskmagu Engine (www.ropacek(tec)cz/engine)

Jak tedy lepe s SQL ?

[*] Jaro <jaro(zv)sinea(tec)cz> - 26.12.1999 18:03:18 -0800

> Co myslis tim primo ? Pomoci nejake komponenty do, ktere mohu psat SQL,
> treba standarni TQuery ?

Ano napr. TQuery, ale take TUpdateSQL nebo TStroredProc - pokud ti nevadi
BDE. Jestli pouzivas IB, pak Delphi 5 umoznuje primy pristup pomoci
TIBQuery, TIBDataset, TIBUpdateSQL a TIBStroredProc. Take muzes pouzit
ADOCommand, ale to je zase trochu o necem jinem a na to jsou tu zase jini
odbornici.
Nezapomen tez, ze kazdy server ma vlastni SQL jazyk, ktery lze pouzivat pro
psani ulozenych procedur. Jejich volani z Delphi je velmi dobrou a zpravidla
tez velmi rychlou metodou. K tomu se hodi prave TStroredProc, resp.
TIBStoredProc

> 2. Potrebuji zobrazit data (seznam), provedu SELECT a jejich zobrazeni
> (pouze pro cteni) v grid.

Na to je opravdu asi nejsnadnejsi pouzit TQuery a napsat do neho SELECT.

> 3. Potrebuji zobrazit pouze jeden zaznam, provedu SELECT (pouze pro cteni)
a
> vracene hodnoty zobrazim v obycejnych komponentach - ne databazovych (nema
> to zadny smysl).

A proc ne? Vzdyt je to nejjednodussi a zrejme i nejrychlejsi postup.
1. vlozit TQuery
2. napsat do neho SELECT s podminkou pro jeden zaznam
3. Vlozit TDatasource a pripojit ho na TQuery.
4. Nahazet na formular par DBEdit-u a pripojit je k TDatasource
Nedovedu si predstavit nic rychlejsiho. Krom toho mi jaksi nedochazi,
co je na databazovych komponentech neobycejneho a ktere
ty "obycejne" mas vlastne na mysli. Popsanym zpusobem muzes
muzes hodnoty dokonce menit a ulozit je zpet na server bez pouziti
INSER. Staci zapnout rezim RequestLive nebo CachedUpdates.

> dat t.j. treba normalni Edit, tak kontrolujes jestli pro kazde pole
vstupni
> data ?
> t.j. jestli tam je cislo a ne text ?

No prave. DBEdit ti nedovoli zadat textovou polozku pokud je pripojena
k ciselnym datum. Kdyz si z naseho serveru www.sinea(tec)cz stahnes
komponenty SineaVCL, tak tam najdes DBEditSinea. Je to potomek
DBEdit a krome jinych novych vlastnosti umi odchytit validaci jeste pred
vznikem
udalosti vyvolanou BDE a bud ji osetrit nebo alespon nahradit
standardni vlastnim hlasenim. Z tech dalsich zajimavych vlastnosti
za zminku stoji osetreni datumu i casu, moznost rozsireni o tlacitko
kalendare
nebo vlastnost EnterIsTab. Komponenty jsou i se zdroji zadarmo.

> Mohl by jsi kratce jednu proceduru na precteni jednoho recordu do editu
> a pak zpet ulozeni ? To by mi pomohlo.

Viz vyse. K ulozeni dojde pri Post. Pokud totiz nepouzijes transakce
(coz asi v takto jednoduchem pripade neni nutne), pak se uplatni
AutoCommit i bez tveho snazeni.
Vsechno se to da poridit za nekolik minutek.
Jaro

PS. Hezke svatky a programatorske pohody

Jak tedy lepe s SQL ? was trideni was: D5 - ano ci

[*] Jaro <jaro(zv)sinea(tec)cz> - 26.12.1999 18:52:13 -0800

> Hlasim se dobrovolne k tem co delaji tuto nejcastejsi chybu, t.j.
> pouzivam IBTable, neb jsem preklapel paradoxovou aplikaci.
> Chtel bych se vsak polepsit a napsat to lepe, bohuzel vetsina
> podobnych debat konci pouze konstatovanim, ze je to potreba
> delat pres query a ze i dema v Delphi jsou blbe.

Nerekl bych to tak jednoduse. Spise jde o to, co kdy a na co pouzit. Proc
treba pomoci TTable nezobrazit ciselnik
o nemz vime, ze bude vzdy obsahovat jen par polozek? Maly prikladek bych ti
mohl pres vanocni svatky spichnout,
ale tezko radit, kdyz moznosti je velmi mnoho a vhodnost pouziti se nekdy
lisi. Zodpovez alespon par otazek.
1. Jake pouzivas Delphi?
(kvuli IB je velmi dobre prejit na Delphi 5, vyuzit nove komponenty pro
primy pristup a vyhnout se tak zcela nekdy problematickemu BDE)
2. Napis mi neco o charakteru ulohy (cil pouziti, objemy dat, clenitost,
mnozstvi tabulek, pocet klientu a pod.)
3. Uprednostnujes rychlost vytvoreni projektu nebo rychlost a spolehlivost
programu?

Velkym problemem programatoru, kteri prave narychlo preklopili svuj paradox
projekt na server byva, ze o tech serverech skoro nic nevi. Nic proti tomu.
Ja jsem take tak zacinal a i tohle se zrejme vyplati. Jenomze naucit se a
pochopit databazovy server, to je trochu o necem jinem. K tomu vetsinou
nestaci jen vyzkouset si TQuery. Delat ulohu C/S vyzaduje trochu jiny zpusob
mysleni,
trochu odlisny pristup k datum a troufam si tvrdit, ze i trochu jine, resp.
vhodnejsi uzivatelske rozhrani nez, jako v pripade Paradox tabulek. A tak
mnozi predelavaji svuj projekt trikrat. Prvne to rychle preklopi s minimem
uprav. Podruhe to zacnou psat znova a poradne, no a potreti to zacnou
prepisovat az pochopi sve omyly a chyby nebo az se jim to zacne zdat
pomale. Zpravidla si mezitim vsimnou, ze servery maji svuj vlastni jazyk a
ze nektere veci je mnohem efektivnejsi vyresit primo na serveru. Na to se
ale jednoduchy priklad napsat neda, to chce zkusenosti. Ja vzdy doporucuji
alespon nejake skoleni nebo blizsi kontak s vyvojari, kteri uz maji neco
takoveho za sebou. Jinak nekdy prichazi zklamani, protoze se pak muze zdat,
ze to na tom paradoxu chodilo rychleji a lepe. Na Interbasi delali velmi
dobra skoleni v Laznich Belohrad. Mozna to plati stale.
No jednou se zacit musi. Mnoho zdaru.
O nejaky priklad muzes napsat primo na muj e-mail jaro(zv)sinea(tec)cz
Jaro


> Uvital bych maly priklad v IB s pouzitim nativnich komponent
> master - detail, s pouzitim autoinkrementu (resp. generatoru),
> jak postupovat pri prohlizeni, trideni, zadavani, editaci a mazani.
> Maly prikladek (jeden dfm a jeden pas) by mi uvedenou problematiku
> osvetlil mnohem lepe nez sahodlouhe maily.
>
> Diky
>
> Pavel M.
>
> ----- Original Message -----
>
> > > Koncepce "plochych" databazi (xBase,Paradox)
> > > dovoluje velkou interaktivitu prace s daty bez vyraznych problemu.
> > Aplikace
> > > techto postupu na SQL C/S databazi (typyckym prikladem a nejcastejsi
> > chybou
> > > je pouziti TTable) vede ke spatnym vysledkum.
> >
> > To jiste ano. Ja to vsak takto blbe nedelam a myslim, ze ostatni
vyvojari
> > take
> > ne. To je problem nekterych zacatecniku, kterym se nedari oprostit se od
> > x-base
> > nahlizeni na data. Nelze to ale interpretovat, jako obecny problem.
>
>

Generovani ID pri pridavani zaznamu

[*] Jaro <jaro(zv)sinea(tec)cz> - 26.12.1999 19:03:51 -0800

> Ja jsem to resil odlisnym zpusobem:
> pouzivam UNIKATNI primarni klic a cpu do nej hodnotu RRRRMMDDHHMMSSD
> - tedy aktualni datum a cas jako numerickou hodnotu (15 cislic)
> Tahle hodnota se vejde do polozky NUMERIC snad ve vsech typech databazi.
> Pokud takovy klic jiz existuje, zaznam se nepovede ulozit a ja to zkusim
> znova s novym casem. Polozka mi zaroven jednoduse rika, kdy zaznam vznikl.
>
> Tato metoda se mi osvedcila a funguje to jiz pres 4 roky v ruznych
> projektech.
> Teoreticky je to omezene na 10 zaznamu za sekundu, ale s takou cetnosti
> vzniku dat jsem se v praxi nesetkal (nerikam, ze takove pripady nejsou).

A je nejky duvod proc jednouse nepouzit autoincrement, resp. generator ID?
Myslim, ze s klicem typu Integer lze pracovat podstatne rychleji nez
s RRRRMMDDHHMMSSD.

Jaro


WinNT a Win95 na jedne masince

[*] Jaro <jaro(zv)sinea(tec)cz> - 26.12.1999 19:21:22 -0800

> Jde to, je to sice pracne, pokud mas na masine jenom WinNT. Mam zkusenosti
s
> kouzlenim typu - pouze NT, a potrebuju W95 i Linux. Pro toto jsem pouzil
> Partition Magic od firmy PowerQuest. Pripravit si pocitat pro
nainstalovani
> w95 kdyz uz tam jsou NT, je fuska. Je treba umazat z disku vsechno ....
......
Obracene (tedy z Win 95/98) to jde mnohem snadneji. Zajimalo by me, jak tam
jeste docpat ten Linux.> Obecne plati doporuceni, a toho jsme se drzeli i pri instalaci naseho NT
> Serveru - Vytvorit alespon malou partition FAT16 a z ni startovat NT (na
ni
> je dobre mit utilitky pro chcecking a udrzbu zeleza, pokud se neco stane).
> Nedoporucuji Ti v budoucnu instalovat NT na pocitac bez FAT16 partition.

Tak s tim bych si dovolil silne nesouhlasit. Fat 16 vykazuje mnohem mensi
spolehlivost nez NTFS. Kdysi jsem to mel obdobne rozdelene (ovsem z nutnoti
kvuli Win 95 / winNT) a diky havarii primarniho oddilu s Fat 16 (zaplnenim
disku doslo k prekrizeni souboru), cehoz lze dosahnout celkem snano, se mi
zcela ztratily informace o dalsich oddilech disku. Dat to dohromady dalo
peknou fusku a myslim, ze bezny uzivatel by to nezvladl. Naproti tomu
havarii NTFS systemu jsem jeste nezazil. Ale je fakt, ze neziju zase tak
dloho :) :)

Nic ve zlem ... hezke svatky.
Jaro

>
> Marek Spisak
>
>
> PS: Co se tyce FAT32, tak existuji utilitky do NT, ktere jim umozni cist
> FAT32 partition. Ta, co znam vsak neumi z FAT32 bootovat.
>
> ### Otisk Rene napsal dne 6 Dec 99, v 9:02 :
> > Hi,
> > Mam dotaz ohledne moznosti nainstalovat na PC s WinNT 4.0 Wrkst jeste
> > vedle OS W95 (na odladovani aplikaci). Naopak to jde, ale z NT to
rozsirit
> > o W95? Potrebuji zachovat stavajici soubory na disku, takze postup
format
> > C:, instalace W95, instalace WNT neni to prave orechove. Dekuji Sroub
>

THTML

[*] Petr Fejfar <callnet(zv)telecom(tec)cz> - 27.12.1999 08:14:23


Petr Vones <pvones(zv)mbox.vol(tec)cz> wrote:

>> Problem ovsem nastane, pokud takovou aplikaci spustis na stroji, kde neni
>> Internet Explorer nainstalovan (jsou takovi mezi nami;-)

>To uz ale neni problem te aplikace.

Ja si myslim, ze je, protoze napr. o uspesnosti aplikace rozhoduji vedle mnoha dalsich kriterii take potize, s jakymi se radovy uzivatel setka pri jeji instalaci a pouzivani. A podle zkusenosti z podpory nasich zakazniku existuje statisticky vyznamny pocet instalaci bez IE popr. s verzi 4.0 atd.


bye pf, Petr.Fejfar(zv)callnet(tec)cz

D5prof: Nefungujici metoda tBitmap.LoadFromResourc

[*] Petr Fejfar <callnet(zv)telecom(tec)cz> - 27.12.1999 08:16:26

Petr Vones <pvones(zv)mbox.vol(tec)cz> wrote:

>Zvlastni, a ve starsich verzich Delphi to funguje ?

Jo. Prisel jsem na to tak, ze jsem prenesl projekt z D4 do D5 :-((


bye pf, Petr.Fejfar(zv)callnet(tec)cz

Tymova spoluprace

[*] Karel Kral <kral(zv)purus(tec)cz> - 27.12.1999 08:24:47

> Mam tyto dotazy:
> - muj projekt ma v hlavnim adresari podadresare (ne ze bych se jich nemohl vzdat) a FreeVCS chvi pouzivat pro spravu verzi - to jest chci mit moznost vratit se k pul roku stare verzi projektu. To se mi v podstate dari s tim, ze FreeVCS pri Syncu ignoruje podadresare a nasype mi vsechny soubory do Target directory. Da se s tim neco delat?

Bohuzel, tuhle funkci jsem nikdy nepouzil :).
>
> Libi se mi automaticke backaupovani pri ukonceni Delphi - jen bych rad, aby se cilovy ZIP archiv prejmenovaval tak, aby existovalo nekolik zaloh zpatky...
>
> D. Toman

Nezjistil jsem, jak by to slo. Ja si zalohuji soubory sam, takze tuhle
zalohu beru jako doplnujici, kdyz je, tak je. Kdybys sis ale zalohovat
tech par PX souboru z FreeVCS, mel bys zalohu vcetne verzi.
--
______________________________________________________
Karel Kral, informatik
Purus, s.r.o., Cezavy 627, 664 56 Blucina
Tel: 05/47235000, 0602/552432, Fax: 05/47231203
E-Mail: mailto:kral(zv)purus(tec)cz, WWW: http://www.purus(tec)cz
______________________________________________________


None

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 27.12.1999 08:37:10

Libor VXtrovec wrote:

> Mam prozbu

Pevne doufam, ze tento tvar nova levydla pravopyzu nepripousteji...
:-)

> muj zamestananec pomne chce aby jsme udelal program ktery poziva
> Paradox nebo DB2 a nechce pou��t na P��stup ADO ani BDE da se to nejak
> udelat existuje komponenta ktera to dokaze obejit bez BDE i ADO ?

Zamestnanec? Pokud je rec o Paradoxu (i kdyz ja bych se mu
vyhnul a zamestnanec by to dostal prikazem), tak BDE je vyladeno
zejmena pro Paradox, na tomto miste bych tedy pouzil BDE. Co
se tyce DB2, tak bych si nejdrive zjistil zda, pripadne kdy budou
drajvy na OLE DB a podle toho bych se zaridil, tedy nejspis bych
pouzil OLE DB nebo ADO. Jinou rozumnejsi variantu nevidim.


S pozdravem

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


Jak tedy lepe s SQL ? was trideni was: D5 - ano ci

[*] Pavel Medek <Pavel.Medek(zv)talema(tec)cz> - 27.12.1999 09:01:22


----- Original Message -----
From: Jaro <jaro(zv)sinea(tec)cz>

> Zodpovez alespon par otazek.
> 1. Jake pouzivas Delphi?
> (kvuli IB je velmi dobre prejit na Delphi 5, vyuzit nove komponenty pro
> primy pristup a vyhnout se tak zcela nekdy problematickemu BDE)

D5 prof., Interbase 5.6.

> 2. Napis mi neco o charakteru ulohy (cil pouziti, objemy dat, clenitost,
> mnozstvi tabulek, pocet klientu a pod.)

Podnikovy system, momentalne asi 40 tabulek, cca 5-6 tabulek ma 20-60 tisic
radku.
V siti je 13 klientu, vetsinou je aktivnich v jeden okamzik tak polovina.
System
jsme 3 roky uspesne pouzivali nad paradoxem (1-2 chybicky mesicne se daly
zvladnout).

> 3. Uprednostnujes rychlost vytvoreni projektu nebo rychlost a
spolehlivost
> programu?

Rychlost a spolehlivost programu. Casu mam dost, neni to komercni produkt,
ale
pouze aplikace pro nase potreby.

>
> Velkym problemem programatoru, kteri prave narychlo preklopili svuj
paradox
> projekt na server byva, ze o tech serverech skoro nic nevi. Nic proti
tomu.
> Ja jsem take tak zacinal a i tohle se zrejme vyplati. Jenomze naucit se a
> pochopit databazovy server, to je trochu o necem jinem. K tomu vetsinou
> nestaci jen vyzkouset si TQuery. Delat ulohu C/S vyzaduje trochu jiny
zpusob
> mysleni,
> trochu odlisny pristup k datum a troufam si tvrdit, ze i trochu jine,
resp.
> vhodnejsi uzivatelske rozhrani nez, jako v pripade Paradox tabulek. A tak
> mnozi predelavaji svuj projekt trikrat. Prvne to rychle preklopi s minimem
> uprav. Podruhe to zacnou psat znova a poradne, no a potreti to zacnou
> prepisovat az pochopi sve omyly a chyby nebo az se jim to zacne zdat
> pomale. Zpravidla si mezitim vsimnou, ze servery maji svuj vlastni jazyk a
> ze nektere veci je mnohem efektivnejsi vyresit primo na serveru. Na to se
> ale jednoduchy priklad napsat neda, to chce zkusenosti. Ja vzdy doporucuji
> alespon nejake skoleni nebo blizsi kontak s vyvojari, kteri uz maji neco
> takoveho za sebou. Jinak nekdy prichazi zklamani, protoze se pak muze
zdat,
> ze to na tom paradoxu chodilo rychleji a lepe. Na Interbasi delali velmi
> dobra skoleni v Laznich Belohrad. Mozna to plati stale.

Myslim, ze jsem C/S docela pochopil, stejne jako SQL, na skoleni
v Laznich Belohrad (Interbase na strane serveru) jsem byl pred mesicem.
Buhuzel mi trosku chybi ta vazba na Delphi. Libi se mi jak Interbase umi
zit vlastnim zivotem a spousta veci se da napsat primo nad ni, ale jak
tohle fungovani prenest do Delphi ? Treba Generator + Triger misto
autoinkrementu je perfektni, ale kdyz Delphi tu hodnotu nevidi
tak mi to je nanic.

Ja moc nevim, proc je treba TIBTable spatny, vzdy interne se to
prece musi implementovat jako SQL prikaz taky.
Jak pises v jinem mailu pouziti DBEdit komponent neni spatne,
nekteri lide v konferenci (Zbysek, Pavel C.) to vsak nedoporucuji.
Nevim proc, je ta prace s tim spojena vyvazena vetsi kontrolou, stabilitou
.. ?

> No jednou se zacit musi. Mnoho zdaru.
> O nejaky priklad muzes napsat primo na muj e-mail jaro(zv)sinea(tec)cz
> Jaro

Priklad by mi skutecne bodnul. Nebo alespon blizsi popis techniky jak
to delat jinak.

Diky Pavel

pavel(zv)talema(tec)cz


SpeedButton nebo Toolbar ? (Was: Upraveny buttons.

[*] Ales Radikovsky <radik(zv)seznam(tec)cz> - 27.12.1999 09:34:14

> > Problem je, ze ToolBar ma dost omezene moznosti co se tyce umistovani
> > tlacitek (napriklad zarovnani vpravo) a zije si dost vlastnim zivotem
> > (velikost, oktaje a tak).
>
> Ahoj,
>
> Tuhle reakci jsem tak trochu cekal :-)

To je mi jasn�.

> Je to samozrejme subjektivni, ale
> ve Windows je myslim dobre udrzovat urcity konzistentni vzhled a ovladani
> aplikaci. Pokud se podivas treba na Delphi 5 IDE, Word, Excel, Internet
> Explorer a dalsi, tak tam se bez "SpeedButtonu" obesli a veci to spise prospelo.
> Nehlede na to, ze dropdown tlacitka se staly beznou soucasti
> uzivatelskeho rozhrani (a vcelku i pomerne praktickou), coz je vec ktera
> se pomoci SpeedButtonu udelat neda. ToolBar (ve Windows, bohuzel ne ve
> VCL :-( take primo podporuje konfiguraci panelu tlacitek.

To je vsechno pravda. Ja se ToolBaru nejak moc nebranim, kdyz to jde tak
ho i pouziju, ale pisu vetsinou databazove aplikace a ty tlacitka se
dost casto vztahuji ke konkretnim editum, gridum atd, casto je treba
pouzit viceradkovy popis tlacitka, na to ze bych si vystacil s obrazkem
neni ani pomysleni. Takze pouzivam obcas i RxSpeedButton, ktery umi
WordWrap i DropDown. Jeste mi na ToolBaru vadi, ze ma problemy s
umistovanim jinych komponent nez tlacitek (rozdilne chovani s IE 4 a IE
5, ruzne neovlivnitelne zmeny velikosti....)

> > Takze na formulari kde je jeden DBGrid a kolem spousta tlacitek a ja
> > nechci ztratit focus toho gridu je SpeedButton asi jedine reseni.
>
> Jak souvisi ztrata focusu se SpeedButtonem a ToolBarem ?

To je narazka na to, ze kdyz mam jedem grid, ktery ma focus a ma ho mit
porad, a spoustu tlacitek kolem a "nemuzu" (nebo nechci) pouzit toolbar,
tak mi nic jineho nez SpeedButton misto Buttonu nezbyva.

Ales

--

Ale� Radikovsk�
mail: radik(zv)seznam(tec)cz
tel: +420 603 300093


Spravne zavreni aplikace

[*] Pavol Kaka�ka <paka(zv)aktis(tec)cz> - 27.12.1999 11:09:01

>A ted k problemu: Rok pracuju na jednom programu a uz pekne dlouho mi to vzdycky po ukonceni programu (Form1.Close) necha stale dole v taskbaru ikonku s tim programem. Kdyz na ni klinu, tak zmizi a vse je v pohode. Dival jsem se do seznamu uloh a hned po skonceni aplikace se tam uz ten program neukazuje (coz je spravne), ale v taskbaru tam stale je a zustane tam do te doby, nez na ni kliknu. Ostatni programy at uz moje nebo cizi to nedelaji. Mohl by mi nekdo pomoc vyresit tenhle "kosmeticky" problem??

Ahoj

Aka to je komponenta (ta TrayIcona) Mozno Rx... No ak je to ona (ale nemusi) tak by malo stacoit ak ju pred ukoncenim aplikacie schovas TrayIcon.Active := False;

Pavol Kaka�ka
paka(zv)aktis(tec)cz


Jak tedy lepe s SQL ?

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 27.12.1999 12:08:17

Jaro wrote:

> > 3. Potrebuji zobrazit pouze jeden zaznam, provedu SELECT (pouze pro
> > cteni)
> a
> > vracene hodnoty zobrazim v obycejnych komponentach - ne databazovych
> > (nema to zadny smysl).
>
> A proc ne? Vzdyt je to nejjednodussi a zrejme i nejrychlejsi postup.
> 1. vlozit TQuery 2. napsat do neho SELECT s podminkou pro jeden zaznam
> 3. Vlozit TDatasource a pripojit ho na TQuery. 4. Nahazet na formular
> par DBEdit-u a pripojit je k TDatasource Nedovedu si predstavit nic
> rychlejsiho. Krom toho mi jaksi nedochazi, co je na databazovych
> komponentech neobycejneho a ktere ty "obycejne" mas vlastne na mysli.
> Popsanym zpusobem muzes muzes hodnoty dokonce menit a ulozit je zpet
> na server bez pouziti INSER. Staci zapnout rezim RequestLive nebo
> CachedUpdates.

Mno, tohle je dobre leda pro nejakou predvadecku. Ale delat takto
program pro zakazniky mi prijde silne nevhodne. Pracovat takto
primo nad ostrymi daty povazuji za nebezpecne. TQuery stejne
sestavuje INSERT, nicmene povazuji za lepsi sestavit ho sam,
pripadne i pro takovy pripad pouzit ulozenou proceduru. Krome
toho DBEdit (& spol.) vyzaduje otevreny a pripojeny dataset, coz
mi take nejprijde jako 2x vhodne, az na nejake vyjimky.

Komponenty odvozene od TDataSet jsou typove neprevoditelne,
tedy pokud chci data zpracovat pod jinym typem, nez se mi vrati
pres komponenty, mam obvykle smulu - tedy, pokud je napriklad
pole v databazi varchar, ale ja z nejakych duvodu tam stejne mam
cislo a chci ho u klienta jako cislo zpracovat, pak nemohu rict
komponentam, aby mi vracely pole jako cislo ale natvrdo mi vnucuji
retezec.


S pozdravem

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


QR Master Detail

[*] Miroslav Evj�k <evjak(zv)atlas(tec)cz> - 27.12.1999 14:31:22

Ahoj,

potreboval bych poradit s timto "trivialnim" problemem:

Mam klasickou sestavu Master-Detail v QReport 3.0. Je mozne nejakym zpusobem
vytisknout rozdil souctu pole z Master a souctu pole z Detail.

Napr.:

SUM(MasterData.Ks) - SUM(DetailData.Ks)

Problem je ze SUM se vyhodnocuje na kazde vete. Cili, kdyz mam jednu vetu v
MasterData a nekolik vet v DetailData tak to spocita nesmysl.
Zakopany pes je ve vlastnosti QRExpr.Master, ktera ukazuje odkud a kdy se ma
scitat.

Asi to jde spocitat v udalosti OnPrint, ale pripada mi to takove trosku
"pres ruku". Pripadne jestli na to jit pres QR User Defined Functions, ale s
tim nemam zadne zkusenosti.

Dik za radu."Mire�ek" Evj�k
evjak(zv)atlas(tec)cz

QR Master Detail

[*] TUNGLI Jan <tungli(zv)pvt.sk> - 27.12.1999 15:11:37

Na udalost OnPrint pre dany band cez nejaky Query vypocitas rozdiel a
zapises to do najaky label.

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

-----P�vodn� zpr�va-----
Od: Miroslav Evj�k <evjak(zv)atlas(tec)cz>
Komu: delphi-l(zv)fwd(tec)cz <delphi-l(zv)fwd(tec)cz>
Datum: 27. december 1999 14:52
P�edm�t: QR Master Detail


>Ahoj,
>
>potreboval bych poradit s timto "trivialnim" problemem:
>
>Mam klasickou sestavu Master-Detail v QReport 3.0. Je mozne nejakym
zpusobem
>vytisknout rozdil souctu pole z Master a souctu pole z Detail.
>
>Napr.:
>
>SUM(MasterData.Ks) - SUM(DetailData.Ks)
>
>Problem je ze SUM se vyhodnocuje na kazde vete. Cili, kdyz mam jednu vetu v
>MasterData a nekolik vet v DetailData tak to spocita nesmysl.
>Zakopany pes je ve vlastnosti QRExpr.Master, ktera ukazuje odkud a kdy se
ma
>scitat.
>
>Asi to jde spocitat v udalosti OnPrint, ale pripada mi to takove trosku
>"pres ruku". Pripadne jestli na to jit pres QR User Defined Functions, ale
s
>tim nemam zadne zkusenosti.
>
>Dik za radu.
>
>"Mire�ek" Evj�k
>evjak(zv)atlas(tec)cz
>
>
>

Ladeni ISAPI

[*] Vaclav Muchna <apscomp(zv)seznam(tec)cz> - 27.12.1999 16:22:29

Ahoj fsichni,

je to mozna 14 dni, co jsem do konference psal, ze pro rozfungovani debugovani ISAPI knihoven pod WinNT je potreba mj. zapnout v politikach uzivatele neco jako "Debug Aplications". Omlouvam se za toto politovani hodne nedopatreni, ktere se nasemu ustavu stava maximalne jenou za 10 let.
Toto pravo ma administrator hned po instalaci WinNt.
To pravo, ktere je potreba nastavit se nazyva "Act as part of operating system", cili neco jako vystupovat jako cast operacniho systemu.

"Y"dravi

Vasek Muchna

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


QR Master Detail

[*] Pavel Bocek <xbocekp(zv)cs.felk.cvut(tec)cz> - 27.12.1999 16:31:35


> Ahoj,
>
> potreboval bych poradit s timto "trivialnim" problemem:
>
> Mam klasickou sestavu Master-Detail v QReport 3.0. Je mozne nejakym zpusobem
> vytisknout rozdil souctu pole z Master a souctu pole z Detail.
>
> Napr.:
>
> SUM(MasterData.Ks) - SUM(DetailData.Ks)
>
> Problem je ze SUM se vyhodnocuje na kazde vete. Cili, kdyz mam jednu vetu v
> MasterData a nekolik vet v DetailData tak to spocita nesmysl.
> Zakopany pes je ve vlastnosti QRExpr.Master, ktera ukazuje odkud a kdy se ma
> scitat.

A co takhle vytvorit v MasterData Calculated field, ve kterem by byl soucet
pole z Detail?

Bye, Pavel


Zmena FieldSize

[*] Kriz Pavel, TDS <kriz.tds(zv)ms.easynet(tec)cz> - 27.12.1999 17:14:28

Zdravim,

nevite nekdo, jak lze elegantne zmenit velikost nejakeho (znakoveho nebo
ciselneho) pole v databazi DBF?
Je na to prikaz v Local SQL?

Dekuji za kazdou radu

Pavel Kriz


P.F. '00

Pointer?

[*] Petr Reichl <reichl(zv)atlas(tec)cz> - 27.12.1999 20:57:15

Mam (nejspise zacatecnicky) dotaz ohledne pointeru. Zajimalo by me co jsou to pointery a k cemu se pouzivaji. Programuji v Delphi asi rok a jeste jsem je primo nepouzil (mozne neprimo, ale nevim o tom).

Dekuji za vysvetleni.

Preji prijemny den.
--
Petr Reichl
reichl(zv)centrum(tec)cz


Table a filter

[*] Petr Reichl <reichl(zv)atlas(tec)cz> - 27.12.1999 21:00:31

Pouzivam Filtr u Table:

Table1.Filter:='Kod='1''';
Table1.Filtered:=True;

a obcas se mi stane, ze kdyz vymenim tabulku v Table a znovu pouziji filtr (s jinym kriteriem - Table1.Filter:='Jmeno='Petr''';) tak me to hlasi, ze nenaleza Kod, ale ten uz nehledam. Muzete mi prosim poradit?

--
Delphi 4.0 Professional SP3
BDE 5.10
--

Preji prijemny den.
--
Petr Reichl
reichl(zv)centrum(tec)cz


Jak tedy lepe s SQL ? was trideni was: D5 - ano ci

[*] Jaro <jaro(zv)sinea(tec)cz> - 27.12.1999 12:48:02 -0800

> D5 prof., Interbase 5.6.

No vyborne. Pokud tedy nepotrebuje psat vicevrstvou technologii (pro 13
klientu zrejme ne), pak doporucuji pouzit novych komponent pro primy pristup
IB. Tyto komponenty davaji vice moznosti nez BDE, umoznuji mnohem
efektivneji ridit transakce a dovoluji podstatne vice snizit nepotrebnou
nebo nadbytecnou komunikaci mezi serverem a klientem, viz jeden muj drivejsi
prispevek k trideni na serveru nebo klientovi. Dale je tu vyborny objekt
TIBDataset ktery umoznuje v jednom objektu napsat vlastni prikazy pro
Insert, Update, Delete, Select i Refresch. O tom se BDE muze jen zdat,
stejne tak o moznosti vytvorit libovolny pocet transakcnich skupin.
Pokud ses naucil psat ulozene procedury, je to i tady efektivni reseni.
Jenom te trochu mozna potrapi parametry. Ty se v D5 daji lepe ovlivnit (maji
vice vlastnosti), ale nektere vychozi hodnoty asi nejsou stastne nastaveny a
tak pokud si nevyzkousis vhodne varianty pro jednotlive datove typy, pak
budes mit problem s ukladanim napr. NULL hodnot a pod. Da se to ale snadno
nastavit.
>
> Podnikovy system, momentalne asi 40 tabulek, cca 5-6 tabulek ma 20-60
tisic
> radku. V siti je 13 klientu, vetsinou je aktivnich v jeden okamzik tak
polovina.
> System jsme 3 roky uspesne pouzivali nad paradoxem (1-2 chybicky mesicne
>se daly zvladnout).

To je opravdu dobre. Ja s tim mel v siti mnohem horsi zkusenosti. Zalezi na
tom, jak
velky vliv maji ty drobne chybicky na datovou integritu. Ta se v paradoxu
dala
zajistit jen castecne.

> Rychlost a spolehlivost programu. Casu mam dost, neni to komercni produkt,
> ale pouze aplikace pro nase potreby.
To jsi stastny clovek.

> Myslim, ze jsem C/S docela pochopil, stejne jako SQL, na skoleni
> v Laznich Belohrad (Interbase na strane serveru) jsem byl pred mesicem.
> Buhuzel mi trosku chybi ta vazba na Delphi. Libi se mi jak Interbase umi
> zit vlastnim zivotem a spousta veci se da napsat primo nad ni, ale jak
> tohle fungovani prenest do Delphi ? Treba Generator + Triger misto
> autoinkrementu je perfektni, ale kdyz Delphi tu hodnotu nevidi
> tak mi to je nanic.

Jsou pripady, kdy id znat nepotrebujes. Id by melo slouzit zejmena pro
vnitrni potreby databaze, zejmena pro zajisteni datove integrity. Z
analytickeho pohledu projektu neboli z pohledu klienta by to pole melo byt
nepotrebne. Pokud analytik vyzaduje poradove cislo, pak je lepsi zavest
jeste jednu polozku. Pak bude pripadu, kdy musis znat id na klientovi, co
nejmene. Nekdy se tomu ovsem lze vyhnout jen obtizne. Napriklad pri tvorbe
master-detail tabulek. Pokud bys to delal pres pomocne tabulky, ktere si
zaktualizuje ulozena procedura, pak znat id take nepotrebujes. Podstatne
pohodlnejsi zpusob je, vyresit to pomoci pomerne silnych objektu TIB...
Hodnotu Id lze zjistit napr. zavolanim generatoru pomoci ulozene procedury
namisto triggeru.
>
> Ja moc nevim, proc je treba TIBTable spatny, vzdy interne se to
> prece musi implementovat jako SQL prikaz taky.

Nevim, kdo rika, ze TIBTable je spatny. Problem je prave v te interni
implementaci na SQL. Ty jako programator to neovlivnis. Aby to fungovalo,
musi to byt vytvoreno obecne pomoci nejake logiky. A prave ta logika nebude
optimalni pro vsechny pripady. U mensich tabulek je to zrejme jedno, ale u
vetsich si radeji zrejme napises vlastni optimalizovanou podminku. TTable
obecne otevira celou databazi bez ohledu na to jak je obrovska. Nejaka
logika zajistuje buffer-ovani (cache nebo at si tomu kdo chce rika jak chce)
a nedovoli ti psat podminky pro segregaci dat podle vlastnich potreb.
Segregaci myslim i vyber sloupcu. Ona takova jedna blob polozka s ulozenym
obrazkem nebo dokumentem napsanem v DOC zabere nekdy vice mista nez tisice
radku jine tabulky. Je proto nemalo pripadu, kdy uplatneni TTable je
naprosto nevhodne.

> Jak pises v jinem mailu pouziti DBEdit komponent neni spatne,
> nekteri lide v konferenci (Zbysek, Pavel C.) to vsak nedoporucuji.
> Nevim proc, je ta prace s tim spojena vyvazena vetsi kontrolou, stabilitou
> .. ?
To nevim. Ja pres DB zobrazuji i vysledky napr. Sum, Count a pod. Mam tak
online aktualizaci a nemusim porad nekde prirazovat nejake nove hodnoty.
Nemam s tim zadne sebemensi problemy. Ba naopak. Pokud je neco udelano
jednoduse, pak je mensi pravdepodobnost chyb a funguje to spolehliveji.
>
> > No jednou se zacit musi. Mnoho zdaru.
> > O nejaky priklad muzes napsat primo na muj e-mail jaro(zv)sinea(tec)cz
> > Jaro
>
> Priklad by mi skutecne bodnul. Nebo alespon blizsi popis techniky jak
> to delat jinak.

Poslu ti nejaky priklad, jen co dam dohromady par obvyklych situaci

>
> Diky Pavel
>
> pavel(zv)talema(tec)cz
>
>
Hezke svatky Jaro


Jak tedy lepe s SQL ?

[*] Jaro <jaro(zv)sinea(tec)cz> - 27.12.1999 14:33:00 -0800

> Mno, tohle je dobre leda pro nejakou predvadecku. Ale delat takto
> program pro zakazniky mi prijde silne nevhodne. Pracovat takto
> primo nad ostrymi daty povazuji za nebezpecne. TQuery stejne
> sestavuje INSERT, nicmene povazuji za lepsi sestavit ho sam,
> pripadne i pro takovy pripad pouzit ulozenou proceduru. Krome
> toho DBEdit (& spol.) vyzaduje otevreny a pripojeny dataset, coz
> mi take nejprijde jako 2x vhodne, az na nejake vyjimky.

Take pouzivam ulozene procedury, kde je to vhodne, ale jestli ho zajima
jednoducha editace jednoho zaznamu, tak proc ne? Proc by to melo byt dobre
jen pro predvadecky. Pokud to funguje, tak zadny problem nevidim. Samozrejme
predvadeci prikladky zpravidla obvykle neberou v uvahu velke objemy dat, ale
tohle asi nebyl ten pripad. Ja netvrdim, ze je to nejlepsi reseni, ale psalo
se o tom, ze pouziti DB objektu je komplikovanejsi nebo nevhodne ... a to
jiste neni.
Jaro

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

Dane OF

[*] Jaro <jaro(zv)sinea(tec)cz> - 27.12.1999 14:47:02 -0800

Nechci rozsirovat polemiku kolem tohoto OT. Protoze se vsak mnoho vyvojaru
autorskym zakonem ridi, rad bych upozornil, ze v Cesku toto urcite neplati.
Sl danovy zakon neznam, tak se k tomu nebudu vyjadrovat. Danovy zaklad se
tady
pocita z uhrnu vsech prijmu. V pripade prijmu dle autorskeho zakona lze u
nas
odecist 30% pausalnich nakladu. Je treba prijem zahrnout do zdravotniho
pojisteni
a pouze v pripade jednorazove odmeny je mozne uplatnit vyjimku ze socialniho
pojisteni
a zde neplatit nic.
Jaro

> Ak to dostala na zaklde autorskej zmluvy (za dusevnu , literarnu cinnost)
> tak treba platit 10 percent ak sa nemili ako sobitna sadzba dane.
> Ak to dostala zo zamestnania ( tam bola zamestnana) tak to treba iba
bezne
> danovat. Do 10 000 Sk netraba. Inak podla danoveho zakonu. myslim do 60
> 000 15 percent - je mozne odratat nezdanitelne polozky. Pozri zakon o
> daniach z prijmov zo zavislej cinnosti alebo vsetko ti povedia na danovom
> urade.
>
> TUNGLI J�nos
> EMail: jan.tungli(zv)seznam(tec)cz
> My Home Page: http://free.netlap.hu/4321/
> or: http://freeweb.coco(tec)cz/tungli/
>
> -----P�vodn� zpr�va-----
> Od: Jirka <jnagy(zv)nh-trans(tec)cz>
> Komu: delphi-l(zv)fwd(tec)cz <delphi-l(zv)fwd(tec)cz>
> Datum: 27. december 1999 10:42
> P�edm�t: OT: Dane
>
>
> >Omlouvam se za OT, ale mozna nekdo z Vas mi muze poradit s problemem -
> >prosim vsak na soukromy mail (jnagy(zv)nh-trans(tec)cz)!!!
> >
> >Manzelka je na (uz neplacene) materske dovolene, bez zadnych prijmu.
> >Ted naprosto necekane dostala od byvaleho zamestnavatele nejake penize
> >jako autorsky honorar za stare programy, co pro neho nekdy pred casem
> >delala a jemu se je povedlo jeste nekomu prodat. No a ted je ten
> >problem: jak na dane (to asi neni az takovy problem) a ruzne pojistne
> >z tech penez, kam vsude je to treba nahlasit, atd. Nevite nahodou
> >nekdo?
> >
> >Jirka
> >
> >PS.: Vim, ze bych se mohl zeptat danoveho poradce, ale pri visi te
> >odmeny (cca. 10000 Kc) bychom se ocitli malem v minusu ((:-(().
> >
> >
>

THTML & PF2000

[*] Jaro <jaro(zv)sinea(tec)cz> - 27.12.1999 22:02:57 -0800

> Problem ovsem nastane, pokud takovou aplikaci spustis na stroji, kde neni
> Internet Explorer nainstalovan (jsou takovi mezi nami;-)

Problem ovsem nastane take v pripade, kdyz takovou aplikaci spustis na
stroji, kde neni Windows (jsou takovi mezi nami;-) :)

Pratele ... a kdyby vam 1.1.2000 prestala fungovat konference Delphi,
Internet nebo pocitac vubec, tak nezoufejte. Programatoru, kteri se ve
zdravi (zejmena dusevnim) doziji tisicileti neni z historickeho hlediska
zase tak moc. Urcite jsme prvni a mozna take posledni. Tak si toho vazte.

Mnoho uspechu a cistou mysl preje Jaro

Problem s ADO a ulozenou procedurou

[*] Matula M <asexrm(zv)telecom(tec)cz> - 28.12.1999 08:22:16

----- P�vodn� zpr�va -----
Mam na SQL serveru proceduru v tomto tvaru
CREATE PROCEDURE TEST AS
CREATE TABLE #pom ( cislo money )
INSERT #pom VALUES ( 105 )
SELECT * FROM #pom
DROP TABLE #pom

Kdyz tuto proceduru spustim v ISQL nebo v Delphi pres BDE, jede to v
poradku.

Pokud to spustim v Delphi pres ADOStoredProc, vyhodi mi to hlasku:
The operation requested by the application is not allowed if the object is
closed

Zkousel jsem experimentovat s nastavenim CursorLocation, CursorType,
LockType
ale porad to rve.

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

Problem je v tom, ze tato procedura vraci dve odpovedi = dva recordsety. Na
druhy recordset prejdes metodou NextRecordset.

1.prikaz INSERT - (1 row(s) affected)
2.prikaz SELECT - cislo 105.0000

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

Me by spise zajimalo, jestli se da recordset vratit pres parametr ulozene
procedury. Podle dokumentace by to melo jit. Me se to nepodarilo.

Mirek


Jak tedy lepe s SQL ?

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 28.12.1999 09:06:10

Jaro wrote:

> > Mno, tohle je dobre leda pro nejakou predvadecku. Ale delat takto
> > program pro zakazniky mi prijde silne nevhodne. Pracovat takto primo
> > nad ostrymi daty povazuji za nebezpecne. TQuery stejne sestavuje
> > INSERT, nicmene povazuji za lepsi sestavit ho sam, pripadne i pro
> > takovy pripad pouzit ulozenou proceduru. Krome toho DBEdit (& spol.)
> > vyzaduje otevreny a pripojeny dataset, coz mi take nejprijde jako 2x
> > vhodne, az na nejake vyjimky.
>
> Take pouzivam ulozene procedury, kde je to vhodne, ale jestli ho
> zajima jednoducha editace jednoho zaznamu, tak proc ne? Proc by to
> melo byt dobre jen pro predvadecky. Pokud to funguje, tak zadny
> problem nevidim. Samozrejme predvadeci prikladky zpravidla obvykle
> neberou v uvahu velke objemy dat, ale tohle asi nebyl ten pripad. Ja
> netvrdim, ze je to nejlepsi reseni, ale psalo se o tom, ze pouziti DB
> objektu je komplikovanejsi nebo nevhodne ... a to jiste neni. Jaro

Puvodne chtel data jen vycist a zobrazit. Pokud bude listovat v
zaznamech, pak je tato cesta skutecne nejjednodussi (byt je
mozne zvazit i pouziti DBLabel). Ale ty jsi mu zaroven s tim
"doporucoval", ze je takto mozno data menit, a na tohle jsem
reagoval. S DBEditem (& spol.) bych pracoval leda v pripade
jednouzivatelske aplikace, ale pri sitovem provozu bych se tomu
obloukem vyhnul (s vyjimkami popsanymi v jine debate).


S pozdravem

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


Table a filter

[*] Pavel ZIDEK <kopr(zv)kopr(tec)cz> - 28.12.1999 09:54:26

Nejprve udelej
Table1.Filtered:=false;
potom
Table1.Filter:='Jmeno='Petr'''
Table1.Filtered:=true;
----- Original Message -----
From: Petr Reichl
To: ListServ - Delphi
Sent: Monday, December 27, 1999 9:00 PM
Subject: Table a filter


Pouzivam Filtr u Table:

Table1.Filter:='Kod='1''';
Table1.Filtered:=True;

a obcas se mi stane, ze kdyz vymenim tabulku v Table a znovu pouziji filtr (s jinym kriteriem - Table1.Filter:='Jmeno='Petr''';) tak me to hlasi, ze nenaleza Kod, ale ten uz nehledam. Muzete mi prosim poradit?

--
Delphi 4.0 Professional SP3
BDE 5.10
--

Preji prijemny den.
--
Petr Reichl
reichl(zv)centrum(tec)cz


neco o Image II

[*] Martin Pe�ek <pesek.martin(zv)mymail(tec)cz> - 28.12.1999 11:03:02

Zdravim !!!

>Pokud by byl potreba nejaky cyklus, muselo by se na ne jit pres
>Controls nebo Components:
> for i := 0 to ComponentCount - 1 do
> if Components[i] is TImage then
> with Components[i] as TImage do

Tohle reseni je vcelku dobre, ale ja mam na formulari neco pres 400 a melo
by jich bejt jeste vic a pri spusteni toho programu mi to zpusobi zatuhnuti
Delphinu :( Zkousel jsem to na dva Image a tam to slo v pohode. A pak bych
se chtel jeste zeptat, kdyz mam tolik Image, jak mam udelat, kdyz si
uzivatel vybere nejakou texturu a klikne na jeden z tech Image, tak aby se
tam objevila ta vybrana textura. Tohle vcelku umim, ale potreboval bych to
udelat jenom jednou procedurou a tem zbyvajicim bych priradil do eventu tu
proceduru. Nevite nekdo jak na to ? Predem dik a cau Martin.

E-Mail:
pesek.martin(zv)mymail(tec)cz

Jak tedy lepe s SQL ?

[*] Pavel Medek <Pavel.Medek(zv)talema(tec)cz> - 28.12.1999 11:20:29

----- Original Message -----
From: Zbysek Hlinka <zhlinka(zv)login(tec)cz>

> Mno, tohle je dobre leda pro nejakou predvadecku. Ale delat takto
> program pro zakazniky mi prijde silne nevhodne. Pracovat takto
> primo nad ostrymi daty povazuji za nebezpecne. TQuery stejne
> sestavuje INSERT, nicmene povazuji za lepsi sestavit ho sam,
> pripadne i pro takovy pripad pouzit ulozenou proceduru. Krome
> toho DBEdit (& spol.) vyzaduje otevreny a pripojeny dataset, coz
> mi take nejprijde jako 2x vhodne, az na nejake vyjimky.

Jake jsou ty vyjimky. Ja vim, ze se o tomto casto diskutuje,
ale nevim jestli tyto zavery nejsou vhodne pro velke "skutecne
sitove" projekty. Pokud vim, ze do jedne tabulky se bude
zapisovat soucasne jen velmi zridka (cteni je neco jineho - tam
je skutecne sitovy provoz) plati take tyto doporuceni ?> Komponenty odvozene od TDataSet jsou typove neprevoditelne,
> tedy pokud chci data zpracovat pod jinym typem, nez se mi vrati
> pres komponenty, mam obvykle smulu - tedy, pokud je napriklad
> pole v databazi varchar, ale ja z nejakych duvodu tam stejne mam
> cislo a chci ho u klienta jako cislo zpracovat, pak nemohu rict
> komponentam, aby mi vracely pole jako cislo ale natvrdo mi vnucuji
> retezec.

Chapu, ze takove pripady mohou nastat, ale ma smysl s tim pocitat
pokazde, nejsou toto spis doporuceni pro vicevrstve aplikace, kde
je potreba to resit skutecne obecne ?


Jak vim, ze rici "do 5-ti uzivatelu staci pouzivat TTable" nejde, zalezi
vzdy na konkretni aplikaci a nasazeni, ale extrem na druhou stranu
t.j. delat vse tak joko by porad zapisovalo 20 lidi najednou, taky asi nema
cenu.


Diky za Vase nazory


Pavel M.

ListView - skryte sloupce

[*] Petr Reichl <reichl(zv)atlas(tec)cz> - 28.12.1999 11:25:37

Zajimalo by me jest-li lze nejak skryt sloupec v ListView, aby ho uzivatel
nevidel a nemohl s nim pracovat (nemyslim Width:=0).

Mam v ListView zaznamy a v prvnim sloupci mam ID zaznamu, podle ktereho ten
zaznam bezpecne identifikuji. A nechci, aby uzivatel tento zaznam videl.

Za kazdou radu dekuji.

--
Delphi 4 Professional SP3
Windows 98
--

Preji prijemny den,

Petr Reichl
--
E-mail: reichl(zv)centrum(tec)cz
PGP: support
ICQ: 56430979


Desetinna carka

[*] Petr Reichl <reichl(zv)atlas(tec)cz> - 28.12.1999 11:29:34

Muzete mi poradi jak mam pocitat s cislem s desetinnou carkou?

Mam nasledujici problem. V ListView dostanu jako text cislo s desetinnou
carkou a ja potrebuji toto cislo vynasobit celym cislem a vysledek opet
zobrazit jako text v Edit.

var rSazba, rVysledek : Real48;
intPocet, intCode : Integer;
begin
try
intPocet := StrToInt(txtPocetMJ.Text);
Val(txtSazba.Text, rSazba, intCode);

rVysledek := intPocet * rSazba;

txtCastka.Text := FloatToStr(rVysledek);
except
on EConvertError do txtCastka.Text := '0';
end;
end;

... dekuji za kazdou radu.

Preji prijemny den,

Petr Reichl
--
E-mail: reichl(zv)centrum(tec)cz
PGP: support
ICQ: 56430979

Pointer?

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 28.12.1999 11:39:29

Petr Reichl wrote:

> Mam (nejspise zacatecnicky) dotaz ohledne pointeru. Zajimalo by me co
> jsou to pointery a k cemu se pouzivaji. Programuji v Delphi asi rok a
> jeste jsem je primo nepouzil (mozne neprimo, ale nevim o tom).

Pointer je ukazatel na nejaky usek v pameti. Je to 4bajtovy usek v
pameti, ktery obsahuje adresu na jine misto v pameti, kde lezi
pozadovana data.
Priklad:

var
i:integer;
pi:^integer;
...
i:=7;

"i" je zrejme, pi je ukazatel na integer. i zabira 4 bajty kdesi v
pameti, pi take zabira nekde 4 bajty. Pokud udelas toto:
pi:=(zv)i,
ulozis do pi adresu, kde lezi i. Pokud dale volas pi, ziskas adresu
na i, pokud volas pi^, ziskas hodnotu ulozenou na te adrese, v
tomto pripade cislo 7.

Pointery pouzivas neprimo napriklad ve volani vsech instanci trid
(tedy objektu), praci s dlouhym stringem a podobne.


S pozdravem

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


konec windows a spustenej program

[*] Martin Pe�ek <pesek.martin(zv)mymail(tec)cz> - 28.12.1999 11:46:08

Zdravim !!!
Mam program, kterej si pomoci jedny komponenty nechavam dat do SysTraye (TaskBarIcon) a chtel bych se zeptat, jestli kdyz vypinam windows a program nevypinam rucne, tak jestli nemuze dojit k pripadnemu poskozeni toho exe souboru. Ukoncej ho windowsy normalne ? Predem dik a cau Martin.

/======================\
/ pesek.martin(zv)mymail(tec)cz \
/-------------------------------------------------\
<---<([ Martin Pesek ] [ Gamemaker ])>--->
\-------------------------------------------------/
\ www.mujweb(tec)cz/www/gusman /
\======================/

Pack Table

[*] daniel.hrna(zv)vm.sme(tec)cz - 28.12.1999 12:02:24

Nevim kde mam hledat neco jako: prosim nakopnete me spravnym smerem ...

Mam Table a v ni zaznamy, samozrejme, ze tam jsou i zaznamy smazane. Jde mi
o to je vymazat z databaze natrvalo.

Neco jako ve FoxPro PACK ..


Mam D5 Pro.

Jak tedy lepe s SQL ?

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 28.12.1999 12:15:32

Haj hou!

From: Pavel Medek <Pavel.Medek(zv)talema(tec)cz>
> Chapu, ze takove pripady mohou nastat, ale ma smysl s tim pocitat
> pokazde, nejsou toto spis doporuceni pro vicevrstve aplikace, kde
> je potreba to resit skutecne obecne ?
>
> Jak vim, ze rici "do 5-ti uzivatelu staci pouzivat TTable" nejde, zalezi
> vzdy na konkretni aplikaci a nasazeni, ale extrem na druhou stranu
> t.j. delat vse tak joko by porad zapisovalo 20 lidi najednou, taky asi
nema
> cenu.

Ono jde v privni rade o konzistenci. Pouzit v jedne aplikaci mnoho ruznych
postupu neni uplne to prave orechove. Idealni by bylo mit jedno univerzalni
a zaroven optimalni reseni / postup a ten pouzivat. Bohuzel zivot je mrcha a
tak je vzdy nutne najit nejaky kompromis a mit vicero optimalnich reseni pro
ruzne pripady. Nicmene snaha je mit pouze to jedno (dve, tri :o) optimalni
reseni. Koncepce datasetu je bohuzel pro SQL databaze naprosto nevhodna (ale
presto se da mnohdy s uspechem pouzit).

Hodne zdaru

Pavel Cisar <pcisar(zv)atlas(tec)cz>
Delphree.org CEO
http://delphree.clexpert.com
Nexus project coordinator
http://delphree.clexpert.com/pages/projects/nexus/default.htm


neco o Image + setreni systemovych zdroju

[*] Martin Pe�ek <pesek.martin(zv)mymail(tec)cz> - 28.12.1999 13:02:36

Zdravim !!!
Diiikyyy Petre !!! Tohle vazne zabralo. Muj kod jsem oriznul na minimum a
trosku jsem ho i predelal, aby se nevytvareli zbytecne ty handlery. Fakci to
perfektne !!! Nezamrzavaj mi uz ani ty Delphi. Mam vsak jeste jeden dotaz.
Jde nejak priradit tem Image za behu programu tu stejnou udalost ? Mam totiz
na formulari asi 484 Image a tem bych potreboval priradit jednu stejnou
udalost (pocet Image pravdepodobne stoupne), ale aby tu dulasot meli jenom
obrazky Image1 az Image484 (pripradne vetsi cislo). Ostatni Image, ktery se
jmenou jinak (narp.: TSImage1 ci HDImage1), meli tu svoji, kterou udelam
jeste v Delphi. Jde to nejak ? Predem dik a cau Martin.

E-Mail:
pesek.martin(zv)mymail(tec)cz


konec windows a spustenej program

[*] Pavol Kaka�ka <paka(zv)aktis(tec)cz> - 28.12.1999 13:11:59

To ako Tvoj program ukoncia Wokna mas v rukach Ty. Wokna pri poziadavku na ukoncenie posielaju vsetkym aplikaciam message WM QUERYENDSESSION (+ WM ENDSESSION - vysielana pri ukonceni Windows). Podla toho aky vysledok vrati app sa Windows zachovaju (bud sa vypnu, alebo nie). Napisat to mozes do objektu napr. takto:
private
procedure WMKoniecWindows(var Msg: TMessage); message WM ENDSESSION;
procedure WMKoniecWin(var Msg: TMessage); message WM QUERYENDSESSION; {dotaz}
...

a pootom tam nieco urobit: (napriklad zavolat udalosti co robis rucne pri ukoncovani aplikacie)

procedure TKStowageF.WMKoniecWin(var Msg: TMessage);
begin
Msg.Result := 1; // Moze sa vypnut
end;

procedure TfrmKWatch.WMKoniecWindows(var Msg: TMessage); // Toto sa vykona pri ukonci Windows
var
D: TKsGuardian;
begin
if anDetektiv then
begin
D := TKsGuardian.Create;
D.Udalost(udEndSession);
D.Free;
end;
...
end;

Ak urobis toto nemalo by dochadzat k nejaky poskodeniam. (Ale v oblasti PC clovek nikdy nevie ;-D} Ale ani ak to neurobis, len si musis uvedomit, ze sa Ti nemusi vykonat vssetko co chces!

Pavol Kaka�ka
paka(zv)aktis(tec)cz

Zdravim !!!
Mam program, kterej si pomoci jedny komponenty nechavam dat do SysTraye (TaskBarIcon) a chtel bych se zeptat, jestli kdyz vypinam windows a program nevypinam rucne, tak jestli nemuze dojit k pripadnemu poskozeni toho exe souboru. Ukoncej ho windowsy normalne ? Predem dik a cau Martin.

Jak tedy lepe s SQL ?

[*] Tomas Kouba <tomas(zv)neo(tec)cz> - 28.12.1999 13:24:48

Nekompromisni souhlas s p. Hlinkou :-)

------------------------------
Tomas Kouba
mailto:tomas(zv)neo(tec)cz


> > > Mno, tohle je dobre leda pro nejakou predvadecku. Ale delat takto
> > > program pro zakazniky mi prijde silne nevhodne. Pracovat
> takto primo
> > > nad ostrymi daty povazuji za nebezpecne. TQuery stejne sestavuje
> > > INSERT, nicmene povazuji za lepsi sestavit ho sam, pripadne i pro
> > > takovy pripad pouzit ulozenou proceduru. Krome toho
> DBEdit (& spol.)
> > > vyzaduje otevreny a pripojeny dataset, coz mi take
> nejprijde jako 2x
> > > vhodne, az na nejake vyjimky.
> >
> > Take pouzivam ulozene procedury, kde je to vhodne, ale jestli ho
> > zajima jednoducha editace jednoho zaznamu, tak proc ne? Proc by to
> > melo byt dobre jen pro predvadecky. Pokud to funguje, tak zadny
> > problem nevidim. Samozrejme predvadeci prikladky zpravidla obvykle
> > neberou v uvahu velke objemy dat, ale tohle asi nebyl ten pripad. Ja
> > netvrdim, ze je to nejlepsi reseni, ale psalo se o tom, ze
> pouziti DB
> > objektu je komplikovanejsi nebo nevhodne ... a to jiste neni. Jaro
>
> Puvodne chtel data jen vycist a zobrazit. Pokud bude listovat v
> zaznamech, pak je tato cesta skutecne nejjednodussi (byt je
> mozne zvazit i pouziti DBLabel). Ale ty jsi mu zaroven s tim
> "doporucoval", ze je takto mozno data menit, a na tohle jsem
> reagoval. S DBEditem (& spol.) bych pracoval leda v pripade
> jednouzivatelske aplikace, ale pri sitovem provozu bych se tomu
> obloukem vyhnul (s vyjimkami popsanymi v jine debate).
>
>
> S pozdravem
>
> Zbysek Hlinka
> E-mail: zhlinka(zv)login(tec)cz, localizator(zv)localizator.com
> Phones: 02/795 29 56; GSM: 0603 551 282
> Krystofova 1016, 149 00 Praha 4
> CZ
>

neco o Image II

[*] Vaclav Krmela <krmela(zv)pecomp(tec)cz> - 28.12.1999 13:34:12

From: Martin Pe�ek
>
> >Pokud by byl potreba nejaky cyklus, muselo by se na ne jit pres
> >Controls nebo Components:
> > for i := 0 to ComponentCount - 1 do
> > if Components[i] is TImage then
> > with Components[i] as TImage do
>
> Tohle reseni je vcelku dobre, ale ja mam na formulari neco pres 400 a melo
> by jich bejt jeste vic a pri spusteni toho programu mi to zpusobi
zatuhnuti
> Delphinu :( Zkousel jsem to na dva Image a tam to slo v pohode.

Pri tak velkem poctu bych uvazoval o dynamicke tvorbe.
Nebo obrazku buce vzdy stejny nemenny pocet?
Zatuhnuti lze predejit pouze spustenim v samostatnem threadu.
Vlozeni Application.ProcessMessages do cyklu by asi v tomto
pripade k pozadovanemu cili nevedlo.

> A pak bych
> se chtel jeste zeptat, kdyz mam tolik Image, jak mam udelat, kdyz si
> uzivatel vybere nejakou texturu a klikne na jeden z tech Image, tak aby se
> tam objevila ta vybrana textura. Tohle vcelku umim, ale potreboval bych to
> udelat jenom jednou procedurou a tem zbyvajicim bych priradil do eventu tu
> proceduru. Nevite nekdo jak na to ?

Uz se to tu psalo. Vsechny TImage bude obsluhovat spolecna procedura

procedure TForm1.Image1Click(Sender: TObject);
begin
(Sender as TImage).Picture.Assign(ImageTextura.Picture);
nebo
(Sender as TImage).Picture.LoadFromFile('Textura.bmp');
end;

Vaclav Krmela


Mouse v menu

[*] sup(zv)svitap(tec)cz - 28.12.1999 13:42:58

Dobry den, jak zjistim pozici mysi pri kliknuti v menu (pro zjisteni
soradnic por spustenu popup menu)?

D3Profi

Jaroslav Weiss
odd. informatiky

SVITAP J.H.J. s.r.o.
Kijevska 6-8
SVITAVY
568 02

tel: ++420-461-568 202
fax: ++420-461-568 300
E-mail: sup(zv)svitap(tec)cz
URL: www.svitap(tec)cz
FTP: ftp.svitap(tec)cz


neco o Image + setreni systemovych zdroju

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 28.12.1999 14:13:30

Haj hou!

From: Martin Pe�ek <pesek.martin(zv)mymail(tec)cz>
> Mam totiz
> na formulari asi 484 Image a tem bych potreboval priradit jednu stejnou
> udalost (pocet Image pravdepodobne stoupne), ale aby tu dulasot meli jenom
> obrazky Image1 az Image484 (pripradne vetsi cislo).

Jezkovy voci :o) Na co potrebujes tolik instanci TImage ? Nestalo by za to
pouvazovat o jinem reseni ? Napr. DrawGrid nebo vlastni vykreslovani (treba
s recyklaci jednoho TImage) ?


Hodne zdaru

Pavel Cisar <pcisar(zv)atlas(tec)cz>
Delphree.org CEO
http://delphree.clexpert.com
Nexus project coordinator
http://delphree.clexpert.com/pages/projects/nexus/default.htm


Jak tedy lepe s SQL ?

[*] p. Jirman <jim.design(zv)iol(tec)cz> - 28.12.1999 16:51:56

Viz problem "ADOCommand" v teto konferenci

>A kde se ADOCommand nachazi? Odkud lze ziskat?

From: p. Jirman <jim.design(zv)iol(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, December 21, 1999 9:49 PM
Subject: Re: Jak tedy lepe s SQL ?

Object moving

[*] Filip R��i�ka <filip(zv)mis-net(tec)cz> - 28.12.1999 17:37:03

Dobry den,
potreboval bych poradit, jak mysi pohybovat nejakym objektem (napr.
panelem) po nejakem controlu (napr. formulari), stejne jako je tomu v
designu Delphi. Jak odchytit stav tlacitek mysi ze zpravy WM_MOUSEMOVE?
Nevim, jestli tudy vede cesta k reseni.
Dekuji.
S pozdravem F. Ruzicka.

Jak tedy lepe s SQL ?

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 28.12.1999 17:49:28

Pavel Medek wrote:

> > Mno, tohle je dobre leda pro nejakou predvadecku. Ale delat takto
> > program pro zakazniky mi prijde silne nevhodne. Pracovat takto primo
> > nad ostrymi daty povazuji za nebezpecne. TQuery stejne sestavuje
> > INSERT, nicmene povazuji za lepsi sestavit ho sam, pripadne i pro
> > takovy pripad pouzit ulozenou proceduru. Krome toho DBEdit (& spol.)
> > vyzaduje otevreny a pripojeny dataset, coz mi take nejprijde jako 2x
> > vhodne, az na nejake vyjimky.
>
> Jake jsou ty vyjimky. Ja vim, ze se o tomto casto diskutuje,
> ale nevim jestli tyto zavery nejsou vhodne pro velke "skutecne
> sitove" projekty. Pokud vim, ze do jedne tabulky se bude
> zapisovat soucasne jen velmi zridka (cteni je neco jineho - tam
> je skutecne sitovy provoz) plati take tyto doporuceni ?

Pro pripomenuti, rec je o SQL databazich. Samozrejme zalezi na
cele rade okolnosti. Pokud uz predem vis, ze z povahy veci bude
tabulka mrnava, ze s ni muze pracovat v jednom case vyhradne
jeden clovek, a ze ten nebude dlouho "viset" na jednom editovanem
zaznamu, pak toto pouzit lze. Nicmene, jak psal v jinem majlu
Pavel Cisar, je lepsi omezit pocet metod pristupu na nutne
minimum.

> > Komponenty odvozene od TDataSet jsou typove neprevoditelne,
> > tedy pokud chci data zpracovat pod jinym typem, nez se mi vrati pres
> > komponenty, mam obvykle smulu - tedy, pokud je napriklad pole v
> > databazi varchar, ale ja z nejakych duvodu tam stejne mam cislo a
> > chci ho u klienta jako cislo zpracovat, pak nemohu rict komponentam,
> > aby mi vracely pole jako cislo ale natvrdo mi vnucuji retezec.
>
> Chapu, ze takove pripady mohou nastat, ale ma smysl s tim pocitat
> pokazde, nejsou toto spis doporuceni pro vicevrstve aplikace, kde je
> potreba to resit skutecne obecne ?

Tohle je zrovna dost obecny problem, ktery se ti muze velice
snadno projevit pri pokusu napsat program pro vice databazi.
Nebudu snad radeji michat souborove a SQL databaze, to velice
vrele nedoporucuji, ale i u dvou SQL databazi se muze stat, ze z
kazde vrati jiny datovy typ u tehoz pole. Napriklad, u jedne
databaze pouziju typ integer. Kdyz mam program hotovy, ukaze
se, ze je treba portovat ho na dalsi databazi. Ale nezna typ integer,
ale numeric. Z prvni databaze mas tedy TIntegerField, druha
databaze ti cpe napriklad TFloatField, pricem v obou polich budou
stejne celocislene hodnoty. Pokud bych mohl predem vnutit poli
svuj typ (treba integer), mel bych vystarano. V OLE DB to lze, v
TDataSet ne.

> Jak vim, ze rici "do 5-ti uzivatelu staci pouzivat TTable" nejde,
> zalezi vzdy na konkretni aplikaci a nasazeni, ale extrem na druhou
> stranu t.j. delat vse tak joko by porad zapisovalo 20 lidi najednou,
> taky asi nema cenu.

Jakmile mohou potencialne zapisovat do jedne tabulky dva, uz
bych to nedelal. TTable se pro SQL databaze nehodi vubec (i kdyz
za urcitych vzacnych a obzvlaste priznivych okolnosti i to lze
pouzit :), ani pro sebemensi pocet uzivatelu.


S pozdravem

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


neco o Image + setreni systemovych zdroju

[*] Martin Pe�ek <pesek.martin(zv)mymail(tec)cz> - 28.12.1999 21:13:41

Zdravim !!!
Hmm, delam strategii a a tohle je do editoru, ale stejnej pocet bude i ve
hre. Tem tvym resenim moc nerozumim, zkus to nejak prblizit. Predem dik a
cau Martin.

P.S.: Tech Image tam bude daleko vic ;)

E-Mail:
pesek.martin(zv)mymail(tec)cz

----- Original Message -----
From: Pavel Cisar <pcisar(zv)aktis(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, December 28, 1999 2:13 PM
Subject: Re: neco o Image + setreni systemovych zdroju


> Haj hou!
>
> From: Martin Pe�ek <pesek.martin(zv)mymail(tec)cz>
> > Mam totiz
> > na formulari asi 484 Image a tem bych potreboval priradit jednu stejnou
> > udalost (pocet Image pravdepodobne stoupne), ale aby tu dulasot meli
jenom
> > obrazky Image1 az Image484 (pripradne vetsi cislo).
>
> Jezkovy voci :o) Na co potrebujes tolik instanci TImage ? Nestalo by za to
> pouvazovat o jinem reseni ? Napr. DrawGrid nebo vlastni vykreslovani
(treba
> s recyklaci jednoho TImage) ?
>
> Hodne zdaru
>
> Pavel Cisar <pcisar(zv)atlas(tec)cz>
> Delphree.org CEO
> http://delphree.clexpert.com
> Nexus project coordinator
> http://delphree.clexpert.com/pages/projects/nexus/default.htm
>
>
>

Seznam aplikaci - cas

[*] Jirka Virt <virt(zv)volny(tec)cz> - 28.12.1999 21:50:38

Ahoj,
mrknul by se mi nekdo na problemek.Prochazim procesy ziskam z nich
ProcessID pres OpenProcess zjistim handle procesu, no a kdyz pouziju
GetProcessTimes tak mi to vraci porad False!!


function FileTimeToDateTime(FileTime:TFileTime):TDateTime;
var
lpSystemTime: TSystemTime;
begin
FileTimeToSystemTime(FileTime,lpSystemTime);
Result := SystemTimeToDateTime(lpSystemTime);
end;

procedure Procesy;
var
ProcessHandle,Handl: THandle;
ProcEntry: TProcessEntry32;
NextProc: Boolean;
cas_start,cas_stop,cas_kernel,cas_user:TFiletime;
begin
cas_start.dwLowDateTime:=0;
cas_start.dwHighDateTime:=0;
cas_stop.dwLowDateTime:=0;
cas_stop.dwHighDateTime:=0;
cas_kernel.dwLowDateTime:=0;
cas_kernel.dwHighDateTime:=0;
cas_user.dwLowDateTime:=0;
cas_user.dwHighDateTime:=0;
Form1.Memo1.Lines.Clear;
Handl := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if Handl <> Thandle(-1) then
begin
NextProc := Process32First(Handl,ProcEntry);
while NextProc = True do
begin
ProcessHandle :=
OpenProcess(PROCESS_QUERY_INFORMATION,False,ProcEntry.th32ProcessID);

.... tady mi to porad vraci False...
GetProcessTimes(ProcessHandle,cas_start,cas_stop,cas_kernel,cas_user);

Form1.Memo1.Lines.Add(Timetostr(FileTimeToDateTime(cas_start))+'
'+ProcEntry.szExeFile);
CloseHandle(ProcessHandle);
NextProc := Process32Next(Handl,ProcEntry);
end;
end;
CloseHandle(Handl);
end;
Predem diky

Jirka Virt

email: virt(zv)volny(tec)cz

Jak tedy lepe s SQL ? - master/detail

[*] Jiri Kral <admin(zv)printo(tec)com> - 28.12.1999 21:53:42

mel bych novy subthreadik do tohoto pro mne velmi prinosneho tematu:

Jak co nejlepe, primo SQeLe, vyresit pomoci SQL editaci zaznamu
master/detail, napriklad
veta ZAKAZKA a podrizeno je napr. 3 x n zaznamu v tab. MATERIAL, PRACE,
TERMINY.
Jake ovl. prvky dat userovi aby se pri editaci tohohle nezblaznil ?

(skrinsotek by byl idealni, pokud to nebude poruseni aut. prav.)

velmi by mne potesilo pokracovani diskuse, userfriendlost aplikaci je jiste
take dulezity aspekt programu

Jirka Kral

Zajimavost pri vytizeni procesoru

[*] Jirka Virt <virt(zv)volny(tec)cz> - 28.12.1999 22:01:40


Ahoj,
taky me to mohlo napadnout.
Diky Jirka
Virt

email: virt(zv)volny(tec)cz
> Ahoj,
>
> Nejake komponenty na Windows NT Performance API jsou tady:
>
> http://www.chat.ru/~aldyn/pu_frame.html
>
> Petr Vones, amatersky programator
>
>
>
>

Object moving

[*] Petr.Motlicek(zv)bcbrno(tec)cz - 28.12.1999 22:12:04

> potreboval bych poradit, jak mysi pohybovat nejakym objektem (napr.
> panelem) po nejakem controlu (napr. formulari), stejne jako je tomu v
> designu Delphi.

Ahoj,

v z�sade m�s tri moznosti (ps�no pro D3):

1)
vyuzit udalosti typ On...Drag.... s nastavenim
TConrol.DragMode := dmAutomatic;

2)
vyuzit udalosti typ On...Drag.... s nastavenim
TConrol.DragMode := dmManual;

3)
udelat si vlastni implementaci "drag and drop"


Add 1)
Kdyz uzivatel "zacne tahat" za TControl, tak se
ti odstartuje udalost TControl.OnStartDrag. Tam
si muzes vytvorit nejakeho sveho potomka
TDragObject ci TDragControl, ktery ponese
pozadovane informace. (podivej se na taky
TDragObject.Finished;virtual)

Kdyz uzivatel "taha", funguje udalost
TamKdeLezuKurzoremControl.OnDragOver; (Az
ti nekdy neco nepujde, co se tyce drag and
drop operace - jako mne, vzpomen si na
parametr State: TDragState).

Kdyz uzivatel "pousti", funguje udalost
TamKdePoustiControl.OnDragDrop; a ( ? ted
nevim poradi)
TDragObject provede svoji Finished.

Nikdy mi nefungovala udalost
TControl.EndDrag;, takze jakoukoliv indikaci a-la
dragging : boolean;
jsem delal v
TamKdeLezuKurzoremControl.OnDragOver
asi takto:
dragging := State <> dsDragLeave;
Mozna je to proto, ze jsem vzdy vytvarel pouze
TDragObject potomka a ne TDragControl
potomka (??, nebo se musi rucne zavolat
TControl.EndDrag treba ve
TDragObject.Finished ???).

ad 2)
"skoro" se nelisi od 1). Akorat sam musis
rozpoznat, ze uzivatel zacal tahat a volat
TControl.BeginDrag(Hned/za chvili);
No aby se to tahani ukoncilo, tak zase sam
musis zajistit volani TControl.EndDrag(pust
to/nepusto);

Jak rozpoznat zacatek a konec si myslim, ze
je zbytecne popisovat. Napada mne vyuziti bud
Delphi udalosti TOnMouseDown,TOnMouseUp,
TMouseMove....
nebo win zprav
WM_(NC)(R,L,M)BUTTONDOWN,
WM_MOUSEACTIVATE,
WM_(NC)MOUSEMOVE.

ad3)
Ja osobne bych nic noveho nevymyslel, takze
bych mozna toto reseni pouzil pouze pro "velmi
jednoduchy" drag and drop.

>Jak odchytit stav tlacitek mysi ze zpravy
WM_MOUSEMOVE?

procedure WMMouseDown(Message :
TWMMOUSEMOVE);message
WM_MOUSEDOWN;
begin

with Message do begin

f (fwKeys and MK_CONTROL) =
MK_CONTROL then CTRL key is down.;

f (fwKeys and MK_LBUTTON) =
MK_LBUTTON then the left mouse button is
down.

if (fwKeys and MK_MBUTTON) =
MK_MBUTTON then the middle mouse button
is down.

if (fwKeys and MK_RBUTTON) =
MK_RBUTTON then the right mouse button is
down.

if (fwKeys and MK_SHIFT) =
MK_SHIFT Set if the SHIFT key is down.

end;

end;

Pack Table

[*] Petr.Motlicek(zv)bcbrno(tec)cz - 28.12.1999 22:43:52

> Nevim kde mam hledat neco jako: prosim nakopnete me spravnym smerem ...

BDE API help (Bde32.hlp): DbiPackTable

Kopie zaznamu a zaznamu podrizenych tabulek

[*] Ji�� Fait�������?��? - 28.12.1999 23:20:17

Jak co nejcisteji naprogramovat nasledujici akci:

Mam ridici tabulku npr. Hlavicka faktury a jeji podrizenou (nebo vice podrizenych) tabulek napr. Polozky faktury.

Jak zkopirvat aktualni zaznam i s podrizenymy tabulkami.

Ja to urcity zpusobem resim, ale zajimalo by mne jak by to udelal nekdo jiny.

Diky


FontDialog

[*] Straka Josef <kshb(zv)seznam(tec)cz> - 28.12.1999 23:49:26


D4 standard W95 OSR2
mam jeden dotaz ohledne FontDialogu. V ObjectInspectoru je mnoho Option, ale ja bych potreboval neco specialniho.

Potreboval bych schovat CheckButtony na podtrzene pismo a preskrtnute pismo. Ale tak, aby tam zustala moznost zmenit barvu pisma, nejde tedy pouzit FontDialog.Option.

Pote druha vec, jeste bych potreboval schovat "Rez pisma" (tucne, kurziva...), ale aby tam vse ostatni zustalo (velikost).

Idealni by bylo, kdyby slo tyto polozky znepristupnit Enabled.False. Aby tam ta polozky byly, ale nedalo se na ne klepnout.

Vim, ze by slo udelat si vlastni FontDialog, ale ze dvou duvodu bych se priklanel, ke stavajicimu:
1) nastavit/upravit stavajici je rychlejsi
2) uzivatel je zvykly na standardni vizaz FontDialogu

Zacinajici amatersky programator dekuje za kazdou pomoc.
Straka Josef
email: strakaj(zv)hba(tec)czn(tec)cz
www: http://mujweb(tec)cz/www/strakaj/

Spravne zavreni aplikace

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 29.12.1999 02:09:37

From: Va�ek N�vrat <engine(zv)ropacek(tec)cz>
> A ted k problemu: Rok pracuju na jednom programu a uz pekne dlouho mi to vzdycky po
> ukonceni programu (Form1.Close) necha stale dole v taskbaru ikonku s tim programem.
> Kdyz na ni klinu, tak zmizi a vse je v pohode. Dival jsem se do seznamu uloh a hned
> Delphi 4 na Windows 98 Cz

Ahoj,

Tusim ze tohle je chyba Win98 (a Active Desktopu). Zkus to na jinych Windows.

Petr Vones, amatersky programator

Pack Table

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 29.12.1999 02:09:33

From: <daniel.hrna(zv)vm.sme(tec)cz>
> Mam Table a v ni zaznamy, samozrejme, ze tam jsou i zaznamy smazane. Jde mi
> o to je vymazat z databaze natrvalo.
> Neco jako ve FoxPro PACK ..

Ahoj,

Toto lze pomoci BDE API. Priklad najdes v BDE API helpu u funkce DbiPackTable.

Petr Vones, amatersky programator

Seznam aplikaci - cas

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 29.12.1999 02:09:46

From: Jirka Virt <virt(zv)volny(tec)cz>
> mrknul by se mi nekdo na problemek.Prochazim procesy ziskam z nich
> ProcessID pres OpenProcess zjistim handle procesu, no a kdyz pouziju
> GetProcessTimes tak mi to vraci porad False!!

Ahoj,

Podle ukazky to delas pro W9x. Musim te zklamat, API funkce GetProcessTimes a
spol. jsou implementovany pouze v NT (viz Win32 API help, tlacitko QuickInfo)
Pokud chces udelat neco podobneho jako utilita WinTop od Microsoftu, tak by
jsi musel napsat VxD driver pres ktery ziskavaji tento typ informaci.

Co se tyce ToolHelp funkci, tak tady je jednoduchy nastroj, ktery poskytuje
pravdepodobne maximum informaci, ktere lze takto pro Win9x ziskat:

Plna instalace (892k):
http://www.volweb(tec)cz/pvones/download/ToolHelpViewerInstall.zip
Pouze EXE vyzadujici Delphi 5 balicky (45k):
http://www.volweb(tec)cz/pvones/download/ToolHelpViewer_D5Packages.zip
Zdrojaky:
http://www.volweb(tec)cz/pvones/download/PvComponents.zip
http://www.volweb(tec)cz/pvones/download/ToolHelpViewer.zip

Petr Vones, amatersky programator


ListView - skryte sloupce

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 29.12.1999 02:09:43

From: Petr Reichl <reichl(zv)atlas(tec)cz>
> Zajimalo by me jest-li lze nejak skryt sloupec v ListView, aby ho uzivatel
> nevidel a nemohl s nim pracovat (nemyslim Width:=0).
> Mam v ListView zaznamy a v prvnim sloupci mam ID zaznamu, podle ktereho ten
> zaznam bezpecne identifikuji. A nechci, aby uzivatel tento zaznam videl.

Ahoj,

Skryt nejde (alespon o takove vlastnosti nevim), ale mas dve moznosti:

1. Hodnotu ID neukladat jako text do sloupce, ale pouzit TListItem.Data
2. Nepouzivat vubec ukladani dat do TListView. Pokud u neho nastavis v OI
vlastnost OwnerData na True, tak pak uz jen pomoci TListView.Items.Count
specifikujes za behu pocet radek. TListView si bude volat udalost OnData
kdykoli bude potrebovat zobrazit radek s danym indexem a ty v pripravene
TListItem (Item) vyplnis data pro ten dany radek. Tento zpusob je take
daleko efektivnejsi pri velkem poctu radek. Data si pak musis ukladat sam
v nejakem seznamu. Priklad na toto najdes v \Demos\VirtualListview.

Petr Vones, amatersky programator


Ciara ako v Corel Draw

[*] Macko Peter <macko(zv)axa.sk> - 29.12.1999 10:13:16

Ahojte,
viete mi poradit, ako urobit program v Delphi (C++ Builder), s ktorym budem
kreslit ciary, ktore po nakresleni budem moct premiestnovat a natahovat
pomocou mysi? Nieco podobne ako v Corel Draw.

Daujem za rady.

Peter Macko
macko(zv)axa.sk


Insufficient disc space

[*] halam(zv)post(tec)cz - 29.12.1999 10:42:30

Mam problem pri pouziti paradox tabulek na CD. Aplikace samozrejme nic nezapisuje do databaze, jen se snazi cist. Presto mi to haze hlasku Insufficient disc space. Nevite co s tim ?

Diky moc.

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

Telefonicke pripojeni site

[*] Jmisek <jmisekdelphi(zv)seznam(tec)cz> - 29.12.1999 10:49:31

Ahoj

mam jeste doplnujici otazku k tomuhle tematu, jak je mozne
zavesit, a vylistovat pripojeni (bez pouziti rasdial od fpiette)

----- Original Message -----
From: Petr Vones <pvones(zv)mbox.vol(tec)cz>
To: Konference Delphi <delphi-l(zv)fwd(tec)cz>
Sent: Sunday, December 26, 1999 10:26 PM
Subject: Re: Telefonicke pripojeni site


> From: Petr Reichl <reichl(zv)atlas(tec)cz>
> > Muzete mi prosim poradit, jak mam vyvolat dialog Telefonicke pripojeni
site,
> > v pripade, ze je pocitac off-line?
>
> Ahoj,
>
> Napriklad takhle:
>
> uses
> WinInet;
>
> const
> ERROR_USER_DISCONNECTION = 631; // RASERROR.H
>
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> if not InternetAutoDial(0, 0) and (GetLastError <>
ERROR_USER_DISCONNECTION) then
> RaiseLastWin32Error;
> end;
>
> Petr Vones, amatersky programator
>
>
>

Jak tedy lepe s SQL ?

[*] Jaro <jaro(zv)sinea(tec)cz> - 29.12.1999 02:25:36 -0800

Pro pripomenuti, rec je o SQL databazich. Samozrejme zalezi na
cele rade okolnosti. Pokud uz predem vis, ze z povahy veci bude
tabulka mrnava, ze s ni muze pracovat v jednom case vyhradne
jeden clovek, a ze ten nebude dlouho "viset" na jednom editovanem
zaznamu, pak toto pouzit lze. Nicmene, jak psal v jinem majlu
Pavel Cisar, je lepsi omezit pocet metod pristupu na nutne
minimum.
-------
Takto bych to rozhodne nezuzoval! Jestli udelam TQuery s podminkou
pro jediny zaznam, pak je lhostejno, jak velka je tabulka a ani metoda
RequestLive s tim nijak nesouvisi.
Vice s tim bude souviset pocet klientu, ale ani zde neni vylouceno pouziti
autoincrementu, osetreni transakci a pod.
Rozhodne bych ale netvrdil, ze je to pouzitelne pouze pro jednouzivatelsky
pristup
na malych tabulkach. Ja samozrejme neprosazuji tuto metodu, za nejlepsi,
aby nedoslo k omylu.
Uvedl jsem to jako priklad moznosti pouziti DB objektu. Jinak neni problem
pripojit DBImage a pro vkladani dat udelat jiny formular
(a tam treba pouzit DBEdit a TQuery :) )
...
V D5 je pro IB vhodnejsi TIBDataset. Dava vice moznosti.
--------
Tohle je zrovna dost obecny problem, ktery se ti muze velice
snadno projevit pri pokusu napsat program pro vice databazi.
--------
To je sice pravda, ale napsanim ulozene procedury jsi v tom stejne.
Pro jiny server musis psat jinou proceduru.
-------
> Jak vim, ze rici "do 5-ti uzivatelu staci pouzivat TTable" nejde,
> zalezi vzdy na konkretni aplikaci a nasazeni, ale extrem na druhou
> stranu t.j. delat vse tak joko by porad zapisovalo 20 lidi najednou,
> taky asi nema cenu.

Jakmile mohou potencialne zapisovat do jedne tabulky dva, uz
bych to nedelal. TTable se pro SQL databaze nehodi vubec (i kdyz
za urcitych vzacnych a obzvlaste priznivych okolnosti i to lze
pouzit :), ani pro sebemensi pocet uzivatelu.
---------
SOUHLAS
Jaro



S pozdravem

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


Spravne zavreni aplikace

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 29.12.1999 11:36:35

Puvodni zprava, kterou napsal Petr Vones dne 29 Dec 99,:

> > A ted k problemu: Rok pracuju na jednom programu a uz pekne dlouho mi to vzdycky po
> > ukonceni programu (Form1.Close) necha stale dole v taskbaru ikonku s tim programem.
> > Kdyz na ni klinu, tak zmizi a vse je v pohode. Dival jsem se do seznamu uloh a hned
> > Delphi 4 na Windows 98 Cz
>
> Tusim ze tohle je chyba Win98 (a Active Desktopu). Zkus to na jinych Windows.

Me to dela na Win NT 4.0 CZ + SP5, ale pouze u jednoho programu,
nikoliv mnou napsaneho - u projektu vytvorenem v DemoShieldu...


S pozdravem
Petr Zahradnik, pocitacovy expert

Autorizovany dealer TurboPower Software... knihovny pro Delphi
==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Obvodova 740/14, PO BOX 15, 400 07 Usti nad Labem 7 ===
=== telefon: 047-5500610, telefon/fax: 047-5501627 ===
=== mobilni telefon GSM (hotline): 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================
ICQ: 21215917, PGP vitano


SpeedButton nebo Toolbar ? (Was: Upraveny buttons.

[*] Robert Kindl <rob(zv)exec(tec)cz> - 29.12.1999 11:41:37

> Ahoj,
>
> Tuhle reakci jsem tak trochu cekal :-) Je to samozrejme subjektivni, ale
> ve Windows je myslim dobre udrzovat urcity konzistentni vzhled a ovladani
> aplikaci. Pokud se podivas treba na Delphi 5 IDE, Word, Excel, Internet
> Explorer a dalsi, tak tam se bez "SpeedButtonu" obesli a veci to spise
> prospelo. Nehlede na to, ze dropdown tlacitka se staly beznou soucasti
> uzivatelskeho rozhrani (a vcelku i pomerne praktickou), coz je vec ktera
> se pomoci SpeedButtonu udelat neda. ToolBar (ve Windows, bohuzel ne ve
> VCL :-( take primo podporuje konfiguraci panelu tlacitek.

Ja na tohle taky cekal :-)

Ted mi rekni jak se na jednom TToolbaru docili tohoto:
4 buttony vedle sebe jeden ma ikonku, druhy je drop down, treti ma JEN text
a ctvrty ma text a ikonku (text vpravo od ikony (TToolbar.List=True)).
Napr. dat customize na toolbarech v Delphi 5 IDE a prihodit command bez
ikony.
Na toolbaru je pak textove tlacitko.

nebo

jak vytvorit buttony ktere predstavuji menu jako v Delphi 5 IDE
a po stisku se objevi popup menu
(v zasade jde o celoplosny drop down). Standardni drop
down je sipka vpravo od vlastniho buttonu.
Pouzit styl tbsCheck neni mozno, nebot po stisku vypada button
jinak.

A to uz vubec nemluvim o nejakem predpripavenem
dokovatelnem kontajneru (to samozdrejme jiz neni
problem vlastniho TToolbaru), ktery lze vytrhavat do toolwindow
(tak jako v Delphi 5 IDE). Takova vec by prece v RAD nastroji
jako Delphi nemela chybet.

Microsofti toolbar je mozna dobry, ale tak jak je zapouzdren
v Delphi do TToolbar je jeho pouzitelnost VELMI omezena,
nebot zapouzdreni casto efektivne brani tomu vyuzit
skutecne VSECH dostupnych vlastnosti.
Pritom jako obvykle Borland prdi na to aby nove
vlastnosti do zapouzdreni zahrnul (od Delphi 3
zadny pokrok k lepsimu).


Rob

Ztraceni vlastnosti typu TComponent

[*] Robert Kindl <rob(zv)exec(tec)cz> - 29.12.1999 11:41:40

> >Ja tomu predchazim tak, ze mam vzdy otevreny DataModul v editoru IDE.
> >Pokud je DataModul otevreny, ke ztrate nedojde, pokud otevreny neni,
odkaz
> >se ztrati.
>
> Mno, ja ho mam taky otevreny porad, ale presto se to obcas ztrati. Jestli
ono
> to neni tak, ze zalezi na poradi otevirani formu v IDE (sekce modules v
*.DSK).
> Jak ten datamodule neni prvni, tak to nastane.

Problem je zde jiz minimalne od Delphi 3 a ma ho i D4 a D5.

Vypozoroval jsem nasledujici:
- ke ztrate dochazi jen u odkazu na jiny form resp. datamodul.
- ke ztrate dochazi jen u komponent, ktere pochazeji z predka
(napr. na TfrmPredchudce dam TDBGrid a na TfrmNaslednik
gridu vyplnim odkaz na query v datamodulu, tento se bude ztracet).
- je-li datamodul otevren ci nikoliv ma vliv jen na jedinou vec:
jestli to po ztrate property zarve AV nebo nikoliv
- ke ztrate dochazi jen je-li TfrmNaslednik otevren prevedu NEJAKOU akci
a znovu ho ulozim
- samotne poradi otvirani unit nema vliv (vzdyt Delphi vydrzi i DBGrid
na formu napojeny na datasource v Datamodulu napojeny na query
na formu s DBGridem - tedy cyklicky odkaz)
- vliv ma existence odkazu na datamodul v TfrmPredchudce
(napr. pokud jakekoliv kopmonente v TfrmPredchudce vyplnim odkaz
na datamodul v TfrmNaslednik se jiz nebude nic ztracet).
- ke ztrate dojde 100% pokud provedu rekompilaci libovolneho
package (*.dpk) Delphi pritom zavrou vsechna otevrena okna a pokud
byl otevren TfrmNaslednik tak pri pokusu o jeho otevreni dostanu AV,
pokud napred otevru TfrmPredchudce a pote TfrmNalednik a ulozim
ho tak je odkaz na datamodul ZTRACEN!!!!
- ke ztrate vsak dochazi jeste za jinych okolnosti

Kde je chyba?
Asi v implementaci procedury FindGlobalComponent (forms.pas) nebo
GlobalFixupReferences (classes.pas).
FindGlobalComponent je ale callback a v design time se vola asi neco z
Delphi IDE
Dal jsem to nezkoumal...

Reseni?
Vsem komponentam, ktere mam na TfrmPredchudce a maji
odkazy na jiny form/datamodul jsem udelal zalozni property.
Napr.
TRDBGrid ma property Datasource_ typu string,
ktera v SetDataSource_ najde komponentu a vyplni puvodni
DataSource spravnou hodnotou.

Nevyhody?
- Musim vse vyplnovat 2x
- Pri prejmenovani odkazovane komponenty se
automaticky neprejmenuje Datasource_, ale musim to udelat rucne.

Vyhody?
- nemusim 5x denne opravovat ztracene linky,
ktere nase milovane Delphi zahodilo.

Rob

PS. Jeste jina reseni:
Neotvirejte zadne formulare!!!
Nepouzivejde Delphi!!!
Neprogramujte!!!
Nepouzivejte PC!!!
Nepouzivejte pocitace!!!

At ziji bananove rybicky :-)))

Jak tedy lepe s SQL ?

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 29.12.1999 12:04:54

Jaro wrote:

> Pro pripomenuti, rec je o SQL databazich. Samozrejme zalezi na
> cele rade okolnosti. Pokud uz predem vis, ze z povahy veci bude
> tabulka mrnava, ze s ni muze pracovat v jednom case vyhradne
> jeden clovek, a ze ten nebude dlouho "viset" na jednom editovanem
> zaznamu, pak toto pouzit lze. Nicmene, jak psal v jinem majlu
> Pavel Cisar, je lepsi omezit pocet metod pristupu na nutne
> minimum.

> -------
> Takto bych to rozhodne nezuzoval! Jestli udelam TQuery s podminkou
> pro jediny zaznam, pak je lhostejno, jak velka je tabulka a ani metoda
> RequestLive s tim nijak nesouvisi.

Jedna vec je prohlizeni, druha vec je editovani. Rozhodne povazuji
za bezpecnejsi editovat mimo ostra data. Tedy budto v TEditech na
klientovi, nebo, je-li to v dane situaci vyhodnejsi, nad temporary
daty.

> Vice s tim bude souviset pocet klientu, ale ani zde neni vylouceno pouziti
> autoincrementu, osetreni transakci a pod.
> Rozhodne bych ale netvrdil, ze je to pouzitelne pouze pro jednouzivatelsky
> pristup
> na malych tabulkach.

Ja jsem dotaz pochopil tak, ze se Pavel Medek ptal na moznost
_prime_ prace s datovou tabulkou. V tomto pripade trvam na tom,
co jsem napsal.

> Ja samozrejme neprosazuji tuto metodu, za nejlepsi,
> aby nedoslo k omylu.
> --------

> Tohle je zrovna dost obecny problem, ktery se ti muze velice
> snadno projevit pri pokusu napsat program pro vice databazi.

> --------
> To je sice pravda, ale napsanim ulozene procedury jsi v tom stejne.
> Pro jiny server musis psat jinou proceduru.

? I zde je problem v zasade stejny. Zde hraje roli pocet parametru a
jejich typy. Vnitrek muze byt samozrejme ruzny, ale parametry je v
me moci ohlidat, i typove. Tedy alespon v OLE DB. :-)


S pozdravem

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


Insufficient disc space

[*] Ren� Otisk - 29.12.1999 12:19:13

Hi,
Paradox si vytvari docasne soubory a lck soubory (uzamykani vet). Ted si
neuvedomuji, zdali to lze presmerovat zmenou work a private directory. Dej
nejake blizsi info o tom CD, teda hlavne o tom programku, co to spousti.
Sroub


> Mam problem pri pouziti paradox tabulek na CD. Aplikace samozrejme nic
nezapisuje do databaze, jen se snazi cist. Presto mi to haze hlasku
Insufficient disc space. Nevite co s tim ?
>
> Diky moc.
>
> Sledujte zpravodajstvi, TV-program, pocasi, kursy, ...:
> *** http://PRESS.CZ
>

Telefonicke pripojeni site

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 29.12.1999 12:41:33

>Ahoj
>
>mam jeste doplnujici otazku k tomuhle tematu, jak je mozne
>zavesit, a vylistovat pripojeni (bez pouziti rasdial od fpiette)
>


RASEnumConnections()
RASHangUp()


atd - funkce z RASAPI32.DLL. Help je soucasti Delphi (5).


Zdravi
D. Toman

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