Archív konference Delphi

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

Transparentni TNotebook

[*] Ji�� Foldyna <jiri.f(zv)avizo(tec)cz> - 21.2.2002 10:13:33

> P�edm�t: Transparentni TNotebook
>
> Potreboval bych neco ve stylu stare komponenty TNotebook, kde
> jsou pouze
> stranky bez nejakych prepinacich prvku. Ale hlavne mi jde o
> to, aby byl
> transparetni. Proste takovy neviditelny Container, ktery ma
> vice ploch, na
> kterych uchovava urcite komponenty.

Ahoj,
nevim presne, co myslis transparentnosti, ale pokud jde o prepinane stranky,
pouzivam TPageControl bez zalozek (prepinani resim programove).

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

stavba predlohy projektu

[*] Petr Palicka <petr.palicka(zv)atlas(tec)cz> - 21.2.2002 10:24:07

ahoj,

dostal jsem za ukol sestavit jakysi prazdny
projekt, ze ktereho by se pocinal vyvoj noveho
projektu. ty projekty budou co se pristupu
tyce dost stejny. bude jina database, nektere
fomulare budou jine, nektere nebudou vubec.
proste mam vytvorit takove spolecne jadro.

pojal jsem to tak, ze si vytvorim predky formularu
a od nich oddim formulare v konkretni aplikaci.
takze, pokud se pak udela oprava v predkovi, mela
by se podedit i v ostatnich aplikacich, vsak to znate.

jenze me ted napada, jestli jsem to neprehnal.
popisu situaci:

- mam formular fmain s hlavnim menu.
- mam formular ftisk s pripojenm k databasi a sestavou.
- mam formular fparam, s parametry pro tisk sestav
(datum od-do, druh platby, apod)

je to vymysleny tak, ze v fmain v menu zvolim tisk sestavy.
vytvori se ftisk a preda se sestava a dotaz.
ftisk si proleze dotaz, pokud v nem najde nejake pozadavky
na parametry, vytvori fparam a nastavi, ktere parametry
se budou zadavat (ostatni skryje). kdyz uzivatel zada co
potrebuje a potvrdi OK, probehne tisk atd...

jenze me ted napada, co se stane, az v projektu, kde tydle
predky pouziju, pridam do potomka fparam nejake nove parametry.
musim pak prepsat i ftisk, kde se fparam vytvari a vola?
asi jo, ale potom to mam vymysleny spatne :(.

tak jsem se chtel zeptat, jestli nekdo nemate podobny
problem, a jak to mate principielne vyreseny.

kdyz tak se ptejte na podrobnosti, ale snad jsem to vyoslil
srozumitelne :)

dekuji Petr Palicka aka PeC(zv)

Service

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 21.2.2002 10:28:31

> >
>
> Ako sa registruje service ?
> Ja som skusal registrovat service, tak ze som spustil exe subor s
parametrom
> /INSTALL.
> Ale v Control panel\Sluzby sa mi neobiavila moja sluzba.


Borlandiho wizarda na service nepouzivam, takze netusim, zda vklada
nebo ne nejakou moznost registrace do execka.

Dalsi moznost je registrovat service pomoci SC utility (nebo jak se
jmenuje) ale ta je tusim soucasti az Resource Kitu....

jinak je zamozrejme mozne registrovat service pomoci prislusnych
volani SC manager API (viz winsvc.pas)

D. Toman

OT: Nabidka zamestnani

[*] Karel Kral <kralkonf(zv)purus(tec)cz> - 21.2.2002 10:55:41

Dobry den,
hledame vyvojare v Delphi z Brna a okoli. Vice na
http://www.purus(tec)cz/zamestnani/vyvojar.html

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


Jak pouzivat Loadpackage a Unloadpackage?

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 21.2.2002 10:57:20

> Zdravim,
> mam aplikaci ve ktere pouzivam vetsi mnozstvi vlastnich
> balicku (asi 15).
> Vse funguje bez problemu, ale mam pocit ze pri spusteni
> aplikace se vsechny balicky nactou do pameti (staticky?).

Ano, runtime balicky v klasickom pouziti su staticky linkovane DLL, to
znamena, ze ak pri zavadzani programu niektory balicek nie je najdeny,
program skonci s chybovou hlaskou. Tym klasickym pouzitim mam na mysli, ze
runtime balicek je uvedeny v zozname pouzitych runtime balickov v Project
Options.

> Pri tom nektere nemusi byt vubec pouzity. Predpokladam,
> ze by mohlo existovat nejake dynamicke nacteni (tak
> jako u DLL).
> Pravdepodobne by k tomu mohl slouzit %subject%. Muzete mi
> tento problem nekdo trochu osvetlit, respektive nejaky priklad
> nebo odkaz.

Presne tak, runtime balicky su DLL a teda je mozne ich natahovat dynamicky.
(V podstate to iste robi IDE s designtime balickami.)
LoadPackage v podstate vola LoadLibrary, potom kontroluje pripadne konflikty
nazvov unit a vykonava ich initialization sekcie. Dany balicek by mal potom
volat RegisterClasses, aby hlavna aplikacia mohla vytvarat a pouzivat
instancie jeho tried.
UnloadPackage zase vykona finalization sekcie a FreeLibrary. Este pred
volanim UnloadPackage ale musis v programe zaistit, aby boli vsetky
instancie tried z daneho balicka uvolnene, a odregistrovat triedy pomocou
UnregisterClasses.

Podrobnejsi popis a demo najdes na
http://www.obsof.com/delphi_tips/DL613.html

Tymto sposobom sa da urobit napriklad plugin system s auto-update bez
potreby restartu hlavnej aplikacie:
- unload all plugins
- download new versions
- reload new plugins

HTH
TOndrej


Editace calculated fieldu

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 21.2.2002 10:57:32

21.2.2002 ZPetruj(zv)qgir(tec)cz:
> Nemas pravdu ze calculated field by v principu nemel jit editovat.
> Napr. jestlize calcfield = datafield * konstanta
> pak bych chtel po editaci calcfieldu ulozit do datafieldu hodnotu
> calcfield/konstanta .... co ty na to ??????

To je nesmysl, protoze ty nemas vazbu z calcfieldu do datafieldu.
Obsah CalcFieldu je ovlivnen obsahem DataFieldu, ale ne naopak.
Pokud bys chtel delat to co popisujes, musel bys to udelat rucne.

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


Editace calculated fieldu

[*] Tomas Vladik <tom.vladik(zv)swadvice(tec)cz> - 21.2.2002 11:02:41

> Nemas pravdu ze calculated field by v principu nemel jit editovat.
> Napr. jestlize calcfield = datafield * konstanta
> pak bych chtel po editaci calcfieldu ulozit do datafieldu hodnotu
> calcfield/konstanta .... co ty na to ??????

A co kdyby to neblo pocitane pole, ale primo to pole "datafield" a ty mu
proste nadefinujes OnGetText a OnSetText dle vlastnich predstav?

T.

Delphi & OpenGL

[*] skalsky(zv)oksystem(tec)cz - 21.2.2002 11:12:06

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

Zdravim vsechny,
Nemate nekde nekdo v zasobe nejakou dokumentaci (pdf, url, nebo alespon
nazev knihy a autora) pro vyuziti OpenGL v Delphi ???

Dik za info.

Milan


Delphi & OpenGL

[*] Jozef Cervenansky <dodosoft(zv)hotmail(tec)com> - 21.2.2002 11:19:36

Ahoj, pozri si toto :

http://delphigl.cfxweb.net/
nehe.gamedev.net
http://www.delphi3d.net/
www.opengl(tec)cz

snad ti to bude stacit
jozo

_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com


Zobrazovani udaju z tabulky

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 21.2.2002 11:26:27

> Pro zobrazovani udaju v tabulce pouzivam DBEdity
> Jmeno Primeni Bydliste
> Pod tuto skupinu pridam DBEdity
> Jmeno Primeni Bydliste
> Je mozno v kazdem takovemto radku zobrazovat jiny zaznam tabulky (1,2
2,3)

Asi jsem se dost blbe zeptal
Z mnoha duvodu nechci pouzit DBGrid ale Edity. Jde mi o toto:

Edit1- zobrazi zaznam tabulky c.1
Edit2- zobrazi zaznam tabulky c.2
Edit2- zobrazi zaznam tabulky c.3
Edit3- zobrazi zaznam tabulky c.4
Edit4- zobrazi zaznam tabulky c.5
atd

Pro Edit1 mam "Edit1.text:=Table1.FieldByName('km').AsString;"
Ale co dal?

Diky za radu

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


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


Acces violation a DLL

[*] ales(zv)kerner(tec)cz - 21.2.2002 11:40:56

Mam tento problem:

rozhodl jsem se par svych fukci a procedur prepsa do dll.
Dll jsem vytvoril, ale pri uziti external a volani z programu pri prvnim
zavolani procedury vse probehne OK, ale pri dalsim to hodi EAccesViolation v
DLL.

Zkusil jsem dle helpu dat na zacatek SHAREMEM, ale nepomohlo to.

Priklad DLL:


library IBUtils;

uses
Windows, Forms, SysUtils, IBSQL, IBQuery, StdCtrls,
DBGrids, DB;
{je tam tech procedur vice, proto je toho v uses vice, nez by se zdalo}

{$R *.res}

{----------------------------------------------------------
Na�ten� dat z tabulky do Combo Boxu
P�ed�v�n� �daje: ComboBox - TComboBox,
Query - TIBQuery,
SQLString - SQL dotaz,
Field - Pole pro na�ten�,
Voliteln��daje: SelectItem - Vybran� polo�ka z comba, kter�
bude aktivn�
AddItem1 - P�id� tuto polo�ku do comba
AddItem2 - P�id� tuto polo�ku do comba
AddItem3 - P�id� tuto polo�ku do comba
AddItem4 - P�id� tuto polo�ku do comba
AddItem5 - P�id� tuto polo�ku do comba
----------------------------------------------------------}
procedure IBReadSQLCombo(ComboBox: TComboBox; Query: TIBQuery; SQLString:
String; Field: String; SelectItem: String=''; AddItem1: String=''; AddItem2:
String=''; AddItem3: String=''; AddItem4: String=''; AddItem5: String='');
var
OldDotaz: String;
begin
With Query do begin
Active:=False;

// �schova star�ho dotazu
OldDotaz:=SQL.Text;

SQL.Text:=SQLString;
Active:=True;

// na�ten� hodnot z tabulky
ComboBox.Items.Clear;
while not Query.Eof do begin
ComboBox.Items.Add(FieldByName(Field).AsString);
Next;
end;

// p�id�n� max.polo�ek kter� nejsou v tabulce
If AddItem1>'' then ComboBox.Items.Add(AddItem1);
If AddItem2>'' then ComboBox.Items.Add(AddItem2);
If AddItem3>'' then ComboBox.Items.Add(AddItem3);
If AddItem4>'' then ComboBox.Items.Add(AddItem4);
If AddItem5>'' then ComboBox.Items.Add(AddItem5);

// kdy� je zad�na polo�ka, kter� m� b�t aktivn�
If SelectItem>'' then ComboBox.ItemIndex:=ComboBox.Items.IndexOf
(SelectItem);
Active:=False;

// obnoven� p�vodn�ho dotazu
SQL.Text:=OldDotaz;
end;
end;

{----------------------------------------------------------
Na�ten� po�tu z�znam�
P�ed�van� �daje: Query - TIBQuery,
Tabulka - String,
Podminky - String
----------------------------------------------------------}
function IBReadRecordCount(Query: TIBQuery; Tabulka: String; Podminky:
String=''): integer;
var
OldDotaz: String;
begin
With Query do begin
Active:=False;

// �schova star�ho dotazu
OldDotaz:=SQL.Text;

SQL.Text:='Select count(*) as pocet from '+Trim(Tabulka)+' '+Podminky;
Active:=True;

// na�ten� hodnot z tabulky
First;
Result:=FieldByName('POCET').AsInteger;
Active:=False;

// obnoven� p�vodn�ho dotazu
SQL.Text:=OldDotaz;
end;
end;

exports
IBReadSQLCombo,IBReadRecordCount;

begin
end.

API na ostraneni ikony close

[*] Str�n�k Franti�ek - 21.2.2002 12:04:13

Zdravim,
potebuji programove zneviditelnit krizek v hornim rohu na formulari (pouzivany pro zavreni formulare).
Vim, ze to lze nastavi z ObjectInspektoru, ja bych to ale potreboval udelat programove pomoci API funkce.
Nemuzu prorazit .....

zdrav�
Franti�ek STR�N�K
mailto:FSTRANIK(zv)CPOJ.CZ
tel. 02-67991481


Re[2]: Nakonektovani k databazi na internetu

[*] jan cerny <jan.cerny(zv)webstation(tec)cz> - 21.2.2002 12:12:49

Odpoved ...

ahoj ... n ja na necem podobnem take pracuji .. sice to nenji obchod
ale internetovy casopis .. a jeho offline editor :D

osobne jsem zacal pouzivat komponentu TMySQL ktera potrebje pouze ke
svemu zivotu mysql.dll knihovnu a clovek si nemusi instalovat nejake
odbc ci bde rozhrani. nevim jak je to u te ZEOS lib.

sice se s ni pracuje trosku odlisne nezli s klasickyma databazovyma
komponentama jelikoz nejde nijak navazat na "vypisovaci prvky" jednim
klikem ale musi se to celkem "otrocky ladovat". Ale jelikoz jsem si na
tohle zvykl u php tak mi to vyhovuje ...

jeste nejsem dost daleko ... ale uz ted se bojim celkem synchronizace
a podobnych veci ... puvodne kdyz jsem delal prvni takovy offline
editor tak sem o delphi + mysql netusil nic proto jsem to delal dost
divne :D ze jsem na nejakou stranku s mym PHP skriptem, ktery daval
data do databaze, posilal data v prvni fazi pres Prohlizec ktery se
otevrel a ja dal potvrdil akorat talcitkem odeslat :/

pak mi poradili ze lepsije to delat , kdyz uz takhle, tak posilat data
postem na tuto stranku ... ale k teto variante jsem se nedostal
jelikoz jsem nasel tmysql :D


+zda se mi celkem tezkopadne instalovat u klienta mysql server jelikoz
to budou vetsinou "wordaci" kteri jsou radi ze jsou radi :D


TV> Ahoj,
TV> pro ucely dalkoveho plneni dat do mySQL se hlavne potrebujes do te
TV> databaze dostat. Vsichni provozovatele webhostingovych serveru to maji
TV> delano tak, ze do mysql maji povolen pristup jen z localhostu, coz je
TV> prave ten pocitac, na kterem mySQL bezi. Zkus se zkontaktovat se
TV> spravcem tohoto serveru, jestli by ti mohl povolit pristup do tve
TV> databaze z tve (nebo zakaznikove) IP adresy.
TV> Ja osobne bych to udelal tak, ze bych zakaznikovi nainstaloval na jeho
TV> lokalni pocitac take mySQL server, on by si svuj sortiment pekne
TV> spracoval u sebe, a potom by si pomoci mysqldump jenom provedl
TV> prekopirovani dat na hostingovy server. ZEOS je pro mySQL dobra volba,
TV> take je pouzivam.

TV> Jiste existuje jeste cela dalsi spousta reseni, snad se ozve jeste nekdo
TV> jiny....

TV> Tomas


TV> -----Original Message-----
TV> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
TV> Behalf Of Reesha
TV> Sent: Thursday, February 21, 2002 1:22 AM
TV> To: delphi-l(zv)clexpert(tec)cz
TV> Subject: Nakonektovani k databazi na internetu


TV> Dobry den,

TV> chci se zeptat na jednu vec. Mam u poskytovatele webhostingu zrizenou
TV> databazi MySQL se kterou bude pracovat internetovy obchod. Chtel bych
TV> ale vytvorit aplikaci v delphi, ktera dokaze data z teto databaze nacist
TV> a take je tam vlozit. (uzivatel si offline vytvori sortiment a pak se
TV> pripoji a vyrobky ci nejake jine informace nasype do databaze) Nevim ale
TV> vubec, jakym smerem se ubirat. Jestli se da k datum pripo pristupovat,
TV> ci je zpracovavat a predavat mezi skriptem a mou aplikaci jako XML ...
TV> ??

_________________________________
:.: c : h : 3 : m : 1 : k : 5 :.:
���������������������������������

API na ostraneni ikony close

[*] skalsky(zv)oksystem(tec)cz - 21.2.2002 12:14:48

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

