Archív konference Delphi

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

Databaze a sireni + par drobnosti

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 11.12.1999 00:40:41

Puvodni zprava, kterou napsal Martin Pe�ek dne 10 Dec 99,:

> 1. Jednou se tu objevilo, ze BDE se muze sirit jenom pomoci =
> InstallShieldu, kterej je dodavanej s Delphi. Mam program, kterej =
> pouziva Paradox 7. Jak ho mam vsak sirit ? Na PC, kde jsou nahrany =

a) Pomoci InstallShield Express dodavaneho s Delphi.
b) Pomoci jineho instalacniho programu certifikovaneho pro instalace BDE.
c) Pomoci instalacniho baliku BDE primo od Borlandu (patche apod.)

> Delphi to de spustit, ale pokud to nainstauluju nekam jinam, tak mi to =
> hlasi chybu (neco s ti databazovym souborem). Musi byt databazovy soubor =
> v adresari, kde jsem programoval program ?

Ne.


S pozdravem
Petr Zahradnik, pocitacovy expert

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


Kolik ma mesic dni?

[*] Jaro <jaro(zv)sinea(tec)cz> - 10.12.1999 20:03:58 -0800

Staci, kdyz od 1.1 nasledujiciho mesice odectes hodnotu 1.
Tim dostanes posledni datum aktualniho mesice. Pokud od
tohoto datumu odectes 1.1 aktualniho mesice, ziskas jeho pocet dnu.
Nechapu vsak smysl odkladani dat do nejake zalozni databaze.
Nebylo by lepsi pouzit SQL dotaz
(SELECT seznam polozek FROM table WHERE )
a otevrat jen ty zaznamy s nimiz
chce obsluha aktualne pracovat?
V podmince pak pouzijes vyraz Datum >= DatumOd and Datum <= DatumDo
Jaro


> Vladimir Ponechal wrote:
> >
> > Preji hezky den vsem,
> >
> > mel bych jednu otazku... Mam databaze, ktere se neustale
nafukuji a
> > obsahuji dost polozek, coz samo o sobe potom spomaluje praci. Ja to chci
> > vyresit tak, ze uzivatel si vybere kolik dni stare polozky se maji
> > zobrazovat v dbgrid a tim padem i v editaci. Vety, ktere jsou starsi nez
> > vybrane stari se automaticky pri nabehu presunou za pomoci BatchMove do
> > zalozne databaze, aby v pripade potrebi byly k dispozici. Jenze mam
jeden
> > problem. Jak automaticky zjistit, ktery mesic ma kolik dni? Existuje na
to
> > neco?
> >
> > Mam D3.
> >
> > _________________________________________________
> >
> > Vladimir Ponechal
> > Systems and Network specialist
> > European Support and Operations
> >
> > E-mail: Vladimir_Ponechal(zv)tesco-europe.com
> >
> > _________________________________________________
>
> Ahoj,
>
> MonthDays[IsLeapYear(Y), M]
>
> v SysUtils
> Ondra

SQL View

[*] Jaro <jaro(zv)sinea(tec)cz> - 10.12.1999 20:12:43 -0800

View ma vyznam, pokud je vytvoreno predem.
Jeho zakladani za behu nic zajimaveho neresi. to mohu
poslat rovnou SELECT v predem pripravenem tvaru.
Muzes take udelat ulozenou proceduru.
Tam si muzes vytvaret vstupni i vystupni parametry dle libosti.
Jaro

--------------------
Nazdar Delphisti,
D5,NT4;
Opet prosim o radu.
SITUACE: Telefoni spojeni se servrem
IDEA: pomoci StoredProc vytvorit z klienta na serveru VIEW:
CREATE PROCEDURE FIND
AS
(zv)Sloupec varchar(20)='',
(zv)Promena varchar(20)=''
GO
CREATE VIEW FINDFIRMY
AS
SELECT Nazev
FROM FIRMY
WHERE (zv)Sloupec LIKE (zv)Promena+'%'
GO

a podat klientovi 'x' zaznamu a informovat ho o skutecnem poctu.
VYSLEDEK: Nezna a nechce pouzit parametry.
OTAZKA: Lze takto tvorit parametrizovane VIEW?
Diky moc za kazde postrceni.
Vlasta


"Kontrola. Dejte sem ty zdrojaky !"

[*] Jaro <jaro(zv)sinea(tec)cz> - 10.12.1999 22:54:04 -0800

To je jen mala ukazka, jak pri schvalovani zakonu zakonodarcum nevadi, ze
nektere nove zakony jsou v primem rozporu s jinymi zakony. Napriklad mezi
nase zakazniky patri i ministerstvo vnitra, ktere vede na svych programech
osobni udaje. Podle uvedeneho zakona bude mit jakysi kontrolor napr. pravo
pozadovat po moji firme vydani zdrojovych kodu od generatoru tiskovych
sestav. To je samozrejme v prikrem rozporu s autorskym zakonem i se zakonem
na ochranu majetku. Zajimalo by mne, ktery zakon plati, kdyz jeden rika
cerny a druhy bily.
Jaro


> Ahoj,
>
> Vim ze OT do konference nepatri, ale tohle se vlastne tak trochu
programovani
> tyka. Vetsina z vas si uz asi vsimla, ze zijeme ve state pripominajicim
spise
> Kocourkov. Tohle je opet jedna z veselych veci, ktera se muze stat
skutecnosti
>
> http://www.novinky(tec)cz/Index/Internet/3247.html?from=hp
>
> Pokud vam prijde clanek moc dlouhy, staci si precist posledni cast s
nazvem:
> "Co mohou delat kontrolori?"
>
> --
>
> Petr Vones, amatersky programator
>

Alignment na Tedit ??

[*] Sabbath <mai20um(zv)axpsu.fpf.slu(tec)cz> - 11.12.1999 11:14:08

Tento problem jsem taky resil, zarovnani znaku v Editu. Ten jednoduchej
algoritmus stoji na tom, ze kdyz napises text a treba kliknes na button
zarovnat, tak proste dopln edit.text prazdnyma znakama na zacatku, navol v
editu maxlength a edit na tu delku roztahni.

