Archív konference Delphi

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

Seriova komunikace

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 20.4.1998 22:17:18

SIPEK Stanislav, Ing. wrote:

> Mam mensi problem pri seriove komunikaci a porad se nemuzu dopidit k
> nejakemu vysledku. Pouzivam zpusob asynchronni komunikace (definuji
> OVERLAPPED strukturu) a problem mam takovyto: Pri cteni pokud nemam
> buffer plny, tak mi ReadFile vrati FALSE a nasledne volani
> WaitForSingleObject mi vrati WAIT_TIMEOUT, coz znamena, ze cteni
> neni jeste dokonceno. No a ja bych se chtel v tomto miste nejak
> dozvedet kolik bytu je prave nacteno v bufferu. Lze to nejak
> zjistit? Potrebuji nejak prubezne sledovat, jak se mi vstupni buffer
> pri kazdem cteni plni daty (staci mi jen pocet prijatych bytu).
> Jestli s tim mate nekdo nejake zkusenosti, tak mi prosim poradte.

No, opet bych zde rad pripomenul zde jiz propirany AsyncPro. Ten tuto
funkci umoznuje, v podstate jakmile se zacne plnit buffer, vola se
tam udalost, ze ktere lze zjistit, kolik bajtu bylo prave prijato - a
na zaklade toho se daji vycist data. Dival jsem se, jak to maji
udelane, ale je to dost slozite a nechce se mi to studovat do
hloubky - ani na to nemam cas. Ale tohle chytani plneni bufferu mam
odzkousene a funguje mi to dobre. Udalost se vola v podstate ihned,
takze tam zjistim zmenu i nekolika bajtu.

S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz
Tel.: 02/795 29 56
Krystofova 1016, 149 00 Praha 4
CZ


Seriova komunikace

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 20.4.1998 22:28:03

> Mam mensi problem pri seriove komunikaci a porad se nemuzu dopidit k
> nejakemu vysledku. Pouzivam zpusob asynchronni komunikace (definuji
> OVERLAPPED strukturu) a problem mam takovyto:

Ono v takovych pripadech je docela dobre uvazovat nad tim, zda
neni jednodussi poridit si nejakou kvalitni komunikacni knihovnu,
ktera tyto problemy resi elegantne a bez namahy.

S pozdravem
Petr Zahradnik, pocitacovy expert

==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Jezkova 12, 400 11 Usti nad Labem ===
=== Telefon, fax: 047-5501627, mobilni GSM: 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================

Tabulka Paradox za behu s heslem

[*] Michael Heca <michael.heca(zv)email(tec)cz> - 21.4.1998 01:16:16

Zdravim,

heslo tabulky nastavis pomoci fce BDE DbiDoRestructure. (Pokud nemas popis tak si napis.)

Ja pouzivam pro zpakovani a zaheslovani databaze nasledujici. Muze to nastavit i dalsi heslo pro cteni a jazyk tabulky.

*************************************
procedure PackDb(const DbName, MainPwd, ROPwd, Locale: string);
const
LangFldDesc: FLDDesc = (
iFldNum: 1;
szName: 'LANGDRIVER';
iFldType: fldZSTRING;
iSubType: fldUNKNOWN;
iUnits1: DBIMAXTBLNAMELEN;
iUnits2: 0;
iOffset: 0;
iLen: DBIMAXSCFLDLEN;
iNullOffset: 0;
efldvVchk: fldvNOCHECKS;
efldrRights: fldrREADWRITE
);
var TableList: TStringList;
I: integer;
TblName: string;
TblDesc: CRTblDesc;
PwdOpType: CROpType;
PwdDesc: SECDesc;
Db: TDatabase;
pLocale: array [0..DBIMAXNAMELEN] of Char;
begin
Db := Session.OpenDatabase(DbName);
try
TableList := TStringList.Create;
try
Session.GetTableNames(DbName, '', False, False, TableList);
FillChar(TblDesc, SizeOf(CRTblDesc), 0);
TblDesc.bPack := True;
StrPCopy(TblDesc.szTblType, 'PARADOX');
if MainPwd <> '' then begin
StrPCopy(TblDesc.szPassword, MainPwd);
TblDesc.bProtected := True;
if ROPwd <> '' then begin
TblDesc.iSecRecCount := 1;
PwdOpType := crADD;
TblDesc.pecrSecOp := (zv)PwdOpType;
PwdDesc.iSecNum := 0;
PwdDesc.eprvTable := prvREADONLY;
PwdDesc.iFamRights := NOFAMRIGHTS;
StrPCopy(PwdDesc.szPassword, ROPwd);
for I := 0 to DBIMAXFLDSINSEC-1 do PwdDesc.aprvFld[I] := prvREADONLY;
TblDesc.psecDesc := (zv)PwdDesc;
end;
end;
if Locale <> '' then begin
TblDesc.iOptParams := 1;
TblDesc.pfldOptParams := (zv)LangFldDesc;
TblDesc.pOptData := StrPCopy((zv)pLocale, Locale);
end;
for I := 0 to TableList.Count-1 do begin
TblName := TableList[I];
StrPCopy(TblDesc.szTblName, TblName);
Check(DbiDoRestructure(Db.Handle, 1, (zv)TblDesc, nil, nil, nil, False));
end;
finally
TableList.Free;
end;
finally
Session.CloseDatabase(Db);
end;
end;
*****************************************

S pozdravem

Michael Heca
e-mail: michael.heca(zv)email(tec)cz
tel: +420 (504) 85791


Assembler

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 21.4.1998 07:06:50

Tak to jsem opomel. Z toho vyplyva, ze jedina moznost jak toto volat z
assembleru, je vytvorit si potomka, kde si metody SetChecked a
GetChecked udelate sam a ty budou pristupovat do property Checked napr.


procedure TMyCheckBox.SetChecked(Value: Boolean);
begin
Checked := Value;
end;

function TMyCheckBox.GetChecked: Boolean;
begin
Result := Checked;
end;


Ale je to prasarna^n.

J.Jahoda

> -----P�vodn� zpr�va-----
> Od: Petr Vones [SMTP:pvones(zv)mbox.vol(tec)cz]
> Odesl�no: 20. dubna 1998 19:43
> Komu: DELPHI Distribution List
> P�edm�t: Re: Assembler
>
> Ing. Jahoda Jaroslav wrote:
> > Properta Checked muze ukazovat primo do promenne, pak
> >
> > mov eax,[CheckBox1]
> > mov [eax].TCheckBox.FChecked,1
> >
> > bude fungovat, ale pokud je properta Checked deklarovana jako
> property
> > Checked: Boolean read GetChecked write SetChecked; tak pak zavisi na
> > deklaraci metody SetChecked, a ta muze but standardni, muze byt
> > virtualni, muze byt stdcall a pokazde je jiny zpusob volani metody.
> >
> > mov eax,1
> > mov ecx,[self]
> > call TCheckBox.SetChecked
>
> Problem je ze SetChecked a FChecked jsou private, takze prekladac je
> vubec
> nezna. Nebo existuje nejaka finta jak to obejit ?
>
> S pozdravem
>
> Petr Vones, amatersky
> programator
>

Delsi menu - reseni

[*] VOLTRR1(zv)epr1.ccmail.x400.cez(tec)cz - pr 1998 07:12:47 -0700

Diky vsem za help,

nakonec se ukazalo nejlepsi jako :

-zjistit maximalni pocet moznych polozek

MenuSize:=GetSystemMetrics(SM_CYMENUSIZE);
ScreenSize:=GetSystemMetrics(SM_CYScreen);

NumMenu:=ScreenSize div MenuSize;

- pri generovani pak hodit test a pokud je pocet polozek vetsi - nasadit
Break:=mbBreak

pak to slape dobre.
Este jednou diky vsem.

Radek Voltr


Delsi menu nez se vejde na screen

[*] VOLTRR1(zv)epr1.ccmail.x400.cez(tec)cz - pr 1998 07:12:38 -0700

Pouzivam WindowsNT4 WS English a IE 4.0 - v systemovejch menu se udela na konci
sipka kterou se da posouvat - v tom mem menu se neudelaj.

Nejde o to ze neumim udelat submenu za behu - to neni problem - problem je ten
ze nelze polozky v nem rozdelit logicky na submenu - proste musej bejt v jednom
menu u sebe.

Radek Voltr

> automaticky ale nejde to.
A co mate za Windowsy, ja mam English NT 4.0 a Czech 95 a ty to
delaj automaticky.> Menu je generovano on-fly za behu programu a proto neni mozne ho
> rozdelit na sub
> menu.
Ale, to snad ne. I za behu programu lze delat submenu viz
menus.pas funkce
NewMenu, NewPopupMenu, NewSubMenu, NewItem, NewLine

J.Jahoda


Filtre

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 21.4.1998 07:12:04

V SQL je prikaz LIKE

SELECT * FROM ... WHERE nazov like '%RUM%'

ale jestli hleda mala ci velka pismena, to zalezi na implementaci
serveru. Napr. u MSSQL mam nastaveno Sort czech case insensitive a Code
Page 1250 a na dotaz nazov like '%R%' najde 'rum' i 'BRANDYS'

jak je to u jinejch databazi, to jsem nezkousel.

J.Jahoda

> -----P�vodn� zpr�va-----
> Od: psoft [SMTP:psoft(zv)kosice.telecom.sk]
> Odesl�no: 22. dubna 1998 0:39
> Komu: delphi(zv)pinknet(tec)cz
> P�edm�t: Filtre
>
> Zdravim,
>
> maturujem nad pouzivanim filtrov v Delphi (TTable i TQuery).
> Ako mam najst napr. riadky, kde je napr. v poli NAZOV kdesi uprostred
> rum ? Cosi ako Pos('rum',NAZOV)>0.
>
> Kdesi som cital, ze v property Filter moze byt to is, co v casti
> WHERE pre SQL vyraz, mam pocit, ze to bolo v niektorom hlp subore pre
> Delphi. Preco potom nieco take ako Nazov like '%rum%' nezoberie ?
>
> Preco mi napr. ak Filter= Nazov='R*' najde Rum, ak je napisany
> velkym R, ale nie ked je malym r (bez ohladu na nastavenie
> foCaseInsensitive).
>
> Ak viete nieco o pouzitelnosti Filtrov, uvitam vase rady. Osobne
> myslim, ze filter a lokalne SQL ( klauzula WHERE) by mohli pouzivat
> tie iste vnutorne funkcie BDE, a preto by hadam naozaj mohli mat
> rovnaku syntax. Ale teraz som na rozpakoch ...
>
> Dakujem.
>
> Peter Cirip.
> > ''''
> > (O O)
> > +-------------oOO------(_)--------------------+
> > | PSOFT, ing.Peter Cirip |
> > | Sibirska 18, 080 01 Presov, Slovensko |
> > | Mobil : 0903 601 068 091/723 104 |
> > | E-mail: psoft(zv)ke.telecom.sk |
> > | WEB : http://www.ke.telecom.sk/psoft/ |
> > +-------------------------------oOO-----------+
> > |__|__|
> > || ||
> > ooO Ooo
> >

frekvence procesoru

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 21.4.1998 07:19:23

Jo je to v Registry na

HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
~MHz

Pozor, ale tohle maji pouze Windows NT. W95 to nemaji, tam se musi
provest testy a ty nechcete. (Je to dle zdeleni Intel)

J.Jahoda

> -----P�vodn� zpr�va-----
> Od: sula milos [SMTP:crkstrobe(zv)geocities.com]
> Odesl�no: 20. dubna 1998 15:02
> Komu: delphi konference
> P�edm�t: frekvence procesoru
>
> Hi all
> nevite jak zjistim frekvenci procesoru pod delphama2.0? Nechci zadne
> testovaci programy pouze to jen nekde precist(z BIOSU?)

TStringList

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 21.4.1998 07:23:55


> > Nejprve k TCollection, pokud vim tak TCollection byl v unite Objects
> v
> > Borland Pascalu a D1 a D2 nebyl vubec implementovan.
> To sice nebyl, ale po mensich upravach byl pouzitelny ten z Borland
> Pascalu. Navic, kdo mluvil o Delphi :-) ?
To sice nebyl, ale po mensich upravach byl pouzitelny ten z Borland
Pascalu. Navic, kdo mluvil o Delphi :-) ?
Stanovy teto konference.
Ve vasem dotazu nebyla zminka o Borland Pascalu ci Turbo Pascalu ci
jiny, tak jsem implicitne predpokladal, ze se Vam jedna od delhi. Tak
sorry.

J.Jahoda


Seriova komunikace

[*] SIPEK Stanislav, Ing. <SIPEK(zv)fbm.vutbr(tec)cz> - 21.4.1998 07:57:00

> -----P�vodn� zpr�va-----
> Od: Petr Zahradnik [SMTP:clexpert(zv)clexpert(tec)cz]
> P�edm�t: Re: Seriova komunikace
>
> > Mam mensi problem pri seriove komunikaci a porad se nemuzu dopidit k
> > nejakemu vysledku. Pouzivam zpusob asynchronni komunikace (definuji
> > OVERLAPPED strukturu) a problem mam takovyto:
>
> Ono v takovych pripadech je docela dobre uvazovat nad tim, zda
> neni jednodussi poridit si nejakou kvalitni komunikacni knihovnu,
> ktera tyto problemy resi elegantne a bez namahy.
>
> S pozdravem
> Petr Zahradnik, pocitacovy expert
>
>
[SIPEK Stanislav, Ing.]
To by se mi v tomto pripade nevyplatilo a navic se tu seriovou
komunikaci chci naucit. No a nejlepsi je ucit se to na konkretnim
problemu.

Standa
---------------------------------------------------
Ing. Stanislav Sipek
VUT Fakulta podnikatelska
Technicka 2
BRNO
tel. 05/41142768
E-mail: sipek(zv)fbm.vutbr(tec)cz
---------------------------------------------------


Help & RTF troubleshoting

[*] Ondrej Kelle <it(zv)nnsk.sk> - 21.4.1998 08:42:03

Staci to ulozit ako "Save as type:" Word 6.0/95 (*.doc). Potom to mozes
premenovat na .RTF, ale na pripone myslim az tak nezalezi.

Ondrej Kelle
it(zv)nnsk.sk

-----Original Message-----
From: No Comment Group, s.r.o. - Sales dept. <sales(zv)nocomment.sk>
To: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
Date: 19. apr�l 1998 0:59
Subject: Help & RTF troubleshoting


>Pravdupovediac mam jeden z najtrivialnejsich problemov vobec
>ale proste neviem:
>
>ako vytvorit help pre aplikaciu...
>
>doteraz som pouzival helpy v HTML a teraz musim normalny a
>padam na formate RTF. Jeden priklad na CD D3 je sice fajn,
>ale ked vo worde otvorim ten subor a znova ulozim (bez
>zmeny) tak to uz ten help proste nespravi. Fakt neviem.
>
>
>Richard Willmann
>---
>Home page: http://www.nocomment.sk, E-mail:
>sales(zv)nocomment.sk, Online:
>
>

Proc? Tabulkove utility

[*] tomas.mazurek(zv)vitkovice(tec)cz - 21.4.1998 08:46:49

Dobry den,

jak jiz nekdo v konferenci napsal, nabizim tabulkove utility pro
kontrolu a opravu poskozenych tabulek typu Paradox. Pripadnym
zajemcum posilam omezene verze s cenovou nabidkou.

Jinak na americkem Borlandu je neco podobneho, ale jen pro 32-bit
Windows a prevod do starych Windows ma nekolik zrad...

Jinak jeste nabizim drobnou vec pro zjisteni a tisk struktur tabulek
vcetne validaci, indexu, integrit apod. Ta je zdarma...

Doufam, ze to nebude povazovano za komercni reklamu.

Jinak problem paradoxovskych tabulek a jejich poskozeni je jiz hodne
stary. Ja ho znam jeste z DOSu, nebot jsem delal v Paradoxu pro DOS.
U DOSu byl problem v podstate jen pri vypadku el. proudu. U Windows
zde samozrejme hraje sve stabilita OS. Zejmena u 16-bit Windows je to
dost kriticke... Paradox ma spoustu dobrych vlastnosti napr.
validace, hesla a ref. integritu, lec tam kde je nutno dbat striktne
na konzistentnost dat, je potreba mit databazi s transakcema...

S pozdravem

Tomas Mazurek

tomas.mazurek(zv)vitkovice(tec)cz
e


frekvence procesoru

[*] sula milos <crkstrobe(zv)geocities(tec)com> - 21.4.1998 08:57:43


-----P�vodn� zpr�va-----
Od: Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz>
Komu: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
Datum: 21. dubna 1998 7:33
P�edm�t: RE: frekvence procesoru


>Jo je to v Registry na
>
>HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
>~MHz
>
>Pozor, ale tohle maji pouze Windows NT. W95 to nemaji, tam se musi
>provest testy a ty nechcete. (Je to dle zdeleni Intel)
>
>J.Jahoda
>
>> -----P�vodn� zpr�va-----
>> Od: sula milos [SMTP:crkstrobe(zv)geocities.com]
>> Odesl�no: 20. dubna 1998 15:02
>> Komu: delphi konference
>> P�edm�t: frekvence procesoru
>>
>> Hi all
>> nevite jak zjistim frekvenci procesoru pod delphama2.0? Nechci zadne
>> testovaci programy pouze to jen nekde precist(z BIOSU?)


Dobre al jak to zjistuje BIOS pri restartu?(taky provadi testy ktere zmeri
frekvenci procesoru?)
Chci to zjistit pro WIN95
Jestli ale mate nejakou testovaci rutinu pro delphi 2 prosim poslete mi ji.

Seriova komunikace

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 21.4.1998 09:15:05

>Ahojte
>
>Mam mensi problem pri seriove komunikaci a porad se nemuzu dopidit k
>nejakemu vysledku. Pouzivam zpusob asynchronni komunikace (definuji
>OVERLAPPED strukturu) a problem mam takovyto:
>Pri cteni pokud nemam buffer plny, tak mi ReadFile vrati FALSE a
>nasledne volani WaitForSingleObject mi vrati WAIT_TIMEOUT, coz znamena,
>ze cteni neni jeste dokonceno. No a ja bych se chtel v tomto miste
nejak
>dozvedet kolik bytu je prave nacteno v bufferu. Lze to nejak zjistit?
>Potrebuji nejak prubezne sledovat, jak se mi vstupni buffer pri kazdem
>cteni plni daty (staci mi jen pocet prijatych bytu).
>Jestli s tim mate nekdo nejake zkusenosti, tak mi prosim poradte.


podivej se na ClearCommError - vraci stav seriaku vcetne vstupni a
vystupni fronty. U neoverlapped akci mi to chodilo.

S pozdravem
D. Toman

CGI & heslo

[*] No Comment Group, s.r.o. - Sales Department <sales(zv)nocomment.sk> - 21.4.1998 21:46:23

Nie je to zalezitost HTTP serveru, musis nastavit prava adresaru alebo:

to moze osetrit samotny CGI ale nakolko CGI neudrzuje spojenie je to trosku
pracnejsie (ten dialog nebude ale bude www formular na heslo). Mozes pouzit
Cookie a robit to podobne ako IIS a technologia ASP alebo mozes
perzistentnost simulovat pomocou hidden poloziek (ale to nie je priliz
bezpecne)

richard willmann

-----Original Message-----
From: Ales Zeleny <zelenya(zv)mlp(tec)cz>
To: delphi(zv)pinknet(tec)cz <delphi(zv)pinknet(tec)cz>
Date: 7. j�n 1998 20:12
Subject: CGI & heslo


DDV,
neni zde nekdo, kdo pouziva pro psani CGI komponenty z D3 a kdo by
vedel jak se realizuje dotaz na stranku, pro ktery je treba heslo?

To co potrebuji, je, aby pri zadani URL meho skriptu musel uzivatel v
dialogovem okenku vyplnit username a heslo (tak to dela NetScape
server, kdyz chci pristupovat do administratorske casti serveru),
nebo si proste skript musi napsat formularik a ten vyhonotit?

Diky a.+------------------------+ +---------------------------+
|Ales Zeleny OK1UUE| |Ales Zeleny OK1UUE|
|Mestska knihovna v Praze| |Municipal Library of Prague|
|Marianske nam. 1 | |Marianske nam. 1 |
|115 72 | |115 72 |
| | | |
|Tel.: (420)(2)22113 452 | |Tel.: (420)(2) 22113 452 |
|E-mail:zelenya(zv)mlp(tec)cz | |E-mail:zelenya(zv)mlp(tec)cz |
|MIME: ISO-8859-2 OK! | |MIME: ISO-8859-2 OK! |
+------------------------+ +---------------------------+

Multitasking, to je kdyz se aplikace mohou hroutit paralelne.

Multitasking means that applications can crash simultaneously.

Seriova komunikace

[*] Ales Radikovsky <radikovsky(zv)geocities(tec)com> - 21.4.1998 09:24:07



Petr Zahradnik wrote:

> Ono v takovych pripadech je docela dobre uvazovat nad tim, zda
> neni jednodussi poridit si nejakou kvalitni komunikacni knihovnu,
> ktera tyto problemy resi elegantne a bez namahy.
>

Rad bych se zeptal na jednu drobnost ohledne "kvalitni komunikacni
knihovny".
Kdysi jsem resil pripojeni pres RS 485. Prevodnik byl pripojen na RS 232 a
bylo jen
treba menit smer toku dat pomoci RTS. K tomu dle Win32 staci dat
DCB.fRtsControl
na RTS_CONTROL_TOGGLE, jenze to nefunguje na Win 4 NT (i podle
Microsoftu).
Vyresi tohle nejak nejaka knihovna (treba AsyncPro)? Ve vetsine komponent,
ktere
jsem zatim videl pro seriovou komunikaci (AsyncPro zatim neznam), nelze
ani nastavit
RTS_CONTROL_TOGGLE....

Ales

radik(zv)p15.monet(tec)cz


frekvence procesoru

[*] Turcan Peter <turcan(zv)softip.sk> - 21.4.1998 09:45:17

Co sa tyka testovania frekvencie pod win95 je to zlozite. Win95 robi
preemptivny multitasking a to vlastne znemoznuje testy, pretoze s velkostou
RAM sa zvacsuje aj vykon systemu. Preto sa taketo testy robia bez virusov
typu Win95 a WinNT. Inac Myslim, ze existuje sluzba Biosu na jej zistenie.

Peter Turcan

-----Original Message-----
From: sula milos(zv)crkstrobe(zv)geocities.com(zv)SMTP(zv)Exchange
<IMCEANOTES-sula+20milos+40crkstrobe+40geocities+2Ecom+40SMTP+40Exchange(zv)sof
tip.sk>
To: delphi konference <delphi(zv)pinknet(tec)cz>
Date: 21 April 1998 9:30
Subject: Re: frekvence procesoru



-----P�vodn� zpr�va-----
Od: Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz>
Komu: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
Datum: 21. dubna 1998 7:33
P�edm�t: RE: frekvence procesoru


>Jo je to v Registry na
>
>HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
>~MHz
>
>Pozor, ale tohle maji pouze Windows NT. W95 to nemaji, tam se musi
>provest testy a ty nechcete. (Je to dle zdeleni Intel)
>
>J.Jahoda
>
>> -----P�vodn� zpr�va-----
>> Od: sula milos [SMTP:crkstrobe(zv)geocities.com]
>> Odesl�no: 20. dubna 1998 15:02
>> Komu: delphi konference
>> P�edm�t: frekvence procesoru
>>
>> Hi all
>> nevite jak zjistim frekvenci procesoru pod delphama2.0? Nechci zadne
>> testovaci programy pouze to jen nekde precist(z BIOSU?)


Dobre al jak to zjistuje BIOS pri restartu?(taky provadi testy ktere
zmeri
frekvenci procesoru?)
Chci to zjistit pro WIN95
Jestli ale mate nejakou testovaci rutinu pro delphi 2 prosim poslete mi
ji.

Zip

[*] Pavel Bare� <atoll(zv)telecom(tec)cz> - 21.4.1998 10:05:52

Toto je zpr�va ve form�tu MIME obsahuj�c�n�kolik ��st�.

Mam prosbu:

Pokud nekdo vite, kde se nachazi nejaka free komponenta na zipovani dejte mi prosim vedet.
Zkousel jsem ZipMaster (DelZip14), ale ten pri vetsim poctu souboru tuhne.

Pavel Bare�
Atoll s.r.o.

http://web.telecom(tec)cz/atoll

Seriova komunikace

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 21.4.1998 10:18:06

> Rad bych se zeptal na jednu drobnost ohledne "kvalitni komunikacni
> knihovny".
> Kdysi jsem resil pripojeni pres RS 485. Prevodnik byl pripojen na RS 232 a
> bylo jen
> treba menit smer toku dat pomoci RTS. K tomu dle Win32 staci dat

Async Professional od verze 3.5 (soucasna) podporuje RS-485, podivej se
sem: http://www.turbopower.com/products/apro/rs485/

S pozdravem
Petr Zahradnik, pocitacovy expert

==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Jezkova 12, 400 11 Usti nad Labem ===
=== Telefon, fax: 047-5501627, mobilni GSM: 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================

cestina

[*] MARSIK(zv)gbn(tec)czn(tec)cz - 21.4.1998 10:42:08

zdravim vsechny,

mam jeden malinky dotazek. Jakou cestinu (myslim tim Table Language) je
nejvhodnejsi pouzit, aby se tabulka dobre tridila.
pouzivam lokalni paradox tabulky, delphi 2.
Jenom nemam cas to vyzkouset, zkousel jsem jenom WEurope ASCII, ale tridi to
spatne (velke Z s hackem pred A a podobne - hlavne velka pismena s hacky
jsou spatne).
predem diky za tu spoustu odpovedi :)))))
---------------------------
Jakub Marsik
K Homolce 294
257 21 Porici n.Saz.
---------------------------
web http://www.gbn(tec)czn(tec)cz/marsik/index.htm
sprava mail,www serveru
Gymnazium Benesov
---------------------------


Jak prerusit proceduru?

[*] Dalibor Sehnoutka <dalibor(zv)proaktiv(tec)cz> - 21.4.1998 11:01:15

Zdravim vsechny,

mam takovy problem. Pisu komponentu do Delph, ktera ma Abstraktni metodu
Execute. Programator, ktery tuto komponentu vyuzije do metody Execute
vyplni vlastni kod. Ja ale potrebuji, aby se po zavolani nejake metody v tele
Execute vypocet teto metody pozastavil a nasledne po zavolani nejake
udalosti, aby pokracoval. V podstate to, co dokaze Thread (Suspend, Resume).

Bohuzel Thready maji omezeni co do poctu instanci. Ja predpokladam, ze
budu potrebovat, aby soucasne takto byla vykonavana metoda Execute radove
u 1 000 - 100 000 objektu. Ale nepotrebuji, aby se soucasne pocitaly metody
Execute u vsech objektu, naopak mohu zarucit, ze se bude pocitat prave 1 a
ostatni budou nekde ve vypoctu pozastaveny (Suspendovany).

Nekde jsem neco "zaslechl" o tzv. Simulovanych threadech. Jenze jsem o nich
nic konkretniho nenasel. Muze mi nekdo poradit k cemu slouzi a jestli by sly
nejak vyuzit, popripade zda ma nekdo nejaky napad, jak to vyresit.

Vitam kazdou myslenku.

Diky za odpovedi.
---------------------------------------------------------
Dalibor Sehnoutka mailto://dalibor(zv)proaktiv(tec)cz
�SLA 1247 tel/fax : +420 603 705379 (Mobil)
194 01 Mnichovo Hradise


Jak prerusit proceduru?

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 21.4.1998 11:20:21


>Zdravim vsechny,
>
>mam takovy problem. Pisu komponentu do Delph, ktera ma Abstraktni
metodu
>Execute. Programator, ktery tuto komponentu vyuzije do metody Execute
>vyplni vlastni kod. Ja ale potrebuji, aby se po zavolani nejake metody
v tele
>Execute vypocet teto metody pozastavil a nasledne po zavolani nejake
>udalosti, aby pokracoval. V podstate to, co dokaze Thread (Suspend,
Resume).
>
>Bohuzel Thready maji omezeni co do poctu instanci. Ja predpokladam, ze
>budu potrebovat, aby soucasne takto byla vykonavana metoda Execute
radove
>u 1 000 - 100 000 objektu. Ale nepotrebuji, aby se soucasne pocitaly
metody
>Execute u vsech objektu, naopak mohu zarucit, ze se bude pocitat prave
1 a
>ostatni budou nekde ve vypoctu pozastaveny (Suspendovany).
>
>Nekde jsem neco "zaslechl" o tzv. Simulovanych threadech. Jenze jsem o
nich
>nic konkretniho nenasel. Muze mi nekdo poradit k cemu slouzi a jestli
by sly
>nejak vyuzit, popripade zda ma nekdo nejaky napad, jak to vyresit.
>
no bud potrebujes thready (soucasne zpracovani) a nebo nepotrebujes.
Pokud chces opravdu uprostred metody prepinat na vykonani kusu z jine
metody, musis zajistit prepinani obsahu zasobniku, coz bude asi dooost
tvrdej orech.
Pokud ty metody Execete budeou obsahovat stejny kod asi by bylo lepsi
ten "multitasking" zaridit jinak. Jedna procedura, pracujici nad vice
daty.

Zdravi
D. Toman

Seriova komunikace

[*] Ales Martinik <art(zv)brno.bohem-net(tec)cz> - 21.4.1998 11:20:49

Po dlouhych zkouskach se vsim moznym (cca 6 Share/Freewarovych
komponent) jsem zatim zakotvil u AsyncPro v 2.51, kter podporuje
RS485.
Podle mych zkusenosti (a digitalniho osciloskopu) je ve Win NT 4.0
RTS_CONTROL_TOGGLE funkcni, ale prepinaci doba kolisa mezi
1-15ms !!!!! po odeslani posledniho znaku (Pentium 150MHz).
Ve Win95 tento priznak neni nijak rozumne implementovan a nedela nic
- je treba to prepinat softwarove po testu odeslani posledniho byte
z vysilace (16550).

Podivejte se tez na www.turbopower.com, kde se pise o podpore RS485
a na konferenci turbopower.public.support.asyncpro, kde se o tom
diskutuje. (je se treba prihlasit pres www stranku - podstranka
Live).
Pokud ale chcete dosahnout profi vysledku s RS485, musite si poridit
kartu, ktera prepina sama. Prolistujte Sdelovaci techniku - dela to
jedna plzenska firma a je to galvanicky oddeleno.

S pozdravem Ales Martinik
art(zv)sky(tec)cz
>
>
> Petr Zahradnik wrote:
>
> > Ono v takovych pripadech je docela dobre uvazovat nad tim, zda
> > neni jednodussi poridit si nejakou kvalitni komunikacni knihovnu,
> > ktera tyto problemy resi elegantne a bez namahy.
> >
>
> Rad bych se zeptal na jednu drobnost ohledne "kvalitni komunikacni
> knihovny".
> Kdysi jsem resil pripojeni pres RS 485. Prevodnik byl pripojen na RS 232 a
> bylo jen
> treba menit smer toku dat pomoci RTS. K tomu dle Win32 staci dat
> DCB.fRtsControl
> na RTS_CONTROL_TOGGLE, jenze to nefunguje na Win 4 NT (i podle
> Microsoftu).
> Vyresi tohle nejak nejaka knihovna (treba AsyncPro)? Ve vetsine komponent,
> ktere
> jsem zatim videl pro seriovou komunikaci (AsyncPro zatim neznam), nelze
> ani nastavit
> RTS_CONTROL_TOGGLE....
>
> Ales
>
> radik(zv)p15.monet(tec)cz

Filtre

[*] TUNGLI Jan <tungli(zv)pvt.sk> - 21.4.1998 11:45:39

Musi� pou�i�: polozka LIKE "%run%" sintax.

% je lubovolnz retazec

_ je lubovolny charakter

----------
> Od: psoft <psoft(zv)kosice.telecom.sk>
> Pre: delphi(zv)pinknet(tec)cz
> Predmet: Filtre
> D�tum: 22. apr�l 1998 0:39
>
> Zdravim,
>
> maturujem nad pouzivanim filtrov v Delphi (TTable i TQuery).
> Ako mam najst napr. riadky, kde je napr. v poli NAZOV kdesi uprostred
> rum ? Cosi ako Pos('rum',NAZOV)>0.
>
> Kdesi som cital, ze v property Filter moze byt to is, co v casti
> WHERE pre SQL vyraz, mam pocit, ze to bolo v niektorom hlp subore pre
> Delphi. Preco potom nieco take ako Nazov like '%rum%' nezoberie ?
>
> Preco mi napr. ak Filter= Nazov='R*' najde Rum, ak je napisany
> velkym R, ale nie ked je malym r (bez ohladu na nastavenie
> foCaseInsensitive).
>
> Ak viete nieco o pouzitelnosti Filtrov, uvitam vase rady. Osobne
> myslim, ze filter a lokalne SQL ( klauzula WHERE) by mohli pouzivat
> tie iste vnutorne funkcie BDE, a preto by hadam naozaj mohli mat
> rovnaku syntax. Ale teraz som na rozpakoch ...
>
> Dakujem.
>
> Peter Cirip.
> > ''''
> > (O O)
> > +-------------oOO------(_)--------------------+
> > | PSOFT, ing.Peter Cirip |
> > | Sibirska 18, 080 01 Presov, Slovensko |
> > | Mobil : 0903 601 068 091/723 104 |
> > | E-mail: psoft(zv)ke.telecom.sk |
> > | WEB : http://www.ke.telecom.sk/psoft/ |
> > +-------------------------------oOO-----------+
> > |__|__|
> > || ||
> > ooO Ooo
> >