Nevim presne stranku, ale mam dojem, ze jsem videl v 1000T&T ukazku na
disablovani tohoto krizku (je videt, ale po jeho stisknuti se program
nekilne) - mozna by to mohlo byt take reseni.
Knihu bohuzel nemam u sebe, tudiz presneji neporadim :(

Milan

-----Original Message-----
From: Str�n�k Franti�ek [mailto:FStranik(zv)cpoj(tec)cz]
Subject: API na ostraneni ikony close

Zdravim,
potebuji programove zneviditelnit krizek v hornim rohu na formulari
(pouzivany pro zavreni formulare).Vim, ze to lze nastavi z ObjectInspektoru,
ja bych to ale potreboval udelat programove pomoci API funkce.

Editace calculated fieldu

[*] <ZPetruj(zv)qgir(tec)cz> - 21.2.2002 12:22:38

> > Nemas pravdu ze calculated field by v principu nemel jit editovat.
> > Napr. jestlize calcfield = datafield * konstanta
> > pak bych chtel po editaci calcfieldu ulozit do datafieldu hodnotu
> > calcfield/konstanta .... co ty na to ??????
>
> A co kdyby to neblo pocitane pole, ale primo to pole
> "datafield" a ty mu
> proste nadefinujes OnGetText a OnSetText dle vlastnich predstav?
>
No v tom je prave kouzlo vsech calcfieldu ze nemusi byt v databazi!!!
Databaze pak neni zbytecne nafoukla a obsahuje jen skutecne hodnoty ze kterych mohu
pocitat dalsich mnohem vice fieldu a obracenym zpusobem pak zmenene hodnoty
v calc fieldech budu ukladat do prislusnych fieldu databaze obracenym matematickym
nebo logickym postupem!!!

API na ostraneni ikony close

[*] Pesek Michal <Michal.Pesek(zv)MNUL.CZ> - 21.2.2002 12:37:28

Hi,

koukni sem,
http://www.peprsoft(tec)cz/default.asp?stpm=delphi/tipy.asp?id=31


S pozdravem
Michal PEPR Pesek
http://www.peprsoft(tec)cz


.. -----Original Message-----
.. potebuji programove zneviditelnit krizek v hornim rohu na

stavba predlohy projektu

[*] Slavomir Skopalik <skopalik(zv)hlubocky.del(tec)cz> - 21.2.2002 12:48:39

Prvni veci je zacit pouzivat repository, celkem dobra vec.
Dale je problem s globalnimi promennymi.
Typicky
var DM:TDM v datamodulu, na ten se vsak vsichni odkazuji.
My jsme to resili tak, ze jsme do teto promenne dali referenci na potomka
a predka jsme vubec nevytvareli.

> jenze me ted napada, co se stane, az v projektu, kde tydle
> predky pouziju, pridam do potomka fparam nejake nove parametry.
> musim pak prepsat i ftisk, kde se fparam vytvari a vola?
> asi jo, ale potom to mam vymysleny spatne :(.

Toto zalezi na konkretnim navrhu, pokud si fparam vytvaris dynamicky,
pak je resenim vlozit do tiskoveho formu typ tridy ktera se ma vytvorit,
treba takto:

TFClass=class of TF;
tisk.FCalss:=TF;

a pak pres virtualni konstructor, dobra inspirace je TCollection.

Slavek


Predani "TFrame" v COM

[*] Jan Krizek <krizek(zv)vitasw(tec)cz> - 21.2.2002 13:02:12

Ahoj,

vytvarim aplikaci, ktera je modularni a to tak, ze mam knihovnu
interfacu, pro ktere delam implementace. Mimo jine potrebuji jednotlive
moduly konfigurovat - to delam tak, ze jedna metoda preda vytvoreny
TFrame pro zadani parametru specifickych pro dany modul, ktery se vlozi
do zalozek ve formulari s nastavenim. A zase dalsi, ktera si to ulozi.

A ted ten problem. Vyhledove bych chtel, aby moduly nemuseli byt pouze v
Delphi, takze bych casem presel na implementaci techto interface pres
COM. A chtel bych se zeptat, jake je normalni reseni pro vlozeni okna do
jineho okna ve svete COM. Mam predelat tu metodu, tak, ze jenom preda
Handle TTabSheetu na nastavovacim formulari a objekt do nej vytvori okno
klasickym zpusobem, nebo je pouzivana jina cesta?

Dik Honza +

Zobrazovani udaju z tabulky

[*] Peter Surovy <psurovy(zv)uevora.pt> - 21.2.2002 12:17:19 -0000

Ahoj

----- Original Message -----
From: "Viktor Marek" <viktor(zv)mbox.vol(tec)cz>
Sent: Thursday, February 21, 2002 10:26 AM

>
> Edit1- zobrazi zaznam tabulky c.1
> Edit2- zobrazi zaznam tabulky c.2
> Edit2- zobrazi zaznam tabulky c.3
> Edit3- zobrazi zaznam tabulky c.4
> Edit4- zobrazi zaznam tabulky c.5
> atd
>
> Pro Edit1 mam "Edit1.text:=Table1.FieldByName('km').AsString;"
> Ale co dal?

a co tak

Table1.next;
Edit2.text:=Table1.FieldByName('km').AsString ?

S pozdravom
Peter Surovy

thread a tPicture

[*] Ladislav Fitz <ladislav.fitz(zv)kodytek(tec)cz> - 21.2.2002 13:19:17

pokud mam na formulari komponentu ve ktere je tPicture a v nejakem
samostatnem vlakne tuto tPicture kreslim tak se po chvilce strati, nevite
nekdo proc ,nebo co udelat aby k tomu nedochazelo


Service

[*] Ben, Martin (CAP, GCF) <Martin.Ben(zv)gecapital(tec)com> - 21.2.2002 13:56:57

Ja jsem delal service takto: File/New/New/Service Application a bez problemu
jsem jej zaregistroval: mujservice -install

Martin Ben

> -----Original Message-----
> From: Dalibor Toman [mailto:dtoman(zv)fortech(tec)cz]
> >
> > Ako sa registruje service ?
> > Ja som skusal registrovat service, tak ze som spustil exe subor s
> parametrom
> > /INSTALL.
> > Ale v Control panel\Sluzby sa mi neobiavila moja sluzba.
>
> Borlandiho wizarda na service nepouzivam, takze netusim, zda vklada
> nebo ne nejakou moznost registrace do execka.
>
> Dalsi moznost je registrovat service pomoci SC utility (nebo jak se
> jmenuje) ale ta je tusim soucasti az Resource Kitu....
>
> jinak je zamozrejme mozne registrovat service pomoci prislusnych
> volani SC manager API (viz winsvc.pas)

DBNavigator & click

[*] Ben, Martin (CAP, GCF) <Martin.Ben(zv)gecapital(tec)com> - 21.2.2002 14:04:22

procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
procedure TForm1.DBNavigator1BeforeAction(Sender: TObject; Button:
TNavigateBtn);

Martin Ben

-----Original Message-----
From: cYd [mailto:cYd(zv)seznam(tec)cz]

Hezky den,
jak mam odchytit udalost, ze bylo stisknuto tlacitko "Insert" z
DBNavigatoru???

Dekuji
cYd


Delphi & OpenGL

[*] Ondrej Kr�ko <krsko(zv)gjh.sk> - 21.2.2002 14:20:56

Delphi & OpenGLNajviac sa mi paci www.glscene.org


> Nemate nekde nekdo v zasobe nejakou dokumentaci (pdf, url, nebo alespon
nazev knihy a autora) pro vyuziti OpenGL v Delphi ???

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Programovanie pre deti - Robot Karol++
http://ono.host.sk/karol

thread a tPicture

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 21.2.2002 14:20:23

> pokud mam na formulari komponentu ve ktere je tPicture a v nejakem
> samostatnem vlakne tuto tPicture kreslim tak se po chvilce
> strati

Netusim sice, co sa strati, ale...

> nevite nekdo proc

Pretoze VCL nie je pisana thread-safe. To znamena, ze pri akomkolvek
pristupe na VCL z threadu musis zabezpecit, aby ten kod bezal v ramci
hlavneho threadu. Na to sa da pouzit metoda TThread.Synchronize.

> nebo co udelat aby k tomu nedochazelo

Bud TThread.Synchronize, alebo sa este da kreslit priamo cez Windows API (s
pouzitim HDC).

HTH
TOndrej


stavba predlohy projektu

[*] Petr Palicka <petr.palicka(zv)atlas(tec)cz> - 21.2.2002 14:30:34

> Toto zalezi na konkretnim navrhu, pokud si fparam vytvaris dynamicky,
> pak je resenim vlozit do tiskoveho formu typ tridy ktera se ma
vytvorit,
> treba takto:

> TFClass=class of TF;
> tisk.FCalss:=TF;

> a pak pres virtualni konstructor, dobra inspirace je TCollection.

koukam do TCollection, ale asi mi dneska nebere :)
muzes mi prosimte poslat minimalisticky prikladek,
jak pouzit classes nebo TCollection k tomu k cemu to ted potrebuju?

v podstate potrebuju napsat obecne objekty (formulare), ktery mohou
volat metody jeden druhyho, ale kdyz budu delat novy projekt, potrebuju
aby se mezi sebou volali potomci techto objektu? fakt bych byl moc
vdecnej za priklad, nebo sikovnej odkaz, na nejaky takovy priklad.

volani mohl bych teoreticky to zapouzdrit do kratouckych virtualnich
metod, ktere bych v kazdem potomkovi prepsal, jenze prakticko
to znamena _nezapomenout_ to prepsat. coz kdokoliv jiny, koho
na to vyslovne neupozornim _zapomene_ (a ja za rok taky).

dekuji PeC(zv)

thread a tPicture

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 21.2.2002 14:52:33

From: "Ondrej Kelle" <O.Kelle(zv)digitalpublishing.de>
> Bud TThread.Synchronize, alebo sa este da kreslit priamo cez Windows API (s
> pouzitim HDC).

TCanvas je svym zpusobem thread-safe, melo by stacit volat metody Lock a
Unlock.

Petr Vones


Editace calculated fieldu

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 21.2.2002 14:52:17

A co treba CalculatedField, ktery dela Spojeni dvou stringovych poli,
tak ten to pak po editaci ma rozhodit zpet do tabulky ?
Nebo CalcField, ktery dela soucin dvou poli, si to prebere, nejak to
proste podeli a zapise zpet ?

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

21.2.2002 ZPetruj(zv)qgir(tec)cz:
>> > Nemas pravdu ze calculated field by v principu nemel jit editovat.
>> > Napr. jestlize calcfield = datafield * konstanta
>> > pak bych chtel po editaci calcfieldu ulozit do datafieldu hodnotu
>> > calcfield/konstanta .... co ty na to ??????
>>
>> A co kdyby to neblo pocitane pole, ale primo to pole
>> "datafield" a ty mu
>> proste nadefinujes OnGetText a OnSetText dle vlastnich predstav?
>>
> No v tom je prave kouzlo vsech calcfieldu ze nemusi byt v databazi!!!
> Databaze pak neni zbytecne nafoukla a obsahuje jen skutecne hodnoty ze kterych mohu
> pocitat dalsich mnohem vice fieldu a obracenym zpusobem pak zmenene hodnoty
> v calc fieldech budu ukladat do prislusnych fieldu databaze obracenym matematickym
> nebo logickym postupem!!!

Acces violation a DLL

[*] Michal Hampl <DELPHI(zv)WSC.CZ> - 21.2.2002 15:07:27

Jen ujisteni: byla unita SHAREMEM na prvnim miste v uses jak v DLL, tak i v
source toho projektu?

Michal

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of ales(zv)kerner(tec)cz
Sent: Thursday, February 21, 2002 11:41 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Acces violation a DLL


Mam tento problem:

rozhodl jsem se par svych fukci a procedur prepsa do dll.
Dll jsem vytvoril, ale pri uziti external a volani z programu pri prvnim
zavolani procedury vse probehne OK, ale pri dalsim to hodi EAccesViolation v
DLL.

Zkusil jsem dle helpu dat na zacatek SHAREMEM, ale nepomohlo to.

Priklad DLL:


library IBUtils;

uses
Windows, Forms, SysUtils, IBSQL, IBQuery, StdCtrls,
DBGrids, DB;
{je tam tech procedur vice, proto je toho v uses vice, nez by se zdalo}

{$R *.res}

{----------------------------------------------------------
Na�ten� dat z tabulky do Combo Boxu
P�ed�v�n� �daje: ComboBox - TComboBox,
Query - TIBQuery,
SQLString - SQL dotaz,
Field - Pole pro na�ten�,
Voliteln��daje: SelectItem - Vybran� polo�ka z comba, kter�
bude aktivn�
AddItem1 - P�id� tuto polo�ku do comba
AddItem2 - P�id� tuto polo�ku do comba
AddItem3 - P�id� tuto polo�ku do comba
AddItem4 - P�id� tuto polo�ku do comba
AddItem5 - P�id� tuto polo�ku do comba
----------------------------------------------------------}
procedure IBReadSQLCombo(ComboBox: TComboBox; Query: TIBQuery; SQLString:
String; Field: String; SelectItem: String=''; AddItem1: String=''; AddItem2:
String=''; AddItem3: String=''; AddItem4: String=''; AddItem5: String='');
var
OldDotaz: String;
begin
With Query do begin
Active:=False;

// �schova star�ho dotazu
OldDotaz:=SQL.Text;

SQL.Text:=SQLString;
Active:=True;

// na�ten� hodnot z tabulky
ComboBox.Items.Clear;
while not Query.Eof do begin
ComboBox.Items.Add(FieldByName(Field).AsString);
Next;
end;

// p�id�n� max.polo�ek kter� nejsou v tabulce
If AddItem1>'' then ComboBox.Items.Add(AddItem1);
If AddItem2>'' then ComboBox.Items.Add(AddItem2);
If AddItem3>'' then ComboBox.Items.Add(AddItem3);
If AddItem4>'' then ComboBox.Items.Add(AddItem4);
If AddItem5>'' then ComboBox.Items.Add(AddItem5);

// kdy� je zad�na polo�ka, kter� m� b�t aktivn�
If SelectItem>'' then ComboBox.ItemIndex:=ComboBox.Items.IndexOf
(SelectItem);
Active:=False;

// obnoven� p�vodn�ho dotazu
SQL.Text:=OldDotaz;
end;
end;

{----------------------------------------------------------
Na�ten� po�tu z�znam�
P�ed�van� �daje: Query - TIBQuery,
Tabulka - String,
Podminky - String
----------------------------------------------------------}
function IBReadRecordCount(Query: TIBQuery; Tabulka: String; Podminky:
String=''): integer;
var
OldDotaz: String;
begin
With Query do begin
Active:=False;

// �schova star�ho dotazu
OldDotaz:=SQL.Text;

SQL.Text:='Select count(*) as pocet from '+Trim(Tabulka)+' '+Podminky;
Active:=True;

// na�ten� hodnot z tabulky
First;
Result:=FieldByName('POCET').AsInteger;
Active:=False;

// obnoven� p�vodn�ho dotazu
SQL.Text:=OldDotaz;
end;
end;

exports
IBReadSQLCombo,IBReadRecordCount;

begin
end.

Re[2]: Service

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 21.2.2002 15:09:17



Thursday, February 21, 2002, 1:56:57 PM, you wrote:

BMCG> Ja jsem delal service takto: File/New/New/Service Application a bez problemu
BMCG> jsem jej zaregistroval: mujservice -install

a kam jsi tohle napsal

BMCG> Martin Ben

>> -----Original Message-----
>> From: Dalibor Toman [mailto:dtoman(zv)fortech(tec)cz]
>> >
>> > Ako sa registruje service ?
>> > Ja som skusal registrovat service, tak ze som spustil exe subor s
>> parametrom
>> > /INSTALL.
>> > Ale v Control panel\Sluzby sa mi neobiavila moja sluzba.
>>
>> Borlandiho wizarda na service nepouzivam, takze netusim, zda vklada
>> nebo ne nejakou moznost registrace do execka.
>>
>> Dalsi moznost je registrovat service pomoci SC utility (nebo jak se
>> jmenuje) ale ta je tusim soucasti az Resource Kitu....
>>
>> jinak je zamozrejme mozne registrovat service pomoci prislusnych
>> volani SC manager API (viz winsvc.pas)
--
Best regards,
Vymazal mailto:vymazal.milan(zv)seznam(tec)cz


stavba predlohy projektu

[*] Slavomir Skopalik <skopalik(zv)hlubocky.del(tec)cz> - 21.2.2002 15:10:32

Ted teda nevim jestli je to co ti muze pomoci.
Chtel jsem jen popsat zpusob, jak vytvorit objekt
aniz by byl znami jeho typ v dobe prekladu.
Zkusim to zopakovat:
mas Tiskform, ktery si ma vytvorit runtime jiny form (filter).
Jenze on zna jen abstraktniho predka vsech filtru, takze nevy co si ma
vytvorit.
Aby to vedel, tak da pouzit promenna typu class, ktera nam umozni zavolat
ten pravny konstruktor.
Virtualnim metodam se nevyhnes (na strane filtru), bez nich to proste
nejde.
priklad (pisi z pameti):

//definice Abs. predka filtru
TAFClass=class of TAFilter;
TAfiler=class(TForm)
end;
// tiskovy form
uses abstractfilter;
TPrintForm=class(Tform)
private
FFilter:TAFilter;
public
filter:TAFClass;
procedure CreateFilter;
end;

constructor TPrintForm.CreateFilter;
begin
FFilter:=filter.Create(application); // tedy je ta finta, vytvori se
POTOMEK
end;

TMujFilter=class(TAFilter)
end;

PrintFomr.filter:=TMujFiler;
PrintForm.CreateFilter; // Printform si vytvori instanci TMujFilter i
kdyz ji neznal, ALE muze s ni komunikovat pouze pres interface TAFilter.


Za vsechny chyby v kodu se omlouvam.
Takto je resena cela VCL a je to jedinna moznost jak udelat kopii objektu
BEZ znalosti jeho typu.

Slavek


> v podstate potrebuju napsat obecne objekty (formulare), ktery mohou
> volat metody jeden druhyho, ale kdyz budu delat novy projekt, potrebuju
> aby se mezi sebou volali potomci techto objektu? fakt bych byl moc
> vdecnej za priklad, nebo sikovnej odkaz, na nejaky takovy priklad.
>
> volani mohl bych teoreticky to zapouzdrit do kratouckych virtualnich
> metod, ktere bych v kazdem potomkovi prepsal, jenze prakticko
> to znamena _nezapomenout_ to prepsat. coz kdokoliv jiny, koho
> na to vyslovne neupozornim _zapomene_ (a ja za rok taky).

Editace calculated fieldu

[*] <ZPetruj(zv)qgir(tec)cz> - 21.2.2002 15:11:05

Vsak ja jsem taky nikdy nerekl ze vsechny calc fieldy maji byt editovatelne!!
A jen tak mimochodem ten priklad soucinu dvou poli zrovna potrebuju, protoze pri ukladacce
pak beru jeden field jako konstantu a zmena se uklada do toho dalsiho.> A co treba CalculatedField, ktery dela Spojeni dvou stringovych poli,
> tak ten to pak po editaci ma rozhodit zpet do tabulky ?
> Nebo CalcField, ktery dela soucin dvou poli, si to prebere, nejak to
> proste podeli a zapise zpet ?
>
> >> > Nemas pravdu ze calculated field by v principu nemel jit
> editovat.
> >> > Napr. jestlize calcfield = datafield * konstanta
> >> > pak bych chtel po editaci calcfieldu ulozit do datafieldu hodnotu
> >> > calcfield/konstanta .... co ty na to ??????
> >>
> >> A co kdyby to neblo pocitane pole, ale primo to pole
> >> "datafield" a ty mu
> >> proste nadefinujes OnGetText a OnSetText dle vlastnich predstav?
> >>
> > No v tom je prave kouzlo vsech calcfieldu ze nemusi byt v
> databazi!!!
> > Databaze pak neni zbytecne nafoukla a obsahuje jen skutecne
> hodnoty ze kterych mohu
> > pocitat dalsich mnohem vice fieldu a obracenym zpusobem pak
> zmenene hodnoty
> > v calc fieldech budu ukladat do prislusnych fieldu databaze
> obracenym matematickym
> > nebo logickym postupem!!!
>
>

Re[2]: Service

[*] Ben, Martin (CAP, GCF) <Martin.Ben(zv)gecapital(tec)com> - 21.2.2002 16:13:55

Do prikazoveho radku a servis manazer jej okamzite poznal.

Martin Ben

PS: mam WNT4/SP6, D5Ent/SP2

> -----Original Message-----
> From: Vymazal Milan [mailto:vymazal.milan(zv)seznam(tec)cz]
>
> Thursday, February 21, 2002, 1:56:57 PM, you wrote:
>
> BMCG> Ja jsem delal service takto: File/New/New/Service
> Application a bez problemu
> BMCG> jsem jej zaregistroval: mujservice -install
>
> a kam jsi tohle napsal
>
> BMCG> Martin Ben
>
> >> -----Original Message-----
> >> From: Dalibor Toman [mailto:dtoman(zv)fortech(tec)cz]
> >> >
> >> > Ako sa registruje service ?
> >> > Ja som skusal registrovat service, tak ze som spustil exe subor s
> >> parametrom
> >> > /INSTALL.
> >> > Ale v Control panel\Sluzby sa mi neobiavila moja sluzba.
> >>
> >> Borlandiho wizarda na service nepouzivam, takze netusim, zda vklada
> >> nebo ne nejakou moznost registrace do execka.
> >>
> >> Dalsi moznost je registrovat service pomoci SC utility (nebo jak se
> >> jmenuje) ale ta je tusim soucasti az Resource Kitu....
> >>
> >> jinak je zamozrejme mozne registrovat service pomoci prislusnych
> >> volani SC manager API (viz winsvc.pas)
>
>
>
> --
> Best regards,
> Vymazal mailto:vymazal.milan(zv)seznam(tec)cz
>

thread a tPicture

[*] Peter Surovy <psurovy(zv)uevora.pt> - 21.2.2002 15:17:13 -0000

----- Original Message -----
From: "Ondrej Kelle" <O.Kelle(zv)digitalpublishing.de>
To: "'Peter Surovy'" <psurovy(zv)uevora.pt>;
Sent: Thursday, February 21, 2002 2:47 PM


> > Ahoj
> > mam taku blbu otazku co je to HDC?

HDC je handle pre tzv. device context; vecsina GDI funkcii pouziva HDC ako
parameter. Device context je v Delphi zapuzdreny v triede TCanvas, a
vlastnost TCanvas.Handle je prave to HDC.

Ako Petr Vones pripomenul (dik Petre), da sa zrejme pracovat aj na urovni
TCanvas (malo by to byt jednoduchsie vdaka zapuzdreniu niektorych
zlozitejsich API), ak pouzijes metody Lock/Unlock. Sice som to neskusal,
ale
podla helpu to vyzera tak, ze prave na to tam tie metody su, aby bola
trieda
TCanvas pouzitelna aj v threadoch.

HTH
TOndrej

execute

[*] HOST user <cico(zv)host.sk> - 21.2.2002 16:39:55

viete mi niekto poradit ako sa da po kliknuti na button otvorit Internet Explorer
s nejakou URL (www.sme.sk)???

vdaka

execute

[*] ing. Jan Fiala <jan.fiala(zv)iol(tec)cz> - 21.2.2002 16:43:21

Prikaz ShellExecute(), staci predat jako parametr http://adresa,
otevre se ve vychozim, prohlizeci

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

21.2.2002 HOST user:
> viete mi niekto poradit ako sa da po kliknuti na button otvorit Internet Explorer
> s nejakou URL (www.sme.sk)???

> vdaka


Re[4]: Service

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 21.2.2002 17:02:49


Thursday, February 21, 2002, 4:13:55 PM, you wrote:

BMCG> Do prikazoveho radku a servis manazer jej okamzite poznal.

BMCG> Martin Ben

jsem asi blbej ale me se to nedari skompilovat. nevim jak to mam
vlozit do programu

BMCG> PS: mam WNT4/SP6, D5Ent/SP2

>> -----Original Message-----
>> From: Vymazal Milan [mailto:vymazal.milan(zv)seznam(tec)cz]
>>
>> Thursday, February 21, 2002, 1:56:57 PM, you wrote:
>>
>> BMCG> Ja jsem delal service takto: File/New/New/Service
>> Application a bez problemu
>> BMCG> jsem jej zaregistroval: mujservice -install
>>
>> a kam jsi tohle napsal
>>
>> BMCG> Martin Ben
>>
>> >> -----Original Message-----
>> >> From: Dalibor Toman [mailto:dtoman(zv)fortech(tec)cz]
>> >> >
>> >> > Ako sa registruje service ?
>> >> > Ja som skusal registrovat service, tak ze som spustil exe subor s
>> >> parametrom
>> >> > /INSTALL.
>> >> > Ale v Control panel\Sluzby sa mi neobiavila moja sluzba.
>> >>
>> >> Borlandiho wizarda na service nepouzivam, takze netusim, zda vklada
>> >> nebo ne nejakou moznost registrace do execka.
>> >>
>> >> Dalsi moznost je registrovat service pomoci SC utility (nebo jak se
>> >> jmenuje) ale ta je tusim soucasti az Resource Kitu....
>> >>
>> >> jinak je zamozrejme mozne registrovat service pomoci prislusnych
>> >> volani SC manager API (viz winsvc.pas)
>>
>>
>>
>> --
>> Best regards,
>> Vymazal mailto:vymazal.milan(zv)seznam(tec)cz
>>
--
Best regards,
Vymazal mailto:vymazal.milan(zv)seznam(tec)cz


Re[4]: Service

[*] Ben, Martin (CAP, GCF) <Martin.Ben(zv)gecapital(tec)com> - 21.2.2002 17:33:40

Tak ted jsem asi blbej ja, nebo nechapu co resis. Ja jsem puvodne psal o
tom, ze jsem nechal Delphi, aby vytvorilo zaklad servisu. Do tohoto jsem
udelal obsluhu udalosti OnCreate, OnStart a OnStop. Po prelozeni jsem servis
zaregistroval. Tot vse.

Martin Ben

> -----Original Message-----
> From: Vymazal Milan [mailto:vymazal.milan(zv)seznam(tec)cz]
>
> Thursday, February 21, 2002, 4:13:55 PM, you wrote:
>
> BMCG> Do prikazoveho radku a servis manazer jej okamzite poznal.
>
> BMCG> Martin Ben
>
> jsem asi blbej ale me se to nedari skompilovat. nevim jak to mam
> vlozit do programu
>
> BMCG> PS: mam WNT4/SP6, D5Ent/SP2
>
> >> -----Original Message-----
> >> From: Vymazal Milan [mailto:vymazal.milan(zv)seznam(tec)cz]
> >>
> >> Thursday, February 21, 2002, 1:56:57 PM, you wrote:
> >>
> >> BMCG> Ja jsem delal service takto: File/New/New/Service
> >> Application a bez problemu
> >> BMCG> jsem jej zaregistroval: mujservice -install
> >>
> >> a kam jsi tohle napsal
> >>
> >> BMCG> Martin Ben


Re[4]: Service

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 21.2.2002 17:41:08

Jde o to, ze pokud del�s service pomoc� kopyta, kter� je uz
v Delphi (tus�m od verze 4) pripraven�, pak muzes zkompilovan�
exe spustit s parametrem /INSTALL (resp. -INSTALL) a
kopyto ti zajist� registraci sluzby pomoc� vol�n� API funkc�
SC managera. Kopyto res� i spoustu jin�ch vec� za tebe,
napr. sluzba nemuze b�t pouze jednoduch� exe, mus� m�t
dva thready, v jednom z nich nejak komunikovat se syst�mem
apod. Cel� se to d� samozrejme tak� napsat z nuly,
ale takhle je to rychlejs�.

Martin Schayna

----- Original Message -----
From: "Vymazal Milan" <vymazal.milan(zv)seznam(tec)cz>>
> Thursday, February 21, 2002, 4:13:55 PM, you wrote:
>
> BMCG> Do prikazoveho radku a servis manazer jej okamzite poznal.
>
> BMCG> Martin Ben
>
> jsem asi blbej ale me se to nedari skompilovat. nevim jak to mam
> vlozit do programu
>
> BMCG> PS: mam WNT4/SP6, D5Ent/SP2
>
> >> -----Original Message-----
> >> From: Vymazal Milan [mailto:vymazal.milan(zv)seznam(tec)cz]
> >>
> >> Thursday, February 21, 2002, 1:56:57 PM, you wrote:
> >>
> >> BMCG> Ja jsem delal service takto: File/New/New/Service
> >> Application a bez problemu
> >> BMCG> jsem jej zaregistroval: mujservice -install
> >>
> >> a kam jsi tohle napsal
> >>
> >> BMCG> Martin Ben
> >>
> >> >> -----Original Message-----
> >> >> From: Dalibor Toman [mailto:dtoman(zv)fortech(tec)cz]
> >> >> >
> >> >> > Ako sa registruje service ?
> >> >> > Ja som skusal registrovat service, tak ze som spustil exe subor s
> >> >> parametrom
> >> >> > /INSTALL.
> >> >> > Ale v Control panel\Sluzby sa mi neobiavila moja sluzba.
> >> >>
> >> >> Borlandiho wizarda na service nepouzivam, takze netusim, zda vklada
> >> >> nebo ne nejakou moznost registrace do execka.
> >> >>
> >> >> Dalsi moznost je registrovat service pomoci SC utility (nebo jak se
> >> >> jmenuje) ale ta je tusim soucasti az Resource Kitu....
> >> >>
> >> >> jinak je zamozrejme mozne registrovat service pomoci prislusnych
> >> >> volani SC manager API (viz winsvc.pas)
> >>
> >>
> >>
> >> --
> >> Best regards,
> >> Vymazal mailto:vymazal.milan(zv)seznam(tec)cz
> >>
>
>
> --
> Best regards,
> Vymazal mailto:vymazal.milan(zv)seznam(tec)cz
>

Shutdown versus Logoff

[*] Vaclav Sazima <vaclav.sazima(zv)utilia(tec)cz> - 21.2.2002 17:50:30

Ahoj,
nekde jsem opsal takovehle reseni, ktere i funguje :

procedure TMainForm.WMQUERYENDSESSION (var Message : TMessage);
begin
case Win32Platform of
VER_PLATFORM_WIN32_WINDOWS :
begin
if dword (message.lparam) = ENDSESSION_LOGOFF then
begin
tmLog.Enabled := true;
Message.Result := 0
end
else Message.Result := 1
end;
VER_PLATFORM_WIN32_NT : Message.Result := 1
end;
end;

procedure TMainForm.tmLogTimer(Sender: TObject);
begin
if ExitWindowsEx(EWX_LOGOFF, 0) <> false then
begin
tmLog.Enabled := false;
end;
end;

tmLog je pri startu programu pochopitelne disabled.

EFG developer wrote:
> Jak lze odlisit (zjistit) vypnuti PC a nebo pouhe odlogovani se ?
>
> Potrebuji to pro aplikaci ktera bezi jako service a pri odlogovani se ma
> normalne bezet dal.
>
> Dekuji Petr Sikola


EmptyTable - mazani obsaho cele tabulky

[*] Pavel ZIDEK <delphi(zv)kopr(tec)cz> - 21.2.2002 18:23:15

Zdravim,
predem podotykam, ze v archvivu konference mazani obsahu cele tabulky neni
dostatecne vyresen a vysvetlen.
Mam databazi typu FF2. Dale mam D6prof, Win 2000, data jsou ulozena na
serveru, nikdo jiny data nepouziva.
ffTableTmp.Delete funguje normalne.
Normale ale nefunguje ffTableTmp.EmptyTable.

ffTableTmp.Close;
ffTableTmp.Exclusive := true;

ffTableTmp.EmptyTable; {a tady to padne s hlaskou: Table is open}

ffTableTmp.Exclusive := false;
ffTableTmp.Open;

Nez jsem stacil tento mail odeslat, tak jsem prisel na to, ze tu otevrenou
tabulku drzi DELPHI. Jakmile rozjedu program se zavrenou tabulkou, a tabulku
otevru az v za behu programu, tak vse funguje jak ma.
Mam snad neco v DELPHI spatne nastaveno ?

Diky za pomoc, Pavel

----- KOPR software -----
Pavel ZIDEK
http://www.kopr(tec)cz, kopr(zv)kopr(tec)cz, delphi(zv)kopr(tec)cz

ZEOS a cestina

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 21.2.2002 18:49:51

> Ahoj,
>
> samoz�ejm�, �e je .... dokonce do parametru databaze vkladam
> lc_ctype=WIN1250 na tech D4 Std. proste nic nepomaha....
>
> Kdyz si zkusim stejnou sadu komponent nainstalovat do Delphi 5 u sebe, tak
> to projde naprosto v pohode.....
>
> Opravdu jste to nikdo nezkousel? Resp. ma nekdo jiny navrh, jak se z D4
Std.
> pripojit na IB6? hlavne to musi byt free.....

No, ja mel s Zeos taky problemy, ale jineho druhu :-)
Pouzivam FIBPlus, jsou levne a jinak jsou trustware (nevim, do jake aplikace
to chces)