_\|//_
(` o-o ')
-------------------------------ooO-(_)-Ooo-----------------------------
mail: mai20um(zv)axpsu.fpf.slu(tec)cz WWW: axpsu.fpf.slu(tec)cz/~mai20um
sabbath(zv)post(tec)cz
sabbath(zv)email(tec)cz
.oooO Oooo.
( ) ( )
------------------------------\ (-------) /----------------------------
_) (_/

Thread ID

[*] Petrik <petrik(zv)geocities(tec)com> - 11.12.1999 12:15:24

Nazdarek,

Jak muzu zjistit JMENO threadu (a nebo EXE, ktere ho vytvorilo),
kdyz znam jeho ThreadID ???

konkretne pouzivam :
GetForegroundWindow
a pote :
GetWindowThreadProcessId
a pak potrebuju zjistit, jaka APLIKACE (ne OKNO), ze je to v popredi ???
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Pouzival jsem GetWindowText, ale nejenom, ze to vubec nefungovalo
(napr. sem zakomentoval jednu naprosto nesouvisejici radku a hned
to zacalo vracelo nuly), ale me nezajima caption - ja chci vedet,
ze je v popredi napr. "IEXPLORE" a ne "Ferdova stranka - Internet
Explorer" - z tehle captionu bych v zivote nedostal, co ze to
vlastne je za aplikaci. Vono je to logicky, treba ted mi bezi "The
Bat!", ale ja pisu novej email a tak mam otevreny okno
"Edit Mail Message -> delphi-l(zv)fwd(tec)cz". Ale me zajima, ze je
pustenej mejlovaci program a ne co v nem kdo dela. Jasne, ne ?
Proste tohle (GetWindowText) neresim .. ale potrebuju zjistit
jmenu procesu podle ThreadID - to cislo (napr. -226456456), co
to dava je presne to co potrebuju, akorat ho prevest na ten
spravny String. Nejlepsi by bylo na jmeno spusteneho EXE (tzn.
~~~~~~~~~~~~~~~~~~~~
THEBAT.EXE), protoze jak tak koukam (ve Winsightu) tak ty kokoti
ho zapomeli pojmenovat, takze TheBat! je class "TApplication", z
cehoz jaksi nepoznam co to je .. ale napr. WinAMP je class "WinAmp v1.x",
coz uz je dobry.

Doufam, ze jste to, vy chytri hosi, pochopili ...

Diky za odpovedi


Cus,
Petrik mailto:petrik(zv)geocities.com



__________________________________________________
Do You Yahoo!?
Thousands of Stores. Millions of Products. All in one place.
Yahoo! Shopping: http://shopping.yahoo.com


TMemoField

[*] marcant <marcant(zv)sct.sk> - 11.12.1999 13:40:38

Memo1.Lines.Text:= MemoField.AsString
----- Original Message -----
From: Ren� Otisk
To: delphi-l(zv)fwd(tec)cz
Sent: Thursday, December 09, 1999 12:33 PM
Subject: TMemoField


Hi,

W95, D1, Pdox, Rx2.6

Poreboval bych prosim dostat data (text) z MemoFieldu do Mema a jsem nejak mimo provoz. Zkousel jsem GetData a SetTextBuf a Delphi vyhralo ("Operation not aplicable"). Jak na to? Nechci tam davat TDBMemo (CopyToClipbrd...). A asi bych to nechtel ani pres Stream ovsem pokud to jinak nepujde...

Sroub


Rozliseni pres DelphiX

[*] Va�ek N�vrat���zx"��뢖�z?� - 11.12.1999 13:43:50

Nazdarek konferencieri :-))
ma tu nekdo zkusenosti se sadou komponent DelphiX? Mam tu dva problemy, se kterymi si nevim rady:

1) Napoveda k DelphiX mi nefunguje. Kdyz chci otevrit soubor DelphiX.hlp, system vypise, ze byl vytvoren pro jazyk, ktery tato verze systemu Windows (98!) nepodporuje. Da se s tim neco udelat?

2) Ve sve aplikaci chci zmenit rozliseni, a tak jsem na to pouzil DXDraw (upravil jsem zdrojak z ukazkoveho prikladu), ale ted mam problem. V ukazce se automaticky zmeni rozliseni na puvodni po ukonceni programu aniz by se volala jakakoliv funkce. Ja bych ale potreboval zmenit rozliseni za behu programu. Protoze mi nefunguje ten help (viz. vyse), tak jsem zkousel na to prijit podle vypisu funkci a procedur, ale na nic jsem neprisel. Teda, skoro na nic - po pouziti procedury Finalize se rozliseni vratilo zpet na puvodni, ale kdyz jsem se pote pokusil opet zmenit rozliseni, DXDraw nahlasil tuto chybu: "lDirectDraw not made". Dokaze mi nekdo pomoct?

Predem diky...
Vasek Navrat
programator DiskMagu Engine (www.ropacek(tec)cz/engine)

Alignment na Tedit ??

[*] Robo Fujak <fujak(zv)px.psg.sk> - 11.12.1999 14:43:12

U TDBEdit pouzi vlastonst v TTable(TQuery)->Fileds->Alignment
Pre TEdit pouzi komponenty z RX TCurrencyEdit alebo Sinea TEditSinea;
inac ide to predefinovanim procedury WMPaint - pozri zdrojaky RX,Sinea

robo

----- Original Message -----
From: Daniel Fojt�k <xfojtik(zv)albert.osu(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Friday, December 10, 1999 2:24 PM
Subject: Alignment na Tedit ??> Mam jeden drobny problem, jenz ovsem silne poskozuje vzhled meho
formulare:
> Mam na formulari umisteno nekolik objektu typu TDBedit a TEdit. Ovsem
> protoze obsahuji cila tak bych chtel docilit aby vsechny informace byly
> zarovnany doprava. Ovsem to se mi u Editu nedari - nevite jak na to
> Dik za odpovedi
>
> Dan
>

Charset u TNMSMTP

[*] Va�ek N�vrat���zx"��뢖�z?� - 11.12.1999 15:43:46

Zdravim !
Potrebuju poslat e-mail pomoci komponenty TNMSMTP a mam jeden problem. E-mail se posle i spravne doruci, ale cestina v nem je mizerna - nedokaze to spravne zobrazit ceskou diakritiku. A tak jsem se podival do kebule (header) toho dosleho e-mailu a zrejme jsem nasel chybu. Mimo jine tam totiz stalo toto: "charset=us-ascii". Snazil jsem se najit v parametrech komponenty zmenu znakove sady, ale nic jsem nenasel. Zasahovat do header pred odeslanim zpravy neumim. Mohl by mi nekdo poradit?

Predem diky...
Vasek Navrat
programator DiskMagu Engine (www.ropacek(tec)cz/engine)

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

[*] Erik Salaj <winsoft(zv)napri.sk> - 11.12.1999 16:44:21

> Jasne, "My to dokazeme !" :-) Zkusit by se to urcite mohlo, ale uz pocatek
> asi (narozdil od mwEditu) nebude tak snadny. Grid (at jiz s napojenim na
> data, treba i pres ten "hrozny" TDataSet nebo jen jako virtualni) nabizi
> pomerne dost ruznych reseni a jeste vice moznych pozadavku. Nejde jen o
> ruzne grupovani, trideni, ale i o moznost vkladani "inplace" controlu do
> bunek, dynamicke velikosti radku/sloupcu v zavislosti na datech, rozume
> rychle a pritom "ciste" vykreslovani, drag&drop vcetne ruznych grafickych
> ptakovin ala Microsoft atd. Zkratka tim chci rict, ze uz jen definovat ten
> "perfektni grid" muze byt pekny orisek. Pokud by se tedy toto podarilo
> (bez ohledu na existenci implementace), byl by to jiste uspech. Pri tom
> je taky dobre vzit v uvahu, ze nektere "perfektni" specifikace byly tak
> dobre, ze se je nikdy nepodarilo plne implementovat (treba ISO/OSI :-)
> Takze, jdeme na to .....

Ak to takto pojde dalej, tak programovanie aplikacie bude vlastne
iba pouzitie zopar takychto superkomponentov a povypinanie
ich nepotrebnych moznosti ;-). Ako to bude s vlastnostami ako
korektnost, robustnost, rozsiritelnost, ... takychto zlozitych
komponentov si uz asi kazdy domysli. Delphi, zial podporuje
viacmenej iba takyto styl programovania (akesi ad hoc nabalovanie
novych veci na stare, ked sa to nepodari tak kopirovanie plus
zopar trikov k tomu).

Moj nazor na grid je taky, ze grid je prostriedok pre reprezentaciu
informacii v urcitej forme (mriezke, ci tabulke). Ma preto riesit
iba tento jeden problem a abstrahovat od ostatnych zalezitosti.
Dobry grid si dalej predstavujem tak, ze podpori reprezentovat
akekolvek udaje a v akomkolvek systeme a pritom jeho specifikacia
sa nezmeni (a bude ju mozne overit, ci uz pomocou nejakych
matematickych metod, idealne ak s pomocou pocitaca, podobne ako
napr. dnesne kompilatory dokazu skontrolovat kompatibilitu typov).
Idealna by snad bola definicia gridu ako ADT pomocou algebraickej
specifikacie, taketo moznosti vsak Delphi nepodporuje. Ide o to
specifikovat podstatne vlastnosti, ktore sa nemenia a abstrahovat
od nepodstatneho. Vysledkom potom je vysoka spolahlivost
a znovupouzitelnost. V tomto smere je z beznych jazykov
najdalej Eiffel a jeho Design by contract (a ma aj mnoho dalsich
zaujimavych vlastnosti). Co sa tyka dostupnych technologii tak
k principom algebraickych specifikacii ma podla mna najblizsie
COM technologia s jeho specifikaciou interface. Aj ked moj
pohlad na Delphi je dost kriticky, nechcem povedat, ze je
Delphi zle ale len ukazat v com by snad mohlo byt lepsie. Takisto
sa treba zamysliet, ked sa zacinaju iniciativy ako Delphree,
co sa vlastne ma riesit a v com bude pripadny prinos. Robit
nejake nove komponenty pre Delphi ako nahradu existujucich
komponentov naozaj asi nema velky vyznam, pretoze s Delphi
technologiou podstatne kvalitnejsie komponenty podla
mna naprogramovat neidu a Delphi nepodporuje pouzitie
inych nie VCL technologii (toto je moja navecsia vyhrada
voci Delphi). Programovanie v Delphi je stale na dost nizkej
urovni abstrakcie (je to viacmenej programovanie pocitaca, silne
viazane na OS Windows) a malo sa to podoba specifikacii
a riesenia problemov. A cielom podla mna nie je programovat
pocitac ale pouzit ho na riesenie problemov.

Erik Salaj


Offtopic: MySQL

[*] V�clav Muchna <apscomp(zv)seznam(tec)cz> - 11.12.1999 17:01:47

Dobry den,

omlouvam se za tema, ktere s Delphi souvisi jen castecne, ale mam problem
s vytvorenim tabulky, ve ktere mam nejaky sloupec, ktery by mel byt unikatni:
(v MySQL)

CREATE TABLE TableName (
ID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Un varchar(10) NOT NULL,
UNIQUE INDEX IdxUn (Un(10)));

Ovsem porad to hlasi chybu syntaxe "near INDEX IdxUn ...".

Asi jsem uplne tentononc, ale ale tusite negdo, co s tim?

Dekuji

Vasek Muchna
--
Vaclav Muchna
verejny pgp klic: http://www.apscomputer(tec)cz/vasek/pubring.html


Zmena kurzoru

[*] Va�ek N�vrat���zx"��뢖�z?� - 11.12.1999 18:09:33

Nazdar lidi,
potrebuju nastavit jako defaultni kurzor nejakej ANI cursor z harddisku.
Kdybych to nastavil jako crMyCursor apod., tak neni problem, ale ja
potrebuju, aby se choval jako crDefault. Podarilo se mi ho tak nastavit, ale
vsechny objekty pouzivali crDefault z Windows. Aby zacal nejaky objekt
pouzivat nove nastaveny crDefault, musel jsem mu to nastavit Neco.Cursor :=
crDefault. Az potom to zacalo pouzivat muj kurzor. Nevi nekdo, je to udelat
elegantneji?

Diky...
Vasek Navrat
programator diskmagu Engine (www.ropacek(tec)cz)

Databaze a sireni + par drobnosti II

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

>Puvodni zprava, kterou napsal Martin Pe�ek dne 10 Dec 99,:

>> 1. Jednou se tu objevilo, ze BDE se muze sirit jenom pomoci =
>> InstallShieldu, kterej je dodavanej s Delphi. Mam program, kterej =
>> pouziva Paradox 7. Jak ho mam vsak sirit ? Na PC, kde jsou nahrany =

>a) Pomoci InstallShield Express dodavaneho s Delphi.
>b) Pomoci jineho instalacniho programu certifikovaneho pro instalace BDE.
>c) Pomoci instalacniho baliku BDE primo od Borlandu (patche apod.)

>> Delphi to de spustit, ale pokud to nainstauluju nekam jinam, tak mi to =
>> hlasi chybu (neco s ti databazovym souborem). Musi byt databazovy soubor
=
>> v adresari, kde jsem programoval program ?

>Ne.

Tak proc mi to teda nejde ? InstallShieldem, kterej je dodavanej u Delphi to
sirim a instaluje se tam i BDE, ale program proste nespustim !!! Nemohli by
jste sem napsat kratickej navod, jak to mam sirit ? Popis nastaveni
InstallShieldu a kam mam zkopirovat databazove soubory. Byl bych vam moc
vdecen a predem dekuji. Cau Martin.

Offtopic: MySQL

[*] V�clav Muchna <apscomp(zv)seznam(tec)cz> - 11.12.1999 20:53:25

V�clav Muchna wrote:

> s vytvorenim tabulky, ve ktere mam nejaky sloupec, ktery by mel byt unikatni:
> (v MySQL)
>
> CREATE TABLE TableName (
> ID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
> Un varchar(10) NOT NULL,
> UNIQUE INDEX IdxUn (Un(10)));
>
> Ovsem porad to hlasi chybu syntaxe "near INDEX IdxUn ...".

Tak uz jsem na to prisel, v dokumentaci je popis u indexu asi
takovyto:

[UNIQUE] INDEX ..., ovsem ve skutecnosti by melo byt UNIQUE|INDEX, takze

CREATE TABLE TableName (
ID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Un varchar(10) NOT NULL,
UNIQUE IdxUn (Un(10)));

uz zafunguje.

Vasek
--
Vaclav Muchna
verejny pgp klic: http://www.apscomputer(tec)cz/vasek/pubring.html


Databaze a sireni + par drobnosti II

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 11.12.1999 21:04:21

Puvodni zprava, kterou napsal Martin Pe�ek dne 11 Dec 99,:

> Tak proc mi to teda nejde ? InstallShieldem, kterej je dodavanej u Delphi to
> sirim a instaluje se tam i BDE, ale program proste nespustim !!! Nemohli by
> jste sem napsat kratickej navod, jak to mam sirit ? Popis nastaveni
> InstallShieldu a kam mam zkopirovat databazove soubory. Byl bych vam moc
> vdecen a predem dekuji. Cau Martin.

Nejde to proto, ze neco zrejme delas spatne. Jenze ti tezko poradit,
pokud jsi nepopsal, co ti to hlasi za chybu a jak jsi to vubec udelal.


S pozdravem
Petr Zahradnik, pocitacovy expert

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


WinNT a Win95 na jedne masince

[*] Marek Spisak <spishark(zv)post(tec)cz> - 11.12.1999 23:24:11

Jde to, je to sice pracne, pokud mas na masine jenom WinNT. Mam zkusenosti s
kouzlenim typu - pouze NT, a potrebuju W95 i Linux. Pro toto jsem pouzil
Partition Magic od firmy PowerQuest. Pripravit si pocitat pro nainstalovani
w95 kdyz uz tam jsou NT, je fuska. Je treba umazat z disku vsechno
nepotrebne (kill all krome zdrojaku a dokumentu). Pokud je cely disk jen
jedna partition NTFS, je treba ji zmensit pomoci Partition Magicu a na miste
timto vytvorenem musis vytvorit extended partition. Na ni potom vytvorit
logical partition NTFS. Primarni NTFS partition je nutno po presunu dat na
logickou partition zrusit a misto ni vytvorit partition Fat16. Na tu
nainstaluj nejdrive W95 a az Ti pojedou, dej se do instalace WINNT. Pokud
NTFS z dosu neuvidis, nic se nedeje. Az nainstalujes NT, tak ty disky budou
citelne. Pozor na velikost disku!!! WinNT bez Service Packu 3 umi pracovat
pouze s disky do 2GB. Doporucuji vsak, pokud to jenom trochu mozne, tak
zalohu na jiny disk.

Obecne plati doporuceni, a toho jsme se drzeli i pri instalaci naseho NT
Serveru - Vytvorit alespon malou partition FAT16 a z ni startovat NT (na ni
je dobre mit utilitky pro chcecking a udrzbu zeleza, pokud se neco stane).
Nedoporucuji Ti v budoucnu instalovat NT na pocitac bez FAT16 partition.


Marek Spisak


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

Bezpecnost hesla na server

[*] Jan Rychtar <hojan(zv)sin.cvut(tec)cz> - 12.12.1999 02:16:06

Ahoj,
moc by mne zajimalo, jestli se heslo pro prihlaseni k databazovemu serveru
(BDE + SQL Link) posila nejak zasifrovane, nebo jen jako prosty text.
Zacinam s C/S pracovat na seriozni urovni a zajimaji mne mozne
bezpecnostni diry.

Jan Rychtar


SET (Seriove cislo disku)

[*] Petrik <petrik(zv)geocities(tec)com> - 12.12.1999 12:58:09

Nazdarek,

>> JAK SERIOVE CISLO (nastavovane pri formatu disku)
>> NASTAVIT ???????????????

uz sem se tu ptal a nekdo mi odpovedel zajimavou procedurou,
ktera by to mela umet (koho to zajima tak si to najdete v
archivu :) ). Mozna umi, jenze to nefunguje.
Win98 zarvou, ze se jedna o starou asi dosovou aplikace, ktera
se pokousi pristupovat kamsi na disk a bude bud ukoncena
a nebo se zakaze ten zapis ... takze mam smulu.
Tohle tu hlasku vyvola (takove to zname bile okno - o neco mensi
priorita nez modra obrazovka = da se z toho vzpamatovat) :

Result := DeviceIoControl(Device, Ord(CtlCode), (zv)Regs, SizeOf(Regs), (zv)Regs, SizeOf(Regs), Count, nil);
kde ORD(CTLCODE) = operace s diskem = 3;

takze de vubec pod Windozema zmenit seriove cislo disku ????????

(tohle byl vicemene zpusob na volani assembleru :
> procedure WriteBoot95(Drive: Char; var Boot: TSector);
> var
> Regs: TDiocRegisters;
> begin
> with Regs do begin
> EAX := Ord(UpCase(Drive)) - Ord('A');
> EBX := LongWord((zv)Boot);
> ECX := 1;
> EDX := 0 end;
> if not VWin32(ccVWin32Int26, Regs) then
> raise Exception.Create(SysErrorMessage(GetLastError))
> end;)

DIKES.

Cus,
Petrik mailto:petrik(zv)geocities.com



__________________________________________________
Do You Yahoo!?
Thousands of Stores. Millions of Products. All in one place.
Yahoo! Shopping: http://shopping.yahoo.com


Puvod exe

[*] lukas(zv)oknet(tec)cz (Vana Lukas) - 12.12.1999 21:15:32

Dobry den,

tento dotaz nesouvisi primo s Delphi, ale zato urcite s programovanim.
Muzete mi prosim poradit, jak poznat cim byl vytvoren exe soubor?
Nepredpokladam, ze by to vzdy slo, ale aspon nejaka pomucka?

Dekuji,

Lukas Vana


Pozice "grafickeho kurzoru"

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 12.12.1999 22:31:54

Petr Brant wrote:
> potrebuji nekde na Canvasu zobrazit zlomek. O to by nebylo, ale za nim
> maji byt dalsi vyrazy a jde o to, jestli je nejaka funkce, ktera je
> schopna zjistit, kde se prestalo s kreslenim textu (text by se mel
> kreslit pomoci TextOut nebo nejake podobne funkce), aby dalsi text
> zacinal ve vhodnem miste. Nevite nekdo ?

Ahoj,

Asi nejlepsi reseni je si spocitat velikost tech casti textu a podle toho
pak prizpusobit jejich umisteni. Pri pouziti API funkce TextOut a nastaveni
SetTextAlign na TA_UPDATECP se nejak umi zapamatovat posledni pozice, ale
nevypada to prilis pouzitelne. Blize viz popis Win32 API - TextOut.

--

Petr Vones, amatersky programator

Jak zabranit obsluze klavesnice

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

Thom wrote:
> jenze toto volani zrusi vsechny provedene akce,
> a ja chci po stisknuti urcite klavesy vypisovat do editu urcite znaky
> a pokud pouziju abort, tak mi chcipne i to vypisovani
>
> dlasi problem je:
> if Key >31 then
> case key of
> Ord('A'): begin
> Key := 0;
> edit1.text := 'B' // napriklad, ve skutecnosti to dela neco jineho
> ale stejne to pise znak 'A'

Ahoj,

Da se to udelat treba takhle (blize viz popis API funkce TranslateMessage):

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Msg: TMsg;
begin
with TEdit(Sender) do
if Key = Ord('A') then
begin
if PeekMessage(Msg, Handle, WM_CHAR, WM_CHAR, PM_REMOVE) and (Msg.Message = WM_QUIT) then
PostQuitMessage(Msg.wParam);
Key := 0;
Text := 'B';
end;
end;

--

Petr Vones, amatersky programator

Rychlost

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

Tomas Folprecht wrote:
>
> Dobry den,
>
> mam pomerne slozitou aplikaci, je MDI, ma asi 5 automaticky
> vytvarenych formu a
> 2 vytvarene dynamicky, jsou tam 2 paralelni thready.
> Ted jsem pridal do programu jeden jednoduchy form (velmi jednoduchy
> neco jako aboutbox)
> a cela aplikace se FATALNE zpomalila. Zkoro v tom nejde pracovat.
> Nevite nekdo cim to je?
> Nemate nejake tipy, jak urychlit aplikaci?

Ahoj,

Prvni problem muze byt ve spatne napsanem kodu v threadech. Obecne lze
rict, ze v threadech porad "na neco cekas". Nevim jestli delas na W9x
nebo NT, ale podivej se na vyuziti CPU u tve aplikace (presneji u tech
threadu), tam muze byt problem. Pro Win9x na to existuje utilita WinTop
od M$.

--

Petr Vones, amatersky programator

Lokalizace

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

Daniel wrote:
>
> Pokud se zeptam blbe, tak se predem omlouvam.
> Lze prelozit texty napr. dialozich (unit Dialogs) jednou
> provzdy, tak aby se to projevilo jak ve stavajicich
> aplikacich (samozrejme po novem prekladu), tak
> i v aplikacich budoucich ?
> Nechce se mi prekladat kazdou aplikaci zvlast.

Ahoj,

Provadet upravy ve zdrojacich VCL neni dobra cesta, nejen proto, ze ti to
nebude fungovat pri pouziti balicku, ale i pri aplikovani patche o ty
zmeny prijdes. Pouzij Zbyskuv Lokalizator, ten si pamatuje jiz jednou
prelozene vyrazy: http://www.localizator.com

--

Petr Vones, amatersky programator

Thread ID

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

Petrik wrote:
> Jak muzu zjistit JMENO threadu (a nebo EXE, ktere ho vytvorilo),
> kdyz znam jeho ThreadID ???
>
> konkretne pouzivam :
> GetForegroundWindow
> a pote :
> GetWindowThreadProcessId
> a pak potrebuju zjistit, jaka APLIKACE (ne OKNO), ze je to v popredi ???
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ahoj,

V tomto pripade se ti spis vice hodi ProcessID (ten ziskas taktez funkci
GetWindowThreadProcessId), viz priklad. Komponentu TPvProcessList najdes
tady: http://www.volweb(tec)cz/pvones/download/PvComponents.zip

type
TForm1 = class(TForm)
PvProcessList1: TPvProcessList;
Timer1: TTimer;
Memo1: TMemo;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Timer1Timer(Sender: TObject);
var
Wnd: HWND;
PID: DWORD;
ProcessEntry: TPvProcessEntry;
begin
Wnd := GetForegroundWindow;
if Wnd = 0 then Exit;
PID := 0;
GetWindowThreadProcessId(Wnd, (zv)PID);
try
ProcessEntry := PvProcessList1.FindProcessID(PID, True);
Memo1.Lines.Add(Format('(%.8x) [%.8x] %s', [Wnd, PID, ProcessEntry.FileName]));
except
Memo1.Lines.Add(Format('(%.8x) [%.8x] Not found', [Wnd, PID]));
end;
end;

--

Petr Vones, amatersky programator

Reindexace

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

> Bednar��k Dalibor wrote:
> Da se nejak s Delphi dosahnout reindexace na typ tabulek FOXPRO?

Ahoj,

Pomoci volani BDE API funkce DbiRegenIndexes. Priklad najdes v BDE API
helpu.

--

Petr Vones, amatersky programator


Rozliseni pres DelphiX

[*] bures <bures(zv)ssakhk(tec)cz> - 12.12.1999 23:08:42

Ahoj tak si zkus jsiti jake je rozliseni sreen.width a screen.height a pote
nastav rosliseni DxDrawem :
DXDraw1.Display.Width := 640;
DXDraw1.Display.Height := 480;
DXDraw1.Display.BitCount := 16;
az budes potrebovat standartvi nastaveni tak ho zase nstav dxdravem na hodnoty zjitene jeste bez dxdrawu
bohuzel jsem nemohl nic vyzkouset protoze delphiX jiz pod delphi5 nebehaji a proto jsemse s nima musel rozloucit :(
nebo muzes po pouzitim Finalize pouzit DXDraw1.Initialize; ale to nevim zdali ti to pomuze protoze jak rikam jiz me delphiX jiz nechodi ....

ahoj Vlada
bures(zv)ssakhk(tec)cz
----- Original Message -----
From: Va�ek N�vrat
To: Delphi forum
Sent: Saturday, December 11, 1999 1:43 PM
Subject: Rozliseni pres DelphiX


Nazdarek konferencieri :-))
ma tu nekdo zkusenosti se sadou komponent DelphiX? Mam tu dva problemy, se kterymi si nevim rady:

1) Napoveda k DelphiX mi nefunguje. Kdyz chci otevrit soubor DelphiX.hlp, system vypise, ze byl vytvoren pro jazyk, ktery tato verze systemu Windows (98!) nepodporuje. Da se s tim neco udelat?

2) Ve sve aplikaci chci zmenit rozliseni, a tak jsem na to pouzil DXDraw (upravil jsem zdrojak z ukazkoveho prikladu), ale ted mam problem. V ukazce se automaticky zmeni rozliseni na puvodni po ukonceni programu aniz by se volala jakakoliv funkce. Ja bych ale potreboval zmenit rozliseni za behu programu. Protoze mi nefunguje ten help (viz. vyse), tak jsem zkousel na to prijit podle vypisu funkci a procedur, ale na nic jsem neprisel. Teda, skoro na nic - po pouziti procedury Finalize se rozliseni vratilo zpet na puvodni, ale kdyz jsem se pote pokusil opet zmenit rozliseni, DXDraw nahlasil tuto chybu: "lDirectDraw not made". Dokaze mi nekdo pomoct?

Predem diky...
Vasek Navrat
programator DiskMagu Engine (www.ropacek(tec)cz/engine)

Databaze a sireni + par drobnosti - ad 2)

[*] Karel Vlcek <vlcekk(zv)hotmail(tec)com> - 13.12.1999 01:41:46 pst

>2. Jak mam softwarove vypnout muj skenr ? Mam UMAX Astra 1220S
>a nema vypinac. To by tak ani nevadilo, ale pri (re)startu se mi vzdy zapne
>a trva cca 30 minut nez se vypne.

Ahoj, mam ten samy

a) interval lze nastavit
b) existuje ikona PowerSaving ve start menu (ted jsem v praci tak to pisu
jen z hlavy) a ta umi zhasnout lampu.

Pokud nastavis interval na nejake male cislo bude se ti pri kazdem scanovani
znovu "ohrivat" a to trva nejaky cas - pozor abys v tomto intervalu zase tu
lampu nevypnul - pak bys nenascanoval nic


Karel Vlcek
===========================
poskytovani software
GSM : ++420 602 264812
mailto: Vlcekk(zv)hotmail.com
===========================

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com


tabulatory v RichEditu

[*] k.machac(zv)iol(tec)cz - 13.12.1999 6:12:06

Zdravim vsechny zucastnene,

poradi mi nekdo, jestli jde a pripadne jak v Delphi 3 v komponente
RichEdit nastavit tabulatory na urcitou hodnotu (vzdalenost od okraje) ?


Diky za jakoukoliv odpoved

Karel Machac
kmachac(zv)seznam(tec)cz


Volani dialogu z Dll

[*] Petr Brant <p.brant(zv)samo(tec)cz> - 13.12.1999 06:37:23

Do handlu toho dialogu v DLL dej handle toho hlavniho formu. Pred
odchodem z DLL nezapomen dat do handlu dialogu v DLL hodnotu 0, jinak se
muze program chovat podivne (viz prispevky cca tyden zpatky).

**************************************************
Petr Brant [p.brant(zv)samo(tec)cz], programator v MSVC++,
obcas Delphi
**************************************************
> -----P�vodn� zpr�va-----
> Od: Vokounek [SMTP:vokoun(zv)datis.cdrail(tec)cz]
> Odesl�no: 10. prosince 1999 17:31
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Volani dialogu z Dll
>
> Pri volani dialogu z DLL knihovny je indikovan dany dialog
> v hlavni liste Windows, i kdyz se nejedna o hlavni formular !!
> (viz. demo priklad Delphi5 FormDll). Jak toto odstranit !!??
> Dekuji za radu���� ZVok


TMemoField

[*] Ren� Otisk - 13.12.1999 07:20:42

Hi,
No jo, ale to mi oreze text na 255 znaku.
Sroub
Memo1.Lines.Text:= MemoField.AsString

Hi,

W95, D1, Pdox, Rx2.6

Poreboval bych prosim dostat data (text) z MemoFieldu do Mema a jsem nejak mimo provoz. Zkousel jsem GetData a SetTextBuf a Delphi vyhralo ("Operation not aplicable"). Jak na to? Nechci tam davat TDBMemo (CopyToClipbrd...). A asi bych to nechtel ani pres Stream ovsem pokud to jinak nepujde...

Sroub


MSExcel

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 13.12.1999 07:47:56



> -----P�vodn� zpr�va-----
> Od: Fi�er Ji�� [mailto:fiser(zv)volny(tec)cz]
> Odesl�no: 10. prosince 1999 15:01
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re: MSExcel
>
>
> Potrebuji pouze nacist data ze souboru v MSExcel 97. Proste
> nacist data z
> jednoho listu. Pripojit prez ODBC jsem se zkousel, ale po prihlaseni v
> Database Exploreru nejsou videt zadna data, i kdyz ODBC
> driver mam nastaveny
> na Excel 97.
>
> Nevis kde delam chybu ???
>

To ODBC je pro specialne pripravene sesity Excelu. Mam dojem,
ze databaze je jeden list a tabulky jsou pojmenovane oblasti na listu.
(Ale mozna se to uz zmenilo - tohle platilo tusim pro Excel 95).
Kdyz potrebujes nacist data z libovolneho sesitu, tak to nemuzes pouzit.

Jura


Databaze a sireni + par drobnosti II

[*] Bab�k Martin (+42035620,MUS a.s. M.Babik) <M.Babik(zv)mus(tec)cz> - ec 1999 08:01:45

Zkousel jsi otevrit tu databa samotnou? Co treba alias?
M&B

>>> MUS.TC."SMTP: Martin Pe*sek #pesek.martin(zv)mymail(tec)cz" 12/11 8:23 >>>
>Puvodni zprava, kterou napsal Martin Pe ek dne 10 Dec 99,:

>> 1. Jednou se tu objevilo, ze BDE se muze sirit jenom pomoci =
>> InstallShieldu, kterej je dodavanej s Delphi. Mam program, kterej =
>> pouziva Paradox 7. Jak ho mam vsak sirit ? Na PC, kde jsou nahrany =

>a) Pomoci InstallShield Express dodavaneho s Delphi.
>b) Pomoci jineho instalacniho programu certifikovaneho pro instalace BDE


doc to RichEdit

[*] sup(zv)svitap(tec)cz - 13.12.1999 8:03:18

Drobounky problem: jak dostat do RichEditu obecny soubor *.doc z
Wordu/WordPadu ??

D3Profi, w98

Diky predem za nakopnuti....


Jaroslav Weiss
odd. informatiky

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

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


"Kontrola. Dejte sem ty zdrojaky !"

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 13.12.1999 08:20:17



> -----P�vodn� zpr�va-----
> Od: Jaro [mailto:jaro(zv)sinea(tec)cz]

> To je jen mala ukazka, jak pri schvalovani zakonu
> zakonodarcum nevadi, ze
> nektere nove zakony jsou v primem rozporu s jinymi zakony.
> Napriklad mezi
> nase zakazniky patri i ministerstvo vnitra, ktere vede na
> svych programech
> osobni udaje. Podle uvedeneho zakona bude mit jakysi
> kontrolor napr. pravo
> pozadovat po moji firme vydani zdrojovych kodu od generatoru tiskovych
> sestav. To je samozrejme v prikrem rozporu s autorskym
> zakonem i se zakonem
> na ochranu majetku. Zajimalo by mne, ktery zakon plati, kdyz
> jeden rika
> cerny a druhy bily.
> Jaro
>
> >Tohle je opet jedna z veselych veci, ktera se muze stat skutecnosti
> >
> > http://www.novinky(tec)cz/Index/Internet/3247.html?from=hp
> >
> > Petr Vones

To je teda fakt sila. Mne hlavne vadi, ze maji pravo poridit a
odnest si kopie dat.

Formulace v clanku ohledne zdrojovek mi nepripada z hlediska
autora programu zas tak zla. Otazka je, jestli Peterka
vety trochu nepreformuloval a nezmenil tim jejich vyznam.
Jestli ale, jak Peterka pise, '... ustanoveni zakona, ktere
kontrolujicimu dava pravo pozadovat zdrojove kody programu
(� 37 p�sm. b), a to dokonce nejen po kontrolovanem, ale
doslova i "po jinych osobach"...', neplyne z toho podle me povinnost
pro tu jinou osobu poskytnout tyto zdrojovky. Pozadovat muze kdo
chce co chce, treba ja mam pravo po vas vsech pozadovat, abyste mi mesicne
posilali tisicovku. Ale vy se na mne asi vykaslete, ze? :-)))

A k Jarovi. Myslim, ze mas s ministerstvem nejakou smlouvu,
ve ktere se nic o povinnosti poskytnout zdrojovky nehovori, ne?
Anebo nemas smlouvu, oni jenom souhlasili s licencnim ujednanim a tam
se taky nic takoveho, predpokladam, nerika. Myslim, ze kdyby doslo na
nejhorsi,
a nekdo Te skutecne pozadal, jsi schopen rici, ze Tvuj generator tiskovych
sestav neni urcen ke zpracovani osobnich dat. Kdyby byl, tak bys k nemu
prece pribalil i ty zdrojovky, jak to pozaduje (bude pozadovat) zakon, ne?
:-)

Jura


doc to RichEdit

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 13.12.1999 08:32:47

> -----P�vodn� zpr�va-----
> Od: sup(zv)svitap(tec)cz [mailto:sup(zv)svitap(tec)cz]

> Drobounky problem: jak dostat do RichEditu obecny soubor *.doc z
> Wordu/WordPadu ??

Myslim, ze by to melo jit pres OLE, pokud je na masince k dispozici
Word. Zkus prozkoumat help k Word Basicu: VBAWRD8.HLP dodavany s MS Office.
Nikdy jsem se ale o neco podobneho nesnazil, tak nevim, jestli to pujde.

Letmo jsem se tam podival, je tam metoda Open, takze v nejhorsim pripade by
to melo jit pres clipboard (ale to je dost pitome reseni).

Jura


Image Listy

[*] Radek KALA <Kala(zv)atlas(tec)cz> - 13.12.1999 08:40:07

> Radek KALA wrote:
> > Mam problem s D4
> >
> > Mam na formulari nekolik ImageListu a v nich ruzne obrazky, ktere
> > za runtime vykresluji. Obcas se stane, ze se tam ty obrazky zmrsi.
>
> Ahoj,
>
> Mas nainstalovany UpdatePack#3 pro D4 a jakou mas verzi IE ?
>
> --
>
UP#3 nainstalovany mam. Co se tyka IE, tak je to 4.0
(4.72.3110.4).
Muj problem nespociva v tom, ze by aplikace nezobrazovala ikonky
(to uz znam - problem s COMCTL32), ale v tom, ze aplikace
zobrazuje obrazky nejak podivne zmrsene (treba jen divnou modrou
barvou a navic lze jen tezko rozpoznat, co na tom obrazku vlastne
je).
Kdyz si spustim Delphi a otevru prislusny ImageList, jsou tam ty
obrazky uplne stejne spatne. Musim je tedy vsechny smazat a
naplnit ImageList znovu.

Diky.

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


Alignment na Tedit ??

[*] Pavel ZIDEK <kopr(zv)kopr(tec)cz> - 13.12.1999 08:49:23

Nechci si delat propagaci, ale zkus KEdit na
http://www.kopr(tec)cz/delphi/k-delphi.htm
Pavel

----- Original Message -----
From: Daniel Fojt�k <xfojtik(zv)albert.osu(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Friday, December 10, 1999 2:24 PM
Subject: Alignment na Tedit ??> Mam jeden drobny problem, jenz ovsem silne poskozuje vzhled meho
formulare:
> Mam na formulari umisteno nekolik objektu typu TDBedit a TEdit. Ovsem
> protoze obsahuji cila tak bych chtel docilit aby vsechny informace byly
> zarovnany doprava. Ovsem to se mi u Editu nedari - nevite jak na to
> Dik za odpovedi
>
> Dan
>

doc to RichEdit - doplneni

[*] sup(zv)svitap(tec)cz - 13.12.1999 9:08:44

Drobounky problem: jak dostat do RichEditu jakykoliv soubor *.doc z
Wordu/WordPadu ??
D3Profi, w98

Neni dostupny Word.

Diky predem za nakopnuti....

Jaroslav Weiss
odd. informatiky

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

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


AUTOINCREMENT + MSAccess

[*] Fi�er Ji�� - 13.12.1999 09:38:43

Mam jeste jeden problem s MSAccess97. Pokud vlozim zaznam do tabulky v MSAccesu, autoincrement se mi zvysi o jednu, ale pokud vlozim zaznam z Delphi, autoincrement se mi vzdy zvysi o 43. Nevi nekdo jak tuto chybu odstranit ???

BDE 5.01, Delphi 3, Access 97, Win NT

Predem dekuji za pomoc. Jirka

Probl�my p�i pou��v�n� BCD v BDE (SQL Link

[*] Daniel Fojt�k <xfojtik(zv)albert.osu(tec)cz> - 13.12.1999 09:45:20

Probl�my p�i pou��v�n� BCD v BDE (SQL Linku)

Prost�ed�: Delphi - BDE - SQL Link - InterBase (Enable BCD=true).

1.probl�m: Definice pole typu Numeric(9,6). InterBase vrac� ��slo na spr�vn�
po�et desetinn�ch m�st, BDE maxim�ln� na 4 desetinn� m�sta.

2. probl�m: Definice pole typu Numeric(15,2), intern� hodnota pole
"0.699984". InterBase vrac� spr�vn� zaokrouhlenou hodnotu "0.70", BDE
�patnou o��znutou hodnotu "0.69".

Dotaz: Kde hledat chybu? Jak ji odstranit nebo zda je ji� odstran�na v
n�jak� nov�j�� verzi?

Reindexace po II

[*] Bednar��k Dalibor - 13.12.1999 09:51:58



Dekuji Petru Vonesovi za radu ohledne reindexace tabulek z
DELPHI.....FUNGUJE!!!!

Zjistil jsem ale, ze reindex z Delphi mi udela vetsi index, nez kdyz jsem ho
preindexoval FOXkou..
Napadaj me veci, zda li ten index bude korektni. Zatim to sice funguje a
tvari se ze jo, ale kdo vi...
Mate s tim nekdo zkusenosti...
Muzu se na to spolehnout?

Zase D5

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 13.12.1999 09:52:59

DD,

D5 deklaruje INADDR_NONE jako High(Cardinal) (4GB) , prestoze ostatni deklarace z WinSocku (deklarace IP address) pouzivaji dale Integer (TInAddr, TSockAddrIn a spol), ackoliv original deklarace Win API zrejme pozaduje dword. Pokud kompilator narazi na nasledujici radek, pak samozrejme vypisuje Warning, ze podminka je vzdy false:

VAR
RAS_ProjectedIP : TInAddr = (S_Addr: INADDR_NONE);
...
...

if RAS_ProjectedIP.S_Addr <> INADDR_NONE then


V D3 Helpu tvrdi Bordeland, ze:

TInAddr = packed record
case integer of
0: (S_un_b: SunB);
1: (S_un_w: SunW);
2: (S_addr: u_long);
end;

Zrejme v D5 je u_long typovan stale jako Integer :-(


PS: D5 trial mi zacalo tvrdit, ze vyprsela lhuta (melo by zbyvat vice nez mesic). Zrejme za to muze, ze jsem prendal video kartu do jineho PCI slotu. Mam nejakou sanci preinstalovat Trial tak aby zase slapal?

Zdravi
D. Toman

Charset u TNMSMTP

[*] V�clav Muchna <apscomp(zv)seznam(tec)cz> - 13.12.1999 10:00:33

> Va�ek N�vrat wrote:
>
> Zdravim !
> Potrebuju poslat e-mail pomoci komponenty TNMSMTP a mam jeden problem. E-mail
> se posle i spravne doruci, ale cestina v nem je mizerna - nedokaze to spravne
> zobrazit ceskou diakritiku. A tak jsem se podival do kebule (header) toho
> dosleho e-mailu a zrejme jsem nasel chybu. Mimo jine tam totiz stalo toto:
> "charset=us-ascii". Snazil jsem se najit v parametrech komponenty zmenu
> znakove sady, ale nic jsem nenasel. Zasahovat do header pred odeslanim zpravy
> neumim. Mohl by mi nekdo poradit?

Pokud vim, tak TNMSMTP skutecne charset nastavitelny nema, ale protoze me
odesilal postu se spravnou cestinou, usuzuji z toho, ze charset nastavuje
podle lokalniho nastaveni (???) - nejsou k tomu zdrojaky => cert vi, co se
tam vlastne deje. A tak mi nezbyva, nez ti doporucit to, co tu jiz mnohokrat
doporucovano bylo: inet komponenty od F. Piette, konkretne TSMTP:

ad 1) jsou zdrojaky => moznost si poupravit co bude potreba, clovek
ma prehled nad tim, co ta komponenta dela
ad 2) je to free
ad 3) krome mnoha dalsich ma i property charset

Najdes ji na adrese http://www.rtfm.be/fpiette/smtpcliuk.htm

Zdravi

Vasek
--
Vaclav Muchna
verejny pgp klic: http://www.apscomputer(tec)cz/vasek/pubring.html


Grid was:Pristup k datum, Delphree a vubec

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 13.12.1999 10:04:26

Haj hou!

From: Erik Salaj <winsoft(zv)napri.sk>
> Ak to takto pojde dalej, tak programovanie aplikacie bude vlastne
> iba pouzitie zopar takychto superkomponentov a povypinanie
> ich nepotrebnych moznosti ;-). Ako to bude s vlastnostami ako
> korektnost, robustnost, rozsiritelnost, ... takychto zlozitych
> komponentov si uz asi kazdy domysli.

Jezkovy voci ! Lidi zarazte ! Nebo je pesimismus vrozenou ceskou vlastnosti
? Kdyz jsem navrhoval kolektivni projekt "lepsiho" gridu, tak jsem rozhodne
nemel na mysli nejake takove monstrum.

a) nebyl by to "lepsi" grid
b) protoze je to blbost uz z principu, neprosla by prvnim kolem kolektivniho
navrhu.

Mno, a tim povazuji laskovani na toto teme za uzavrene :o) Nicmene grid je
bolavym mistem tolika lidi, ze jsem si jist, ze drive ci pozdeji na podobny
projekt dojde. Bylo by ovsem dobre vedet, zda by se nekdo z vas na takovem
projektu chtel podilet (na osobnich zkusenostech a znalostech vubec
nezalezi).

> Delphi, zial podporuje
> viacmenej iba takyto styl programovania (akesi ad hoc nabalovanie
> novych veci na stare, ked sa to nepodari tak kopirovanie plus
> zopar trikov k tomu).

A to myslis naprosto vazne ?

a) Tento problem se tyka POUZE urcitych casti VCL. (pomineme-li fakt, ze
vzdy se najde jeden z milionu, ktery chce neco naprosto jinak uz v
SYSTEM.PAS).
b) Vzdy je mozny nejeden alternativni pristup, nez jaky popisujes.
c) Komponenty a VCL (od jiste urovne) jsou dobre jen na neco. Delat ze vseho
komponent je mnohdy nesmysl. Ze je jeho vyskyt hojny neni chyba Delphi.
Kdyby se programatori napr. vice zajimali o COM, bylo by dnes uz vice
dobrych knihoven COM objektu a mene spatnych komponentu (upozornuji, ze COM
neznamena OLE, ActiveX, zaneradenou registry a zavyslost na Windows).

> Moj nazor na grid je taky, ze grid je prostriedok pre reprezentaciu
> informacii v urcitej forme (mriezke, ci tabulke). Ma preto riesit
> iba tento jeden problem a abstrahovat od ostatnych zalezitosti.

Souhlas.

> Dobry grid si dalej predstavujem tak, ze podpori reprezentovat
> akekolvek udaje a v akomkolvek systeme a pritom jeho specifikacia
> sa nezmeni (a bude ju mozne overit, ci uz pomocou nejakych
> matematickych metod, idealne ak s pomocou pocitaca, podobne ako
> napr. dnesne kompilatory dokazu skontrolovat kompatibilitu typov).
> Idealna by snad bola definicia gridu ako ADT pomocou algebraickej
> specifikacie, taketo moznosti vsak Delphi nepodporuje. Ide o to
> specifikovat podstatne vlastnosti, ktore sa nemenia a abstrahovat
> od nepodstatneho. Vysledkom potom je vysoka spolahlivost
> a znovupouzitelnost. V tomto smere je z beznych jazykov
> najdalej Eiffel a jeho Design by contract (a ma aj mnoho dalsich
> zaujimavych vlastnosti). Co sa tyka dostupnych technologii tak
> k principom algebraickych specifikacii ma podla mna najblizsie
> COM technologia s jeho specifikaciou interface. Aj ked moj
> pohlad na Delphi je dost kriticky, nechcem povedat, ze je
> Delphi zle ale len ukazat v com by snad mohlo byt lepsie.

No vidis jak to jde, kdyz se chce :o) Jeste schvilku a dobereme se
kompletniho navrhu "dobreho" gridu, ktery pak staci jen napsat. BTW, s tim
co pises se plne stotoznuji.

> Takisto
> sa treba zamysliet, ked sa zacinaju iniciativy ako Delphree,
> co sa vlastne ma riesit a v com bude pripadny prinos.

Mno, to s tim nema mnoho co spolecneho. Jinak Delphree ma byt preste to co
je a co dela. Tva pripominka se tyka spise projektu, a i v tomto pripade si
jsem jisty, ze jejich zakladatele maji a meli dost jasnou predstavu co
chteji delat.

> Robit
> nejake nove komponenty pre Delphi ako nahradu existujucich
> komponentov naozaj asi nema velky vyznam, pretoze s Delphi
> technologiou podstatne kvalitnejsie komponenty podla
> mna naprogramovat neidu a Delphi nepodporuje pouzitie
> inych nie VCL technologii (toto je moja navecsia vyhrada
> voci Delphi).

Dovolim si nesouhlasit.

a) SW komponent neni to same co TComponent.
b) Delphi umoznuje pouzivat i ActiveX, CORBA objekty, COM objekty i nativni
OP objekty.
c) Delphi obsahuje (pocetnou) sadu vseobecnych komponent a trid. Rozhodne
ale neni naprosto vycerpavajici (jinak by uz zadne nove nevznikaly).
Specificke komponenty mohou byt prilis specificke.
d) OP je silny jazyk a jadro VCL je dostatecne pruzne a dost dobre navrzene,
aby se daly psat velmi kvalitni komponenty (tridy, COM objekty atd.). Nelze
hazet na nastroj to, co je veci vyvojare.

> Programovanie v Delphi je stale na dost nizkej
> urovni abstrakcie (je to viacmenej programovanie pocitaca, silne
> viazane na OS Windows) a malo sa to podoba specifikacii
> a riesenia problemov. A cielom podla mna nie je programovat
> pocitac ale pouzit ho na riesenie problemov.

Pokud chces resit problemy a mene "programovat pocitac", pak jsi zvolil
spatny jazyk. Presedlej na Prolog, Lisp nebo jiny jazyk ktery je dnes
nahrazuje. OP, CC++, SQL a jine jsou porad hlavne o "programovani pocitacu".
BTW, pochybuji, ze to jeste nejaky ten rok bude jinak.

I stemito jazyky se ale da pracovat na hodne vysokem stupni abstrakce,
nicmene ma-li byt program vedle formalni spravnosti i optimalni, je vzdy
nutne (a jeste dlouho bude) znat "zaklady" a optimalizovat na HW/SW
platformu pro kterou je urcen.

Hodne zdaru

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


Puvod exe

[*] V�clav Muchna <apscomp(zv)seznam(tec)cz> - 13.12.1999 10:17:14

Vana Lukas wrote:
>
> Dobry den,
>
> tento dotaz nesouvisi primo s Delphi, ale zato urcite s programovanim.
> Muzete mi prosim poradit, jak poznat cim byl vytvoren exe soubor?
> Nepredpokladam, ze by to vzdy slo, ale aspon nejaka pomucka?

Napriklad v delphich aplikacich (dll,...) se najde podretezec

Portions Copyright (c) 1983,97 Borland

Vetsina programu psanych v MSVC++ obsahuje

Microsoft Visual C++ Runtime Library

Spusta programu neobsahuje zadny takovyto ani podobny podretezec, tak
cert vi, z ceho to pochazi (GNU, Watcom, MSVC bez knihovnen?, ...)?

Zdravi

Vasek
--
Vaclav Muchna
verejny pgp klic: http://www.apscomputer(tec)cz/vasek/pubring.html


Jak ladit ISAPI knihovnu?

[*] Jan Fryscak <fryscak(zv)scio(tec)cz> - 13.12.1999 10:20:10

Vse jsem udelal presne tak, jak je popsano dale, ale hazi mi to chybu:
Unable to create process. BTW stejnou chybu mi to hlasi pri pouziti drive
avizovaneho Intraboba, takze chyba bude asi v nastaveni serveru. Nevite
nekdo co s tim?

Diky Honza

> Zdravim
>
> tak ja take prispeji se svou troskou do mlyna:
>
> > nevite nekdo jak ladit (trasovat) ISAPI knihovny (a asi dll obecne)?
> > Chce to po me nejakou hostitelskou aplikaci, cemuz se nelze
> divit, ale jakou
> > mam zvolit?
>
> Za prve: pokud mas IIS server na stejnem pocitaci jako ladenou
> ISAPI DLL, tak do Run/Parameters, zalozka local vypln:
>
> WinNT:
>
> Host Application: c:\winnt\system32\inetsrv\inetinfo.exe
> Run Parameters: -e w3svc
>
> Win95
>
> Host Application: c:\Program Files\websvc\system\inetsw95.exe
> Run Parameters: -w3svc
>
> Pak aplikaci normalne spustis. Provedou se initialize a nic
> dit nebude. Zabrejkuj si to, co potrebujes a pust si
> prohlizec. Zavolej tu isapi knihovnu z prohlkizece a
> pokud kod pujde pres break, delphi se ti automaticky
> hodej do popredi a normalne ladis.
>
> Pokud nemas server na stejnem pocitaci, doporucuji,
> aby sis jej pro testovaci ucely naistaloval, jinak
> to lze resit tak, ze na pocitaci s IIS serverem
> naistalujes a pustis sluzbu Borland Remote Debugger
> Service a v delphi vyse uvedene parametry vyplnis
> do zalozky remote. Take by bylo vhodne zaskrtnout
> checkbox "Remote debug". No a dale je postup stejny,
> s tim rozdilem, ze nelze debugovat kodu, ale
> debugujes asemblerovy kod. A to neni nic pekneho :-)).
>
> Zdarvi a mnoho uspechu pri debugovani ISAPI knihoven
> preje
>
> Vasek Muchna
>
> P.S. Jinak v helpu doporucuji tema
> "Debugging ISAPI and NSAPI applications"
>
> --
> Vaclav Muchna
> APS computer
> sekce internetova/intranetova podnikova reseni
> tel. +420 603 475653
> email: apscomp(zv)seznam(tec)cz
> muchna(zv)apscomputer(tec)cz
>
> APS computer
> Frantiska divise 105
> Praha 10 - Uhrineves
> tel.: 02/677 10 368
>
> verejny pgp klic: http://www.apscomputer(tec)cz/vasek/pubring.html
>

TColor na Hexadecimal

[*] Petr Voborn�k <vobornik(zv)ssakhk(tec)cz> - 13.12.1999 10:33:03

Snazim se udelat jakysi jednoduchy generator www stranek a mam problem se zmenou barvy. Kdyz mam totiz v Delphi zvolenou nejakou barvu a chci ji pripsat do html skriptu, tak ji musim zapsat jako hexadecimalni cislo o 6 cifrach. Kdyz to udelam timto zpusobem IntToHex(Integer(Barva)), tak sice dostanu nejaky hexadecimalni cislo, ale zadny prohlizec tomu nerozumi. Ono je totiz pravdepodobne jine cislovani barev v Delphi a jine v html skriptech.
jak to mam tedy prevest?

Pitr - Petr Vobornik
MIKMIK company
vobornik(zv)ssakhk(tec)cz
ICQ# 23132120
www.ssakhk(tec)cz/home/vobornik/

"Kontrola. Dejte sem ty zdrojaky !"

[*] Viktor.Lostak(zv)chmi(tec)cz (Viktor Lostak) - 13.12.1999 10:44:13

Kdysi jsem udelal soft, ktery si prosel zdrojaky a nahradil vsechny
identifikatory, tj. nazvy metod, promennych atd. nicnerikajicimi siframi
typu XF_3521. Dale nektere veci nadefinoval do maker, takze treba misto "+"
se psalo CG_365 atp. (bylo to pro C). Takovy zdrojak sel stale prelozit, ale
nebyl v podstate k nicemu, ten bych klidne dal komukoli, at se v tom stoura
treba az do duchodu.

Nebo se da prohlasit za "zdrojak" disassemblovany kod programu - v podstate
to zdrojak je.

Myslim, ze oblafnout kontrolu (treba tak, jak jsem uvedl) a pritom neporusit
nejaky stupidni zakon je vcelku trivialni.

Viktor


Jak zjistit, ze jsem na poslednim zaznamu datasetu

[*] Pavel Bocek <xbocekp(zv)cs.felk.cvut(tec)cz> - 13.12.1999 10:59:00

Zdravim,

poradi nekdo, jak zjistit, jestli aktualni zaznam tabulky je ten posledni?

Potreboval bych neco podobneho jako je EOF, ale aby se nastavil
*vzdy* kdyz prejdu na posledni radek datasetu.

Diky,
Pavel Bocek

TColor na Hexadecimal

[*] Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz> - 13.12.1999 11:01:22

Snazim se udelat jakysi jednoduchy generator www stranek a mam problem se
zmenou barvy. Kdyz mam totiz v Delphi zvolenou nejakou barvu a chci ji
pripsat do html skriptu, tak ji musim zapsat jako hexadecimalni cislo o 6
cifrach. Kdyz to udelam timto zpusobem IntToHex(Integer(Barva)), tak sice
dostanu nejaky hexadecimalni cislo, ale zadny prohlizec tomu nerozumi. Ono
je totiz pravdepodobne jine cislovani barev v Delphi a jine v html
skriptech.
jak to mam tedy prevest?

Treba takhle:

function RGBtoHTML(RGBbarva:TColor):String;
var
pom:String;
begin
pom:=IntToHex(GetRValue(RGBbarva),2)+IntToHex(GetGValue(RGBbarva),
2)+IntToHex(GetBValue(RGBbarva), 2);
RGBtoHTML := '#'+pom;
end;

function HTMLtoRGB(HTMLbarva:String):TColor;
var
pom, b1,b2,b3:String;
barva:TColor;
begin
if copy(HTMLbarva,1,1)='#' then
begin
pom:=copy(HTMLbarva,2,length(HTMLbarva));
b1:='$'+copy(pom,1,2);
b2:='$'+copy(pom,3,2);
b3:='$'+copy(pom,5,2);

barva:=RGB(StringtoColor(b1), StringtoColor(b2), StringtoColor(b3));
end else
barva:=StringToColor('cl'+HTMLbarva);

HTMLtoRGB := barva;
end;

TComboBox - ReadOnly

[*] No Comment Group, s.r.o. / Bohdan Pomsahar <bpomsahar(zv)nocomment.sk> - 13.12.1999 11:07:38

Zdravim vseckych,

Mam problem potrebujem nastavit niektorym komponentam hromadne ReadOnly:=True. Problem je ten ze niektore danu vlastnost nemaju. Napriklad TComboBox ani TRadioGroup ani TCheckBox a urcite este aj dalsie. Neviete mi poradit pokial mozno co najjednoduchsim sposobom, ale musia to byt standartne delphi komponenti od borlandu. Dik za kazdu radu

Bohdan Pomsahar


"Kontrola. Dejte sem ty zdrojaky !"

[*] Pavel ZIDEK <kopr(zv)kopr(tec)cz> - 13.12.1999 11:25:01

Taky jsem se nad tim zamyslel. Ono staci vytisknout zdrojak pouze velkymi
pismenky a jako souvisly text a chtel bych videt toho, co to bude lustit,
asi tak 100 000kB kodu.
Aby se usetril papir, dalo by se to navic zpestrit tak, ze ten souvisly text
se vytiskne drobnym pismem, asi tak velikost 5. Zakon neresi velikost pisma.
A to bych jeste pismo dal do kurzivy (italiku) a pak je to necitelne uplne.
Pavel


> Kdysi jsem udelal soft, ktery si prosel zdrojaky a nahradil vsechny
> identifikatory, tj. nazvy metod, promennych atd. nicnerikajicimi siframi
> typu XF_3521. Dale nektere veci nadefinoval do maker, takze treba misto
"+"
> se psalo CG_365 atp. (bylo to pro C). Takovy zdrojak sel stale prelozit,
ale
> nebyl v podstate k nicemu, ten bych klidne dal komukoli, at se v tom
stoura
> treba az do duchodu.
>
> Nebo se da prohlasit za "zdrojak" disassemblovany kod programu - v
podstate
> to zdrojak je.
>
> Myslim, ze oblafnout kontrolu (treba tak, jak jsem uvedl) a pritom
neporusit
> nejaky stupidni zakon je vcelku trivialni.
>
> Viktor
>

- bitovy integer v Delphi 3 bez znamenka

[*] Mitko Mit�v <mitev(zv)foresta(tec)cz> - 13.12.1999 11:26:17



Ahoj vsem,

mam dojem ze se tu uz jednou tento problem rozebiral. Jedna se o nacteni a
uchovani 32 bitove beznamenkove hodnoty v Delphi 3 (neco jako unsigned long
v C++).

S pozdravem

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

Oprava chybajucich alebo poskodenych indexov

[*] Koukal Pavel <Pavel.Koukal(zv)pvt(tec)cz> - 13.12.1999 11:40:30

Ahoj,

ja jsem to u DBF tabulek vyresil takto:

Kdyz oteviram tabulku, tak si zjistim, jestli je v�DBF souboru odkaz na
index (29 druhy byte v�DBF souboru: 0 - neni index, 1 - je vytvoren index).
Jestlize je, tak zjistim, zda existuje indexovy soubor.
Jestlize je v�DBF odkaz a indexovy soubor neexistuje, jednoduse znicim v�DBF
odkaz a tabulku oindexuji znovu.

Snad ti to pomuze nasledujici zdrojovy kod..

Procedure ZrusIndex(ADBF:String); // Zrusi odkaz v DBF souboru i vsechny
Indexovy soubory k tabulce
Var FDBF:File of Char;
Ch:Char;
Soubor:String;
Begin
ADBF:=UpperCase(ADBF);
If Pos('.DBF',ADBF)=0 then Soubor:=ADBF+'.DBF' else Soubor:=ADBF;
AssignFile(FDBF,Soubor);
FileMode:=2;
Reset(FDBF);
Seek(FDBF,28);
Ch:=Chr(0);
Write(FDBF,Ch);
CloseFile(FDBF);
Soubor:=Copy(Soubor,1,Length(Soubor)-3)+'CDX';
If FileExists(Soubor) then DeleteFile(Soubor);
Soubor:=Copy(Soubor,1,Length(Soubor)-3)+'MDX';
If FileExists(Soubor) then DeleteFile(Soubor);
End;

Function JeOdkaz(ADBF:String):Boolean; // Zjisti, jestli je v DBF
souboru odkaz na index
Var FDBF:File of Char;
Ch:Char;
Soubor:String;
Begin
Result:=False;
ADBF:=UpperCase(ADBF);
If Pos('.DBF',ADBF)=0 then Soubor:=ADBF+'.DBF' else Soubor:=ADBF;
AssignFile(FDBF,Soubor);
Reset(FDBF);
Seek(FDBF,28);
Read(FDBF,Ch);
If Ord(Ch)<>0 then Result:=True;
CloseFile(FDBF);
End;

Function JsouSoubory(ADBF:String):Boolean; // Zjisti, zda existuji
indexove soubory
Var Soubor:String;
Begin
Result:=False;
ADBF:=UpperCase(ADBF);
If Pos('.DBF',ADBF)=0 then
Soubor:=ADBF+'.CDX'
else
Soubor:= Copy(ADBF,1,Length(ADBF)-3)+'CDX';
Result:=Result or FileExists(Soubor);
Soubor:= Copy(Soubor,1,Length(Soubor)-3)+'MDX';
Result:=Result or FileExists(Soubor);
End;

Oteviraci proceduru, ktera by ti otevirala DBF soubor s�indexem a v�pripade,
ze by neexistoval, tak by ho vytvoril, tak ta by mohla vypadat nasledovne.

Procedure
OtevriTabulku(Tabulka:TTable;ADBFSoubor,PodleIndexu,IndexDef:String);
Var Soubor:String;
Begin
If JeOdkaz(ADBFSoubor) and JsouSoubory(ADBFSoubor) then
begin
Tabulka.TableName:=ADBFSoubor;
Tabulka.Open;
Tabulka.IndexName:=PodleIndexu;
end
else
begin
ZrusIndex(ADBFSoubor);
Tabulka.TableName:=ADBFSoubor;
Tabulka.AddIndex(PodleIndexu, IndexDef, [ixExpression]);
Tabulka.Open;
Tabulka.IndexName:=PodleIndexu;
end;
End;

Pak staci zavolat jenom proceduru OtevriTabulku s�prislusnymi parametry
(Komponenta Ttable, Nazev DBF souboru, jmeno indexu, definice idexu) a potom
uz ti nebude vadit, jestli je smazany indexovy soubor nebo neco jineho.

procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.execute then
OtevriTabulku(Table1,opendialog1.filename,'idpokus','pole1+pole2');
End;

Mozna na to uz je hotova nejaka funkce od BDE, ale tohle je take funkcni.
Ahoj, Pavel Koukal.


Zdravim :)

Odkazy alebo navod, ako zabezpecit v programe opravu indexov pre
dBase
tabulky...

Vhodna reakcia by bola vhodna taka, ako sa chova Database
Desktop -
proste "vymaze" z tabulky indexy, teda tabulka sa uz viac na indexy
neodkazuje, co potom umoznuje pomocou jednoducheho prikazu
Table.AddIndex
pridat index.

Vopred dakujem za zachranne koleso :)

Ondrej


okraje pri tlaci

[*] Ing. J�n Kuch�r�����!j��G - 13.12.1999 11:58:10

caute
uz som sem raz tu otazku pisal, ale neprisla mi ziadna odpoved, takze to skusam
znovu a dufam ze budem uspesnejsi. Vo svojom programe pouzivat tlac pomocou
funkcie ASSIGNPRN na tlacierni od HP, dolny okraj pri tlaci zvlada tlaciaren vo
WORDE 1 cm, v mojom programe je to vsak 2,5 cm, takze otazka znie ci sa da
nejako nastavit dolny okraj pri tlaci, aked ano tak ako. Pre uplnost robim v D3.

dik


Ing. J�n Kuch�r
KIaR SjF TU Ko�ice
Park Komensk�ho 9
040 01 Ko�ice
tel. 095/602 2589, mobil : 0905 229542
e-mail: kuchar(zv)tuke.sk

Delphi 5, ADO -> Paradox,password

[*] SMID Oldrich, Ing. <SMIDO(zv)tpro(tec)cz> - 13.12.1999 12:08:48

V�en�,
nefunguje mi p��stup p�es ADO do Paradoxovsk� tabulky pokud je zaheslovan�.
Tr�pil jste se s t�m n�kdo ?

Connection string jsem vyrobil v D5 pomoc� Build, na nezaheslovan� paradox
tabulce to b�h� dob�e.
Kdy� ji v Database Desktop zahesluji a samoz�ejm� v D5 nastav�m tot� heslo
i do connection string (na konci zpr�vy), tak p�i pokusu o otev�en� tabulky
(prost� select * xxx.db) se objev� chybov� hl�ka:

[Microsoft][ODBC Paradox Driver] Unexpected error from external database
driver [10498]

D�ky ka�d�mu, kdo laskav� pohl�dne na tento probl�m a p��padn� n�pad na
�e�en� mi poskytne
Olda �m�d
Ing Old�ich �m�d
Topol Pro s.r.o. http://www.tpro(tec)cz
250 01 Brand�s nad Labem P.O.Box �. 4
tel.: 0202 800 168, fax: 0202 800 166, mobil: 0603 219 272
e-mail: smido(zv)tpro(tec)cz


ConnectionString:
Provider=MSDASQL.1;Password=123456;Persist Security Info=True;User
ID=olda;Mode=Read|Write;Extended
Properties="CollatingSequence=ASCII;DBQ=C:\TEST;DefaultDir=C:\TEST;Driver={M
icrosoft Paradox Driver (*.db
)};DriverId=538;FIL=Paradox 5.X;FILEDSN=C:\Program Files\Common
Files\ODBC\Data
Sources\paradox.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=600;Paradox
NetPath=C:\WINDOWS\SYSTEM;ParadoxNetStyle=4.x;ParadoxUserName=admin;SafeTran
sactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"

TColor na Hexadecimal

[*] Daniel Rott <roxton(zv)atlas(tec)cz> - 13.12.1999 12:12:42

> Krayzel Libor napsal:
> function RGBtoHTML(RGBbarva:TColor):String;
> var
> pom:String;
> begin
> pom:=IntToHex(GetRValue(RGBbarva),2)+IntToHex(GetGValue(RGBbarva),
> 2)+IntToHex(GetBValue(RGBbarva), 2);
> RGBtoHTML := '#'+pom;
> end;

Pridej si tam funkci ColorToRGB, protoze TColor muze byt systemova
barva (tj. odkaz do tabulky barev) napr. clWindow, clWindowText atp.

Daniel

"Kontrola. Dejte sem ty zdrojaky !"

[*] Tomas Kouba <tomas(zv)neo(tec)cz> - 13.12.1999 12:21:49

Mate pravdu, ale predevsim jde o princip! Zijeme v kocourkove...

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


>
> Kdysi jsem udelal soft, ktery si prosel zdrojaky a nahradil vsechny
> identifikatory, tj. nazvy metod, promennych atd.
> nicnerikajicimi siframi
> typu XF_3521. Dale nektere veci nadefinoval do maker, takze
> treba misto "+"
> se psalo CG_365 atp. (bylo to pro C). Takovy zdrojak sel
> stale prelozit, ale
> nebyl v podstate k nicemu, ten bych klidne dal komukoli, at
> se v tom stoura
> treba az do duchodu.
>
> Nebo se da prohlasit za "zdrojak" disassemblovany kod
> programu - v podstate
> to zdrojak je.
>
> Myslim, ze oblafnout kontrolu (treba tak, jak jsem uvedl) a
> pritom neporusit
> nejaky stupidni zakon je vcelku trivialni.
>
> Viktor
>

okraje pri tlaci

[*] Petr Brant <p.brant(zv)samo(tec)cz> - 13.12.1999 12:44:06

Ahoj,

nikdy jsem takhle (AssignPrn) netiskl, takze jde o nazor laika. Rekl
bych, ze znakovy tisk se v mnohem lisi od grafickeho, ktery vlastne
znamena kresleni na canvas tiskarny. Tam se daji nastavit meze pro tisk,
ale domnivam se, ze pri znakovem tisku to zavisi pouze na hardwaru
tiskarny. Takze to spis asi nejde.

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

> Vo svojom programe pouzivat tlac pomocou
> funkcie ASSIGNPRN na tlacierni od HP, dolny okraj pri tlaci zvlada
> tlaciaren vo
> WORDE 1 cm, v mojom programe je to vsak 2,5 cm, takze otazka znie ci
> sa da
> nejako nastavit dolny okraj pri tlaci, aked ano tak ako. Pre uplnost
> robim v D3.
> �
>

TComboBox - ReadOnly

[*] Bab�k Martin (+42035620,MUS a.s. M.Babik) <M.Babik(zv)mus(tec)cz> - ec 1999 12:55:37

Sice nevim k cemu ti to bude (co chces zapisovat do checku, nebo radia), ale
jestli nechces aby mohli s temito komponentami users neco delat tak vlastnost
"enable" je asi to prave. Ale to pak zase neplni asi svou hlavni funkci, tedy
vyber. Jinak CB ma ve vlastnosti "style" moznost k nastaveni pouze vyberu.
M&B

>>> MUS.TC."SMTP: No Comment Group, s.r.o. / Bohdan Pomsahar#bpomsahar(zv)nocomme
nt.sk" 12/13 11:27 >>>
Zdravim vseckych,

Mam problem potrebujem nastavit niektorym komponentam hromadne ReadOnly:=True.
Problem je ten ze niektore danu vlastnost nemaju. Napriklad TComboBox ani TRa
dioGroup ani TCheckBox a urcite este aj dalsie. Neviete mi poradit pokial mozn
o co najjednoduchsim sposobom, ale musia to byt standartne delphi komponenti o
d borlandu. Dik za
kazdu radu


Bohdan Pomsahar















Lokalizace

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 13.12.1999 13:03:29

Petr Vones wrote:

> > Pokud se zeptam blbe, tak se predem omlouvam.
> > Lze prelozit texty napr. dialozich (unit Dialogs) jednou
> > provzdy, tak aby se to projevilo jak ve stavajicich
> > aplikacich (samozrejme po novem prekladu), tak
> > i v aplikacich budoucich ?
> > Nechce se mi prekladat kazdou aplikaci zvlast.
>
> Provadet upravy ve zdrojacich VCL neni dobra cesta, nejen proto, ze ti
> to nebude fungovat pri pouziti balicku, ale i pri aplikovani patche o
> ty zmeny prijdes. Pouzij Zbyskuv Lokalizator, ten si pamatuje jiz
> jednou prelozene vyrazy: http://www.localizator.com

S okny volanymi unitou Dialog je to trochu horsi, protoze nektere
texty jsou tam natvrdo zasite primo v procedurach, nektere volaji
primo windowsovske dialogy.


S pozdravem

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


Zobrazeni textu na monitoru a tisk

[*] Michal Motalik <motalik(zv)cross(tec)cz> - 13.12.1999 12:04:09 -0000

Ahojte,

mam obrovsky problem s WYSIWYG-em.
Mam program, kterym si na stranku papiru nasazim nejake texty, tabulky, obrazky a cary a pak bych to chtel vytisknout.
Uvedu maly priklad:

with Canvas do
begin
Font.Name:='Times New Roman';
Font.Size:=6;
TextRect(Rect(....), x, y, 'Nejaky dost dlouhy text, aby se to projevilo a treba i dvakrat za sebe aby to koncilo jak ten velky text');
Font.Size:=12;
TextRect(Rect(....), x, y+50, 'Nejaky dost dlouhy text, aby se to projevilo');
Font.Size:=26;
TextRect(Rect(....), x, y+100, 'Nejaky dost dlouhy text, aby se to projevilo');
end;

Potom si nakreslim svislou caru zhruba na konci nejkratsiho textu a to tak, aby protinala vsechny tyto texty.
Kdyz to potom vytisknu na tiskarne, tak ta svisla cara protina ty texty v jinych mistech, nez na monitoru.
Pri tisku samozrejme prepocitavam dpi (tiskarna je nastavena na 300, monitor (formular z Delphi) ma 96). Pro jina dpi to dela to same.

Zajimave je, ze u textu velikosti 12 to vyjde vicemene spravne.
Pri delce textu asi 17cm a ruznych velikostech pisma je puvodni protnute pismeno posunute o:
velikost 6 -12 mm
velikost 10 -6 mm
velikost 12 0 mm
velikost 16 +1 mm
velikost 20 -13 mm
velikost 26 -11 mm
velikost 36 -3 mm

Dokazal by mi nekdo,prosim, vysvetlit, cim to je a pripadne poradit, jak na to? Ve Wordu to funguje spravne.

Dekuji

Pavel CABAK
cabak(zv)cross(tec)cz

- bitovy integer v Delphi 3 bez znamenka

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 13.12.1999 13:04:41

>
>
>Ahoj vsem,
>
>mam dojem ze se tu uz jednou tento problem rozebiral. Jedna se o nacteni a
>uchovani 32 bitove beznamenkove hodnoty v Delphi 3 (neco jako unsigned long
>v C++).


jsou v casade 3 moznosti:
1) vytvorit si svoje funkce pro aritmetiku (assemblerem) , atd atd a deklarovat jako svuj typ
2) pouzit nejaky vetsi typ, ktery pojme DWORD rozsah. Jako vhodny se jevi typ Comp, ktery reprezentuje 64 bitove znamenkove cislo. Nevyhodou ovsem je ze operace s nim jsou zpracovavana pomoci FPU coz muze byt na zavadu v pripade, ze je kladen duraz na rychlost (pak viz 1)
3) prejit na D5

PS: co se deje ve Windows, pokud bezi na CPU bez FPU? Emulace FPU je obsazena ve Windows nebo emulaci musi implementovat sama aplikace?


Zdravi
D. Toman

okraje pri tlaci

[*] Ing. J�n Kuch�r�����!j��G - 13.12.1999 13:15:05

a ako je to potom riesene povedzme vo WORDE, kde to ide na tej
istej tlaciarni

Language Drivers of Table and Index do not match

[*] Ondrej Jaura <jaura(zv)datalock.sk> - 13.12.1999 13:42:27

Zdravim :(

Pri pokuse otvorit tabulky (vytvorene v D4, DBF, dBase SLO cp852) v D5
mi hadze chybu "Language Drivers of Table and Index do not match".
Pozrel som sa na tabulky Database Desktopom - v strukture tabulky mi
vyhodil, ze mam driver "ASCII Ansi", co je znacne odlisne od mojho mysleneho
cp852...
Proste zmenenie language driver cez Database Desktop problem vonkoncom
nevyriesi... Celkovo sa to tvari, akoby obsah tabulky bol v inom kodovani
(myslene Latin2 <> Kamenicky)...

Znovuvytvorenie indexov nie je problem... (Vdaka, Pavel.Koukal(zv)pvt(tec)cz
:)))

Stretli ste sa uz s podobnym problemom?

Za zachranne kolesa vopred dakujem
Ondrej
------
Ondrej Jaura
Datalock a.s.
jaura(zv)datalock.sk
------ :)

okraje pri tlaci

[*] Vaclav Krmela <krmela(zv)pecomp(tec)cz> - 13.12.1999 14:03:34

Kdyz se podivas do unitu PRINTERS, zjistis, ze tisk pomoci AssignPrn
konci asi dva radky nad spodnim okrajem tisknutelne oblasti.
Tisknutelna oblast je dana Printer.PageHeight a bere se z ovladace
tiskarny. Inkoustove tiskarny HP hlasi konec tisknutelne oblasti
nekde kolem 50/100 palce nad fyzickym spodnim okrajem papiru.
Pokud k tomu prictes vyse zminene dva radky, mohl by jsi se dostat
i pres 2 cm na spodnim okraji. To odpovida.

Co s tim?
- zkusit zmenit format papiru, nastavit v ovladaci fiktivne delsi papir
- netisknout pomoci AssignPrn, ale kreslenim na Canvas tiskarny
- pouzit nejakou tiskovou komponentu

Vaclav Krmela

----- Original Message -----
From: Ing. J�n Kuch�r
To: Delphi konferencia
Sent: Monday, December 13, 1999 11:58 AM
Subject: okraje pri tlaci

caute
uz som sem raz tu otazku pisal, ale neprisla mi ziadna odpoved, takze to
skusam
znovu a dufam ze budem uspesnejsi. Vo svojom programe pouzivat tlac pomocou
funkcie ASSIGNPRN na tlacierni od HP, dolny okraj pri tlaci zvlada tlaciaren
vo
WORDE 1 cm, v mojom programe je to vsak 2,5 cm, takze otazka znie ci sa da
nejako nastavit dolny okraj pri tlaci, aked ano tak ako. Pre uplnost robim v
D3.

TComboBox - ReadOnly

[*] Pavel �im��ek - 13.12.1999 14:11:28

Ahoj.
Nedovedu si nejak predstavit jaky vyznam by mela treba u TRadioGroup nebo u TCheckBox
vlastnost ReadOnly.
Pokud ti jde o to aby je neslo nastavovat, tak pouzij Enabled.
Ale tobe asi vadi ze to pak je takove vysedene co?
Pavel

-----P�vodn� zpr�va-----
Od: No Comment Group, s.r.o. / Bohdan Pomsahar <bpomsahar(zv)nocomment.sk>
Komu: Delphi Conferencia <delphi-l(zv)fwd(tec)cz>
Datum: 13. prosince 1999 13:48
P�edm�t: TComboBox - ReadOnly


Zdravim vseckych,

Mam problem potrebujem nastavit niektorym komponentam hromadne ReadOnly:=True. Problem je ten ze niektore danu vlastnost nemaju. Napriklad TComboBox ani TRadioGroup ani TCheckBox a urcite este aj dalsie. Neviete mi poradit pokial mozno co najjednoduchsim sposobom, ale musia to byt standartne delphi komponenti od borlandu.


Dik za kazdu radu




Bohdan Pomsahar


Jak zjistit, ze jsem na poslednim zaznamu datasetu

[*] Michal Hlav�� - 13.12.1999 14:12:15

Jednoducho. Napr. v TTable asi takto
If Table.RecNo = Table.RecordCount then JeKoniec;

Miso

-----P�vodn� zpr�va-----

>Zdravim,
>
>poradi nekdo, jak zjistit, jestli aktualni zaznam tabulky je ten posledni?
>
>Potreboval bych neco podobneho jako je EOF, ale aby se nastavil
>*vzdy* kdyz prejdu na posledni radek datasetu.
>
>Diky,
>Pavel Bocek

TComboBox - ReadOnly

[*] Virag, Ivan <ViragI(zv)logica(tec)com> - 13.12.1999 14:42:29

Dalsi moznost je umistit si dane komponenty na panel a u nej potom nastavit
enable na false.

Ivan Virag

----------
From: Bab�k Martin [SMTP:M.Babik(zv)mus(tec)cz]
Sent: 13. prosince 1999 12:56
To: Delphi Conferencia; No.Comment.Group(zv)mus(tec)cz; s.r.o./Bohdan(zv)mus(tec)cz
Subject: Re: TComboBox - ReadOnly

Sice nevim k cemu ti to bude (co chces zapisovat do checku, nebo radia),
ale
jestli nechces aby mohli s temito komponentami users neco delat tak
vlastnost
"enable" je asi to prave. Ale to pak zase neplni asi svou hlavni funkci,
tedy
vyber. Jinak CB ma ve vlastnosti "style" moznost k nastaveni pouze vyberu.
M&B

>>> MUS.TC."SMTP: No Comment Group, s.r.o. / Bohdan
Pomsahar#bpomsahar(zv)nocomme
nt.sk" 12/13 11:27 >>>
Zdravim vseckych,

Mam problem potrebujem nastavit niektorym komponentam hromadne
ReadOnly:=True.
Problem je ten ze niektore danu vlastnost nemaju. Napriklad TComboBox ani
TRa
dioGroup ani TCheckBox a urcite este aj dalsie. Neviete mi poradit pokial
mozn
o co najjednoduchsim sposobom, ale musia to byt standartne delphi komponenti
o
d borlandu. Dik
za
kazdu radu



Bohdan Pomsahar





























Zobrazeni textu na monitoru a tisk

[*] Vaclav Krmela <krmela(zv)pecomp(tec)cz> - 13.12.1999 14:43:58

Jeste jsi neuvedl, ze se take kazde pismo chova jinak.
Problem je v tom, ze sirka pismen neni nasobkem DPI.
Stejne pismeno vytisknute stejnou velikosti na obrazovce
nebo tiskarnach s ruznym DPI nema sirku, ktera by
byla nasobkem DPI, jak by se dalo ocekavat.
Jednoduche reseni neexistuje.
Pokud si dobre pamatuji, napr. firma Sinea zapasila
s timto problemem tri roky, nez se jim (nam) to podarilo
uspokojive vyresit.

Vaclav Krmela


----- Original Message -----
From: Michal Motalik
To: Konference Delphi
Sent: Monday, December 13, 1999 1:04 PM
Subject: Zobrazeni textu na monitoru a tisk


Ahojte,

mam obrovsky problem s WYSIWYG-em.
Mam program, kterym si na stranku papiru nasazim nejake texty, tabulky,
obrazky a cary a pak bych to chtel vytisknout.
Uvedu maly priklad:

with Canvas do
begin
Font.Name:='Times New Roman';
Font.Size:=6;
TextRect(Rect(....), x, y, 'Nejaky dost dlouhy text, aby se to
projevilo a treba i dvakrat za sebe aby to koncilo jak ten velky text');
Font.Size:=12;
TextRect(Rect(....), x, y+50, 'Nejaky dost dlouhy text, aby se to
projevilo');
Font.Size:=26;
TextRect(Rect(....), x, y+100, 'Nejaky dost dlouhy text, aby se to
projevilo');
end;

Potom si nakreslim svislou caru zhruba na konci nejkratsiho textu a to tak,
aby protinala vsechny tyto texty.
Kdyz to potom vytisknu na tiskarne, tak ta svisla cara protina ty texty v
jinych mistech, nez na monitoru.
Pri tisku samozrejme prepocitavam dpi (tiskarna je nastavena na 300, monitor
(formular z Delphi) ma 96). Pro jina dpi to dela to same.

Zajimave je, ze u textu velikosti 12 to vyjde vicemene spravne.
Pri delce textu asi 17cm a ruznych velikostech pisma je puvodni protnute
pismeno posunute o:
velikost 6 -12 mm
velikost 10 -6 mm
velikost 12 0 mm
velikost 16 +1 mm
velikost 20 -13 mm
velikost 26 -11 mm
velikost 36 -3 mm

Dokazal by mi nekdo,prosim, vysvetlit, cim to je a pripadne poradit, jak na
to? Ve Wordu to funguje spravne.

Dekuji

Pavel CABAK
cabak(zv)cross(tec)cz

okraje pri tlaci

[*] Vaclav Krmela <krmela(zv)pecomp(tec)cz> - 13.12.1999 14:52:15

Jiz jsem nekolikrat v teto konferenci zaregistroval nazor,
ze tisk pomoci AssignPrn je znakovy tisk.
Podle mne se jedna (z pohledu tiskarny) o normalni graficky tisk.
Pouze z pohledu programu se to tvari tak, jako ze na tiskarnu
posilam textovy soubor. Vysledkem je ale tisk graficky.

Vaclav Krmela

----- Original Message -----
From: Petr Brant <p.brant(zv)samo(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Monday, December 13, 1999 12:44 PM
Subject: RE: okraje pri tlaci


> Ahoj,
>
> nikdy jsem takhle (AssignPrn) netiskl, takze jde o nazor laika. Rekl
> bych, ze znakovy tisk se v mnohem lisi od grafickeho, ktery vlastne
> znamena kresleni na canvas tiskarny. Tam se daji nastavit meze pro tisk,
> ale domnivam se, ze pri znakovem tisku to zavisi pouze na hardwaru
> tiskarny. Takze to spis asi nejde.
>
> **************************************************
> Petr Brant [p.brant(zv)samo(tec)cz], programator v MSVC++,
> obcas Delphi
> **************************************************
>

Zobrazeni textu na monitoru a tisk

[*] Michal Motalik <motalik(zv)cross(tec)cz> - 13.12.1999 13:58:59 -0000

Ahojte,

mam obrovsky problem s WYSIWYG-em.
Mam program, kterym si na stranku papiru nasazim nejake texty, tabulky, obrazky a cary a pak bych to chtel vytisknout.
Uvedu maly priklad:

with Canvas do
begin
Font.Name:='Times New Roman';
Font.Size:=6;
TextRect(Rect(....), x, y, 'Nejaky dost dlouhy text, aby se to projevilo a treba i dvakrat za sebe aby to koncilo jak ten velky text');
Font.Size:=12;
TextRect(Rect(....), x, y+50, 'Nejaky dost dlouhy text, aby se to projevilo');
Font.Size:=26;
TextRect(Rect(....), x, y+100, 'Nejaky dost dlouhy text, aby se to projevilo');
end;

Potom si nakreslim svislou caru zhruba na konci nejkratsiho textu a to tak, aby protinala vsechny tyto texty.
Kdyz to potom vytisknu na tiskarne, tak ta svisla cara protina ty texty v jinych mistech, nez na monitoru.
Pri tisku samozrejme prepocitavam dpi (tiskarna je nastavena na 300, monitor (formular z Delphi) ma 96). Pro jina dpi to dela to same.

Zajimave je, ze u textu velikosti 12 to vyjde vicemene spravne.
Pri delce textu asi 17cm a ruznych velikostech pisma je puvodni protnute pismeno posunute o:
velikost 6 -12 mm
velikost 10 -6 mm
velikost 12 0 mm
velikost 16 +1 mm
velikost 20 -13 mm
velikost 26 -11 mm
velikost 36 -3 mm

Dokazal by mi nekdo,prosim, vysvetlit, cim to je a pripadne poradit, jak na to? Ve Wordu to funguje spravne.

Dekuji

Pavel CABAK
cabak(zv)cross(tec)cz

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

[*] Robert Kindl <rob(zv)exec(tec)cz> - 13.12.1999 14:59:56

> > Ale zamyslis-li se, tak jak je mozne, ze jsi za vice nez 3/4 roku
> > nebyl schopen pro svuj projekt najit spolupracovniky,
> > kteri by opravdu neco delali
> > (v history.txt sice nejaci jsou, ale ve vlastnich komponentach
> > neni o nich ani zminka).
> > V tom, ze by jsi mel spatny projekt to neni.
> > Problem je, ze jsi podle meho nazoru zvolil
> > spatnou zakladni koncepci RESENI projektu :-(
> > Proste jdes proti proudu. O tom to cele je. O tom tady pisu.
>
> Problem je v tom, ze Zbysek s OLE DB primarne uspokojuje sve vlastni
> potreby. je prima, ze se s ostatnimi z darma podeli o vysledky sve prace,
> ale tezko mu to prinese spolupracovniky, protoze tehle zpusob pritahne jen
> takove, kteri take potrebuji vyresit stejny problem (a to este ne vsechny,
> protoze rada o Zbyskove projektu vubec nevi, a dalsi mohou mit jinou
> predstavu a nachteji se handrkovat). Zcela opomiji ty, kteri by se treba
> podileli na OLE DB ackoliv ho k nicemu nepotrebuji, ale radi by pracovali
na
> necem uzitecnem, velkem, zabavnem (zkratka fun & challenging). A navim,
> Zbysek jako typicky vyvojar zcela podcenuje vyznam medii :o)))), staci se
> podivat na stranky projektu OLE DB.
>
> Ale to jen tak na okraj, kdyz uz tady sijeme do Zbyska :o)) Nic osobniho,
of
> course. Zbysek je porad jeden z nejaktivnejsich vyvojaru ochotnych
pracovat
> pro spolecnou vec.

To je jasne, ze kazdy si resi predevsim sve problemy.
Ja jen chtel upozornit na to, ze stavajici smer nikam nevede.
Kdyz se ani po roce projekt nenabalil nikdo dalsi,
tak je neco spatne.
Je jasne, ze Zbysek nebude chtit vsechno zahodit a zacit
znovu, mozna lepe, ale jak sam rika. Zkusenost s OLE DB
udelal a ma tedy know how, ktere muze investovat.

> BTW, ma tu nekdo zajem podiskutovat o optimalni koncepci otevreneho
> aplikacniho jadra ?

Pokud na to budu mit znalosti...
Uz odpoveli i dalsi, jak chces diskusi realizovat. Emailem,
zvlastni diskusni skupina, nejak jinak?
Navrhni nejake body o cem diskuse ma byt.

Rov

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

[*] Robert Kindl <rob(zv)exec(tec)cz> - 13.12.1999 14:59:59

> > Jasne, "My to dokazeme !" :-) Zkusit by se to urcite mohlo, ale uz
pocatek
> > asi (narozdil od mwEditu) nebude tak snadny. Grid (at jiz s napojenim na
> > data, treba i pres ten "hrozny" TDataSet nebo jen jako virtualni) nabizi
> > pomerne dost ruznych reseni a jeste vice moznych pozadavku. Nejde jen o
> > ruzne grupovani, trideni, ale i o moznost vkladani "inplace" controlu do
> > bunek, dynamicke velikosti radku/sloupcu v zavislosti na datech, rozume
> > rychle a pritom "ciste" vykreslovani, drag&drop vcetne ruznych
grafickych
> > ptakovin ala Microsoft atd. Zkratka tim chci rict, ze uz jen definovat
ten
> > "perfektni grid" muze byt pekny orisek. Pokud by se tedy toto podarilo
> > (bez ohledu na existenci implementace), byl by to jiste uspech. Pri tom
> > je taky dobre vzit v uvahu, ze nektere "perfektni" specifikace byly tak
> > dobre, ze se je nikdy nepodarilo plne implementovat (treba ISO/OSI :-)
> > Takze, jdeme na to .....
>
> Ak to takto pojde dalej, tak programovanie aplikacie bude vlastne
> iba pouzitie zopar takychto superkomponentov a povypinanie
> ich nepotrebnych moznosti ;-). Ako to bude s vlastnostami ako
> korektnost, robustnost, rozsiritelnost, ... takychto zlozitych
> komponentov si uz asi kazdy domysli. Delphi, zial podporuje
> viacmenej iba takyto styl programovania (akesi ad hoc nabalovanie
> novych veci na stare, ked sa to nepodari tak kopirovanie plus
> zopar trikov k tomu).
>
> Moj nazor na grid je taky, ze grid je prostriedok pre reprezentaciu
> informacii v urcitej forme (mriezke, ci tabulke). Ma preto riesit
> iba tento jeden problem a abstrahovat od ostatnych zalezitosti.
> Dobry grid si dalej predstavujem tak, ze podpori reprezentovat
> akekolvek udaje a v akomkolvek systeme a pritom jeho specifikacia
> sa nezmeni (a bude ju mozne overit, ci uz pomocou nejakych
> matematickych metod, idealne ak s pomocou pocitaca, podobne ako
> napr. dnesne kompilatory dokazu skontrolovat kompatibilitu typov).
> Idealna by snad bola definicia gridu ako ADT pomocou algebraickej
> specifikacie, taketo moznosti vsak Delphi nepodporuje. Ide o to
> specifikovat podstatne vlastnosti, ktore sa nemenia a abstrahovat
> od nepodstatneho. Vysledkom potom je vysoka spolahlivost
> a znovupouzitelnost. V tomto smere je z beznych jazykov
> najdalej Eiffel a jeho Design by contract (a ma aj mnoho dalsich
> zaujimavych vlastnosti). Co sa tyka dostupnych technologii tak
> k principom algebraickych specifikacii ma podla mna najblizsie
> COM technologia s jeho specifikaciou interface. Aj ked moj
> pohlad na Delphi je dost kriticky, nechcem povedat, ze je
> Delphi zle ale len ukazat v com by snad mohlo byt lepsie. Takisto
> sa treba zamysliet, ked sa zacinaju iniciativy ako Delphree,
> co sa vlastne ma riesit a v com bude pripadny prinos. Robit
> nejake nove komponenty pre Delphi ako nahradu existujucich
> komponentov naozaj asi nema velky vyznam, pretoze s Delphi
> technologiou podstatne kvalitnejsie komponenty podla
> mna naprogramovat neidu a Delphi nepodporuje pouzitie
> inych nie VCL technologii (toto je moja navecsia vyhrada
> voci Delphi). Programovanie v Delphi je stale na dost nizkej
> urovni abstrakcie (je to viacmenej programovanie pocitaca, silne
> viazane na OS Windows) a malo sa to podoba specifikacii
> a riesenia problemov. A cielom podla mna nie je programovat
> pocitac ale pouzit ho na riesenie problemov.
> Erik Salaj

Lehce si odporujes.
Na jedne strane nechces programovat, ale jen specifikovat
cile a resit problemy a na druhe
strane nechces superkomponenty.
Bez super komponent proste nejde se soustredit jen
na cil, ale budes se muset zaobirat i programovanim
pro konkretni OS.
A nezalezi jestli pouzivas VCL, COM nebo neco jineho.
Mas ale pravdu, ze v Delphi asi neni
moc jinych moznosti nez mohutne neprehledne
superkomponenty.

Ale superprostredi, ktere
ma po programatorske strance vse vyresene, pamatuje
na vsechny moznosti a je zcela bez chyb
a lze ho provozovat na jakemkoliv
pocitaci od ZX Spectrum vyse neexistuje :-)

Pouziti jineho jazyka (Eiffel) mi pripada ciste akademicka
moznost bez praktickeho smyslu (zas tak moc
o tom nevim tak mne nekamenuj).

Dalsim resenim je zaplatit za neco jiz hotoveho,
ale to jsme zase u toho SAP R/3 :-)

Zdejsi programatorska obec vsak zije z Delphi.
Takze zbyvaji superkomponenty...
Takze jdeme na ten grid a na ten pristup k datum...

Rob

D5 - ano ci ne ?

[*] Robert Kindl <rob(zv)exec(tec)cz> - 13.12.1999 14:59:52

> Nikde neni psano, ze musim nacist cely balik, ktery se mi
> dotazem vytvori. To za prve. Nejsme v BDE, v OLE DB neni zadny
> problem zjistit predem pocet vet (a pripadne uzivatele varovat
> predem), ktere se mi nabizeji. Neni ani zadny problem nacist jen
> urcity pocet vet, a to jak od zacatku, prostredka nebo i konce,
> zepredu i zezadu. Kdykoliv mohu podle potreby sahnout do
> datasetu, nastavit se kam potrebuji, a docist dalsi cast dat. Takze
> to zavisi vyhradne na mne, co s tim udelam, a nikoliv na
> komponentach, jaky postup mi vnuti.
>
> Podivej se napriklad na ADO objekty (ty od MS). Podle toho, jak
> se chovaji, tak si nacitaji take data do sveho bufferu (s moznosti
> nastavit limit poctu vet).
> > Toto vsechno co jsi uvedl umi i muj RDBGridu i
> > muj RTreeGrid. A mnohem vic.
> > Trideni by mohl lepe zvladnou SQL server.
>
> Pokud chci nechat uzivatele, aby si kliknul na sloupec, podle
> ktereho chce tridit, tak to urcite nebudu sverovat serveru. Protoze
> to by znamenalo zavrit set, preformulovat select, a znovu otevrit (a
> tim padem prinutit server vytvorit nove kurzory).
>
> > Pokud to dela klient jde to presne proti modernim pozadavkum doby.
>
> Jake jsou moderni pozadavky doby? Pretezovani serveru, aby se
> odlehcilo klientu? :-)

Jak chces pretridit data na clientu, kdyz je nemas nactena v pameti.
Tohle je zasadni rozpor prechozich dvou odpovedi a proto je to jak jsem
rekl.
Trideni by mel delat server. BTW delam to pretrideni
tak jak jsi rekl, zavru dataset, preformuluji select a znovu ho otevru.
Funguje to skvele.
Pravdu muzes mit jen tehdy pokud by query trvala rekneme 100 sekund
(je hodne slozita) a vracela by rekneme 10 zaznamu. Pak je asi lepsi
to pretridit na clientu. Takze rekneme, ze univerzalni reseni neni,
ale radove castejsi je podle mne pripad kdy by to mel delat server.

> > > > To se o OLE DB komponentach rici neda.
> > > Proc ne? Ze jsou pojate uplne jinak nez BDE komponenty, vubec
> > > neznamena, ze nezapadaji do VCL, ze? :-)
> >
> > Nejede s nimi nic stavajiciho z original VCL ani meho (kohokoliv) ani
> > od tretich stran. Sam pises o dva odstavce jak dodelavas podporu pro
> > Sinea.
>
> Nejde, a ani nevidim duvod, aby slo. Jiste, muze to mit sve
> nevyhody, zejmena kdyz nekdo chce pouzivat trebas DBEdit (brrrr,
> jeho pouziti prinasi vic problemu nez pohodli). Co se tyka Siney,
> tak ta je nastesti udelana tak, ze prevod je v podstate hrackou.
> Stravil jsem tim asi den, vcetne studia toho, co vlastne Sinea umi.
> Ted ladim uz jen detaily.

Proc ne TDBEdit? Nad datasetem je zcela bez problemu nebo
resp. uplne stejne dobry jako TCustomMaskEdit jehoz je dedicem.
Jasne Sinea je treba OK, ale je spousta dalsich veci, ktere treba
nejsou tak otevrene, napr. Delphi :-)

> > Podle tveho popisu usuzuji take, ze grid nepodporuje VirtualView, to
> > je take dost zavazna chyba ponekud znehodnocujici databazove nasazeni
> > jako DBGrid viz. vyse natahovani do pameti
>
> Co konkretne mas na mysli VirtualView?

VirtualView je protected properta TCustomGridu a urcuje to nejzakladnejsi
chovani gridu. Ve strucnosti:
TStringGrid ma VirtualView=False,
nebot zobrazuje pevne dana data (predem do neho nasypana).
Pocet radku je tedy roven poctu dat.
TDBGrid ma VirtualView=True,
nebot zobrazuje predem neznamy pocet dat (scrollbar ma jen tri polohy)
pocet radku gridu je tedy roven zobrazitelnemu poctu radku
(kolik se vejde na obrazovku).
Konkretni implementace v DBGridu je zhruba takovato:
Vzhledem k tomu, ze DBGrid ma fixni velikost radky je pocet radek
predem znam a je roven BufferCount pripojeneho TDataSetu.
Pri pohybu v datech se
tak vlastne pohybuje jen ukazatel v datech a naplnuji
se Buffers z cache BDE aktualni radka je ActiveBuffer.

> > To je presne a pak jeste podporu pro Quickreport, Report builder, ACE
> > a ve finale jeste vlastni reportovaci tool, nebot v Report builderu
> > (od DM) maji taky private nebo nevirtual procedury a maji tam chyby
> > (vim ze je nastesti i opravuji) a tudiz je lepsi to cele napsat od
> > nuly, ze... Sorry asi nejsem konstruktivni a asi jsem dost
> > pesimisticky, ale ja nerad vidim, kdyz lide mrhaji svym potencialem na
> > podle mne spatne reseni. Je to samozdrejme jejich rozhodnuti, ale to
> > mi nemuze branit v tom abych ho kritizoval :-)
>
> :-) Ano, je to moje rozhodnuti, protoze ho nepovazuji za spatne
> reseni. Nevidim duvod, proc bych mel mrhat casem predelavkami
> QR a dalsich, pokud najdu sestavy, ktere splni me potreby, pro me
> aplikace. Nikdy jsem netvrdil, ze chci ja sam vytvorit vseobsahujici
> komponenty, ktere budou umet minimalne to co umeji BDE
> komponenty. To klidne a rad prenecham jinym.

Jo to je jasne, ale problem je v tom, ze tu stale neni
nikdo dalsi kdo by na tom pracoval.
Nebo byl ochoten pracovat a zde jsme opet
v onom bludnem kruhu.

> Moje potreby jsou nasledujici: vyhnout se BDE, pracovat s MS
> SQL Serverem, vykon, optimalni rozlozeni zateze mezi klientem a
> serverem. Delal jsem si vytezovaci testy, kdy jsem prenesl zatez
> na server, a rychle jsem od teto myslenky utekl.

Promin, to jsem nejak nepochopil :-(
Jake myslenky?

> > > > Tim je to pro mne slepa a neperspektivni vetev.
> > > > Proste lide ocekavaji, ze naleznou reseni pro sve
> > > Ano, _ocekavaji_. V tom je cely zakopany pes.
> >
> > V poradku je to tvoje rozhodnuti.
> > Ale zamyslis-li se, tak jak je mozne, ze jsi za vice nez 3/4 roku
> > nebyl schopen pro svuj projekt najit spolupracovniky, kteri by opravdu
> > neco delali (v history.txt sice nejaci jsou, ale ve vlastnich
> > komponentach neni o nich ani zminka).
>
> 1. Jadro je preci jen narocnejsi vec, zdaleka ne kazdy se orientuje
> v OLE DB interfejsech.
> 2. Fatalne mi chybi dokumentace, takze efektivne to umim pouzit
> zatim jen ja.
> > V tom, ze by jsi mel spatny
> > projekt to neni. Problem je, ze jsi podle meho nazoru zvolil spatnou
> > zakladni koncepci RESENI projektu :-( Proste jdes proti proudu. O tom
> > to cele je. O tom tady pisu. Sorry nechci te nastvat. Chci jen
> > upozornit na velky problem, ktery zabiji tuto cast Delphree. Nechci tu
> > mluvit za nikoho jineho. Ja ti jen rikam sve zkusenosti sve poznatky.
> > Ja sam tve OLE DB (zpocatku ADO, pak OLEDB nad datasetem a ted
> > samostatne OLEDB) sleduji peclive, take jsem ti zpocatku nabizel
> > spolupraci. A proc z toho nic neni? Kvuli spatne koncepci.
>
> To je vec pohledu. BDE komponenty maji dobrou koncepci
> vzhledem k BDE, ale uz to neplati vuci OLE DB. Filosofie DBLib a
> OLE DB ma tolik rozdilu, ze nelze rozumne napasovat OLE DB
> pres DBLib.

No pravda o OLE DB toho vis asi vice nez ja.
Ale nemyslim si, ze bych byl nejak svazany s DBLib.
Proste si myslim, ze uzitecnejsi by bylo udelat OLEDB
dedic TDatasetu. Borland ted udelal ADOExpress
i IBExpress nad datasetem. Adonis je nad datasetem.
Ale to jsme pokud si pamatuji jiz diskutovali.
Ty jsi se bohuzel rozhodl dataset opustit :-(

> > > > tak by se mozna nasli lide, kteri by je pouzili
> > > > a vylepsovali resp. vznaseli navrhy na vylepseni.
> > > > Jen ten spravce projektu chybi...
> > > > Ale neni to zbytecne delat dalsi RXLib?
> > > Pokud vim, tak na Delphree se nic takoveho nedeje. Prave proto, ze
> > > tam jsou komplexni projekty, a casto delane od sameho pocatku,
> > > vznika (nebo muze vzniknout) zcela nova uzitna hodnota.
> >
> > A neni to chyba?
>
> :-) Tato uvaha mi pripomina rozumovani stare zhruba 100 let: na co
> je pomaly, hlucny, drahy a smrduty automobil, kdyz s konem a
> povozem udelam vic prace (tedy prave dnes), levneji a v klidu? :-)

Jedine co se zmenilo je, ze uz neni automobil pomaly.
Jinak hlucny, drahy a smrduty je stale.
Napad vyrobit elektromobil (odstraneni smrdutosti
a hlucnosti) mel jiz F. Krizik.
Dodnes se masove neprosadil kvuli spatne koncepci
(olovene akumulatory, slunecni pohon). Lepsi technologie
vsak zatim neni.
Otazkou je tedy zda Delphi momentalne dovoluji
vyvinout neco lepsi (viz. fork "Pristum k datum, Delphree a vubec").

> > Masovemu nasazeni pritom brani mnou jiz uvedene duvody.
>
> To, ze jsem komponenty nabidl k volnemu pouziti, jeste
> neznamena, ze na masovem nasazeni trvam...

Bez neho to nema smysl.

> > Proto se bojim, ze jinak dobra iniciativa Delphree umre (resp. jeji
> > casti). Proto do toho stouram...
> Ale to je prece riziko jakehokoliv projektu. Budto se uchyti nebo ne.
> Uf, to je dlouhe plkani. :-)

Jiste, ale kdyz neco nefunguje, tak to nebudu obhajovat
zuby nehty, ale zkusim neco zmenit aby to fungovalo.

Rob

startovaci okno

[*] Martin Pe�ek <pesek.martin(zv)mymail(tec)cz> - 13.12.1999 15:11:29

Zdravim !!!
Nevi tady nekdo jak udelat okno s obrazkem, ktery se zobrazi pri startovani programu ? Nastaveni toho okna umim, ale aby se zobrazil, kdyz startuje programu a vypnul, kdyz uz je spustenej nevim. Poradite mi ? Predem dik a cau Martin.

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

Databaze a sireni + par drobnosti II

[*] Martin Pe�ek <pesek.martin(zv)mymail(tec)cz> - 13.12.1999 15:24:59

Zdravim !!!> Zkousel jsi otevrit tu databa samotnou? Co treba alias?

He ? Tak to je na me trosku moc. S databazema moc neumim a tak nevim, co to
je alias. Mohl by jsi to upresnit ? Dik a cau Martin.

ObjestStore, PSE

[*] jan hausenblas <hausenblasj(zv)globalsystems(tec)cz> - 13.12.1999 15:26:31

Mate prosim nekdo informace nebo dokonce prakticke zkusenosti
se spolupraci Delphi <+> ObjestStore pripadne i PSE?

j.h.

Grid was:Pristup k datum, Delphree a vubec

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 13.12.1999 15:45:29

Pavel Cisar wrote:

> vlastnosti ? Kdyz jsem navrhoval kolektivni projekt "lepsiho" gridu,
> tak jsem rozhodne nemel na mysli nejake takove monstrum.
>
> Mno, a tim povazuji laskovani na toto teme za uzavrene :o) Nicmene
> grid je bolavym mistem tolika lidi, ze jsem si jist, ze drive ci
> pozdeji na podobny projekt dojde.

Takze konec planeho plkani, zkusme vyresit nasledujici problemy:

1. Kdo bude projekt ridit (a tedy schranovat i popis vlastnosti tridy)?
Dopredu podotykam, ze ja ne. :-)

2. Kdo bude tvorit dokumentaci, zejmena v anglictine? (Ja take ne
:).

Prvni nadhoz vlastnosti gridu:

Grid by mel mit Custom cast, ktera by byla obecna ale zaroven
dostatecne robustni, a nemela by zadny datovy buffer, ale mela by
nastroje pro praci s daty. Nad tim by pak mohly byt "tenke"
implementace pro ten ktery datovy zdroj.

Co by mel CustomGrid obsahovat:

1. Samozrejme schopnost spravneho vykresleni sama sebe.

2. Individualni definici sloupcu, tedy kazdy sloupec by mel znat
(nektere body jsou dost povsechne, jiste by stalo za to rozepsat
detaily):
a) datovy typ, ktery obsluhuje,
b) moznost trideni nahoru i dolu,
c) umet prehodit typ za behu (pres udalost),
d) umet za behu zmenit atributy a to jak v zavislosti na hodnote
(tedy jakasi jednoducha podminka, if value>5 then cerveny_tlusty
else default), a totez "nasilne" zvenku (udalost),
e) podle datoveho typu spravne data zobrazit - s tim souvisi
schopnost natahnout nejaky graficky prvek, napriklad Check pro
boolean,
f) sloupce je mozne jak z(ne)viditelnovat, ale take by melo byt
mozne nastavit, zda je vubec povolena viditelnost (nektery sloupec
muze slouzit jako pomocny buffer ci pointer pro potreby
programatora, napriklad neco jako je autoinkrement v databazi atp.),
g) mel by znat vlastni default (mask)editor pro prislusny typ dat, s
moznosti editor prehodit (priklad: mam integer, a v nem ulozenou
hodnotu datumu nebo casu; prirozene chci spravne zobrazeni i
editaci), a to i za behu pro vybrane radky.

3. Schopnost menit za behu velikost radku (nektera data je vhodne
zalomit na vice radku, atp.)

4. Rozhrani pro export dat, napriklad:
a) do textaku (to by mohlo byt zabudovane uz v Custom),
b) do Excelu,
c) na tiskarnu,
d) do databaze, ...

Dalsi napady?


S pozdravem

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


Delphi 5, ADO -> Paradox,password

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 13.12.1999 15:45:29

SMID Oldrich, Ing. wrote:

> nefunguje mi p��stup p�es ADO do Paradoxovsk� tabulky pokud je
> zaheslovan�. Tr�pil jste se s t�m n�kdo ?
>
> D�ky ka�d�mu, kdo laskav� pohl�dne na tento probl�m a p��padn� n�pad
> na �e�en� mi poskytne

Rada je dosti jednoducha - nezaheslovavat tabulky, protoze kdo se
v tom bude chtit stourat, tak muze pouzit univerzalni heslo jIGGAe,
takze heslo v PDX tabulce je stejne jen pro paradu. :-)


S pozdravem

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


Jak zjistit, ze jsem na poslednim zaznamu datasetu

[*] Jaroslav Nadhera <nadhera(zv)csh(tec)cz> - 13.12.1999 16:11:50

> Jednoducho. Napr. v TTable asi takto
> If Table.RecNo = Table.RecordCount then JeKoniec;
>

Ale pozor RecordCount na tabulce s hodne zaznamy trva hodne dlouho (alespon
na Paradoxu).

J. N�dhera

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

Grid was:Pristup k datum, Delphree a vubec

[*] Ivan Turcan <iturcan(zv)gamo.sk> - 13.12.1999 16:19:42

>Co by mel CustomGrid obsahovat:
>
>1. Samozrejme schopnost spravneho vykresleni sama sebe.
>
>2. Individualni definici sloupcu, tedy kazdy sloupec by mel znat
>(nektere body jsou dost povsechne, jiste by stalo za to rozepsat
>detaily):
> a) datovy typ, ktery obsluhuje,
> b) moznost trideni nahoru i dolu,
> c) umet prehodit typ za behu (pres udalost),
> d) umet za behu zmenit atributy a to jak v zavislosti na hodnote
>(tedy jakasi jednoducha podminka, if value>5 then cerveny_tlusty
>else default), a totez "nasilne" zvenku (udalost),
> e) podle datoveho typu spravne data zobrazit - s tim souvisi
>schopnost natahnout nejaky graficky prvek, napriklad Check pro
>boolean,
> f) sloupce je mozne jak z(ne)viditelnovat, ale take by melo byt
>mozne nastavit, zda je vubec povolena viditelnost (nektery sloupec
>muze slouzit jako pomocny buffer ci pointer pro potreby
>programatora, napriklad neco jako je autoinkrement v databazi atp.),
> g) mel by znat vlastni default (mask)editor pro prislusny typ dat, s
>moznosti editor prehodit (priklad: mam integer, a v nem ulozenou
>hodnotu datumu nebo casu; prirozene chci spravne zobrazeni i
>editaci), a to i za behu pro vybrane radky.


h) moznost ukotvenia stlpca(ov)

Ivan Turcan

startovaci okno

[*] marcant <marcant(zv)sct.sk> - 13.12.1999 16:22:42

Je to easy, proste na zaciatku programu to okno vytvoris, zobrazis a pred samotnym Application.Run ho uvolnis (pripadne ho uvolnis az neskor v nejakom OnShow a pod.). Treba len dat pozor na to, aby to nebolo prve okno vytvorene cez Application.CreateForm (je mozne ho vytvorit ako prve, ale nie cez Application.CreateForm) inak by to bolo hlavne okno programu a pri jeho zavreti by sa zavrela cela aplikacia. Pokial nechces ramcek a titulok, tak tomu formularu nastav BorderStyle:= bsNone.
Jednoduchy priklad XXX.dpr:
...
begin
Application.Initialize;
Application.Title:= 'XXX';
Application.HelpFile := 'XXX.hlp';
Application.CreateForm(TFrmHlavny, FrmHlavny);
Application.CreateForm(TFrmAbout, FrmAbout);
FrmAbout.Show;
FrmAbout.Repaint;
...
FrmAbout.Free;
Application.Run;
end. Zdravim !!!
Nevi tady nekdo jak udelat okno s obrazkem, ktery se zobrazi pri startovani programu ? Nastaveni toho okna umim, ale aby se zobrazil, kdyz startuje programu a vypnul, kdyz uz je spustenej nevim. Poradite mi ? Predem dik a cau Martin.

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

Direct Oracle Access komponenty - chyba pri inicia

[*] Jand�k Petr <Petr.Jandik(zv)merlin(tec)cz> - 13.12.1999 16:22:24

Ahoj,

mam nasledujici problem s DOA komponentami:

pokud je pouziji ve sve DLL knihovne, kterou pak volam z Century, v okamziku
volani TOracleSession.LogOn se objevi hlaska, ze inicializace ORA73.DLL byla
neuspesna a aplikace se zhrouti. Zajimave je, ze se to stava jenom na
nekterych stanicich (95,98 i NT), presto ze na tech samych stanicich bez
problemu bezi jine aplikace, ve kterych DOA taky pouzivam - zalezi jen na
tom, jsou-li primo v exe, nebo v dll. V exe bezi, v dll nebezi. Vubec
netusim, cim by to mohlo byt.

Dik za kazdou radu

Petr


Direct Oracle Access komponenty - chyba pri inicia

[*] JAHODA Jozef <jahoda(zv)asset.sk> - 13.12.1999 17:22:47

Jand�k Petr wrote

> pokud je pouziji ve sve DLL knihovne, kterou pak volam z Century, v
> okamziku
> volani TOracleSession.LogOn se objevi hlaska, ze inicializace ORA73.DLL
> byla
> neuspesna a aplikace se zhrouti. Zajimave je, ze se to stava jenom na
> nekterych stanicich (95,98 i NT), presto ze na tech samych stanicich bez
> problemu bezi jine aplikace, ve kterych DOA taky pouzivam - zalezi jen na
> tom, jsou-li primo v exe, nebo v dll. V exe bezi, v dll nebezi. Vubec
> netusim, cim by to mohlo byt.
>
No neviem Ti poradit, ale pouzivame DOA 3.3.0 a bezi aj z DLL bez
problemov.
Testovane tak 20-30 PC (95,98 NT)

JJ


Direct Oracle Access komponenty - chyba pri inicia

[*] Jan Fryscak <fryscak(zv)scio(tec)cz> - 13.12.1999 18:12:29

Mam podobny problem, ale s Oracle 8.1.5. Jelikoz se mi stale nedari ladit tu
ISAPI knihovnu, tak nevim, kde presne nastava.
Pokud zkousim obdobu toho, co je v dll, tak to v exe bezi.
DOA mam teprve nekolik hodin, takze muze byt problem i jinde.

S pozdravem
Jan Fryscak, Scio

> Ahoj,
>
> mam nasledujici problem s DOA komponentami:
>
> pokud je pouziji ve sve DLL knihovne, kterou pak volam z
> Century, v okamziku
> volani TOracleSession.LogOn se objevi hlaska, ze inicializace
> ORA73.DLL byla
> neuspesna a aplikace se zhrouti. Zajimave je, ze se to stava jenom na
> nekterych stanicich (95,98 i NT), presto ze na tech samych
> stanicich bez
> problemu bezi jine aplikace, ve kterych DOA taky pouzivam -
> zalezi jen na
> tom, jsou-li primo v exe, nebo v dll. V exe bezi, v dll nebezi. Vubec
> netusim, cim by to mohlo byt.
>
> Dik za kazdou radu
>
> Petr
>

Zobrazeni textu na monitoru a tisk

[*] Michal Motalik <motalik(zv)cross(tec)cz> - 13.12.1999 17:43:20 -0000

Diky za odpoved, ale neslo by to trochu konkretneji? Nerad bych na tom taky
stravil tri roky.

P.S.: Nebo si mam pockat, az bude platit novy zakon o osobnich udajich a
potom vyslat prevleceneho kontrolora do Microsoftu, aby si ty spravne
zdrojaky pujcil?

Pavel CABAK
cabak(zv)cross(tec)cz

----- Original Message -----
From: Vaclav Krmela <krmela(zv)pecomp(tec)cz>
To: Delphi forum <delphi-l(zv)fwd(tec)cz>
Sent: Monday, December 13, 1999 2:43 PM
Subject: Re: Zobrazeni textu na monitoru a tisk


> Jeste jsi neuvedl, ze se take kazde pismo chova jinak.
> Problem je v tom, ze sirka pismen neni nasobkem DPI.
> Stejne pismeno vytisknute stejnou velikosti na obrazovce
> nebo tiskarnach s ruznym DPI nema sirku, ktera by
> byla nasobkem DPI, jak by se dalo ocekavat.
> Jednoduche reseni neexistuje.
> Pokud si dobre pamatuji, napr. firma Sinea zapasila
> s timto problemem tri roky, nez se jim (nam) to podarilo
> uspokojive vyresit.
>
> Vaclav Krmela
>
>
> Ahojte,
>
> mam obrovsky problem s WYSIWYG-em.
> Mam program, kterym si na stranku papiru nasazim nejake texty, tabulky,
> obrazky a cary a pak bych to chtel vytisknout.

Jak ladit ISAPI knihovnu?

[*] V�clav Muchna <apscomp(zv)seznam(tec)cz> - 13.12.1999 19:06:38

Jan Fryscak wrote:
>
> Vse jsem udelal presne tak, jak je popsano dale, ale hazi mi to chybu:
> Unable to create process. BTW stejnou chybu mi to hlasi pri pouziti drive
> avizovaneho Intraboba, takze chyba bude asi v nastaveni serveru. Nevite
> nekdo co s tim?

Ted jsem si uvedomil, ze pokud je to pod NT, tak je potreba ve spravci
uzivatelu, menu Politiky/Politika prav uzivatele nastavit pravo na ladeni.

Dole si zaskrni pole Zobrazit prava zkuseneho uzivatele, a v pravech vyber
"ladit programy" a pridej tam sveho uzivatele.

Snad by to melo zafungovat...

zdravi

Vasek

--
Vaclav Muchna
verejny pgp klic: http://www.apscomputer(tec)cz/vasek/pubring.html


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

[*] Tom� Br�dle������i�^����? - 13.12.1999 19:49:33


-----P�vodn� zpr�va-----
Od: Pavel Cisar <pcisar(zv)aktis(tec)cz>>Presne. To je bohuzel zasadni problem jakehokoliv alternativniho reseni k
>soucasnemu modelu pouzitem v Delphi/BCB. Jakykoliv novy model musi prekonat
>tuto barieru aby byl pouzitelny. Proto mam Borlandum za zle, ze nemaji
>otevrenejsi model propojeni vizualnich prvku se zdroji dat (je vazany na
>potomky TDataSet).
>


Zdravim,

Mas nejakou konkretni predstavu o tom otevrenejsim pristupu k datum
pres visualni komponenty ?

Tomas Bradle
t.bradle(zv)pvtnet(tec)cz

Grid was:Pristup k datum, Delphree a vubec

[*] Tom� Br�dle������i�^����? - 13.12.1999 19:49:28

Zdravim,


-----P�vodn� zpr�va-----
Od: Zbysek Hlinka <zhlinka(zv)login(tec)cz>> Prvni nadhoz vlastnosti gridu:

> e) podle datoveho typu spravne data zobrazit - s tim souvisi
> schopnost natahnout nejaky graficky prvek, napriklad Check pro
> boolean,


a taky zobrazit obrazek z databaze (z BLOBu). Souhlasim s tim,
ze to muze byt na prekreslovani casove narocne,
ale kdyby slo jen o nahledy...


i) mo�nost zapamatovani runtime nastaveni sloupcu - sirka a poradi
po resize a move.

Tomas Bradle
t.bradle(zv)pvtnet(tec)cz


Zobrazeni textu na monitoru a tisk

[*] Vaclav Krmela <krmela(zv)pecomp(tec)cz> - 13.12.1999 20:30:04

----- Original Message -----
From: Michal Motalik <motalik(zv)cross(tec)cz>
Subject: Re: Zobrazeni textu na monitoru a tisk


> Diky za odpoved, ale neslo by to trochu konkretneji? Nerad bych na tom
taky
> stravil tri roky.

Kazda myslenka je v zasade velmi jednoducha.
Pokud chci dosahnout toho, aby se mi jednotliva pismena tiskla na
konkretnich
pozicich nezavisle na DPI, nemohu tisknout cely text najednou pomoci
TextRect nebo TextOut. Tyto funkce si tisknou jak samy chteji, pokazde
jinak.
Musim budto tisknout po jednotlivych pismenech, pricemz kazdemu pismenu
priradim konkretni polohu nezavisle na DPI nebo musim pouzit funkci
ExtTextOut, kde vytisknu najednou delsi text a soucasne mam moznost
priradit kazdemu pismenu pozici, presneji receno vzdalenost sousednich
pismen.

>
> P.S.: Nebo si mam pockat, az bude platit novy zakon o osobnich udajich a
> potom vyslat prevleceneho kontrolora do Microsoftu, aby si ty spravne
> zdrojaky pujcil?

Neni treba cekat. Pokud vim, zdrojove texty Sinea se daji koupit.

Vaclav Krmela

Rychle prolejzani databaze

[*] Petr.Motlicek(zv)bcbrno(tec)cz - 13.12.1999 21:13:50

> Mam databazi vyrobku. A potrebuji vypsat, kolik podrizenych vyrobku je t eba
> na vyrobeni toho vrcholoveho.
>
> Pr. Mame auto. Auto se sklada t eba z�kol a sedacek (staci, at to nen� vic
> slozity :o)). Kola se skladaji z�rafku, plastu a sroubu. Plaste se skladaji
> z�gumy a latky. Sedacka se sklada z�kostry a potahu. A ja potrebuji vypsat,
> kolik sroubu je t eba na jedno auto. Takze na jedno kolo potrebuji 4 srouby.
> Kola jsou u auta 4. Takze 16 sroubu na 1 auto. A takto to potrebuji vypsat
> u v ech polozek. Ale nevim, kolik t chto urovni je. Kdy bych vzal t eba
> motor, tak bych se klidne mohl dostat tam, ze t eba loziska se kladaji
> z�kulicek. A mohla by to byt t eba 148 uroven. Poradite mi, jak toto udelat
> a aby to bylo co nejrychlejsi? Hlavne ta rychlost je dost dulezita. Jeden
> zpusob jsem vymyslel, ale byl opravdu pomaly. Proto se obracim na opravdove
> programatory. Tnx a lot.
>
> AUTO
> -KOLA - SROUBY
> -PLASTE - GUMA
> - LATKA
>
> -SEDACKY- POTAH
> - KOSTRA
>
>
> P.S. sem to ale trubka. U kazdeho vyrobku je tzv. kusovnik, kde jsou jmena
> v ech podrizenych na dal � urovni. Ale pouze na te pristi. Takze u "KOLA" je
> kusovnik, kde jsou uvedeny "SROUBY" a "PLASTE". A nic vic. U "PLASTE" je
> zase uvedena "GUMA" a "LATKA".
> Klidne je mozne pouzit nejakou dal � TmpTabulku pro docasne ulozeni zaznamu.
> To ale asi nebude nejrychlejsi. Ale uvidime.
> Potrebuji to co nejrychleji (odpoved i beh programu :o)) Nedelam to
> v�Delphi, ale priklady v�nem klidne byt mohou (a asi budou). To je v�pohode.

Ahoj,

no premyslel jsem o tom, zkousel jsem neco
jen tak na papir (neprogramoval jsem to), a
vyslo mi z toho toto:

- pokud neexistuji nejake dodatecne udaje
(urovne, vetev, ci nejaky specialni index) tak
budu zacinat "odspod", protoze, kdybych sel
zvrchu, tak pro nektere kombinace to muze
trvat hodne dlouho, protoze bych se dostal do
slepe vetve (tedy tam, kde neni ten hledany
podrizeny vyrobek).

- bez toho indexu ci dodatecnych informaci to
stejne bude pomale

- (nevim teda, jestli jsem nevymyslel, to co uz
ty) muj postup (premyslim s omezenim
PARADOX-u a snad jsem si dobre predstavil,
tvoje ulozeni dat):

nakreslil jsem si hypoteticky, orientovany sitovy
diagram, ktery v podstate odpovida matici
"predchudce\ naslednik", s ohodnocenymi
hranami (tedy to by mel byt kusovnik:
horni,dolni, pocet).

1.Krok
********
z tabulky kusovniku si vyberu vsechny vyrobky,
ktere jsou ve sloupci horni anebo jsou
hledanym podrizenym vyrobkem - komponenta
(jinak: odrezu vsechny hrany, ktere smeruji k
uzlu - naslednikovi - ktery sam nema
naslednika, vyjma hledaneho uzlu.)

Neco jako:

Create Table kusovniktmp as
Select horni,dolni,pocet from Kusovnik
where dolni = komponenta or dolni in
(Select distinct horni from kusovnik)
order by dolni,horni - toto razeni je dulezite,
kvuli rychlosti viz nize

2. Krok
*********
z vybrane podmnoziny vyrobku budu postupne
vymazavat ty "dolni" vyrobky, ktere jiz sami
nejsou "hornimi"
(jinak: v sitovem diagramu to bude vypadat tak,
ze budu vylucovat hrany, ktere smeruji do uzlu,
z nichz nevychazi zadna hrana)
Pri tomto orezavani, si budu nacitat pocty
"dolnich" vyrobku, ze kterych se skladaji "horni"
vyrobky

tedy neco jako:

Select dolni from kusovniktmp
where not dolni in (Select distinct horni from
kusovniktmp)

kusovniktmp.locate('dolni',query.dolni.value,[]);

while not Query.eof do begin

while Query.Dolni = kusovniktmp.dolni do begin

if Mezivysledky.Locate( 'vyrobek',
kusovniktmp.horni,[]) then
inc(Mezivysledky.Pocet,kusovniktmp.Pocet);
else begin
Mezivysledky.InsertRecord([kusovnitktmp.horni,
kusovniktmp.pocet]);
end;
kusovniktmp.delete;

end;

Query.Next;
end;

A cely krok 2 opakuji, dokud v Query.Dolni
nebude hledany vyrobek. (tedy v sitovem
diagramu to bude vypadat tak, ze mi hledany
uzel (vyrobek) jiz nema vystupujici hranu)


Uff, no snad jsem ti pomoh, snad to je funkcni.
Nekamenujte me za preklepy ci syntaxi ci
zvoleny implementacni postup.

Petr Motlicek


Jakou databazi doporucite ?

[*] Petr Dedecek <petrd(zv)atlas(tec)cz> - 13.12.1999 21:27:07


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

Petr

SET (Seriove cislo disku)

[*] Petrik <petrik(zv)geocities(tec)com> - 13.12.1999 21:59:42

(jestli je to tu podruhe tak se omlouvam, ale jiste vsichni vite, jak
to posledni dobou zlobi!!)

Nazdarek,

>> JAK SERIOVE CISLO (nastavovane pri formatu disku)
>> NASTAVIT ???????????????

uz sem se tu ptal a nekdo mi odpovedel zajimavou procedurou,
ktera by to mela umet (koho to zajima tak si to najdete v
archivu :) ). Mozna umi, jenze to nefunguje.
Win98 zarvou, ze se jedna o starou asi dosovou aplikace, ktera
se pokousi pristupovat kamsi na disk a bude bud ukoncena
a nebo se zakaze ten zapis ... takze mam smulu.
Tohle tu hlasku vyvola (takove to zname bile okno - o neco mensi
priorita nez modra obrazovka = da se z toho vzpamatovat) :

Result := DeviceIoControl(Device, Ord(CtlCode), (zv)Regs, SizeOf(Regs), (zv)Regs, SizeOf(Regs), Count, nil);
kde ORD(CTLCODE) = operace s diskem = 3;

takze de vubec pod Windozema zmenit seriove cislo disku ????????

(tohle byl vicemene zpusob na volani assembleru :
> procedure WriteBoot95(Drive: Char; var Boot: TSector);
> var
> Regs: TDiocRegisters;
> begin
> with Regs do begin
> EAX := Ord(UpCase(Drive)) - Ord('A');
> EBX := LongWord((zv)Boot);
> ECX := 1;
> EDX := 0 end;
> if not VWin32(ccVWin32Int26, Regs) then
> raise Exception.Create(SysErrorMessage(GetLastError))
> end;)

DIKES.

Cus,
Petrik mailto:petrik(zv)geocities.com



__________________________________________________
Do You Yahoo!?
Thousands of Stores. Millions of Products. All in one place.
Yahoo! Shopping: http://shopping.yahoo.com


tabulatory v RichEditu

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.12.1999 22:55:42

k.machac(zv)iol(tec)cz wrote:
> poradi mi nekdo, jestli jde a pripadne jak v Delphi 3 v komponente
> RichEdit nastavit tabulatory na urcitou hodnotu (vzdalenost od okraje) ?

Ahoj,

Podivej se na TRichEdit.Paragraph.Tab a TRichEdit.Paragraph.TabCount

--

Petr Vones, amatersky programator

doc to RichEdit - doplneni

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

sup(zv)svitap(tec)cz wrote:
> Drobounky problem: jak dostat do RichEditu jakykoliv soubor *.doc z
> Wordu/WordPadu ??
> D3Profi, w98
> Neni dostupny Word.

Ahoj,

Budes muset provest konverzi z *.doc do RTF, tak jako to dela WordPad.
Predpoklada to ale, ze uzivatel ma WordPad nainstalovan, protoze soucasti
instalace jsou i konverzni knihovny (soubory *.wpc ktere najdes v adresari
kde je i WordPad). Nekde na DSP jsem videl rozhrani a priklad pro Delphi
jak je pouzit. Zkus tam hledat. Nicmene i tak budes omezen na format max.
Word 6.

--

Petr Vones, amatersky programator

RTTI (Was: TComboBox - ReadOnly)

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.12.1999 22:56:51

> "No Comment Group, s.r.o. / Bohdan Pomsahar" wrote:
> Mam problem potrebujem nastavit niektorym komponentam hromadne
> ReadOnly:=True. Problem je ten ze niektore danu vlastnost nemaju.
> Napriklad TComboBox ani TRadioGroup ani TCheckBox a urcite este aj dalsie.
> Neviete mi poradit pokial mozno co najjednoduchsim sposobom, ale musia to
> byt standartne delphi komponenti od borlandu.

Ahoj,

Napriklad takhle nastavis published vlastnosti ReadOnly: Boolean na True u
vsech komponent na formulari (tedy u tech, ktere ji maji). Vyuziva se pri
tom RTTI informaci. Je to pro D5, ale snad to pujde i ve starsich verzich:

uses
TypInfo;

procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
PropInfo: PPropInfo;
begin
for I := 0 to ComponentCount - 1 do
begin
PropInfo := GetPropInfo(Components[I].ClassInfo, 'ReadOnly');
if (PropInfo <> nil) and (PropInfo^.PropType^ = System.TypeInfo(Boolean)) then
SetEnumProp(Components[I], PropInfo, BooleanIdents[True]);
end;
end;

BTW: Mam pocit, ze tu Zbysek kdysi vyhrozoval, ze neco takoveho bude vykladat
i na svych skolenich :-)

--

Petr Vones, amatersky programator

TColor na Hexadecimal

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.12.1999 22:57:04

Daniel Rott wrote:
> > Krayzel Libor napsal:
> > function RGBtoHTML(RGBbarva:TColor):String;
> > var
> > pom:String;
> > begin
> > pom:=IntToHex(GetRValue(RGBbarva),2)+IntToHex(GetGValue(RGBbarva),
> > 2)+IntToHex(GetBValue(RGBbarva), 2);
> > RGBtoHTML := '#'+pom;
> > end;
>
> Pridej si tam funkci ColorToRGB, protoze TColor muze byt systemova
> barva (tj. odkaz do tabulky barev) napr. clWindow, clWindowText atp.

Ahoj,

Pak by to mohlo byt i takhle:

function RGBtoHTML(Color: TColor): String;
type
TRGBColors = packed record
R, G, B, X: Byte;
end;
begin
with TRGBColors(ColorToRGB(Color)) do Result := Format('#%.2x%.2x%.2x', [R, G, B]);
end;

--

Petr Vones, amatersky programator

- bitovy integer v Delphi 3 bez znamenka

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.12.1999 22:57:20

Dalibor Toman wrote:
> >mam dojem ze se tu uz jednou tento problem rozebiral. Jedna se o nacteni a
> >uchovani 32 bitove beznamenkove hodnoty v Delphi 3 (neco jako unsigned long
> >v C++).
> jsou v casade 3 moznosti:

Ahoj,

> 3) prejit na D5

3 je spravne :-)

> PS: co se deje ve Windows, pokud bezi na CPU bez FPU? Emulace FPU je
> obsazena ve Windows nebo emulaci musi implementovat sama aplikace?

No, pokud by se spustili na pocitaci ktery ma procesor bez FPU, tak se
neda rict, ze na tomto pocitaci "bezi". Presnejsi je, "jsou na nem pouze
naistalovany" :-) Ale vazne, v tom pripade by FPU emulovaly Windows.

--

Petr Vones, amatersky programator

Internet pripojeni, odpojeni, DUN

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.12.1999 23:07:09

> Jmisek wrote:
> mam takovou neznalost
> 1) Nevedel by nekdo jak je mozne vylistovat v programu pripojeni k
> internetu nastavene ve win, respektive zjistit jaka pripojeni jsou
> vytvorena. ( vim ze jsou v
> souborech s priponou .DUN ale to az po tom co se kopiruji, jinak jsem
> nasel neco v registru win, ale nedava mi to ani hlavu ani patu)
> 2) Nevite jak toto pripojeni spustit ...tedy pripojit se k internetu (mimo
> rundll32 .DUN soubor) ( s tim aby se win pred vytocenim neptaly na
> informace o pripojeni)
> 3) Nevite jak toto pripojeni zavrit, respektive se odpojit od internetu (
> zase bez otazek windows)

Ahoj,

Tohle vse je zalezitost RAS funkci:

http://www.delphi(tec)cz/soubor.asp?path=\archiv\1999\nov\24\dlfaaadx.htm

--

Petr Vones, amatersky programator

startovaci okno

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 13.12.1999 23:07:23

> Martin Pe�ek wrote:
> Nevi tady nekdo jak udelat okno s obrazkem, ktery se zobrazi pri
> startovani programu ? Nastaveni toho okna umim, ale aby se zobrazil, kdyz
> startuje programu a vypnul, kdyz uz je spustenej nevim. Poradite mi ?

Ahoj,

Podivej se treba na demo aplikaci "Marine Adventures" v \Demos\Db\Mastapp

--

Petr Vones, amatersky programator

Grid was:Pristup k datum, Delphree a vubec

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

Zbysek Hlinka wrote:
> Takze konec planeho plkani, zkusme vyresit nasledujici problemy:
> Prvni nadhoz vlastnosti gridu:
> Grid by mel mit Custom cast, ktera by byla obecna ale zaroven
> dostatecne robustni, a nemela by zadny datovy buffer, ale mela by
> nastroje pro praci s daty. Nad tim by pak mohly byt "tenke"
> implementace pro ten ktery datovy zdroj.

Spravne. Nicmene i na tehle urovni je jeste plno moznosti. Za prve, jestli
pujde jen o pouhou "postupnou" reprezentaci bunek, tedy zpusobem radek a
sloupec bez jakychkoliv "vyjimek" nebo jestli ma umet i dalsi veci, jako
ruzne grupovani polozek a podobne.

Neco takoveho umi treba ExpressQuantumGrid, tady je demo aplikace:
http://www.devexpress.com/downloads/EQGrid.zip

> Co by mel CustomGrid obsahovat:
> 1. Samozrejme schopnost spravneho vykresleni sama sebe.

To take, ale v nejvyssi urovni spise jen poskytovat obdelnikove souradnice
pro dane viditelne bunky a vytvaret spravne pozadavky na jejich prekresleni
ci posunuti celeho pohledu, tak aby byl zajisten maximalne efektivni zpusob
vykreslovani, a to i za cenu vetsi komplikovanosti vypoctu.
S tim je spojena i dalsi zalezitost cele abstrakce. Jak uz se zde probiralo,
v principu muze jit budto o grid, ktery ma urcity rozsah bunek a vzdy lze
pak presne urcit radek a sloupec te ktere bunky, nebo pujde jako v pripadu
DBGridu o "VirtualView", tedy jakysi "slepy pohled" na urcitou oblast dat.
Jiz na teto urovni by mel byt navrzen na oba pristupy.

> 2. Individualni definici sloupcu, tedy kazdy sloupec by mel znat
> (nektere body jsou dost povsechne, jiste by stalo za to rozepsat
> detaily):

Zde by bylo mozna dobre upresnit vyznam "sloupec". Nekdy by se hodil i grid
"otoceny o 90 stupnu".

> a) datovy typ, ktery obsluhuje,

Na nejvyssi urovni je to asi zbytecne. Spise jen definovat jeho sirku.

> b) moznost trideni nahoru i dolu,

To uz je pozadavek dost zavisly od datove mnoziny kterou zobrazuje. Pokud
to bude treba databazova tabulka, tak se jedna urcite o neco zcela jineho
nez treba o seznam ulozeny v nejakych vlastnich strukturach v pameti.

> f) sloupce je mozne jak z(ne)viditelnovat, ale take by melo byt
> mozne nastavit, zda je vubec povolena viditelnost (nektery sloupec
> muze slouzit jako pomocny buffer ci pointer pro potreby
> programatora, napriklad neco jako je autoinkrement v databazi atp.),

Toto uz zajisti zpusob vytvareni "viditelnych" poli z poli vlastniho
datoveho zdroje.

> g) mel by znat vlastni default (mask)editor pro prislusny typ dat, s
> moznosti editor prehodit (priklad: mam integer, a v nem ulozenou
> hodnotu datumu nebo casu; prirozene chci spravne zobrazeni i
> editaci), a to i za behu pro vybrane radky.

Spise bych se priklanel k moznosti vlozit (skoro) jakykoli TWinControl coby
inplace editor.

> 4. Rozhrani pro export dat, napriklad:

Tohle uz je ciste problem konkretniho datoveho zdorje. I prosty textovy
vystup neni tak jednoznacne definovatelny.

Jeste bych pripojil drag and drop podporu jak pro ruzne zmeny a pretahovani
sloupcu, tak i pro vlastni bunky. Bylo by dobre, aby podpora D'n'D nebyla
v nejvyssi urovni rovnou odkazana na zpusob ktery pouziva VCL, ale obecne.
V nekterych implementacich by bylo dobre mit moznost pouzit i skutecny
D'n'D z Windows.

--

Petr Vones, amatersky programator

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

[*] Erik Salaj <winsoft(zv)napri.sk> - 13.12.1999 23:54:27

> Lehce si odporujes.
> Na jedne strane nechces programovat, ale jen specifikovat
> cile a resit problemy a na druhe
> strane nechces superkomponenty.
> Bez super komponent proste nejde se soustredit jen
> na cil, ale budes se muset zaobirat i programovanim
> pro konkretni OS.

Miesto superkomponentov sa mi zdaju byt vyhodnejsie
jednoduche komponenty, ktore robia hoci jednu vec
ale poriadne a u ktorych je mozne overit ich spravnost.
A mat moznost potom skladat z takychto jednoduchych
komponentov zlozitejsie komponenty (na urcitej
urovni je to uz potom kompletna aplikacia).

> Ale superprostredi, ktere
> ma po programatorske strance vse vyresene, pamatuje
> na vsechny moznosti a je zcela bez chyb
> a lze ho provozovat na jakemkoliv
> pocitaci od ZX Spectrum vyse neexistuje :-)

Ano, mas pravdu. Ale napr. triedenie je vzdy triedenie bez
ohladu na to, ci je naprogramovane v C-cku, Pascale a ci
bezi na Spectre alebo Unixe atd. Urcite veci sa nemenia
a moze byt vyhodne mat moznost tieto veci presne
specifikovat (povedzme pomocou axiomov) a to tak,
aby som to uz nepotreboval opet x-krat programovat
ked to budem chciet pouzit v inom projekte, jazyku,
pocitaci, ... Nepocital som kolko krat je povedzme
triedenie programovane vo VCL, ale mozme sa stavit,
ze viac nez jeden krat. Viem pochopit, ak je potrebnych
viac implementacii triedenia (povedzme pre rozne algoritmy
ako shellshort, quicksort, atd.). Ale to, ze nie je mozne
specifikovat obecne triedenie a takisto to, ze nie je mozne
napisat genericke triedenie (t.j. pracujuce s obecnym typom)
to su uz dost vazne problemy, ktore v Delphi (ale nie len
v Delphi, plati to samozrejme aj pre mnoho dalsich jazykov)
nie je mozne jednoducho obist.

> Pouziti jineho jazyka (Eiffel) mi pripada ciste akademicka
> moznost bez praktickeho smyslu (zas tak moc
> o tom nevim tak mne nekamenuj).

Takisto mas pravdu, ze prakticke rozsirenie Eiffelu je male.
Napriek tomu si myslim, ze je velkym prinosom a som
presvedceny o tom, ze pouzitie niektorych myslienok tohto
jazyka pri programovani hoci aj v inych jazykoch moze
byt velmi uzitocne.

> Zdejsi programatorska obec vsak zije z Delphi.
> Takze zbyvaji superkomponenty...
> Takze jdeme na ten grid a na ten pristup k datum...

Prajem vela uspechov ;-)

Erik Salaj

Grid was:Pristup k datum, Delphree a vubec

[*] Erik Salaj <winsoft(zv)napri.sk> - 14.12.1999 00:10:00

> ? Kdyz jsem navrhoval kolektivni projekt "lepsiho" gridu, tak jsem
rozhodne
> nemel na mysli nejake takove monstrum.

Islo mi o obecny system programovania komponentov v Delphi, nie iba
o tento grid.

> a) nebyl by to "lepsi" grid

Presne tak. Grid s triedemim a grupovanim data, ktory robi este spustu
dalsich grafickych ptakovyn uz treba nazvat databazovy engine
s uzivatelskym rozhranim ;-).

> b) protoze je to blbost uz z principu, neprosla by prvnim kolem
kolektivniho
> navrhu.

U mna asi tiez nie ;-).

> > Delphi, zial podporuje
> > viacmenej iba takyto styl programovania (akesi ad hoc nabalovanie
> > novych veci na stare, ked sa to nepodari tak kopirovanie plus
> > zopar trikov k tomu).
>
> A to myslis naprosto vazne ?

Ano.

> a) Tento problem se tyka POUZE urcitych casti VCL. (pomineme-li fakt, ze
> vzdy se najde jeden z milionu, ktery chce neco naprosto jinak uz v
> SYSTEM.PAS).

Problem sa tyka kompletnej VCL kniznice a nie je ho mozne obist.

> b) Vzdy je mozny nejeden alternativni pristup, nez jaky popisujes.

Preferujem "normalne" pristupy, nie alternativne.

> c) Komponenty a VCL (od jiste urovne) jsou dobre jen na neco. Delat ze
vseho
> komponent je mnohdy nesmysl. Ze je jeho vyskyt hojny neni chyba Delphi.
> Kdyby se programatori napr. vice zajimali o COM, bylo by dnes uz vice
> dobrych knihoven COM objektu a mene spatnych komponentu (upozornuji, ze
COM
> neznamena OLE, ActiveX, zaneradenou registry a zavyslost na Windows).

Prvoradou ulohou Delphi komponentov je (rovnako ako vo Visual Basicu)
zjednodusit programovanie Windows aplikacii tak, aby miesto pisania
kodu bolo mozne niektore casti aplikacie (predovsetkym GUI ale takisto
pristup k datam, atd.) vytvarat interaktivnym sposobom (bez programovania).
Komponenty moze mat vyznam pouzit vzdy vtedy, ked umoznia tento ciel
dosiahnut.

Co sa tyka COM, je postavene na dobrych principoch a preto je siroko
pouzitelne. COM je uz dokonca aj v DDK pre Windows 2000.

> > Robit
> > nejake nove komponenty pre Delphi ako nahradu existujucich
> > komponentov naozaj asi nema velky vyznam, pretoze s Delphi
> > technologiou podstatne kvalitnejsie komponenty podla
> > mna naprogramovat neidu a Delphi nepodporuje pouzitie
> > inych nie VCL technologii (toto je moja navecsia vyhrada
> > voci Delphi).
>
> Dovolim si nesouhlasit.
>
> a) SW komponent neni to same co TComponent.

Ano, zalezi ale, co rozumies pod SW komponentom. SW komponent ako si ho ja
predstavujem s Delphi nenapises.

> b) Delphi umoznuje pouzivat i ActiveX, CORBA objekty, COM objekty i
nativni
> OP objekty.

Delphi nema dostatocne otvorenu koncepciu, povedzme aby som mohol
vypnut VCL a pouzit miesto toho inu kniznicu (napr. pre Linux). Delphi
len stale zahrna nove a nove veci DO VCL. Aj samotne vyvojove prostredie
Delphi by tiez mohlo byt daleko otvorenejsie (napr. moznost OLE Automation).

> c) Delphi obsahuje (pocetnou) sadu vseobecnych komponent a trid. Rozhodne
> ale neni naprosto vycerpavajici (jinak by uz zadne nove nevznikaly).
> Specificke komponenty mohou byt prilis specificke.

VCL kniznica je prilis komplikovana, malo otvorena, neskalovatelna
a nedostatocne zdokumentovana. Ako zakladna dokumentacia je nevyhnutny
zdrojovy kod, teda nepodporuje ani tak zakladnu vec ako je information
hiding. Nad takouto kniznicou sa potom buduju dalsie komponenty
sposobom, ktory len velmi vzdialene pripomina programovanie.

> d) OP je silny jazyk a jadro VCL je dostatecne pruzne a dost dobre
navrzene,
> aby se daly psat velmi kvalitni komponenty (tridy, COM objekty atd.).
Nelze
> hazet na nastroj to, co je veci vyvojare.

OP je vcelku dobry jazyk ale VCL je zle navrhnute. Problemom je aj to,
ze VCL je prilis tesne naviazana na OP a nie je mozne sa jej teda zbavit.

> Pokud chces resit problemy a mene "programovat pocitac", pak jsi zvolil
> spatny jazyk. Presedlej na Prolog, Lisp nebo jiny jazyk ktery je dnes
> nahrazuje. OP, CC++, SQL a jine jsou porad hlavne o "programovani
pocitacu".
> BTW, pochybuji, ze to jeste nejaky ten rok bude jinak.

Ide nielen o jazyk ale aj o "programovaci styl". Ale samozrejme je vyhodne,
ak jazyk podporuje dostatocnu uroven abstrakcie a umozni tak programatorovi
sustredit sa co najviac na samotne riesenie problemu.

> I stemito jazyky se ale da pracovat na hodne vysokem stupni abstrakce,
> nicmene ma-li byt program vedle formalni spravnosti i optimalni, je vzdy
> nutne (a jeste dlouho bude) znat "zaklady" a optimalizovat na HW/SW
> platformu pro kterou je urcen.

Problem je v tom, ze kym cely program by mal byt spravny, optimalizovat
z hladiska HW/SW obvykle staci iba niektore useky (napr. vraj 90% zrychlenia
je mozne dosiahnut optimalizovanim 10% programu). Dalej je zvycajne
jednoduchsie optimalizovat spravny program ako zistovat, co vlastne ten
optimalny (pokial mozno samomodifikujuci sa ;-) ) program vlastne robi.
A dost casto plati ze spravny, dobre navrnuty a premysleny program
je zaroven optimalny.

Erik Salaj


Jakou databazi doporucite ?

[*] Ladislav Nagy <lnag7384(zv)mail.kolej.mff.cuni(tec)cz> - 14.12.1999 00:29:42

Jakou vybrat databazi?
To je asi jedna z otazek, ktera bude na stole porad a stejne ji nikdy nebude
mozne uzavrit.

Ja pouzivam pres 2 roky MS SQL 6.5 a ted i 7.0.
I pres tezke problemy, kterymi jsme prosli si myslim, ze jsme pred dvema
lety mely stastnou ruku.
K MS SQL 7.0 existuje i odlehcena verze - MSDE (s ni prakticke zkusenosti
nemam).

Na MS SQL muzes pristupovat napr. pres Adonis komponenty. Jsem s nimi vcelku
spokojen.
Krome toho existuji i jine sady komponent - koukni se do archivu konference.

Myslim, ze stoji za to si tez precist listopadovovy PC MAGAZIN, kde je
srovnani SQL serveru (MS SQL, Oracle, Informix, Sybase, ...).

S pozdravem, Ladislav Nagy

===========================================
Mgr. Ladislav Nagy
MFF UK & Baader Computer spol. s r.o.
tel. : 02 / 24941962, -63, -65 fax : -64
lnag7384(zv)mail.kolej.mff.cuni(tec)cz , Ladislav.Nagy(zv)bcpraha(tec)cz
ICQ: 40948953


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

Jak zjistit, ze jsem na poslednim zaznamu datasetu

[*] Karel Vlcek <vlcekk(zv)hotmail(tec)com> - 14.12.1999 01:21:04 pst

Ja pri prochazeni datasetem pouzivam property EOF, ktera se nastavuje pri
kazde akci (First, Next, ...)

viz Help (D5, ale je stejny jako D3)
Indicates whether or not a cursor is positioned at the last record in a
dataset.

property Eof: Boolean;

Description

Test Eof (end-of-file) to determine if the cursor is positioned at the last
record in a dataset. If Eof is True, the cursor is unequivocally on the last
row in the dataset. Eof is True when an application:

Opens an empty dataset.
Calls a dataset�s Last method.
Call a dataset�s Next method, and the method fails (because the cursor is
already on the last row in the dataset).
Calls SetRange on an empty range or dataset.

Eof is False in all other cases.

Tip: If both Eof and Bof are True, the dataset or range is empty.
Karel Vlcek
===========================
poskytovani software
GSM : ++420 602 264812
mailto: Vlcekk(zv)hotmail.com
===========================


----Original Message Follows----
From: "Jaroslav Nadhera" <nadhera(zv)csh(tec)cz>
Reply-To: delphi-l(zv)fwd(tec)cz
To: <delphi-l(zv)fwd(tec)cz>
Subject: Re: Jak zjistit, ze jsem na poslednim zaznamu datasetu?
Date: Mon, 13 Dec 1999 16:11:50 +0100

> Jednoducho. Napr. v TTable asi takto
> If Table.RecNo = Table.RecordCount then JeKoniec;
>

Ale pozor RecordCount na tabulce s hodne zaznamy trva hodne dlouho (alespon
na Paradoxu).


______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com


tabulatory v RichEditu

[*] k.machac(zv)iol(tec)cz - 14.12.1999 6:15:54

Diky vrele za priklad. Uz se s tim nejak porvu. Karel Machac
kmachac(zv)seznam(tec)cz


--- Puvodni dopis ----------------------------------------------------------
Datum: 14.12.1999 06:00
Od: "Jaroslav Uher" <moravia(zv)mbox.vol(tec)cz>
Pro: k.machac(zv)iol(tec)cz
Vec: Re: tabulatory v RichEditu
----------------------------------------------------------------------------
>Ahoj,
>
>prokldam ZIP, kde to pouzivam k zobrazeni fieldu tabulek.
>
>Jarek Uher
>> poradi mi nekdo, jestli jde a pripadne jak v Delphi 3 v komponente
>> RichEdit nastavit tabulatory na urcitou hodnotu (vzdalenost od okraje) ?
>>
>>
>> Diky za jakoukoliv odpoved
>>
>> Karel Machac
>> kmachac(zv)seznam(tec)cz
>>
>
>
>

Direct Oracle Access komponenty - chyba pri inicia

[*] Z�vada Jir� <zavada(zv)atcomp(tec)cz> - 14.12.1999 07:08:45

Ahoj,

kdyz mas problem s ladenim ISAPI extension v IDE, muzes vzdy pouzit tupe
zapisy do souboru (pripadne do NT Application Logu), vhodnym rozmistenim
zapisu a 'pulenim intervalu' naleznes misto problemu.

napr.

var
TF: TextFile;
...

{$DEFINE LADENI}
...

{$IFDEF LADENI}
assignfile(TF,'C:\Pokus1.txt');
rewrite(TF);
writeln(TF,Format('Sem to doslo, parametry = %s --
%s',[Request.RemoteAddr,Request.UserAgent]));
...
closefile(TF);
{$ENDIF}
...

{$UNDEF LADENI}


Jiri Zavada
zavada(zv)atcomp(tec)cz
069 / 6253 313
069 / 6961 543


-----P�vodn� zpr�va-----
Od: Jan Fryscak [mailto:fryscak(zv)scio(tec)cz]
Odesl�no: 13. prosince 1999 18:12
Komu: 'delphi-l(zv)fwd(tec)cz'
P�edm�t: RE: Direct Oracle Access komponenty - chyba pri inicializaci
ORA7 3.DL L


Mam podobny problem, ale s Oracle 8.1.5. Jelikoz se mi stale nedari ladit tu
ISAPI knihovnu, tak nevim, kde presne nastava.
Pokud zkousim obdobu toho, co je v dll, tak to v exe bezi.
DOA mam teprve nekolik hodin, takze muze byt problem i jinde.

S pozdravem
Jan Fryscak, Scio

> Ahoj,
>
> mam nasledujici problem s DOA komponentami:
>
> pokud je pouziji ve sve DLL knihovne, kterou pak volam z
> Century, v okamziku
> volani TOracleSession.LogOn se objevi hlaska, ze inicializace
> ORA73.DLL byla
> neuspesna a aplikace se zhrouti. Zajimave je, ze se to stava jenom na
> nekterych stanicich (95,98 i NT), presto ze na tech samych
> stanicich bez
> problemu bezi jine aplikace, ve kterych DOA taky pouzivam -
> zalezi jen na
> tom, jsou-li primo v exe, nebo v dll. V exe bezi, v dll nebezi. Vubec
> netusim, cim by to mohlo byt.
>
> Dik za kazdou radu
>
> Petr
>

Jak zjistit, ze jsem na poslednim zaznamu datasetu

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 14.12.1999 07:41:32

Michal Hlav�� wrote:

> Jednoducho. Napr. v TTable asi takto
> If Table.RecNo = Table.RecordCount then JeKoniec;

BDE neumi vracet korektne RecordCount, tedy u SQL databazi
vubec. V tomto pripade je vyhodnejsi pouzit napr. ADO, kde se
pocet zaznamu da zjistit velice snadno i pro vysledek SQL dotazu.

> -----P�vodn� zpr�va-----
>
> >Zdravim,
> >
> >poradi nekdo, jak zjistit, jestli aktualni zaznam tabulky je ten
> >posledni?
> >
> >Potreboval bych neco podobneho jako je EOF, ale aby se nastavil
> >*vzdy* kdyz prejdu na posledni radek datasetu.
> >
> >Diky,
> >Pavel Bocek
>
>
>
S pozdravem

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


Databaze a sireni + par drobnosti

[*] Min�� Petr - 14.12.1999 07:45:47

Ja bych rekl, ze softwarove to nelze, dokonce ani VistaScanem. A pokud ti jde o usetreni par Wattu, ktere to zere v klidu, tak ho vypni ze zdroje. Pokud potom budes chtit scaner pouzit, tak ho zapni a ve vlastnostech pocitace zadej Obnovit.

S pozdravem
m���k
petr.minar(zv)kleibl(tec)cz

-----P�vodn� zpr�va-----
Od: owner-delphi-l(zv)fwd(tec)cz [mailto:owner-delphi-l(zv)fwd(tec)cz]za u�ivatele Martin Pe�ek
Odesl�no: 10. prosince 1999 21:03
Komu: delphi-l(zv)fwd(tec)cz
P�edm�t: Databaze a sireni + par drobnosti

..
..

2. Jak mam softwarove vypnout muj skenr ? Mam UMAX Astra 1220S a nema vypinac. To by tak ani nevadilo, ale pri (re)startu se mi vzdy zapne a trva cca 30 minut nez se vypne.

..
..

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

Internet pripojeni, odpojeni, DUN

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 14.12.1999 07:52:44


>mam takovou neznalost
>1) Nevedel by nekdo jak je mozne vylistovat v programu pripojeni k internetu nastavene ve win, respektive zjistit jaka pripojeni >sou vytvorena.
RASEnumEntries

>( vim ze jsou v souborech s priponou .DUN

??? zaznam je v registrech a zrejme ptalform dependent (pry snad

>ale to az po tom co se kopiruji, jinak jsem nasel neco v registru win, ale nedava mi to ani hlavu ani >patu)
>2) Nevite jak toto pripojeni spustit ...tedy pripojit se k internetu (mimo rundll32 .DUN soubor) ( s tim aby se win pred vytocenim >neptaly na informace o pripojeni)
RASDial
>3) Nevite jak toto pripojeni zavrit, respektive se odpojit od internetu ( zase bez otazek windows)
RASEnumConnections & RASGetConnectionStatus & RASHangup


Zdravi
D. Toman

Memo a String

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 14.12.1999 08:06:58

Ahoj,

Potreboval bych nejak jednoduse ulozit radky z memo do stringu a naopak.
Existuje nejake instantni reseni?

Jaro B.

okraje pri tlaci

[*] Martin Fron�k <FRONEK(zv)zznslany(tec)cz> - 14.12.1999 08:09:44

Dobre, vyjadrim se presneji. Jedna se o tisk, kde neni zucastnen ovladac
tiskarny z windows. Ale v takovem pripade se temer vzdy jedna o tisk
znakovy, a to na jehlickove tiskarne. Jiny duvod k takovemu postupu
neni.


Martin Fron�k
ZZN Slan� a.s.
Pra�sk� 1579, 274 49, Slan�
tel. +420-314-522986
e-mail: fronek(zv)zznslany(tec)cz

> -----P�vodn� zpr�va-----
> Od: Vaclav Krmela [SMTP:krmela(zv)pecomp(tec)cz]
> Odesl�no: 13. prosince 1999 14:52
> Komu: delphi-l(zv)fwd(tec)cz
> P�edm�t: Re: okraje pri tlaci
>
> Jiz jsem nekolikrat v teto konferenci zaregistroval nazor,
> ze tisk pomoci AssignPrn je znakovy tisk.
> Podle mne se jedna (z pohledu tiskarny) o normalni graficky tisk.
> Pouze z pohledu programu se to tvari tak, jako ze na tiskarnu
> posilam textovy soubor. Vysledkem je ale tisk graficky.
>
> Vaclav Krmela
>

- bitovy integer v Delphi 3 bez znamenka

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 14.12.1999 08:15:19

>No, pokud by se spustili na pocitaci ktery ma procesor bez FPU, tak se
>neda rict, ze na tomto pocitaci "bezi". Presnejsi je, "jsou na nem pouze
>naistalovany" :-) Ale vazne, v tom pripade by FPU emulovaly Windows.

Nevim presne ktere modernejsi CPU nemaji FPU ale jeden z nich je IDT WinCHIP. Ten nema FPU a ani CPU na nem moc nechodi :-(

PS hledal jsem v archivu Borlandich newsu (vsem doporucuju) problem s INADDR_NONE a jedinou odpoved zaslal F. Piette - doporucuje pretypovani:

if Sin_Addr = u_long(INADDR_NONE) then

coz je v dane situaci asi nejlepsi varianta, jenze me to pripomina skrabani se levou rukou za pravym uchem.

----------
Komicke je take, ze:
StrLen() je Cardinal zatimco "logicky" Length() je Integer (stejne jako interni counter stringu)

Uz se tesim na dalsi problemy
D. Toman

ulozene procedury a upgrade na MSSQL7

[*] pemasoft(zv)atlas(tec)cz - 14.12.1999 09:04:05

Ahoj

Po upgradu serveru MS SQL 6.5 na verzi 7.0 s SP1 v nasem programu nechodi ulozene procedury.

Kdyz ji zavolam rucne procedura se spusti ale v programu to hlasi 'can not find store procedure .....'.

Nevite co s tim mam udelat ????

Jakou databazi doporucite ?

[*] Ing. Radim Bro�ek <radim.brozek(zv)berit(tec)cz> - 14.12.1999 09:24:57

jedine ORACLE - i kdyz je cenove narocnejsi ( navic podporuje i tenke klienty )

S pozdravem Miki


-----Original Message-----
From: Petr Dedecek [SMTP:petrd(zv)atlas(tec)cz]
Sent: Tuesday, December 14, 1999 8:58 AM
To: delphi-l(zv)fwd(tec)cz
Subject: Jakou databazi doporucite ?


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

Petr

- bitovy integer v Delphi 3 bez znamenka

[*] Zdenek Drvota <drvota(zv)zds(tec)cz> - 14.12.1999 09:46:41

Asi posledni tzv. OS od MS, ktery se dal nainstalovat na PC
bez FPU (koprocesoru), byl W95 :-)
W98 uz 100% nejde nainstalovat, NT a 2000 asi take ne,
ale to spise odhaduju - stejne by to byla spise akademicka
otazka ;-)

### Petr Vones napsal dne 13 Dec 99, v 22:57 :
> > PS: co se deje ve Windows, pokud bezi na CPU bez FPU? Emulace FPU je
> > obsazena ve Windows nebo emulaci musi implementovat sama aplikace?
>
> No, pokud by se spustili na pocitaci ktery ma procesor bez FPU, tak se
> neda rict, ze na tomto pocitaci "bezi". Presnejsi je, "jsou na nem pouze
> naistalovany" :-) Ale vazne, v tom pripade by FPU emulovaly Windows.

-----------------------------------------------
Ing. Zdenek Drvota e-mail: drvota(zv)zds(tec)cz
director
ZDS, spol. s r.o.
Hronovicka 708 tel:+420-40-6613756
530 02 Pardubice fax:+420-40-6613756
Czech Republic http://www.zds(tec)cz
e-mail: info(zv)zds(tec)cz
Pripojte se k hledani mimozemskych civilizaci:
SETI(zv)Home http://setiathome.ssl.berkeley.edu
Darek, ktery nezklame? CeDecko od nas!
http://www.zds(tec)cz/cdrom/cdrom.asp?sender=mail


Sdilena konfigurace

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 14.12.1999 09:48:29

Ahoj,

mam problem s verejnym typovym konfiguracnim souborem, ktery je ulozen na
sitovem (vzdalenem) disku, u exe. Mam problem s neustalym hlasenim ze
pristup byl odmitnut (uzivatel musi odklepnout). Obvykle je program spusten
na cca 30 stanicich (ale muze byt i na vice) a vsechny instance neco ctou a
zapisuji do tohoto souboru, ktery je spolecny. Jak bych mel resit konflikt
pri zapisu do tohoto souboru (s predpokladem ze se sejde vice nez jeden
pozadavek na zapis). Psano v D2, bezi pod ruznymi Windows (95/98/NT), soubor
je bezny typovy vel. cca 30 KB.

Dekuji
Jaro B.

Memo a String

[*] marcant <marcant(zv)sct.sk> - 14.12.1999 09:51:57

Memo.Lines.Text je typu String a umoznuje citanie aj zapis (tento string
obsahuje aj znaky #10#13 na konci kazdeho riadku).

----- Original Message -----
From: Bene� Jaroslav <JBenes(zv)cpoj(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, December 14, 1999 8:06 AM
Subject: Memo a String


> Ahoj,
>
> Potreboval bych nejak jednoduse ulozit radky z memo do stringu a naopak.
> Existuje nejake instantni reseni?
>
> Jaro B.
>

Memo a String

[*] David Lebeda <david.lebeda(zv)comarr(tec)cz> - 14.12.1999 09:58:22

> Potreboval bych nejak jednoduse ulozit radky z memo do stringu a naopak.
> Existuje nejake instantni reseni?

s := Memo.Lines[index];

A naopak.

David Lebeda


instalace komponent najednou

[*] Mal� Dobromil <dodo(zv)rak.pr.ds.mfcr(tec)cz> - 14.12.1999 10:08:41

Zkus nainstalovat do D5 ten balicek (package)
kde mas ty komponenty (mas-li je vsechny v jednom)

D.
> ----------
> nainstaloval jsem si D5 a potreboval bych tam dat komponenty, ktere
> standardne pouzivam. Je jich kolem padesatky a tak se ptam, zda-li nejde je
> nainstalovat nejak najednou (kazda ma svoji reg. proceduru), pres nejaky
> script ?
>

OLE objekt "Outlook"

[*] Fryz, Zdenek <fryz(zv)dcb(tec)cz> - 14.12.1999 10:14:25

ahoj

da se pracovat s Outlookem tak jako
s Wordem, nebo Excelem, ze si vytvorim
instanci OLE objektu :

W:=CreateOLEObject('Word.Application');

a volam jeho metody ?

Jestlize to lze, jak se tento objekt jmenuje ?
Existuje napoveda metod a vlastnosti tohoto objektu ?

diky za kazdou odpoved

Zdenek Fryz



__________________________________________________________________
Tato komunikace je urcena vyhradne pro adresata a je duverna.
This communication is intended solely for the addressee and is confidential.

D5 - ano ci ne ?

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 14.12.1999 10:17:37

Haj hou!

From: Robert Kindl <rob(zv)exec(tec)cz>
> Jak chces pretridit data na clientu, kdyz je nemas nactena v pameti.
> Tohle je zasadni rozpor prechozich dvou odpovedi a proto je to jak jsem
> rekl.

Existuje i kompromisni reseni. Na klienta pretahujes (a prechovavas)
primarni klice a data, podle kterych se bude tridit. Tento seznam je pomerne
maly i pri velkem poctu zaznamu. Pretrideni seznamu je pak dilem okamziku a
je mozne ho delat 100x za minutu aniz by uzivatel zaznamenal zdrzeni. Pro
jednotlive zaznamy (kompletni data) se pak chodi vzdy na server (vyhledani
jedne vety dle primarniho klice a jaji prenos na klienta je jedna z
nejrychlejsich SQL operaci vubec). Navic je vzdy znam presny pocet zaznamu
(stary to problem SQL databazi) a je tedy mozne provadet skoky na konkretni
zaznam v seznamu bez casove prodlevy nebo vykonnostnich anomalii.

> Trideni by mel delat server. BTW delam to pretrideni
> tak jak jsi rekl, zavru dataset, preformuluji select a znovu ho otevru.
> Funguje to skvele.
> Pravdu muzes mit jen tehdy pokud by query trvala rekneme 100 sekund

Nejde jen o cas vykonani prikazu, ale i o prenos dat, rezii spojenou s
jejich preformatovanim a zobrazenim. Cas delsi nez 5sec uz rada uzivatelu
nese s nelibosti (obzlaste kdyz vyse uvedena technika umoznuje odezvy do
2sec pri desitkach tisicu zaznamu).

> Proste si myslim, ze uzitecnejsi by bylo udelat OLEDB
> dedic TDatasetu. Borland ted udelal ADOExpress
> i IBExpress nad datasetem. Adonis je nad datasetem.
> Ale to jsme pokud si pamatuji jiz diskutovali.
> Ty jsi se bohuzel rozhodl dataset opustit :-(

Dataset NENI dobry, je mizerny. Pouziva se jen proto, ze je pro vsechny
jednodussi s nim zapasit nez si napsat jine reseni.

> Napad vyrobit elektromobil (odstraneni smrdutosti
> a hlucnosti) mel jiz F. Krizik.
> Dodnes se masove neprosadil kvuli spatne koncepci
> (olovene akumulatory, slunecni pohon). Lepsi technologie
> vsak zatim neni.

Zapominas na vliv naftarske lobby :o) Dokud bude naftarsky business stejne
lukrativni jako prodej zbrani, elektromobilu nebo motoru na vodik se ve
vetsim meritku nedockame (a ne ze by jsme to neumeli).

> > To, ze jsem komponenty nabidl k volnemu pouziti, jeste
> > neznamena, ze na masovem nasazeni trvam...
>
> Bez neho to nema smysl.

Zeby dalsi industrialni ekonom prosazujici vyhody masove nadprodukce ? :o)))

> Jiste, ale kdyz neco nefunguje, tak to nebudu obhajovat
> zuby nehty, ale zkusim neco zmenit aby to fungovalo.

Souhlasim. Jen kdyby bylo vzdy vsechno tak jednoduche :o)

Hodne zdaru

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


Jakou databazi doporucite ?

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 14.12.1999 10:19:15

Haj hou!

Vyzkousej si SQLAnywhere, Interbase a SQLServer 7. Uvidis sam, ktera se ti
bude nejlepe hodit. Ja osobne davam pro aplikace s tebou popisovanymi
parametry prednost InterBase s pouzitim primeho pristupu (FreeIB nebo nyni
IBX).

Hodne zdaru


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


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

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 14.12.1999 10:29:59

Haj hou!

From: Tom� Br�dle <t.bradle(zv)pvtnet(tec)cz>
>Mas nejakou konkretni predstavu o tom otevrenejsim pristupu k datum
>pres visualni komponenty ?

a) Pouzit COM (interface), aby cely system nebyl svazan s konkretni rodinou
trid a jejich implementaci. Prirozene, ne vse je nutne realizovat pres
interface. Bohuzel COM se na VCL komponenty da nabalit jen velmi slozite (v
soucasnosti pro to neni ze strany VCL zadna propracovana podpora, mimo hacku
pro MIDAS apod.)
b) Definovat interface pro obecny zdroj dat (zjisteni struktury, pristup k
datovym polozkam). K tomu se vaze i "Command" interface (nejlepe s dynamicky
definovanymi prikazy) pro ovladani datoveho zdroje.
c) Pouzit subsribe/notify mechanizmus pro predavani zprav mezi zdrojem dat a
konzumenty (zobrazovaci nebo jinymi datovymi prvky) a ovladaci (buttony nebo
i jine ovladaci prvky).
d) TDataSource by byl providerem a dispatcherem cele komunikace, aby tato
funkcnost nebylo nutne carovat primo do zdroje dat.
e) Zdrojem dat pak muze byt cokoliv, treba i wrapper okolo TDatasetu.

Hodne zdaru

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


Grid was:Pristup k datum, Delphree a vubec

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 14.12.1999 10:38:11

Haj hou!

From: Zbysek Hlinka <zhlinka(zv)login(tec)cz>
> Takze konec planeho plkani, zkusme vyresit nasledujici problemy:
>
> 1. Kdo bude projekt ridit (a tedy schranovat i popis vlastnosti tridy)?
> Dopredu podotykam, ze ja ne. :-)
> 2. Kdo bude tvorit dokumentaci, zejmena v anglictine? (Ja take ne

Mno, to uz by jsme nejak poresili. Problem je v tom, kdo to bude programovat
:o)

> Prvni nadhoz vlastnosti gridu:
>
.....[snip]

Uaaa! Tohle ma byt technicka specifikace ? To je dopis Jeziskovi :o)

Ja bych ocekaval, ze se pustis do technicke dekompozice obecneho gridu, tedy
z ceho vseho se vlastne ten grid sklada (zdroj dat, definice
vzhledu/struktury, vykreslovani, editace atd.), vcetne popisu vztahu techto
casti (z cehoz vypadne jejich interface). Pak se muzeme bavit o pozadavcich
na jednotlive subcasti, zcehoz nam vypadnou pozadovane varianty/alternativy
a vykristalizuji dodatecne pozadavky na interface techto casti. Pak uz
budeme mit dostatecny popis dostatecne malych casti, ktere se daji
samostatne programovat.

Hodne zdaru

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


startovaci okno

[*] Ren� Otisk - 14.12.1999 10:41:14

Hi,
Ja to mam takto: Startovaci dialog mam v dll a pak v ProjectSource nactu ten dialog a bud po Application.Run nebo po udalosti MainForm.OnShow to uvolnim.
Sroub
----- Original Message -----
From: Martin Pe�ek
To: delphi-l(zv)fwd(tec)cz
Sent: Monday, December 13, 1999 3:11 PM
Subject: startovaci okno


Zdravim !!!
Nevi tady nekdo jak udelat okno s obrazkem, ktery se zobrazi pri startovani programu ? Nastaveni toho okna umim, ale aby se zobrazil, kdyz startuje programu a vypnul, kdyz uz je spustenej nevim. Poradite mi ? Predem dik a cau Martin.

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

Jakou databazi doporucite ?

[*] Erik Salaj <winsoft(zv)napri.sk> - 14.12.1999 10:47:54

Velmi vyhodne je MSDE - Microsoft Data Engine. Je to vlastne
MS SQL 7 server bez administratorskych nastrojov urceny
pre 5 uzivatelov a 2GB dat. Vyhodou je moznost bezplatne
distribuovat MSDE koncovym uzivatelom, runtime lincenciu
obsahuje Office 2000 Developer edition alebo niektory
v vyvojovych produktov Microsoftu vo verzii Professional
a Enterprise. MSDE je mozne skalovat bez akehokolvek
zasahu do programu na MS SQL 7. MSDE bezi na Windows
95/98 a NT 4 ale nie na Noveli. Ako som spominal je to SQL
server, takze vysoka spolahlivost je samozrejmostou rovnako
ako slusny vykona a pouzitie SQL jazyka vcitanie triggerov
a storovanych procedur.

Erik Salaj

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


Grid was:Pristup k datum, Delphree a vubec

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 14.12.1999 10:58:38

Haj hou!

From: Erik Salaj <winsoft(zv)napri.sk>
> Problem sa tyka kompletnej VCL kniznice a nie je ho mozne obist.

Uf, ted jsi me vydesil :o) Tak si rikam, proc vlastne programuju v Delphi ?
:o)

> > b) Vzdy je mozny nejeden alternativni pristup, nez jaky popisujes.
>
> Preferujem "normalne" pristupy, nie alternativne.

Jaky je rozdil mezi "normalnim" a alternativnim ? Me pripada "normalni" vse,
co je dostatecne opodstatnene.

> Ano, zalezi ale, co rozumies pod SW komponentom. SW komponent ako si ho ja
> predstavujem s Delphi nenapises.

Huh? A jak si ho tedy predstavujes, a v cem se tedy takovy sw komponent da
napsat ?

> Delphi nema dostatocne otvorenu koncepciu, povedzme aby som mohol
> vypnut VCL a pouzit miesto toho inu kniznicu (napr. pre Linux). Delphi
> len stale zahrna nove a nove veci DO VCL.

??? A co treba XCL, to je vosk ? Neni pravda, ze musis pouzit VCL, to totiz
vubec nemusis. Jenze tobe jde asi o to, ze nemas X ruznych alternativnich
knihoven dodavanych s Delphi, ze ?

> Aj samotne vyvojove prostredie
> Delphi by tiez mohlo byt daleko otvorenejsie (napr. moznost OLE
Automation).

A OTA ti nestaci ? BTW, automation scripting pro Delphi IDE existuje a je
zdarma. No ovsem, na CD s Delphi ho nenajdes. Ale to je problem ?

> VCL kniznica je prilis komplikovana, malo otvorena, neskalovatelna
> a nedostatocne zdokumentovana.

Ja se fakt divim, proc programujes v Delphi :o) Mno, ano, VCL ma sve mouchy
a NEKTERE komponenty nebo rodiny trid nejsou moc dobre a/nebo snadno
rozsiritelne a/nebo flexibilni atd. Ale jinak je VCL dost dobra knihovna.

> Ako zakladna dokumentacia je nevyhnutny
> zdrojovy kod, teda nepodporuje ani tak zakladnu vec ako je information
> hiding.

Osobne se vyhybam tomu pouzit jakoukoliv knihovnu, od ktere nemam zdrojak.
BTW, vzdycky se muzes do zdrojaku nedivat :o) Jinak samozrejme neni pravda,
ze zdrojak VCL je zakladni a nevyhnutelna dokumentace. Rada lidi v Delphi
vesele programuje a do zdroju VCL se vzivote nepodivala (a casto ho ani
nema).

> Nad takouto kniznicou sa potom buduju dalsie komponenty
> sposobom, ktory len velmi vzdialene pripomina programovanie.

Ha! A co to tedy je ? Pestovani konopi ? BTW, pokud nekdo napise spatny
komponent, je to vzdy chyba spatne VCL ?

> OP je vcelku dobry jazyk ale VCL je zle navrhnute.

> Problemom je aj to,
> ze VCL je prilis tesne naviazana na OP a nie je mozne sa jej teda zbavit.

VCL je pouzivana toliko v IDE Delphi. S OP nema nic spolecneho, krom toho ze
je napsana v OP :o) Ostatne MFC taky neni v Prologu. VCL se muzes zbavit
velice snadno, a rada lidi ji nepouziva vubec, pripadne jen na GUI aplikace.

> Ide nielen o jazyk ale aj o "programovaci styl". Ale samozrejme je
vyhodne,
> ak jazyk podporuje dostatocnu uroven abstrakcie a umozni tak
programatorovi
> sustredit sa co najviac na samotne riesenie problemu.

Coz OP umoznuje a podporuje velmi dobre.

> A dost casto plati ze spravny, dobre navrnuty a premysleny program
> je zaroven optimalny.

Ok, o to tu ale preci neslo. Jde o to, ze k dobremu navrhu a spravnemu
rozhodnuti je nutne mit dostatek informaci. Nekdy ten "dostatek" znamena jit
dost "hluboko" (a numusi se jedna jen o hloubky VCL, ale treba WinAPI, HW
apod.).

Hodne zdaru

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


TComboBox - ReadOnly

[*] No Comment Group, s.r.o. / Bohdan Pomsahar <bpomsahar(zv)nocomment.sk> - 14.12.1999 11:06:38

Cafko,

Vyznam ReadOnly u komponent typu TRadioGroup a podobne ma nasledovny. Urobil som informacny system pre firmu na zakazku, ktory je robeny v Delphi 5 (asi jasne ze?:)) + pouziva Oracle 8.1.5, kde su ich kompletne data. Cize program data ukazuje, dovoluje menit a pridavat. Problem spociva v tom ze pri spusteni programu sa musi uzivatel prihlasit a podla mena a hesla moze menit len urcite veci a preto potrebujem niektore komponenty nastavit na ReadOnly:=True. Ale zaroven musia byt dane komponenty rovnakej farby a musi sa dat pracovat s obsahom (len CTRL+C) , konretne pri ComboBoxe.
----- Original Message -----
From: Ivan Virag


Dalsi moznost je umistit si dane komponenty na panel a u nej potom nastavit
enable na false.

Ivan Virag
----- Original Message -----
From: Pavel �im��ek
Sent: Monday, December 13, 1999 2:11 PM
Ahoj.
Nedovedu si nejak predstavit jaky vyznam by mela treba u TRadioGroup nebo u TCheckBox
vlastnost ReadOnly.
Pokud ti jde o to aby je neslo nastavovat, tak pouzij Enabled.
Ale tobe asi vadi ze to pak je takove vysedene co?
Pavel

-----P�vodn� zpr�va-----
Od: No Comment Group, s.r.o. / Bohdan Pomsahar <bpomsahar(zv)nocomment.sk>
Datum: 13. prosince 1999 13:48


Zdravim vseckych,

Mam problem potrebujem nastavit niektorym komponentam hromadne ReadOnly:=True. Problem je ten ze niektore danu vlastnost nemaju. Napriklad TComboBox ani TRadioGroup ani TCheckBox a urcite este aj dalsie. Neviete mi poradit pokial mozno co najjednoduchsim sposobom, ale musia to byt standartne delphi komponenti od borlandu.

TMemoField

[*] marcant <marcant(zv)sct.sk> - 14.12.1999 12:10:36

Ja to bezne pouzivam na MSSQL aj na Paradoxe. Bohuzial som si vsak nevsimol to D1 v nadpise. Tam si asi prilis jednoducho neporadis pretoze String je obmedzeny na 255 znakov. Mohol by si pouzit
MemoField.Assign(Memo1.Lines) a Memo1.Lines.Assign(MemoField) ale neviem ti zarucit, ci to funguje aj pod D1, ale pod D4 ano.
Hi,
No jo, ale to mi oreze text na 255 znaku.
Sroub
Memo1.Lines.Text:= MemoField.AsString

Hi,

W95, D1, Pdox, Rx2.6

Poreboval bych prosim dostat data (text) z MemoFieldu do Mema a jsem nejak mimo provoz. Zkousel jsem GetData a SetTextBuf a Delphi vyhralo ("Operation not aplicable"). Jak na to? Nechci tam davat TDBMemo (CopyToClipbrd...). A asi bych to nechtel ani pres Stream ovsem pokud to jinak nepujde...

Sroub


Jakou databazi doporucite ?

[*] Pavel ZIDEK <kopr(zv)kopr(tec)cz> - 14.12.1999 12:11:05

No ja pouzivam FF (FlashFiler). jak tak ctu tvoje pozadavky, tak FF ti bude
bohate stacit.
Velka vyhoda je, ze (1 tabulka) data jsou pouze v jednom souboru (v Paradoxu
tusim v sedmi). Delam v tom hodne krkolomne kousky a zatim jsem o data
neprisel.

Pavel ZIDEK

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

OLE objekt "Outlook"

[*] Polak Jiri <Jiri.Polak(zv)tconsult(tec)cz> - 14.12.1999 12:13:40



> -----P�vodn� zpr�va-----
> Od: Fryz, Zdenek [mailto:fryz(zv)dcb(tec)cz]
>
> ahoj
>
> da se pracovat s Outlookem tak jako
> s Wordem, nebo Excelem, ze si vytvorim
> instanci OLE objektu :
>
> W:=CreateOLEObject('Word.Application');

Zde je cast kodu s examplem
MailRecord je record se stringy SendTo, CopyTo, Subject, Body
Funkce OpenMail otevre Zpravove okno Outlooku

procedure OpenMail (MailRecord: TMailRecord);
var
myOlApp, msg, t, c: Variant;
begin
myOlApp := CreateOleObject('Outlook.Application');
//vytvorime msg - konstanta 0 je olMailItem
msg := myOlApp.CreateItem(0);
with MailRecord do begin
t := msg.Recipients.Add (SendTo);
//nastav typ pro SendTo
t.Type := 1;
c := msg.Recipients.Add (CopyTo);
//nastav typ pro CopyTo
c.Type := 2;
msg.Subject := Subject;
msg.Body := Body;
//otevri okno pro zpravu
msg.Display;
//msg.Send - pokud bychom chteli zpravu primo odeslat Outlookem
end;
end;//procedure OpenMail;

Dokumentace je v MS Office v souboru VBAOUTL.HLP

Jura


Grid was:Pristup k datum, Delphree a vubec

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 14.12.1999 12:35:03

Petr Vones wrote:

> > 2. Individualni definici sloupcu, tedy kazdy sloupec by mel znat
> > (nektere body jsou dost povsechne, jiste by stalo za to rozepsat
> > detaily):
>
> Zde by bylo mozna dobre upresnit vyznam "sloupec". Nekdy by se hodil i
> grid "otoceny o 90 stupnu".

Za sloupec muzeme povazovat radu, ktera obsluhuje danym
zpusobem stejny typ dat. V otocenem gridu bychom tedy mohli
rikat "sloupec" radku (a obracene).

> > a) datovy typ, ktery obsluhuje,
>
> Na nejvyssi urovni je to asi zbytecne. Spise jen definovat jeho sirku.

Protoze sloupec by nejspis byl de-facto samostatnym objektem,
bylo by treba v takovemto pripade vyresit i prekryti sloupcu.

> > b) moznost trideni nahoru i dolu,
>
> To uz je pozadavek dost zavisly od datove mnoziny kterou zobrazuje.
> Pokud to bude treba databazova tabulka, tak se jedna urcite o neco
> zcela jineho nez treba o seznam ulozeny v nejakych vlastnich
> strukturach v pameti.

Je jednodussi to vypnout, nez dodatecne pracne zabudovavat.

> > f) sloupce je mozne jak z(ne)viditelnovat, ale take by melo byt
> > mozne nastavit, zda je vubec povolena viditelnost (nektery sloupec
> > muze slouzit jako pomocny buffer ci pointer pro potreby
> > programatora, napriklad neco jako je autoinkrement v databazi atp.),
>
> Toto uz zajisti zpusob vytvareni "viditelnych" poli z poli vlastniho
> datoveho zdroje.

Nesouhlasim. Nekdy je treba mit v gridu i informace potrebne pro
vazby, ale uzivatel k nim nesmi mit zadny pristup. Dejme tomu, ze
das uzivateli moznost, aby si sam zapinal viditelnost sloupcu. Pak
mu samozrejme nektere sloupce zakazes, takze v nejakem
seznamu prepinatelnych sloupcu je vubec neuvidi. Tohle se da
elegantne a snadno vyresit uz na urovni gridu (a sloupce), nez
dodatecne nad konkretnim gridem.

> > g) mel by znat vlastni default (mask)editor pro prislusny typ dat,
> > s
> > moznosti editor prehodit (priklad: mam integer, a v nem ulozenou
> > hodnotu datumu nebo casu; prirozene chci spravne zobrazeni i
> > editaci), a to i za behu pro vybrane radky.
>
> Spise bych se priklanel k moznosti vlozit (skoro) jakykoli TWinControl
> coby inplace editor.

No vsak neco takoveho jsem mel na mysli. :-) A to nejen pro cely
sloupec, ale pripadne ucelove i pro jednotlivou bunku.


S pozdravem

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


RTTI (Was: TComboBox - ReadOnly)

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 14.12.1999 12:35:03

Petr Vones wrote:

> uses
> TypInfo;
>
> procedure TForm1.Button1Click(Sender: TObject);
> var
> I: Integer;
> PropInfo: PPropInfo;
> begin
> for I := 0 to ComponentCount - 1 do
> begin
> PropInfo := GetPropInfo(Components[I].ClassInfo, 'ReadOnly'); if
> (PropInfo <> nil) and (PropInfo^.PropType^ =
> System.TypeInfo(Boolean)) then
> SetEnumProp(Components[I], PropInfo, BooleanIdents[True]);
> end;
> end;
>
> BTW: Mam pocit, ze tu Zbysek kdysi vyhrozoval, ze neco takoveho bude
> vykladat i na svych skolenich :-)

O tomto se zminuji s drobnym prikladkem na skoleni Delphi -
tvorba komponent.


S pozdravem

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


D5 - ano ci ne ?

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 14.12.1999 12:35:03

Robert Kindl wrote:

> > Nikde neni psano, ze musim nacist cely balik, ktery se mi
> > dotazem vytvori. To za prve. Nejsme v BDE, v OLE DB neni zadny
> > problem zjistit predem pocet vet (a pripadne uzivatele varovat
> > predem), ktere se mi nabizeji. Neni ani zadny problem nacist jen
> > urcity pocet vet, a to jak od zacatku, prostredka nebo i konce,
> > zepredu i zezadu. Kdykoliv mohu podle potreby sahnout do datasetu,
> > nastavit se kam potrebuji, a docist dalsi cast dat. Takze to zavisi
> > vyhradne na mne, co s tim udelam, a nikoliv na komponentach, jaky
> > postup mi vnuti.
> >
> > Podivej se napriklad na ADO objekty (ty od MS). Podle toho, jak se
> > chovaji, tak si nacitaji take data do sveho bufferu (s moznosti
> > nastavit limit poctu vet).
> > > Toto vsechno co jsi uvedl umi i muj RDBGridu i
> > > muj RTreeGrid. A mnohem vic.
> > > Trideni by mohl lepe zvladnou SQL server.
> >
> > Pokud chci nechat uzivatele, aby si kliknul na sloupec, podle
> > ktereho chce tridit, tak to urcite nebudu sverovat serveru. Protoze
> > to by znamenalo zavrit set, preformulovat select, a znovu otevrit (a
> > tim padem prinutit server vytvorit nove kurzory).
> >
> > > Pokud to dela klient jde to presne proti modernim pozadavkum doby.
> >
> > Jake jsou moderni pozadavky doby? Pretezovani serveru, aby se
> > odlehcilo klientu? :-)
>
> Jak chces pretridit data na clientu, kdyz je nemas nactena v pameti.
> Tohle je zasadni rozpor prechozich dvou odpovedi a proto je to jak
> jsem rekl. Trideni by mel delat server. BTW delam to pretrideni tak
> jak jsi rekl, zavru dataset, preformuluji select a znovu ho otevru.
> Funguje to skvele. Pravdu muzes mit jen tehdy pokud by query trvala
> rekneme 100 sekund (je hodne slozita) a vracela by rekneme 10 zaznamu.
> Pak je asi lepsi to pretridit na clientu. Takze rekneme, ze
> univerzalni reseni neni, ale radove castejsi je podle mne pripad kdy
> by to mel delat server.

Nejsem si jist, zda jsi pochopil, co jsem chtel rict. Kazdopadne
zastavam nazor, ze trideni by melo probihat tam, kde je to
vyhodnejsi. Mejme napriklad dotaz pres tri tabulky, kde se
kompletace provadi pres joiny. V tabulkach jsou desetitisice vet.
Vysledkem jsou napriklad sloupce Jmeno, Prijmeni,
Zamestnavatel, Vedouci, atp. Vysledkem vyberu (treba podle vyse
platu) je rekneme 50 vet. Nad stejnymi daty potrebujes tridit podle
jednotlivych sloupcu. V podobne situaci je dalsich 50 kolegu. V
takovemto (a podobnych) pripade povazuji za silne nerozumne tridit
zpusobem, ktery jsi tu popsal, protoze takto jsi na nejlepsi ceste
pretizit server a brzdit praci tech chudaku na klientech.

Kazdy dotaz na server vyvola na nem urcitou zatezovou spicku (jeji
delka - casova - zavisi na mnozstvi dat, ktere je nutno zpracovat).
Pokud se budes takto dotazovat casto, vysledek se brzy dostavi.
:-) Kazdopadne ti doporucuji provest si zatezove testy, mozna
budes prekvapen a ponekud prehodnotis sve stanovisko.

Dalsi problem nastava napriklad v situaci, kdy vysledkem je pouze
prohlizeni vysledku dotazu. Vysledkem muze byt podle povahy
napriklad nekolik desitek vet, a uzivatel nedela nasledujici
ctvthodinu nic jineho, nez si je prohlizi, pripadne vytiskne. Pak
program zavre a jde si po sve praci. Zde povazuji dokonce za
nejrozumnejsi pripojit se k databazi, rychle data vycist na klienta a
pak se zase od databaze odpojit (i tohle ovlivnuje zatizeni a
rychlost serveru, nemluve o limitovanych licencich na server).

> > Nejde, a ani nevidim duvod, aby slo. Jiste, muze to mit sve
> > nevyhody, zejmena kdyz nekdo chce pouzivat trebas DBEdit (brrrr,
> > jeho pouziti prinasi vic problemu nez pohodli). Co se tyka Siney,
> > tak ta je nastesti udelana tak, ze prevod je v podstate hrackou.
> > Stravil jsem tim asi den, vcetne studia toho, co vlastne Sinea umi.
> > Ted ladim uz jen detaily.
>
> Proc ne TDBEdit? Nad datasetem je zcela bez problemu nebo
> resp. uplne stejne dobry jako TCustomMaskEdit jehoz je dedicem.

DBEdit je dobry pro lokalni souborove databaze. Ale povazuji ho za
naprosto nevhodny pro SQL databaze na siti. Proc:

1. Udrzuje otevreny dataset, i v dobe, kdy je to zcela zbytecne.
2. Vola metody Insert (ci Edit) a Post, ktere se museji vnitne (v
BDE) tak jako tak prekladat do SQL prikazu.
3. Pokud jiny uzivatel zmeni stejna data driv, DBEdit umi pouze
poznat zmenu a nedovoli data prepsat. Porizena data jsou tim
padem ztracena, pokud je ovsem neprelejes do pomocnych
promennych.
4. Operace s daty nad SQL databazi musi probihat prostrednictvim
SQL prikazu, je tedy rozumnejsi si toto ovladat sam, nez to
sverovat komponentam, jejichz vnitrni prace je nepruhledna a
nedokumentovana. Chci-li tedy neco v databazi upravit, edituji data
zasadne mimo DB komponenty, a pak volam bud ulozenou
proceduru nebo sestavim sam prislusny SQL prikaz (ci spoustim
transakci). Takto si snadno zajistim bezproblemovy chod
programu, zjisteni nastalych zmen a moznost dodatecnych oprav.

> Jasne Sinea je treba OK, ale je spousta dalsich veci, ktere treba
> nejsou tak otevrene, napr. Delphi :-)

Delphi jako takove je otevrene hodne (proto v nem delam), ve
srovnani s jinymi nastoji jako VB nebo PowerBuilder. Problemem je
spise dokumentace a pripadne zdrojaky jednotek slouzicich pro
spolupraci s IDE.

> > > Podle tveho popisu usuzuji take, ze grid nepodporuje VirtualView,
> > > to je take dost zavazna chyba ponekud znehodnocujici databazove
> > > nasazeni jako DBGrid viz. vyse natahovani do pameti
> >
> > Co konkretne mas na mysli VirtualView?
>
> VirtualView je protected properta TCustomGridu a urcuje to
> nejzakladnejsi chovani gridu. Ve strucnosti: TStringGrid ma
> VirtualView=False, nebot zobrazuje pevne dana data (predem do neho
> nasypana). Pocet radku je tedy roven poctu dat. TDBGrid ma
> VirtualView=True, nebot zobrazuje predem neznamy pocet dat (scrollbar
> ma jen tri polohy) pocet radku gridu je tedy roven zobrazitelnemu
> poctu radku (kolik se vejde na obrazovku). Konkretni implementace v
> DBGridu je zhruba takovato: Vzhledem k tomu, ze DBGrid ma fixni
> velikost radky je pocet radek predem znam a je roven BufferCount
> pripojeneho TDataSetu. Pri pohybu v datech se tak vlastne pohybuje jen
> ukazatel v datech a naplnuji se Buffers z cache BDE aktualni radka je
> ActiveBuffer.

Aha. Zde se vynoruje dalsi problem. Zde bych vsak nemichal
dohromady VirtualView s poctem vet, protoze VirtualView mohu
pouzit i kdyz pocet vet znam.

V teto souvislosti bych rad upozornil na jednu zajimavou vec:
mejme vetsi tabulku (napr. 100 000 vet, SQL databaze). Pokud se
na ni podivame pres BDE, zacatek se zobrazi okamzite, ale skok
na konec trva dlouho. Pokud se na stejnou tabulku podivas pres
ADO, pak nacitani chvili trva (ale ne tak dlouho, jako skok v BDE),
ale skoky kamkoliv jsou okamzite.

Pricemz: OLE DB si vytvori system kurzoru, a umi vratit jejich
pocet. Pokud bych chtel pracovat uvedenym stylem (tedy s
VirtualView, jenze z povahy aplikace, kterou delam, to nepotrebuji,
takze jsem o nem nevedel), mohu nastavit scrollbar radne (a ne tak
fujtajblove do tri poloh :), a tahat skutecne jen ty vety, ktere jsou
videt. Krome toho OLE DB umoznuje skok na konec okamzite, bez
dlouheho prochazeni kurzoru lezicich uprostred.

> > :-) Ano, je to moje rozhodnuti, protoze ho nepovazuji za spatne
> > reseni. Nevidim duvod, proc bych mel mrhat casem predelavkami QR a
> > dalsich, pokud najdu sestavy, ktere splni me potreby, pro me
> > aplikace. Nikdy jsem netvrdil, ze chci ja sam vytvorit vseobsahujici
> > komponenty, ktere budou umet minimalne to co umeji BDE komponenty.
> > To klidne a rad prenecham jinym.
>
> Jo to je jasne, ale problem je v tom, ze tu stale neni
> nikdo dalsi kdo by na tom pracoval.
> Nebo byl ochoten pracovat a zde jsme opet
> v onom bludnem kruhu.

Ano, to je urcity problem. Jenze ja potrebuji urcite chovani
komponent uz ted, takze zcela logicky opomijim vlastnosti, ktere
me nezajimaji.

> > Moje potreby jsou nasledujici: vyhnout se BDE, pracovat s MS
> > SQL Serverem, vykon, optimalni rozlozeni zateze mezi klientem a
> > serverem. Delal jsem si vytezovaci testy, kdy jsem prenesl zatez na
> > server, a rychle jsem od teto myslenky utekl.
>
> Promin, to jsem nejak nepochopil :-(
> Jake myslenky?

Od myslenky neustaleho dotazovani na server, treba pro trideni
jednech a tech samych dat. Tedy, zase to plati pro logiku aplikace,
kterou prave vyvijim.

> > To je vec pohledu. BDE komponenty maji dobrou koncepci
> > vzhledem k BDE, ale uz to neplati vuci OLE DB. Filosofie DBLib a OLE
> > DB ma tolik rozdilu, ze nelze rozumne napasovat OLE DB pres DBLib.
>
> No pravda o OLE DB toho vis asi vice nez ja.
> Ale nemyslim si, ze bych byl nejak svazany s DBLib.
> Proste si myslim, ze uzitecnejsi by bylo udelat OLEDB
> dedic TDatasetu.

Ja jsem tuto moznost zkoumal dostatecne dlouho, a usoudil jsem,
ze by nebylo. Protoze TDataset se verze od verze Delphi mohutne
meni, diky jeho vlastnostem bych prisel o poznatelnou cast vykonu
(preci jen je svou logikou vyladen spise pro DBLib, i kdyz se tvari
obecne) a prisel bych o nektere zajimave vlastnosti OLE DB.
Napriklad mi naprosto nevyhovuje system XxxxFieldu.

> Borland ted udelal ADOExpress
> i IBExpress nad datasetem. Adonis je nad datasetem.

Adonis jsem netestoval, u ADOExpress je problem tohoto
napasovani videt v citelne ztrate vykonu. Zpusob pristupu ke
kurzorum je u OLE DB zda se jiny nez u DBLib.

> Ale to jsme pokud si pamatuji jiz diskutovali.
> Ty jsi se bohuzel rozhodl dataset opustit :-(

Ja si nemyslim ze "bohuzel". :-)

> > :-) Tato uvaha mi pripomina rozumovani stare zhruba 100 let: na co
> > je pomaly, hlucny, drahy a smrduty automobil, kdyz s konem a povozem
> > udelam vic prace (tedy prave dnes), levneji a v klidu? :-)
>
> Jedine co se zmenilo je, ze uz neni automobil pomaly.
> Jinak hlucny, drahy a smrduty je stale.

Hluk se vyrazne zmensil, mira smrdutosti take. V porovnani
cena/vykon jasne vede nad konskymi povozy.

Moje OLE DB komponenty jsou dnes na urovni tech prvnich
automobilu. Domnivam se vsak, ze cesta vede do budoucna pres
jinou koncepci, tedy pres zasadni predelani (ci nove vytvoreni)
stavajiciho systemu Delphi DB komponent.

> Napad vyrobit elektromobil (odstraneni smrdutosti
> a hlucnosti) mel jiz F. Krizik.
> Dodnes se masove neprosadil kvuli spatne koncepci
> (olovene akumulatory, slunecni pohon). Lepsi technologie
> vsak zatim neni.
> Otazkou je tedy zda Delphi momentalne dovoluji
> vyvinout neco lepsi (viz. fork "Pristum k datum, Delphree a vubec").

Ano, Delphi to prave dovoluji. Je to ovsem prace. :-) Prace je to
velka i v jakemkoliv jinem prostredi, pokud se zacina odspodu.

> > > Masovemu nasazeni pritom brani mnou jiz uvedene duvody.
> >
> > To, ze jsem komponenty nabidl k volnemu pouziti, jeste
> > neznamena, ze na masovem nasazeni trvam...
>
> Bez neho to nema smysl.

Ma, urcite pro me. Jaky, jsem uz take psal. :-) Pokud je bude chtit
pouzivat a rozvijet i nekdo dalsi, ma je volne k dispozici.

> Jiste, ale kdyz neco nefunguje, tak to nebudu obhajovat
> zuby nehty, ale zkusim neco zmenit aby to fungovalo.

:-) Vztahnu-li to jen na OLE DB komponenty, pak ty funguji,
protoze delaji dobre to, co potrebuji, a jak to potrebuji. Jestlize
nekdo potrebuje neco jineho, pak je mi to momentalne lito, protoze
zrovna nemam cas se tim zabyvat (a to momentalne ani za uplatu
:).


S pozdravem

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


Grid was:Pristup k datum, Delphree a vubec

[*] Vaclav Krmela <krmela(zv)pecomp(tec)cz> - 14.12.1999 12:50:29

> From: Erik Salaj <winsoft(zv)napri.sk>
> > Problem sa tyka kompletnej VCL kniznice a nie je ho mozne obist.
.....
> > Delphi nema dostatocne otvorenu koncepciu, povedzme aby som mohol
> > vypnut VCL a pouzit miesto toho inu kniznicu (napr. pre Linux). Delphi
> > len stale zahrna nove a nove veci DO VCL.
.......
> > VCL kniznica je prilis komplikovana, malo otvorena, neskalovatelna
> > a nedostatocne zdokumentovana.
.......
> > OP je vcelku dobry jazyk ale VCL je zle navrhnute.
> > Problemom je aj to,
> > ze VCL je prilis tesne naviazana na OP a nie je mozne sa jej teda
zbavit.

Kdyz uz tak nadavame na VCL, nikdo nas preci nenuti ji pouzivat.
Pomoci Delphi se daji psat i programy nepouzivajici VCL.
Dokonce takove programy budou mnohem mensi (myslim velikost EXE)
a rychlejsi.

Vaclav Krmela


zmena datumu a casu

[*] Ing. J�n Kuch�r�����!j��G - 14.12.1999 13:22:51

caute

velmi jednoducha otazka, ako zakazat zmenu datumu a casu pocas spustenia
aplikacie ( samozrejme ak sa to da )
Dik



Ing. J�n Kuch�r
KIaR SjF TU Ko�ice
Park Komensk�ho 9
040 01 Ko�ice
tel. 095/602 2589, mobil : 0905 229542
e-mail: kuchar(zv)tuke.sk

Frame a dedeni

[*] Hynek Svato� <svatos(zv)kam(tec)czu(tec)cz> - 14.12.1999 13:24:37

Panove, stala se mi takova zly nepekna vec.

V D5 jsem zajasal, ze obsahuje Framy - to bylo presne to, co jsem delsi dobu
postradal.
I vrhnul jsem se na ne. Potreboval jsem si udelat takovy univerzalni Frame,
rekneme TExtendedFrame, tak jsem si ho udelal.
Pak jsem si vytvoril novy frame a jako predka jsem mu dal ten ExtendedFrame
a zacaly potize.
Kdyz se prepnu z navrhu framu do textoveho navrhu (Alt+F12) a zpet tak to
hlasi, ze neexistuji nektere property a delphi hazi hlasky Acces violation.
To se stava jen v pripade, kdyz zmenim predka framu ze std. TFrame na
TExtendedFame - znamena to tedy, ze se u framu musim vzdat dedeni ?
No to se z toho asi teda opupinkuju.

======================
Hynek Svato�
svatos(zv)kam(tec)czu(tec)cz
hynek.svatos(zv)atlas(tec)cz
======================

Jakou databazi doporucite ?

[*] Ale� Kle�ka - 14.12.1999 13:37:04

----- Original Message -----
From: Miroslav Hostinsk� <abcsoft(zv)rychnov(tec)cz>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Thursday, December 23, 1999 12:35 PM
Subject: Re: Jakou databazi doporucite ?> Kdyz slysim o problemech s MS SQL od jimych programatoru, musim se smat.
Omlouvam se za mirny off-topic, ale neda mi to. Vzhledem k posledni
poznamce ( se k terou se, dik zkusenostem kamaradu, ztotoznuji ) doprucuji
precist si clanek na 'svet.namodro(tec)cz' s nazvem 'Microsoft vyt�hl do boje
proti Oracle SQL a ozna�il jej, vpodstat�, za nepou�iteln�'. Slova pana F.
nehodlam komentovat ( vzhledem k jeho chlebodarcum ani nic jineho rici
nemohl ), jenom cekam jestli se na toto tema na onom serveru rozpouta nejaka
debata.

S pozdravem Alesh


Frame a dedeni

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 14.12.1999 13:46:56

Haj hou!

>Pak jsem si vytvoril novy frame a jako predka jsem mu dal ten ExtendedFrame
>a zacaly potize.

Jak jsi mu dal jineho predka ? Primo prepsal v DFM ?
Jediny regulerni zpusob je pres New->z�lo�ka kde je frame->frame->Inherit->
OK.

>Kdyz se prepnu z navrhu framu do textoveho navrhu (Alt+F12) a zpet tak to
>hlasi, ze neexistuji nektere property a delphi hazi hlasky Acces violation.
>To se stava jen v pripade, kdyz zmenim predka framu ze std. TFrame na
>TExtendedFame - znamena to tedy, ze se u framu musim vzdat dedeni ?

Pokud je predek soucasti projektu (nebo v repozitori) a pak je z n�ho
vytvo�ena nov� d�d�n�m, pak v�e funguje jak m� (v�etn� toho p�ep�n�n�).
Odzkou�eno.

Hodne zdaru

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


okraje pri tlaci

[*] Vaclav Krmela <krmela(zv)pecomp(tec)cz> - 14.12.1999 13:49:29

Pri tisku mimo ovladac tiskarny je delka stranky a velikost spodniho
okraje zavisla pouze na nastaveni prepinacu na tiskarne.
Obvykle je mozne nastavit nekolik ruznych delek stranky.
Roli v tom hraje take pripadna volba preskakovani perforace,
ktera zkrati delku stranky asi o dva radky.

Trvam ale na tom, ze tisk pomoci AssignPrn z unitu Printers
je tisk s ucasti ovladace tiskarny z Windows.

Vaclav Krmela

From: Martin Fron�k <FRONEK(zv)zznslany(tec)cz>
> Dobre, vyjadrim se presneji. Jedna se o tisk, kde neni zucastnen ovladac
> tiskarny z windows. Ale v takovem pripade se temer vzdy jedna o tisk
> znakovy, a to na jehlickove tiskarne. Jiny duvod k takovemu postupu
> neni.
>
> > Od: Vaclav Krmela [SMTP:krmela(zv)pecomp(tec)cz]
> > Jiz jsem nekolikrat v teto konferenci zaregistroval nazor,
> > ze tisk pomoci AssignPrn je znakovy tisk.
> > Podle mne se jedna (z pohledu tiskarny) o normalni graficky tisk.
> > Pouze z pohledu programu se to tvari tak, jako ze na tiskarnu
> > posilam textovy soubor. Vysledkem je ale tisk graficky.
> >
> > Vaclav Krmela
> >

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

[*] Robert Kindl <rob(zv)exec(tec)cz> - 14.12.1999 14:13:47

> > Ale superprostredi, ktere
> > ma po programatorske strance vse vyresene, pamatuje
> > na vsechny moznosti a je zcela bez chyb
> > a lze ho provozovat na jakemkoliv
> > pocitaci od ZX Spectrum vyse neexistuje :-)
>
> Ano, mas pravdu. Ale napr. triedenie je vzdy triedenie bez
> ohladu na to, ci je naprogramovane v C-cku, Pascale a ci
> bezi na Spectre alebo Unixe atd. Urcite veci sa nemenia
> a moze byt vyhodne mat moznost tieto veci presne
> specifikovat (povedzme pomocou axiomov) a to tak,
> aby som to uz nepotreboval opet x-krat programovat
> ked to budem chciet pouzit v inom projekte, jazyku,
> pocitaci, ... Nepocital som kolko krat je povedzme
> triedenie programovane vo VCL, ale mozme sa stavit,
> ze viac nez jeden krat. Viem pochopit, ak je potrebnych
> viac implementacii triedenia (povedzme pre rozne algoritmy
> ako shellshort, quicksort, atd.). Ale to, ze nie je mozne
> specifikovat obecne triedenie a takisto to, ze nie je mozne
> napisat genericke triedenie (t.j. pracujuce s obecnym typom)
> to su uz dost vazne problemy, ktore v Delphi (ale nie len
> v Delphi, plati to samozrejme aj pre mnoho dalsich jazykov)
> nie je mozne jednoducho obist.

Rozhodne neni trideni jako trideni!
Rozlisovat trideni na quicksort, shellsort, bubblesort a ty ostatni
je dost zjednoduseny pohled.

Trocha teorie:
1. nutno rozlisovat trideni a razeni
2. ruzne ulohy vyzaduji ruzne algoritmy trideni/razeni (dale tedy jen
trideni).

Je rozdil jestli zpracovavas proudova data (stream) nebo
data s nahodnym pristupem (random access).

Je rozdil jestli jsou data jiz setridena a chces jen vlozit dalsi prvek nebo
chces tridit od zacatku.

Je rozdil jestli potrebuji trideni, ktere zachova poradi stejnych zaznamu
nebo ne (quicksort treba nezachova).

Dalsi rozdil je podle ceny porovnani a ceny zameny.
Tj. je rozhodne vyhodnejsi naprogramovat
prime porovnani dvou 32bit integeru nez to
delat pomoci univerzalniho alogoritmu, ktere pritom
napr. bude vyzadovat volani pomocne funkce, ktera
porovnani provede. To radeji 10 krat naprogramuji
specializovany algoritmus.

Z toho duvodu si myslim, ze je pochopitelne, ze je zde trideni
implementovano nekolikrat.

> > Pouziti jineho jazyka (Eiffel) mi pripada ciste akademicka
> > moznost bez praktickeho smyslu (zas tak moc
> > o tom nevim tak mne nekamenuj).
>
> Takisto mas pravdu, ze prakticke rozsirenie Eiffelu je male.
> Napriek tomu si myslim, ze je velkym prinosom a som
> presvedceny o tom, ze pouzitie niektorych myslienok tohto
> jazyka pri programovani hoci aj v inych jazykoch moze
> byt velmi uzitocne.

To se nepru. Vzdy neni na skodu podivat se jak
to delaji jinde (u konkurence).

Rob

Grid was:Pristup k datum, Delphree a vubec

[*] Robert Kindl <rob(zv)exec(tec)cz> - 14.12.1999 14:13:54

> Neco takoveho umi treba ExpressQuantumGrid, tady je demo aplikace:
> http://www.devexpress.com/downloads/EQGrid.zip
>
> > Co by mel CustomGrid obsahovat:
> > 1. Samozrejme schopnost spravneho vykresleni sama sebe.
>
> To take, ale v nejvyssi urovni spise jen poskytovat obdelnikove souradnice
> pro dane viditelne bunky a vytvaret spravne pozadavky na jejich
prekresleni
> ci posunuti celeho pohledu, tak aby byl zajisten maximalne efektivni
zpusob
> vykreslovani, a to i za cenu vetsi komplikovanosti vypoctu.
> S tim je spojena i dalsi zalezitost cele abstrakce. Jak uz se zde
probiralo,
> v principu muze jit budto o grid, ktery ma urcity rozsah bunek a vzdy lze
> pak presne urcit radek a sloupec te ktere bunky, nebo pujde jako v pripadu
> DBGridu o "VirtualView", tedy jakysi "slepy pohled" na urcitou oblast dat.
> Jiz na teto urovni by mel byt navrzen na oba pristupy.

Naprosto souhlasim.
Grid neni to co je v VCL tj. sloupce a v radcich data,
ale obsas je to potreba definovat v radcich a ve sloupcich data.
Casty je tez pripad, ze bunky ve stejnem sloupci obsahuji ruzna data,
nektere lze editovat a nektere ne.
A uz vubec nepredstavitelny (pro bezneho Delphistu) je grid,
kde kazdy radek obsahuje oplne jinak velke sloupce.
Odtud je jiz jen krok k definici gridu jako mnoziny obdelnikovych
(popr. jeste slozitejsich) oblasti.

> > g) mel by znat vlastni default (mask)editor pro prislusny typ dat, s
> > moznosti editor prehodit (priklad: mam integer, a v nem ulozenou
> > hodnotu datumu nebo casu; prirozene chci spravne zobrazeni i
> > editaci), a to i za behu pro vybrane radky.
>
> Spise bych se priklanel k moznosti vlozit (skoro) jakykoli TWinControl
coby
> inplace editor.

Proc TWinControl? Proc ne TControl?
A vubec. Moje zkusenost je takova, ze je lepsi
a hlavne 100 krat jednodussi
naucit grid nativne ruzne druhy editace (Edit, SpinEdit, Check, ComboList,
ComboEdit,
DateEdit, TimeEdit, ...) nez se ucit tam plavat libolny control.
Problem je totiz, ze co control to unikat a v zasade
stejne programujes zvlast plovouci Edit,
zvlast SpinEdit, Check, ComboList, ComboEdit, DateEdit, TimeEdit atd.

Rob

D5 - ano ci ne ?

[*] Robert Kindl <rob(zv)exec(tec)cz> - 14.12.1999 14:13:58

> > Jak chces pretridit data na clientu, kdyz je nemas nactena v pameti.
> > Tohle je zasadni rozpor prechozich dvou odpovedi a proto je to jak jsem
> > rekl.
>
> Existuje i kompromisni reseni. Na klienta pretahujes (a prechovavas)
> primarni klice a data, podle kterych se bude tridit. Tento seznam je
pomerne
> maly i pri velkem poctu zaznamu. Pretrideni seznamu je pak dilem okamziku
a
> je mozne ho delat 100x za minutu aniz by uzivatel zaznamenal zdrzeni. Pro
> jednotlive zaznamy (kompletni data) se pak chodi vzdy na server (vyhledani
> jedne vety dle primarniho klice a jaji prenos na klienta je jedna z
> nejrychlejsich SQL operaci vubec). Navic je vzdy znam presny pocet zaznamu
> (stary to problem SQL databazi) a je tedy mozne provadet skoky na
konkretni
> zaznam v seznamu bez casove prodlevy nebo vykonnostnich anomalii.

No vida jeste dalsi pohled na puvodne tak jednoduchou vec.
Tento postup je podle mne vhodny tam, kde trideni je caste
a v zasade se nemeni sloupec podle ktereho tridis.
Pokud jen natahuji data ze serveru do gridu tak uzivatel
vetsinou neklika zurive na headery sloupcu a pokud
ano tak se prece zmeni mnozina dat podle kterych se tridi
(vyjimkou je jen kdyz meni vzestupne/sestupne)
bylo by tedy nutne provest jejich nove nacteni. To
je podle mne opet lepsi kdyz trideni udela server
a nacte se jen pocet vet odpovidajici viditelnym
radkam gridu.
Zde bych uvedl, ze je vhodne preformulovat query
i pokud vypnu/zapnu nektere sloupce v gridu.
Tim zmensim sirku prenasenych recordu.

Ale s tim, ze pro kompletni data si jdu podle primarniho klice
naprosto souhlasim.

> > Proste si myslim, ze uzitecnejsi by bylo udelat OLEDB
> > dedic TDatasetu. Borland ted udelal ADOExpress
> > i IBExpress nad datasetem. Adonis je nad datasetem.
> > Ale to jsme pokud si pamatuji jiz diskutovali.
> > Ty jsi se bohuzel rozhodl dataset opustit :-(
>
> Dataset NENI dobry, je mizerny. Pouziva se jen proto, ze je pro vsechny
> jednodussi s nim zapasit nez si napsat jine reseni.

Ano

> > Napad vyrobit elektromobil (odstraneni smrdutosti
> > a hlucnosti) mel jiz F. Krizik.
> > Dodnes se masove neprosadil kvuli spatne koncepci
> > (olovene akumulatory, slunecni pohon). Lepsi technologie
> > vsak zatim neni.
>
> Zapominas na vliv naftarske lobby :o) Dokud bude naftarsky business stejne
> lukrativni jako prodej zbrani, elektromobilu nebo motoru na vodik se ve
> vetsim meritku nedockame (a ne ze by jsme to neumeli).

Naftarskou lobby zde zastupuje Microsoft
a ropou jsou jeho Windows (dale jen Ropaci) :-)

Rob

Probl�my p�i pou��v�n� BCD v BDE (

[*] Robert Kindl <rob(zv)exec(tec)cz> - 14.12.1999 14:13:51

> Probl�my p�i pou��v�n� BCD v BDE (SQL Linku)
> Prost�ed�: Delphi - BDE - SQL Link - InterBase (Enable BCD=true).
> 1.probl�m: Definice pole typu Numeric(9,6). InterBase vrac� ��slo na
spr�vn�
> po�et desetinn�ch m�st, BDE maxim�ln� na 4 desetinn� m�sta.
> 2. probl�m: Definice pole typu Numeric(15,2), intern� hodnota pole
> "0.699984". InterBase vrac� spr�vn� zaokrouhlenou hodnotu "0.70", BDE
> �patnou o��znutou hodnotu "0.69".
> Dotaz: Kde hledat chybu? Jak ji odstranit nebo zda je ji� odstran�na v
> n�jak� nov�j�� verzi?

ad 1.
BDE alias ma parametr EnableBCD
- pokud je TRUE pak se pro reprezentaci fieldu v Delphi pouziva typ
TBCDField a ten pouziva numericky typ currency.
Tento umi "pr�v�" 4 desetinn� m�sta a nikdy jinak.
- pokud je FALSE pak se pouzije TFloatField a ten pak pouziva
typ double jehoz presnost je cca 15 platnych mist.
Bohuzel trpi zaokrouhlavacimi chybami pri vypoctech
(to je ostatne zcela normalni vlastnost vsech "real" cisel).

univerzalni reseni s BDE neexistuje (tj. aby nektere fieldy byly BCD
a nektere Float) musis si vybrat.

ad 2.
toto se mi projevuje (s SQL linkem na MSSQL) pokud
mam nastaveno EnableBCD na false
pokud nastavim EnableBCD na true tak to nedela,
ale objevi se problem ad 1.

Bohuzel jsi (jako vetsina zdejsich ucastniku)
opomenul napsat jakou verzi BDE mas,
ale vim, ze v BDE 5.10 se problem ad 2.
stale objevuje.
Problem ad 1. je "as designed" tj.
principialne je to zcela OK.

Rob

Charset u TNMSMTP

[*] Karel Kral <kral(zv)purus(tec)cz> - 14.12.1999 14:15:48

Nebo WinShoes, z tech jsou primo TNM komponenty udelane:
http://www.pbe.com/winshoes/

V�clav Muchna wrote:
> tam vlastne deje. A tak mi nezbyva, nez ti doporucit to, co tu jiz mnohokrat
> doporucovano bylo: inet komponenty od F. Piette, konkretne TSMTP:
>
> ad 1) jsou zdrojaky => moznost si poupravit co bude potreba, clovek
> ma prehled nad tim, co ta komponenta dela
> ad 2) je to free
> ad 3) krome mnoha dalsich ma i property charset
>
> Najdes ji na adrese http://www.rtfm.be/fpiette/smtpcliuk.htm
>

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


Jakou databazi doporucite ?

[*] Marcel Langr <ivar(zv)ivar(tec)cz> - 14.12.1999 14:17:48

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

Ja bych zase tak nejasal. Mame s Interbase svoje zkusenosti a narazili jsme
na problemy s event alertery
OIT a OAT apod.
Podstatne je, kolik penez chces do databaze investovat. My pouzivame pro
mensi a stredne velke projekty FlashFiler a jsme zatim spokojeni.

Marcel Langr
mlangr(zv)ivar(tec)cz

Jak zjistit, ze jsem na poslednim zaznamu datasetu

[*] Pavel Bocek <xbocekp(zv)cs.felk.cvut(tec)cz> - 14.12.1999 14:32:01

Zdravim,

EOF se sice nastavuje pokazde, ale nelze ho pouzit k zjisteni, zda jsem
na poslednim radku datasetu.

Pokud se totiz jakkoli vyjma metody Last dostanete na posledni record, EOF se nenastavi....
Viz help...

Pavel Bocek


----- Original Message -----
From: Karel Vlcek <vlcekk(zv)hotmail.com>
To: <delphi-l(zv)fwd(tec)cz>
Sent: Tuesday, December 14, 1999 10:21 AM
Subject: Re: Jak zjistit, ze jsem na poslednim zaznamu datasetu?> Ja pri prochazeni datasetem pouzivam property EOF, ktera se nastavuje pri
> kazde akci (First, Next, ...)
>
> viz Help (D5, ale je stejny jako D3)
> Indicates whether or not a cursor is positioned at the last record in a
> dataset.
>
> property Eof: Boolean;
>
> Description
>
> Test Eof (end-of-file) to determine if the cursor is positioned at the last
> record in a dataset. If Eof is True, the cursor is unequivocally on the last
> row in the dataset. Eof is True when an application:
>
> Opens an empty dataset.
> Calls a dataset�s Last method.
> Call a dataset�s Next method, and the method fails (because the cursor is
> already on the last row in the dataset).
> Calls SetRange on an empty range or dataset.
>
> Eof is False in all other cases.
>
> Tip: If both Eof and Bof are True, the dataset or range is empty.
>
>
>
> Karel Vlcek
> ===========================
> poskytovani software
> GSM : ++420 602 264812
> mailto: Vlcekk(zv)hotmail.com
> ===========================
>
>
> ----Original Message Follows----
> From: "Jaroslav Nadhera" <nadhera(zv)csh(tec)cz>
> Reply-To: delphi-l(zv)fwd(tec)cz
> To: <delphi-l(zv)fwd(tec)cz>
> Subject: Re: Jak zjistit, ze jsem na poslednim zaznamu datasetu?
> Date: Mon, 13 Dec 1999 16:11:50 +0100
>
> > Jednoducho. Napr. v TTable asi takto
> > If Table.RecNo = Table.RecordCount then JeKoniec;
> >
>
> Ale pozor RecordCount na tabulce s hodne zaznamy trva hodne dlouho (alespon
> na Paradoxu).
>
>
> ______________________________________________________
> Get Your Private, Free Email at http://www.hotmail.com
>

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