Jak prerusit proceduru?

[*] VOLTRR1(zv)epr1.ccmail.x400.cez(tec)cz - pr 1998 12:09:42 -0700

Pouzil bych systemove Eventy a funkci WaitForSingleObject

napr. takhle :

Uses SyncObjs;

...
private
{ Private declarations }
public
{ Public declarations }
Ev:TEvent;
end;

......

procedure TForm1.Button1Click(Sender: TObject);
begin
Ev:=TEvent.Create(nil,false,False,'');
//Timer1.Enabled:=True;
repeat
Application.ProcessMessages;
until WaitForSingleObject(Ev.Handle,100)<>WAIT_TIMEOUT;

repeat
Application.ProcessMessages;
until WaitForSingleObject(Ev.Handle,100)<>WAIT_TIMEOUT;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Ev.SetEvent;
end;

Timto dostanes aplikaci ktera zacne provadet procedure Button1Click po stisknuti
tlacitka 1 a po kousku se zastavi.
Ceka tak dlouho dokud nestisknes Button2 - pak se prerusi cekani a jede se dal -
event se opet nastavi na nesignalizovany stav a tudiz pokud tyto cekaci smycky
umistis do libovolneho poctu procedur a budou se odkazovat vzdy na jeden Event
mas 100% jistotu ze pojede vzdy jenom jedna z procedur . Nastaveni eventu na
signal pak muze byt napr. na konci kazde procedury a tak se preda rizeni vzdy
nektere z dalsich cekajicich. Vyhodou je ze i procedura v cekajicim stavu
prakticky nezatezuje pocitac (a pokud zvetsis timeout u Wait.. tak se zatez
jeste snizi protoze se zmensi cetnost zpracovani fronty udalosti).

Nevim jestli sem to popsal srozumitelne. Radek Voltr
voltrr1(zv)epr1.ccmail.x400.cez(tec)cz


-----Puvodni zprava-----
Od: Internet:delphi-request(zv)io.pinknet(tec)cz/
Odeslano: 21. dubna 1998 11:10
Komu: Internet:delphi(zv)pinknet(tec)cz/
Poedmit: Jak prerusit proceduru?
Dule_itost: Velka

Zdravim vsechny,

mam takovy problem. Pisu komponentu do Delph, ktera ma Abstraktni metodu
Execute. Programator, ktery tuto komponentu vyuzije do metody Execute
vyplni vlastni kod. Ja ale potrebuji, aby se po zavolani nejake metody v tele
Execute vypocet teto metody pozastavil a nasledne po zavolani nejake
udalosti, aby pokracoval. V podstate to, co dokaze Thread (Suspend, Resume).

Bohuzel Thready maji omezeni co do poctu instanci. Ja predpokladam, ze
budu potrebovat, aby soucasne takto byla vykonavana metoda Execute radove
u 1 000 - 100 000 objektu. Ale nepotrebuji, aby se soucasne pocitaly metody
Execute u vsech objektu, naopak mohu zarucit, ze se bude pocitat prave 1 a
ostatni budou nekde ve vypoctu pozastaveny (Suspendovany).

Nekde jsem neco "zaslechl" o tzv. Simulovanych threadech. Jenze jsem o nich
nic konkretniho nenasel. Muze mi nekdo poradit k cemu slouzi a jestli by sly
nejak vyuzit, popripade zda ma nekdo nejaky napad, jak to vyresit.

Vitam kazdou myslenku.

Diky za odpovedi.
---------------------------------------------------------
Dalibor Sehnoutkamailto://dalibor(zv)proaktiv(tec)cz
CSLA 1247tel/fax: +420 603 705379 (Mobil)
194 01 Mnichovo Hradise

<<Soubor: TXT1.TXT>>

<none>

[*] Michael Gallo <mgallo(zv)nocomment.sk> - 21.4.1998 12:34:48

Zdravim vestcov v Delphi.
Mam trivialny problem, ktory sa tu uz mozno objavil.
Potrebujem napisat aplikaciu, ktora robi asi toto:
Nacita textovy subor, priradeny ako parameter, ktory ma N riadkov.
N krat zavola apl. Start.exe s kazdym riadkom ako parametrom.

Moj problem: spustit Start.exe z Delphi s minimalnym zatazenim systemu.

P.S. Na napisanie programu podla lubovolnej dokumentacie od MS by to naozaj
chcelo vestecke schopnosti. :)))) Vid DirectDraw a pod.
Skusali ste uz niekto napisat Alpha alebo Z-buffer Bit-blt s DX5 ?
Kto ma vediet, ze to softwarovo nieje podporovane, ked to nenapisu v
dokumentacii?

Michael Gallo
No Comment Group s.r.o.
e-mail: mgallo(zv)nocomment.sk
web: www.nocomment.sk

cestina

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 21.4.1998 13:10:03

Na Pdox jsem pouzival

pdox ANSI Czech 'CH'

ale myslim si, ze musite provest upgrade BDE na 4.51

J.Jahoda

> -----P�vodn� zpr�va-----
> Od: MARSIK(zv)gbn(tec)czn(tec)cz [SMTP:MARSIK(zv)gbn(tec)czn(tec)cz]
> Odesl�no: 21. dubna 1998 10:42
> Komu: delphi(zv)pinknet(tec)cz
> P�edm�t: cestina
>
> zdravim vsechny,
>
> mam jeden malinky dotazek. Jakou cestinu (myslim tim Table Language)
> je
> nejvhodnejsi pouzit, aby se tabulka dobre tridila.
> pouzivam lokalni paradox tabulky, delphi 2.
> Jenom nemam cas to vyzkouset, zkousel jsem jenom WEurope ASCII, ale
> tridi to
> spatne (velke Z s hackem pred A a podobne - hlavne velka pismena s
> hacky
> jsou spatne).
> predem diky za tu spoustu odpovedi :)))))
> ---------------------------
> Jakub Marsik
> K Homolce 294
> 257 21 Porici n.Saz.
> ---------------------------
> web http://www.gbn(tec)czn(tec)cz/marsik/index.htm
> sprava mail,www serveru
> Gymnazium Benesov
> ---------------------------


cestina

[*] VOLTRR1(zv)epr1.ccmail.x400.cez(tec)cz - pr 1998 13:13:41 -0700

Ya se spokojenej s dBASE csy 852

Radek

-----Puvodni zprava-----
Od: Internet:delphi-request(zv)io.pinknet(tec)cz/
Odeslano: 21. dubna 1998 12:56
Komu: Internet:delphi(zv)pinknet(tec)cz/
Poedmit: cestina

zdravim vsechny,

mam jeden malinky dotazek. Jakou cestinu (myslim tim Table Language) je
nejvhodnejsi pouzit, aby se tabulka dobre tridila.
pouzivam lokalni paradox tabulky, delphi 2.
Jenom nemam cas to vyzkouset, zkousel jsem jenom WEurope ASCII, ale tridi to
spatne (velke Z s hackem pred A a podobne - hlavne velka pismena s hacky
jsou spatne).
predem diky za tu spoustu odpovedi :)))))
---------------------------
Jakub Marsik
K Homolce 294
257 21 Porici n.Saz.
---------------------------
web http://www.gbn(tec)czn(tec)cz/marsik/index.htm
sprava mail,www serveru
Gymnazium Benesov
---------------------------
<<Soubor: TXT1.TXT>>

Filtre

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 21.4.1998 13:25:04

Tak to jsem blbe rozumel.
K tem Vasim poznamkam by mne zajimalo jestli jste si opravdu jist jestli
v pripade funkcionalniho filtru se data nenacitaji znovu.

Ale ten Vas problem se da vyresit nastavenim property OnFilterRecord a
vytvorit si vlastni proceduru, ktera bude pro kazdy zaznam volana a bude
testovat kazdy zaznam.

J.Jahoda

> -----P�vodn� zpr�va-----
> Od: psoft [SMTP:psoft(zv)kosice.telecom.sk]
> Odesl�no: 22. dubna 1998 12:50
> Komu: delphi(zv)pinknet(tec)cz
> P�edm�t: RE: Filtre
>
> > V SQL je prikaz LIKE
> >
> > SELECT * FROM ... WHERE nazov like '%RUM%'
> >
> > ale jestli hleda mala ci velka pismena, to zalezi na implementaci
> > serveru. Napr. u MSSQL mam nastaveno Sort czech case insensitive a
> Code
> > Page 1250 a na dotaz nazov like '%R%' najde 'rum' i 'BRANDYS'
> >
> > jak je to u jinejch databazi, to jsem nezkousel.
>
> Dakujem pekne za odpoved.
>
> Otazka znela trochu inac : viem dobre pouzivat SQL a LIKE i WHERE.
> Mna zaujima, ako to iste dosiahnut cez vlastnost Filter.
>
> 1.Nechcem napr. pouzit TQuery a where, aby som nemusel znovu
> nacitavat data. Filter uz funguje na datach, ktore su v tej chvili u
> mna, neide teda na server.
>
> 2.Nechcem, resp. ani sa neda pouzit nejaky SQL server, ved nebudem
> predsa v aplikacii ktora ma dokopy tri tabulky po 1000 zapisov
> pouzivat atomovu bombu, ked staci gumipuska ...
>
> 3. Filtrovat data chcem, aj ked ich tam mam malo ...
>
> 4.Preto ma zaujima filtrovanie u tabuliek, nie u Query, tam mozem dat
> vzdy spravny SELECT.
>
> 5.Viete niekto ako urobit napr. SQL dotaz na uz existujucom dotaze ?
> Dam napr. SELECT * from ADRESAR.DB where stat='SVK'
> Po prezreti chcem dat prisnejsi select
> SELECT * from ADRESAR.DB where stat='SVK' and mesto='PRESOV',
> Je jasne, ze ide o podmnozinu prveho, preto nie je potrebne davat
> dotaz na server, ale staci zredukovat ten prvy. A navyse filtrujem
> uz len prvy dotaz, nie celu tabulku. Da sa to, videl som to, ale
> mi to nebolo treba. Teraz, ked mi to treba neviem to najst.
>
> Viete niekto o niecom takom ? (To je uz ina otazka ako ta
> povodna).
>
> Dakujem.
> > ''''
> > (O O)
> > +-------------oOO------(_)--------------------+
> > | PSOFT, ing.Peter Cirip |
> > | Sibirska 18, 080 01 Presov, Slovensko |
> > | Mobil : 0903 601 068 091/723 104 |
> > | E-mail: psoft(zv)ke.telecom.sk |
> > | WEB : http://www.ke.telecom.sk/psoft/ |
> > +-------------------------------oOO-----------+
> > |__|__|
> > || ||
> > ooO Ooo
> >

Seriova komunikace

[*] RADIK(zv)p15.monet(tec)cz - 21.4.1998 13:29:00

Prepinani pres RTS jsem samozrejme vyresil softwarove pomoci
EscapeCommFunction, problem je ale v tom, ze i v tom pripade je prodleva
ruzna a teoreticky muze byt velmi dlouha (pokud zafunguje preemptivni
multitasking...). Predpokladam, ze AsyncPro to resi take pomoci
EscapeCommFunction, takze to bude asi stejne. Navic pokud potrebuji
prave jen vysilat znaky a prijimat, je cena AsyncPro ponekud silena.....

pro zvedavce mohu posytnout cast zdrojaku s prepinanim RTS pro RS485
softwarove...

Ales


----------
Od: Ales Martinik
Komu: delphi(zv)pinknet(tec)cz
P�edm�t: Re: Seriova komunikace
Datum: 21. duben 1998 13:20

Po dlouhych zkouskach se vsim moznym (cca 6 Share/Freewarovych
komponent) jsem zatim zakotvil u AsyncPro v 2.51, kter podporuje
RS485.
Podle mych zkusenosti (a digitalniho osciloskopu) je ve Win NT 4.0
RTS_CONTROL_TOGGLE funkcni, ale prepinaci doba kolisa mezi
1-15ms !!!!! po odeslani posledniho znaku (Pentium 150MHz).
Ve Win95 tento priznak neni nijak rozumne implementovan a nedela nic
- je treba to prepinat softwarove po testu odeslani posledniho byte
z vysilace (16550).

Zjisteni verze OS Windows

[*] ZDENEK MIHULA <mihula(zv)tab.pvt(tec)cz> - 21.4.1998 13:40:03

Nevite nekdo, jak v Delphi 1 zjistit verzi OS Windows.
Pouzil jsem fci GetVersion, ale ta mi pro W3.11 i Win NT vraci stejny cislo. Dokazu s ni rozlisit jen W95.

Diky.

cestina

[*] Jarda Venclu <venclu(zv)oez(tec)cz> - 21.4.1998 14:51:11

V BDE ucho Configuration a strom Configuration|Drivers|Native|Paradox
nastav trideni na pdx ANSI Czech 'CH'
Cao
Jarda V

-----P�vodn� zpr�va-----
Od: MARSIK(zv)gbn(tec)czn(tec)cz <MARSIK(zv)gbn(tec)czn(tec)cz>
Komu: delphi(zv)pinknet(tec)cz <delphi(zv)pinknet(tec)cz>
Datum: 21. dubna 1998 13:27
P�edm�t: cestina


>zdravim vsechny,
>
>mam jeden malinky dotazek. Jakou cestinu (myslim tim Table Language) je
>nejvhodnejsi pouzit, aby se tabulka dobre tridila.
>pouzivam lokalni paradox tabulky, delphi 2.
>Jenom nemam cas to vyzkouset, zkousel jsem jenom WEurope ASCII, ale tridi
to
>spatne (velke Z s hackem pred A a podobne - hlavne velka pismena s hacky
>jsou spatne).
>predem diky za tu spoustu odpovedi :)))))
>---------------------------
>Jakub Marsik
>K Homolce 294
>257 21 Porici n.Saz.
>---------------------------
>web http://www.gbn(tec)czn(tec)cz/marsik/index.htm
>sprava mail,www serveru
>Gymnazium Benesov
>---------------------------

Spusteni DOS aplikace

[*] Nosek Libor <nosek(zv)ujf.cas(tec)cz> - 21.4.1998 15:00:47

[P��loha v souboru: vcard.vcf]
Dobry den.
Prosim potreboval bych spustit DOS aplikaci z DELPHI tak, aby CRT
vystup, ktery
se zobrazuje na obrazovce se mi ulozil do mnou definovaneho formulare,
nebo MDIchild
okna v aplikaci.
Diky za informace.


--
----------------------------------------------------------------------
Ing. Nosek Libor
OJS Dep. of Nuclear Spectroscopy
UJF AV CR Nuclear Physics Institute
Rez near Prague
Czech Republic

Tel.
420-2-66173163 Personal
420-2-66173174 PC centrum

Fax. 420-2-6857003
----------------------------------------------------------------------

Jak prerusit proceduru?

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 21.4.1998 15:44:46


-----Original Message-----
From: VOLTRR1(zv)epr1.ccmail.x400.cez(tec)cz <VOLTRR1(zv)epr1.ccmail.x400.cez(tec)cz>
To: delphi(zv)pinknet(tec)cz <delphi(zv)pinknet(tec)cz>
Date: 21. dubna 1998 15:26
Subject: RE: Jak prerusit proceduru?>Pouzil bych systemove Eventy a funkci WaitForSingleObject
>
>napr. takhle :
>
>Uses SyncObjs;
>
>....
> private
> { Private declarations }
> public
> { Public declarations }
> Ev:TEvent;
> end;
>
>.......
>
>procedure TForm1.Button1Click(Sender: TObject);
>begin
>Ev:=TEvent.Create(nil,false,False,'');
>//Timer1.Enabled:=True;
>repeat
>Application.ProcessMessages;
>until WaitForSingleObject(Ev.Handle,100)<>WAIT_TIMEOUT;
>
>repeat
>Application.ProcessMessages;
>until WaitForSingleObject(Ev.Handle,100)<>WAIT_TIMEOUT;
>end;
>
>procedure TForm1.Button2Click(Sender: TObject);
>begin
>Ev.SetEvent;
>end;
>
>Timto dostanes aplikaci ktera zacne provadet procedure Button1Click po
stisknuti
>tlacitka 1 a po kousku se zastavi.
>Ceka tak dlouho dokud nestisknes Button2 - pak se prerusi cekani a jede
se dal -
>event se opet nastavi na nesignalizovany stav a tudiz pokud tyto cekaci
smycky
>umistis do libovolneho poctu procedur a budou se odkazovat vzdy na
jeden Event
>mas 100% jistotu ze pojede vzdy jenom jedna z procedur . Nastaveni
eventu na
>signal pak muze byt napr. na konci kazde procedury a tak se preda
rizeni vzdy
>nektere z dalsich cekajicich. Vyhodou je ze i procedura v cekajicim
stavu
>prakticky nezatezuje pocitac (a pokud zvetsis timeout u Wait.. tak se
zatez
>jeste snizi protoze se zmensi cetnost zpracovani fronty udalosti).


no jo, ale jak v jednom procesu/ threadu docilis toho aby bezelo vic
funkci najednou :-)
Leda snad napichnout zpracovani zprav, ale pak to nejspis skonci
zhroucenim zasobniku

Zdravi
D. Toman

TStringList

[*] Jiri Semecky <jsem6533(zv)barbora.mff.cuni(tec)cz> - 21.4.1998 15:56:27

> > > Nejprve k TCollection, pokud vim tak TCollection byl v unite Objects
> > v
> > > Borland Pascalu a D1 a D2 nebyl vubec implementovan.
> > To sice nebyl, ale po mensich upravach byl pouzitelny ten z Borland
> > Pascalu. Navic, kdo mluvil o Delphi :-) ?
> To sice nebyl, ale po mensich upravach byl pouzitelny ten z Borland
> Pascalu. Navic, kdo mluvil o Delphi :-) ?
> Stanovy teto konference.
> Ve vasem dotazu nebyla zminka o Borland Pascalu ci Turbo Pascalu ci
> jiny, tak jsem implicitne predpokladal, ze se Vam jedna od delhi. Tak
> sorry.

Tak jo, uznavam, ze jsem se nepresne vyjadril. O Delphi se mi
samozrejme jedna, ale opuzival jsem v Delphach tu z BP.

S pozdravem Jiri Semecky


Filtre2

[*] TUNGLI Jan <tungli(zv)pvt.sk> - 21.4.1998 16:13:09

Vo filter vlastnosti Query objectu nie je mozne pouzivat LIKE operaciu iba
=, >, <, a and a or

Ked chcete pouzivat filter nad existujucim dotazom tak mozem vam poslat moj balicek komponentov DBTools so slovenskym popisom. Aby som sa aj tochu pochvalil poviem, ze pred mesiacom tieto komponenty boli zaradene do Top 10 na strankach borlandu. Tiez mam demo verziu 355 KB.
Napiste na moju adresu ked mate zaujem: tungli(zv)pvt.sk

----------
> Od: psoft <psoft(zv)kosice.telecom.sk>
> Pre: delphi(zv)pinknet(tec)cz
> Predmet: RE: Filtre
> D�tum: 22. apr�l 1998 12:49
>
> > V SQL je prikaz LIKE
> >
> > SELECT * FROM ... WHERE nazov like '%RUM%'
> >
> > ale jestli hleda mala ci velka pismena, to zalezi na implementaci
> > serveru. Napr. u MSSQL mam nastaveno Sort czech case insensitive a Code
> > Page 1250 a na dotaz nazov like '%R%' najde 'rum' i 'BRANDYS'
> >
> > jak je to u jinejch databazi, to jsem nezkousel.
>
> Dakujem pekne za odpoved.
>
> Otazka znela trochu inac : viem dobre pouzivat SQL a LIKE i WHERE.
> Mna zaujima, ako to iste dosiahnut cez vlastnost Filter.
>
> 1.Nechcem napr. pouzit TQuery a where, aby som nemusel znovu
> nacitavat data. Filter uz funguje na datach, ktore su v tej chvili u
> mna, neide teda na server.
>
> 2.Nechcem, resp. ani sa neda pouzit nejaky SQL server, ved nebudem
> predsa v aplikacii ktora ma dokopy tri tabulky po 1000 zapisov
> pouzivat atomovu bombu, ked staci gumipuska ...
>
> 3. Filtrovat data chcem, aj ked ich tam mam malo ...
>
> 4.Preto ma zaujima filtrovanie u tabuliek, nie u Query, tam mozem dat
> vzdy spravny SELECT.
>
> 5.Viete niekto ako urobit napr. SQL dotaz na uz existujucom dotaze ?
> Dam napr. SELECT * from ADRESAR.DB where stat='SVK'
> Po prezreti chcem dat prisnejsi select
> SELECT * from ADRESAR.DB where stat='SVK' and mesto='PRESOV',
> Je jasne, ze ide o podmnozinu prveho, preto nie je potrebne davat
> dotaz na server, ale staci zredukovat ten prvy. A navyse filtrujem
> uz len prvy dotaz, nie celu tabulku. Da sa to, videl som to, ale
> mi to nebolo treba. Teraz, ked mi to treba neviem to najst.
>
> Viete niekto o niecom takom ? (To je uz ina otazka ako ta
> povodna).
>
> Dakujem.
> > ''''
> > (O O)
> > +-------------oOO------(_)--------------------+
> > | PSOFT, ing.Peter Cirip |
> > | Sibirska 18, 080 01 Presov, Slovensko |
> > | Mobil : 0903 601 068 091/723 104 |
> > | E-mail: psoft(zv)ke.telecom.sk |
> > | WEB : http://www.ke.telecom.sk/psoft/ |
> > +-------------------------------oOO-----------+
> > |__|__|
> > || ||
> > ooO Ooo
> >

<none>

[*] TUNGLI Jan <tungli(zv)pvt.sk> - 21.4.1998 16:20:40

Ahojte

Potrebujem programecek na zistenie serioveho cisla pocitaca. Kto otom vie nieco.
Viem ze asi pred pol rokom v PcRrevue bol uvedeny taky program.


TUNGLI Jan
tungli(zv)pvt.sk


Filtre

[*] TUNGLI Jan <tungli(zv)pvt.sk> - 21.4.1998 17:01:41

Urobit filter nad existujucim dotazom bez znovunacitanie viet vlatne ani neide, respektive iba tedy ked odpoved na dotaz sa zmestil do jednoho buffera.
Fungovanie SQL dotazu prebieha takto : server vyhodnoti dotaz a posle iba jeden buffer dat a ked je potreba tak je poslany dalsi buffer dat. To znamena ze vsetky udaje nikdy nie su pristupne . Urobit filter nad uz existujucim dotazom preto je nezmysel. To bude vzdy novy dotaz a novy buffer dat. Ja si myslim ze to odporuje SQL principu.
Tungli Jano
tungli(zv)pvt.sk