ROman
- - - - - - - - - - - - - - - - - - - - -
http://kouzelne.misto(tec)cz/

IDE smaze hodnotu property

[*] Robert Kindl <rob(zv)exec(tec)cz> - 21.2.2002 19:39:08

> Ahoj
> potykam se s nasledujicim problemem:
> Mam formular na kterem lezi nekolik komponent TDBLookupComboBox. Ty maji v
> properte ListSource prirazen TDataSource(kazda jiny), ktery ale lezi na
> datamodulu. Kdyz otevru formular v IDE, tak jsou u vetsiny comboboxu
> property ListSource prazdne. IDE nevyhodi zadnou hlasku o tom, ze by je
> chtelo smazat a navic formular se jevi jako nezeditovany. V dfm na disku
je
> v tuto chvili vse v poradku (ListSource maji prirazenou hodnotu).
> Samozrejme pokud formular ulozim, tak se ulozi bez vyplnenych ListSource.
>
> Podobne chovani pozoruji i na jinych komponentach. Nesetkal jste se s tim
uz
> nekdo? Pouzivam D5Ent Update Pack 1 a W2k SP2
> eNca

Ano setkal.
Je to uplne bezne a Delphi to dela ve vsech verzich (3,4,5 i 6) i se vsemi
servicepacky. Ted jsem zrovna zkousel D6 SP2.
Podle mne si neuvedl, ze ten TDBLookupComboBox je uveden jiz na ancestor
formulari.

Jedinym resenim ktere jsem nasel je udelat si vlastni komponentu
TRDBLookupComboBox, ktera bude mit string
propertu DataSourceBackup a tam vyplnit textove odkaz na datasource.
V SetDataSourceBackup pak vyplnime skutecnou adresu do puvodniho DataSource.

Tato vlastnost je opravdu VELMI MILA a pres opakovane
BugReprotovani, kontaktovani mistniho Borlandu az po diskuse na
borlands.news
jsem niceho nedocilil.
Borlandu je zrejme uplne jedno, ze bez desitek HANDMADE
patchu se v Delphi neda pracovat na jen trochu rozumne urovni!
Hlavni pro nej je ze to jde RAD naklikat zpatky.
Skoda ze bych to musel delat temer denne!

Na pozadani poslu postup, ktery chybu 100% reprodukuje.
Bohuzel ani to Borlandu nestaci na to aby to za 5 let opravil :-((((

Rob

None

[*] Mr_IQ <mr_iq(zv)seznam(tec)cz> - 21.2.2002 20:09:03

Mam uz zjistene PID procesu neporadil by mi nikdo jak ziskat vypis jmen k temto PID???

Jmeno procesu z Process ID

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

From: "Mr_IQ" <mr_iq(zv)seznam(tec)cz>
> Mam uz zjistene PID procesu neporadil by mi nikdo jak ziskat vypis jmen k
> temto PID???

Ahoj,

napriklad pomoci funkce GetProcessNameFromPid (unit JclSysInfo) v JCL:
http://delphi-jedi.org/Jedi:CODELIBJCL

Petr Vones


Velikost paketu u ADO

[*] Milan Schembera <milan(zv)missoftware(tec)cz> - 21.2.2002 21:17:07

Zdravim,

mam jenom hypoteticky dotaz: Zkouseli jste nekdo nekdy laborovat s velikosti
paketu u ADOConnection (konkretne treba pripojeni na MSSQL pres internet
apod.) ? Standardne je tam 1024. Zajimalo by me, jak se velikost paketu
projevuje na rychlosti odezvy (napr. pri stazeni 50 zaznamu z tabbulky, kde
jeden zaznam ma max. 1kB), pripadne padani apod....

Diky.

M.Sch.

icona do DLL

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

From: "Standa" <Ooman(zv)centrum(tec)cz>
> De nejak za behu aplikace vlozit do DLL iconu?

Ahoj,

pomoci API funkci BeginUpdateResource a spol. (pouze na NT)

Petr Vones


Popiska setrice obrazovky

[*] Kan�r - 21.2.2002 22:11:15

Zdravim.
Udelal jsem si setric obrazovky. Vse mi funguje, pouze nevim, jak mam udelat rozumny nazev setrice obrazovky v okne vyberu screen saveru (ovladaci panel-obrazovka).

Podle me tam normalne vypisuje jmeno exe souboru bez pripony - tedy kdyz se to jmenuje project1.scr, tak mi v tom okne vybere moznost volby project1.scr.

Existuje nejaka jina inteligentnejsi moznost, jak definovat jmeno setrice, aniz by to bylo zavisle na prejmenovani scr (exe) souboru?

Diky


Instalace Midas

[*] Redlich Software <RedlichDaniel(zv)seznam(tec)cz> - 21.2.2002 22:58:55

Zdrav�m,
v aplikaci jsem pou�il TClientDataSet. Neum�m ale u koncov�ho z�kazn�ka
spr�vn� nainstalovat midas - midas.dll p�ekop�rovat um�m, jak ale prov�st
registraci ?

D�ky. Dan.

D6 prof.

obrazky mimo databazi IB

[*] MJsoft <delphi(zv)mjsoft(tec)cz> - 21.2.2002 23:01:56

Zdravim,
resim problem. Mam na interbase 6 databazi a v ni tabulku s obrazky, ale ty
obrazky zabiraji enormni misto ackoliv jsou v jpeg. Premyslel jsem tedy, ze
bych ty obrazky dal mimo databazi jako normalni soubory na disku(to neni
problem). Ale tyto obrazky potrebuji spojit s tabulkou a dostat selectem.
Nevite jak by to �lo udelat? Napadlo me pouzit UDF funkci, ktera by mela
jako klic nazev souboru a hledala v urcenem adresari obrazek, ale nevim jak
by takova funkce s parametrem BLOB mela vypadat. Nebo nekoho napada lepsi
zpusob?

Diky predem

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


Instalace Midas

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.2.2002 00:12:14

From: "Redlich Software" <RedlichDaniel(zv)seznam(tec)cz>
> v aplikaci jsem pou�il TClientDataSet. Neum�m ale u koncov�ho z�kazn�ka
> spr�vn� nainstalovat midas - midas.dll p�ekop�rovat um�m, jak ale prov�st
> registraci ?

Ahoj,

napriklad pomoci utility TREGSVR ktera se dodava s Delphi (vcetne zdrojaku)

Petr Vones

Popiska setrice obrazovky

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.2.2002 00:17:14

From: "Kan�r" <delphi(zv)obecpohori(tec)cz>
> Udelal jsem si setric obrazovky. Vse mi funguje, pouze nevim, jak mam udelat
> rozumny nazev setrice obrazovky v okne vyberu screen saveru (ovladaci panel-
> obrazovka).

Ahoj,

pomoci description v PE souboru. To muzes udelat v Delphi dvema zpusoby:

1. v dialogu Project Options, zalozka Linker, pole EXE Description
2. pomoci direktivy $DESCRIPTION

Petr Vones


Synapse - pozadavek metodou POST

[*] Reesha <reeshad(zv)seznam(tec)cz> - 22.2.2002 01:37:19

Dobry den,

mam jeden problem. Stahl jsem si synapsi a ucim se komunikovat s HTTP
serverem a resim nasledujici. Stahl jsem si program Proxomitron a sleduji
pozadavky na server. Snazim se odesilat metodou POST jednu (i vice)
promennou PHP skriptu, ktery data zpracuje a vrati vystup. Mam nasledujici
kod (viz nize), ktery spoustim buttonem. Pri sledovani proximotronem se
odeslou hlavicky, ale pak to vypise "Posting 16 bytes..." a nedeje se nic,
program zatuhne. (pri posilani z norm. html formulare se za "Posting 16
bytes..." odeslou krasne vsechny promenne a pak vporadku prijde odezva
serveru s vystupem).

Tak nevim, co mam v nasledujicim kodu spatne ze to nechodi. Za kazde
nakopnuti spravnym smerem predem diky...
R. Strunc

PS: zkousim to na apachi, W2000, D5 prof.


procedure TFormHTTP.Button3Click(Sender: TObject);
var
MyMemStream :TMemoryStream;
URLAdr, URLParams, URLKomplet: string;
FileParams, FileSum: String;
HTTP: THTTPSend;
begin
//nastavim adresy a parametry
URLAdr:='http://localhost/pokusy/dbscript/pokprijmi.php';
URLParams:='Param1=pokusicek';
URLkomplet:=URLAdr+URLParams;
FileParams:='c:\internet\dbscript\Test1.Txt'; //soubor s ulozenymi
parametry pro kontrolu
FileSum:='c:\internet\dbscript\pokus.txt'; //soubor s vystupem

//vytvorim memory stream
MyMemStream := TMemoryStream.Create;
with MyMemStream do
try
Write(Pointer(URLParams)^, Length(URLParams));
SaveToFile(FileParams); // ulozim si MyMemStream do souboru pro kontrolu
finally
Free;
end;

HTTP:=THTTPSend.Create;
with HTTP do
try
HTTP.MimeType:='application/x-www-form-urlencoded';
Document.LoadFromFile(FileParams);
ProxyHost:='127.0.0.1';
ProxyPort:='8080';
if HTTPMethod('POST',URLAdr) then
ShowMessage('OK; Velikost: '+IntToStr(Document.Size))
else
ShowMessage('�patn� !!! Velikost: '+IntToStr(Document.Size));
Document.SaveToFile(FileSum);
finally
HTTP.Free;
end;
end;

Dodatek k Delphi 6 UPD#2

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

Midaslib with resources strings
This should fix the missing blank messages with MidasLib
http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=17562

Petr Vones


Instalace Midas

[*] Redlich Software <RedlichDaniel(zv)seznam(tec)cz> - 22.2.2002 06:35:13

Dekuji P.Vonesovi za odpoved.
Pozdeji jsem zjistil, ze se registrace provede automaticky pri prvnim startu
aplikace pouzivajici MIDAS. Moje problemy byly zpusobeny instalaci knihovny
do pomocneho adresare (v ramci instalacnich testu), ktery jsem nakonec
zrusil. A protoze jsem registraci nedelal explicitne, system dal hledal
MIDAS.DLL v neexistujicim adresari.

Dan


EmptyTable - mazani obsaho cele tabulky

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 22.2.2002 06:58:57

> Nez jsem stacil tento mail odeslat, tak jsem prisel na to, ze tu
> otevrenou tabulku drzi DELPHI. Jakmile rozjedu program se zavrenou
> tabulkou, a tabulku otevru az v za behu programu, tak vse funguje jak
> ma. Mam snad neco v DELPHI spatne nastaveno ?

Nevim, jestli tomu dobre rozumim, ale pokud mas v dobe navrhu
tabulku otevrenou (v Delphi), tak mi popisovane chovani prijde zcela
normalni a v poradku. Delphi je proste druhym "prihlasenym"
uzivatelem, se vsemi dusledky, co k tomu patri.

David Lebeda


Problemy s IB serverem / klientem

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 22.2.2002 07:24:03

Ahoj,

mame aplikaci, ktera pravidelne rekneme jednou za 5 minut ma
provadet jakousi aktualizaci dat na serveru. Problem je v tom, ze
nahodne, jednou za cas, vznikne vyjimka a my nezname duvod,
proc. To by ale nevadilo - umime ji osetrit, aplikace se z ni zotavi.
Horsi je, ze klientska aplikace pred vznikem vyjimky dle zapisu z
logu stoji cca 15-16
minut a pak teprve ohlasi exception, pote se jeho
osetrenim vzpamatuje. Prikladam vypis z logu, pro
ilustraci se zaznamem korektnich cyklu aktualizace pred
a po vypadku:

31.12.2001 7:56:02 Zacatek cyklu aktualizace. Po�et
zpracovan�ch dat v posl. cyklu: 6
31.12.2001 7:58:42 Zacatek cyklu aktualizace. Po�et
zpracovan�ch dat v posl. cyklu: 5
31.12.2001 8:15:23 Unable to complete network request
to host "ben".
Error writing data to the connection.
unknown Win32 error 10054
31.12.2001 8:15:23 Chyba v procedu�e aktualizace:
Unable to complete network request to host "ben".
Error writing data to the connection.
unknown Win32 error 10054
31.12.2001 8:16:30 Zacatek cyklu aktualizace. Po�et
zpracovan�ch dat v posl. cyklu: 0
31.12.2001 8:16:30 Chyba nastaveni casu : Unable to
complete network request to host "ben".
Error writing data to the connection.
unknown Win32 error 10054
31.12.2001 8:16:30 Chyba v procedu�e aktualizace:
Unable to complete network request to host "ben".
Error writing data to the connection.
unknown Win32 error 10054
31.12.2001 8:17:37 Zacatek cyklu aktualizace. Po�et
zpracovan�ch dat v posl. cyklu: 0
31.12.2001 8:21:04 Zacatek cyklu aktualizace. Po�et
zpracovan�ch dat v posl. cyklu: 35


Tohle byl vypis logu klientske aplikace. Server v teze dobe
zaznamenava nejake chyby, jejichz
povahu se mi v dokumentaci
nepodarilo odhalit, prikladam vypis z logu:

ben (Server) Mon Dec 31 08:15:18 2001
Super Server/main: Bad client socket, send()
resulted in SIGPIPE, caught by server
client exited improperly or crashed
????
(Server) Mon Dec 31 08:15:18 2001
INET/inet_error: read errno = 110
(Server) Mon Dec 31 08:15:18 2001
Super Server/main: Bad client socket, send()
resulted in SIGPIPE, caught by server
client exited improperly or crashed
????
(Server) Mon Dec 31 08:15:18 2001
Super Server/main: Bad client socket, send()
resulted in SIGPIPE, caught by server
client exited improperly or crashed
????
(Server) Mon Dec 31 08:15:18 2001
Super Server/main: Bad client socket, send()
resulted in SIGPIPE, caught by server
client exited improperly or crashed
????
(Server) Mon Dec 31 08:15:18 2001
Super Server/main: Bad client socket, send()
resulted in SIGPIPE, caught by server
client exited improperly or crashed
????
(Server) Mon Dec 31 08:15:18 2001
Super Server/main: Bad client socket, send()
resulted in SIGPIPE, caught by server
client exited improperly or crashed
????
(Server) Mon Dec 31 08:15:18 2001
Super Server/main: Bad client socket, send()
resulted in SIGPIPE, caught by server
client exited improperly or crashed
????
(Server) Mon Dec 31 08:15:18 2001
Super Server/main: Bad client socket, send()
resulted in SIGPIPE, caught by server
client exited improperly or crashed
????
(Server) Mon Dec 31 08:15:18 2001
INET/inet_error: send errno = 32

Casy jsou relativne dobre synchronizovane (+/- 5sekund).

Jeste jednou: to, co vadi, neni ani tak to, ze vznika vyjimka, ale to,
ze pred vznikem vyjimkem uplyne 15-16 minut, kdy je aplikace
mrtva.

Mate nekdo tuseni, o co by mohlo jit? Server bezi na linuxu a je to
IB6 nebo nejaka starsi verze Firebirdu. Ted to nevim, pokud to je
dulezite, zjistim to.

Diky.

David Lebeda


Hromadna zmena Charset v IB

[*] ales(zv)kerner(tec)cz - 22.2.2002 08:03:09

Jak zmenim hromadne Defaul charset na WIN1250 u vsech poli v tabulce?

dik Ales


Hromadna zmena typu NVarChar na VarChar v SQL DB

[*] Lumir Karas <lumirkaras(zv)seznam(tec)cz> - 22.2.2002 02:53:04 -0500

Ahoj ve spolek,

potrebuji hromadne zmenit vsechny pole typu NVarChar na VarChar ve vsech
tabulkach MS SQL databaze. Jde to udelat z D5 najednou?

Predem diky, Lumir.

D5 Ent, W2K.

stavajici EXE do systray

[*] Mirek Melichar <mirek(zv)psi(tec)cz> - 22.2.2002 08:59:30

Ahoj!

resim problem, jestli je mozne stavajici EXE binarku spoustet tak, aby to
pro bezneho uzivatele vypadalo jako ze bezi v systrayi.

Zatim to vidim tak, ze bych si udelal vlastni programek v Delphi, ktery
by bezel v systrayi. Poklikanim na ikonku by ale spoustel tu stavajici
binarku jako child proces. Taky by testoval, jestli uz jeden takovy
child-proces nebezi, aby nespostel 2 zaroven. Mam ale problem, jak
detekovat, ze tento child-proces dostal zpravu o minimalizaci okna - pak
bych totiz potreboval jej minimalizovat tak, aby nebyl v normalnim tray.
(to jsou vlastne hned 2 problemy - zachytit zpravu a nejak specielne jej
minimalizovat. Mozna by stacilo jej proste ukoncit.)

Takze vite nekdo jak to udelat - treba i uplne jinak nez na to jdu ja
(a jde to vubec)?

Diky moc za rady!

PS: A obzvlast diky, pokud prijdou brzy - melo by to byt dnes hotove :(

--MM


Synapse - pozadavek metodou POST

[*] Gebauer Lukas <gebylist(zv)mlp(tec)cz> - 22.2.2002 09:01:10


Pricin muze byt mnoho... na soukromy mail jsem te poprosil o zaslani
jak toho souboru s daty, kter se snazis odeslat, tak i toho PHP
skriptu...

Pak se teprve budu moci poradne podivat kde je asi tak zakopany pes.
;-)

> mam jeden problem. Stahl jsem si synapsi a ucim se komunikovat s HTTP
> serverem a resim nasledujici. Stahl jsem si program Proxomitron a sleduji
> pozadavky na server. Snazim se odesilat metodou POST jednu (i vice)
> promennou PHP skriptu, ktery data zpracuje a vrati vystup. Mam nasledujici
> kod (viz nize), ktery spoustim buttonem. Pri sledovani proximotronem se
> odeslou hlavicky, ale pak to vypise "Posting 16 bytes..." a nedeje se nic,
> program zatuhne. (pri posilani z norm. html formulare se za "Posting 16
> bytes..." odeslou krasne vsechny promenne a pak vporadku prijde odezva
> serveru s vystupem).


-- Lukas Gebauer.

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

IDE smaze hodnotu property

[*] Vot�pka V�clav <Vaclav.Votipka(zv)merlin(tec)cz> - 22.2.2002 09:12:34



> -----P�vodn� zpr�va-----
> Od: Robert Kindl [mailto:rob(zv)exec(tec)cz]
>
> Podle mne si neuvedl, ze ten TDBLookupComboBox je uveden jiz
> na ancestor
> formulari.

Neni uveden na ancestor formulari.
Navic chyba se obcas projevi i u komponent jine tridy nez je
TDBLookupComboBox - ale ten u mne (co do cetnosti) vede. Resp. vedl, protoze
kdyz jsem si vypnul Autosave projektu (viz muj predchozi prispevek) tak se
chyba prestala projevovat (ale neverim tomu, ze uplne zmizela).

eNca


Konec aplikace.

[*] LUKES V�clav <lukes(zv)ans(tec)cz> - 22.2.2002 09:17:37


Ahoj,

mam nasledujici problemek. Rad bych, aby se me aplikace pred svym
uzavrenim zeptala, jestli ji chci opravdu koncit nebo ne.

Ve formulari jsem v sekci OnCloseQuery pouzil toto:
CanClose := (MessageDlg('Odchod ?', mtConfirmation, [mbYes, mbNo], 0) =
mrYes);

Takhle to krasne funguje, ale jsem jaksi v koncich, kdyz do formulare
pridam libovolne tlacitko a rad bych, aby jeho stisknuti delalo to
stejne.
Muze mi prosim nekdo poradit ?

Diky.

Vasek


jak programove zjistit, jestli je moje dll jiz zar

[*] Tomas Vida <vida(zv)uniware(tec)cz> - 22.2.2002 09:20:05

Ahoj,
mam app, pro jejiz chod musim mit zaregistrovane 3 dll knihovny jedne z
komponent. Zaregistrovat je programove bych uz umel, ale jak programove
zjistit, ze tyto knihovny uz zaregistrovane jsou? Asi by bylo docela
zbytecne je registrovat pri kazdem spusteni aplikace....

dekuji za radu
Tomas


DLL a PChar

[*] Pavel Gazda <Pavel.Gazda(zv)seznam(tec)cz> - 22.2.2002 09:20:13

Psal jsem, ze pouzivam nize uvedenou kostrukci. Nekdo (bohuzel jsem odpoved
smazal, tak nevim kdo)
me varoval, ze nedojde k uvolneni pameti. Muze mi nekdo poradit, jak si to
overit?
Testy, ktere jsem provadel ja, mi ukazovaly, ze k narustu velikosti
pouzivane pameti nedochazi.

Pavel


> Function Verze: Pchar; cdecl; export;
> begin
> Result := StrAlloc(length(VerStr)+1);
> StrPCopy(Result,VerStr+#0);
> end;
>

Hromadna zmena typu NVarChar na VarChar v SQL DB

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

Ahoj,
zda z Delphi to nevim, ale jde to udelat velice jednoduse skriptem v T-SQL a
ten je mozne spustit i z Delphi.
Postup je jednoduchy, otevrit view INFORAMATION_SCHEMA.COLUMS v cursoru,
vzit vsechny sloupce zalozene na typu nvarchar, sestavit si prikaz ALTER
COLUM jako retezec a ten spustit pomoci prikazu EXEC( '').

Pavel

potrebuji hromadne zmenit vsechny pole typu NVarChar na VarChar ve vsech
tabulkach MS SQL databaze. Jde to udelat z D5 najednou?
D5 Ent, W2K.

Hromadna zmena typu NVarChar na VarChar v SQL DB

[*] ing. Pavel Zilinec <zilinec(zv)email(tec)cz> - 22.2.2002 09:21:19

Nevim, jestli to muzes udelat z D5 - to uz zalezi na urovni pristupu
na SQL.
Postup by mohl byt nasledujici.
Do pomocne tabulky si das vsechny tabulky a sloupce, kterych se to
tyka a pak to v cyklu projedes a zmenis je vsechny pres ulozenou
proceduru (jen nevim pres kterou - to uz by ses musel podivat na
nejakou sp_???, ktera by to umela).
Pro ziskani typu pouzivat nasleduji select. Tady by stacilo vynechat
tabulku a sloupec, aby vratil vsechny + nainsertovat do pomocne tabulky

Nic z toho jsem jeste nezkousel, takze to neni zarucene, ale snad Ti
to pomuze.

/*TYP SLOUPCE*/
-- Zjisteni, zda je sloupec typu smallint (lze i z�skat primo nazev
typu - krokujte si pr�kaz exec sp_columns (zv)Table_Name = 'tabulka', (zv)Column_Name = 'sloupec' - odtud je to vykradeno)
-- Pozn.: Char ~ 1, Smallint ~ 5, Int ~ 4, VarChar ~ 12, DateTime ~ 11, Bit ~ -7, Money ~ 3
if 5 = (SELECT top 1 d.DATA_TYPE
FROM sysobjects o, master.dbo.spt_datatype_info d, systypes t, syscolumns c
LEFT OUTER JOIN syscomments m on c.cdefault = m.id AND m.colid = 1
WHERE o.name like 'TABULKA' AND
o.id = c.id AND
t.xtype = d.ss_dtype AND
c.length = isnull(d.fixlen, c.length) AND
(o.type not in ('P', 'FN', 'TF', 'IF') OR (o.type in ('TF', 'IF') and c.number = 0)) AND
isnull(d.AUTO_INCREMENT,0) = isnull(ColumnProperty (c.id, c.name, 'IsIdentity'),0) AND
c.xusertype = t.xusertype AND
c.name like 'SLOUPEC')

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

22.2.2002 Lumir Karas:
> Ahoj ve spolek,

> potrebuji hromadne zmenit vsechny pole typu NVarChar na VarChar ve vsech
> tabulkach MS SQL databaze. Jde to udelat z D5 najednou?

> Predem diky, Lumir.

> D5 Ent, W2K.

Konec aplikace.

[*] ing. Pavel Zilinec <zilinec(zv)email(tec)cz> - 22.2.2002 09:24:26

Podle helpu se dana udalst vola vzdy pri volani metody Close, takze by
to melo zabrat i na zmacknuti toho tlacitka.
Jinak by nebyl problem udelat si private funkci, ktera by se ptala a
tu volat jak v udalosti OnCloseQuery, tak na zmacknuti tlacitka.

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

22.2.2002 LUKES V�clav:

> Ahoj,

> mam nasledujici problemek. Rad bych, aby se me aplikace pred svym
> uzavrenim zeptala, jestli ji chci opravdu koncit nebo ne.

> Ve formulari jsem v sekci OnCloseQuery pouzil toto:
> CanClose := (MessageDlg('Odchod ?', mtConfirmation, [mbYes, mbNo], 0) =
> mrYes);

> Takhle to krasne funguje, ale jsem jaksi v koncich, kdyz do formulare
> pridam libovolne tlacitko a rad bych, aby jeho stisknuti delalo to
> stejne.
> Muze mi prosim nekdo poradit ?

> Diky.

> Vasek

Paradox-chyba pri otevirani tabulky

[*] Pavel �ejka <cejka(zv)proteco(tec)cz> - 22.2.2002 09:30:39

Ahoj,
mam databazi Paradox vytvorenou programem v DOS. Pri pokusu o otevreni tri z sesti tabulek v Database Desktop 7.0 se objevi chyba "UNKNOW INTERNAL OPERATING SYSTEM ERROR" a tabulka se neotevre. Pritom DOS program s databazi vesele pracuje.
Nevite nekdo proc?

Dik Pavel

Propojeni dvou tabulek v delphi

[*] snehulak <snehulak(zv)izs-br(tec)cz> - 22.2.2002 09:31:33

Zdravim vsechny,

jsem v delphi vicemene zacatecnik co se tyce tvorby databazi.Ted stojim pred
nasledujicim problemem:
Chci udelat databazi zamestnancu, kteri vlastni podnikovy majetek takze jsem
vytvoril jednu tabulku, ktera obsahuje hlavicku tj.jmeno,osob.cislo,rodne
cisl atd...
a druhou, ktera bude obsahovat ty zapujcene veci.Ale ted nevim jak to
propojit dohromady aby ty tabulky na sebe navazovali tzn. kdyz dam osobni
cislo 2 aby druha tabulka zobrazila to co vlastni clovek s os.cislem 2.
Nebo jde to udelat v ramci jedne tabulky?
Diky vsem za pripadnou radu


Konec aplikace.

[*] Jiri Novotny <novotny(zv)ftknw.upol(tec)cz> - 22.2.2002 09:41:32

> Ve formulari jsem v sekci OnCloseQuery pouzil toto:
> CanClose := (MessageDlg('Odchod ?', mtConfirmation, [mbYes, mbNo], 0) =
> mrYes);
>
> Takhle to krasne funguje, ale jsem jaksi v koncich, kdyz do formulare
> pridam libovolne tlacitko a rad bych, aby jeho stisknuti delalo to
> stejne.
> Muze mi prosim nekdo poradit ?

Ja myslim, ze staci volat v udalosti OnClick prislusneho buttonu
metodu Close pro formular. Protoze pak se zavola i OnCloseQuery a tim
padem se objevi i tvuj dotaz.

Jirka.

Propojeni dvou tabulek v delphi

[*] Radek KALA <Kala(zv)Atlas(tec)cz> - 22.2.2002 09:46:59

Pokud ti jde o to udelat napr v aplikaci dva Gridy, v jednom mit
seznam zamestnancu a v druhem majetek evidovany u toho
aktualne vybraneho zamestnance na kterem je kursor tak to jde,
muzis ale napsat co mas za databazi a jak se k ni pripojujes. Pro
zacatek se podivej u datasetu na vlastnost datasource.

> Zdravim vsechny,
>
> jsem v delphi vicemene zacatecnik co se tyce tvorby databazi.Ted
> stojim pred nasledujicim problemem: Chci udelat databazi zamestnancu,
> kteri vlastni podnikovy majetek takze jsem vytvoril jednu tabulku,
> ktera obsahuje hlavicku tj.jmeno,osob.cislo,rodne cisl atd... a
> druhou, ktera bude obsahovat ty zapujcene veci.Ale ted nevim jak to
> propojit dohromady aby ty tabulky na sebe navazovali tzn. kdyz dam
> osobni cislo 2 aby druha tabulka zobrazila to co vlastni clovek s
> os.cislem 2. Nebo jde to udelat v ramci jedne tabulky? Diky vsem za
> pripadnou radu
>
S pozdravem Radek KALA
BetaControl, s.r.o.
Cerneho 58/60, 635 00
tlf. : + 420 5 4622 3491
fax : + 420 5 4622 3470
GSM : + 420 603 85 75 15


Konec aplikace.

[*] Ben, Martin (CAP, GCF) <Martin.Ben(zv)gecapital(tec)com> - 22.2.2002 09:46:07

procedure TForm1.Button1Click(Sender: TObject);
begin
Close
end;

Martin Ben

> -----Original Message-----
> From: LUKES V�clav [mailto:lukes(zv)ans(tec)cz]
> Sent: Friday, February 22, 2002 9:18 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Konec aplikace.
>
>
>
> Ahoj,
>
> mam nasledujici problemek. Rad bych, aby se me aplikace pred svym
> uzavrenim zeptala, jestli ji chci opravdu koncit nebo ne.
>
> Ve formulari jsem v sekci OnCloseQuery pouzil toto:
> CanClose := (MessageDlg('Odchod ?', mtConfirmation, [mbYes,
> mbNo], 0) =
> mrYes);
>
> Takhle to krasne funguje, ale jsem jaksi v koncich, kdyz do formulare
> pridam libovolne tlacitko a rad bych, aby jeho stisknuti delalo to
> stejne.
> Muze mi prosim nekdo poradit ?
>
> Diky.
>
> Vasek
>

Dodatek k Delphi 6 UPD#2

[*] Jan Dvorak <dvorak(zv)szu(tec)cz> - 22.2.2002 09:54:57

Po hruzostrasne zprave Petra Palicky z 20. 2. 2002 se poptavam jinych
uzivatelu na zkusenosti s update pack. Nechtel bych se dostat do stavu, kdy
mi prestane vse fungovat v okamziku, kdy se pokousim o odstraneni nejakych
chybicek.
Diky predem za zkusenosti.

Ing. Jan Dvorak

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
> Behalf Of Petr Vones
> Sent: Friday, February 22, 2002 3:56 AM
> To: Konference Delphi
> Subject: Dodatek k Delphi 6 UPD#2
>
>
> Midaslib with resources strings
> This should fix the missing blank messages with MidasLib
> http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=17562
>
> Petr Vones


Propojeni dvou tabulek v delphi

[*] snehulak <snehulak(zv)izs-br(tec)cz> - 22.2.2002 09:59:22


> Pokud ti jde o to udelat napr v aplikaci dva Gridy, v jednom mit
> seznam zamestnancu a v druhem majetek evidovany u toho
> aktualne vybraneho zamestnance na kterem je kursor tak to jde,
> muzis ale napsat co mas za databazi a jak se k ni pripojujes. Pro
> zacatek se podivej u datasetu na vlastnost datasource.

Tou vlastnosti dataset si nastavim odkaz na komponentu table, ktera jiz
obsahuje odkaz na konkretni db soubor,potud to chapu a takhle to mam
udelane.Vytvoril jsem dve tabulky v database desktopu(paradox7) vytvoril pro
ne alias a obe mi funguji pomoci tech gridu a dbnavigatora v poradku jde do
nich vkladat mazat a tak podobne.Ale ted jak je spojit tak aby jak jste
rikal, jsem mel v jedne seznam zamestnancu a ve druhe ten majetek aktualniho
zamestnance v prvni tabulce.Omlouvam se jestli je to pro vas trivialni, ale
nemam zadnou literaturu a help v delphi mi pripada jaksi neprehledny :(

GetTempPath

[*] Milan ��ek <Cizek.Milan(zv)seznam(tec)cz> - 22.2.2002 10:18:26

ahoj,
pomoci funkce GetTempPath zjistuji cestu na temp adresar. Prilis se
mi ale nehodi, ze se cesta vraci ve zkraceenm tvatu s ~. Existuje
nejaky zpusob, jak ziskat tuto cestu v plne podobe?

S pozdravem Milan Cizek, amatersky programator, D5 Ent (SP1), D6 Ent
Win2k (SP2,Pre-SP3) a Win98 SE, cizek.milan(zv)seznam(tec)cz, ICQ: 59826637

______________________________________________________________________
S Oskarem je nyni seznameni tak rychle a snadne jako odeslani jedne SMS-ky.
http://ad2.seznam(tec)cz/redir.cgi?instance=21010%26url=http://www.oskarmobil(tec)cz/cz/products/seznamka_index.html


Propojeni dvou tabulek v delphi

[*] Radek KALA <Kala(zv)Atlas(tec)cz> - 22.2.2002 10:20:14

V te TTable kde mas majetek nastavis MasterSource ( promin sekl
jsem se v nazvu ) na tu se seznamem a potom nastavis vlastnost
MasterFields pomoci dialogu, tam musis nastavit kterymi fieldy se
tabulky spojuji. ( pozor musi to byt pres indexy )

>
> > Pokud ti jde o to udelat napr v aplikaci dva Gridy, v jednom mit
> > seznam zamestnancu a v druhem majetek evidovany u toho aktualne
> > vybraneho zamestnance na kterem je kursor tak to jde, muzis ale
> > napsat co mas za databazi a jak se k ni pripojujes. Pro zacatek se
> > podivej u datasetu na vlastnost datasource.
>
> Tou vlastnosti dataset si nastavim odkaz na komponentu table, ktera
> jiz obsahuje odkaz na konkretni db soubor,potud to chapu a takhle to
> mam udelane.Vytvoril jsem dve tabulky v database desktopu(paradox7)
> vytvoril pro ne alias a obe mi funguji pomoci tech gridu a
> dbnavigatora v poradku jde do nich vkladat mazat a tak podobne.Ale ted
> jak je spojit tak aby jak jste rikal, jsem mel v jedne seznam
> zamestnancu a ve druhe ten majetek aktualniho zamestnance v prvni
> tabulce.Omlouvam se jestli je to pro vas trivialni, ale nemam zadnou
> literaturu a help v delphi mi pripada jaksi neprehledny :(
>
S pozdravem Radek KALA
BetaControl, s.r.o.
Cerneho 58/60, 635 00
tlf. : + 420 5 4622 3491
fax : + 420 5 4622 3470
GSM : + 420 603 85 75 15


Tlacitka ve stylu Windows XP

[*] Ing. Petr �vejda <lingvista(zv)lingvista(tec)cz> - 22.2.2002 10:23:21

Takovy Windows Commander 5.0 po zmene stylu vzhledu zmeni i vzhled tlacitek,
atd. Muj program napsany v Delphi to "darebak" neudela. Jak ho mam
prinutit - jake mam pouzit komponenty?

Diky za pripadne prispevky.

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


Propojeni dvou tabulek v delphi

[*] Ben, Martin (CAP, GCF) <Martin.Ben(zv)gecapital(tec)com> - 22.2.2002 10:41:51

object Table1: TTable
DatabaseName = 'DBDEMOS'
TableName = 'customer.db'
end

object DataSource1: TDataSource
DataSet = Table1
end

object DBGrid1: TDBGrid
DataSource = DataSource1
end

object Table2: TTable
DatabaseName = 'DBDEMOS'
IndexName = 'CustNo'
MasterFields = 'CustNo'
MasterSource = DataSource1
TableName = 'orders.db'
end

object DataSource2: TDataSource
DataSet = Table2
end

object DBGrid2: TDBGrid
DataSource = DataSource2
end


Pokud misto TTable pouzijete TQuery, bude to vypadat takto:

object Query1: TQuery
DatabaseName = 'DBDEMOS'
SQL.Strings = ('select * from customer.db')
end

object DataSource1: TDataSource
DataSet = Query1
end

object Query2: TQuery
DatabaseName = 'DBDEMOS'
DataSource = DataSource1
SQL.Strings = ('select * from orders.db where custno=:custno')
end

object DataSource2: TDataSource
DataSet = Query2
end

TQuery musite propojit pomoci parametru, v tomto prikladu je parametrem
":custno" - custno je nazev fieldu v master query. Ve vasem pripade by to
melo vypadat nejak takto:
Query1.SQL.Strings:='select * from zamestnanci';
Query2.SQL.Strings:='select * from majetek where zamestnanec_id=:id'; //id
je skutecny sloupec v tabulce zamestnanci

Martin Ben

PS: tohle vsechno nastavte v Object Inspectoru

> -----Original Message-----
> From: snehulak [mailto:snehulak(zv)izs-br(tec)cz]
>
> Tou vlastnosti dataset si nastavim odkaz na komponentu table,
> ktera jiz
> obsahuje odkaz na konkretni db soubor,potud to chapu a takhle to mam
> udelane.Vytvoril jsem dve tabulky v database
> desktopu(paradox7) vytvoril pro
> ne alias a obe mi funguji pomoci tech gridu a dbnavigatora v
> poradku jde do
> nich vkladat mazat a tak podobne.Ale ted jak je spojit tak
> aby jak jste
> rikal, jsem mel v jedne seznam zamestnancu a ve druhe ten
> majetek aktualniho
> zamestnance v prvni tabulce.Omlouvam se jestli je to pro vas
> trivialni, ale
> nemam zadnou literaturu a help v delphi mi pripada jaksi
> neprehledny :(
>

Balicky

[*] Jaroslav Kuba <jarda(zv)tresoft(tec)cz> - 22.2.2002 10:56:38

Dobry den

mame rozsahlou aplikaci, kde je vetsina formularu odpichnuta
od nekolika predku a mam problem jak vytvorit balicky z modulu
tohoto systemu tak aby se vysledny exe soubor rozdelil na
nekolik balicku a jeden radove mensi exe, jakym zpusobem mam
vytvorit balicek z formulare ktery ma predka s dost slozitou funkcionalitou
a spoustou unit v sekcich uses. Zatim vsechny me pokusy konci
katastroficky, dialog s nekolika prvky v balicku dosahuje velikosti az 6 MB
coz pri velikosti vysledneho exe cca 14MB je naprosto nepochopitelne.

Nevim problem je asi mezi klavasnici a zidli, ale diky za kazde postrceni.

Delphi 5 Prof Win 2000 SP2

Jaroslav KUBA
jarda(zv)tresoft(tec)cz

Typ p�sma k tisku x rychlost tisku

[*] Tom� H�jek - 22.2.2002 10:57:37

Ahoj,

pot�ebuji poradit s tiskem. M�m jehli�kovou tisk�rnu, na kter� tisku tiskov�
sestavy z Delphi (komponenty QuickReport). P�smo m�m Arial velikosti asi 12.
Cht�l bych doc�lit toho, aby mi tisk�rna rychleji tiskla a hlavn� abych nem�l takovou
spot�ebu p�sky.

M��etemi tedy poradit jak� p�smo by se mohlo tisknout rychleji, �i n�jak� jin�
zp�sob tisku? (nap�. v DOSu tisk�rna tiskne rychle a levn�). Jde tedy pod Windows
tisknou st�jn�m zp�sobem jako v DOSu?

d�ky

Tom� H�jek
thajek(zv)autonaprodej(tec)cz


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


Hromadna zmena Charset v IB

[*] Pavel Cisar <pcb(zv)atlas(tec)cz> - 22.2.2002 11:03:18

Haj hou!

On 22 Feb 2002, at 8:03, ales(zv)kerner(tec)cz wrote:

> Jak zmenim hromadne Defaul charset na WIN1250 u vsech poli v tabulce?

Bez ztraty kvetiny ? Vytvorenim druhe databaze s pozadovanym
charsetem a presunem dat pomoci programu. Rovnez je mozne
vyextrahovat dat jako soucast scriptu (napr. pres IBQuery), upravit
charset v create database a spustit.

S pozdravem

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


obrazky mimo databazi IB

[*] Rado Benc <bego(zv)pobox.sk> - 22.2.2002 11:09:26

Nazdar,

> resim problem. Mam na interbase 6 databazi a v ni tabulku s
> obrazky, ale ty
> obrazky zabiraji enormni misto ackoliv jsou v jpeg.

Kde je problem? Mam 450+ MB databazu, obsahujucu 4500+
obrazkov a videosekvencii. Obrazky su vacsinou Jpeg, videa Mpeg, AVI,
ukladane
priamo do BLOB fieldov tabulky. Frontend je pisany v Delphi - fuguje ako
prehliadac a vyhladavavac - obrazky maju popis, format, kategorie apod.
Najvacsi BLOB ma velkost 7,2 MB, priemerne asi 100 kB. Presne merania som
nerobil, rozdiel oproti "klasickemu" file pristupu vsak nie je
pozorovatelny.

> Premyslel jsem tedy, ze
> bych ty obrazky dal mimo databazi jako normalni soubory na disku(to neni
> problem). Ale tyto obrazky potrebuji spojit s tabulkou a dostat selectem.
> Nevite jak by to �lo udelat?

V mojom pripade islo o jednoduchu prenositelnost celej databazy -
reinstalacia stroja, presun na iny server, zmena adresarovej struktury,
apod - akonahle ulozis do databazy len cesty - mame problem Houston.

> Napadlo me pouzit UDF funkci, ktera by mela
> jako klic nazev souboru a hledala v urcenem adresari obrazek, ale
> nevim jak by takova funkce s parametrem BLOB mela vypadat. Nebo nekoho
> napada lepsi zpusob?

Vybrat sa cestou UDF povazujem za velmi odvazne (ak vobec realizovatelne).

IMHO je jednoduchsie ukladat obrazky priamo do BLOBov a citat a zapisovat
pomocou TBlobStream.

Tu je kus kodu na ilustraciu :

procedure TFormMain.LoadImage(ImageType: Integer);
var
Data: TBlobStream;
FName: String;
FS: TFileStream;
ImgG: TGifImage;
ImgJ: TJpegImage;
begin
MediaPlayer.Close;
Screen.Cursor := crHourGlass;
Data := TBlobStream.Create(QueryImageIMAGE_DATA, bmRead);
FBlobSize := Data.Size div 1024;
try
case ImageType of
1: begin
ImgJ := TJpegImage.Create;
ImgJ.LoadFromStream(Data);
Image.Picture.Assign(ImgJ);
Image.Visible := TRUE;
ImgJ.Free;
end;
2: begin
ImgG := TGifImage.Create;
ImgG.LoadFromStream(Data);
Image.Picture.Assign(ImgG);
Image.Visible := TRUE;
ImgG.Free;
end;
3, 4, 5:
begin
FName := GetTemporaryPath +
ExtractFileName(QueryImageORIGINAL_NAME.AsString);
FS := TFileStream.Create(FName, fmCreate);
QueryImageIMAGE_DATA.SaveToStream(FS);
FS.Free;
Image.Visible := FALSE;
MediaPlayer.FileName := FName;
MediaPlayer.Open;
ActionStepping.Enabled := TRUE;
MediaPlayer.Frames := 1;
MediaPlayer.Notify := TRUE;
MediaPlayer.Position := 0;
FOriginalRect := MediaPlayer.DisplayRect;
end;
end;
finally
Data.Free;
Screen.Cursor := crDefault;
end;
AdjustImage;
end;

HTH,

Rado


____________________________________
http://www.logofun.pobox.sk - urobte radost svojmu telefonu


Tlacitka ve stylu Windows XP

[*] Standa <Ooman(zv)centrum(tec)cz> - 22.2.2002 11:21:22

No tohle ted resili na www.zive(tec)cz sou tam dva clanky jeden pro Builder a
jeden pro Delphi.
----- Original Message -----
From: "Ing. Petr �vejda" <lingvista(zv)lingvista(tec)cz>
To: "Konference Delphi" <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, February 22, 2002 10:23 AM
Subject: Tlacitka ve stylu Windows XP


> Takovy Windows Commander 5.0 po zmene stylu vzhledu zmeni i vzhled
tlacitek,
> atd. Muj program napsany v Delphi to "darebak" neudela. Jak ho mam
> prinutit - jake mam pouzit komponenty?
>
> Diky za pripadne prispevky.
>
> Petr
> ---
> Odchoz� zpr�va neobsahuje viry.
> Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
> Verze: 6.0.325 / Virov� b�ze: 182 - datum vyd�n�: 19.2.2002
>
>

Problemy s IB serverem / klientem

[*] Rado Benc <bego(zv)pobox.sk> - 22.2.2002 11:23:12

Nazdar,

> mame aplikaci, ktera pravidelne rekneme jednou za 5 minut ma
> provadet jakousi aktualizaci dat na serveru. Problem je v tom, ze
> nahodne, jednou za cas, vznikne vyjimka a my nezname duvod,
> proc. To by ale nevadilo - umime ji osetrit, aplikace se z ni zotavi.

[snip]

> Error writing data to the connection.
> unknown Win32 error 10054
> 31.12.2001 8:15:23 Chyba v procedu�e aktualizace:
> Unable to complete network request to host "ben".

WSAECONNRESET

(10054)

Connection reset by peer.

A existing connection was forcibly closed by the remote host.
This normally results if the peer application on the remote
host is suddenly stopped, the host is rebooted, or the remote
host used a "hard close" (see setsockopt for more information
on the SO_LINGER option on the remote socket.)

> Mate nekdo tuseni, o co by mohlo jit? Server bezi na linuxu a je to
> IB6 nebo nejaka starsi verze Firebirdu. Ted to nevim, pokud to je
> dulezite, zjistim to.

Mal som kedysi taketo problemy a suviseli zo sietovym switchom - po
vymene switcha to prestalo. Chyba sa vyskytovala pri dlhotrvajucich
neaktivnych pripojeniach (radovo niekolko hodin pri minimalnom prenose
dat). Napada ma teda - je klient pripojeny k servru trvale, alebo
pri kazdej aktualizacii nadvazuje spojenie?

V situacii, ktoru popisujes by som sa pri kazdej aktualizacii radsej
pripojil znovu a po nej odpojil - ako je to mozne.

FWIW,

Rado



____________________________________
http://www.logofun.pobox.sk - urobte radost svojmu telefonu


EmptyTable - mazani obsaho cele tabulky

[*] Peter Surovy <psurovy(zv)uevora.pt> - 22.2.2002 10:24:40 -0000

Ahoj

----- Original Message -----
From: "Pavel ZIDEK" <delphi(zv)kopr(tec)cz>
Sent: Thursday, February 21, 2002 5:23 PM


> Jakmile rozjedu program se zavrenou tabulkou, a tabulku
> otevru az v za behu programu, tak vse funguje jak ma.
> Mam snad neco v DELPHI spatne nastaveno ?

To neviem len ja som mal presne ten isty problem
s komponentou TTable v Delphi5 Ent
ked nastavis vlastnost Active=True v Object Inspectore
uz tu tabulku nezavries :-(
Riesil som to presne tak ako Ty otvaram ju az v runtime
a funguje to v pohode.

S pozdravom Peter Surovy


Propojeni dvou tabulek jak vytvorit ten index

[*] snehulak <snehulak(zv)izs-br(tec)cz> - 22.2.2002 11:46:39

Ted uz akurat nechapu jak vytvorit ten index.Kdyz dam v database desktopou
hvezdicku k tomu key tak stejne v te druhe tabulce a masterfields neni ten
field....

Balicky

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 22.2.2002 12:07:32

> Dobry den
>
> mame rozsahlou aplikaci, kde je vetsina formularu odpichnuta
> od nekolika predku a mam problem jak vytvorit balicky z modulu
> tohoto systemu tak aby se vysledny exe soubor rozdelil na
> nekolik balicku a jeden radove mensi exe, jakym zpusobem mam
> vytvorit balicek z formulare ktery ma predka s dost slozitou
funkcionalitou
> a spoustou unit v sekcich uses. Zatim vsechny me pokusy konci
> katastroficky, dialog s nekolika prvky v balicku dosahuje velikosti az 6
MB
> coz pri velikosti vysledneho exe cca 14MB je naprosto nepochopitelne.
>
> Nevim problem je asi mezi klavasnici a zidli, ale diky za kazde postrceni.

V aplikaci mam balicek spolecne.bpl a datovymodul.bpl, ten prvni obsahuje
prvky spolecne pro ostatni balicky, ten druhy prvky pro pripojeni k DB apod.
Ostatni balicky pak maji v sekci required nastavene tyto dva balicky a
vzhledem tomu, ze jsou nektere i mensi nez tyto dva, tak soudim, ze to
funguje tak jak by melo :-)
Asi by bylo dobre uvest trochu vic informaci (priklad jak jsou form v
baliccich rozdeleny)...

Roman
- - - - - - - - - - - - - - - - - - - - -
http://kouzelne.misto(tec)cz/

Problemy s IB serverem / klientem

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 22.2.2002 12:10:49

> Mal som kedysi taketo problemy a suviseli zo sietovym switchom - po
> vymene switcha to prestalo. Chyba sa vyskytovala pri dlhotrvajucich
> neaktivnych pripojeniach (radovo niekolko hodin pri minimalnom prenose
> dat). Napada ma teda - je klient pripojeny k servru trvale, alebo pri
> kazdej aktualizacii nadvazuje spojenie?
>
> V situacii, ktoru popisujes by som sa pri kazdej aktualizacii radsej
> pripojil znovu a po nej odpojil - ako je to mozne.
>

Klient neni pripojeny trvale - pred aktualizaci se pripoji a po ni
odpoji. Dlouhotrvajici neaktivni spojeni tak nepripada v uvahu.
Problem bude nekde jinde.

D�k za snahu.

David Lebeda


Hromadna zmena Charset v IB

[*] ales(zv)kerner(tec)cz - 22.2.2002 12:16:18

> Bez ztraty kvetiny ? Vytvorenim druhe databaze s pozadovanym
Dat je tam malo, ale databaze je rozsahla poli, takze se mi nechce prepisovat
tu databazi, data si zmenim externe, ale potrebuji zmenit proste vsechny
charset na win1250.

> Haj hou!
>
> On 22 Feb 2002, at 8:03, ales(zv)kerner(tec)cz wrote:
>
> > Jak zmenim hromadne Defaul charset na WIN1250 u vsech poli v tabulce?
>
> Bez ztraty kvetiny ? Vytvorenim druhe databaze s pozadovanym
> charsetem a presunem dat pomoci programu. Rovnez je mozne
> vyextrahovat dat jako soucast scriptu (napr. pres IBQuery), upravit
> charset v create database a spustit.
>

Transparentni TNotebook

[*] Reesha <reeshad(zv)seznam(tec)cz> - 22.2.2002 12:17:30

Nastav si u komponenty TPageControl vlastnost Style:=tsFlatButtons a u
jednotlivych Pages TabVisible:=False.

R. Strunc

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of Fredy Crueger
Sent: Wednesday, February 20, 2002 9:14 PM
To: Delphi
Subject: Transparentni TNotebook


Potreboval bych neco ve stylu stare komponenty TNotebook, kde jsou pouze
stranky bez nejakych prepinacich prvku. Ale hlavne mi jde o to, aby byl
transparetni. Proste takovy neviditelny Container, ktery ma vice ploch, na
kterych uchovava urcite komponenty.

(zv)----------------------------------(zv)
Fredy (nightmare) Crueger
Buried on Win98SE with Delphi 5 Ent.
(zv)----------------------------------(zv)

Tlacitka ve stylu Windows XP

[*] PeJaSoft <pejasoft(zv)volny(tec)cz> - 22.2.2002 12:21:16

Zdar a silu,

mas 2 moznosti:
prvni a jednodussi moznost je ke svemu exe souboru vytvorit xml soubor:
napr. mujprg.exe -> mujprg.exe.manifest, ktery bude vypadat nasledovne:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly
xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
name="CiaoSoftware.Ciao.Shell.Contacts"
processorArchitecture="x86"
version="5.1.0.0"
type="win32"/>
<description>Muj superprogram</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>

druha moznost je vytvorit z tohoto souboru resource a pridat ke sve
aplikaci.
Presny popis sezenes nekde na internetu. Nedavno jsem to cetl na nejakem
ceskem serveru. (mozna www.zive(tec)cz)

S pozdravem

Petr Jarkovsky
pejasoft(zv)post(tec)cz

----- Original Message -----
From: "Ing. Petr �vejda" <lingvista(zv)lingvista(tec)cz>
> Takovy Windows Commander 5.0 po zmene stylu vzhledu zmeni i vzhled
tlacitek,
> atd. Muj program napsany v Delphi to "darebak" neudela. Jak ho mam
> prinutit - jake mam pouzit komponenty?

Dll a IBSQL Acces Violation

[*] ales(zv)kerner(tec)cz - 22.2.2002 12:22:21

Prepsal jsem si nekolik procedur do dll, ale porad nemohu rozchodit
nasledujici proceduru IBRUNSQL.

Pokud to bylo primo v programu, tak to bylo OK, ale v DLL to porad hlasi acces
violation at adress 00000000. Read of adress 00000000.

delaji to sekce:

if Transaction.InTransaction then Transaction.Commit;
Transaction.StartTransaction;
ExecQuery;
Transaction.Commit;

nemuzu s tim hnout, zkousel jsem misto TObject dat primo IBSQL a nepomaha, v
dll a programu mam sharemem, kvuli objektum a stringum.

Prosim o nakopnuti

Ales

vypis procedury:

{----------------------------------------------------------
Proveden� SQL p��kazu
P�ed�van� �daje: IBSQL, SQL Dotaz
----------------------------------------------------------}
procedure IBRunSQL(IBSQL: TObject; SQLPrikaz: String); stdcall;
begin
if IBSQL.ClassName='TIBSQL' then begin
with TIBSQL(IBSQL) do begin
if Transaction.InTransaction then Transaction.Commit;
Transaction.StartTransaction;
SQL.Clear;
SQL.Add(SQLPrikaz);
ExecQuery;
Transaction.Commit;
end;
end else begin
Hlaska:='Procedura IBRunSQL:'+Chr(13)+
'P�ed�van� t��da mus� b�t TIBSQL a ne '+IBSQL.ClassName+'! ';
MsgBox(0,PChar(Hlaska),'Chyba - IBUtils.dll',MB_OK + MB_ICONERROR);
end;
end;

OT: Nabidka zamestnani

[*] Jaroslav N�dhera <nadhera(zv)csh(tec)cz> - 22.2.2002 12:31:34

Nutne potrebujeme jednoho cloveka na podporu zakazniku (instalace programu,
poradenstvi, spise drobnejsi upravy, upravy tiskovych sestav apod.). Pouze
na HPP, pracoviste v Praze. Znalost Delphi vyhodou. Pokud o nekom vite,
dejte mi vedet na muj soukromy mail.

J. N�dhera

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

Typ p�sma k tisku x rychlost tisku

[*] Prokopec M. <prokopec(zv)algo-hk(tec)cz> - 22.2.2002 12:39:03

Ahoj Tomasi,

vyzkousej zmenit nastaveni zvolene tiskarny tak, ze snizis kvalitu tisku na
Koncept a snizis rozliseni. Ve Win se totis standardne tiskne graficky,
kdesto v Dosu textove. A konkretne QReport nema, kdyztak me nekdo opravte,
moznost volit zpusob tisku - graphic/text.

Dej vedet vysledek!

Cau Michal

----- Original Message -----
From: Tom� H�jek
To: Konference Delphi
Sent: Friday, February 22, 2002 10:57 AM
Subject: Typ p�sma k tisku x rychlost tisku


Ahoj,

pot�ebuji poradit s tiskem. M�m jehli�kovou tisk�rnu, na kter� tisku
tiskov�
sestavy z Delphi (komponenty QuickReport). P�smo m�m Arial velikosti asi 12.
Cht�l bych doc�lit toho, aby mi tisk�rna rychleji tiskla a hlavn� abych
nem�l takovou
spot�ebu p�sky.

M��etemi tedy poradit jak� p�smo by se mohlo tisknout rychleji, �i n�jak�
jin�
zp�sob tisku? (nap�. v DOSu tisk�rna tiskne rychle a levn�). Jde tedy pod
Windows
tisknou st�jn�m zp�sobem jako v DOSu?

d�ky

Tom� H�jek
thajek(zv)autonaprodej(tec)cz


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


Typ p�sma k tisku x rychlost tisku

[*] Michal Sefcik <sefcik(zv)benefitcz(tec)cz> - 22.2.2002 12:44:01

My jsme resili tisk v textovem rezimu vzdy volbou fontu FixedSys a vyskou vsech
komponent (QRLabelu, QRDBTextu, Bandu ...) v nasobcich 8 (v souladu s dokumentaci
Qusoftu)
----- P�vodn� zpr�va -----
Od: Tom� H�jek
Komu: Konference Delphi
Odesl�no: 22. �nora 2002 10:57
P�edm�t: Typ p�sma k tisku x rychlost tisku


Ahoj,

pot�ebuji poradit s tiskem. M�m jehli�kovou tisk�rnu, na kter� tisku tiskov�
sestavy z Delphi (komponenty QuickReport). P�smo m�m Arial velikosti asi 12.
Cht�l bych doc�lit toho, aby mi tisk�rna rychleji tiskla a hlavn� abych nem�l takovou
spot�ebu p�sky.

M��etemi tedy poradit jak� p�smo by se mohlo tisknout rychleji, �i n�jak� jin�
zp�sob tisku? (nap�. v DOSu tisk�rna tiskne rychle a levn�). Jde tedy pod Windows
tisknou st�jn�m zp�sobem jako v DOSu?

d�ky

Tom� H�jek
thajek(zv)autonaprodej(tec)cz


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


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


Propojeni dvou tabulek jak vytvorit ten index

[*] Ben, Martin (CAP, GCF) <Martin.Ben(zv)gecapital(tec)com> - 22.2.2002 12:49:51

V Database Desktopu mas v okne Create Paradox Table volbu Table properties
(vpravo nahore). Vyber Secondary Indexes a vytvor si potrebne indexy.
Hvezdicka urcuje primarni index, ale ke kazde tabulce muzes vytvorit celou
radu dalsich indexu podle potreby. S tabulkou potom musis dodavat i soubory
s indexy (zjednodusene receno podle masky "tabulka.*"). Indexy muzes
vytvaret i dynamicky.

Martin Ben

> -----Original Message-----
> From: snehulak [mailto:snehulak(zv)izs-br(tec)cz]
>
> Ted uz akurat nechapu jak vytvorit ten index.Kdyz dam v
> database desktopou
> hvezdicku k tomu key tak stejne v te druhe tabulce a
> masterfields neni ten
> field....
>

Typ p�sma k tisku x rychlost tisku

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 22.2.2002 13:01:58

From: Tomas Hajek

> potrebuji poradit s tiskem. Mam jehlickovou tiskarnu,
> na ktere tisku tiskove sestavy z Delphi (komponenty QuickReport).
> Pismo m�m Arial velikosti asi 12.
> Chtel bych docilit toho, aby mi tiskarna rychleji tiskla
> a hlavne abych nemel takovou spotrebu pasky.
>
> Muzetemi tedy poradit jake pismo by se mohlo tisknout rychleji,
> ci nejaky jiny zpusob tisku? (napr. v DOSu tiskarna tiskne rychle a
levne).
> Jde tedy pod Windows tisknou stejnym zpusobem jako v DOSu?

Zmena pisma v tomto pripade nepomuze.
Musi se zmenit rezim tisku, nepouzivat
rezim graficky, ale textovy.
V zasade jsou dve moznosti:
- tisknout pres ovladac tiskarny
Obecne nebo textove (Generic Text Only)
- odesilat sestavu primo na port tiskarny,
bez ovladace tiskarny

Zpusob realizace je zavisly pozadovanych funkcich
a na verzi Delphi i OS.

Vaclav Krmela

Tlacitka ve stylu Windows XP

[*] Josef Semera <semera(zv)atlas(tec)cz> - 22.2.2002 13:01:00

Ve stejnym adresari musis mit soubor( nebo to dat do resource) stylu
jmenuj�c� se "program.exe.manifest" a s obsahem ...

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="CompanyName.ProductName.YourApplication"
type="win32"
/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>


Na http://www.lischke-online.de/ThemeManager.html je dobry priklad jak
pouzit XP Styly

Hlavne je potreba si opravit ComCtrls.pas.

> -----Original Message-----
>: Tlacitka ve stylu Windows XP
>
> Takovy Windows Commander 5.0 po zmene stylu vzhledu zmeni i vzhled
> tlacitek,
> atd. Muj program napsany v Delphi to "darebak" neudela. Jak ho mam
> prinutit - jake mam pouzit komponenty?

Dodatek k Delphi 6 UPD#2

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.2.2002 13:33:38

From: "Jan Dvorak" <dvorak(zv)szu(tec)cz>
> Po hruzostrasne zprave Petra Palicky z 20. 2. 2002 se poptavam jinych
> uzivatelu na zkusenosti s update pack. Nechtel bych se dostat do stavu, kdy
> mi prestane vse fungovat v okamziku, kdy se pokousim o odstraneni nejakych
> chybicek.

Ahoj,

ty 'hruzostrasne zpravy' se tykaly akorat nejake stare verze IBX. V zasade
plati, ze 3rd party balicky by se mely radeji prelozit znovu. V Update Packu
je opraveno nekolik zasadnich chyb, takze ve stavu ze neco nefunguje jsi spise
ted.

Petr Vones


Synapse - pozadavek metodou POST

[*] Gebauer Lukas <gebylist(zv)mlp(tec)cz> - 22.2.2002 13:43:01


Jak to vypada, problem byl v nespravnem formatu dat, kteremu server
nerozumnel a cekal az mu prijde neco smysluplneho, zatimco Synapse
cekala na odpoved serveru. Tedy az by vyprsel Timeout, byla by
zahlasena chyba.

Pro vsechny, kteri chteji na tmto poli experimentovat vskazuji, aby
si precetli prislusne RFC dokumenty, v tomto pripade napriklad
RFC2388. pro uplnost dodavam, ze to RFC si prectete trebas tady:

http://www.faqs.org/rfcs/rfc2388.html


> mam jeden problem. Stahl jsem si synapsi a ucim se komunikovat s HTTP
> serverem a resim nasledujici. Stahl jsem si program Proxomitron a sleduji
> pozadavky na server. Snazim se odesilat metodou POST jednu (i vice)
> promennou PHP skriptu, ktery data zpracuje a vrati vystup. Mam nasledujici
> kod (viz nize), ktery spoustim buttonem. Pri sledovani proximotronem se
> odeslou hlavicky, ale pak to vypise "Posting 16 bytes..." a nedeje se nic,
> program zatuhne. (pri posilani z norm. html formulare se za "Posting 16
> bytes..." odeslou krasne vsechny promenne a pak vporadku prijde odezva
> serveru s vystupem).


-- Lukas Gebauer.

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

Tlacitka ve stylu Windows XP

[*] Frantisek Augusztin <afsoft(zv)host.sk> - 22.2.2002 14:00:51


IP�> Takovy Windows Commander 5.0 po zmene stylu vzhledu zmeni i vzhled tlacitek,
IP�> atd. Muj program napsany v Delphi to "darebak" neudela. Jak ho mam
IP�> prinutit - jake mam pouzit komponenty?

IP�> Diky za pripadne prispevky.

Ale bacha na Listview a ImageList - je o tom pisane na Borland
community.

Frantisek Augusztin
afsoft(zv)host.sk
http://www.afsoft.sk


Tlacitka ve stylu Windows XP

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.2.2002 14:09:09

From: "Frantisek Augusztin" <afsoft(zv)host.sk>
> Ale bacha na Listview a ImageList - je o tom pisane na Borland
> community.

Ahoj,

ta chyba v TListView je prave opravena v D6 Update Packu #2. Jinak co se tyce
XP Theme, doporucuji tohle: http://www.lischke-online.de/ThemeManager.html

Petr Vones


DLL a PChar

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.2.2002 14:21:01

From: "Pavel Gazda" <Pavel.Gazda(zv)seznam(tec)cz>
> Psal jsem, ze pouzivam nize uvedenou kostrukci. Nekdo (bohuzel jsem odpoved
> smazal, tak nevim kdo)me varoval, ze nedojde k uvolneni pameti. Muze mi
> nekdo poradit, jak si to overit?
>
> > Function Verze: Pchar; cdecl; export;
> > begin
> > Result := StrAlloc(length(VerStr)+1);
> > StrPCopy(Result,VerStr+#0);
> > end;

Ahoj,

staci se podivat na ten kod, pomoci StrAlloc pamet alokujes, pak uz ji ale
nikde neuvolnis. Takhle se zkratka s retezci nepracuje, pred casem jsem sem
posilal nekolik zpusobu jak tohle resit:
http://delphi(tec)cz/soubor.asp?rok=2002&mesic=feb&den=14&soubor=dlfaaaby.htm

Jinak pro zjisteni neuvolnene pameti muzes pouzit napriklad tyto nastroje. Ne
vzdy jsou vsak vysledky ktere tyto nastroje ukazuji naprosto spravne:
http://www.automatedqa.com/downloads/memproof.asp
http://www.turbopower.com/products/Sleuth/

Petr Vones


Hromadna zmena Charset v IB

[*] Rado Benc <bego(zv)pobox.sk> - 22.2.2002 14:58:45


> > vyextrahovat dat jako soucast scriptu (napr. pres IBQuery), upravit
> > charset v create database a spustit.

pokial mas moznost vyexportovat data z databazy a naexportovat ich nazad,
je to jednoduche:

Pomocou IBConsole urob extrakt metadat, alebo:

isql localhost:f:\data\test.gdb -x -m -u SYSDBA -p masterkey -o
f:\data\test.sql

Dostanes nieco ako:

SET SQL DIALECT 3;

/* CREATE DATABASE 'f:\data\test.gdb' PAGE_SIZE 4096

DEFAULT CHARACTER SET */

atd zmen na:

CONNECT 'f:\data\test.gdb'
USER 'SYSDBA' PASSWORD 'masterkey';
DROP DATABASE;
CREATE DATABASE 'F:\Data\test.gdb' PAGE_SIZE 4096
USER 'SYSDBA' PASSWORD 'masterkey'
DEFAULT CHARACTER SET WIN1250
;

ostatne nechaj tak ako bolo a skript spust:

isql -i f:\data\test.sql -o f:\data\test.log -m

Tym vytvoris databazu s novym default charsetom a uz staci len
naimportovat data.

HTH,

Rado

____________________________________
http://www.pobox.sk/ - urcujeme trendy

DLL a PChar

[*] Pavel Gazda <Pavel.Gazda(zv)seznam(tec)cz> - 22.2.2002 14:59:10

> staci se podivat na ten kod, pomoci StrAlloc pamet alokujes, pak uz ji ale
> nikde neuvolnis. Takhle se zkratka s retezci nepracuje, pred casem jsem
sem
> posilal nekolik zpusobu jak tohle resit:

> Petr Vones
>

Ahoj,


to jsem si puvodne rikal taky, ale uvolnit pouzitou pamet muze volajici
rutina.
vyzkousim jeste nastroje dle odkazu a overim si to.
Navrhovane postupy pravdepodobne nemuzu pouzit.

Co to znamena, ze vysledky nejsou vzdy spravne ?
Pokud napr 1000x alokuji 1000bytu, tak by mel byt rozdil znat. Nebo ne ?

Pavel

TIBQuery ApplyUpdates Append a Insert

[*] Josef Semera <semera(zv)atlas(tec)cz> - 22.2.2002 15:07:10

Podud je IBQuery prazdne a provedu


IBQuery1.Append;
IBQuery1.Cancel;
IBQuerz1.ApplyUpdates;

dostanu chybu "Record not found".

V konferenci se jiz o tom mluvilo ale vycerpavaji odpov�� jsem nenasel.

Josef Semera

D5prof SP1, IBX 5.02 - 5.03

DLL a PChar

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

From: "Pavel Gazda" <Pavel.Gazda(zv)seznam(tec)cz>
> to jsem si puvodne rikal taky, ale uvolnit pouzitou pamet muze volajici
> rutina.

Nemuze. Protoze pamet je alokovana *jinym* memory managerem (v samostatne
DLL) nez by se pak mela uvolnovat, takze pokus o uvolneni memory managerem
ktery pamet nealokoval skonci chybou.

> Co to znamena, ze vysledky nejsou vzdy spravne ?
> Pokud napr 1000x alokuji 1000bytu, tak by mel byt rozdil znat. Nebo ne ?

Jiste, ale muze to nekdy ukazovat neuvolnene alokace, ktere ve skutecnosti
neuvolnene nejsou.

Petr Vones


TStringGrid & posun sloupcu

[*] Martin Bab�k <M.Babik(zv)mus(tec)cz> - 22.2.2002 15:55:03

Zdravim,
mam problem s posunem sloupcu u TSG. Pri zmenseni okna (neni videt cely TSG) se sloupce pri kliknuti do krajniho sloupce vpravo, jenz neni videt cely posunou do leva tak, ze prvni neni videt vubec.:-( V celem TSG je zakazana editace, krome toho praveho krajniho sloupce. ScrollBars = ssVertical. Nevite jak toto chovani eliminovat?Diky


M&B

Hook klavesnice

[*] pavel.ales(zv)popron(tec)cz - 22.2.2002 16:19:44


Nevite nekdo o nejake komponente pro dobry monitoring klavesnice ve windows
keyspy me zklamala....
Diky moc

Ales Pavel
D5 Ent W2000
Technical Specialist
Popron Consulting - Your System Integrator
www.popronconsulting(tec)cz
Popron Building
Jeremiasova 947
Prague 5
155 00

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

jak programove zjistit, jestli je moje dll jiz zar

[*] Kakacka Pavol <kakacka(zv)proca(tec)cz> - 22.2.2002 16:19:30

From: "Tomas Vida" <vida(zv)uniware(tec)cz>
> mam app, pro jejiz chod musim mit zaregistrovane 3 dll knihovny jedne z
> komponent. Zaregistrovat je programove bych uz umel, ale jak programove
> zjistit, ze tyto knihovny uz zaregistrovane jsou? Asi by bylo docela
> zbytecne je registrovat pri kazdem spusteni aplikace....

To zalezi na tom, co tym myslis "zaregistrovat". Jedna sa o nejake vlastne
registrovanie alebo o COM objekty?
V podtstate by ale malo platit, ze registrovanie sa ma urobit len raz a to
pri instalacii aplikacie, pretoze je to jednak casovo narocne a jednak
zbytocne.

Kakacka Pavol
KasiX(zv)atlas(tec)cz


funkce Crypt pod delphi

[*] Vymazal Milan <vymazal.milan(zv)seznam(tec)cz> - 22.2.2002 16:28:06

Zdravim

nema tady nekdo naprogramovanou funkci crypt() v delphi
nebo nevite o nejake komponente. Je to neco na styl DES


Milan


WinNT - procesy, uzivatele

[*] <xwoman2(zv)centrum(tec)cz> - 22.2.2002 17:25:09

Mam nainstalovanou sluzbu pod WinNT4, potreboval bych zjistit
jmeno prihlaseneho uzivatele. Sluzba na nej nejak nevidi,
pouzival jsem normalne API GetUserName, ale sluzbu spousti
system... a jeste jeden proble, mam proces, mam od nej vse:
ThreadID, Caption, PID, ale potreboval bych jmeno souboru, ktery
tento proces spustil (proste to, co je v TaskManageru) a tridu
TProcessEntry32 WinNT neznaj.

Diky za radu

Bauglir

-------------------------------
Bronislav Klucka
mail: xwoman2(zv)centrum(tec)cz
ICQ: 109718536
telefon: +420605582922


===== www.centrum(tec)cz doporu�uje =====
Novinky v automobilov�m sv�t� na:
http://auto.centrum(tec)cz

TStringGrid & posun sloupcu

[*] Martin Cajbik <cajbik(zv)sct.sk> - 22.2.2002 17:57:51

Neviem ci je to pres to co chces ale mozes pouzit FixedCols.

MarCaNT (marcant(zv)sct.sk)

Zdravim,
mam problem s posunem sloupcu u TSG. Pri zmenseni okna (neni videt cely TSG)
se sloupce pri kliknuti do krajniho sloupce vpravo, jenz neni videt cely
posunou do leva tak, ze prvni neni videt vubec.:-( V celem TSG je zakazana
editace, krome toho praveho krajniho sloupce. ScrollBars = ssVertical.
Nevite jak toto chovani eliminovat?Diky


M&B

nastaveni textu v ComboBoxu

[*] 3dimenzion <3dimension(zv)seznam(tec)cz> - 22.2.2002 18:04:40

Dobry den,
nedari se mi nastavit v programu text v ComboBoxu.
prikaz ComboBox1.text := 'XYZ'; nefunguje.
Dekuji za rady.

Vytvoreni Clip Regionu

[*] Pavel Dohnal <dohnal(zv)mp-soft(tec)cz> - 22.2.2002 18:14:06

Toto je zprava ve formatu MIME obsahujmcm vmce hastm.
Dobry den,
nevite nekdo jak vytvorit Clip Region, takovy ten ctverecek, ktery
orezava kreslici prikazy?
Zkousel jsem nasledujici kod:
var
DC:HDC;
RGN,RG:HRGN;
aaa:TRect;
begin
DC:=GetDC(Form1.Handle);
RGN:=CreateRectRgn(Obj.x,Obj.y-1,Obj.dx,Obj.dy);
SelectClipRgn(DC,RGN);
aaa:=Form1.Canvas.ClipRect; // po provedeni se zde ulozi (0,0,0,0)
GetClipBox(Dc,aaa); // po provedeni je zde (0,0,0,0)
GetClipRgn(Dc,RG); // po provedeni je RG<>RGN
SelectClipRgn(DC,0);
ReleaseDC(Form1.Handle,DC);
end;
Ovsem tento kod nefunguje tak jak bych si predstavoval a neorezava
vystupni operace.
Nevite nekdo co s tim?
Diky
Pavel Dohnal
D5

nastaveni textu v ComboBoxu

[*] Martin Macko <martinm(zv)m-pro(tec)cz> - 22.2.2002 18:35:23

pekna specifikace chyby - jako tipicki zakaznik :)
nefunguje znamena ze se ti nezmeni itemindex nebo co presne ?
naplneny items predpokladam mas ...

na nastaveni itemindex muzes pouzit metodu ...Items.IndexOf('XYZ')


-----Original Message-----
prikaz ComboBox1.text := 'XYZ'; nefunguje.

---
Avast: Odchoz� zpr�va vyhodnocena jako �ist�
Datum a �as testov�n�: 22.2.2002 18:35:23
Datum virov� datab�ze (VPS): 18.2.2002
Avast! antivirus od Alwil Software


Avast32 (VPS 18.2.2002): zprava neobsahuje virus


nastaveni textu v ComboBoxu

[*] Peter Surovy <psurovy(zv)uevora.pt> - 22.2.2002 17:37:11 -0000

Ahoj

----- Original Message -----
From: "3dimenzion" <3dimension(zv)seznam(tec)cz>
Sent: Friday, February 22, 2002 5:04 PM


> nedari se mi nastavit v programu text v ComboBoxu.
> prikaz ComboBox1.text := 'XYZ'; nefunguje.

co je to nefunguje?
Ked si spustis novy project a
trebars v Oncreate formu napises
ComboBox1.text := 'XYZ'
a bude to fungovat zrejme je chyba niekde
v Tvojom kode.
Skus pouzit :
combobox1.items.Add('XYZ');
To sice prida item ale
Hadam je to to co potrebujes.
S pozdravom Peter Surovy.

nastaveni textu v ComboBoxu

[*] Jaroslav Uher <moravia(zv)mbox.vol(tec)cz> - 22.2.2002 18:56:34

Ahoj,

On 22 Feb 2002, at 18:04, 3dimenzion wrote:

> Dobry den,
> nedari se mi nastavit v programu text v ComboBoxu.
> prikaz ComboBox1.text := 'XYZ'; nefunguje.
> Dekuji za rady.

musis pouzit IndexOf - viz help
ComboBox1.ItemIndex := ComboBox1.Items.IndexOf('XYZ');

Jarek Uher


Dodatek k Delphi 6 UPD#2

[*] Robert Kindl <rob(zv)exec(tec)cz> - 22.2.2002 19:39:59

> V Update Packu
> je opraveno nekolik zasadnich chyb, takze ve stavu ze neco nefunguje jsi
spise
> ted.
> Petr Vones

Ve stavu, ze neco nefunguje jsi predtim i potom.
Neco je opravene neco ne.
Jen mne strasi kdy se dostane na bugreporty, ktere jsem ja hlasil.
Maji totiz cislo cca 400000 zatimco Borland
opravil naposledy chybu 127239.
Je mi jasne, ze mnoho veci se opakuje,
ale presto rozdil mezi SP1 a SP2 je jen 127239-116265 tj. cca 11000.

Rob

PS.
Z oprav neuvedenych v d602fixes:
Opraven byl problem s konverzi Variant na OleVariant projevujici se mj. pri
praci s TBytesFields.
Opraven byl problem zpusobujici ztratu prazdnych radek pri zobrazeni
formulare jako textu.
Zadna z dalsich mne znamych chyb opravena nebyla.

IDE smaze hodnotu property

[*] Robert Kindl <rob(zv)exec(tec)cz> - 22.2.2002 19:39:54

> Neni uveden na ancestor formulari.
> Navic chyba se obcas projevi i u komponent jine tridy nez je
> TDBLookupComboBox - ale ten u mne (co do cetnosti) vede. Resp. vedl,
protoze
> kdyz jsem si vypnul Autosave projektu (viz muj predchozi prispevek) tak se
> chyba prestala projevovat (ale neverim tomu, ze uplne zmizela).
> eNca

Ano ztraci se jakekoliv odkazy libovolnych komponent do jinych formularu.
Ke ztrate dochazi aniz by jsi musel soubor modifikovat.
Proste formular musi byt otevren do Delphi
a za urcitych okolnosti se odkaz vynuluje.

Po vypnuti Autosave Delphi pochopitelne automaticky
neulozi soubor se ztracenou property (odstranenym odkazem).
Ulozeni se provede jen na tvuj prikaz.
Tim se urcite snizi riziko ztraty, ale problem se neodstrani.

U normalnich Formularu deklarovanych:
TForm1 = class(TForm)
jsem problemy nikdy nepozoroval.
U formularu zdedenych:
TForm2 = class(TForm1)
se problem 100% vyskytuje u komponent vlozenych na TForm1
a propert vyplnenych az na TForm2 odkazujicich se napr. na TDatamodule1.

Je samozrejme mozne, ze ke ztrate dochazi i jindy,
ale jak jiz jsem rekl, nepozoroval jsem to.
Ve vyse uvedenem pripade se naopak
property ztrati 100% mimo jine pri kazdem recompile nejakeho package
(pochopitelne je-li pritom formular otevren).

Rob

IB IBQuery1 neaktualizuje

[*] Josef K�n <jkyn(zv)iol(tec)cz> - 22.2.2002 19:46:42

[P��loha v souboru: winmail.dat]
Mam aplikaci

IBDatabase1-IBTransaction1 a IBQuery1

Nactu data do gridu a jinou aplikac je modifikuji a ukoncim comitwork neznam
zpusob

ja data aktualizovat zaviram ibquery jedine co pomuze odpojit IBdatabase a
opet pripojit dekuji za kazdou radu


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

Jak na sdileni???

[*] Mr_IQ <mr_iq(zv)seznam(tec)cz> - 22.2.2002 20:21:24

Jak nastavit sd�len� slo�ek v Win9x? Pokud mo�no n�zorn�
p��klad.

funkce Crypt pod delphi

[*] Vot�pka V�clav <Vaclav.Votipka(zv)merlin(tec)cz> - 22.2.2002 21:05:20

vybrat si muzes treba tady:

http://www.torry.net/cryptstrong.htm

eNca

> -----P�vodn� zpr�va-----
> Od: Vymazal Milan [mailto:vymazal.milan(zv)seznam(tec)cz]
> Odesl�no: 22. �nora 2002 16:28
> Komu: delphi-l(zv)clexpert(tec)cz
> P�edm�t: funkce Crypt pod delphi
>
>
> Zdravim
>
> nema tady nekdo naprogramovanou funkci crypt() v delphi
> nebo nevite o nejake komponente. Je to neco na styl DES
>
>
> Milan
>

pixely, ach jo, co s nima??

[*] Ing. Ji�� SOKOL <JS-delphi(zv)seznam(tec)cz> - 22.2.2002 21:47:31

Zdravim,

chci si udelat komponentu pro tisk a dostal jsem se do problemu.
Chci pouzivat TPanel, na ktery si uzivatel muze naskladat Label-y
nebo Memo-s /:)/. Z pozice jednotlivych Label-u a Memo-s na tom
panelu chci urcit pozici pro tiskarnu. A to je fakt problem. Kazda
tiskarna ma jine DPI a tak pokazde je to jinde.
Muzete mi poradit?

A jeste bych chtel vysvetlit neco, co fakt nechapu.
Mam:

TextOut(x0,(y0+i*TextHeight(Memo1.Lines.Strings[i])),
Memo1.Lines.Strings[i]);

Nemuzu pochopit, ze kdyz je TextHeight=46 pri fontu TimesNew vel. 30,
a kdyz tam dosadim tohle cislo, tak je vysledek uplne jiny.
Cili chci docilit stejny vysledek takto:

TextOut(x0,(y0+i*46),Memo1.Lines.Strings[i]);

Ale stejne to neni! Jak to???

Ze by chyba??

Diky Jirka

______________________________________________________________________
"Znate indukcni plotynky? V poradne na Bilem Zbozi muzete diskutovat
zkusenosti s jinymi. http://poradna.bilezbozi(tec)cz"

krizovka

[*] Pavel =?ISO-8859-2?Q?Slav=EDk?= <pavel.prog(zv)centrum(tec)cz> - 22.2.2002 22:34:07

Zdravim,
mel bych naprogramovat generator krizovek, ale moc si s tim
nevim rady. Navite nekdo o nejakem algoritmu nebo o strankach,
kde se tento problem resi.
diky za radu
Pavel

===== www.centrum(tec)cz doporu�uje =====
Novinky v automobilov�m sv�t� na:
http://auto.centrum(tec)cz

Dodatek k Delphi 6 UPD#2

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.2.2002 01:22:50

From: "Robert Kindl" <rob(zv)exec(tec)cz>
> Ve stavu, ze neco nefunguje jsi predtim i potom. Neco je opravene neco ne

Jasne, ale porad je update packem opraveno vice veci nez bez neho ;-)

> Jen mne strasi kdy se dostane na bugreporty, ktere jsem ja hlasil.
> Maji totiz cislo cca 400000 zatimco Borland opravil naposledy chybu 127239.

Defect# a ID ktere jsi obdrzel neni imho totez.

> Zadna z dalsich mne znamych chyb opravena nebyla.

Ktere napriklad ?

Nejlepsi zpusob je porovnat zdrojaky pred a po updatu, tim zjistis co bylo ve
skutecnosti opraveno. Chyby jejichz oprava by vyzadovala zmenu rozhrani jsou
reseny az v dalsi verzi (vyjimkou potvrzujici pravidlo je akorat WebSnap - viz
WEBSNAP61.BPL).

Petr Vones


krizovka

[*] Ondrej Kr�ko <krsko(zv)gjh.sk> - 23.2.2002 10:56:25

backtracking :-)
brat slova zo slovnika a ukladat ich, ak sa uz neda, treba sa vratit spat...

----- Original Message -----
From: "Pavel Slav�k" <pavel.prog(zv)centrum(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, February 22, 2002 10:34 PM
Subject: krizovka


> Zdravim,
> mel bych naprogramovat generator krizovek, ale moc si s tim
> nevim rady. Navite nekdo o nejakem algoritmu nebo o strankach,
> kde se tento problem resi.
> diky za radu
> Pavel
>
> ===== www.centrum(tec)cz doporu�uje =====
> Novinky v automobilov�m sv�t� na:
> http://auto.centrum(tec)cz
>
>

EmptyTable - mazani obsaho cele tabulky

[*] Pavel ZIDEK <delphi(zv)kopr(tec)cz> - 23.2.2002 11:14:28

Jako normalni mi to pripada, ale az ted.
Tato skutecnost totiz neni nikde popsana - aspon jsem to nikde necetl - a v
diskusi, ktera na toto tema jiz probehla v teto konferenci se o tom taky
nikdo nezminil.
takze diky za odpoved, snad to pomuze i jinym.
pavel

> > Nez jsem stacil tento mail odeslat, tak jsem prisel na to, ze tu
> > otevrenou tabulku drzi DELPHI. Jakmile rozjedu program se zavrenou
> > tabulkou, a tabulku otevru az v za behu programu, tak vse funguje jak
> > ma. Mam snad neco v DELPHI spatne nastaveno ?
>
> Nevim, jestli tomu dobre rozumim, ale pokud mas v dobe navrhu
> tabulku otevrenou (v Delphi), tak mi popisovane chovani prijde zcela
> normalni a v poradku. Delphi je proste druhym "prihlasenym"
> uzivatelem, se vsemi dusledky, co k tomu patri.
>
> David Lebeda


Jak na sdileni???

[*] Mr_IQ <mr_iq(zv)seznam(tec)cz> - 23.2.2002 11:39:04

Jak nastavit sdileni slozek v Win9x? Pokud mozno nazorny
priklad.

Dodatek k Delphi 6 UPD#2

[*] Robert Kindl <rob(zv)exec(tec)cz> - 23.2.2002 12:16:03

> > Jen mne strasi kdy se dostane na bugreporty, ktere jsem ja hlasil.
> > Maji totiz cislo cca 400000 zatimco Borland opravil naposledy chybu
127239.
> Defect# a ID ktere jsi obdrzel neni imho totez.

Doufam :-)

> > Zadna z dalsich mne znamych chyb opravena nebyla.
> Ktere napriklad ?

Myslim, ze jsem i sem nejake posilal.
Napr. Exception v ntdll.dll pri startu Delphi byla-li otevrena nejaka
TStrings property v IDE editoru.
Nebo chyby ukladani v rezimu View as Text. Druhy Save jiz vyvola chybu
"Stream read error".
Navic se v tomto rezimu ceske znaky ukladaji v CP1250 a nikoliv pomoci
#UTF8.
Chyba v TDBComboxu kde AutoComplete funkce vesele zkousi editovat ReadOnly
dataset.
Atd..

> Nejlepsi zpusob je porovnat zdrojaky pred a po updatu, tim zjistis co bylo
> ve skutecnosti opraveno.

To jsem samozrejme udelal uz jen proto abych si tam
doplnil ty vsechny fixy chyb ktere jsem za ta leta vyvinul
z nichz nektere tam doplnuji jiz od Delphi 3.

> Chyby jejichz oprava by vyzadovala zmenu rozhrani jsou
> reseny az v dalsi verzi (vyjimkou potvrzujici pravidlo je akorat WebSnap -
> viz WEBSNAP61.BPL).

Nejdulezitejsi je aby spolehlive fungovalo IDE
a aby nebyly chyby v systemovych knihovnach (komplatoru).
Vse ostatni se zdroji se da (musi) nejak priohnout.

A zmena rozhrani? No ja nevim. Ve VCL jsou desitky chyb,
ktere se zmenou rozhrani nijak nesouvisi.
Na druhou stranu je tam spousta koncepcne naprosto
katastrofalnich veci, ktere nikdo z duvodu zpetne kompatibility
nevylepsuje a vylepsit ani nemuze.

Prijde mi, ze se casto jedna o "kompatibilitu" typu
Bylo to blbe => programatori si zvykli, bude to tak i nadale
hlavne aby nemeli problem to prelozit.
Staci kdyz jeden "chytrej" napise do konference,
ze mu jeho projekt z 5 let stare verze Delphi
nejde v nejnovejsi verzi prelozit
a hromada jinych usoudi, ze nove Delphi
maji spoustu novych chyb a problemu
a zacnou rozebirat magii suda/licha verze apod.

To pak souvisi s tim jestli je tim programatorem
tzv. klikac, ktery nechape co se deje a nevi proc
se neco menilo (muselo zmenit) a nebo
nekdo, kdo dokaze problem pochopit
a ocenit ano takhle to je funkcnejsi,
koncepcnejsi, cistejsi, univerzalnejsi apod.

Ale to uz jsme uplne nekde jinde ...

Rob

Jak na sdileni???

[*] Lud�k ZITA <konference(zv)sales(tec)cz> - 23.2.2002 12:55:39


----- Original Message -----
From: "Mr_IQ" <mr_iq(zv)seznam(tec)cz>

> Jak nastavit sdileni slozek v Win9x?

Ahoj.
Napriklad takhle :

uses Windows;

function ConnectDisk(const Path, Pwd: string; const Disk: char): Boolean;
var
D: string;
begin
D := UpCase(Disk) + ':';
RESULT := DirectoryExists(D);
if RESULT then Exit;
WNetAddConnection(Pchar(Path), Pchar(Pwd), Pchar(D));
RESULT := DirectoryExists(D);
end;
---
Odchoz� zpr�va neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.320 / Virov� b�ze: 179 - datum vyd�n�: 30.1.2002


IB IBQuery1 neaktualizuje

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 23.2.2002 13:32:00

> IBDatabase1-IBTransaction1 a IBQuery1
>
> Nactu data do gridu a jinou aplikac je modifikuji a ukoncim comitwork
> neznam zpusob
>
> ja data aktualizovat zaviram ibquery jedine co pomuze odpojit
> IBdatabase a opet pripojit dekuji za kazdou radu

Pomuze bud poradne nastavit vlastnosti IBTransaction1, nebo
krome zavirani IBQuery zavirat i transakci.
Pokud se pouzije komponenta IBTransaction, tak implicitne
pouziva rezim snapshot - tj. transakce nevidi zadne zmeny v
databazi, ktere se odehraly od jejiho otevreni (s vyjimkou tech,
ktere provedla sama). To muze byt casto zadouci a casto ne.
Pokud na ni dvojkliknes a vyberes Read commited, melo by to byt
lepsi.
No a nejlepsi je aplikaci psat tak, aby ses v co nejvic pripadech
dokazal vyhnout dlouho otevrenym transakcim, tj. data nekam
nacist, transakci ukoncit a az zas budes od databaze neco
potrebovat, udelat to v kratke transakci.

David Lebeda


Dodatek k Delphi 6 UPD#2

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.2.2002 15:10:40

From: "Robert Kindl" <rob(zv)exec(tec)cz>
> Nejdulezitejsi je aby spolehlive fungovalo IDE a aby nebyly chyby v

Obavam se, ze k tomuhle asi nekdy tezko dojde, protoze nektere chyby v IDE se
velmi tezko simuluji a vetsinou se projevi znamym AV in CORIDExx.BPL apod. Ne
vzdy je to chyba IDE ale take chybne napsanych 3rd party component a expertu.

> Na druhou stranu je tam spousta koncepcne naprosto katastrofalnich veci,
> ktere nikdo z duvodu zpetne kompatibility nevylepsuje a vylepsit ani nemuze.

Bohuzel, zpetna kompatibilita je pro Borland porad dost dulezita. Na druhou
stranu, tezko rict jestli by slo VCL koncepcne nejak zasadne predelat aby to
bylo vyrazne lepsi. Ovsem opravit veci v implementaci by asi stalo za to.
Nicmene Borland, jako asi kazda jina firma chce i vydelavat, takze se
soustreduji na pridavani novych vlastnosti.

> Bylo to blbe => programatori si zvykli, bude to tak i nadale hlavne aby
> nemeli problem to prelozit.

Presne tak. Vzij se ale do situace Borlandu, kdy jim diky zmene (ktera sice
bude lepsim resenim) zacnou na tech.support busit tisice lidi, ze to "nejde
prelozit". Tohle je mozna jeden z duvodu, proc do veci radeji moc nestouraji.

Pred casem v JEDI-VCL mailing listu probehla debata o takove 'malickosti' jako
je nastaveni kompilatoru 'Assignable typed constants', ktere bylo ve vychozim
stavu povoleno, coz je z principu spatne a svadi to k nectistym technikam. V
te dobe byl v tom listu i nekdo od Borlandu, kde sice potvrdil ze je to pravda
ale zmena by vyvolala prilis problemu typu "Co jste s tim udelali, vzdyt me to
takhle leta fungovalo". Teprve az v Delphi 6 se odvazili to zmenit.

Osobne me prevod rozsahle (predevsim GUI) aplikace do vyssi verze Delphi
prijde vcelku jako nesmyslna cinnost. Je asi lepsi to udrzovat v te puvodni
nebo cele predelat, protoze v te nove verzi je zpravidla vice moznosti jak to
udelat lepe (typicky priklad jsou treba ActionListy).

> Staci kdyz jeden "chytrej" napise do konference, ze mu jeho projekt z 5 let
> stare verze Delphi nejde v nejnovejsi verzi prelozit a hromada jinych
> usoudi, ze nove Delphi maji spoustu novych chyb a problemu a zacnou
> rozebirat magii suda/licha verze apod.

Tohle uz asi patri k obecnemu folkloru ;-) Nemalo vyvojaru asi posuzuje kod
podle toho ze "nejak funguje", ale neni schopno pochopit, ze napriklad pri
prechodu na novou verzi, kdy nejaky bastl prestal fungovat neni problem v
Delphi, ale v jejich spatnem kodu. Castecne k tomu asi prispiva i sam Borland,
protoze neni moc advanced literatury o Delphi, o dokumentaci k VCL nemluve.
Treba teprve az ted v C++ Builderu 6 je dokumentovano Open Tool API.

> To pak souvisi s tim jestli je tim programatorem tzv. klikac, ktery nechape
> co se deje a nevi proc se neco menilo (muselo zmenit) a nebo nekdo, kdo
> dokaze problem pochopit a ocenit ano takhle to je funkcnejsi, koncepcnejsi,
> cistejsi, univerzalnejsi apod.

To je asi to co jsem napsal vyse. Je pravda, ze treba RTL v Delphi 6 je
pomerne dobre predelana (jiste, naslo se tam par chyb ale ty nejhorsi jsou
opraveny) a napriklad interface pro synchronizaci threadu je vice univerzalni.
Bohuzel jeho implementace ve VCL (Forms.pas) ma co se tyce kompatibility s
predchozim resenim jiste problemy (nefunguje v DLL). Pokud se na to podivas,
tak zjistis ze to reseni je vlastne cistsi a nabizi vice moznosti. Z pohledu
cloveka ktery tomu nerozumi a jen prelozi (zrovna DLL) ktera mu fungovala
zacne nadavat.

Petr Vones


Problemy z CoolTrayIcon

[*] Martin Kasman <martinkasman(zv)pobox.sk> - 23.2.2002 15:59:33

D6, WinXP

Pouzivam komponentu CoolTrayIcon (zobrazuje TrayIcon) a mam nastavene
StartMinimized na True (program sa spusti minimalozovany v ikone). Program
ma odkaz v Po spusteni a pravdepodobne vdaka tomu sa nie vzdy ikona pri
starte Windows zobrazi. Skusal som dat do Po spusteni miesto odkazu na
program cely program a cuduj sa svete potom to uz fungovalo. Co mam spravit
aby sa ikona zobrazila aj pri spustani cez odkaz? (pri akomkolvek inom
spustani u za behu Windowsu sa ikona zobrazi vzdy)


Vdaka za kazdu radu.

Dodatek k Delphi 6 UPD#2

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 23.2.2002 16:55:41

> Osobne me prevod rozsahle (predevsim GUI) aplikace do vyssi verze
> Delphi prijde vcelku jako nesmyslna cinnost. Je asi lepsi to udrzovat
> v te puvodni nebo cele predelat, protoze v te nove verzi je zpravidla
> vice moznosti jak to udelat lepe (typicky priklad jsou treba
> ActionListy).
>

No - me to tak nesmyslne neprijde. Ted mam D5, ale z drivejsi
doby existuje stale dost aplikaci psanych tenkrat v D4 a me
neprijde zrovna prijemne mit kvuli tomu na pocitaci vsechny starsi
verze Delphi. Takze bych aplikaci rad vzal a prelozil ve vyssi verzi
bez uprav nebo jen s drobnymi upravami. Jinak by to byl drahy
spas.

David Lebeda


Dodatek k Delphi 6 UPD#2

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.2.2002 17:00:36

From: "Lebeda David" <david.lebeda(zv)comarr(tec)cz>
> Takze bych aplikaci rad vzal a prelozil ve vyssi verzi bez uprav nebo jen s
> drobnymi upravami. Jinak by to byl drahy spas.

Problem je v tom, ze pod pojmem "drobne upravy" si kazdy predstavuje neco
uplne jineho.

Petr Vones


Cas v tabulce

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 23.2.2002 17:26:13

On 19 Feb 2002 at 22:57, Petr Vones wrote:

> From: "Viktor Marek" <viktor(zv)mbox.vol(tec)cz>
> > Pokud se nepletu tak den zacina 00:00 a konci 24:00 a to je 24 hodin
> > (1440
>
> Ne, hodiny se cisluji od 0 do 23. Udaj 24:00 je stejne nesmyslny jako
> treba 21:60

24:00 neni nesmysl, zejmena pokud se ma s casem pocitat (kolik casu
zbyva do pulnoci, napriklad).

S pozdravem

Zbysek Hlinka

Phone: 0603 551 282


Cas v tabulce

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.2.2002 17:34:27

From: "Zbysek Hlinka" <hlinka(zv)hlinka(tec)cz>
> 24:00 neni nesmysl, zejmena pokud se ma s casem pocitat (kolik casu
> zbyva do pulnoci, napriklad).

Dobre, pokud se jedna o udaj udavajici delku trvani neceho a ne konkretni
cas (napriklad celkova delka skladeb na audio CD) tak je to spravne.

Petr Vones


DBGrid & azbuka

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 23.2.2002 17:36:21

On 19 Feb 2002 at 8:47, mkotaska(zv)atlas(tec)cz wrote:

> Ahoj,
> byl jsem postaven pred ukol zpracovat slovnik CJ-RJ.
> Rad bych ukladal slovni ekvivalenty do DB (asi nejlepe Paradox) a
> upravoval je pomoci DBGridu. Co vse mam nastavit, aby se spravne
> zobrazovaly jak ceske, tak ruske znaky spolecne. Pokud by mel nekdo
> nejaky napad,odkazy , budu velice rad. Problem se da zobecnit na ukol
> soucasneho zobrazeni cestiny a jakehokoli jineho jazyka nepouzivajici
> latinku nebo pouzivajici svoje specificka interpunkcni znamenka
> (francoustina, spanelstina). Dalsi problem je, co vsechno je nutne pro
> to, aby se znaky bezpecne ulozily do databaze.

Tohle ti nutne nebude fungovat. Musis si vybrat databazi, ktera
podporuje unicode retezce (tedy nikoliv Paradox), a dale nejake
komponenty, ktere umeji zobrazovat a zpracovavat primo unicode, ne
nejakou okliku pres ansi. DBGrid ti nic takoveho korektne neumozni,
protoze pracuje v ansi, ani zadne dalsi standardni Delphi komponenty.
Korektne s unicode na vsech urovnich bude pracovat nova verze OLE DB
komponent, ale ty zverejnim, az budu mit cas dodelat demopriklady.
Ale mozna najdes na webu uz neco uvolneneho.

S pozdravem

Zbysek Hlinka

Phone: 0603 551 282


Integrace MSDN nebo Platform SDK do Delphi IDE

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.2.2002 17:57:30

Pekny IDE expert na toto najdete tady (Delphi 6):
http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=16981

Petr Vones


Cas v tabulce

[*] Viktor Marek <viktor(zv)mbox.vol(tec)cz> - 23.2.2002 19:14:13

> > Ne, hodiny se cisluji od 0 do 23. Udaj 24:00 je stejne nesmyslny jako
> > treba 21:60
>
> 24:00 neni nesmysl, zejmena pokud se ma s casem pocitat (kolik casu
> zbyva do pulnoci, napriklad).

Zdravim

No to jsem rad ze nejsem tak uplne mimo. Konkretni problem je tento.
Predelavam svuj DOSovsky program "knihu jizd", ktera mimo jine provadi i
vyuctovani pracovnich cest pro nahrady.
Potichu dodavam, ze PCFand umoznoval zadani casu 24:00 a zakladem PCFandu je
Pascal.

napr:
10.02 2002 08:00 vyjizdim na sluzebni cestu
10.02 2002 12:00 jsem na miste a ubytuji se
10.02 2002 od 12:00 do 24:00 pobyt na miste
pracovni vykon je od 08:00 do 24:00
11.02 2002 00:00 az 24:00 jsem na sluzebni ceste (jednani, vecere .....)
pracovni vykon je od 00:00 do 24:00
12.02 2002 00:00 az 08:00 (spanek, snidane,priprava na odjezd, odjezd)
12.02 2002 13:00 prijezd a sluzebni cesta konci
pracovni vykon je od 00:00 do 13:00

Problem je tedy v tom, ze tabulka nechce vzit cas 24:00 a tvrdi ze je
nelegalni.
Nahrady stravneho jsou v pasmech 5-12hod 12-18hod 18-24hod
Teoreticky (a co je mozno teoreticky se stane i prakticky) se tedy muze
stat, ze z duvodu nemoznosti
zadani casu 24:00 dojde k chybnemu vypoctu cestovni nahrady.

Nechci tento problem zvelicovat ale spise mne zarazila nemoznost zadani teto
logicke hodnoty
a princip problemu. Asi neni tezke tuto situaci vnitrne osetrit a uzivatel
at si klidne zada 23:59
Nazor, ze 24:00 je neprukazna hodnota a nebylo by zrejme do ktereho dne
patri je lichy
Na prvni pohled je zrejme ze se jedna o posledni mozny casovy udaj daneho
dne (neuvazuji skryta mista s,ms,ns.....)

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

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


Cas v tabulce

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

From: "Viktor Marek" <viktor(zv)mbox.vol(tec)cz>
> 10.02 2002 08:00 vyjizdim na sluzebni cestu
> 10.02 2002 12:00 jsem na miste a ubytuji se
> 10.02 2002 od 12:00 do 24:00 pobyt na miste

Pobyt na miste: 10.2.2002 12:00 az 11.2.2002 0:00
Popripade muzes pouzit 'az do konce dne', tedy do 11.2.2002 0:00 nevcetne

Pokud budes pocitat vse jako TDateTime tak to mas jednoduche.

Pouziti casoveho udaje 24:00 je stejny nesmysl jako: 14:00 => 13:60

Petr Vones


Rozlozenie nazvu suboru

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 23.2.2002 19:52:46

From: "Martin Kasman" <martinkasman(zv)pobox.sk>
> Kedysi som pouzival jednu Delphi funkciu, do ktorej vstup bol nazov suboru s
> celou cestou a vystup bol cesta subora, nazov a pripona zvlast. Nemozem tu
> funkciu teraz narychlo najst. Neviete niekto jej nazov?

Ahoj,

pokud vim tak takova funkce byla jeste ve starem Paskalu ale ne v Delphi.
Muzes pouzit funkce ExtractFilePath a spol nebo pak PathExtractElements z JCL:
http://delphi-jedi.org/Jedi:CODELIBJCL

Petr Vones


Dodatek k Delphi 6 UPD#2

[*] Robert Kindl <rob(zv)exec(tec)cz> - 23.2.2002 20:41:52

> > Nejdulezitejsi je aby spolehlive fungovalo IDE a aby nebyly chyby v
> Obavam se, ze k tomuhle asi nekdy tezko dojde, protoze nektere chyby v IDE
se
> velmi tezko simuluji a vetsinou se projevi znamym AV in CORIDExx.BPL apod.
Ne
> vzdy je to chyba IDE ale take chybne napsanych 3rd party component a
expertu.

Jo s tim souhlasim, instalaci ruznych "uzitecnych" komponent a wizardu
je mozno polozit DelphiIDE bez jakehokoliv problemu.
Otazkou je nakolik je to stejne chybou Borlandu/Delphi nebot
jak jsi spravne rekl chybi dokumentace, priklady, od dulezitych unit
casto chybi i zdrojaky. Pak je tezke napsat neco kvalitniho.
Dalsi veci je, ze IDE je malo robustni a zhrouti se po prvni chybe.
Prirovnal bych to k Windows.
W9X je temer po kazde AV nutno restartovat.
Ve W2K aplikaci odstrelim a jedu dal.
Vim, ze se mi to snadno rika, ale z vlastni zkusenosti
vim jak by to pomohlo. Kolikrat uz jsem pri vyvoji
vlastnich component Delphi musel
restartovat (odstrelit), vymazat dsk soubor ani radsi nepocitam.

> > Na druhou stranu je tam spousta koncepcne naprosto katastrofalnich veci,
> > ktere nikdo z duvodu zpetne kompatibility nevylepsuje a vylepsit ani
nemuze.
> Bohuzel, zpetna kompatibilita je pro Borland porad dost dulezita. Na
druhou
> stranu, tezko rict jestli by slo VCL koncepcne nejak zasadne predelat aby
to
> bylo vyrazne lepsi. Ovsem opravit veci v implementaci by asi stalo za to.
> Nicmene Borland, jako asi kazda jina firma chce i vydelavat, takze se
> soustreduji na pridavani novych vlastnosti.

Souhlasim.
Ale opet je tu problem.
Temer vsechny nove veci mely brutalni radu trivialnich chyb.
Misto robustniho reseni se pridavaji nedodelky
a polovicata reseni napr. na ADOX,DBX, IBX, ActionBands atd.
A nebyly to jen detske nemoci. Casto se daly odstranit
jen kdyby se to u Borlandu pokusil nekdo trochu pouzit/otestovat.

> Osobne me prevod rozsahle (predevsim GUI) aplikace do vyssi verze Delphi
> prijde vcelku jako nesmyslna cinnost. Je asi lepsi to udrzovat v te
puvodni
> nebo cele predelat, protoze v te nove verzi je zpravidla vice moznosti jak
to
> udelat lepe (typicky priklad jsou treba ActionListy).

To je trochu jinak. Nevim jaka je tvoje zkusenost,
ale nase praxe je nejprve kompletni prevod do vyssi verze
a pak postupne zlepsovani pouzitim novych technologii (napr. ActionListu).
To ma nekolik duvodu:
1) Ne vsichni clenove tymu se zabyvaji jadrem aplikace (technologiemi).
Vetsina jich jen pouziva hotovy "toolkit" a sustreduje se predevsim na
samotne reseni problemu uzivatelu, analyzu atd.
Takze neni cas na nejake dlouhe vychytavky.
Prevod se musi udelat pokud mozno najednou
a oni pak rovnou pokracuji tam kde prestali.
2) Dost dobre nelze nejprve vse preprogramovat "moderne" a pak to prevadet.

> To je asi to co jsem napsal vyse. Je pravda, ze treba RTL v Delphi 6 je
> pomerne dobre predelana (jiste, naslo se tam par chyb ale ty nejhorsi jsou
> opraveny) a napriklad interface pro synchronizaci threadu je vice
univerzalni.
> Bohuzel jeho implementace ve VCL (Forms.pas) ma co se tyce kompatibility s
> predchozim resenim jiste problemy (nefunguje v DLL). Pokud se na to
podivas,
> tak zjistis ze to reseni je vlastne cistsi a nabizi vice moznosti. Z
pohledu
> cloveka ktery tomu nerozumi a jen prelozi (zrovna DLL) ktera mu fungovala
> zacne nadavat.

Tohle zrovna je znovu o tom testovani Borlandu. Kdyby to nove reseni u nich
nekdo
otestoval na realne aplikace (a ne na tech demo prikladech z roku 1997 co se
k Delphi dodavaji)
tak by na to treba prisli.
Nebo proc vyrabeji evidentni chyby napr:
Kod ve Forms.pas D3,D4,D5:

function TApplication.IsMDIMsg(var Msg: TMsg): Boolean;
begin
Result := False;
if (MainForm <> nil) and (MainForm.FormStyle = fsMDIForm) and
(Screen.ActiveForm <> nil) and
(Screen.ActiveForm.FormStyle = fsMDIChild) then
Result := TranslateMDISysAccel(MainForm.ClientHandle, Msg);
end;

Kod ve Forms.pas D6:

function TApplication.IsMDIMsg(var Msg: TMsg): Boolean;
begin
Result := False;
if (MainForm <> nil) and (MainForm.FormStyle = fsMDIForm) and
(Screen.ActiveForm <> nil) then
Result := TranslateMDISysAccel(MainForm.ClientHandle, Msg);
end;

Jak vidno vypadl radek testujici je-li aktivni okno MDIChild.
Pritom test na (Screen.ActiveForm <> nil) tam zustal a ted je uplne
zbytecny.
Minimalne je uprava tedy polovicata - jednu radku smazali a druhou uz ne?!
Mozna jsem jen ten "klikac" ale nejak jsem smysl upravy nepochopil.
Celou upravou nase MDI aplikace ziskala vybornou vlastnost,
ze uzivatel si muze napr. prepinat aktivni MDIChild okno
nebo MDIChild okna zavirat i pokud je vyvolan modalni
dialog.
1) Demos\Doc\TextEdit\textedit.dpr
2) V spustene aplikaci zvolime dvakrat File/New a napiseme par znaku.
3a) Stiskneme Ctrl+F4. Objevi se okno s dotazem na ulozeni.
Nyni je mozno pomoci Ctrl+Tab prepinat obe MDI okna.
3b) Stiskneme dvakrat Ctrl+F4 (podruhe to je jiz pri otevrenem dotazu).
Po odklepnuti tlacitkem No se objevi dalsi dotaz vyvolany druhym stiskem
Ctrl+F4.
Pokud i ten odklepneme No dojde k AccessViolation, nebot okno je jiz
zavreno.

Resenim pochopitelne je dopsat si tam ten jeden radek zpatky.
Pri pouziti balicku se napr. nabizi prechod na jinou platformu
a nebo jit prodavat studene parky a teplou kolu :-)