----------
> Od: Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz>
> Pre: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
> Predmet: RE: Filtre
> D�tum: 21. apr�l 1998 13:25
>
> Tak to jsem blbe rozumel.
> K tem Vasim poznamkam by mne zajimalo jestli jste si opravdu jist jestli
> v pripade funkcionalniho filtru se data nenacitaji znovu.
>
> Ale ten Vas problem se da vyresit nastavenim property OnFilterRecord a
> vytvorit si vlastni proceduru, ktera bude pro kazdy zaznam volana a bude
> testovat kazdy zaznam.
>
> J.Jahoda
>
> > -----P�vodn� zpr�va-----
> > Od: psoft [SMTP:psoft(zv)kosice.telecom.sk]
> > Odesl�no: 22. dubna 1998 12:50
> > Komu: delphi(zv)pinknet(tec)cz
> > P�edm�t: RE: Filtre
> >
> > > V SQL je prikaz LIKE
> > >
> > > SELECT * FROM ... WHERE nazov like '%RUM%'
> > >
> > > ale jestli hleda mala ci velka pismena, to zalezi na implementaci
> > > serveru. Napr. u MSSQL mam nastaveno Sort czech case insensitive a
> > Code
> > > Page 1250 a na dotaz nazov like '%R%' najde 'rum' i 'BRANDYS'
> > >
> > > jak je to u jinejch databazi, to jsem nezkousel.
> >
> > Dakujem pekne za odpoved.
> >
> > Otazka znela trochu inac : viem dobre pouzivat SQL a LIKE i WHERE.
> > Mna zaujima, ako to iste dosiahnut cez vlastnost Filter.
> >
> > 1.Nechcem napr. pouzit TQuery a where, aby som nemusel znovu
> > nacitavat data. Filter uz funguje na datach, ktore su v tej chvili u
> > mna, neide teda na server.
> >
> > 2.Nechcem, resp. ani sa neda pouzit nejaky SQL server, ved nebudem
> > predsa v aplikacii ktora ma dokopy tri tabulky po 1000 zapisov
> > pouzivat atomovu bombu, ked staci gumipuska ...
> >
> > 3. Filtrovat data chcem, aj ked ich tam mam malo ...
> >
> > 4.Preto ma zaujima filtrovanie u tabuliek, nie u Query, tam mozem dat
> > vzdy spravny SELECT.
> >
> > 5.Viete niekto ako urobit napr. SQL dotaz na uz existujucom dotaze ?
> > Dam napr. SELECT * from ADRESAR.DB where stat='SVK'
> > Po prezreti chcem dat prisnejsi select
> > SELECT * from ADRESAR.DB where stat='SVK' and mesto='PRESOV',
> > Je jasne, ze ide o podmnozinu prveho, preto nie je potrebne davat
> > dotaz na server, ale staci zredukovat ten prvy. A navyse filtrujem
> > uz len prvy dotaz, nie celu tabulku. Da sa to, videl som to, ale
> > mi to nebolo treba. Teraz, ked mi to treba neviem to najst.
> >
> > Viete niekto o niecom takom ? (To je uz ina otazka ako ta
> > povodna).
> >
> > Dakujem.
> > > ''''
> > > (O O)
> > > +-------------oOO------(_)--------------------+
> > > | PSOFT, ing.Peter Cirip |
> > > | Sibirska 18, 080 01 Presov, Slovensko |
> > > | Mobil : 0903 601 068 091/723 104 |
> > > | E-mail: psoft(zv)ke.telecom.sk |
> > > | WEB : http://www.ke.telecom.sk/psoft/ |
> > > +-------------------------------oOO-----------+
> > > |__|__|
> > > || ||
> > > ooO Ooo
> > >

Mys MS Intellipoint a Delphi

[*] Radim Kunz <rkunz(zv)ova(tec)comp(tec)cz> - 21.4.1998 17:36:31

Chtel bych ve svych programech pouzivat mys MS Intellipoint, ale nevim,
jak nato. Nevi nekdo ?

Radim Kunz

==========================================================
Cesky CASE na http://www(tec)czechia.com/rksoft
==========================================================

Proc? Tabulkove utility

[*] Richard �trunc <vstrunc(zv)cv.bohem-net(tec)cz> - 21.4.1998 17:55:23

>Dobry den,
>
>jak jiz nekdo v konferenci napsal, nabizim tabulkove utility pro
>kontrolu a opravu poskozenych tabulek typu Paradox. Pripadnym
>zajemcum posilam omezene verze s cenovou nabidkou.

Je to opravdu dostatecne spolehlive?
Mohl bych od vas dostat take jednu omezenou verzi s cenovou
nabidkou?

>Jinak na americkem Borlandu je neco podobneho, ale jen pro 32-bit
>Windows a prevod do starych Windows ma nekolik zrad...
>Jinak jeste nabizim drobnou vec pro zjisteni a tisk struktur tabulek
>vcetne validaci, indexu, integrit apod. Ta je zdarma...


Mohl byste mi to prosim take poslat?
Dekuji predem

Richard Strunc

vstrunc(zv)cv.bohem-net(tec)cz

Zjisteni verze OS Windows

[*] Zdenek Drvota <zds(zv)pce.fairnet(tec)cz> - 21.4.1998 20:00:43

> Date: Tue, 21 Apr 1998 13:40:03 +0200
> From: ZDENEK MIHULA <mihula(zv)tab.pvt(tec)cz>
> To: <delphi(zv)pinknet(tec)cz>
> Subject: Zjisteni verze OS Windows
> Reply-to: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>

> Nevite nekdo, jak v Delphi 1 zjistit verzi OS Windows.
> Pouzil jsem fci GetVersion, ale ta mi pro W3.11 i Win NT vraci stejny cislo. Dokazu s ni rozlisit jen W95.
Neco takoveho mi funguje pro 3.11 a 95, jen je treba spravne
desifrovat vracene bajty (nechapu, proc musi M$ delat vzdy aspon neco
pokazde jinak), hlavni cislo verze je ulozeno jednou v
MAJOR a jindy v MINOR. Prikladam kostru prikladu:
--------------------
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, Buttons, ExtCtrls, StdCtrls;


type
TVerze=record
major,minor:byte
end;
var
DosVer,WinVer:Tverze;
v:longint;w:word;
begin
v:=GetVersion;
w:=HiWord(v);
DosVer.major:=Hibyte(w);
DosVer.minor:=Lobyte(w);
w:=LoWord(v);
WinVer.major:=Lobyte(w);
WinVer.minor:=Hibyte(w);

if WinVer.minor=95 then
{jsem v 95}
...
else
{jsem v 3.11}
...
end;
----------------
*-----------------------------------------------*
ZDS, spol. s r. o.
Ing. Zdenek Drvota, director
Devotyho 775 tel/fax:+420-40-33837
530 02 Pardubice 41691
Czech Republic
e-mail: zds(zv)pce.fairnet(tec)cz (Win1250/ISO-8859-2)
http://www.angelfire.com/biz/zds
*-----------------------------------------------*

Seriova komunikace

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 21.4.1998 20:10:19

Ales Radikovsky wrote:

> Rad bych se zeptal na jednu drobnost ohledne "kvalitni komunikacni
> knihovny". Kdysi jsem resil pripojeni pres RS 485. Prevodnik byl
> pripojen na RS 232 a bylo jen treba menit smer toku dat pomoci RTS.
> K tomu dle Win32 staci dat DCB.fRtsControl na RTS_CONTROL_TOGGLE,
> jenze to nefunguje na Win 4 NT (i podle Microsoftu). Vyresi tohle
> nejak nejaka knihovna (treba AsyncPro)? Ve vetsine komponent, ktere
> jsem zatim videl pro seriovou komunikaci (AsyncPro zatim neznam),
> nelze ani nastavit RTS_CONTROL_TOGGLE....

Delam program pro seriovou komunikaci, kde je prevodnik RS 232/485,
prave s knihovnou AsyncPro. Beha tam par bajtiku sem, hned na to
musim zase par bajtiku vratit, a to vse v milisekundovych intervalech
(rozhodne 200 ms je prilis dlouho). Pracuji s APro pro Delphi jiz od
verze 1 a nenarazil jsem na vaznejsi problemy, ani pod NT. Jeste
musim opravit Petra Zahradnika, posledni verze je 2.51.

APro pouziva nastavovani pomoci EscapeCommFunction.

S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz
Tel.: 02/795 29 56
Krystofova 1016, 149 00 Praha 4
CZ


CGI

[*] Martin Fronek <FRONEK(zv)FIC.CZ> - 21.4.1998 20:34:44

Zdravim vsechny,

mohl by mi prosim nekdo poslat priklad nejakeho CGI zdrojaku? Diky.

fronek(zv)fic(tec)cz


RAS komponenta

[*] PETR PRIDAL <klokan-pp(zv)usa(tec)net> - 21.4.1998 21:43:11

*** RAS Komponenta:
Kvalitne udelanou FREE-komponentu na vytaceni a pokladani, sledovani
prave aktivnich spojeni pres RAS (i s ukazkovym programem) delal
kamarad - ma ji na HomePage (http://members.xoom.com/aberka)

Klokan

P.S.
Nevideli jste nekde komponentu na "Pripojeni vzdaleneho disku" pod W95,
nebo alespon poradte jak ji mam udelat.
Diky
--
--------------------------------------- \ (\./)
KLOKAN - Petr Pridal \ (o o)
Halkova 34, BRNO 614 00 - tel 05-576113 \ (.)
---------------------------------------------------------(] [)-_-----
mailto:klokan-pp(zv)usa.net http://members.xoom.com/klokan {~~~}/ )
--------------------------------------------------------(') (')/----
Podivejte se na http://travel.to/turecko97 \_)-(_)
____________________________________________________________________
Get free e-mail and a permanent address at http://www.netaddress.com/?N=1


Filtre

[*] TUNGLI Jan <tungli(zv)pvt.sk> - 21.4.1998 22:01:14

Nechcel som dlho vysvetlovat ako to v skutocnosti funguje lebo neviem dobre po slovensky ale vidim ze to bude nutne.

SQL princip ma silu v prave v tom ze vykona dotaz na servri a vysledok vrati na klientsky stroj po castiach vzdy to�ko ko�ko potrebuje. Ak pouzite Filter vlastnost
pre tabulku alebo pre Query stava sa to, ze Delphi bezi zaznam po zazname a vybera platne zaznami z daneho buffera. Ak naide malo zaznamov poziada o dalsi buffer �dajov.Na podobn�m sp�sobom funguje aj locate pr�kaz. Ked hladate hodnotu ktor� je nahodou na koci tabulky tak sa stava to ze zo servra postupne su posielane vety a klient hlada vetu az sa dostane k poslednej vete. Z uveden�ho d�vodu vlastne sa nedoporuceuje pouzivat Table komponenta ani Locate funkcia. Ke budete mat trozku zatazenu siet , tak sa nedockate vysledku (pri trozku vacsich databazach od 10MB viz�ie). Oproti tomu SQL pristup je vzdy rychli lebo odpoved na dotaz zisti server a posle vzdy tolko udajov ko�ko je potrebn�ch ( tak nedochadza k tomu ze zbytocne je posielana cela tabulka). Neviem ako pracuju localne servre ako napriklad DBF a Paradox. Je mozne ze tam je nieco take mozne co ste mi napisali ale to iba preto lebo tieto formaty nie su poriadne SQL databaze a funguju na inych principoch.
Ked pouzivate poriadny SQL databazuj tak lahko zistite ze filter nad existujucim dotazom nema zaidny zmysel lebo odpoved na vacsinu dotazov je takmer okamzity.
Takmer ziadne zrychlenie by to neznamenalo.Standardizovany jazyk SQL nic take nepodporuje.
Je ale mozne ze DBF a Paradox maju dlhsie odozvy a tam je mozne uplatnit nieco take.
Tungli Jano





----------
> Od: psoft <psoft(zv)kosice.telecom.sk>
> Pre: delphi(zv)pinknet(tec)cz
> Predmet: RE: Filtre
> D�tum: 22. apr�l 1998 21:41
>
> > Urobit filter nad existujucim dotazom bez znovunacitanie viet vlatne ani neide, respektive iba tedy ked odpoved na dotaz sa zmestil do jednoho buffera.
> > Fungovanie SQL dotazu prebieha takto : server vyhodnoti dotaz a posle iba jeden buffer dat a ked je potreba tak je poslany dalsi buffer dat.
> To znamena ze vsetky udaje nikdy nie su pristupne .
> Urob
> > t filter nad uz existujucim dotazom preto je nezmysel. T Tungli Jano
>
> O tom dost pochybujem, pretoze :
>
> 1. hlavny dovod - videl som na to komponent, takze to urcite ide.
> 2. videl som cosi aj v roznych FAQ o tomto
> 3. preco by potom bolo mozne nastvavit BDE ci ma mat napr. local SQL
> format DB alebo DBF.
> 4.Nevidim problem, preco by nebolo mozne filtrovat SQL dotaz, ktory
> sa vlastne navonok tvari ako tabulka - ved prave o to ide - podbnost
> where clausuly a filtra - ak plati, potom je to priamo zabudovane v
> TQuery - property Filter.
>
> 5.Pokial viem, napr. nie je mozne prerusit beziaci SQL dotaz, resp.
> server sa snazi vratit cely vysledok dotazu. Preto nechapem zmysel
> vyrazu "ak je potreba tak je poslany dalsi buffer dat".
>
> 6.Ak nieco neviem vyriesit, netvrdim, ze je to nezmysel. Videl som to
> na vlastne oci. Takze ma o tom nepresvedcite takym chabym argumentom
> ako bol tento.
>
> Zdravim.
> > ''''
> > (O O)
> > +-------------oOO------(_)--------------------+
> > | PSOFT, ing.Peter Cirip |
> > | Sibirska 18, 080 01 Presov, Slovensko |
> > | Mobil : 0903 601 068 091/723 104 |
> > | E-mail: psoft(zv)ke.telecom.sk |
> > | WEB : http://www.ke.telecom.sk/psoft/ |
> > +-------------------------------oOO-----------+
> > |__|__|
> > || ||
> > ooO Ooo
> >

Services ve Win NT (jak?)

[*] TUNGLI Jan <tungli(zv)pvt.sk> - 21.4.1998 22:08:04

Mozes pouzivat potry ako subory. Je to celkom jednoduch� posielam ti programecek ktor� vysiela a prijima cez port .

unit uFM_DLL;
(*
********************************************************************
Komunikacia s modulom FM-128:

(PocetI/O), (PocetI/O), (Byte1), (Byte2)..., (SucetBytov mod 256)

Procedury WriteData a ReadData zapuzdruju tieto sluzby tak,
ze staci posielat iba (Byte1), (Byte2)...,
a ako odpoved dostaneme tiez (Byte1), (Byte2)...,
a ktomu odpovedajuci pocet bytov (DataCount)
***********************************************************************
*)

interface

uses SysUtils, Windows, classes;
type
TPortBuf = array [1..256] of byte;

function AttachPort(ComPort:integer): integer; stdcall; export;
procedure KillPort; stdcall; export;
function WriteRead(var pBuf:TportBuf; var pCount:integer):integer; stdcall; export;
procedure SetWait(pC:integer); stdcall; export;

function GetPortHandle:integer; stdcall; export;
function SendAsciiChar(Data:char):integer; stdcall; export;
function WriteData(pBuf:TportBuf; pCount:integer):integer;stdcall; export;
function ReadAsciiChar(pCount:byte): integer; stdcall; export;
function ReadData:integer; stdcall; export;
function GetData: TPortBuf; stdcall; export;
function GetDataAdr:longint; stdcall; export; //longint = 32 bitovy integer
procedure GetDataBuf(var pBuff:TPortBuf);stdcall; export;
function GetDataCount:integer; stdcall; export;

implementation

(*
Komunikacia s modulom FM-128:

(PocetI/O), (PocetI/O), (Byte1), (Byte2)..., (SucetBytov mod 256)

Procedury WriteData a ReadData zapuzdruju tieto sluzby tak,
ze staci posielat iba (Byte1), (Byte2)...,
a ako odpoved dostaneme tiez (Byte1), (Byte2)..., a ktomu odpovedajuci pocet.
*)

(*
AttachPort index 1 name 'OpenPort', {vyhradenie portu a init PortHandle}
KillPort index 2 name 'ClosePort', {uvolnenie portu}
WriteRead index 3 name 'WriteRead', {zapise a precita odpoved}
SetWait index 4 name 'SetWait', {cakaci smicka - default 1000}

GetPortHandle index 14 name 'GetPortHandle', {vrati PortHandle}
SendAsciiChar index 15 name 'WriteChar', {zapise jeden char}
WriteData index 16 name 'WriteData', {zapise zo zadanej adresy zadany pocet bytov na port}
ReadAsciiChar index 17 name 'ReadChars', {precita n znakov}
ReadData index 18 name 'ReadData', {precita odpoved od FM128}
GetData index 19 name 'GetData', {precitane hodnoty}
GetDataAdr index 20 name 'GetDataAdr', {vrati adresu precitanych hodnot}
GetDataBuf index 21 name 'GetDataBuf', {vrati prcitane byty}
GetDataCount index 22 name 'DataCount'; {akt. pocet bytov - naposledy precitanych}
*)

const F_DefaultBufferSize : integer = 1024;
PortHandle : integer =0;
cCyklus : integer=1000;

var
PortData : TPortBuf;
PortDataCount: integer;

OldDCB : TDCB ;
OldCommProp : TCommProp;
OldCommTo : TCommTimeOuts;

function WriteRead(var pBuf:TportBuf; var pCount:integer):integer;
begin
result:=WriteData(pBuf, pCount);
result:=ReadData;
if result<0 then result:=result - 10;
Move(PortData[1], pBuf[1],PortDataCount);
pCount:=PortDataCount;
end;

function WriteData(pBuf:TportBuf; pCount:integer):integer;
var i,j:integer;
begin
j:=2* (pCount-1);
SendAsciiChar(char(pCount-1));
SendAsciiChar(char(pCount-1));
for i:=1 to pCount do begin
result:=SendAsciiChar(char(pBuf[i]));
if result<0 then exit;
j:=j+pBuf[i];
end;
j:=j mod 256;
SendAsciiChar(char(j));
End;


function ReadData:integer;
(*
-1 'Modul na porte neodpoveda'
-2 'Port neposiela spravny pocet bytov'
-3 'Port neposlal spravny pocet bytov'
*)
var mCount,mI,i:integer;
begin
result:=0;
mI:=-100; i:=0;
while (mI<0) and (i<30) do begin mI:=ReadAsciiChar(2);inc(i);end;
if i>=30 then begin result:=-1;{ShowMessage('Modul na porte neodpoveda')};Exit; end;
if PortDataCount<>2 then begin result:=-2;{ShowMessage('Port neposiela spravny pocet bytov')};exit; end
else begin
mI:=-100; i:=0; mCount:=PortData[1]+2;
while (mI<0)and (i<30) do begin mI:=ReadAsciiChar(mCount);inc(i);end;
if i>=30 then begin result:=-2; Exit; end;
if PortDataCount<>mCount then result:=-3;
Dec(PortDataCount);
end;
End;

function GetDataAdr: longint;
begin
Result:=Longint((zv)PortData);
end;

function GetData:TPortBuf;
begin
Result:=PortData;
end;

procedure GetDataBuf(var pBuff:TPortBuf);
begin
if PortDataCount>0 then Move(PortData[1], pBuff[1], PortDataCount)
else Move(PortData[1], pBuff[1], SizeOf(PortData));
end;

function GetDataCount:integer;
begin
Result:=PortDataCount;
end;


procedure SetWait(pC:integer);
begin
cCyklus:=pC;
End;

function GetPortHandle:integer;
begin
GetPortHandle:=PortHandle;
end;

procedure KillPort;
begin
if PortHandle <> 0 then //if port is open, restore it to old values
begin
SetupComm(PortHandle,OldCommProp.dwCurrentRxQueue,
OldCommProp.dwCurrentTxQueue); //inqueue,outqueue
SetCommTimeouts(PortHandle,OldCommTo);
SetCommState(PortHandle,OldDCB); //restore the port to old values
CloseHandle(PortHandle); //kill the handle if there is one
PortHandle := 0;
end;
end;

function SendAsciiChar(Data:char):integer; //ascii send char $01xx
var Size : integer;
begin
if (PortHandle <> 0) then
begin
Size := 0;
if not(WriteFile(PortHandle,byte(Data),1,Size,nil)) then
SendAsciiChar := -5
else
SendAsciiChar := 0;
end
else SendAsciiChar := -2;
End;

//----------------------------------------------------------------
//returns data or, -1 if no data waiting, -2 if port not open
function ReadAsciiChar(pCount:byte): integer; //ascii read char $02xx
var
j : integer ;
mPokus: integer;
mCount: integer;
begin
mCount:=0;
fillchar(PortData,SizeOf(PortData),#0);
if (PortHandle <> 0) then begin
j:=1;
while j<=pCount do begin
mPokus:=0; PortDataCount:=0;
while (PortDataCount=0) and (mPokus<cCyklus) do begin
if ReadFile(PortHandle,PortData[j],1,PortDataCount,nil) then begin
if (PortDataCount=0) then inc(mPokus);
end else begin
Result:=-5; Exit; {readFile not OK}
end;
end;
mCount:=mCount+PortDataCount;
if PortDataCount=0 then Break;
inc(j);
end;
PortDataCount:=mCount;
Result:=PortDataCount;
if (PortDataCount <=0) then Result := -1;
end else Result := -2;
End;

function AttachPort(ComPort{,PortBaudRate}:integer):integer;
function ConfigurePort(Baud:integer):boolean;
var ThisDCB : TDCB;

const fRtsControl = $2000;
const fDtrControl = $0010;
const fBinary = $0001;
begin
ConfigurePort := false;
if PortHandle = 0 then Exit; //fail if the port handle is not valid
ThisDCB := OldDCB;
with ThisDCB do
begin
BaudRate := Baud;
Flags := (Flags and $ffff8000)+fBinary+fDtrControl+fRtsControl;
ByteSize := 8;
Parity := EVENPARITY;
StopBits := ONESTOPBIT;
end;
if not(SetCommState(PortHandle,ThisDCB)) then Exit;//config the port
ConfigurePort := true;
end;

var PortStr : AnsiString;
var CurCommTo : TCOMMTIMEOUTS;
var BufSize : integer;
mA,mB,mC:boolean;

begin
AttachPort := PortHandle;
if ComPort = 0 then Exit;

if PortHandle = 0 then //if port grabbed, no need to do this
begin
PortStr := 'COM'+ IntToStr (ComPort);
PortHandle :=
CreateFile(PChar(PortStr),GENERIC_READ+GENERIC_WRITE,0,nil,
OPEN_EXISTING,0,0); //10-50ms
if PortHandle = INVALID_HANDLE_VALUE then
PortHandle := 0;
if PortHandle = 0 then Exit;

if not(GetCommProperties(PortHandle,OldCommProp)) or //1ms all
not(GetCommState(PortHandle,OldDCB)) or
not(GetCommTimeouts(PortHandle,OldCommTO)) then
begin
CloseHandle(PortHandle);
PortHandle := 0;
Exit;
end;

BufSize := (F_DefaultBufferSize*2)+16;
CurCommTO := OldCommTO;
with CurCommTO do
begin
ReadIntervalTimeout := MAXDWORD;
ReadTotalTimeoutMultiplier := 0;
ReadTotalTimeoutConstant := 0;
WriteTotalTimeoutMultiplier := 1; //round(Baud * 0.02);
WriteTotalTimeoutConstant := 100;
end;

mA:=not(SetupComm(PortHandle,BufSize,BufSize));
mB:=not(SetCommTimeouts(PortHandle,CurCommTo));
mC:=not(ConfigurePort(9600 {PortBaudRate}));

if mA or //inqueue,outqueue
mB or //0-1ms
mC then //<-- this takes 250ms
begin
AttachPort := -1; //indicate config failure
Exit;
end;
AttachPort := PortHandle;
end;
end;

END.


----------
> Od: Martin Fr�hlich <unites(zv)telecom(tec)cz>
> Pre: Konference Delphi <delphi(zv)pinknet(tec)cz>
> Predmet: Services ve Win NT (jak?)
> D�tum: 17. apr�l 1998 13:15
>
> Vazeni pratele,
>
> Potrebuji ve Win NT provest primy pristup na IO port. Programuji v Delphi 3
> a takovyto kod, ktery chodi ve Win 95 na NT nespustim:
>
> ===================================
> Procedure OutIn(Data0ut:Word; var DataIn:Word);
> Begin
> asm
> cli
> mov dx,$310
> mov ax,DataOut
> out dx,ax
>
> mov dx,$312
> in ax,dx
> mov DataIn,ax
> sti
> end;
> end;
> =====================================
>
> Ohlasi to, ze neni dovoleno zakazat preruseni a ukonci muj program. Zakaz
> preruseni tam neni z legrace, je nutne k zarizeni pristupovat presne
> definovanou rychlosti (procedury pro casovou synchronizaci jsem v ukazce
> vypustil). Pritom na adresach kam pristupuji je vlastni karta ke ktere se
> jinak nedostanu. Tusim, ze toto je mozno provest prostrednictvim 'Service',
> ale nevim jak. Najde se nekdo, kdo vyse zminenou proceduru upravi aby
> pracovala Jako service ve Win NT?
>
> Predem dekuji za pomoc a vase nazory.
>
> S pozdravem
> Martin Frohlich
>
> E-mail: unites(zv)telecom(tec)cz
>
>
> -------------------------------------------
> I hloupy napad je lepsi nez chytre mlceni.
>

Filtre

[*] �ke��k Jaroslav�������6�����̿ - 21.4.1998 22:28:42

>Urobit filter nad existujucim dotazom bez znovunacitanie viet vlatne ani
neide, respektive iba tedy ked odpoved na dotaz sa zmestil do jednoho
buffera.
>Fungovanie SQL dotazu prebieha takto : server vyhodnoti dotaz a posle iba
jeden buffer dat a ked je potreba tak je poslany dalsi buffer dat. To
znamena ze vsetky udaje nikdy nie su pristupne . Urobit filter nad uz
existujucim dotazom preto je nezmysel. To bude vzdy novy dotaz a novy buffer
dat. Ja si myslim ze to odporuje SQL principu.
> Tungli Jano
>tungli(zv)pvt.sk
---------------------------------------------------------
S tim vysvetlenim posilani bufferu ze serveru lze zhruba souhlasit, i kdyz
je to zjednodusene. Da se napr. nakonfigurovat, ze na klienta dojde vzdy
cely vysledek dotazu, tj. zakazat buffer-ovani.
Ale vas zaver, ze kvuli tomu nelze udelat nad existujicim dotazem filter je
zcela chybny!!!! TQuery obsahuje vlastnoti Filter a Filtered stejne jako
TTable. Jiste to tam neni pro paradu.
Rovnez i TQuery obsahuje dulezitou udalost OnFilteredRecord.
Zde muzete napsat libovolnou proceduru s libovolne slozitymi podminkami.
Pokazde, kdyz uznate, ze veta se ma do vyberu zaradit, nastavite promennou
Accept := true, jinak false.
Zapnutim vlastnosti Filtered se uplatni udalost pro kazdy zaznam v Datasetu
a pokud je hodnata Accept = false, pak je zaznam v datasetu potlacen.
Odtrasujte si jednoduchou proceduru v OnFilteredRecord a pochopite
fungovani filtru. Podminka je uplatnovana na kazdy zaznam poslany do
datasetu i ve forme bufferu a neni tudiz zadny duvod pro novy dotaz!

Puvodni dotaz do teto diskuse vnesl nejaky maturant. Nevim jestli jsi
spravne
pochopil, jaky je zasadni rozdil mezi vyberem pomoci klauzule WHERE
a vyberem pomoci filtru na TQuery.
V prvnim pripade provadi vyber server na zaklade SQL dotazu s klauzuli
WHERE.
Ten posila data na klienta, ktery si je bere najednou nebo po castech
(z duvody vetsi rychlosti odezvy). V druhem pripade dochazi k dovyberu
jiz na strane klienta. Dodane zaznamy jsou zde jeste jednou provereny
a uplatni se jenom ty, ktere splni zadanou podminku nebo i vice podminek.
Proc by to melo odporovat SQL principu to opravdu nevim!!!

Smyslem prvniho kroku je na klienta posilat jen omezene mnozstvi dat, ktere
jsou prave potreba, aby nedochazelo k dlouhym odezvam a ke zbytecne
zatezi site. V druhem pripade muzete uplatnit dalsi i velmi slozite podminky
vyberu, ktere napr. nelze udelat pomoci SQL jazyka. Dalsim duvodem muze
byt prave kombinovany pozadavek ruzneho dovyberu na klientovi bez nutnosti
noveho dotazu. Jiste by bylo neefektivni nahrazovat podminku v dotazu pro
server filtraci na klientovi v neoduvodnenych pripadech. V rade pripadu je
to
vsak rozumne reseni a nekdy dokonce i jedine mozne.

Doufam, ze jsme nasemu maturantovi neudelali v hlave prilis velky zmatek
diky nasim rozpornym nazorum.
Bylo by urcite skoda, kdyby ve sve maturitni praci uvadel zjevne nepravdy.
Doufam tez, ze se tato konfernce nezvrhne ve vselidove hlasovani o tom, zda
je nebo neni mozne filtrovat v TQuery.

----
> Kdesi som cital, ze v property Filter moze byt to is, co v casti
> WHERE pre SQL vyraz, mam pocit, ze to bolo v niektorom hlp subore pre
> Delphi. Preco potom nieco take ako Nazov like '%rum%' nezoberie ?
----
"WHERE pre SQL" je syntaxe pro SQL dotazovaci jazyk. Klauzule LIKE
je dovolenou soucasti prikazu SQL pro server. (to je ten prvni pripad
komunikace
se serverem pomoci SQL)
Ve filtru se ale pouziva syntaxe jazyka Pascal, protoze jde o vyber na
klientovi
a ten je tvoren prostrednictvim Delphi.
To uz jsme tedy na klientovi (druhy pripad) a tvorime proto podminky v
Pascalu.
Tyto podminky je mozne jiste vytvorit i podobne, (otazka je zda-li to ma
patri�ny efekt)
ale s trochu jin�m z�pisem - syntaxi. Na serveru napr. text ohranicujes
pomoci
uvozovek, v Pascalu pomoci apostrofu. Je to tedy potreba rozlisovat!

Preji mnoho stesti a uspechu k maturite.
Jaro

Filtre

[*] �ke��k Jaroslav�������6�����̿ - 21.4.1998 22:38:52



> Tak to jsem blbe rozumel.
> K tem Vasim poznamkam by mne zajimalo jestli jste si opravdu jist jestli
> v pripade funkcionalniho filtru se data nenacitaji znovu.
Myslim, ze ano ...

To je omyl. Urcite ne.
Filtr probiha na klientovi pro kazdy zaznam samostatne!
Jaro.

Filtre

[*] psoft <psoft(zv)kosice.telecom.sk> - 21.4.1998 22:39:01

Zdravim,

maturujem nad pouzivanim filtrov v Delphi (TTable i TQuery).
Ako mam najst napr. riadky, kde je napr. v poli NAZOV kdesi uprostred
rum ? Cosi ako Pos('rum',NAZOV)>0.

Kdesi som cital, ze v property Filter moze byt to is, co v casti
WHERE pre SQL vyraz, mam pocit, ze to bolo v niektorom hlp subore pre
Delphi. Preco potom nieco take ako Nazov like '%rum%' nezoberie ?

Preco mi napr. ak Filter= Nazov='R*' najde Rum, ak je napisany
velkym R, ale nie ked je malym r (bez ohladu na nastavenie
foCaseInsensitive).

Ak viete nieco o pouzitelnosti Filtrov, uvitam vase rady. Osobne
myslim, ze filter a lokalne SQL ( klauzula WHERE) by mohli pouzivat
tie iste vnutorne funkcie BDE, a preto by hadam naozaj mohli mat
rovnaku syntax. Ale teraz som na rozpakoch ...

Dakujem.

Peter Cirip.
> ''''
> (O O)
> +-------------oOO------(_)--------------------+
> | PSOFT, ing.Peter Cirip |
> | Sibirska 18, 080 01 Presov, Slovensko |
> | Mobil : 0903 601 068 091/723 104 |
> | E-mail: psoft(zv)ke.telecom.sk |
> | WEB : http://www.ke.telecom.sk/psoft/ |
> +-------------------------------oOO-----------+
> |__|__|
> || ||
> ooO Ooo
>

CPUID

[*] Martin Fronek <FRONEK(zv)FIC.CZ> - 21.4.1998 23:22:31

Hi,

bylo tady nekolik dotazu na indentifikaci CPU, ja jsem ted nasel na
inetu tohle, mozna to nekomu pomuze.

fronek(zv)fic(tec)cz



procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.Caption := 'Vendor: ' + VendorId;
Label2.Caption := 'Type: ' + IntToStr (CpuType)
end;

All you need to do to test this out is add the two lines above to your
FormCreate, and add the CPUInfo unit to your Uses
clause.

The VendorId and CpuType values are obtained using the CpuInfo unit
listed below. Portions of this are based off of
Intels published information on obtaining CPU ID's:

Enjoy!

// obtain information on the CPU

unit CpuInfo;

interface

type
TFeatures = record
case integer of
0: (RegEAX,
RegEBX,
RegEDX,
RegECX : integer);
1 : (I : array [0..3] of integer);
2 : (C : array [0..15] of char);
3 : (B : array [0..15] of byte)
end;

const
{$IFNDEF WIN32}
i8086 = 1; // includes 8088/V20/V30/80186/80188
i80286 = 2;
i80386 = 3;
{$ENDIF}
i80486 = 4;
Chip486 = 4;
iPentium = 5;
Chip586 = 5;
iPentiumPro = 6;
Chip686 = 6;

// known vendor id strings:
Intel = 'GenuineIntel';
AMD = 'AuthenticAMD';

var
CpuType : byte = 0; // type of CPU
VendorId : string [12]= ''; // contains vendor string
Features : TFeatures; // contains signature and feature
information

procedure LoadFeatures (I : integer);

implementation

{$O-}
const
CpuId = $0a20f; // hardcoded CpuId instruction
// not supported by inline assembler
var
CpuIdFlag : boolean = false; // true if CpuId instruction works
MaxCPUId : integer; // contains max value of eax value
for CpuId
instruction

// procedure to load features from CPUId instruction
// call with eax containing CPUId instruction number
procedure GetF;
asm
dw CpuId // Hardcoded CPUID instruction
mov [Features.RegEAX], eax
mov [Features.RegEBX], ebx
mov [Features.RegECX], ecx
mov [Features.RegEDX], edx
end;

// procedure to clear features record to zero
procedure ClearF;
asm
mov edi, offset Features // edi point at features
record
xor eax, eax // clear eax
mov ecx, eax
mov cl, 4 // 4 double words, 16 bytes
cld // forward direction
rep stosd // do it
end;

// This procedure determines the type of processor in a system
// and sets the CpuType variable with the appropriate
// value. If the CPUID instruction is available, it is used
// to determine more specific details about the processor.
// All registers are used by this procedure, none are preserved.
// To avoid AC faults, the AM bit in CR0 must not be set.

procedure CheckOutCpu;
asm
{$IFNDEF WIN32}
// 8086 processor check
// Bits 12-15 of the FLAGS register are always set on the
// 8086 processor.
pushf // push original FLAGS
pop ax // get original FLAGS
mov cx, ax // save original FLAGS
and ax, 0fffh // clear bits 12-15 in FLAGS
push ax // save new FLAGS value on stack
popf // replace current FLAGS value
pushf // get new FLAGS
pop ax // store new FLAGS in AX
and ax, 0f000h // if bits 12-15 are set, then
cmp ax, 0f000h // processor is an 8086
mov [CPUType], 1 // set flag to 8086/8088
je (zv)(zv)2 // jump if processor is 8086/8088

// 286 processor check
// Bits 12-15 of the FLAGS register are always clear on the
// 286 processor in real-address mode.
or cx, 0f000h // try to set bits 12-15
push cx // save new FLAGS value on stack
popf // replace current FLAGS value
pushf // get new FLAGS
pop ax // store new FLAGS in AX
and ax, 0f000h // if bits 12-15 are clear
mov [CPUType], 2 // processor=80286, turn on 80286
flag
jz (zv)(zv)2 // if bits set, processor is
80286

// 386 processor check
// The AC bit, bit #18, is a new bit introduced in the EFLAGS
// register on the 486 processor to generate alignment faults.
// This bit cannot be set on the Intel386 processor.
pushfd // push original EFLAGS
pop eax // get original EFLAGS
mov ecx, eax // save original EFLAGS
xor eax, 40000h // flip AC bit in EFLAGS
push eax // save new EFLAGS value on stack
popfd // replace current EFLAGS value
pushfd // get new EFLAGS
pop eax // store new EFLAGS in EAX
xor eax, ecx // can't toggle AC bit,
processor=80386
mov [CPUType], 3 // turn on 80386 processor flag
jz (zv)(zv)2 // jump if 80386 processor
push ecx
popfd // restore AC bit in EFLAGS first
{$ENDIF}

// 486 processor check:
// Checking for ability to set/clear ID flag (Bit 21) in EFLAGS
// which indicates the presence of a processor with the CPUID
instruction.
mov [CPUType], 4 // turn on 80486 processor flag
mov eax, ecx // get original EFLAGS
xor eax, 200000h // flip ID bit in EFLAGS
push eax // save new EFLAGS value on stack
popfd // replace current EFLAGS value
pushfd // get new EFLAGS
pop eax // store new EFLAGS in EAX
xor eax, ecx // can't toggle ID bit,
je (zv)(zv)2 // processor=80486

// higher than 486 check:
// Execute CPUID instruction to determine vendor, family,
// model, stepping and features. For the purpose of this
// code, only the initial (0) set of CPUID information is saved.
mov [CPUIdFlag], 1 // flag indicating use of CPUID
inst.
push ebx // save ebx register
mov eax, 0 // set up for CPUID instruction
dw CpuId // Hardcoded CPUID instruction
mov [MaxCPUId], eax // keep max value
// get and save vendor ID
mov [byte ptr VendorId], 12
mov [dword ptr VendorId+1], ebx
mov [dword ptr VendorId+5], edx
mov [dword ptr VendorId+9], ecx

// get family/model/stepping/features
call ClearF
mov eax, 1
call GetF // get feature stuff
shr eax, 8 // isolate family
and eax, 0fh
mov [CPUType], al // set CPUType with family
(zv)(zv)1: pop ebx // restore ebx register
(zv)(zv)2:
end;

// requires that a call has been made to CpuId procedure to set
flags correctly
procedure LoadFeatures (I : integer);
asm
call ClearF
cmp [CpuIdFlag], 0 // test if CPUId instruction
valid
je (zv)(zv)1
mov eax, [I] // test if argument in range
cmp [MaxCpuId], eax
jl (zv)(zv)1
call GetF // ok let's do it
(zv)(zv)1:
end;

initialization
CheckOutCPU;
end.

Mys MS Intellipoint a Delphi

[*] Martin Fronek <FRONEK(zv)FIC.CZ> - 22.4.1998 00:10:45

hledej komponentu mswheel <myslim> na DSP nebo TORRY


Radim Kunz wrote:
>
> Chtel bych ve svych programech pouzivat mys MS Intellipoint, ale nevim,
> jak nato. Nevi nekdo ?
>
> Radim Kunz
>
> ==========================================================
> Cesky CASE na http://www(tec)czechia.com/rksoft
> ==========================================================

Vyhladavanie vo filtrovanom zozname

[*] Zdeno Jasek <zdeno.delphi(zv)mailcity(tec)com> - 22.4.1998 05:21:55 -0700

Ako sa da vyhladavat vo filtrovanom zozname TTable? Funkcia Locate(..) pracuje sice
spolahlivo, ale ako mam najst DALSI zaznam, ktory vyhovuje vyhladavacej podmienke?


Funkcia FindNext berie ako vyhladavaciu podmienku hodnotu property Filter, ktoru
uz mam v pripade filtrovaneho zoznamu TTable nastavenu a nemozem ju teda pouzit.


Vdaka za rady...
Get your FREE, private e-mail
account at http://www.mailcity.com


Spusteni DOS aplikace

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 22.4.1998 07:48:35

Nosek Libor wrote:

> Dobry den.
> Prosim potreboval bych spustit DOS aplikaci z DELPHI tak, aby CRT
> vystup, ktery se zobrazuje na obrazovce se mi ulozil do mnou
> definovaneho formulare, nebo MDIchild okna v aplikaci. Diky za
> informace.

Nedavno jsem to sem posilal, takze jeste jednou:

function Shell(AFile,AParam,ADir:string;Memo:TMemo):integer;
var
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
s:string;
i,j,l:integer;
saAttr:TSecurityAttributes;
begin
Result:=-1;
FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
with StartupInfo do
begin
cb := SizeOf(TStartupInfo);
dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK
or STARTF_USESTDHANDLES;
wShowWindow := SW_HIDE;
saAttr.nLength:=Sizeof(TSECURITYATTRIBUTES);
saAttr.bInheritHandle:=TRUE;
saAttr.lpSecurityDescriptor:=nil;
CreatePipe(hStdInput,hStdOutput,(zv)saAttr,102400);
end;
if CreateProcess(nil,PChar(AFile+' '+AParam),nil,nil,true,
NORMAL_PRIORITY_CLASS,nil,PChar(ADir),StartupInfo,ProcessInfo)
then
begin
WaitforSingleObjectEx(ProcessInfo.hProcess,INFINITE,false);
if not GetExitCodeProcess(ProcessInfo.hProcess,Result)
then Result:=GetLastError;
CloseHandle(ProcessInfo.hProcess);
CloseHandle(ProcessInfo.hThread);
end;
with StartupInfo do
begin
SetLength(s,102400);
ReadFile(hStdInput,s[1],102400,l,nil);
s[l+1]:=#0;
i:=1;
j:=1;
while i<l do
begin
while (i<l) and not (s[i] in [#10,#13]) do Inc(i);
if i>j then Memo.Lines.Add(Copy(s,j,i-j));
j:=i;
while (i<l) and (s[i] in [#10,#13]) do Inc(i);
if i-j-2>0 then Memo.Lines.Add('');
j:=i;
end;
SetLength(s,0);
CloseHandle(hStdInput);
CloseHandle(hStdOutput);
end;
end;

S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz
Tel.: 02/795 29 56
Krystofova 1016, 149 00 Praha 4
CZ


Filtre

[*] �ke��k Jaroslav�������6�����̿ - 22.4.1998 07:50:53

........
> Puvodni dotaz do teto diskuse vnesl nejaky maturant. Nevim jestli jsi
> spravne pochopil, jaky je zasadni rozdil mezi vyberem pomoci klauzule
WHERE
> a vyberem pomoci filtru na TQuery.

Dakujem, neviem, ci to ma byt urazka, alebo pocta. Pred par dnami sa
tu cosi hovorilo o slusnosti, nuz ale dobre. Rozhodne mam dost davno
po maturite, a tiez s Delphi nerobim prvy den. Ak je tu niekto
maturantom, potom to budete skor Vy. Mam pocit, ze zo vsetkych, co
ste odpovedali hadam nikto nepochopil povodnu otazku :
----------------------------------------------------------------------------
-
Nemusite se hned urazet. V jednom prispevku jsem cetl,
ze informaci o tom jak funguji filtry potrebuje nekdo k maturitni praci.
Nevedel jsem, ze jste to nebyl vy. Ani Vas neznam. Chtel sem
pouze poradit a vyvratit myslenku (nekdo to tam psal), ze filtr nemuze
byt pouzit v kombinaci se SQL.
V zadnem pripade jsem se nechtel dotknout vasich znalosti ani znalosti
nikoho jineho nebo vas jinak zemesnit.
Je mi lito, ze jste muj pripevek takto pochopil. Pokud jsem neco poplet
omlovam se vam i ostatnim.
----------------------------------------------------------------------------
--
... Taktiez som cital o tom, ze filter a klausula WHERE
maju pre local SQL rovnaku syntax. Preco teda napr. pri WHERE pisem
napr. nazov like 'rum%', ale vo filtri nazov='rum*'. A preco mi vo
filtri nezoberie nazov='*rum*'.
----------------------------------------------------------------------------
-
Na to jsem jiz odpovidal SQL ma jinou syntaxi nez Pascal.
----------------------------------------------------------------------------
--
Myslim, ze toto bol povodny dotaz a na ten mi zialbohu nikto
neodpovedal.

Kto je tu maturant ? Ja alebo vy, ked neviete odpovedat na taku hlupu
otazku ?
-----------------------------------------------------
Skoda, ze jste to pochopil tak osobne. Nemylel jsem to tak.
-----------------------------------------------------


..... priamo DBF alebo DB interny subor ! Preco by som teda nemal mat
moznost dat nan druhy dotaz ? O tom bol moj povodny dotaz, a nie
otazka nejakeho maturanta. Ten maturant asi napisal viac SW ako vy,
vazeny pane. Nehodnotte, co nepoznate.
--------------------------------------------------------------------
K tomuto jsem se nevyjadroval, protoze jsem to nikdy nezkousel.
Myslim, ze by bylo nutne vytvorit pomocny soubor z vysledku dotazu a na
nej udelat novy dotaz, ale mozna nekdo vymyslel neco lepsiho.
--------------------------------------------------------------------

> Doufam, ze jsme nasemu maturantovi neudelali v hlave prilis velky zmatek
> diky nasim rozpornym nazorum.
> Bylo by urcite skoda, kdyby ve sve maturitni praci uvadel zjevne nepravdy.

Na to mi je tazko nejako odpovedat, pretoze je to sama urazka a
narazka. Mam uz davno po maturite a programovanim sa zivim uz osmy
rok. Dufal som, ze tato konferencia je spolkom odbornikov, ktori radi
poradia. Je mi velmi luto, ze je tu par borcov, ktori si o sebe
myslia, ze su najgenialnejsi na svete, ale pritom nevedia ani len
dobre precitat otazku, na ktoru tak povysenecky odpovedaju.

Ak by som stal pred Vami, dufam ze by ste sa prepadli od hanby za
tieto narazky. A ja by som mal chut vam jednu vlepit.

------------------------------------------------------------------
Vubec se nestadim za muj prispevek. Znovu opakuj, ze doslo k omylu.
Mozna jsem udelal Re na ten nepravy prispevek. Bylo jich tam hodne.
Nekdy je problem najit puvodni a nekdy tez odpoviam na jiz
nasledne odpovedi. Vice nez autoru si vsimam obsahu prispevku.
Samotneho me netesi, kdyz se konference zvrhne v takovouto
nepeknou prestrelku namisto diskuze o odbornych vecech.
Doufam, ze vam toto vysvetleni a moje omluva staci.
-----------------------------------------------------------------
..... Ak ste taky frajeri, preco ste napr. o identifikacii procesora
navrhovali miliony roznych sposobov, ale priamu instrukciu CPU vam
musel poradit maturant ?
...... Mam pocit, ze pred tyzdnom Adam HAUNER stanovil pravidla,
a bolo tam cosi aj o slusnosti. Doporucujem Vam to precitat si.
....... Velmi znechuteny a rozcarovany odbornostou a hlavne nadutostou
diskutujucich

ing. Peter CIRIP, vek 32, prax : 8 rokov programator v sukromnej
firme, vyvoj ekonomickeho SW a aplikacii pod Windows, "maturant".
........Cest praci, sudruh.
-------------------------------------------------------------------------
....... No to jsem tomu zase jednou dal. Pravidla pana Adama HAUNERa
jsem cetl a naprosto s nimi souhlaim.
Myslim, ze muj prispevek nebyl neslusny. A pokud jsem nekde cetl
dotaz nekoho pro svou maturitni otazku (bylo to v mem prispevku receno),
snazil jsem se o podrobne vysvetleni.
Nejsem nafoukanej. Nespapal jsem vsechnu moudrost sveta. Myslim,
ze kazdy je odbornikem vice v necem jinem. Programovani je
natolik siroka oblast, ze nikdo nemuze rozumet vsemu, a proto si
chceme vymenovat nase zkusenosti a nazory v teto konferenci, a to
diky predevsim spravci teto konference.

ZA SVUJ OMYL SE OMLOVAM VSEM, KDO POCHOPILI SLOVO
"MATURANT" V MEM PRISPEVKU JAKO URAZKU.

Je mi to lito.
Jaro.
---------------------------------------------------------
SINEA software telefon: 0446/612468
Ing. Jaroslav Skerik e-mail: sinea(zv)sinea(tec)cz
Tylova 957 privat: jaro(zv)sinea(tec)cz
564 01 ZAMBERK http://www.sinea(tec)cz/

Jak prerusit proceduru?

[*] VOLTRR1(zv)epr1.ccmail.x400.cez(tec)cz - pr 1998 07:50:29 -0700

Co treba takhle :
procedure Test(var Message: TWMChar); message WM_USER+1;

PostMessage(Handle,wm_User+1,0,0);
PostMessage(Handle,wm_User+1,0,0);
PostMessage(Handle,wm_User+1,0,0);
PostMessage(Handle,wm_User+1,0,0);

- pokud je v procedure test muj zastavovavaci usek - zpracovavaj se udalosti a
proto se spustej a jedou. Po nastaveni
Eventu vzdycky jedna z nich zacne pokracovat. Vyzkousel jsem to. Problem je ze v
asi opravdu ve velikosti zasobniku - nevim jestli jich bude moct je rozjetejch
10000 - asi bude zalezet na procedure.

Rade Voltr

-----Puvodni zprava-----
Od: Internet:delphi-request(zv)io.pinknet(tec)cz/
Odeslano: 21. dubna 1998 17:28
Komu: Internet:delphi(zv)pinknet(tec)cz/
Poedmit: Re: Jak prerusit proceduru?

>Pouzil bych systemove Eventy a funkci WaitForSingleObject
stisknuti


no jo, ale jak v jednom procesu/ threadu docilis toho aby bezelo vic
funkci najednou :-)
Leda snad napichnout zpracovani zprav, ale pak to nejspis skonci
zhroucenim zasobniku

Zdravi
D. Toman


<<Soubor: TXT1.TXT>>

Filtre

[*] �ke��k Jaroslav�������6�����̿ - 22.4.1998 08:13:08

.......
>1.Tomu ale odporuje to, ze v pripade nastavenia filtra funguje property
>Record Count, ktora vie zistit pocet recordov vyhovujucich
>podmienke.
----------------------
To tomu neodporuje.
Record Count je v podstate metoda, ktera pocita zaznamy na klientovi.
A pokud tam nejsou vsechny, musi na ne pockaat. Proto muze trvat
dost dlouho zjisteni hodnoty Record Count na velkem dotazu.
Vyzkousejte na nekolikka tisicich zaznamu. Proto ja radeji pro zjisteni
poctu
vet ve vysledku dotazu pouzivam jeste jeden dotaz
SELECT Count() FROM stejna tabulka WHERE stejna podminka.
U vetsicho poctu dat je to mnohem chlejsi.
-----------------------------------

.....
>5. Opakujem, ze nie kazdy pracuje a nie kazdy program ma zmysel
>stavat na client-server. Mame tu aj DBF a DB. Povodny dotaz bol pre
>local SQL.
-----------------------------------
K SQL pro lokalni tabulky se nechci vyjadrovat. Tam budou jista omezeni
a asi to tam funguje jinak. Nemam s tim tolik zkusenosti.
Rozdilny zpusob prace bude tez asi pri pouziti ODBC.
Ja pristupuji k Interbazi pomoci SQL Links a pokud zakazu bufferovani
(hrozne slovo) tak se odezva opravdu prodlouzi. Jestlize listujete
ve vysledku vetsiho dotazu, pak se obcas objevi znovu hodiny s
priznakem SQL. To naznacuje, ze se teprve dotahuji dalsi data.
Proto souhlasim s nazorem, ze v tomto pripade to tak opravdu funguje.
Jaro

Filtre

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

psoft wrote:

> > Doufam, ze jsme nasemu maturantovi neudelali v hlave prilis velky zmatek
> > diky nasim rozpornym nazorum.
> > Bylo by urcite skoda, kdyby ve sve maturitni praci uvadel zjevne nepravdy.
>
> Na to mi je tazko nejako odpovedat, pretoze je to sama urazka a
> narazka. Mam uz davno po maturite [...]
>
> Ak by som stal pred Vami, dufam ze by ste sa prepadli od hanby za
> tieto narazky. A ja by som mal chut vam jednu vlepit.

:-))))))))))))) Zde se jasne projevil "ODBORNIK". Nevim jak na
Delphi, ale na facky urcite ano.

Pro osvezeni pameti, napsal jsi toto:
>> maturujem nad pouzivanim filtrov v Delphi (TTable i TQuery). <<

Nezlob se na me, ale v cestine to vyzni tak, jako ze jsi skutecne
maturant. Chtel jsem ti zpocatku odpovedet na tvuj mail, ale kdyz tu
zacali (IMHO zcela bezduvodne) letat facky, udelam ti tu ostudu
verejne.

S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz
Tel.: 02/795 29 56
Krystofova 1016, 149 00 Praha 4
CZ


Filtre

[*] Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz> - 22.4.1998 08:40:42

> >> maturujem nad pouzivanim filtrov v Delphi (TTable i TQuery). <<
>
> Nezlob se na me, ale v cestine to vyzni tak, jako ze jsi skutecne
> maturant.
Zbysku, nevim jak Ty, ale ja to pochopil ve smyslu "jsem z toho
zmateny". alespon u nas se pojem "maturuju z neceho" pouziva v tomhle
smyslu.

S pozdravem

Libor Krayzel
Czech Television, Television Studio Ostrava
Dvorakova 18
729 20 Ostrava

Phone: (069) 6201 375
E-mail: mailto:Libor.Krayzel(zv)czech-tv(tec)cz
> Homepage: http://members.tripod.com/~sovtop
> Fidonet: mailto:libor_krayzel(zv)p5.f59.n421.z2.fido(tec)cz
> E-mail2: mailto:sovtop(zv)email(tec)cz
>
>

Menu98

[*] Petr Studeny <studeny(zv)olympo(tec)cz> - 22.4.1998 08:44:15



Zdravim

Mam jden dotaz ohledne komponenty Menu98, ktera tu byla trochu
konzultovana. Ma nekdo s ni zkusenosti natolik aby mi poradil:
Nefunguje mi u ni Disable a Enable jednotlivych polozek menu.
Nevim proc, zkousel jsem to ruzne a ani jedna mi nesla.

Predem dik


----------------------------------------------------------------
Petr Studeny
OLYMPO controls Ltd. e-mail: studeny(zv)olympo(tec)cz
Havrankova 33, 619 00 Brno phone: +421-05-43216101-11
----------------------------------------------------------------


The Revolutionary Guide to Delphi 2

[*] Martin Nedopil <nedopil(zv)eskon(tec)cz> - 22.4.1998 09:14:15

Na cetne zadosti :-) jsem dnes napsal structny obsah teto knihy.

The Revolutionary guide to Delphi 2
Various authors (Bob Swart, William Wako, Arjan Jansen, Paul Hinks, Douglas
Horn....)
Wrox Press Ltd. www.wrox.com
ISBN 1-874416-67-2 712 stran

Pocet hvezdicek znamena hodnoceni (subjektivni) * ..nic moc *****.. to je
neco
Pozor, hodnotim v dobe, kdy uz vse co je v knize znam!

Kapitola 1.
Letmy uvod do Delphi *
Kapitola 2
Delphi pascal , nove typy a prace s nimi *
Kapitola 3
OOP, zaklady, vyjimky, pointery **
Kapitola 4
Design aplikaci, zde autor ujel, prilis teoretizoval, zadny priklad 0
(nula)
Kapitola 5
Lad�n� aneb co se stane, je-li break behem OnPaint. Jak zavesit aplikaci
a jak
na to prijit. Pouzivani WinSight, SYM soubory, WinSpector. ***
Kapitola 6
Databaze. Letmo SQL, a VCL komponenty, par dobrych rad. ***
Kapitola 7
BDE. CFG soubory, In-memory table, aliasy, transakce, QBE komponenta ****
Kapitola 8
ReportSmith, preskakuji davam 0 (nula).
Kapitola 9
SQL a Interbase, triggery, stored procedure, ****
Kapitola 10
Psani komponent, runtime a design, events, help a instalace. *****
Kapitola 11
Data-aware komponenty, ukazkove TDBGauge, TDBmemo, ukazky praci s
TDataLinks a TFieldDataLinks. ***** a jeste jedna * navic.
Kapitola 12
property editors, mnoho ukazek. *****
Kapitola 13
Experti. Ukazka, sablonka expertu, fce, ViCiouS expert demo. ***** a
*
Kapitola 14
Windows API, messages, ***
Kapitola 15
WinExec, shell execute, ProcessMessages, EnumWindows, GetModuleUsage,
RegisterWindowMessage,
PostVirtualKeyEvents, DDE, *****
Kapitola 16
32bit Delphi, nove typy, nastaveni kompilatoru, nove komponenty, ukazka
na Thready, ****
Kapitola 17
DLL , pouzivani, tvorba, problemy, ****
Kapitola 18
Optimalizace, multitasking, **
Slepe strevo A (appendix)
Chyby v delphi a co s nimi, stack oveflow, **
Slepe strevo B
Ukazka databazove aplikace **
Slepe strevo C
Seznam pouzite literatury **

Soucasti knihy je i CD na kterem jsou zdroje z knihy+Dr.Bob neco
prihodil+3rd party komponenty. ****

Martin Nedopil
nedopil(zv)eskon(tec)cz
nedopil(zv)geocities.com
Delphi kitchen?: http://www.geocities.com/Athens/Olympus/5260 - dnes dve
nove animace, jinak nic.

Trivialni problem

[*] Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz> - 22.4.1998 09:26:25

Zdravim Delpfiny,

Mam takovouto konstrukci:

if MainForm.lblColorText.Caption='1' then
MainForm.Editor1.Font.Color:=frmNastaveni.Color1.Color;
if MainForm.lblColorText.Caption='2' then
MainForm.Editor1.Font.Color:=frmNastaveni.Color2.Color;
...
if MainForm.lblColorText.Caption='9' then
MainForm.Editor1.Font.Color:=frmNastaveni.Color9.Color;

Jak muzu pouzit ten MainForm.lblColorText.Caption v odkazu na
ColorX.color, abych nemusel vypisovat devet podminek?

Dekuji.

S pozdravem

Libor Krayzel
Czech Television, Television Studio Ostrava
Dvorakova 18
729 20 Ostrava

Phone: (069) 6201 375
E-mail: mailto:Libor.Krayzel(zv)czech-tv(tec)cz
> Homepage: http://members.tripod.com/~sovtop
> Fidonet: mailto:libor_krayzel(zv)p5.f59.n421.z2.fido(tec)cz
> E-mail2: mailto:sovtop(zv)email(tec)cz
>
>
>

Filtre (sprostota)

[*] Richard �trunc <rick.strunc(zv)writeme(tec)com> - 22.4.1998 09:55:02

>> Puvodni dotaz do teto diskuse vnesl nejaky maturant. Nevim jestli jsi
>> spravne pochopil, jaky je zasadni rozdil mezi vyberem pomoci klauzule
WHERE
>> a vyberem pomoci filtru na TQuery.
>
>Dakujem, neviem, ci to ma byt urazka, alebo pocta. Pred par dnami sa
>tu cosi hovorilo o slusnosti, nuz ale dobre. Rozhodne mam dost davno
>po maturite, a tiez s Delphi nerobim prvy den. Ak je tu niekto
>maturantom, potom to budete skor Vy. Mam pocit, ze zo vsetkych, co
>ste odpovedali hadam nikto nepochopil povodnu otazku :>Kto je tu maturant ? Ja alebo vy, ked neviete odpovedat na taku hlupu
>otazku ? Odpovede sa zamerali na to, ako pouzivat a ako funguje SQL.
>A pritom mne stacilo vediet, ci ma manual od Borlandu pravdu alebo
>nie . S chapanim SQL a filtrov to nema nic spolocne, ked Borland sam
>cosi o analogii (stale sa bavime o local SQL) hovori. A tak tomu
>jednoducho verim alebo nie. Nekupujem si predsa Delphi nato, aby som
>prestudoval, ako BDE vnutri presne funguje, ale nato, aby som ho
>pouzival a riadnil sa manualmi a online helpom a spolahol sa na to,
>co tam pisu.


Podle mne je to od tebe dost sproste. Nekdo ti tu chce pomoct, protoze jsi
opravdu napsal, ze maturujes a ty ho hned zacnes takhle napadat a
zesmesnovat. Nevim, co vubec delas v konferenci. Ty mas co psat o
slusnosti.
Abych ti osvezil pamet, posilam kousek tveho puvodniho mailu:

maturujem nad pouzivanim filtrov v Delphi (TTable i TQuery).>> Doufam, ze jsme nasemu maturantovi neudelali v hlave prilis velky zmatek
>> diky nasim rozpornym nazorum.
>> Bylo by urcite skoda, kdyby ve sve maturitni praci uvadel zjevne
nepravdy.
>
>Na to mi je tazko nejako odpovedat, pretoze je to sama urazka a
>narazka. Mam uz davno po maturite a programovanim sa zivim uz osmy
>rok. Dufal som, ze tato konferencia je spolkom odbornikov, ktori radi
>poradia. Je mi velmi luto, ze je tu par borcov, ktori si o sebe
>myslia, ze su najgenialnejsi na svete, ale pritom nevedia ani len
>dobre precitat otazku, na ktoru tak povysenecky odpovedaju.


Tak tady jsi presne ukazal, kdo si o sobe mysli, ze je nejinteligentnejsi na
svete....

>Ak by som stal pred Vami, dufam ze by ste sa prepadli od hanby za
>tieto narazky. A ja by som mal chut vam jednu vlepit.

No comment...

>> Doufam tez, ze se tato konfernce nezvrhne ve vselidove hlasovani o
>> tom, zda je nebo neni mozne filtrovat v TQuery.
>
>NEPYTAL SOM SA CI JE TO MOZNE, ALE NA JEDNU VELMI KONKRETNU VEC : AKO
>NASTAVIT FILTER TAK, MI NAJDE TEXT UPROSTRED. NA TOTO MI NIKTO Z VAS
>"GENIALNYCH BOHOROVNYCH PROFESIONALOV" NEODPOVEDAL. ASI NIE STE AZ
>TAKY DOBRY.


Nejen, ze jsi zacal urazet jednoho konkretniho cloveka, kdyz ti nikdo
neodpovedel
na tvoji otazku, tak jak chces, tak zacnes urazet vsechny ostatni. Ze ti
neni
hanba...

>Mam pocit, ze pred tyzdnom Adam HAUNER stanovil pravidla, a bolo tam
>cosi aj o slusnosti. Doporucujem Vam to precitat si.
>
To dopurucuju ja tobe.

>Takisto by som si z pozicie "maturanta" dovolil upozornit napr. na to
>, ze zrejme ste tiez vsetci napr. nezvladli binarne a ine prilohy,
>ked neviete poslat ani normalny mail, bez kadejakych attachmentov.
>Ale to uz je ina tema.

Tak co v tyhle konferenci jeste delas. Nejen, ze nas tu vsechny obtezujes
temito urazkami, ale kdyz nemas co delat, tak na I-netu se vyskytuji
spousty konferenci, kde muzes do nekoho mlatit, jak se ti zlibi.
Zkus hledat konferenci s nazvem nejak "sado" nebo tak podobne.
Urcite nebudes litovat a bude to lepsi jak pro nas, tak pro tebe.
Omlouvam se velice vsem za Off Topic, ale nemohl jsem si pomoci,
kdyz se vyskytnou taci jedinci, kteri zacnou bezduvodne urazet vsechny
v konferenci a jeste se odkazuji na pravidla.


Richard Strunc

rick.strunc(zv)writeme.com

Zip

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 22.4.1998 10:05:31

> Pokud nekdo vite, kde se nachazi nejaka free komponenta na zipovani =
> dejte mi prosim vedet.
> Zkousel jsem ZipMaster (DelZip14), ale ten pri vetsim poctu souboru =
> tuhne.

Ja pouzivam Abbrevii od TurboPower Software, ale je to komercni produkt.

S pozdravem
Petr Zahradnik, pocitacovy expert

==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Jezkova 12, 400 11 Usti nad Labem ===
=== Telefon, fax: 047-5501627, mobilni GSM: 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================

Mys MS Intellipoint a Delphi

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 22.4.1998 10:05:31

> Chtel bych ve svych programech pouzivat mys MS Intellipoint, ale nevim,
> jak nato. Nevi nekdo ?

Je na to komponenta MSWheel.

S pozdravem
Petr Zahradnik, pocitacovy expert

==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Jezkova 12, 400 11 Usti nad Labem ===
=== Telefon, fax: 047-5501627, mobilni GSM: 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================

Tip dne

[*] Stepan Cerny <chaosz(zv)geocities(tec)com> - 22.4.1998 10:11:15

Pokud potrebujete hlidat minimalni a|nebo maximalni velikost formulare,
je zde pekna procedurka:
(3 vykonne radky) !!

procedure TForm1.WMGetMinMaxInfo(var Msg: TWMGetMinMaxInfo);
begin
{ ---------------------------------------------}
{ Put your numbers in place of }
{ MIN_WIDTH, MIN_HEIGHT, MAX_WIDTH, MAX_HEIGHT }
{ }
{ To allow only horizontal sizing, put }
{ form's 'Height' property in place of MIN_HEIGHT, MAX_HEIGHT }
{ ---------------------------------------------}
Msg.MinMaxInfo^.ptMinTrackSize := Point(MIN_WIDTH, MIN_HEIGHT);
Msg.MinMaxInfo^.ptMaxTrackSize := Point(MAX_WIDTH, MAX_HEIGHT);
inherited
end;

Pokud chcete vice takovych speku tak prosim:
http://www.gnomehome.demon.nl/uddf/

Packo, shledacko
Stepan Cerny
chaosz(zv)geocities.com


Trivialni problem

[*] Ondrej Kelle <it(zv)nnsk.sk> - 22.4.1998 10:35:11

Ahoj,

z Tvojho kodu nie je jasne, akeho typu su Color1, Color2 ... atd. na
frmNastaveni... Ak su to potomci TComponent, mozes pouzit FindComponent,
napr.

1)

tmp := frmNastaveni.FindComponent('Color' + lblColorText.Caption);
if Assigned(tmp) then
Editor1.Font.Color := tmp.Color;

FindComponent hlada podla mena t.j. vlastnosti Name.

Alebo mozes pouzit vlastnost Tag tak, ze v design-time nastavis Color1.Tag
:= 1, Color2.Tag := 2 ... atd.

2)

cislo := StrToInt(lblColorText.Caption);
for i := 0 to frmNastaveni.ComponentCount - 1 do
begin
tmp := frmNastaveni.Components[i];
if tmp is _trieda_ then
if _trieda_(frmNastaveni.Components[i]).Tag = cislo then
Editor1.Font.Color := _trieda_(frmNastaveni.Components[i]).Color;
end;

Ondrej Kelle
it(zv)nnsk.sk

-----Original Message-----
From: Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz>
To: '*** Delphi' <delphi(zv)pinknet(tec)cz>
Date: 22. apr�l 1998 9:56
Subject: Trivialni problem


>Zdravim Delpfiny,
>
>Mam takovouto konstrukci:
>
>if MainForm.lblColorText.Caption='1' then
>MainForm.Editor1.Font.Color:=frmNastaveni.Color1.Color;
>if MainForm.lblColorText.Caption='2' then
>MainForm.Editor1.Font.Color:=frmNastaveni.Color2.Color;
>...
>if MainForm.lblColorText.Caption='9' then
>MainForm.Editor1.Font.Color:=frmNastaveni.Color9.Color;
>
>Jak muzu pouzit ten MainForm.lblColorText.Caption v odkazu na
>ColorX.color, abych nemusel vypisovat devet podminek?
>
>Dekuji.
>
> S pozdravem
>
> Libor Krayzel
>Czech Television, Television Studio Ostrava
>Dvorakova 18
>729 20 Ostrava
>
>Phone: (069) 6201 375
>E-mail: mailto:Libor.Krayzel(zv)czech-tv(tec)cz
>> Homepage: http://members.tripod.com/~sovtop
>> Fidonet: mailto:libor_krayzel(zv)p5.f59.n421.z2.fido(tec)cz
>> E-mail2: mailto:sovtop(zv)email(tec)cz
>>
>>
>>
>

Filtre (sprostota)

[*] �ke��k Jaroslav�������6�����̿ - 22.4.1998 10:36:13

>>NEPYTAL SOM SA CI JE TO MOZNE, ALE NA JEDNU VELMI KONKRETNU VEC : AKO
>>NASTAVIT FILTER TAK, MI NAJDE TEXT UPROSTRED. NA TOTO MI NIKTO Z VAS
>>"GENIALNYCH BOHOROVNYCH PROFESIONALOV" NEODPOVEDAL. ASI NIE STE AZ
>>TAKY DOBRY.
>
Na to jsem Vam odpovedel. Jenomze vy jste se do te miry urazil a rozcilil,
ze jste necetl dost
pozorne muj prispevek. Proto zde kopiruji cast meho puvodniho prispevku k
tomuto problemu.
...............
Rovnez i TQuery obsahuje dulezitou udalost OnFilteredRecord.
Zde muzete napsat libovolnou proceduru s libovolne slozitymi podminkami.
Pokazde, kdyz uznate, ze veta se ma do vyberu zaradit, nastavite promennou
Accept := true, jinak false.
Zapnutim vlastnosti Filtered se uplatni udalost pro kazdy zaznam v Datasetu
a pokud je hodnata Accept = false, pak je zaznam v datasetu potlacen.
............
Muzete tedy napsat vlastni poceduru s puzitim napr. funkce Pos()

Jednoduchy priklad:
---------------------------
procedure TForm1.Query1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
if Pos(hledany vyraz: string, prohledavana polozka: string) > 0 then
Accept := true
else
Accept := false;
end;
--------------------------
Timto bych chtel tuto az prilis emotivni diskusi vratit do normalu.

Diky vysvetleni Libora Krayzela z Ostravy jsem pochopil,
ze slovo "maturant" muze mit v jinem kraji hanlivy vyraz.
Ani ve snu by me to nenapadlo.
Dekuji Liborovi za vysvetleni.

PS. Nejsem a nikdy jsem nebyl sudruh.

Jaro.

Trivialni problem

[*] V�t�zslav Gazda������u��n�?��? - 22.4.1998 10:48:22

Nevim co znamena v tom ukazkovem kodu frmNastaveni.Color1..9, ale
predpokladam, ze to bude nejaka komponenta. Protoze nevim jak se jmenuje
jeji trida, dal jsem ji nazev TMyComponent.

Potom by to mohlo byt napsano takto:

procedure Test;
var
oComponent:TComponent;
begin
oComponent := MainForm.FindComponent('Color' +
MainForm.lblColorText.Caption);

MainForm.Editor1.Font.Color :=
TMyComponent(oComponent).Color;
end;

Vita


Filtre

[*] psoft <psoft(zv)kosice.telecom.sk> - 22.4.1998 10:49:55

> V SQL je prikaz LIKE
>
> SELECT * FROM ... WHERE nazov like '%RUM%'
>
> ale jestli hleda mala ci velka pismena, to zalezi na implementaci
> serveru. Napr. u MSSQL mam nastaveno Sort czech case insensitive a Code
> Page 1250 a na dotaz nazov like '%R%' najde 'rum' i 'BRANDYS'
>
> jak je to u jinejch databazi, to jsem nezkousel.

Dakujem pekne za odpoved.

Otazka znela trochu inac : viem dobre pouzivat SQL a LIKE i WHERE.
Mna zaujima, ako to iste dosiahnut cez vlastnost Filter.

1.Nechcem napr. pouzit TQuery a where, aby som nemusel znovu
nacitavat data. Filter uz funguje na datach, ktore su v tej chvili u
mna, neide teda na server.

2.Nechcem, resp. ani sa neda pouzit nejaky SQL server, ved nebudem
predsa v aplikacii ktora ma dokopy tri tabulky po 1000 zapisov
pouzivat atomovu bombu, ked staci gumipuska ...

3. Filtrovat data chcem, aj ked ich tam mam malo ...

4.Preto ma zaujima filtrovanie u tabuliek, nie u Query, tam mozem dat
vzdy spravny SELECT.

5.Viete niekto ako urobit napr. SQL dotaz na uz existujucom dotaze ?
Dam napr. SELECT * from ADRESAR.DB where stat='SVK'
Po prezreti chcem dat prisnejsi select
SELECT * from ADRESAR.DB where stat='SVK' and mesto='PRESOV',
Je jasne, ze ide o podmnozinu prveho, preto nie je potrebne davat
dotaz na server, ale staci zredukovat ten prvy. A navyse filtrujem
uz len prvy dotaz, nie celu tabulku. Da sa to, videl som to, ale
mi to nebolo treba. Teraz, ked mi to treba neviem to najst.

Viete niekto o niecom takom ? (To je uz ina otazka ako ta
povodna).

Dakujem.
> ''''
> (O O)
> +-------------oOO------(_)--------------------+
> | PSOFT, ing.Peter Cirip |
> | Sibirska 18, 080 01 Presov, Slovensko |
> | Mobil : 0903 601 068 091/723 104 |
> | E-mail: psoft(zv)ke.telecom.sk |
> | WEB : http://www.ke.telecom.sk/psoft/ |
> +-------------------------------oOO-----------+
> |__|__|
> || ||
> ooO Ooo
>

frekvence procesoru

[*] psoft <psoft(zv)kosice.telecom.sk> - 22.4.1998 10:49:55

>
>
> Dobre al jak to zjistuje BIOS pri restartu?(taky provadi testy ktere zmeri
> frekvenci procesoru?)
> Chci to zjistit pro WIN95
> Jestli ale mate nejakou testovaci rutinu pro delphi 2 prosim poslete mi ji.

Najjednoduchsim testom je spytat sa priamo procesora. Mam pocit, ze
od Pentia bola zavedena instrukcia, ktora vrati typ, resp. meno
procesora, hadam by vedel aj frekvenciu (na ktoru je stavany,
najamprovany moze byt asi aj inac ...)

Ide o instrukciu CPUID. Informacie s publikacie Mikroprocesory INTEl
- Pentium a spol. :, od Grady, str. 280 :

Instrukcia CPUID vratcia informacie o procesore na ktorom preva
bezi. Typ informacie je urceny obsahom EAX.

Ak vstup EAX = 0
vystup EBX:EDX:ECX = identifikacia vyrobcu v ASCII

Ak vstup EAX=1
vystup EAX[3..0] = id
EAX[7..4] = model
EAX[11.8] = rodina (5=Pentium)
EAX[31..12] = rezervovane pre buduce pouzitie

EDX = priznaky vlastnosti
EDX[0] = na cipe je FPU (koprocesor)
EDX[7] = imoznuje vynimku 18 (Machine check)


Taktiez existuje instrukcia RDMSR, ktora predava informacie
technickeho razu, ktore poskytuje Pentium. Ide o testovanie
krokovania, monitorovanie vykonnosti a kontrolu chyb procesora. Tam
ale moja mudra knizka mlci, odkazuje iba na dokumentaciu Intelu.


Myslim, ze takto nejako by to mohol BIOS zistovat.Neskusal som to,
ale hadam by to mohlo byt pouzitelne. Co to urobi na procesore mensom
ako Pentium, neviem ... Ak sa mylim, rad sa necham poucit ...
> ''''
> (O O)
> +-------------oOO------(_)--------------------+
> | PSOFT, ing.Peter Cirip |
> | Sibirska 18, 080 01 Presov, Slovensko |
> | Mobil : 0903 601 068 091/723 104 |
> | E-mail: psoft(zv)ke.telecom.sk |
> | WEB : http://www.ke.telecom.sk/psoft/ |
> +-------------------------------oOO-----------+
> |__|__|
> || ||
> ooO Ooo
>

Filtre (sprostota) a podobne ine

[*] Maros Klaco <klaco(zv)mtf.stuba.sk> - 22.4.1998 10:57:47

Caute vsetci,

som prihlaseny v tejto konferencii od zaciatku. A musim povedat, ze
postupne to tu zacina upadat do uplne inych dimenzii, ako bolo povodne
urcene. A nestacim sa cudovat.

Mam dost velku trpezlivost , ale co sa uz tu deje to je uplna haluz.
Prestante prosim Vas jeden druheho napadat v konferencii za vselijake
banalne veci.

Je to predsa konferencia o programovani v DELPHI, pripadne nejakych
blizkych OFFTopicoch.

Maros


Trivialni problem

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 22.4.1998 11:01:04

Co mne napada je:

for i:=0 to MainForm.ComponentCount-1 do
if MainForm.Components[i].Name='Color'+MainForm.lblColorText.Caption
then begin
MainForm.Editor1.Font.Color := (MainForm.Components[i] as
TControl).Color;
break;
end;

J.Jahoda

> -----P�vodn� zpr�va-----
> Od: Krayzel Libor [SMTP:Libor.Krayzel(zv)czech-tv(tec)cz]
> Odesl�no: 22. dubna 1998 9:26
> Komu: '*** Delphi'
> P�edm�t: Trivialni problem
>
> Zdravim Delpfiny,
>
> Mam takovouto konstrukci:
>
> if MainForm.lblColorText.Caption='1' then
> MainForm.Editor1.Font.Color:=frmNastaveni.Color1.Color;
> if MainForm.lblColorText.Caption='2' then
> MainForm.Editor1.Font.Color:=frmNastaveni.Color2.Color;
> ...
> if MainForm.lblColorText.Caption='9' then
> MainForm.Editor1.Font.Color:=frmNastaveni.Color9.Color;
>
> Jak muzu pouzit ten MainForm.lblColorText.Caption v odkazu na
> ColorX.color, abych nemusel vypisovat devet podminek?
>
> Dekuji.
>
> S pozdravem
>
> Libor Krayzel
> Czech Television, Television Studio Ostrava
> Dvorakova 18
> 729 20 Ostrava
>
> Phone: (069) 6201 375
> E-mail: mailto:Libor.Krayzel(zv)czech-tv(tec)cz
> > Homepage: http://members.tripod.com/~sovtop
> > Fidonet: mailto:libor_krayzel(zv)p5.f59.n421.z2.fido(tec)cz
> > E-mail2: mailto:sovtop(zv)email(tec)cz
> >
> >
> >

Trivialni problem

[*] Ivan Tur�an <iturcan(zv)borland(tec)cz> - 22.4.1998 11:08:54

Hi Libor,
skus pouzit case

case label1.caption[1] of
'1': ...
'2': ...
'3': ...
...
end;


Ivan Turcan
Borland, s.r.o.
E-Mail: iturcan(zv)borland(tec)cz


----- P�vodn� zpr�va -----
Odes�latel: Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz>
Komu: '*** Delphi' <delphi(zv)pinknet(tec)cz>
Datum: 22. dubna 1998 9:53
P�edm�t: Trivialni problem


>Zdravim Delpfiny,
>
>Mam takovouto konstrukci:
>
>if MainForm.lblColorText.Caption='1' then
>MainForm.Editor1.Font.Color:=frmNastaveni.Color1.Color;
>if MainForm.lblColorText.Caption='2' then
>MainForm.Editor1.Font.Color:=frmNastaveni.Color2.Color;
>...
>if MainForm.lblColorText.Caption='9' then
>MainForm.Editor1.Font.Color:=frmNastaveni.Color9.Color;
>
>Jak muzu pouzit ten MainForm.lblColorText.Caption v odkazu na
>ColorX.color, abych nemusel vypisovat devet podminek?
>
>Dekuji.
>
> S pozdravem
>
> Libor Krayzel
>Czech Television, Television Studio Ostrava
>Dvorakova 18
>729 20 Ostrava
>
>Phone: (069) 6201 375
>E-mail: mailto:Libor.Krayzel(zv)czech-tv(tec)cz
>> Homepage: http://members.tripod.com/~sovtop
>> Fidonet: mailto:libor_krayzel(zv)p5.f59.n421.z2.fido(tec)cz
>> E-mail2: mailto:sovtop(zv)email(tec)cz
>>
>>
>>
>

Kde je CD ...

[*] Peter Liptak <liptak(zv)antimon.gov.sk> - 22.4.1998 11:13:47

Zdravim vsetkych ...

Mam asi jednoduchu otazku, ako zisti ktory disk je CD mechanika
je na to funkcia alebo sa to de niekde precitat ??? Dik Peter
--
-----------------------------------------------------------------
| Ing. Peter Liptak Email: liptak(zv)antimon.gov.sk |
| Antimonopoly office of SR Voice: +42-7-5797 368 |
| Drienova 24 Voice: +42-7-234 043 |
| 826 03 BRATISLAVA Fax : +42-7-5797 365 |
| Slovak Republic BBS : +42-7-236 103 |
-----------------------------------------------------------------


RAS komponenta

[*] Tomas Skopik <skopik(zv)vtv(tec)czn(tec)cz> - 22.4.1998 11:31:10

Zdravim.

O komponente od Alese Berky vim, ale ta je pro Delphi 3. Ja mam Delphi 2. Takze to pouzit nemuzu, ale nasel jsem tam alespon to sledovani spojeni.
Mam tady komponentu pro RAS, ktera je i pro Delphi 2, ale neumi to sledovani. Je z CDcka od Petra Zahradnika. Pokud nemate CDcko a meli by jste o tu komponentu zajem tak muzu poslat, ma jen 10kb.

Bye,
-----
Tom� �kop�k
mail to : skopik(zv)vtv(tec)czn(tec)cz
>*** RAS Komponenta:
>Kvalitne udelanou FREE-komponentu na vytaceni a pokladani, sledovani
>prave aktivnich spojeni pres RAS (i s ukazkovym programem) delal
>kamarad - ma ji na HomePage (http://members.xoom.com/aberka)
>
> Klokan
>
>P.S.
>Nevideli jste nekde komponentu na "Pripojeni vzdaleneho disku" pod W95,
>nebo alespon poradte jak ji mam udelat.
>Diky

Delphi - Dotaz

[*] Radek Dostal <DOSTAL(zv)gyzamb(tec)cz> - 22.4.1998 11:40:37

Nevi prosim vas Nekdo jak se da jednoduse zjistit v delphi seriove
cislo Mikroprocesoru? Dekuji predem za vasi odpoved.
Radek Dostal.
PS: V pripade zapojeni vice procesoru staci kdyz funkce bude vracet
cislo jednoho a toho sameho procesoru.

IBObject - prima konektivita k Interbsi

[*] �ke��k Jaroslav�������6�����̿ - 22.4.1998 12:28:25

Zdravim.
Pred nedavnem jsem s jednim pritelem objevil uzasnou vec.
Z www.ibbject.com jsme stahli mnozstvi komponent pro primy pristup
k Interbasi. Zjistili jsme, ze v mnoha pripadech je to az nekolikansobne
rychlesi nez pri pouziti SQL links nebo ODBC.
Napr. pri vyberu 10.0000,- zaznamu nam trva normalne presun na posledni
zaznam az 40 sec. Pri pouziti konektivity IB to same trvalo asi 1 sec.
Vim, ze tyto objekty jsou na tomto serveru jiz dele. Mozna jsme
jen znovu objevili Ameriku.
Proto se chci zeptat, zda s tim nema jiz nekdo zkusenosti a zda nevi
nekdo kde to u nas koupit. Na tom webu uvadeji cenu asi 400 US.

Za poskytnute informace dekuji
Jaro

----------------------------------------------------------------------------
---
SINEA software telefon: 0446/612468
Ing. Jaroslav Skerik e-mail: sinea(zv)sinea(tec)cz
Tylova 957 privat: jaro(zv)sinea(tec)cz
564 01 ZAMBERK http://www.sinea(tec)cz/

Instalacia komponent v DELPHI3

[*] Ondrej KOZIAK E121 <ono(zv)vdstudentserv02.utc.sk> - 22.4.1998 12:39:52

Zdravim vsetkych delphistov !

Som zaciatocnik, a donedavna som sa ucil v DELPHI 2 developer, teraz mam
DELPHI 3 C/S. Moj problem je , ze komponenty ktore som mal v D2 mi nejdu
nainstalovat v D3 aj ked som si obstaral ich verzie pre D3. Vascinou mi to
hadze fatal error ze k suboru *.dcu nemoze najst *.pas, ale D2 ich
nevyzadovali. Mozno v tomto momente asi nechapem presny princip
insatalacie komponent , ale prosil by som niekoho o male vysvetlenie,
myslim ze by mozno pomohol aj inym zacinajucim .

Dakujem za Vase rady.

S pozdravom Ondrej Koziak , student.

Trivialni problem

[*] Ivan Tur�an <iturcan(zv)borland(tec)cz> - 22.4.1998 13:24:49

Hi Libor,

skus pouzit case
case label1.caption[1] of
'1': ...
'2': ...
'3': ...
...
end;

Ivan Turcan
Borland, s.r.o.
E-Mail: iturcan(zv)borland(tec)cz


----- P�vodn� zpr�va -----
Odes�latel: Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz>
Komu: '*** Delphi' <delphi(zv)pinknet(tec)cz>
Datum: 22. dubna 1998 9:53
P�edm�t: Trivialni problem


>Zdravim Delpfiny,
>
>Mam takovouto konstrukci:
>
>if MainForm.lblColorText.Caption='1' then
>MainForm.Editor1.Font.Color:=frmNastaveni.Color1.Color;
>if MainForm.lblColorText.Caption='2' then
>MainForm.Editor1.Font.Color:=frmNastaveni.Color2.Color;
>...
>if MainForm.lblColorText.Caption='9' then
>MainForm.Editor1.Font.Color:=frmNastaveni.Color9.Color;
>
>Jak muzu pouzit ten MainForm.lblColorText.Caption v odkazu na
>ColorX.color, abych nemusel vypisovat devet podminek?
>
>Dekuji.
>
> S pozdravem
>
> Libor Krayzel
>Czech Television, Television Studio Ostrava
>Dvorakova 18
>729 20 Ostrava
>
>Phone: (069) 6201 375
>E-mail: mailto:Libor.Krayzel(zv)czech-tv(tec)cz
>> Homepage: http://members.tripod.com/~sovtop
>> Fidonet: mailto:libor_krayzel(zv)p5.f59.n421.z2.fido(tec)cz
>> E-mail2: mailto:sovtop(zv)email(tec)cz
>>
>>
>>
>

Kde je CD ...

[*] Peter liptak <liptak(zv)linux.pusr.sk> - 22.4.1998 13:27:01

Zdravim vsetkych ...

Mam asi jednoduchu otazku, ako zistim ktory disk je CD mechanika
je na to funkcia alebo sa to da niekde precitat ???

Dik Peter

--
*************************************************************************
* Ing.Peter Liptak Tel.:07/5797 368 *
* Antimonopoly office of SR Fax :07/5797 365 *
* Drienova 24 e-mail:liptak(zv)pusr.sk *
* 826 03 Bratislava *
*************************************************************************

WinSock bez okna

[*] VOLTRR1(zv)epr1.ccmail.x400.cez(tec)cz - pr 1998 13:28:51 -0700

Nazdar,

nevite nekdo jak komunikovat pres WinSock tak abych nepotreboval hWND okna a
message posilat do nej ,ale treba
nahazovat TEvent nebo semafor nebo uplne jikak - ale bez okna. Radek Voltr
voltrr1(zv)epr1.ccmail.x400.cez(tec)cz


Delphi2 - grafika a label

[*] ing. Trn�n� Milan <bodlak1(zv)czn(tec)cz> - 22.4.1998 13:51:28

Zdrav�m v�echny.
M�m zde probl�m, se kter�m si nev�m rady. Pot�ebuji pohybovat transparetn� ikonou po bitmap�. To u� chod�, ale jen jedna. Pot�eboval bych jich 0 a� 50, a aby to nebylo tak "jednoduch�" mus� b�t ke ka�d� ikon� "p�ilepen�" label.
N�co se u� povedlo, ale v celku je to zat�m nepou�iteln�.

A je�t� jeden probl�m, kter�mu se ka�d� ze za��tku sm�l a pak zamrzl �sm�v. Jak vygenerovat label, kter� nen� ve formul��i ?

Za p��padnou pomoc v�em p�edem d�kuji !!!

Vyjimka

[*] Simicek Pavel <simicek(zv)uvss.fme.vutbr(tec)cz> - 22.4.1998 13:55:28

Ahoj vsichni!
Mel bych takovyto, mozna trivialni problem.
Mam zvukovy WAV soubor a oteviram jej pres TMediaPlayer.Open takhle:

try
Player.Open;
except
MessageDlg('Nestandartni format, nelze otevrit, ... blablabla......
end;

Nyni pokud nedojde k vyjimce, chci nacist data z tohoto WAV souboru pro
graficke zobrazeni. Lze to nejak ELEGANTNE (ne napriklad pres dalsi
booleanovskou promennou).
Napsat toto nacitani jenom tak za toto vse nejde protoze v pripade ze
nedojde ke korektnimu otevreni souboru, nacitani se nesmi provadet.

Pokud bych to mel shrnout, potreboval bych neco takoveho jako:

try
Pokus o otevreni WAV souboru
except
Zahlaseni ze to nejde
else
Pokud byl soubor korektne otevren lze pristoupit k nacteni dat pro
zobrazeni
end;

Ovsem takto mi to kompilator nesezere, protoze v miste kde mam ELSE
se shani po END coz i docela chapu.

Da se to tedy nejak takhle napsat?

Dekuji za jakoukoliv snahu pomoci.
Ahoj Pavel
-----------------------------------------------------------
Ing. Pavel Simicek
UVSSaR, FS, VUT Brno, Technicka 2, 616 69
Tel. 05/41142461
e-mail simicek(zv)uvss.fme.vutbr(tec)cz
-----------------------------------------------------------


Trivialni problem

[*] Ivan Tur�an <iturcan(zv)borland(tec)cz> - 22.4.1998 14:04:44

Hi Libor,

co tak pouzit case ?
napr.:
case label1.caption[1] of
'1': ...
'2': ...
'3': ...
...
end;

Ivan Turcan

Borland, s.r.o.
E-Mail: iturcan(zv)borland(tec)cz


----- P�vodn� zpr�va -----
Odes�latel: Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz>
Komu: '*** Delphi' <delphi(zv)pinknet(tec)cz>
Datum: 22. dubna 1998 9:53
P�edm�t: Trivialni problem


>Zdravim Delpfiny,
>
>Mam takovouto konstrukci:
>
>if MainForm.lblColorText.Caption='1' then
>MainForm.Editor1.Font.Color:=frmNastaveni.Color1.Color;
>if MainForm.lblColorText.Caption='2' then
>MainForm.Editor1.Font.Color:=frmNastaveni.Color2.Color;
>...
>if MainForm.lblColorText.Caption='9' then
>MainForm.Editor1.Font.Color:=frmNastaveni.Color9.Color;
>
>Jak muzu pouzit ten MainForm.lblColorText.Caption v odkazu na
>ColorX.color, abych nemusel vypisovat devet podminek?
>
>Dekuji.
>
> S pozdravem
>
> Libor Krayzel
>Czech Television, Television Studio Ostrava
>Dvorakova 18
>729 20 Ostrava
>
>Phone: (069) 6201 375
>E-mail: mailto:Libor.Krayzel(zv)czech-tv(tec)cz
>> Homepage: http://members.tripod.com/~sovtop
>> Fidonet: mailto:libor_krayzel(zv)p5.f59.n421.z2.fido(tec)cz
>> E-mail2: mailto:sovtop(zv)email(tec)cz
>>
>>
>>
>

ServerSocket, ClientSocket

[*] Frantisek Sobola <frank_sb(zv)email(tec)cz> - 22.4.1998 15:07:54

Dobry den,
chtel bych se zeptat, jestli nekdo nahodou nemate podrobnou dokumentaci (nebo kde ji pripadne najit) ke komponentam pro Internet. V Delphi3 je napoveda jen na zakladni funkce. Konkretne si nevim rady s komponentou TClientSocket a TServerSocket. Jak mam napr. rozlisit v udalosti ClientSocketRead zda je prijiman text nebo data jeste pred tim, nez se provede funkce ReceiveBuf nebo ReceiveText? Za pripadne odpovedi predem dekuji.

S pozdravem
Frantisek Sobola


Filtre

[*] "Ing.Jozef Strn�dik" <strnadik(zv)mrp.sk> - 22.4.1998 15:55:27

Ahojte vsetci,

Moja otazka, ako byvaleho foxkara je nasledovna:
V DBF subore mam field Numeric 11 (Width), 2 (Decimal) s nazvom HODNOTA. Potrebujem filtrovat polozky prislusnej Table, ktorych cela cast fieldu HODNOTA sa rovna nejakemu konkretnemu cislu. Napr. Truncate(TableHODNOTA.Value) = 10.
Skusal som
Table.Filter := 'INT(HODNOTA) = 10' ;
ale neuspel som takze teraz pouzivam
Table.Filter := 'HODNOTA >= 10 AND HODNOTA<11';
Neviete mi niekto poradit ?


A este k predchadzajucim prispevkom:

1) Zastanem sa mojho slovenskeho kolegu, jeho otazka sa skutocne tykala
property Filter a FilterOptions a NIE filtrovania procedurou OnFilterRecord pripadne klauzuly WHERE prikazu SELECT.

2) Na Slovensku zvykneme vyraz MATURUJEM NAD NIECIM pouzivam aj vo vyzname lamat si nad niecim hlavu resp. riesit nejaky problem.

Ale hlavne si myslim ze do konferencie o Delphi nepatria vulgarizmy, urazky, znevazovanie inych a uz vobec nie facky. Sustredte sa prosim na vecne a nie emotivne odpovede.

Jozef Strnadik
E-mail: strnadik(zv)mrp.sk


Som v koncoch...

[*] Hrtko, Michal <Hrtko(zv)varias.sk> - 22.4.1998 16:10:28

Zdravim vsetkych, vopred dakujem za akukolvek odozvu.

1;
Potrebujem naprogramovat v D3 DDE klienta, ktory by komunikoval s IE
4.0, ale nemozem ziskat konkretny popis DDE parametrov MSIE potrebnych
na komunikaciu.

2;
Pokusal som sa o vytvorenie vlastneho Active X komponentu, ale
bezuspesne. Po skompilovani sa mi vytvoril patricny .OCX, ale v registri
som nenasiel prislusne CLSID, aj ked som registroval komponent jednak z
prostredia Delphi, aj cez "regsvr32". Samozrejme v hypertexte sa moj
Active nespustil.

3;
Ak sa Internet Explorer moze spravat ako ActiveX komponent, ako ho mozem
vlozit do vlastneho formularu?

4;
Mozem naprogramovat ActiveX tak, aby spustal externy program?

Za kazdu odozvu budem mimoriadne vdacny.

Michal Hrtko.

Instalacia komponent v DELPHI3

[*] Michal ��ek����֫Ŭ?��e���n� - 22.4.1998 16:25:32


-----Original Message-----
From: Ondrej KOZIAK E121 <ono(zv)vdstudentserv02.utc.sk>
To: delphi(zv)pinknet(tec)cz <delphi(zv)pinknet(tec)cz>
Date: 22. dubna 1998 16:31
Subject: Instalacia komponent v DELPHI3


> Zdravim vsetkych delphistov !
>
>Som zaciatocnik, a donedavna som sa ucil v DELPHI 2 developer, teraz mam
>DELPHI 3 C/S. Moj problem je , ze komponenty ktore som mal v D2 mi nejdu
>nainstalovat v D3 aj ked som si obstaral ich verzie pre D3. Vascinou mi to
>hadze fatal error ze k suboru *.dcu nemoze najst *.pas, ale D2 ich
>nevyzadovali. Mozno v tomto momente asi nechapem presny princip
>insatalacie komponent , ale prosil by som niekoho o male vysvetlenie,
>myslim ze by mozno pomohol aj inym zacinajucim .
>
>Dakujem za Vase rady.
>
>S pozdravom Ondrej Koziak , student.

problem je v tom ze Delphi 3 pouzivaji jiny format souboru DCU nez Delphi 2
a proto ho pri instalaci komponent chteji prekompilovat. Tehdy tedy musis
mit prave ten pozadovany soubor PAS.

Michal


Filtre

[*] Enter Kosice - Igor Forgac <enter(zv)enterkosice.sk> - 22.4.1998 16:54:27

>> Na to mi je tazko nejako odpovedat, pretoze je to sama urazka a
narazka.....

a hned v zapati Ing. P.C. robi to iste:

> ....par borcov, ktori si o sebe myslia, ze su
> najgenialnejsi na svete, ale
> pritom nevedia ani len dobre precitat otazku, na ktoru
> tak povysenecky odpovedaju....

> ....chut vam jednu vlepit.
^^^^^^^^^^^^^^^^^^^^^^^^^

> ..."GENIALNYCH BOHOROVNYCH PROFESIONALOV"
> NEODPOVEDAL. ASI NIE STE AZ TAKY DOBRY.

> Ak ste taky frajeri, preco ste napr....
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

> Mam pocit, ze pred tyzdnom Adam HAUNER stanovil pravidla, a bolo tam
> cosi aj o slusnosti. Doporucujem Vam to precitat si.

Peter (ing.Peter Cirip), aj Ty sa riad pravidlami, ktore urcil AHA
Dostal si velmi peknu odpoved od Jara, tak bud rad
Lebo podla odozvy bola asi posledna.

Niektore odpovede (nie ta, ktora Ta rozculila) su naozaj arogantne,
ale treba sa nad take malickosti povzniest. Ved nakoniec ide
o odpoved - ci pomoze, aleb nie. Da sa ziskat vela poznatkov
aj z odpovedi, ktore vybocia z ramca otazky.

--- Igor Forgac --- Enter Kosice s.r.o. --- http://www.enterkosice.sk ---

PS: Radsej hamovat, ako banovat - to poznas aj z Markizy...

www

[*] Arthur <Arthur(zv)hlpsoft(tec)cz> - 22.4.1998 17:18:36

Zdravim
Nevite nekdo (ci nemate nekdo) neco o komunikaci s
www-serverem? Potreboval bych si v podstate rict o konkretni
soubor. Nejspis bych to vydoloval z iexploreru, ale pripada mi,
ze by mohla existovat nejaka jednodussi cesta, kdyz bych
navazal spojeni pres TCP primo...
Diky za namety Arthur

=====================================
David Arthur Muzatko
HelpSoft, spol. s r. o.
Uruguayska 1, Praha 2
tel./fax.: 24255816, 90004272-5
e-mail: Arthur(zv)HlpSoft(tec)cz
=====================================

Trivialni problem

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 22.4.1998 17:32:59

Krayzel Libor wrote:

> Mam takovouto konstrukci:
>
> if MainForm.lblColorText.Caption='1' then
> MainForm.Editor1.Font.Color:=frmNastaveni.Color1.Color;
> if MainForm.lblColorText.Caption='2' then
> MainForm.Editor1.Font.Color:=frmNastaveni.Color2.Color;
> ...
> if MainForm.lblColorText.Caption='9' then
> MainForm.Editor1.Font.Color:=frmNastaveni.Color9.Color;
>
> Jak muzu pouzit ten MainForm.lblColorText.Caption v odkazu na
> ColorX.color, abych nemusel vypisovat devet podminek?

Snadno. Deklaruj frmNastaveni.Color:array[1..9] of TColor, a u
lblColorText napln Tag 1..9. Potom staci zavolat:

with MainForm do
Editor1.Font.Color:=frmNastaveni.Color[lblColorText.Tag];

Jestli nejde udelat to pole, pouzij take Tag a pak udelej vyhledavaci
cyklus.

S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz
Tel.: 02/795 29 56
Krystofova 1016, 149 00 Praha 4
CZ


Vyjimka

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 22.4.1998 17:50:40

Vyjimky jsou genialni v tom, ze pises vse tak jako by kazdy krok byl
uspesny, tzn. ze konstrukce

try
Player.Open
<nacitani souboru>
except
<osetreni chyby>
end ;

je preste to, co chces.

>Mam zvukovy WAV soubor a oteviram jej pres TMediaPlayer.Open takhle:
>
>try
> Player.Open;
>except
> MessageDlg('Nestandartni format, nelze otevrit, ... blablabla......
>end;
>
>Nyni pokud nedojde k vyjimce, chci nacist data z tohoto WAV souboru pro
>graficke zobrazeni. Lze to nejak ELEGANTNE (ne napriklad pres dalsi
>booleanovskou promennou).
>Napsat toto nacitani jenom tak za toto vse nejde protoze v pripade ze
>nedojde ke korektnimu otevreni souboru, nacitani se nesmi provadet.

Filtre

[*] �ke��k Jaroslav�������6�����̿ - 22.4.1998 17:52:22

K vasemu dotazu bohuzel odpovedet nemohu, protoze jsem to nedelal.

K bodu 1.
Pokud se domnivam, ze to pomoci property Filter nejde, navrhuji moznou
rovnocennou a fungujici alternativu.

K bodu 2.
Spatne jste to asi pochopil. Tech vulgarismu se dopustil vas slovensky
kolega, co se ho zastavate.
Facku chtel davat on mne a ne ja jemu. Ja bych si neco takoveho nikdy
nedovolil.
Ja taky nemohu vedet, ze nejake fraze maji na Slovensku dalsi vyznamy. To
mohl vedet on
a mohl se nad tim zamyslet drive nes napsal ten svuj rozcileny dopis.

S pozdravem Jaro.
-------------------------------------------------------

>A este k predchadzajucim prispevkom:
>
>1) Zastanem sa mojho slovenskeho kolegu, jeho otazka sa skutocne tykala
>property Filter a FilterOptions a NIE filtrovania procedurou OnFilterRecord
pripadne klauzuly WHERE prikazu SELECT.
>
>2) Na Slovensku zvykneme vyraz MATURUJEM NAD NIECIM pouzivam aj vo vyzname
lamat si nad niecim hlavu resp. riesit nejaky problem.
>
>Ale hlavne si myslim ze do konferencie o Delphi nepatria vulgarizmy,
urazky, znevazovanie inych a uz vobec nie facky. Sustredte sa prosim na
vecne a nie emotivne odpovede.
>
>Jozef Strnadik
>E-mail: strnadik(zv)mrp.sk


Vyjimka

[*] �ke��k Jaroslav�������6�����̿ - 22.4.1998 18:14:54

Zkus to takto

try
Pokus o otevreni WAV souboru
Pokud byl soubor korektne otevren lze pristoupit k nacteni dat pro
zobrazeni
except
Zahlaseni ze to nejde
end;

Jaro
-----------------------------------------
>
>Ovsem takto mi to kompilator nesezere, protoze v miste kde mam ELSE
>se shani po END coz i docela chapu.
>
>Da se to tedy nejak takhle napsat?
>
>Dekuji za jakoukoliv snahu pomoci.
>Ahoj Pavel
>-----------------------------------------------------------
> Ing. Pavel Simicek
> UVSSaR, FS, VUT Brno, Technicka 2, 616 69
> Tel. 05/41142461
> e-mail simicek(zv)uvss.fme.vutbr(tec)cz
>-----------------------------------------------------------

Filtre

[*] psoft <psoft(zv)kosice.telecom.sk> - 22.4.1998 19:34:33

> Tak to jsem blbe rozumel.
> K tem Vasim poznamkam by mne zajimalo jestli jste si opravdu jist jestli
> v pripade funkcionalniho filtru se data nenacitaji znovu.
Myslim, ze ano ...

> Ale ten Vas problem se da vyresit nastavenim property OnFilterRecord a
> vytvorit si vlastni proceduru, ktera bude pro kazdy zaznam volana a bude
> testovat kazdy zaznam.
To je dobre, ale problem ostane v tom,ze tu podmienku musim vediet
dopredu. A co ked chcem napr. aby si ju zadal sam uzivatel, napr. v
TEdit komponente ? Myslim, ze je jednoduchsie sfunkcnit Filter ako
vyrabat nejaky Parser, ktory mi bude vyhodnocovat vyraz podla stringu
...
> ''''
> (O O)
> +-------------oOO------(_)--------------------+
> | PSOFT, ing.Peter Cirip |
> | Sibirska 18, 080 01 Presov, Slovensko |
> | Mobil : 0903 601 068 091/723 104 |
> | E-mail: psoft(zv)ke.telecom.sk |
> | WEB : http://www.ke.telecom.sk/psoft/ |
> +-------------------------------oOO-----------+
> |__|__|
> || ||
> ooO Ooo
>

Filtre

[*] psoft <psoft(zv)kosice.telecom.sk> - 22.4.1998 19:41:47

> Urobit filter nad existujucim dotazom bez znovunacitanie viet vlatne ani neide, respektive iba tedy ked odpoved na dotaz sa zmestil do jednoho buffera.
> Fungovanie SQL dotazu prebieha takto : server vyhodnoti dotaz a posle iba jeden buffer dat a ked je potreba tak je poslany dalsi buffer dat.
To znamena ze vsetky udaje nikdy nie su pristupne .
Urob
> t filter nad uz existujucim dotazom preto je nezmysel. T Tungli Jano

O tom dost pochybujem, pretoze :

1. hlavny dovod - videl som na to komponent, takze to urcite ide.
2. videl som cosi aj v roznych FAQ o tomto
3. preco by potom bolo mozne nastvavit BDE ci ma mat napr. local SQL
format DB alebo DBF.
4.Nevidim problem, preco by nebolo mozne filtrovat SQL dotaz, ktory
sa vlastne navonok tvari ako tabulka - ved prave o to ide - podbnost
where clausuly a filtra - ak plati, potom je to priamo zabudovane v
TQuery - property Filter.

5.Pokial viem, napr. nie je mozne prerusit beziaci SQL dotaz, resp.
server sa snazi vratit cely vysledok dotazu. Preto nechapem zmysel
vyrazu "ak je potreba tak je poslany dalsi buffer dat".

6.Ak nieco neviem vyriesit, netvrdim, ze je to nezmysel. Videl som to
na vlastne oci. Takze ma o tom nepresvedcite takym chabym argumentom
ako bol tento.

Zdravim.
> ''''
> (O O)
> +-------------oOO------(_)--------------------+
> | PSOFT, ing.Peter Cirip |
> | Sibirska 18, 080 01 Presov, Slovensko |
> | Mobil : 0903 601 068 091/723 104 |
> | E-mail: psoft(zv)ke.telecom.sk |
> | WEB : http://www.ke.telecom.sk/psoft/ |
> +-------------------------------oOO-----------+
> |__|__|
> || ||
> ooO Ooo
>

Vyjimka

[*] Zdenek Drvota <zds(zv)pce.fairnet(tec)cz> - 22.4.1998 20:30:19

> Ahoj vsichni!
> Mel bych takovyto, mozna trivialni problem.
> Mam zvukovy WAV soubor a oteviram jej pres TMediaPlayer.Open takhle:

Domnivam se, ze staci upravit konstrukci takto
(vsunout mezi Try-Except):

> try
> Player.Open;
> Pokud byl soubor korektne otevren lze pristoupit k nacteni dat pro
> zobrazeni
Zobraz...
> except
> MessageDlg('Nestandartni format, nelze otevrit, ... blablabla......
> end;

Dojde-li k vyjimce v Player.Open, Zobraz uz se nezpracuje.
P.S. Omlouvam se za "potvrzeni cteni" v minulem prispevku.
*-----------------------------------------------*
ZDS, spol. s r. o.
Ing. Zdenek Drvota, director
Devotyho 775 tel/fax:+420-40-33837
530 02 Pardubice 41691
Czech Republic
e-mail: zds(zv)pce.fairnet(tec)cz (Win1250/ISO-8859-2)
http://www.angelfire.com/biz/zds
*-----------------------------------------------*

Instalacia komponent v DELPHI3

[*] Ondrej KOZIAK E121 <ono(zv)vdstudentserv02.utc.sk> - 22.4.1998 22:02:51


> problem je v tom ze Delphi 3 pouzivaji jiny format souboru DCU nez Delphi 2
> a proto ho pri instalaci komponent chteji prekompilovat. Tehdy tedy musis
> mit prave ten pozadovany soubor PAS.
>
> Michal
>
P. Michal ,

dakujem za informacie, ale aj tak mam este jedenu otazku.
Ja som si tie iste komponenty stiahol s oznacenim pre Delphi 3, bola to
Torry's page, ale tie komponenty odsahuju len subory DCU, znamena to teda
ze nie su tie komponenty pouzitelne ? Ale na druhej strane nechapem preco
by tam boli ako free download !
Prosim Vas teda este o radu .

Dakujem
Ondrej Koziak , student.

Instalacia komponent v DELPHI3

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 22.4.1998 22:07:05

> Som zaciatocnik, a donedavna som sa ucil v DELPHI 2 developer, teraz mam
> DELPHI 3 C/S. Moj problem je , ze komponenty ktore som mal v D2 mi nejdu
> nainstalovat v D3 aj ked som si obstaral ich verzie pre D3. Vascinou mi to
> hadze fatal error ze k suboru *.dcu nemoze najst *.pas, ale D2 ich
> nevyzadovali. Mozno v tomto momente asi nechapem presny princip
> insatalacie komponent , ale prosil by som niekoho o male vysvetlenie,
> myslim ze by mozno pomohol aj inym zacinajucim .

To je jednoduche, mas komponenty pro Delphi 2, takze Delphi 3 je neumi
zpracovat z DCU souboru. Proto se dozaduje PAS souboru se zdrojakem,
aby si DCU prekompiloval. Pokud zdrojak nemas, pak si aspon musis
sehnat DCU kompilovany na Delphi 3, proste verzi pro Delphi 3.

S pozdravem
Petr Zahradnik, pocitacovy expert

==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Jezkova 12, 400 11 Usti nad Labem ===
=== Telefon, fax: 047-5501627, mobilni GSM: 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================

Som v koncoch...

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 22.4.1998 22:07:05

> 2;
> Pokusal som sa o vytvorenie vlastneho Active X komponentu, ale
> bezuspesne. Po skompilovani sa mi vytvoril patricny .OCX, ale v registri
> som nenasiel prislusne CLSID, aj ked som registroval komponent jednak z
> prostredia Delphi, aj cez "regsvr32". Samozrejme v hypertexte sa moj
> Active nespustil.

Me to pracuje. Jak jsi delal tu ActiveX komponentu ???

> 3;
> Ak sa Internet Explorer moze spravat ako ActiveX komponent, ako ho mozem
> vlozit do vlastneho formularu?

Ano. Pokud je to ActiveX, tak ano.

> 4;
> Mozem naprogramovat ActiveX tak, aby spustal externy program?

Proc by to nemelo pracovat? Samozrejme, jde dovnitr dat cokoliv...

S pozdravem
Petr Zahradnik, pocitacovy expert

==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Jezkova 12, 400 11 Usti nad Labem ===
=== Telefon, fax: 047-5501627, mobilni GSM: 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================

www

[*] Zdenek Prantl <prantl(zv)ptc.pvt(tec)cz> - 22.4.1998 22:10:48

> -----Original Message-----
> From: Arthur [SMTP:Arthur(zv)hlpsoft(tec)cz]
> Sent: Wednesday, April 22, 1998 5:19 PM
> Subject: www
>
> Zdravim
> Nevite nekdo (ci nemate nekdo) neco o komunikaci s
> www-serverem?
Pokud ti jde o jake prikazy zvlada web server, tak se zkus podivat na
http://info.pvtnet(tec)cz/cgi-bin/toASCII/cgi/http1-1.htm

Je tam napr. (coz by mohlo byt co potrebujes)
================================================================
Metody protokolu HTTP
GET
Metoda GET predstavuje pozadavek na poslani dokumentu urceneho pomoci URL. V
souvislosti s proxy se muze metoda GET zmenit na "podmineny GET", ktera
pozaduje poslat dokument pouze za urcitych podminek definovanych v hlavicce
dotazu.
atd...
================================================================

Zdenek
prantl(zv)ptc.pvt(tec)cz


Filtre

[*] Ing. Zdenek Sraier <sraierzd(zv)czn(tec)cz> - 22.4.1998 22:10:08

Neverim svym ocim.
Bohuzel puvodni dotaz jiz nemam, ale dotaz znel asi takto:

...Zrovna maturujem z filtrov u TQuery ....

Ja jsem si take myslel, ze to pise nejaky student. To je ale jedno,
nebo ne ? Pokud nekdo velmi dobre shrne problem tak jako
<jaro(zv)zbk(tec)czn(tec)cz> a doplni to pranim uspechu u maturity, neni to
rozhodne zadna urazka. Mam takovy pocit, ze si ing. Peter CIRIP,
vek 32, nevidi do huby (respektive do klavesnice). Tak otresnou
reakci na dobre minene rady jsem tady jeste nezazil. A to beru
v uvahu i nestastnych 8 MB rozeslanych policistou z CB.

Nemyslim si, ze tady jsou vsichni "GENIALNY BOHOROVNY
PROFESIONALOVIA", ani ze jsme naduti. Spis tak vypada
ing. Peter CIRIP, vek 32, prax : 8 rokov programator.

Nevim kdo Vam slapnul na kuri oko, ale nevylejvejte si vztek na
teto konferenci, prosim.

S pozdravem Zdenek
---------------------------------------------------------
: o__o Zdenek Sraier sraierzd(zv)czn(tec)cz :
: ( o o) users(tec)czn(tec)cz/~sraierzd/ :
: (. .) Stranky Potapecske www.byll(tec)cz/scuba/ :
---------------------------------------------------------


> ing. Peter CIRIP, vek 32, prax : 8 rokov programator v sukromnej
> firme, vyvoj ekonomickeho SW a aplikacii pod Windows, "maturant".
>
> > Puvodni dotaz do teto diskuse vnesl nejaky maturant. Nevim jestli jsi
> > spravne pochopil, jaky je zasadni rozdil mezi vyberem pomoci klauzule WHERE
> > a vyberem pomoci filtru na TQuery.
>
> Dakujem, neviem, ci to ma byt urazka, alebo pocta. Pred par dnami sa
> tu cosi hovorilo o slusnosti, nuz ale dobre. Rozhodne mam dost davno
> po maturite, a tiez s Delphi nerobim prvy den.

....

> Kto je tu maturant ? Ja alebo vy, ked neviete odpovedat na taku hlupu
> otazku ?

....

> > Doufam, ze jsme nasemu maturantovi neudelali v hlave prilis velky zmatek
> > diky nasim rozpornym nazorum.
> > Bylo by urcite skoda, kdyby ve sve maturitni praci uvadel zjevne nepravdy.
>
> Na to mi je tazko nejako odpovedat, pretoze je to sama urazka a
> narazka. Mam uz davno po maturite a programovanim sa zivim uz osmy
> rok. Dufal som, ze tato konferencia je spolkom odbornikov, ktori radi
> poradia. Je mi velmi luto, ze je tu par borcov, ktori si o sebe
> myslia, ze su najgenialnejsi na svete, ale pritom nevedia ani len
> dobre precitat otazku, na ktoru tak povysenecky odpovedaju.
>
> Ak by som stal pred Vami, dufam ze by ste sa prepadli od hanby za
> tieto narazky. A ja by som mal chut vam jednu vlepit.
>
> > Doufam tez, ze se tato konfernce nezvrhne ve vselidove hlasovani o
> > tom, zda je nebo neni mozne filtrovat v TQuery.
>
> NEPYTAL SOM SA CI JE TO MOZNE, ALE NA JEDNU VELMI KONKRETNU VEC : AKO
> NASTAVIT FILTER TAK, MI NAJDE TEXT UPROSTRED. NA TOTO MI NIKTO Z VAS
> "GENIALNYCH BOHOROVNYCH PROFESIONALOV" NEODPOVEDAL. ASI NIE STE AZ
> TAKY DOBRY.
>
> Ak ste taky frajeri, preco ste napr. o identifikacii procesora
> navrhovali miliony roznych sposobov, ale priamu instrukciu CPU vam
> musel poradit maturant ?
>
> Mam pocit, ze pred tyzdnom Adam HAUNER stanovil pravidla, a bolo tam
> cosi aj o slusnosti. Doporucujem Vam to precitat si.
>
> Takisto by som si z pozicie "maturanta" dovolil upozornit napr. na to
> , ze zrejme ste tiez vsetci napr. nezvladli binarne a ine prilohy,
> ked neviete poslat ani normalny mail, bez kadejakych attachmentov.
> Ale to uz je ina tema.
>
> Velmi znechuteny a rozcarovany odbornostou a hlavne nadutostou
> diskutujucich
>
> ing. Peter CIRIP, vek 32, prax : 8 rokov programator v sukromnej
> firme, vyvoj ekonomickeho SW a aplikacii pod Windows, "maturant".
>
> Cest praci, sudruh.
>
>

Zjisteni aplikace

[*] Ing. Zdenek Sraier <sraierzd(zv)czn(tec)cz> - 22.4.1998 22:33:30

Zdravim vsechny lidi dobre vule

Jiz jednou jsem se zde ptal, ale muj dotaz nejak zapadl:

Bylo zde uvedeno nekolik reseni, jak zjistit bezici aplikaci.
Ptam se:

A) Je nejak mozne zjistit, ze aplikace nereaguje
"Neni odpoved - Not responding"

B) Je mozne nejak takovou aplikaci ukoncit (killnout)
hlavne mi jde o W95, eventuelne NT.

S pozdravem Zdenek
---------------------------------------------------------
: o__o Zdenek Sraier sraierzd(zv)czn(tec)cz :
: ( o o) users(tec)czn(tec)cz/~sraierzd/ :
: (. .) Stranky Potapecske www.byll(tec)cz/scuba/ :
---------------------------------------------------------


Zip

[*] Milan Valenta <milan.valenta(zv)usa(tec)net> - 22.4.1998 22:34:06

Hi,

ja jsem si stahnul Delzip11 od Eric W. Engler.
Ale asi je to to same, potom sorry za prispevek.
Je na adrese http://www.cdrom.com/pub/infozip/ (tak je psano
v manuale)
Jeste jsem ji nepouzil a tak nevim, zda funguje, nebo ne.


S pozdravem
Ing. M.Valenta
Horni Slavkov
e-mail: milan.valenta(zv)usa.net
tel.: 0168/6989241, 688003


----------
Odes�latel: Pavel Bare� <atoll(zv)telecom(tec)cz>
Komu: 'Konference DELPHI' <delphi(zv)io.pinknet(tec)cz>
P�edm�t: Zip
Datum: 21. dubna 1998 10:05

Mam prosbu:

Pokud nekdo vite, kde se nachazi nejaka free komponenta na zipovani dejte mi prosim vedet.
Zkousel jsem ZipMaster (DelZip14), ale ten pri vetsim poctu souboru tuhne.

Pavel Bare�
Atoll s.r.o.

http://web.telecom(tec)cz/atoll

Filtre ... aneb konec velkemu nedorozumeni.

[*] �ke��k Jaroslav�������6�����̿ - 22.4.1998 22:36:50

(Jaro Skerik, prepac mi).
--------------------
Byl bych velice rad, kdybychom na to cele mohli zapomenout.
--------------------
....
( inac za toto mas u mna druhe pivo, lebo takto ma uz davno nikto
nevytocil ..., len ma jednoducho nastvalo, ze kazdy hovori a tom aky
som hlupy, a nie o povodnej otazke.
------------------
To prece nikdo nerek, a urcite to tak ani nikdo nemyslel. Nakonec
se to vysvetlilo. Nesmis kazdeho hned podezrivat, ze si o tobe
mysli spatne. V odpovedi byva tezke trefit se do toho, co druhemu
pomuze a vyhnout se pritom vecem, ktere davno zna.
------------------
Mam za to, ze ked Borland napise : "Local SQL clause WHERE is equal to
Filter
property",
------------------
Nejsem zrovna "super" v anglictine, ale dalo by se to volne prelozit i tak,
ze klauzule WHERE ma stejny vyznam jako Filter.
To ale nemusi znamenat, ze ma stejnou nebo podobnou syntaxi. Tam to je asi
mysleno tak, ze WHERE dela to same jako Filter, tedy vybira vety podle
nejake podminky. Pritom moznosti vlastnosti filteru jsou zrejme omezenejsi.
Nedostanete tam napriklad presne to same co umi LIKE. Ale na druhe strane
OnFiltered zase dava podstatne vetsi volnost programatorovi a muzete tam
udelat i to co je pres WHERE obtizne. Kdyz jsem psal na tema
OnFiltered, tak prece pisu k veci. Vzdyt je to tez filtrovani, pouze se
ta podminka pise jinam.
Nevim ale presne co je mysleno tim Local SQL, jetli pristup do lokalnich
tabulek nebo na lokalni server. V tom prvnim pripade mohou existovat
urcite odlisnosti a s tim ja nemam moc zkusenosti. Ja pracuji zejmena
s Interbasi.
------------
Moja smola je len v tom, ze som cakal odpoved na nieco, co zrejme nikto
nie je ochotny riesit ...
-------------
Nojo ... ja jsem byl ochotny to resit ... ale nechme toho.
------------
......
> Zbysku, nevim jak Ty, ale ja to pochopil ve smyslu "jsem z toho
> zmateny". alespon u nas se pojem "maturuju z neceho" pouziva v tomhle
> smyslu.
Som rad, ze aj v Cesku existuje zmysel pre nadsadzku a humor. Aj ked
po tychto prispevkoch sa mi zda, ze je to velmi ojedinele.
------------
Tady jsem to vytrhnul odjinu. Rad bych k tomu uz jen kratce.
Myslim ze i v Cechach existuje humor.
Internet spojuje lidi z ruznych koutu nasi zeme. To je jiste hezke.
V ruznych mistech se mluvi ruzne. V Brne vas poslou Salinou (tramvaj)
a v Praze me poslali zase do krtka (metro). Kdyz jsem to slysel poprve,
tak jsem nechapal. Mozna byste take nevedeli kam mate jit.
Muzete si chvili pripadat jako v cizine.
To neni o tom, ze kdo to nezna nema smysl pro humor
a nadsazku - proste to jeste neslysel.

Hezky vecer a prijemny zbytek tydne preje
Jaro.

Tisk na port

[*] Ing. Zdenek Sraier <sraierzd(zv)czn(tec)cz> - 22.4.1998 22:46:39

Budte pozdraveni

Ve svych aplikacich potrebujeme tisknout znakove na jehlickove
tiskarny. Pouzivane pro sitovou praci Novellovske tiskove fronty.
Mame je zachycene jako zasuvku LPT1 az LPT3.
Delame write(LPT1,texttexttext).

Dotaz:
Lze (a jak) ve windows tisknout na vice portu (tiskarem) nez 3 ?
Nebo jak programove tisknout do fronty, aniz by se tiskly oddelovaci
stranky (ty windowsowske, novelovske pochopilne umime vypnout).

Diky za rady
S pozdravem Zdenek
---------------------------------------------------------
: o__o Zdenek Sraier sraierzd(zv)czn(tec)cz :
: ( o o) users(tec)czn(tec)cz/~sraierzd/ :
: (. .) Stranky Potapecske www.byll(tec)cz/scuba/ :
---------------------------------------------------------


Filtre

[*] Ing. Zdenek Sraier <sraierzd(zv)czn(tec)cz> - 22.4.1998 22:56:05

Neverim svym ocim.
Bohuzel puvodni dotaz jiz nemam, ale dotaz znel asi takto:

...Zrovna maturujem z filtrov u TQuery ....

Ja jsem si take myslel, ze to pise nejaky student. To je ale jedno,
nebo ne ? Pokud nekdo velmi dobre shrne problem tak jako
<jaro(zv)zbk(tec)czn(tec)cz> a doplni to pranim uspechu u maturity, neni to
rozhodne zadna urazka. Mam takovy pocit, ze si ing. Peter CIRIP, vek
32, nevidi do huby (respektive do klavesnice). Tak otresnou reakci na
dobre minene rady jsem tady jeste nezazil. A to beru v uvahu i
nestastnych 8 MB rozeslanych policistou z CB.

Nemyslim si, ze tady jsou vsichni "GENIALNY BOHOROVNY
PROFESIONALOVIA", ani ze jsme naduti. Spis tak vypada ing. Peter
CIRIP, vek 32, prax : 8 rokov programator.

Nevim kdo Ti slapnul na kuri oko, ale nevylejvej si vztek na
teto konferenci, prosim.
> ing. Peter CIRIP, vek 32, prax : 8 rokov programator v sukromnej
> firme, vyvoj ekonomickeho SW a aplikacii pod Windows, "maturant".
>
> > Puvodni dotaz do teto diskuse vnesl nejaky maturant. Nevim jestli
> > jsi spravne pochopil, jaky je zasadni rozdil mezi vyberem pomoci
> > klauzule WHERE a vyberem pomoci filtru na TQuery.
>
> Dakujem, neviem, ci to ma byt urazka, alebo pocta. Pred par dnami sa
> tu cosi hovorilo o slusnosti, nuz ale dobre. Rozhodne mam dost davno
> po maturite, a tiez s Delphi nerobim prvy den.

....

> Kto je tu maturant ? Ja alebo vy, ked neviete odpovedat na taku
> hlupu otazku ?

....

> > Doufam, ze jsme nasemu maturantovi neudelali v hlave prilis velky
> > zmatek diky nasim rozpornym nazorum. Bylo by urcite skoda, kdyby
> > ve sve maturitni praci uvadel zjevne nepravdy.
>
> Na to mi je tazko nejako odpovedat, pretoze je to sama urazka a
> narazka. Mam uz davno po maturite a programovanim sa zivim uz osmy
> rok. Dufal som, ze tato konferencia je spolkom odbornikov, ktori
> radi poradia. Je mi velmi luto, ze je tu par borcov, ktori si o sebe
> myslia, ze su najgenialnejsi na svete, ale pritom nevedia ani len
> dobre precitat otazku, na ktoru tak povysenecky odpovedaju.
>
> Ak by som stal pred Vami, dufam ze by ste sa prepadli od hanby za
> tieto narazky. A ja by som mal chut vam jednu vlepit.
>
> > Doufam tez, ze se tato konfernce nezvrhne ve vselidove hlasovani o
> > tom, zda je nebo neni mozne filtrovat v TQuery.
>
> NEPYTAL SOM SA CI JE TO MOZNE, ALE NA JEDNU VELMI KONKRETNU VEC :
> AKO NASTAVIT FILTER TAK, MI NAJDE TEXT UPROSTRED. NA TOTO MI NIKTO Z
> VAS "GENIALNYCH BOHOROVNYCH PROFESIONALOV" NEODPOVEDAL. ASI NIE STE
> AZ TAKY DOBRY.
>
> Ak ste taky frajeri, preco ste napr. o identifikacii procesora
> navrhovali miliony roznych sposobov, ale priamu instrukciu CPU vam
> musel poradit maturant ?
>
> Mam pocit, ze pred tyzdnom Adam HAUNER stanovil pravidla, a bolo tam
> cosi aj o slusnosti. Doporucujem Vam to precitat si.
>
> Takisto by som si z pozicie "maturanta" dovolil upozornit napr. na
> to , ze zrejme ste tiez vsetci napr. nezvladli binarne a ine
> prilohy, ked neviete poslat ani normalny mail, bez kadejakych
> attachmentov. Ale to uz je ina tema.
>
> Velmi znechuteny a rozcarovany odbornostou a hlavne nadutostou
> diskutujucich
>
> ing. Peter CIRIP, vek 32, prax : 8 rokov programator v sukromnej
> firme, vyvoj ekonomickeho SW a aplikacii pod Windows, "maturant".
>
> Cest praci, sudruh.
>
>
S pozdravem Zdenek
---------------------------------------------------------
: o__o Zdenek Sraier sraierzd(zv)czn(tec)cz :
: ( o o) users(tec)czn(tec)cz/~sraierzd/ :
: (. .) Stranky Potapecske www.byll(tec)cz/scuba/ :
---------------------------------------------------------


IBObject - prima konektivita k Interbsi

[*] �ke��k Jaroslav�������6�����̿ - 22.4.1998 23:12:43

Dekuji velice za tuto informaci. Chtel jsem jeste vedet, jestli s tim ma
nekdo nejakou
praktickou zkusenost.
Zatim to jen zkousime a zda se nam to byt uzasne. Nema to nejaky hacek?
To zrychleni je takove, ze se tomu ani nechce verit.
Bude to trochu preprogramovavani (sileny slovo), ale za ten narust vykonu by
to stalo.
Jen bych si chtel usetrit pripadne najake zklamani nemaje s tim doposud
prilis zkusenosti.
Jaro.
----------------------------------------------------------------------------
--------------------------------


>Na www.interbase.com je to co pisete a jeste jine komponenty take pro primy
>pristup k InterBasi a ty jsou se ZDROJI A FREE, dale UDF napsane v delphi
>se ZDROJI.
>

Delphi2 - grafika a label

[*] info(zv)saton(tec)cz (SATON Glass s.r.o.) - 22.4.1998 23:28:21


Hodn� se za tuto otazku primlouvam, ceka me to taky!
Kuba

>M�m zde probl�m, se kter�m si nev�m rady. Pot�ebuji pohybovat transparetn� ikonou po bitmap�. To u� chod�, ale jen jedna. Pot�eboval bych jich 0 a� 50, a aby to nebylo tak "jednoduch�" mus� b�t ke ka�d� ikon� "p�ilepen�" label.

Vyhladavanie vo filtrovanom zozname

[*] Martin Fronek <FRONEK(zv)FIC.CZ> - 23.4.1998 00:27:48

Coz takhle pouzit SetKey a GotoKey. (jestli to dobre chapu...)

fronek(zv)fic(tec)cz


Zdeno Jasek wrote:
>
> Ako sa da vyhladavat vo filtrovanom zozname TTable? Funkcia Locate(..) pracuje sice
> spolahlivo, ale ako mam najst DALSI zaznam, ktory vyhovuje vyhladavacej podmienke?
>
> Funkcia FindNext berie ako vyhladavaciu podmienku hodnotu property Filter, ktoru
> uz mam v pripade filtrovaneho zoznamu TTable nastavenu a nemozem ju teda pouzit.
>
> Vdaka za rady...
>
> Get your FREE, private e-mail
> account at http://www.mailcity.com


Vyhladavanie vo filtrovanom zozname

[*] Zdeno Jasek <zdeno.delphi(zv)mailcity(tec)com> - 23.4.1998 00:32:17 -0700

>Coz takhle pouzit SetKey a GotoKey. (jestli to dobre chapu...)

Potrebujem vyhladavat aj v neindexovanych poliach. Myslim, ze SetKey to nerobi...
>
>> Ako sa da vyhladavat vo filtrovanom zozname TTable? Funkcia Locate(..) pracuje
sice
>> spolahlivo, ale ako mam najst DALSI zaznam, ktory vyhovuje vyhladavacej podmienke?

>>

Get your FREE, private e-mail
account at http://www.mailcity.com


www

[*] Martin Fronek <FRONEK(zv)FIC.CZ> - 23.4.1998 00:40:08

Hi,

zkus se podivat po WindowsNT resource kit, tam je to "zhraba" popsane, a
je tam i spoustu odkazu na RFC xxxx ... fronek(zv)fic(tec)cz


Arthur wrote:
>
> Zdravim
> Nevite nekdo (ci nemate nekdo) neco o komunikaci s
> www-serverem? Potreboval bych si v podstate rict o konkretni
> soubor. Nejspis bych to vydoloval z iexploreru, ale pripada mi,
> ze by mohla existovat nejaka jednodussi cesta, kdyz bych
> navazal spojeni pres TCP primo...
> Diky za namety Arthur
>
> =====================================
> David Arthur Muzatko
> HelpSoft, spol. s r. o.
> Uruguayska 1, Praha 2
> tel./fax.: 24255816, 90004272-5
> e-mail: Arthur(zv)HlpSoft(tec)cz
> =====================================

Instalacia komponent v DELPHI3

[*] Martin Fronek <FRONEK(zv)FIC.CZ> - 23.4.1998 00:48:01

Hi,

tak tohle je klasicky problem vyvojaru, pouzivajicich C++Builder.
tam totiz musim mit zdrojovy text, jinak ni je cele DCU na nic.
Nekteri vyvojari komponent toto nechapou, a uvolnuji svoje komponenty
jen v prelozenem stavu, i kdyz zdarma. Neni to nahodou diskriminace?

Ze je komponenta FREE, jeste neznamena, ze autor uvolni i zdrojovy
text... fronek(zv)fic(tec)cz



Ondrej KOZIAK E121 wrote:
>
>
> > problem je v tom ze Delphi 3 pouzivaji jiny format souboru DCU nez Delphi 2
> > a proto ho pri instalaci komponent chteji prekompilovat. Tehdy tedy musis
> > mit prave ten pozadovany soubor PAS.
> >
> > Michal
> >
> P. Michal ,
>
> dakujem za informacie, ale aj tak mam este jedenu otazku.
> Ja som si tie iste komponenty stiahol s oznacenim pre Delphi 3, bola to
> Torry's page, ale tie komponenty odsahuju len subory DCU, znamena to teda
> ze nie su tie komponenty pouzitelne ? Ale na druhej strane nechapem preco
> by tam boli ako free download !
> Prosim Vas teda este o radu .
>
> Dakujem
> Ondrej Koziak , student.

Zjisteni aplikace

[*] Martin Fronek <FRONEK(zv)FIC.CZ> - 23.4.1998 00:53:46

Zdravim,


Ing. Zdenek Sraier wrote:
>
> Zdravim vsechny lidi dobre vule
>
> Jiz jednou jsem se zde ptal, ale muj dotaz nejak zapadl:
>
> Bylo zde uvedeno nekolik reseni, jak zjistit bezici aplikaci.
> Ptam se:
>
> A) Je nejak mozne zjistit, ze aplikace nereaguje
> "Neni odpoved - Not responding"
>
Je-li to vlastni aplikace, udelam si tam reakci na definovanou zpravu,
pak zpravu poslu a cekam, jestli bude nekdo troubit zpatky...
> B) Je mozne nejak takovou aplikaci ukoncit (killnout)
> hlavne mi jde o W95, eventuelne NT.

to nevim, ale asi ano. nejak. At se vyjadri nekdo povolanejsi.
Mozna zalezi na vlastnickych pravech procesu...

fronek(zv)fic(tec)cz

>
> S pozdravem Zdenek
> ---------------------------------------------------------
> : o__o Zdenek Sraier sraierzd(zv)czn(tec)cz :
> : ( o o) users(tec)czn(tec)cz/~sraierzd/ :
> : (. .) Stranky Potapecske www.byll(tec)cz/scuba/ :
> ---------------------------------------------------------


Tisk na port

[*] Martin Fronek <FRONEK(zv)FIC.CZ> - 23.4.1998 00:56:00

Jestlize pouzivate 32bit, pak lze jednoduse vygenerovat textovy soubor
na disk (napriklad) a pak ho okopirovat na \\server\tiskarna

ja to tak delam a je to OK

fronek(zv)fic(tec)cz


Ing. Zdenek Sraier wrote:
>
> Budte pozdraveni
>
> Ve svych aplikacich potrebujeme tisknout znakove na jehlickove
> tiskarny. Pouzivane pro sitovou praci Novellovske tiskove fronty.
> Mame je zachycene jako zasuvku LPT1 az LPT3.
> Delame write(LPT1,texttexttext).
>
> Dotaz:
> Lze (a jak) ve windows tisknout na vice portu (tiskarem) nez 3 ?
> Nebo jak programove tisknout do fronty, aniz by se tiskly oddelovaci
> stranky (ty windowsowske, novelovske pochopilne umime vypnout).
>
> Diky za rady
> S pozdravem Zdenek
> ---------------------------------------------------------
> : o__o Zdenek Sraier sraierzd(zv)czn(tec)cz :
> : ( o o) users(tec)czn(tec)cz/~sraierzd/ :
> : (. .) Stranky Potapecske www.byll(tec)cz/scuba/ :
> ---------------------------------------------------------


ServerSocket, ClientSocket

[*] Martin Fronek <FRONEK(zv)FIC.CZ> - 23.4.1998 00:58:27

Delphi sice nemam zadne, ale C++Builder,
nicmene bych nepouzival komponenty dodane s nastrojem (jinak skvelym)
ale spolehal bych na FREE. Je jich dost a doooost dobre jsou.

fronek(zv)fic(tec)cz


Frantisek Sobola wrote:
>
> Dobry den,
> chtel bych se zeptat, jestli nekdo nahodou nemate podrobnou
> dokumentaci (nebo kde ji pripadne najit) ke komponentam pro Internet.
> V Delphi3 je napoveda jen na zakladni funkce. Konkretne si nevim rady
> s komponentou TClientSocket a TServerSocket. Jak mam napr. rozlisit v
> udalosti ClientSocketRead zda je prijiman text nebo data jeste pred
> tim, nez se provede funkce ReceiveBuf nebo ReceiveText? Za pripadne
> odpovedi predem dekuji.
>
> S pozdravem
> Frantisek Sobola


IBObject - prima konektivita k Interbsi

[*] chaloupka(zv)mboxzn(tec)cz (Chaloupka Pavel) - 23.4.1998 04:11:20

Na www.interbase.com je to co pisete a jeste jine komponenty take pro primy
pristup k InterBasi a ty jsou se ZDROJI A FREE, dale UDF napsane v delphi
se ZDROJI.

-----P�vodn� zpr�va-----
Od: �ke��k Jaroslav <jaro(zv)zbk(tec)czn(tec)cz>
Komu: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
Datum: 22. dubna 1998 18:56
P�edm�t: IBObject - prima konektivita k Interbsi


>Zdravim.
>Pred nedavnem jsem s jednim pritelem objevil uzasnou vec.
>Z www.ibbject.com jsme stahli mnozstvi komponent pro primy pristup
>k Interbasi. Zjistili jsme, ze v mnoha pripadech je to az nekolikansobne
>rychlesi nez pri pouziti SQL links nebo ODBC.
>Napr. pri vyberu 10.0000,- zaznamu nam trva normalne presun na posledni
>zaznam az 40 sec. Pri pouziti konektivity IB to same trvalo asi 1 sec.
>Vim, ze tyto objekty jsou na tomto serveru jiz dele. Mozna jsme
>jen znovu objevili Ameriku.
>Proto se chci zeptat, zda s tim nema jiz nekdo zkusenosti a zda nevi
>nekdo kde to u nas koupit. Na tom webu uvadeji cenu asi 400 US.
>
>Za poskytnute informace dekuji
>Jaro
>
>---------------------------------------------------------------------------
-
>---
>SINEA software telefon: 0446/612468
> Ing. Jaroslav Skerik e-mail: sinea(zv)sinea(tec)cz
> Tylova 957 privat:
jaro(zv)sinea(tec)cz
> 564 01 ZAMBERK http://www.sinea(tec)cz/
>

Kde je CD ...

[*] VOLTRR1(zv)epr1.ccmail.x400.cez(tec)cz - pr 1998 06:37:26 -0700

Nazdar,

pouzij GetDriveType(disk) - pokud vrati DRIVE_CDROM je to CDcko.

Pokud to das do smycky A - Z muzes takhle zjistit ktere pismenko to je.

Radek

-----Puvodni zprava-----
Od: Internet:delphi-request(zv)io.pinknet(tec)cz/
Odeslano: 22. dubna 1998 18:29
Komu: Internet:delphi(zv)pinknet(tec)cz/
Poedmit: Kde je CD ...

Zdravim vsetkych ...

Mam asi jednoduchu otazku, ako zistim ktory disk je CD mechanika
je na to funkcia alebo sa to da niekde precitat ???

Dik Peter

--
*************************************************************************
* Ing.Peter Liptak Tel.:07/5797 368 *
* Antimonopoly office of SR Fax :07/5797 365 *
* Drienova 24 e-mail:liptak(zv)pusr.sk *
* 826 03 Bratislava *
*************************************************************************
<<Soubor: TXT1.TXT>>

www

[*] VOLTRR1(zv)epr1.ccmail.x400.cez(tec)cz - pr 1998 06:37:32 -0700

Ja na to pouzivam funkce WinInet API. Ma to vyhodu ze to pouziva nastaveni
IEExploreru a tudiz se nemusis patlat s takovejma vecma jako je firewall.
Nevyhoda je ze musis mit instalovan IEexplorer.

Dokumentace je u MS na www pod InternetClientSDK.

Radek

-----Puvodni zprava-----
Od: Internet:delphi-request(zv)io.pinknet(tec)cz/
Odeslano: 22. dubna 1998 20:10
Komu: Internet:delphi(zv)pinknet(tec)cz/
Poedmit: www

Zdravim
Nevite nekdo (ci nemate nekdo) neco o komunikaci s
www-serverem? Potreboval bych si v podstate rict o konkretni
soubor. Nejspis bych to vydoloval z iexploreru, ale pripada mi,
ze by mohla existovat nejaka jednodussi cesta, kdyz bych
navazal spojeni pres TCP primo...
Diky za namety Arthur

=====================================
David Arthur Muzatko
HelpSoft, spol. s r. o.
Uruguayska 1, Praha 2
tel./fax.: 24255816, 90004272-5
e-mail: Arthur(zv)HlpSoft(tec)cz
===================================== <<Soubor: TXT1.TXT>>

Kde je CD ...

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 23.4.1998 06:42:33

Peter Liptak wrote:

> Mam asi jednoduchu otazku, ako zisti ktory disk je CD mechanika je
> na to funkcia alebo sa to de niekde precitat ???

Zkus GetDriveType.

S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz
Tel.: 02/795 29 56
Krystofova 1016, 149 00 Praha 4
CZ


Filtre

[*] psoft <psoft(zv)kosice.telecom.sk> - 23.4.1998 06:45:53


> Puvodni dotaz do teto diskuse vnesl nejaky maturant. Nevim jestli jsi
> spravne pochopil, jaky je zasadni rozdil mezi vyberem pomoci klauzule WHERE
> a vyberem pomoci filtru na TQuery.

Dakujem, neviem, ci to ma byt urazka, alebo pocta. Pred par dnami sa
tu cosi hovorilo o slusnosti, nuz ale dobre. Rozhodne mam dost davno
po maturite, a tiez s Delphi nerobim prvy den. Ak je tu niekto
maturantom, potom to budete skor Vy. Mam pocit, ze zo vsetkych, co
ste odpovedali hadam nikto nepochopil povodnu otazku :

Ta znela asi takto (poviem to znova inac sformulovane ):
V navode k Delphi som cital o analogii vyhodnocovania filtrov a SQL
pre local SQL. Taktiez som cital o tom, ze filter a klausula WHERE
maju pre local SQL rovnaku syntax. Preco teda napr. pri WHERE pisem
napr. nazov like 'rum%', ale vo filtri nazov='rum*'. A preco mi vo
filtri nezoberie nazov='*rum*'.

Myslim, ze toto bol povodny dotaz a na ten mi zialbohu nikto
neodpovedal.

Kto je tu maturant ? Ja alebo vy, ked neviete odpovedat na taku hlupu
otazku ? Odpovede sa zamerali na to, ako pouzivat a ako funguje SQL.
A pritom mne stacilo vediet, ci ma manual od Borlandu pravdu alebo
nie . S chapanim SQL a filtrov to nema nic spolocne, ked Borland sam
cosi o analogii (stale sa bavime o local SQL) hovori. A tak tomu
jednoducho verim alebo nie. Nekupujem si predsa Delphi nato, aby som
prestudoval, ako BDE vnutri presne funguje, ale nato, aby som ho
pouzival a riadnil sa manualmi a online helpom a spolahol sa na to,
co tam pisu.> jiz na strane klienta. Dodane zaznamy jsou zde jeste jednou provereny
> a uplatni se jenom ty, ktere splni zadanou podminku nebo i vice podminek.
> Proc by to melo odporovat SQL principu to opravdu nevim!!!
> Smyslem prvniho kroku je na klienta posilat jen omezene mnozstvi dat, ktere
> jsou prave potreba, aby nedochazelo k dlouhym odezvam a ke zbytecne
> zatezi site.

Ano, ale to omezene mnozstvi dat je to, ze sa posiela vysledo
kdotazu, nie cela tabulka. A ten vysledok mozem vidiet ako celok.
Nevidim ziadny problem v tom, preco by tento vysledok nemohol byt na
strane clienta nejak napr. znova pretriedeny (uz len ten vysledok).
Tvrdite ze je to posielane po bufferoch, ale to nie je dovod. Ved
predsa navonok sa ten buffer musi nejak interpretovat.
A v pripade local SQL (o tom bol povodny dotaz !) je to nie buffer,
ale priamo DBF alebo DB interny subor ! Preco by som teda nemal mat
moznost dat nan druhy dotaz ? O tom bol moj povodny dotaz, a nie
otazka nejakeho maturanta. Ten maturant asi napisal viac SW ako vy,
vazeny pane. Nehodnotte, co nepoznate.

> Doufam, ze jsme nasemu maturantovi neudelali v hlave prilis velky zmatek
> diky nasim rozpornym nazorum.
> Bylo by urcite skoda, kdyby ve sve maturitni praci uvadel zjevne nepravdy.

Na to mi je tazko nejako odpovedat, pretoze je to sama urazka a
narazka. Mam uz davno po maturite a programovanim sa zivim uz osmy
rok. Dufal som, ze tato konferencia je spolkom odbornikov, ktori radi
poradia. Je mi velmi luto, ze je tu par borcov, ktori si o sebe
myslia, ze su najgenialnejsi na svete, ale pritom nevedia ani len
dobre precitat otazku, na ktoru tak povysenecky odpovedaju.

Ak by som stal pred Vami, dufam ze by ste sa prepadli od hanby za
tieto narazky. A ja by som mal chut vam jednu vlepit.

> Doufam tez, ze se tato konfernce nezvrhne ve vselidove hlasovani o
> tom, zda je nebo neni mozne filtrovat v TQuery.

NEPYTAL SOM SA CI JE TO MOZNE, ALE NA JEDNU VELMI KONKRETNU VEC : AKO
NASTAVIT FILTER TAK, MI NAJDE TEXT UPROSTRED. NA TOTO MI NIKTO Z VAS
"GENIALNYCH BOHOROVNYCH PROFESIONALOV" NEODPOVEDAL. ASI NIE STE AZ
TAKY DOBRY.

Ak ste taky frajeri, preco ste napr. o identifikacii procesora
navrhovali miliony roznych sposobov, ale priamu instrukciu CPU vam
musel poradit maturant ?


Mam pocit, ze pred tyzdnom Adam HAUNER stanovil pravidla, a bolo tam
cosi aj o slusnosti. Doporucujem Vam to precitat si.

Takisto by som si z pozicie "maturanta" dovolil upozornit napr. na to
, ze zrejme ste tiez vsetci napr. nezvladli binarne a ine prilohy,
ked neviete poslat ani normalny mail, bez kadejakych attachmentov.
Ale to uz je ina tema.

Velmi znechuteny a rozcarovany odbornostou a hlavne nadutostou
diskutujucich

ing. Peter CIRIP, vek 32, prax : 8 rokov programator v sukromnej
firme, vyvoj ekonomickeho SW a aplikacii pod Windows, "maturant".

Cest praci, sudruh.> ''''
> (O O)
> +-------------oOO------(_)--------------------+
> | PSOFT, ing.Peter Cirip |
> | Sibirska 18, 080 01 Presov, Slovensko |
> | Mobil : 0903 601 068 091/723 104 |
> | E-mail: psoft(zv)ke.telecom.sk |
> | WEB : http://www.ke.telecom.sk/psoft/ |
> +-------------------------------oOO-----------+
> |__|__|
> || ||
> ooO Ooo
>

Vyhladavanie vo filtrovanom zozname

[*] V�t�zslav Gazda������u��n�?��? - 23.4.1998 07:25:48

Ja si myslim, ze Locate zacne prohledavat od aktualniho zaznamu, takze pro
vyhledani dalsiho zaznamu staci znovu zavolat Locate.

Vita


Odpovedi: Winsock, Grafika a label, Client server

[*] Martin Nedopil <nedopil(zv)eskon(tec)cz> - 23.4.1998 08:05:01

Winsock bez hWnd.
Snad v specifikaci Winsock 2.2. Uz jsem na to, zda se mi, neco videl. To
bys ale pak prisel o moznost pouzivat to s D1. :-)
Neni prece tak velky problemek napsat hWnd:=AllocateWindow(nil);