Rob

WinNT - procesy, uzivatele

[*] <xwoman2(zv)centrum(tec)cz> - 23.2.2002 21:46:16

Mam nainstalovanou sluzbu pod WinNT4, potreboval bych zjistit
jmeno prihlaseneho uzivatele. Sluzba na nej nejak nevidi,
pouzival jsem normalne API GetUserName, ale sluzbu spousti
system... a jeste jeden proble, mam proces, mam od nej vse:
ThreadID, Caption, PID, ale potreboval bych jmeno souboru, ktery
tento proces spustil (proste to, co je v TaskManageru) a tridu
TProcessEntry32 WinNT neznaj.

Diky za radu


-------------------------------
Bronislav Klucka
mail: xwoman2(zv)centrum(tec)cz
ICQ: 109718536
telefon: +420605582922


===== www.centrum(tec)cz doporu�uje =====
Centrum pro milovn�ky pen�z http://finance.centrum(tec)cz

Dodatek k Delphi 6 UPD#2

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

From: "Robert Kindl" <rob(zv)exec(tec)cz>
> Otazkou je nakolik je to stejne chybou Borlandu/Delphi nebot jak jsi spravne
> rekl chybi dokumentace, priklady, od dulezitych unit casto chybi i zdrojaky.

Vzhledem k tomu, ze zdrojaky od implementace rozhrani Open Tools API jsou
vlastne zdrojaky IDE lze tezko predpokladat, ze by je Borland zvrejnil ;-)
Slusna dokumentace by v tomto pripade byla naprosto postacujici, bohuzel neni.

> Dalsi veci je, ze IDE je malo robustni a zhrouti se po prvni chybe.

Protoze pridany kod bezi v tomtez adresovem prostoru co IDE. IMHO jinak se to
resit neda. Staci kod odladit a pak s tim nejsou pak problemy.

> Vim, ze se mi to snadno rika, ale z vlastni zkusenosti vim jak by to
> pomohlo. Kolikrat uz jsem pri vyvoji vlastnich component Delphi musel
> restartovat (odstrelit), vymazat dsk soubor ani radsi nepocitam.

Plno veci se da odladit mimo, jedine co takto nejde je design-time komponent,
tedy property editory a IDE experti. Tam se to bez spusteni druhe instance IDE
(prvni je coby debugger) bohuzel neobejde.

> Misto robustniho reseni se pridavaji nedodelky a polovicata reseni napr. na
> ADOX,DBX, IBX

Databaze - nejsem schopen posoudit.

> ActionBands atd.

Hm, tady se ale dotycny vyvojar alespon snazil vypoustet prubezne neoficialni
opravy na (http://www.geocities.com/delphihelp), plno veci bylo i v newsech.
Ja jsem to zatim nepouzival, protoze to melo zasadni vadu v tom, ze to neslo
pouzit v komponente TControlBar. Ta verze co je v Upd#2 se uz chova o trochu
lepe, jen co bude cas tak se to znovu pokusim nejak pouzit.

> Nebo proc vyrabeji evidentni chyby napr:
> function TApplication.IsMDIMsg(var Msg: TMsg): Boolean;

Myslel jsem ze tohle uz je davno opravene, neni :-/

Petr Vones


Cas v tabulce

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 23.2.2002 22:59:21

On 23 Feb 2002 at 19:27, Petr Vones wrote:

> From: "Viktor Marek" <viktor(zv)mbox.vol(tec)cz>
> > 10.02 2002 08:00 vyjizdim na sluzebni cestu
> > 10.02 2002 12:00 jsem na miste a ubytuji se
> > 10.02 2002 od 12:00 do 24:00 pobyt na miste
>
> Pobyt na miste: 10.2.2002 12:00 az 11.2.2002 0:00
> Popripade muzes pouzit 'az do konce dne', tedy do 11.2.2002 0:00
> nevcetne
>
> Pokud budes pocitat vse jako TDateTime tak to mas jednoduche.
>
> Pouziti casoveho udaje 24:00 je stejny nesmysl jako: 14:00 => 13:60

V danem prikladu neni 24:00 nesmysl. Konec dne je skutecne tento cas,
0:00 je uz zacatek dalsiho dne. Je lhostejne, ze se tyto casy ve
skutecnosti kryji. V ruznych situacich existuje rada dobrych duvodu
setrvat v ramci dne, pak je nutne ho ukoncit hodnotou 24:00. Kdybys
mel napsat program pro sledovani dochazky, velice brzy bys to
zjistil. Zcela konkretni priklad. Priplatek za svatek se pocita od
0:00 do 24:00. Jakmile z toho vypustis 24:00, pak musis definovat ze
se priplatek pocita od 0:00 do 0:00 nasledujicicho dne, coz ti pekne
zkomplikuje algoritmus vypoctu, a snadno ztratis nekde minutu.

S pozdravem

Zbysek Hlinka

Phone: 0603 551 282


Cas v tabulce

[*] Erik Salaj <winsoft(zv)stonline.sk> - 23.2.2002 23:17:59

> V danem prikladu neni 24:00 nesmysl. Konec dne je skutecne tento cas,
> 0:00 je uz zacatek dalsiho dne. Je lhostejne, ze se tyto casy ve
> skutecnosti kryji. V ruznych situacich existuje rada dobrych duvodu
> setrvat v ramci dne, pak je nutne ho ukoncit hodnotou 24:00. Kdybys
> mel napsat program pro sledovani dochazky, velice brzy bys to
> zjistil. Zcela konkretni priklad. Priplatek za svatek se pocita od
> 0:00 do 24:00. Jakmile z toho vypustis 24:00, pak musis definovat ze
> se priplatek pocita od 0:00 do 0:00 nasledujicicho dne, coz ti pekne
> zkomplikuje algoritmus vypoctu, a snadno ztratis nekde minutu.

jeden den potom ale trva 24hodin a jednu sekundnu. Gratulujem
k prevratnemu objavu :-)