Client Server Socket:
Okostuj z moji domovske winsoxs.zip pro D1. U tehle komponenty se nemusis
starat o client-server typ. Komponenta
"zarve do prostoru" a kdyz se ji nikdo neozve zacne poslouchat. Druha udela
to same.

Grafika a label:
Label vygeneruji L:=TLabel.Create(Self); L.Parent:=Self; L.Visible:=true;
atd....
Co se transparentnich bitmap tyce zkus na moji domovske Cartoons.zip. Kdysi
jsem ho vytvoril pro hry, naprogramoval
jsem neco jako Kennedy Approach (letadylka pristavaly, startovaly,
komunikovaly s vezi...a pak padaly k zemi).
Kdyz uz ti nepomuze, je to alespon navod jak na tu transparentnost.


Martin Nedopil
nedopil(zv)eskon(tec)cz
nedopil(zv)geocities.com
Delphi kitchen�: http://www.geocities.com/Athens/Olympus/5260 - Drzime se!
Na vrcholu zatim IV. misto.
Nova akce! Prijimame kuchtiky i vyucene kuchare. Spravne holky hlaste se na
te druhe adrese!

Odpovedi: Winsock, Grafika a label, Client server

[*] VOLTRR1(zv)epr1.ccmail.x400.cez(tec)cz - pr 1998 08:32:07 -0700