Erik


Cas v tabulce

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

From: "Zbysek Hlinka" <hlinka(zv)hlinka(tec)cz>
> V danem prikladu neni 24:00 nesmysl. Konec dne je skutecne tento cas,
> 0:00 je uz zacatek dalsiho dne. Je lhostejne, ze se tyto casy ve

Pokus pouzivas typ TDateTime (je jedno jestli v databazi nebo jinde) a chces
casovy udaj prevest na string, tak je "24:00" nesmysl. Potom by jsi musel
pouzivat jiny zpusob ukladani data a casu, napriklad rozdeleny na hodiny a
minuty.

Petr Vones


Dodatek k Delphi 6 UPD#2

[*] Erik Salaj <winsoft(zv)stonline.sk> - 23.2.2002 23:37:41

> Ale opet je tu problem.
> Temer vsechny nove veci mely brutalni radu trivialnich chyb.
> Misto robustniho reseni se pridavaji nedodelky
> a polovicata reseni napr. na ADOX,DBX, IBX, ActionBands atd.
> A nebyly to jen detske nemoci. Casto se daly odstranit
> jen kdyby se to u Borlandu pokusil nekdo trochu pouzit/otestovat.

to je totiz ta zvlastna Borland strategia: vsetko tajit do poslednej minuty
a ked sa znenazdajky objavi hotovy produkt, spusta veci v nom nefunguje,
pretoze nebol dostatocne otestovany. Presne opacne postupuje Microsoft,
tam je mozne stiahnut si z webu na vyskusanie este aj takmer "neexistujuci"
produkt. Vysledkom tychto odlisnych pristupov je daleko vyssia stabilita
a zvysujuca sa kvalita MS produktov a skolacke chyby v produktoch
Borladu.

Erik



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