Hmm, a jak se dozvim ze tomu oknu dosla message - to bych pak musel i udelat
message handler.

Radek

-----Puvodni zprava-----
Od: Internet:delphi-request(zv)io.pinknet(tec)cz/
Odeslano: 23. dubna 1998 8:14
Komu: Internet:delphi(zv)pinknet(tec)cz/
Poedmit: Odpovedi: Winsock, Grafika a label, Client server Socket


Winsock bez hWnd.
Snad v specifikaci Winsock 2.2. Uz jsem na to, zda se mi, neco videl. To
bys ale pak prisel o moznost pouzivat to s D1. :-)
Neni prece tak velky problemek napsat hWnd:=3DAllocateWindow(nil);

Delphi kitchen=99: http://www.geocities.com/Athens/Olympus/5260 - Drzime =
se!
Na vrcholu zatim IV. misto.
Nova akce! Prijimame kuchtiky i vyucene kuchare. Spravne holky hlaste se =
na
te druhe adrese!

WinSock bez okna

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 23.4.1998 08:40:34

>Nazdar,
>
>nevite nekdo jak komunikovat pres WinSock tak abych nepotreboval hWND
okna a
>message posilat do nej ,ale treba
>nahazovat TEvent nebo semafor nebo uplne jikak - ale bez okna.


No nejlepsi je to okno stejne vytvorit. A vytvorit ho prostredky API
Windows (RegisterClass, CreateWindow), nikoliv pomoci Delphi. Zustane
skryte - nemusi mit definovanu proceduru na prekreslovani, pouze handler
na zpracovani zprav a v nem si muzes udelat co chces. Jednim oknem
obslouzis vsechny sockety v programu. Nevidim duvod proc to neudelat
takto. Snad jedine u aplikace, ktera nepouziva thready pro obsluhu
spojeni. Je s tim o malinko vic prace - ale clovek se pri tom leccos
nauci a pro priste uz to ma hotovy.

Jina metoda je nastartovat thread, ktery bude pracovat se sockety
synchronne. Tj. zasekne se na accept dokud se nenavaze spojeni. Po
akceptovani spojeni muze thread volat a nastavovat co se zlibi.

Zdravi
D. Toman

Filtre ... jeste k OnFiltered

[*] �ke��k Jaroslav�������6�����̿ - 23.4.1998 08:47:13


K OnFiltered - ano, ma podstatne sirsie moznosti - ale vadi mi na to
jedno - tu podmienku musim dopredu vediet. Co ale ak chcem ju urobit
tak, aby ju mohol definovat uzivatel ? Dat napr. nejaky Edit alebo
memo box, kde si ju jednoducho napise. A tu mi chyba cosi take ako ma
napr. PC Fand (mimochodom jedna z najlespich databaz pod DOS, ceskej
vyroby ...), a to funkcia EValB(s:String) - analyzuje s v prislusnej
syntaxi a vyhodnoti ako vzorec. Toto v Delphi zatial neviem, resp.
uz aj mam nato nejaky komponent, ale zatial ho nemam tak
prepracovany, aby som s nim bol spokojny. Preto som samozrejme hladal
jednoduchsiu cestu - Filter.
>
Algoritmus podminky ano, ale muze te se odkazovat na promenne.
V OnFiltered muze byt vlastni procedura, ktera se napr. odkazuje na TEdit.

Pokud ale chcete, aby uzivatel zadaval matematicky vyraz pro podminku, tak
to je jina.
Mozna, ze teprve ted jsem pochopil o co vam slo.
V tom pripade je lepsi ta klauzule WHERE.
Musite ale kontrolovat syntaxi, protoze uzivatel tam muze napsat libovolnej
nesmysl.

V PC fandu jsem nikdy nepracoval,
ale domnivam se, ze to je databaze vytvorena tez v Pascalu.

V tech prispevcich na toto tema taky nekdo jiny psal o tom, ze nejde puzivat
filter
na dotaz SQL nebo, ze se vzdy dela novy dotaz.
Kdyz jsme se vratili k tomu tematu, uvedu dva priklady, kdy to ma smysl.

Ja to pouzivam i tak, ze mam napr. v Tstringlist (ComboBox, ListBox a pod)
seznam hodnot, ktere chci vybrat z tabulky nebo z vysledku dotazu.
Staci napsat v OnFiltered podminku

IF StingList1.IndexOf(JmenoPolozkyZDatabase) >= 0 then
Accept := true;
else
Accept := true;

Nebo dalsi priklad, kde to lze dobre uplatnit.

Udelam dotaz na databazi s nejakyou podminkou WHERE
Vysledek zobrazim v DBGridu (nebo v DBGridSinea)

Uzivatel ma moznost (v gridu) oznacit nekolik radku, ktere chce vytisknout.
Nebude chtit treba tisknout vsechny, ale jenom oznacene radky.

1. Zalozim promenou TstringList nebo TStrings,
2. Do ni pomoci ADD() nahazim hodnoty jednoznacne polozky z tabulky
pro uzivatelem oznacene radky
3. Zapnu Filtered
4. Spustim tisk.
5. Vypnu filtered.

Jestlize byla v OnFiltered podobna podminka viz. vyse, tak to perfektne
funguje.
Vse je mozne menit za chodu.

Jaro.
Jaro

www

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 23.4.1998 08:52:27

>Zdravim
>Nevite nekdo (ci nemate nekdo) neco o komunikaci s
>www-serverem? Potreboval bych si v podstate rict o konkretni
>soubor. Nejspis bych to vydoloval z iexploreru, ale pripada mi,
>ze by mohla existovat nejaka jednodussi cesta, kdyz bych
>navazal spojeni pres TCP primo...


RFC 2068 (HTTP 1.1) nebo RFC 1945 (HTTP 1.0 ponekud mene stran :-).

Jinak princip je tento:
1) navazat TCP spojeni se serverem (implicitne na port 80).
2) Poslat serveru hlavicku pozadavku. Hlavicka je sled radkyu ukoncenych
znaky CRLF. Hlavicka je ukoncena prazdnym radkem (tedy jen CRLF). Prvni
radek hlavicky specifikuje co vlastne klient chce ve tvaru METODA soubor
verzeHTTP.
Tedy napr.:
GET dokument HTTP/1.0 <CRLF><CRLF>
Dokument je relativni adresa souboru v ramci serveru - tj napr / nebo
soubor.html. Pokud potrebuje komunikovat s virtualnim WWW serverem musis
odeslat jeste radek Host:www.server(tec)cz

tedy:
GET dokument HTTP/1.0 <CRLF>
Host:www.server(tec)cz <CRLF><CRLF>

3)server odpovi odeslanim hlavicky v obdobnem formatu. ZA dvojici CRLF
CRLF je jiz text souboru (pokud server nehlasi chybu).


PS. nejlep otestovat rucne pomoci programu Telnet.
S pozdravem
D. Toman

ServerSocket, ClientSocket

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 23.4.1998 08:54:48


-----Original Message-----
From: Frantisek Sobola <frank sb(zv)email(tec)cz>
To: delphi(zv)pinknet(tec)cz <delphi(zv)pinknet(tec)cz>
Date: 22. dubna 1998 23:24
Subject: ServerSocket, ClientSocket


Dobry den,
chtel bych se zeptat, jestli nekdo nahodou nemate podrobnou dokumentaci (nebo kde ji pripadne najit) ke komponentam pro Internet. V Delphi3 je napoveda jen na zakladni funkce. Konkretne si nevim rady s komponentou TClientSocket a TServerSocket. Jak mam napr. rozlisit v udalosti ClientSocketRead zda je prijiman text nebo data jeste pred tim, nez se provede funkce ReceiveBuf nebo ReceiveText? Za pripadne odpovedi predem dekuji.

na CD jsou nejake dokumenty v PDF. Je tam i popis subj.

Odpovedi: Winsock, Grafika a label, Client server

[*] Martin Nedopil <nedopil(zv)eskon(tec)cz> - 23.4.1998 08:55:07



|Hmm, a jak se dozvim ze tomu oknu dosla message - to bych pak musel i
udelat
|message handler.


Jo, sorry, mlzil jsem, presna cast kodu je zde:

TSocket = class(TComponent)
private
WinHandle: hWnd;
protected
procedure WndProc(var Msg:TMessage);

... nekde (v casti, kde uz je jasne, ze je vse ok) v Create...

WinHandle:=AllocateHWND(WndProc);

...a pak jen:

procedure TSocket.WndProc(var Msg:TMessage);
var len: integer;
sin: sockaddr_in;
begin
if Msg.Msg=WM_AsyncSelect then begin
case LoWord(msg.lParam) of
FD_READ:if Assigned(FOnReceive) then
FOnReceive(Self,msg.wParam);
FD_WRITE:if Assigned(FOnTransmit) then
FOnTransmit(Self,msg.wParam);
FD_CONNECT:begin
bFlag:=true;
if Assigned(FOnConnect) then
FOnConnect(Self,msg.wParam);
end;
FD_CLOSE:if Assigned(FOnDisconnect) then
FOnDisconnect(Self,msg.wParam);
FD_ACCEPT:begin
len := sizeof(sin);
FSocket := winsock_accept(msg.wparam,sin,len);
if FSocket = INVALID_SOCKET then SocketError('Nelze
akceptovat spojen�.');
if Assigned(FOnConnect) then
FOnConnect(Self,msg.wParam);
end;
end;
end else DefWindowProc(WinHandle,Msg.Msg,Msg.wParam,Msg.lParam);
end;


Martin Nedopil
nedopil(zv)eskon(tec)cz
nedopil(zv)geocities.com
Delphi kitchen?: http://www.geocities.com/Athens/Olympus/5260 - prave byl
prijat novy kuchtik (zatim v teto hodnosti).
Dalsi tyden prineseme jeho prvni komponentu a rozhovor...

Berva r�mu

[*] Ing. Lud�k Florian <bluerose(zv)pce(tec)cz> - 23.4.1998 08:59:05

Hi,

nemate nekdo tuseni, jak se da udelat plynuly barevny prechod v ramu
formulare ? Myslim tim to, co ma treba panel u MS Office.

Bye Ludan

ludan(zv)bluerose(tec)cz

www

[*] David Hrb�� - 23.4.1998 09:00:34

viz http://www.rtfm.be/fpiette/indexuk.htm
David


-----P�vodn� zpr�va-----
Od: Arthur <Arthur(zv)hlpsoft(tec)cz>
Komu: Konference (el. adresa) <delphi(zv)pinknet(tec)cz>
Datum: 22. dubna 1998 20:50
P�edm�t: www


>Zdravim
>Nevite nekdo (ci nemate nekdo) neco o komunikaci s
>www-serverem? Potreboval bych si v podstate rict o konkretni
>soubor. Nejspis bych to vydoloval z iexploreru, ale pripada mi,
>ze by mohla existovat nejaka jednodussi cesta, kdyz bych
>navazal spojeni pres TCP primo...
>Diky za namety Arthur
>
>=====================================
>David Arthur Muzatko
>HelpSoft, spol. s r. o.
>Uruguayska 1, Praha 2
>tel./fax.: 24255816, 90004272-5
>e-mail: Arthur(zv)HlpSoft(tec)cz
>=====================================
>
>

Kde je CD ...

[*] Ing. Jindrich Danihelka <jidas(zv)mbox.vol(tec)cz> - 23.4.1998 09:35:23

Peter Liptak wrote:
>
> Zdravim vsetkych ...
>
> Mam asi jednoduchu otazku, ako zisti ktory disk je CD mechanika
> je na to funkcia alebo sa to de niekde precitat ???
>
> Dik Peter


Je na to API funkce GetDriveType

--
Ing. Jindrich Danihelka
E-Mail jidas(zv)mbox.vol(tec)cz
Tel. 038/57805
038/7512861


Delphi2 - grafika a label

[*] RADIK(zv)p15.monet(tec)cz - 23.4.1998 09:45:00

Neco podobneho jsem kdysi delal (bez labelu) a pouzival jsem ImageList,
umi nejak i tu transparentnost a naktesli se to kamkoli (pouzival jsem
PaintBox). Ten label jsem chtel taky, ale nepodarilo se. Idea tenkrat
byla, ze pouziju ListView a zmenim pozadi, ale nezadarilo se..... Dalsi
moznost je Paintbox, na ktery se krom bitmapy nakresli i label. PaintBox
se da bez problemu vytvaret za chodu a da se s nim simulovat TLabel i
TImage a je transparentni.....

Ales
radik(zv)p15.monet(tec)cz


----------
Od: ing. Trnln} Milan
Komu: delphi(zv)pinknet(tec)cz
P�edm�t: Delphi2 - grafika a label
Datum: 22. duben 1998 13:51

Zdrav�m v�echny.
M�m zde probl�m, se kter�m si nev�m rady. Pot�ebuji pohybovat
transparetn� ikonou po bitmap�. To u� chod�, ale jen jedna. Pot�eboval
bych jich 0 a� 50, a aby to nebylo tak "jednoduch�" mus� b�t ke ka�d�
ikon� "p�ilepen�" label.
N�co se u� povedlo, ale v celku je to zat�m nepou�iteln�.

A je�t� jeden probl�m, kter�mu se ka�d� ze za��tku sm�l a pak zamrzl
�sm�v. Jak vygenerovat label, kter� nen� ve formul��i ?

Za p��padnou pomoc v�em p�edem d�kuji !!!

IBObject - prima konektivita k Interbsi

[*] Pavel Cisar <pcisar(zv)aktis(tec)cz> - 23.4.1998 09:48:55

IB objekty jsou pekne, ale na muj vkus trochu drahe (na to, ze jsou mirne
receno "neucesane"). Jako alternativu doporucuji vasi ctene pozornosti
FreeIBComponents k mani (byt zatim jen v dosti "horke" betaverzi) na
http://www.interbase.com (hned vedle FreeUDFLib). Jsou u toho kompletni
zdroje a je to podstatne "odlehcenejsi", ale take chudsi nez IBO (ale nam
slouzi s trochou domaci prace vice nez dobre :-)

Co se tyce platby do ciziny, osvedcila se nam VISA karta a platba po webu
(jinak se na toto tema jiz mluvilo pred casem, snad mozno vyhledat v
archivu).

>Pred nedavnem jsem s jednim pritelem objevil uzasnou vec.
>Z www.ibbject.com jsme stahli mnozstvi komponent pro primy pristup
>k Interbasi. Zjistili jsme, ze v mnoha pripadech je to az nekolikansobne
>rychlesi nez pri pouziti SQL links nebo ODBC.
>Napr. pri vyberu 10.0000,- zaznamu nam trva normalne presun na posledni
>zaznam az 40 sec. Pri pouziti konektivity IB to same trvalo asi 1 sec.
>Vim, ze tyto objekty jsou na tomto serveru jiz dele. Mozna jsme
>jen znovu objevili Ameriku.
>Proto se chci zeptat, zda s tim nema jiz nekdo zkusenosti a zda nevi
>nekdo kde to u nas koupit. Na tom webu uvadeji cenu asi 400 US.

Vyjimka

[*] Stepan Cerny <chaosz(zv)geocities(tec)com> - 23.4.1998 09:54:55

Hi PS (Pavle Simicku),

:-)
napis to ve funkci, ktera bude vracet zda ano, nebo ne

function CtiWav(soubor : string) : boolean;
begin
result := false;
try
... Pokus o otevreni WAV souboru ...
result := true;
except
... hlasky a uklid ...
end;
end;

Je to sice dalsi boolean. promnenna, ale takova hezci :-)))

nebo zkus treba 2 x vnorene TRY - popsano v Mistrovstvi v Delphi pro W95,
NT na str. 172-3.

Packo

PS: Kdyby ti ma rada k nicemu nebyla, tak si z toho nedelej, Billovy spadly
W98 na predvadecce - tagze hlavu vzhuru ...

Stepan Cerny
chaosz(zv)geocities.com


Simicek Pavel wrote:

> Ahoj vsichni!
> Mel bych takovyto, mozna trivialni problem.
> Mam zvukovy WAV soubor a oteviram jej pres TMediaPlayer.Open takhle:
>
> Pokud bych to mel shrnout, potreboval bych neco takoveho jako:
>
> try
> Pokus o otevreni WAV souboru
> except
> Zahlaseni ze to nejde
> else
> Pokud byl soubor korektne otevren lze pristoupit k nacteni dat pro
> zobrazeni
> end;
>
> Ovsem takto mi to kompilator nesezere, protoze v miste kde mam ELSE
> se shani po END coz i docela chapu.
>
> Da se to tedy nejak takhle napsat?
>
> Dekuji za jakoukoliv snahu pomoci.
> Ahoj Pavel
> -----------------------------------------------------------
> Ing. Pavel Simicek
> UVSSaR, FS, VUT Brno, Technicka 2, 616 69
> Tel. 05/41142461
> e-mail simicek(zv)uvss.fme.vutbr(tec)cz
> -----------------------------------------------------------

Nastaveni defalutni hodnoty v DBLookupComboBox v D

[*] Jaros Jan <xjaros03(zv)stud.fee.vutbr(tec)cz> - 23.4.1998 10:07:04


Pri vypisu polozek do DBLookupComboBoxu pomoci vlastnosti
Listfield a KeyField se mi Box naplni, ale defaultni hodnota je prazdna
vim ,ze existuje komponenta DBLookupComboBoxPlus,ktera tento problem
resi , ale je pro Delphi 2.0 a mne se ji nepodarilo nainstalovat.
Jak se da tento problem vyresit?
Existuje tato komponenta i pro 3.0?

Jan Jaros

WinSock bez okna

[*] VOLTRR1(zv)epr1.ccmail.x400.cez(tec)cz - pr 1998 10:22:17 -0700

No napadlo mne to udelat taky se skrytym oknem ,ale myslel jsem jestli to nepude
lepe.

Zajimalo by to s tim threadem - je nekde blizsi info ??? (beru i sample nebo
info pro Cecko)

Radek

-----Puvodni zprava-----
Od: Internet:delphi-request(zv)io.pinknet(tec)cz/
Odeslano: 23. dubna 1998 8:51
Komu: Internet:delphi(zv)pinknet(tec)cz/
Poedmit: Re: WinSock bez okna

>Nazdar,
>
>nevite nekdo jak komunikovat pres WinSock tak abych nepotreboval hWND
okna a
>message posilat do nej ,ale treba
>nahazovat TEvent nebo semafor nebo uplne jikak - ale bez okna.


No nejlepsi je to okno stejne vytvorit. A vytvorit ho prostredky API
Windows (RegisterClass, CreateWindow), nikoliv pomoci Delphi. Zustane
skryte - nemusi mit definovanu proceduru na prekreslovani, pouze handler
na zpracovani zprav a v nem si muzes udelat co chces. Jednim oknem
obslouzis vsechny sockety v programu. Nevidim duvod proc to neudelat
takto. Snad jedine u aplikace, ktera nepouziva thready pro obsluhu
spojeni. Je s tim o malinko vic prace - ale clovek se pri tom leccos
nauci a pro priste uz to ma hotovy.

Jina metoda je nastartovat thread, ktery bude pracovat se sockety
synchronne. Tj. zasekne se na accept dokud se nenavaze spojeni. Po
akceptovani spojeni muze thread volat a nastavovat co se zlibi.

Zdravi
D. Toman


<<Soubor: TXT1.TXT>>

Vyjimka

[*] Vaclav Sazima <sazima(zv)comp(tec)cz> - 23.4.1998 10:30:26



Simicek Pavel wrote:

> Ahoj vsichni!
> Mel bych takovyto, mozna trivialni problem.
> Mam zvukovy WAV soubor a oteviram jej pres TMediaPlayer.Open takhle:
>
> try
> Player.Open;
> except
> MessageDlg('Nestandartni format, nelze otevrit, ... blablabla......
> end;
>
> Nyni pokud nedojde k vyjimce, chci nacist data z tohoto WAV souboru pro
> graficke zobrazeni. Lze to nejak ELEGANTNE (ne napriklad pres dalsi
> booleanovskou promennou).
> Napsat toto nacitani jenom tak za toto vse nejde protoze v pripade ze
> nedojde ke korektnimu otevreni souboru, nacitani se nesmi provadet.
>
> Pokud bych to mel shrnout, potreboval bych neco takoveho jako:
>
> try
> Pokus o otevreni WAV souboru
> except
> Zahlaseni ze to nejde
> else
> Pokud byl soubor korektne otevren lze pristoupit k nacteni dat pro
> zobrazeni
> end;
>
> Ovsem takto mi to kompilator nesezere, protoze v miste kde mam ELSE
> se shani po END coz i docela chapu.
>
> Da se to tedy nejak takhle napsat?
>

Ahoj try
Pokus o otevreni WAV souboru
nacteni dat pro zobrazeni
except
Zahlaseni ze to nejde
end;

Kod pro nacteni se vykona pouze pri uspesnem otevreni, pri vzniku
vyjimky se totiz
zacne ihned vykonavat kod v bloku except.

Vaclav Sazima


Filtre

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 23.4.1998 10:36:34


> Ahojte vsetci,
>
> Moja otazka, ako byvaleho foxkara je nasledovna:
> V DBF subore mam field Numeric 11 (Width), 2 (Decimal) s nazvom
> HODNOTA. Potrebujem filtrovat polozky prislusnej Table, ktorych cela
> cast fieldu HODNOTA sa rovna nejakemu konkretnemu cislu. Napr.
> Truncate(TableHODNOTA.Value) = 10.
> Skusal som
> Table.Filter := 'INT(HODNOTA) = 10' ;
> ale neuspel som takze teraz pouzivam
> Table.Filter := 'HODNOTA >= 10 AND HODNOTA<11';
> Neviete mi niekto poradit ?
>
Po odfiltrovani vsech offtopiku, se konecne dostanu na odpoved!

Tenhle pripad bych radeji resil pomoci

Table.IndexFieldNames := 'bleble;bleble';
Table.FindKey([value1, value2])

nebo

Table.IndexFieldNames := 'bleble;blelbe';
Table.SetRange([LowValue1, LowValue2], [HighValue1, HighValue2])
try
.....
finally
Table.CancelRange;
end


ty bleble jsou indexy ne urazka

J.Jahoda

P.S. Tohle je vhodne pro Lokani databaze typu DBF, FoxPro,
Paradox, MSAccess aj., takze doufam to co chcete. Pro SQL bych pouzil
uplne neco jineho.

www

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 23.4.1998 10:52:39

Ja pro takovyto pripad pouzivam z unity URLMON procedury

URLDownloadToFile
URLDownloadToCacheFile

J.Jahoda

> Zdravim
> Nevite nekdo (ci nemate nekdo) neco o komunikaci s
> www-serverem? Potreboval bych si v podstate rict o konkretni
> soubor. Nejspis bych to vydoloval z iexploreru, ale pripada mi,
> ze by mohla existovat nejaka jednodussi cesta, kdyz bych
> navazal spojeni pres TCP primo...
> Diky za namety Arthur
>
> =====================================
> David Arthur Muzatko
> HelpSoft, spol. s r. o.
> Uruguayska 1, Praha 2
> tel./fax.: 24255816, 90004272-5
> e-mail: Arthur(zv)HlpSoft(tec)cz
> =====================================
>

Delphi2 - grafika a label

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 23.4.1998 11:00:02

Neco podobneho mam vyreseno a je to reseno takto:

Udelal jsem komponentu, ktera je potomkem TWinControl a jsou
predeklarovany metody WMPaint a PaintWindow.

Komponenta si udela tzv. MemoryMappedBitmap (lze takto nastavit Canvas)
a do te se vse vykresli a v metode WMPaint se vse vykresli na obrazovku.
No a do Canvasu mohu nakreslit cokoliv, ale musim si to udelat sam.
Bitmapu, Ikony, Texty aj.

J.Jahoda

> -----P�vodn� zpr�va-----
> Od: info(zv)saton(tec)cz [SMTP:info(zv)saton(tec)cz]
> Odesl�no: 22. dubna 1998 23:28
> Komu: 'DELPHI Distribution List'
> P�edm�t: RE: Delphi2 - grafika a label
>
> Hodn� se za tuto otazku primlouvam, ceka me to taky!
> Kuba
>
> >M�m zde probl�m, se kter�m si nev�m rady. Pot�ebuji pohybovat
> transparetn� ikonou po bitmap�. To u� chod�, ale jen jedna. Pot�eboval
> bych jich 0 a� 50, a aby to nebylo tak "jednoduch�" mus� b�t ke ka�d�
> ikon� "p�ilepen�" label.
>

WinSock bez okna

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 23.4.1998 11:53:45

>No napadlo mne to udelat taky se skrytym oknem ,ale myslel jsem jestli
to nepude
>lepe.
>
>Zajimalo by to s tim threadem - je nekde blizsi info ??? (beru i sample
nebo
>info pro Cecko)


Podivej se k helpu na CreateThread (resp borlandi BeginThread). Vlastne
o nic nejde - napis proceduru (te se predavaji nejake startovaci
parametry) a spustis ji CreateThreadem jako thread. Jediny problem je
dat si pozor na pristupy ke globalnim a jinym spolecnym datum - nesmi
dojit k soucasnemu zapisu/zapisu-cteni vice threadu/procesu najednou.
(vyuzit EnterCriticalSection/LeaveCriticalSection, apod).

Lze vyuzit i TThread od Borlandu (pokud nechces setrit na delce
programu), potom je to jeste jednodussi. Kod pro obsluhu soketu napises
do Execute.

Zdravi
D. Toman

Tisk na port

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 23.4.1998 11:55:53

Tim padem musi fungovat i programova konstrukce:

assign(f, '\\server\tiskarna');
rewrite(f);
writeln(f, 'bleble');
close(f);

J.Jahoda

> Jestlize pouzivate 32bit, pak lze jednoduse vygenerovat textovy soubor
> na disk (napriklad) a pak ho okopirovat na \\server\tiskarna
>
> ja to tak delam a je to OK
>
> fronek(zv)fic(tec)cz
>
>
> Ing. Zdenek Sraier wrote:
> >
> > Budte pozdraveni
> >
> > Ve svych aplikacich potrebujeme tisknout znakove na jehlickove
> > tiskarny. Pouzivane pro sitovou praci Novellovske tiskove fronty.
> > Mame je zachycene jako zasuvku LPT1 az LPT3.
> > Delame write(LPT1,texttexttext).
> >
> > Dotaz:
> > Lze (a jak) ve windows tisknout na vice portu (tiskarem) nez 3 ?
> > Nebo jak programove tisknout do fronty, aniz by se tiskly oddelovaci
> > stranky (ty windowsowske, novelovske pochopilne umime vypnout).
> >
> > Diky za rady
> > S pozdravem Zdenek
> > ---------------------------------------------------------
> > : o__o Zdenek Sraier sraierzd(zv)czn(tec)cz :
> > : ( o o) users(tec)czn(tec)cz/~sraierzd/ :
> > : (. .) Stranky Potapecske www.byll(tec)cz/scuba/ :
> > ---------------------------------------------------------


Zjisteni aplikace

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 23.4.1998 12:24:33

Ukoncit process lze pomoci

hProcess = OpenProcess( PROCESS_ALL_ACCESS, FALSE, ProcessId);
TerminateProcess( hProcess, 1 );
CloseHandle( hProcess );

ale musite mit nastaveny Debug prava. Ve W95 to je vzdy a v WNT se to
dela pomoci:

OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES |
TOKEN_QUERY, &hToken);
LookupPrivilegeValue((LPSTR) NULL, SE_DEBUG_NAME, &DebugValue);
TOKEN_PRIVILEGES tkp;
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Luid = DebugValue;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp,
sizeof(TOKEN_PRIVILEGES), (PTOKEN_PRIVILEGES) NULL, (PDWORD) NULL);
if (GetLastError() == ERROR_SUCCESS)
vse je OK


Takze ke zboreni processu Vam staci vedet jeho ProcessId.
> -----P�vodn� zpr�va-----
> Od: Ing. Zdenek Sraier [SMTP:sraierzd(zv)czn(tec)cz]
> Odesl�no: 22. dubna 1998 23:34
> Komu: delphi(zv)pinknet(tec)cz
> P�edm�t: Zjisteni aplikace
>
> Zdravim vsechny lidi dobre vule
>
> Jiz jednou jsem se zde ptal, ale muj dotaz nejak zapadl:
>
> Bylo zde uvedeno nekolik reseni, jak zjistit bezici aplikaci.
> Ptam se:
>
> A) Je nejak mozne zjistit, ze aplikace nereaguje
> "Neni odpoved - Not responding"
>
> B) Je mozne nejak takovou aplikaci ukoncit (killnout)
> hlavne mi jde o W95, eventuelne NT.
>
> S pozdravem Zdenek
> ---------------------------------------------------------
> : o__o Zdenek Sraier sraierzd(zv)czn(tec)cz :
> : ( o o) users(tec)czn(tec)cz/~sraierzd/ :
> : (. .) Stranky Potapecske www.byll(tec)cz/scuba/ :
> ---------------------------------------------------------


Delphi2 - grafika a label

[*] RADIK(zv)p15.monet(tec)cz - 23.4.1998 13:17:00

Neni ta vase komponenta temer presne totez co TPaintBox?

Ales

----------
Od: Ing. Jahoda Jaroslav
Komu: DELPHI Distribution List
P�edm�t: RE: Delphi2 - grafika a label
Datum: 23. duben 1998 11:00

Neco podobneho mam vyreseno a je to reseno takto:

Udelal jsem komponentu, ktera je potomkem TWinControl a jsou
predeklarovany metody WMPaint a PaintWindow.

Komponenta si udela tzv. MemoryMappedBitmap (lze takto nastavit Canvas)
a do te se vse vykresli a v metode WMPaint se vse vykresli na obrazovku.
No a do Canvasu mohu nakreslit cokoliv, ale musim si to udelat sam.
Bitmapu, Ikony, Texty aj.

J.Jahoda


Zjisteni aplikace

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 23.4.1998 13:17:42

> Ing. Zdenek Sraier wrote:
> >
> > Zdravim vsechny lidi dobre vule
> >
> > Jiz jednou jsem se zde ptal, ale muj dotaz nejak zapadl:
> >
> > Bylo zde uvedeno nekolik reseni, jak zjistit bezici aplikaci.
> > Ptam se:
> >
> > A) Je nejak mozne zjistit, ze aplikace nereaguje
> > "Neni odpoved - Not responding"
> >
> Je-li to vlastni aplikace, udelam si tam reakci na definovanou zpravu,
> pak zpravu poslu a cekam, jestli bude nekdo troubit zpatky...
>
1. Pokud je spustena a OK, tak zatroubi
2. Pokud je spustena ale not responding tak nezatroubi
3. Pokud neni spustena, tak nezatroubi

Prohledat syst�m a v n�m naj�t spu�t�n� procesy se d� pomoc�
metod Process32First a Process32Next v unite tlhelp32.pas, pomoci nich
lze naj�t i chybejici ProcessId (viz. muj predchozi mail).

Muj process id se da nalez pomoci metody GetCurrentProcessId:
DWORD z unity Windows.pas

Ty metody Process32First a Process32Next funguji 100% na W95,
ale na WNT nevim. Ja mam priklad v C, ktery vypisuje bezici processy z
Registru z adresy

HKEY_LOCAL_MACHINE\software\microsoft\Windows
NT\CurrentVersion\perflib\<langid>\Counters

ten ale neni videt pres REGEDIT, musi byt otevren pomoci
KEY_READ a REGEDIT ho otevira pomoci KEY_ALL_ACCESS

J.Jahoda


winsock

[*] sula milos <crkstrobe(zv)geocities(tec)com> - 23.4.1998 13:26:39

Toto je zpr�va ve form�tu MIME obsahuj�c�n�kolik ��st�.

Hi
Prosim vas nevi nekdo jak vyresit tento problem?
-chci vytvorit univerzalni knihovnu(dll), kterou by bylo mozno volat z lib.programu a ktera by vyuzivala funkci winsock pro komunikaci pres tcp/ip ovsem na vyssi urovni, podobne jako komponenta TSockets v delphi2.
Problem je v tom jak dll muze zavolat mou funkci (napr.ze prisly data, nebo ze se vyskytla chyba atd.) v programu, ktery je napsany napr. v PowerBuilderu nebo v necem jinem.
Dalo by se to vyresit napr. zavolanim funkce v dll, kde bych predal adresu na ktere zacina ma procedura v programu a ktera se ma volat?

Som v koncoch...

[*] Ing. Jahoda Jaroslav <Jaroslav.Jahoda(zv)lesprojekt(tec)cz> - 23.4.1998 13:32:18


> Zdravim vsetkych, vopred dakujem za akukolvek odozvu.
>
> 1;
> Potrebujem naprogramovat v D3 DDE klienta, ktory by komunikoval s IE
> 4.0, ale nemozem ziskat konkretny popis DDE parametrov MSIE potrebnych
> na komunikaciu.
>
Prikazy DDE pro IE4 sice nemam, ale pro vetsinu pripadu lze
pouzit metody z unity URLMON.PAS

HLinkSimpleNavigateToString, atd.

> 2;
> Pokusal som sa o vytvorenie vlastneho Active X komponentu, ale
> bezuspesne. Po skompilovani sa mi vytvoril patricny .OCX, ale v
> registri
> som nenasiel prislusne CLSID, aj ked som registroval komponent jednak
> z
> prostredia Delphi, aj cez "regsvr32". Samozrejme v hypertexte sa moj
> Active nespustil.
>
Viz priklady v Borland\Delphi 3\DEMOS\ActiveX\

!!! Pozor na nasteni Security v IE.

> 4;
> Mozem naprogramovat ActiveX tak, aby spustal externy program?
>
Jasne! Muzete i horsi veci, i zanest virus do pocitace ci
naformatovat HD.
Ale prosim nedelejte to ani svym nepratelum.

J.Jahoda


Filtre

[*] Marcel Dvorak <dvo20um(zv)axpsu.fpf.slu(tec)cz> - 23.4.1998 13:40:25 -0400 (edt)


Mily Slovensky priteli,
Tve komlexy 8 leteho programatora nikoho nezajimaji, asi
starnes :-)
Marcello


Lokalizace v Delphi 3 a C++ Builder 3

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 23.4.1998 13:48:27

Ahoj vsichni,

navazuji na nedavnou debatu o lokalizaci programu psanych v Delphi.
Protoze se lokalizacemi zabyvam vice do hloubky a protoze jsem pri
tom zjistil, ze mnozi ani netusi, jake zmeny prisly s Delphi 3, citim
potrebu :-) sem o tom napsat neco vice.

V drivejsich verzich Delphi a v jinych vyvojovych nastrojich jsou
texty (hlasky systemu, knihoven, ...) ulozeny casto v resource
souborech (.RES), ktere se prilinkuji k programu. Pokud tedy chtel
programator napriklad pocestit cely program, musel prelozit prave ony
resources a ty puvodni vyhodit (resp. zalohovat)

Prichodem Delphi 3 (v C++B3 je to ponekud slozitejsi, zminim se o
nem pozdji) se situace zasadnim zpusobem meni. Borland zavadi
deklaraci "resourcestring", takze veskere texty z .RES souboru se
stehuji primo do zdrojaku pod tuto deklaraci. Proto pokud budete
hledat nejaka hlaseni v resourcech, najdete tam pouze obrazky.

Prekladat tyto texty primo ve zdrojacich je sice mozne, ale ma to
nektere neprijemne dusledky, zejmena pri upgradech na nove verze,
krome toho timto zpusobem nelze lokalizovat balicky standardnich
knihoven. "Podrobnejsi" popis naleznete v User's Guide, kapitola 27.

Borland prisel s velice vtipnym resenim. Veskere zdroje, vcetne
formularu, je mozne naskladat do samostaneho souboru (je to vlastne
DLL knihovna), ktery musi mit nasledujici vlastnosti: telo jmena musi
byt shodne se jmenem lokalizovaneho programu, pripona musi byt dvou
az tri pismenna zkratka narodniho prostredi podle standardu Windows.
Pro Cechy je to CSY, pro Slovensko SKY, obecna anglictina ma EN atp.
Zkratku prostredi lze zjistit funkci GetLocaleInfo. Kdyz se podivate
v jednotce System na funkci LoadResourceModule, uvidite, ze program
pri svem startu zjisti, na jake narodni prostredi jsou Wokna
nastavena a hleda, zda neni ve stejnem adresari s programem nejaky
lokalizovany resource. Pokud ho najde, natahne do pameti tento zdroj
namisto tech, ktere ma sam v sobe (v .EXE). Dokumentace se vsak
nezminuje o tom, ze program uklada informaci do registru o pouzivane
lokalizaci, tedy je mozne vnutit programu jiny lokalizovany soubor,
nez by odpovidalo nastaveni Woken. Napriklad, mohu mit Wokna
nastavena na US (ENU) narodni prostredi, presto mohu vnutit svemu
programu lokalizaci CSY (pokud ji mam).

Jak vytvorit tento lokalizovany soubor? Pokud chcete svuj program
pouze pocestit (poslovenstit), je to celkem jednoduche (no, ne tak
docela). Pokud pocitate s prekladem svych programu do dalsich jazyku,
je nutno dodrzovat jista pravidla: zasadne neukladejte sve texty do
.RES souboru, nedeklarujte texty jako const a uz vubec se vyhybejte
primemu zapisu textu uvnitr programu. Vsechny texty zapisujte budto
do komponent pri malovani formulare, nebo je deklarujte jako
resourcestring. Takze program pak muze vypadat nejak takto:

resourcestring
TyVole='Ty vole, cos to zmacknul?'
...
MessageDlg(TyVole,mtError,[mbOk],0);
...

Nez se vsak pustite do lokalizace, nastavte nejdriv v Project /
Options v zalozce Linker Map File na Detailed, pri kompilaci se tim
vytvori soubor .DRC, ktery obsahuje seznam vsech pouzitych
resourcestringu. Potom musite zalozit novy projekt jako kdybyste
chteli vytvaret novou DLL knihovnu. Do nej musite uvest seznam vsech
formu, ktere program pouziva, jazyk, ktery se ma vytvorit a odkaz na
prelozeny DRC soubor. Napriklad takto:

library Localize;

{$E csy}
{$R Localize}
{$R TABOUTBOX.DFM}
{$R TCOLORPROP.DFM}

end.

Potom staci projekt zkompilovat, cimz se vytvori (v tomto konkretnim
pripade) soubor Localize.CSY, ktery pridate k programu Localize.EXE.
Avsak pozor, ma to drobny hacek. Pokud to nechate takto, bude vriskat
kompilator, nicmene projekt zkompiluje. Kdyz pridate uses, kompilator
ani nepipne, ale zase nebude fungovat lokalizace. :-) Jeste jedno
varovani musim uvest: lokalizovany soubor MUSI byt vytvoren z
aktualni verze kompilace programu. Pokud vytvorite lokalizaci, potom
znovu zkompilujete program (treba i bez uprav), lokalizace potom vede
zpravidla k chybam. Duvod je prosty - pri nove kompilaci se mohou
resourcestringum priradit jina cisla, nez v kompilaci predchozi.

Pokud budete chtit lokalizovat svuj program do jineho jazyka, musite
samozrejme nejprve prelozit i texty v DFM souborech.

A ted se zminim o drobnych haccich, ktere jsou s tim spojene. Pokud
program pouziva nejake dalsi formulare, jejichz volani je skryte
nekde v jednotkach knihoven, musite tyto DFM najit a pridat do
seznamu. Typickym pripadem je napriklad pouzivani QuickReportu.
Dalsim zadrhelem je, pokud pouzivate knihovny (temer vsechny od
dalsich dodavatelu), ktere dosud pracuji se soubory RES. V takovem
pripade je nutno prelozit RES soubor a opet ho pridat do seznamu v
projektu. Chybejici formulare a zdroje poznate snadno tak, ze si o ne
program pri spusteni rekne.

Dalsi problem nastava, pokud pouzivate knihovny, ktere se snazi o
svebytne reseni lokalizace (typickym pripadem jsou napriklad knihovny
firmy TurboPower, jejich reseni povazuji za nekoncepcni, protoze pri
pouzivani komponent jinych dodavatelu se vam snadno stane, ze mate
lokalizaci provedenou jen napul). Pak muze byt rozumne jejich zpusob
lokalizace odstranit a prizpusobit texty standardu Delphi
(resourcestring).

A jeste dalsi problem nastava, pokud budete chtit lokalizovat
stabdardni balicky. Protoze nemate jejich zdrojove projektove
soubory, neni touto cestou sance na jejich lokalizaci.

Prestoze Borland prisel s vynikajicim napadem, nedotahl ho do konce.
Ponechal volny prostor rucni praci a dalsim vyvojarum. Take se v
dusledku toho vyrojila rada programu, ktere se snazi tuto diru
zalepit a lokalizaci ve vetsi ci mensi mire usnadnuji. Samotny
Borland sice nabizi samostany program pro lokalizaci programu v
Delphi 3, ale cena kolem 90 000,- Kc jiste odradi kdekoho. Proto je
rozumne podivat se, co nabizi jine firmy. Nejdelsi seznam programu
pro lokalizaci najdete asi na Delphi Super Pages. Nemusi tam vsak byt
ty nenovejsi verze (k dnesnimu dni tam stale nemaji me posledni
reseni), proto je vhodne se jeste podivat na domovske stranky
produktu. Najdete tam nekolik programu, ktere resi lokalizaci i pro
nizsi verze Delphi, ale nezvladaji komplexne zmeny ve verzi 3.

Vzhledem k uvedenym potizim pri vyhledavani skrytych formularu a
"pozapomenutych" resourcu se jevi jako nejrozumnejsi lokalizovat
primo exe program (ale take balicky, DLL, OCX). Staci z programu
vytahnout formulare a stringy (viz Resxplor z demo prikladu),
lokalizovat je, a potom je zabalit do lokalizacniho souboru. Protoze
C++ Builder 3 pouziva Delphi knihovny, umi take nacist lokalizacni
soubor, ale neumi vyzobat pri kompilaci texty z resourcestring. Proto
vyse popsany zpusob lokalizace pro nej neplati, lze cerpat pouze z
hotovych programu. Zde se vsak objevuje take jisty "zadrhel", a to
ten, ze zdroje muzete vyndat i z programu zkompilovanych jinymi
nastroji, muzete i vytvorit lokalizaci, ta vsak nebude fungovat,
protoze takovym programum chybi prave funkce LoadResourceModule.
Takze sanci maji pouze programy napsane v Delphi 3 a C++B 3.

Prave na moznost "totalni" lokalizace se mne casto mi zakaznici
ptaji. Bohuzel jim vzdy musim odpovidat, ze hlasky prichazejici
napriklad z BDE nebo databazi mym programem lokalizovat nelze,
protoze jsou odladeny v necem jinem.

S pozdravem

Zbysek Hlinka
E-mail: zhlinka(zv)login(tec)cz
Tel.: 02/795 29 56
Krystofova 1016, 149 00 Praha 4
CZ



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