Archív konference Delphi

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

navrat na predchozi radek

[*] Milan Tome� <milan.tomes(zv)haida(tec)cz> - 10.7.2002 12:43:55

Abych to jeste upresnil - my mame takovou cache. Index se nevytvari okamzite
pri creatu, ale pouze pokud je potreba tzn. pokud potrebuji radek 5000 tak
se vytvori index az do radku 5000 a tam skonci. Kdyz bude najednou potreba
radek 5, tak se akorat precte offset zacatku a konce a nasleduje jednoduchy
seek a nacteni daneho radku do dynamickeho bufferu. Dale nastava vlastni
zpracovani (tj. orezani CRLF popr. dalsich v ramci metod potomku).

A od kolegy mam vysledky testu:

Pro zajimavost porovnani vykonu TTextFileStream a TJclMappedTextReader:

Zjisteni poctu radek

TTextFileStream - 2s 265ms
TJclMappedTextReader - 60ms - klobouk dolu

5000x precteni nahodne radky (soubor 108000 radek, cca. 10MB)

TTextFileStream - 2s 343ms
TJclMappedTextReader - 2m 0s 133ms

Nas pozadavek totiz nebyl sekvencni cteni, proto budujeme index, pak se to
zuroci. Sekvencni test jsem neprovedl, asi by nas JCL rozdrtilo ;)


S pozdravem

Milan Tomes
mailto:milan.tomes(zv)haida(tec)cz

> ze se indexy
> radku neukladaji, ale vzdy pocitaji relativne od posledni pozice,
> pricemz se
> pouzije nejkratsi usek bud od posledni pozice nebo od
> zacatku/konce souboru.
> Vlastni soubor je namapovan do pameti. Pouziti je vcelku zrejme z prikladu
> Petr Vones

navrat na predchozi radek

[*] Milan Tome� <milan.tomes(zv)haida(tec)cz> - 10.7.2002 12:50:21

Idealni je vytvoreni indexu, ktery se bude dynamicky plnit. Napr. pokud neni
vubec vytvoren a chci cist z radku 5000 tak stejne musim projit soubor
sekvencne od zacatku a hledat radek 5000. V pripade, ze ty radky uz jednou
nactu nevidim duvod proc si ty pozice nekam nezapsat a v pripade nasledneho
pozadavku na jakykoliv radek <= 5000 je mozne provest uz pouze velice
jednoduchou a velice rychlou operaci Seek a Read do bufferu.

Je pravda, ze cache pouze na prectene radky to opravdu moc nezachrani...

S pozdravem

Milan Tomes
mailto:milan.tomes(zv)haida(tec)cz

> Z toho je videt, ze by nebylo spatne tam pridat jako volitelny
> parametr tvorbu
> indexu pro cely soubor. Cache na jiz jednou prectene pozice to
> asi nezachrani.
>
> Petr Vones

OT: parametry k IExploreru

[*] Ing. Jiri SOKOL <JS-delphi(zv)seznam(tec)cz> - 10.7.2002 12:50:13

Ahoj!

Chtel bych z Delphi spustit prezentaci, kterou mam v *.html. Nejdrive jsem to delal pomoci
komponenty WebBrowser, ale kdyz se aplikace "slozila na listu" a pak se obnovila,
dochazelo k naprostemu zatuhnuti systemu.
Ten *.html vola soubor *.svg (adobe svgViewer) - to jen kdyby jste se nekdo s takovou
chybou uz setakali a chteli mi poradit.

Proste, otviram IE pomoci ShellExecute, ale ted bych chtel zjistit, jestli lze zadat
nejake parametry, aby se spustil ten IE maximalizovany (to jsem zvladl - sw_ShowMaximized)
a aby se to rozjelo v cele obrazovce (kdyz bezi IExplorer, tak se to udela pomoci
klavesy <F11>).

Umite to nekdo?

Diky
Jirka

______________________________________________________________________
Reklama:
Poctenicko pro kazdy den: http://www.novinky(tec)cz

Vytvoreni databaze na MS SQL Serveru

[*] Jan Krizek <krizek(zv)vitasw(tec)cz> - 10.7.2002 12:58:24

> > ***) zkopiroval cely databazovy soubor na cilove PC a tam jej
> > jen pripojil do MS SQL
> > Serveru, toto reseni ze mi vsak zda zcela nevhodne.
>
> Proc je nevhodne ? Pokud jsi databazi odpojil pres sp_detach_db,
> staci Ti distribuovat jen MDF soubor a ten pripojit pres sp_attach_db.
> Tuto variantu pouzivame (na MSSQL7 i MSSQL2000) cca 4 roky a vse je
> bez problemu.

Jenom to vyzaduje na obou serverech mit nastavene stejne trideni apod.

Honza +

OT: parametry k IExploreru

[*] Milan Cizek <Cizek.Milan(zv)seznam(tec)cz> - 10.7.2002 13:06:11

> Proste, otviram IE pomoci ShellExecute, ale ted bych chtel zjistit, jestli lze zadat
> nejake parametry, aby se spustil ten IE maximalizovany (to jsem zvladl - sw_ShowMaximized)
> a aby se to rozjelo v cele obrazovce (kdyz bezi IExplorer, tak se to udela pomoci
> klavesy <F11>).

ahoj,
pokud se nepletu, m�l by to byt parametr -kiosk.

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

______________________________________________________________________
Reklama:
Nejenom anglicko-cesky slovnik: http://slovnik.seznam(tec)cz

staticka promenna tridy

[*] Radim Kunz <privat(zv)casestudio(tec)com> - 10.7.2002 13:12:55


----- Original Message -----
From: "Petr Vones" <pvones(zv)mbox.vol(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Tuesday, July 09, 2002 4:35 PM
Subject: Re: staticka promenna tridy


> From: "karel macka" <seduvplacek(zv)post(tec)cz>
> > v c++ existuje staticka promenna nebo metoda tridy. deklaruje se v tride
> > klicovym slovem static a funguje tak ze je spolecna pro vsechny instance
> > teto tridy. existuje neco takoveho i v delphi?
>
> Podivej se v helpu na 'Class methods'. Staticke promenne v Object Pascalu
> nejsou.
>
> Petr Vones
>

Nekde na usenetu jsem cetl, ze by to melo umel D7.
Ale ja sam jsem to zatim nezprovoznil, protoze neznam syntaxi. :-(
Help tam je totiz jeste z D6.

Radim


PDF soubory a Delphi 4

[*] Michal <delphi-konference(zv)bcpraha(tec)com> - 10.7.2002 13:13:26

Dobry den,

Kdyz tady byla rec o exportech do PDF, tak bych chtel pozadat, jestli
byste mi nemohli poslat odkazy na nejake komponenty.

Predem dik
Michal

> Co znamena "cist sobory PDF"?
> Chces urobit export do PDF? Chces menit existujuce PDFka? Co presne
chces v
> PDFku menit?
>
> Na export je dost dobrych ci lepsich komponent, ale na pracu s
existujucim
> PDF suborom na urovni aspon najnizsich logickych struktur toho
existuje vo
> svete PDF velmi malo. A ked chces nieco free tak mas skutocne velmi
malo
> moznosti (ghostscript je jednym z nich). S Delphi native kod som sa
este
> nestretol.
>
> Roman


Jak prehrat X mp3 na X zvukovkach soucasne ?

[*] Lstiburek Pavel <Lstiburek(zv)ceb(tec)cz> - 10.7.2002 13:24:06

Zkouseli jsme to, ale pro velke problemy s WIN jsme se presunuli pod LINUX
(4 zvukovky jsme rozchodili, vic nebylo potreba).
Pavel

> -----Original Message-----
> From: VladimirRuzicka [mailto:ruzicka(zv)digitus(tec)cz]
> Sent: Wednesday, July 10, 2002 11:39 AM
> To: Delphi konference
> Subject: Jak prehrat X mp3 na X zvukovkach soucasne ?
>
>
> Ahoj
>
> resim problem %subj%, kde X muze nabyvat hodnoty maximalne 5.
> Delal jste
> nekdo neco podobneho ? Zatim se mi povedlo prehat jenom 5 mp3
> soucasne na
> jednu zvukovku, ale to je mi na nic.
>
> predem dik
>
> Vladimir, D4, W98
>

staticka promenna tridy

[*] Radek KALA <Kala(zv)Atlas(tec)cz> - 10.7.2002 13:34:08

Toto jsem nekde oprasknul takto :

unit xxxx;
uses cxxxxx;
interface
type
popis tridy

implementation
Var
promena : integer;
procedure. ./.....

....


end;

no a promena je snad to co potrebujes

> ----- Original Message -----
> From: "Petr Vones" <pvones(zv)mbox.vol(tec)cz>
> To: <delphi-l(zv)clexpert(tec)cz>
> Sent: Tuesday, July 09, 2002 4:35 PM
> Subject: Re: staticka promenna tridy
>
>
> > From: "karel macka" <seduvplacek(zv)post(tec)cz>
> > > v c++ existuje staticka promenna nebo metoda tridy. deklaruje se v
> > > tride klicovym slovem static a funguje tak ze je spolecna pro
> > > vsechny instance teto tridy. existuje neco takoveho i v delphi?
> >
> > Podivej se v helpu na 'Class methods'. Staticke promenne v Object
> > Pascalu nejsou.
> >
> > Petr Vones
> >
>
> Nekde na usenetu jsem cetl, ze by to melo umel D7.
> Ale ja sam jsem to zatim nezprovoznil, protoze neznam syntaxi. :-(
> Help tam je totiz jeste z D6.
>
> Radim
>
S pozdravem Radek KALA
BetaControl, s.r.o.
Cerneho 58/60, 635 00
tlf. : + 420 5 4622 3491
fax : + 420 5 4622 3470
GSM : + 420 603 85 75 15

Na kterem CPU proces pojede?

[*] Milan Cizek <Cizek.Milan(zv)seznam(tec)cz> - 10.7.2002 13:34:22

ahoj,
chtel bych mit ve svem programu moznost urcit, ktery cpu ho bude
obsluhovat. Presne tak, jako to umi napr. SETI(zv)home client (pomoc�
parametru -cpu [0..x]). Da se to nejak ovlivnit?

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

______________________________________________________________________
Reklama:
Co davaji v TV? http://tv.seznam(tec)cz

Chybne chovani for cyklu

[*] Michal <delphi-konference(zv)bcpraha(tec)com> - 10.7.2002 13:42:03

Ahoj vsem,

D3 Ent

Zacal se mi ponekud divne chovat for cyklus!
Priklad (je to vytazeno z vetsiho projektu):

const
caTasks: array[1..4] of string = ('A', 'B', 'C', 'D');

procedure xxx;
begin
...
for locI := low(caTasks) to high(caTasks) do
if not Locate('name', caTasks[locI], [loCaseInsensitive]) then
beep;
...
end;

S hruzou jsem ale zjistil, ze for cyslus pocita 4,3,2,1 a ne 1,2,3,4.
Chtel bych se zeptat jesli pro to existuje nejake normalni vysvetleni?
Osobne si myslim, ze to porusuje jedno z nejvetsich jistot Delphi
prekladace (pokud si for pocita odkud chce).

Michal


Chybne chovani for cyklu

[*] Roman Konecny <rkonecny(zv)datis(tec)cz> - 10.7.2002 14:02:19

to je uplne normalni chovani cyklu for. Pokud by to melo byt obracene, bylo
by to:
for i:= xxx downto xxx do
neco delej

Roman K.

----- Original Message -----
From: "Michal" <delphi-konference(zv)bcpraha.com>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, July 10, 2002 1:42 PM
Subject: Chybne chovani for cyklu


> Ahoj vsem,
>
> D3 Ent
>
> Zacal se mi ponekud divne chovat for cyklus!
> Priklad (je to vytazeno z vetsiho projektu):
>
> const
> caTasks: array[1..4] of string = ('A', 'B', 'C', 'D');
>
> procedure xxx;
> begin
> ...
> for locI := low(caTasks) to high(caTasks) do
> if not Locate('name', caTasks[locI], [loCaseInsensitive]) then
> beep;
> ...
> end;
>
> S hruzou jsem ale zjistil, ze for cyslus pocita 4,3,2,1 a ne 1,2,3,4.
> Chtel bych se zeptat jesli pro to existuje nejake normalni vysvetleni?
> Osobne si myslim, ze to porusuje jedno z nejvetsich jistot Delphi
> prekladace (pokud si for pocita odkud chce).
>
> Michal
>
>
>

Chybne chovani for cyklu

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 10.7.2002 14:10:44



> to je uplne normalni chovani cyklu for. Pokud by to melo byt
obracene, bylo
> by to:
> for i:= xxx downto xxx do
> neco delej

to je blbost. Vzdy platilo a plati, ze "for I := 1 to 100" pouziva
hodnoty I od 1 do 100 (po jedne). Pri zapnute optimalizaci to pri
krokovani muze zdanlive vypadat jako ze se pouzivaji hodnoty v opacnem
poradi (ci dokonce z jineho rozsahu). Ve skutecnosti ale v miste
pouziti je vzdy vypocten ten spravny index. Staci se podivat do ASM
kodu (CPU okno)

D. Toman

TMemoryStream

[*] Roland Turcan <rolo(zv)sedas.sk> - 10.7.2002 14:14:42

Hello Delphi CZ konferencia!

Skusam tento kod:

MS:=TMemoryStream.Create;
DS:=TMemoryStream.Create; //(ExtractFilePath(Application.ExeName)+'DATA.ZLIB',fmCreate);
CS:=TZCompressionStream.Create(DS,zcMax);
try
//tuje kod na naplnenie MS

MS.Position:=0;
CS.CopyFrom(MS,MS.Size);

//pre kontrolu si to zapisujem ToFile
DS.SaveToFile(ExtractFilePath(Application.ExeName)+'DATA.ZLIB');

No a problem je v tom ze DS.Size=0 takze aj subor na disku je
Length=0. Ale zaujimave je ze ak DS:=TFileStream.Create(... tak subor
obsahuje to co ma. T.j. do FileStreamu to nakopiruje a do
Memorystreamu nie.

Cim to moze byt?

--
Best regards, TRoland

implicitni vyber tlacitek v MessageDlg()

[*] Martin Kleiner <mkleiner(zv)seznam(tec)cz> - 10.7.2002 14:16:59

>> Tak zkus prohodit mbYes ambNo
>>David.

To je jako bys rekl ze 1+2 se nerovna 2+1

Martin

Fomr z dll

[*] �tevl�k Mari�n <Marian.Stevlik(zv)merlin(tec)cz> - 10.7.2002 14:17:37

V DLLku nemam MDI child okna, su tam okna fsNormal, len ich vytvaram cez
CreateParented

Stevlik Marian
Software Development Specialist
MERLIN
Stefanikova 32
150 00 Prague 5
Czech Republic
e-mail: marian.stevlik(zv)merlin(tec)cz
tel: +420 2 41010111 (181)

-----P�vodn� zpr�va-----
Od: Petr Vones [mailto:pvones(zv)mbox.vol(tec)cz]
Odesl�no: 10. �ervence 2002 12:05
Komu: Konference Delphi
P�edm�t: Re: Fomr z dll


From: "�tevl�k Mari�n" <Marian.Stevlik(zv)merlin(tec)cz>
> Mam problem a neviem si snim dat rady
> MDIAplikacia vyuzivajuca mnou vytvorene dllko, vola z neho fciu OtvorOkno

Preloz EXE i DLL s balicky. Jedine tak:

a) to bude fungovat
b) ma smysl ukladat MDI child do DLL/BPL

Vice treba tady: http://www.obsof.com/delphi_tips/DL613.html

Petr Vones

Chybne chovani for cyklu

[*] Peter Surovy <psurovy(zv)uevora.pt> - 10.7.2002 13:17:14


----- Original Message -----
From: "Michal" <delphi-konference(zv)bcpraha.com>
Sent: Wednesday, July 10, 2002 12:42 PM


> D3 Ent
----myslim ze take neexistuje; nemyslel si Klient/Server?

> Zacal se mi ponekud divne chovat for cyklus!
---zacal ci predtym si si to nevsimol?

> S hruzou jsem ale zjistil, ze for cyslus pocita 4,3,2,1 a ne 1,2,3,4.
---pri krokovani alebo si si to logoval?

> Chtel bych se zeptat jesli pro to existuje nejake normalni vysvetleni?
-----http://www.delphi(tec)cz/hledani.asp hladaj for cyklus;
ale tak zhruba ked tu premennu cyklu nepouzivas moze prekladac usudit
ze takto to bude rychlejsie.
Mysim ze by sa to stratilo keby si si vypol optimalizaciu
ale najskor zisti ci je to naozaj take strasne.

> Osobne si myslim, ze to porusuje jedno z nejvetsich jistot Delphi
> prekladace (pokud si for pocita odkud chce).
----no neviem


Peter Surovy

Problem s RLINK32.DLL

[*] <delphin(zv)centrum.sk> - 10.7.2002 14:25:31

Zdravim!

Mam problem pri linkovani vacsieho projektu (okolo 700 000
riadkov), pada to na access violation RLINK32.DLL. Zda sa, ze
kompilacia prebehne v poriadku, ale pri konecnom linkovani to
spadne. Mam podozrenie, ci linker nema problem s dlhymi
resourcestringami, nie som si vsak isty.
Neviete v com by mohol byt problem? Neviete niekto o nejakom
patchi.Z Borlandu mam stiahnuty patch a nic.

Dik

D5Ent

----------------------------------------------------------------
http://www.webpark.sk/novy-web.htm - Profesion�lny webhosting

OT: Leze vam krkem Delphi i Java? Znate .NET?

[*] Slavek Rydval <rk(zv)atrey.karlin.mff.cuni(tec)cz> - 10.7.2002 14:26:58

Preji vsem pekneho dne,

schanim kontakt na cloveka, ktery zna ruzne alternativy vyvojovych
prostredku a nastroju (hlavne k Jave, tedy .NET) a pohybuje se v
akademickem prostredi. Nemusi byt vyvojar, stejne tak nemusi byt ani
ovencem zbytecnostni typu CSc, RNDr, prof. a dalsimi. Tedy clovek,
ktery tomu rozumi a mel by zajem uchazet se o pozici v
nejnenavidenejsi a pritom nejuspesnejsi softwarove spolecnosti.

Pokud nekoho takoveho znate, muzete mi prosim zaslat na nej kontakt?
(pripadne se ozvete sami :-)

Diky za pozornost

Slavek
--------------------------------------------------------
http://atrey.karlin.mff.cuni(tec)cz/~rk
--------------------------------------------------------
Udelejte to blbuvzdorne a zitra nekdo vymysli jeste vetsiho blba.

Chybne chovani for cyklu

[*] Libor Junek, KSH-Data <junek(zv)ksh-data(tec)cz> - 10.7.2002 14:32:16

Vypni si na ten cyklus optimalizator a bude to OK.
{$OPTIMIZATION ON/OFF} nebo {$O+/-}

Libor

> S hruzou jsem ale zjistil, ze for cyslus pocita 4,3,2,1 a ne 1,2,3,4.
> Chtel bych se zeptat jesli pro to existuje nejake normalni vysvetleni?
> Osobne si myslim, ze to porusuje jedno z nejvetsich jistot Delphi
> prekladace (pokud si for pocita odkud chce).

navrat na predchozi radek

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 10.7.2002 14:48:17

On 10 Jul 2002 at 8:23, Milan Tome� wrote:

> My jsme si vytvorili vlastni objekt (TTextFileStream), ktery otevre
> dany soubor a nemusis ho prochazet sekvencne. Proste jen pouzijes
> ReadLn(CisloRadku) a je to. Samozrejme ale je moznost pouziti

A nebylo by lepsi cely soubor nacist do TStringList?

>
> jak je mozne pri zpracovavani souboru metodou readln vratit se na
> predchozi radek a provest zpracovani daneho radku znovu. Petr
> Holomecek

S pozdravem

Zbysek Hlinka


Dll form jak ne nej ?

[*] KinDRik <kindrik(zv)centrum(tec)cz> - 10.7.2002 14:59:46

Dobry den Konference,
Prave resim problem jak zobrazit form ulozeny v dll
mohl by mi nekdo prosim pomoci (pripadny koudek zdrojacku bude
vitan)

Predem dekuji
Jiri B.
kindrik(zv)centrum(tec)cz
WinMe,WinXp Home ;Delphi 5

--------------------
Co um� ide�ln� Email? V�ce na str�nk�ch: http://bonus.centrum(tec)cz


Problem s RLINK32.DLL

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 10.7.2002 15:00:09

Ahoj,
mel jsem problem s dlouhymi resourcestring (vetsi nez 4 kB), predelal jsem to na const a je pokoj
Jaro B.

-----Original Message-----
From: delphin(zv)centrum.sk [mailto:delphin(zv)centrum.sk]
Subject: Problem s RLINK32.DLL

spadne. Mam podozrenie, ci linker nema problem s dlhymi
resourcestringami, nie som si vsak isty.

MessageBox a ikony

[*] LUKES V�clav <lukes(zv)ans(tec)cz> - 10.7.2002 15:06:31


Ahoj,

muzete mi prosim nekdo poradit, kde bych nasel nejaky seznam buttonu a ikon pro Application.MessageBox a MessageDlg ?

Diky

Vasek

Na kterem CPU proces pojede?

[*] Daniel Rott <roxton(zv)seznam(tec)cz> - 10.7.2002 15:07:27

> chtel bych mit ve svem programu moznost urcit, ktery cpu
> ho bude obsluhovat. Presne tak, jako to umi napr. SETI(zv)home

koukni se na funkci SetProcessAffinityMask popr. GetSystemInfo

Daniel
-------------------------------------------------------
Scanning complete: NO intelligent life form in range.

Na kterem CPU proces pojede?

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 10.7.2002 15:09:18

> chtel bych mit ve svem programu moznost urcit, ktery cpu ho bude
> obsluhovat.

Je na to API SetThreadAffinityMask.

HTH
TOndrej

MessageBox a ikony

[*] David Both <dboth(zv)merlin(tec)cz> - 10.7.2002 15:21:31

seznam konstant buttonu pro funci MessageDlg:
mbYes,mbNo,mbOK,mbCancel,mbAbort,mbRetry,mbIgnore,mbAll,mbNoToAll,mbYesToAll
,mbHelp
seznam konstant Dialogov�ho typu okna:
mtWarning,mtError,mtInformation,mtConfirmation,mtCustom

jinak v GExperts je Funkce Message Dialog a tam si m��e� lechce vybrat jak�
typ a tla��tka chce� :-) (Adresa: http://www.gexperts.org/)

David.
----- Original Message -----
From: "LUKES V�clav" <lukes(zv)ans(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, July 10, 2002 3:06 PM
Subject: MessageBox a ikony



Ahoj,

muzete mi prosim nekdo poradit, kde bych nasel nejaky seznam buttonu a ikon
pro Application.MessageBox a MessageDlg ?

Diky

Vasek

univerzalni vstupni dialog?

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 10.7.2002 15:30:05

Pouzivat by se to dalo napriklad pro parametry tiskovych sestav. Ale na to
je zbytecna komponenta... resenim je treba univ. form, kteremu predam
stringlist s parametry, form si z nej vycte jake kontrolky ma zobrazit a po
zavreni mi vrati SQL dotaz.

Roman

> > zdravim,
> > nevite nekdo o komponente pro univerzalni vstup dat? Potrebuji moznost
> > definovani ruzneho poctu vstupnich poli - edit, datatimepicker,
> > combobox atd. Delat pro kazdy vstup ruznych parametru od uzivatele
> > samostatny form je unavne. bleak
>
> Ahoj,
>
> nejak si neumim predstavit, jak by se to melo pouzivat. Budes mit
univerzalni form,
> ale stejne bys musel nastavit spoustu parametru: typy editu (edit, combo
apod.),
> vsechny texty labelu, mozna implicitni predvyplnene hodnoty, usporadani do
> sloupcu, sirky komponent apod. Neumim si predstavit, ze by to bylo v necem
> vyhodnejsi nez dialog vyrobeny na miru, ktary mozna vypiplas do pozadovane
> podoby rychleji.
>
> David Lebeda

dynamicke vytvareni ruznych formu jednou proceduro

[*] Filip Kinsky <xkinf01(zv)vse(tec)cz> - 10.7.2002 15:50:34

Ahoj
potreboval bych jednou procedurou vytvaret ruzne formulare s tim, ze
kazdy formular je jineho typu...

snad to lip vysvetlim na prikladu:
mam 15 vysetreni, pro kazdy vysetreni jeden form a pri vytvoreni
noveho vysetreni vzdy provadim stejne operace akorat pokazde nad jinym
formularem (nastavuju ID zaznamu, ... = asi 40 redek kodu) a jde mi o
to abych to pokazde nemusel psat znovu akorat s tim, ze zmenim nazev
formulare a nazev tabulky nad kterou pracuju...

zatim moje pokusy se skoncily na tom, ze nevim jak vytvorit prislusny
form... pravdepodobne uz je chyba v deklaraci procedury - konkretne
parametr xForm asi nebude TForm, ale neco jineho?
kod mam zatim priblizne takhle, ale nedokazu si nejak poradit s tou
tridou ;( :

procedure PridejVysetreni(xVysetreni:tVysetreni; xVysNumField:string; xOrderID:string; xForm:TForm; xMode:toMode);
var i:integer;
T:TIBOTable;
F:TForm;
...
F:=(xForm as xForm.ClassType).create(nil); <<<<< tady je problem...
(F as TForm).showmodal;
...

Filip

Chybne chovani for cyklu

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 10.7.2002 15:51:06

To se obcas stava, kdyz optimalizator usoudi, ze bude efektivnejsi to
pocitat opacne. Staci vypnout optimalizaci a bude to pocitat tak jak je to
napsane.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
http://web.redbox(tec)cz/petr.brant
ICQ #68652380

D&COMM s.r.o.
Korunova�n� 6
170 00 Praha 7
> Subject: Chybne chovani for cyklu
>

> Zacal se mi ponekud divne chovat for cyklus!
> Priklad (je to vytazeno z vetsiho projektu):
>
> const
> caTasks: array[1..4] of string = ('A', 'B', 'C', 'D');
>
> procedure xxx;
> begin
> ...
> for locI := low(caTasks) to high(caTasks) do
> if not Locate('name', caTasks[locI], [loCaseInsensitive]) then
> beep;
> ...
> end;
>
> S hruzou jsem ale zjistil, ze for cyslus pocita 4,3,2,1 a ne 1,2,3,4.
> Chtel bych se zeptat jesli pro to existuje nejake normalni vysvetleni?
> Osobne si myslim, ze to porusuje jedno z nejvetsich jistot Delphi
> prekladace (pokud si for pocita odkud chce).

Chybne chovani for cyklu

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 10.7.2002 16:04:13

From: "Petr Brant" <brant(zv)dcomm(tec)cz>
> To se obcas stava, kdyz optimalizator usoudi, ze bude efektivnejsi to
> pocitat opacne. Staci vypnout optimalizaci a bude to pocitat tak jak je to
> napsane.

Optimizer tak usoudi pouze v pripade, ze na tom nezalezi. Pokud je ale
predavan index jako parametr do nejake funkce tak potom to funguje presne tak
jak se ocekava. Optimalizaci neni vhodne vypinat v zadnem pripade, s vyjimkou
nekterych pripadu pri ladeni.

Petr Vones

Datum a cas souboru vs. Linux

[*] Jan Z�hora <jan.zahora(zv)dece(tec)cz> - 10.7.2002 16:08:23

Ahoj, mam nasledujici problem:
potrebuji zmenit datum a cas posledni modifikace souboru.
Vyuzivam funkci FileSetDate(...) v Delphi5 (aplikace pro Windows).
V OS Windows a na s�ti Novell bez probl�mu datum a cas zmeni.
Pod Linuxem (Server bezici na Linuxu, klient pripojen z W98) se vubec nic
nestane a datum a cas posledni modifikace souboru z�st�v� nezmenen. Vlastnik
souboru (ten kdo ho prvotne vytvoril) a aktualne prihlaseny uzivatel nejsou
jedna a ta sama osoba.
Nema nekdo nejakou radu?
Dik. Honza.

Re[2]: univerzalni vstupni dialog?

[*] Jakub Dusek <jdev(zv)seznam(tec)cz> - 10.7.2002 16:11:48

S tim tedy zasadne nesouhlasim, neco podobneho mam uz v relativne
odladene podobe a je to neuveritelna uspora prace a splachne se tim
spousta dialogu.

Jakub Dusek

-------------------------------------------
Homepage : http://dusek.zde(tec)cz
Phone : +420604615795
Sms email : jakub.dusek(zv)click(tec)cz
Icq : 86063232
Apps : Add/Remove Manager, Charmaper,
Sms GateKeeper
-------------------------------------------

Wednesday, July 10, 2002, 8:34:15 AM, you wrote:

>> zdravim,
>> nevite nekdo o komponente pro univerzalni vstup dat? Potrebuji moznost
>> definovani ruzneho poctu vstupnich poli - edit, datatimepicker,
>> combobox atd. Delat pro kazdy vstup ruznych parametru od uzivatele
>> samostatny form je unavne. bleak

LD> Ahoj,

LD> nejak si neumim predstavit, jak by se to melo pouzivat. Budes mit univerzalni form,
LD> ale stejne bys musel nastavit spoustu parametru: typy editu (edit, combo apod.),
LD> vsechny texty labelu, mozna implicitni predvyplnene hodnoty, usporadani do
LD> sloupcu, sirky komponent apod. Neumim si predstavit, ze by to bylo v necem
LD> vyhodnejsi nez dialog vyrobeny na miru, ktary mozna vypiplas do pozadovane
LD> podoby rychleji.

LD> David Lebeda

Chybne chovani for cyklu

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 10.7.2002 16:19:25



>To se obcas stava, kdyz optimalizator usoudi, ze bude efektivnejsi to
>pocitat opacne. Staci vypnout optimalizaci a bude to pocitat tak jak
je to
>napsane.

myslim, ze ty projevy jsou jen v debuggeru - sama aplikace se chova
korektne. Cili nejde o chybu kompilatoru ale o chybu ci vlastnost
debuggeru (asi by bylo hodne obtizne (pripadne ne uplne ciste
implementovatelne) pri teto optimalizaci zobrazovat ocekavanou hodnotu
kontrolni promenne


D. Toman

Datum a cas souboru vs. Linux

[*] Sula Milos <milos.sula(zv)oku-su(tec)cz> - 10.7.2002 16:22:07

A ma ten uzivatel pod kterym ses prihlasen na linux pravo zapisu do toho souboru ?

Milos

-----Original Message-----
From: Jan Z�hora [mailto:jan.zahora(zv)dece(tec)cz]
Sent: Wednesday, July 10, 2002 4:08 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Datum a cas souboru vs. Linux


Ahoj, mam nasledujici problem:
potrebuji zmenit datum a cas posledni modifikace souboru.
Vyuzivam funkci FileSetDate(...) v Delphi5 (aplikace pro Windows).
V OS Windows a na s�ti Novell bez probl�mu datum a cas zmeni.
Pod Linuxem (Server bezici na Linuxu, klient pripojen z W98) se vubec nic
nestane a datum a cas posledni modifikace souboru z�st�v� nezmenen. Vlastnik
souboru (ten kdo ho prvotne vytvoril) a aktualne prihlaseny uzivatel nejsou
jedna a ta sama osoba.
Nema nekdo nejakou radu?
Dik. Honza.

PDF soubory a Delphi 4

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 10.7.2002 16:27:17

Puvodni zprava, kterou napsal Roman Toda dne 10 Jul 2002:

> Co znamena "cist sobory PDF"?

IMHO urcite ne ani jedno z tohoto:

> Chces urobit export do PDF? Chces menit existujuce PDFka? Co presne chces
> v PDFku menit?

S pozdravem
Petr Zahradnik, pocitacovy expert

============================================================
Petr Zahradnik, Computer Laboratory
Obvodova 740/14, P.O. Box 15, 400 07 Usti nad Labem
Telefony: 047-5500610, 047-5501627, 0602-409601
Fax: 047-5511338
WWW: http://www.clexpert(tec)cz, http://www.zahradnik(tec)cz
E-Mail: clexpert(zv)clexpert(tec)cz, petr(zv)zahradnik(tec)cz
ICQ: 21215917
============================================================

Leze vam krkem Delphi i Java? Znate .NET?

[*] Richard Siegl <rsiegl(zv)elas.sk> - 10.7.2002 16:30:02

Co za to ? a hlavne kam a na aku poziciu ?

Rickie

----- Original Message -----
From: "Slavek Rydval" <rk(zv)atrey.karlin.mff.cuni(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Wednesday, July 10, 2002 2:26 PM
Subject: OT: Leze vam krkem Delphi i Java? Znate .NET?> Preji vsem pekneho dne,
>
> schanim kontakt na cloveka, ktery zna ruzne alternativy vyvojovych
> prostredku a nastroju (hlavne k Jave, tedy .NET) a pohybuje se v
> akademickem prostredi. Nemusi byt vyvojar, stejne tak nemusi byt ani
> ovencem zbytecnostni typu CSc, RNDr, prof. a dalsimi. Tedy clovek,
> ktery tomu rozumi a mel by zajem uchazet se o pozici v
> nejnenavidenejsi a pritom nejuspesnejsi softwarove spolecnosti.
>
> Pokud nekoho takoveho znate, muzete mi prosim zaslat na nej kontakt?
> (pripadne se ozvete sami :-)
>
> Diky za pozornost
>
> Slavek
> --------------------------------------------------------
> http://atrey.karlin.mff.cuni(tec)cz/~rk
> --------------------------------------------------------
> Udelejte to blbuvzdorne a zitra nekdo vymysli jeste vetsiho blba.
>
>

Re[2]: univerzalni vstupni dialog?

[*] Pavel Kral <kral(zv)zoner(tec)com> - 10.7.2002 16:56:16

To zni dobre, co takhle se o to podelit ;-) ?
Sam jsem uvazoval o nejakem univerzalnim editacnim gridu, ale
nedoslo na to.

Pavel Kral

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Jakub Dusek
> Sent: Wednesday, July 10, 2002 4:12 PM
> To: Lebeda David
> Subject: Re[2]: univerzalni vstupni dialog?
>
>
> S tim tedy zasadne nesouhlasim, neco podobneho mam uz v relativne
> odladene podobe a je to neuveritelna uspora prace a splachne se tim
> spousta dialogu.
>
> Jakub Dusek
>
> -------------------------------------------
> Homepage : http://dusek.zde(tec)cz
> Phone : +420604615795
> Sms email : jakub.dusek(zv)click(tec)cz
> Icq : 86063232
> Apps : Add/Remove Manager, Charmaper,
> Sms GateKeeper
> -------------------------------------------
>
> Wednesday, July 10, 2002, 8:34:15 AM, you wrote:
>
> >> zdravim,
> >> nevite nekdo o komponente pro univerzalni vstup dat?
> Potrebuji moznost
> >> definovani ruzneho poctu vstupnich poli - edit, datatimepicker,
> >> combobox atd. Delat pro kazdy vstup ruznych parametru od uzivatele
> >> samostatny form je unavne. bleak
>
> LD> Ahoj,
>
> LD> nejak si neumim predstavit, jak by se to melo pouzivat.
> Budes mit univerzalni form,
> LD> ale stejne bys musel nastavit spoustu parametru: typy
> editu (edit, combo apod.),
> LD> vsechny texty labelu, mozna implicitni predvyplnene
> hodnoty, usporadani do
> LD> sloupcu, sirky komponent apod. Neumim si predstavit, ze
> by to bylo v necem
> LD> vyhodnejsi nez dialog vyrobeny na miru, ktary mozna
> vypiplas do pozadovane
> LD> podoby rychleji.
>
> LD> David Lebeda
>
>

Vytvoreni databaze na MS SQL Serveru

[*] Dobromil Maly <dmaly(zv)yo(tec)cz> - 10.7.2002 17:33:16

Diky vsem za rady,

z navrhovanych reseni mi vsak vyplynoulo jest enekoli otazek...

> -----Original Message-----

> > zda a jak se da zjistit seznam MS SQL servery na siti:
>
> DMOApp := CreateOLEObject('SQLDMO.Application');

SQL-DMO se vsak instaluje spolu s MS SQL serverem, ne? Ja bych chtel
uzivateli
umoznit nainstalovat / vytvorit DB po siti na vzdalene PC, takze bych musel
mit SQL-DMO
komponenty na pocitaci, ze ktereho instaluji a ne na ktery instaluji. Daji
se instalovat
samostatne?
> > *) mohu nejak z databaze vygenerovat SQL script, ktery po
> > spusteni na jinem SQL serveru vytvori identickou kopii te
> > puvodni?
>
> Tlacitko Start -> Programs -> Microsoft SQL Server ->
> Enterprise Manager -> vybrat databazi -> v menu Tools ->
> Generate SQL Scripts

To mi ale vytvori je strukturu DB, ne? Potreboval bych i "davkove" naplnit
tabulky
daty ( napr. ciselniky, defaultnimi hodnotami, ... ) Zrejme bych musel
projit
jednu po druhe, ne?> > ***) zkopiroval cely databazovy soubor na cilove PC a tam jej
> > jen pripojil do MS SQL
> > Serveru, toto reseni ze mi vsak zda zcela nevhodne.
>
> Proc je nevhodne ? Pokud jsi databazi odpojil pres sp_detach_db,
> staci Ti distribuovat jen MDF soubor a ten pripojit pres sp_attach_db.
> Tuto variantu pouzivame (na MSSQL7 i MSSQL2000) cca 4 roky a vse je
> bez problemu.
>

A jsou obe verze datoveho souboru mezi jednotlivymi verzemi SQL serveru
kompatibilni? A co treba MS SQL 6.5 ? A upgrade / update budu stejne
muset delat pomoci SQL prikazu... Navic me bude pri instalaci uzivatel
muset pustit do nejakeho adresare na serveru abych ho tam mohl ulozit...
No, nevim, nevim...


Jeste jednou Vam vsem moc dekuji!

Dobra.

Vytvoreni databaze na MS SQL Serveru

[*] Dobromil Maly <dmaly(zv)yo(tec)cz> - 10.7.2002 17:34:23

Omlouvam se za neznalost, ale co je BOL ?

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
> Behalf Of Milan Schembera
> Sent: Tuesday, July 09, 2002 20:21
> To: delphi-l(zv)clexpert(tec)cz
> Subject: RE: Vytvoreni databaze na MS SQL Serveru
>
> ...
> ...
> ...
>
> Nicmene se zkus podivat do BOL na heslo DTS.
>

parametry k IExploreru

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 10.7.2002 17:39:05

From: "Ing. Jiri SOKOL" <JS-delphi(zv)seznam(tec)cz>
> komponenty WebBrowser, ale kdyz se aplikace "slozila na listu" a pak se
> obnovila, dochazelo k naprostemu zatuhnuti systemu.
> Ten *.html vola soubor *.svg (adobe svgViewer) - to jen kdyby jste se nekdo
> s takovou chybou uz setakali a chteli mi poradit.

Predpokladam ze ten viewer je vlozeny jako ActiveX v te strance. Jedine co me
napada je nevhodne nastaveni 8087CW. Zkus v OnCreate formulare, jeste pred tim
nez zobrazis tu stranku zavolat:

Set8087CW($133F);

Petr Vones

Vytvoreni databaze na MS SQL Serveru

[*] Milan Schembera <milan(zv)missoftware(tec)cz> - 10.7.2002 18:14:39

Books On Line. Pri instalaci se da zvolit, zda-li se nainstaluji. Cesky
receno "napoveda" ;-)

> -----Original Message-----
> From: Dobromil Maly

>
> Omlouvam se za neznalost, ale co je BOL ?
>

> >
> > Nicmene se zkus podivat do BOL na heslo DTS.
> >
>

dynamicke vytvareni ruznych formu jednou proceduro

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 10.7.2002 20:37:28

From: "Filip Kinsky" <xkinf01(zv)vse(tec)cz>
> zatim moje pokusy se skoncily na tom, ze nevim jak vytvorit prislusny
> form... pravdepodobne uz je chyba v deklaraci procedury - konkretne
> parametr xForm asi nebude TForm, ale neco jineho?

Musis predat refernci na tridu, v tvem pripade TFormClass.

Petr Vones

Oto�en� text na Canvas

[*] Libor Va���ek - 10.7.2002 23:11:36

> Muzete mi nekdo poradit, jak mam vytisknout na Canvas text oto�en� o 90
stupnu?

Font platna si muzes jakkoli standardne nastavit a potom pomoci funkce
GetObject ziskas strukturu LOGFONT. Zde si muzes podle potreby upravit vse
rucne. Az budes se vsim hotov zavolas funkci CreateFontIndirect, s takto
upravenou strukturou, ktera vytvori novy font. Nyni zbyva jen novy font
asociovat s platnem a vykreslit vse potrebne.

Jeste jsem chtel upozornit, ze rotace pisma jdou provadet pouze s typy
TrueType!

procedure TForm1.FormPaint(Sender: TObject);
var
lf: LOGFONT;
font: HFONT;
begin
Canvas.Font.Name := 'Times New Roman';
Canvas.Font.Color := clRed;
Canvas.Font.Size := 20;
GetObject(Canvas.Font.Handle, sizeof(lf), (zv)lf);
lf.lfEscapement := 900;
// natoceni udavane v desetinach stupne (0 az 3600) proti smeru hodin.
rucicek
lf.lfOrientation := 900;
// tato hodnota ma vyznam pouze ve WinNT v modu GM_ADVANCED,
// ale mela by se nastavovat na hodnotu lfEscapement
font := CreateFontIndirect(lf);
Canvas.Font.Handle := font;
Canvas.TextOut(50, 100, 'Rotate!');
end;

Libor Vasicek

zapis na disk pri vypinani windows

[*] Zdenek Stepanek <zstepanek(zv)atlas(tec)cz> - 10.7.2002 23:35:51

Zdravim

Mam program, ktery je nastaveny pri spusteni a vypinani pocitace jako
spousteci a ukoncovaci skript. Kdyz ho spustim normalne, funguje jak ma, ale
kdyz se spousti pri startu nebo pri ukoncovani, neudela nic. Mam podezrena
na nepovoleny zapis na disk, kdyz jeste neni prihlasen / uz je odhlasen
uzivatel.

Je to na W2K a XP.

Program:

program Project1;
uses
SysUtils,
Windows;

var f: TextFile;

begin
AssignFile(f, 'Timer.txt');
if FileExists('Timer.txt') then Append(f) else rewrite(f);
if GetTickCount < 100000 then
Writeln(f, 'Zapnuto: '+DateTimeToStr(Now)) // Zacatek - Zapnuti PC
else
Writeln(f, 'Vypnuto: '+DateTimeToStr(Now)); // Konec
Close(f);
end.

Diky za radu.
Zdenek

zapis na disk pri vypinani windows

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

From: "Zdenek Stepanek" <zstepanek(zv)atlas(tec)cz>
> Mam program, ktery je nastaveny pri spusteni a vypinani pocitace jako
> spousteci a ukoncovaci skript. Kdyz ho spustim normalne, funguje jak ma, ale
> kdyz se spousti pri startu nebo pri ukoncovani, neudela nic. Mam podezrena
> na nepovoleny zapis na disk, kdyz jeste neni prihlasen / uz je odhlasen

Pokud by selhala diskova operace tak musi dojit k nejakemu chybovemu hlaseni.

> Writeln(f, 'Zapnuto: '+DateTimeToStr(Now)) // Zacatek - Zapnuti PC
> else
> Writeln(f, 'Vypnuto: '+DateTimeToStr(Now)); // Konec

Neni lepsi tohle precist z Event Logu ?

Petr Vones

navrat na predchozi radek

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 11.7.2002 03:04:10

From: "Zbysek Hlinka" <hlinka(zv)hlinka(tec)cz>
> A nebylo by lepsi cely soubor nacist do TStringList?

Nacteni velkeho souboru do TStringListu neni nejrychlejsi.

Petr Vones

Vytvoreni databaze na MS SQL Serveru

[*] Otisk Rene <otisk(zv)misel(tec)cz> - 11.7.2002 05:09:12

Books OnLine - dokumentace k MS SQL serveru...

Sroub

> Omlouvam se za neznalost, ale co je BOL ?
> >
> > Nicmene se zkus podivat do BOL na heslo DTS.
> >

Vytvoreni databaze na MS SQL Serveru

[*] Otisk Rene <otisk(zv)misel(tec)cz> - 11.7.2002 05:14:57

O Adresar se vubec nemusis starat. Pokud spustis create database bez
parametru nastaveni cesty, tak se defaultne (u MS SQL 7) vytvori mdf a ldf v
adresari C:\MSSQL7\Data
O kompatibilu se musis starat, pokud treba pouzivas v MSSQL2000 Stored
Procedures jako select. Sedmicka toto treba neumi. Ale rozdily si najdes na
Netu. Obecne z MS SQL7 na SQL2000 vse bez problemu, naopak vychytat veci,
ktere jeste SQL7 neumi (vylepseni Microsoftu) a ty je vyuzivas ve
dvoutisicovce. SQDMO je ActiveX, takze si najdes co potrebujes a pote
zaregistrujes

Sroub

> Diky vsem za rady,
>
> z navrhovanych reseni mi vsak vyplynoulo jest enekoli otazek...
>
> > -----Original Message-----
>
> > > zda a jak se da zjistit seznam MS SQL servery na siti:
> >
> > DMOApp := CreateOLEObject('SQLDMO.Application');
>
> SQL-DMO se vsak instaluje spolu s MS SQL serverem, ne? Ja bych chtel
> uzivateli
> umoznit nainstalovat / vytvorit DB po siti na vzdalene PC, takze bych
musel
> mit SQL-DMO
> komponenty na pocitaci, ze ktereho instaluji a ne na ktery instaluji. Daji
> se instalovat
> samostatne?
>
>
> > > *) mohu nejak z databaze vygenerovat SQL script, ktery po
> > > spusteni na jinem SQL serveru vytvori identickou kopii te
> > > puvodni?
> >
> > Tlacitko Start -> Programs -> Microsoft SQL Server ->
> > Enterprise Manager -> vybrat databazi -> v menu Tools ->
> > Generate SQL Scripts
>
> To mi ale vytvori je strukturu DB, ne? Potreboval bych i "davkove" naplnit
> tabulky
> daty ( napr. ciselniky, defaultnimi hodnotami, ... ) Zrejme bych musel
> projit
> jednu po druhe, ne?
>
> > > ***) zkopiroval cely databazovy soubor na cilove PC a tam jej
> > > jen pripojil do MS SQL
> > > Serveru, toto reseni ze mi vsak zda zcela nevhodne.
> >
> > Proc je nevhodne ? Pokud jsi databazi odpojil pres sp_detach_db,
> > staci Ti distribuovat jen MDF soubor a ten pripojit pres sp_attach_db.
> > Tuto variantu pouzivame (na MSSQL7 i MSSQL2000) cca 4 roky a vse je
> > bez problemu.
> >
>
> A jsou obe verze datoveho souboru mezi jednotlivymi verzemi SQL serveru
> kompatibilni? A co treba MS SQL 6.5 ? A upgrade / update budu stejne
> muset delat pomoci SQL prikazu... Navic me bude pri instalaci uzivatel
> muset pustit do nejakeho adresare na serveru abych ho tam mohl ulozit...
> No, nevim, nevim...
>
> Jeste jednou Vam vsem moc dekuji!
>
> Dobra.

Platnost FileName

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

Pro jmeno souboru plati omezeni pouze v pouzivanych znacich.
Pokud chces vytvaret soubor do existujiciho adresare, staci
zkontrolovat
if DirectoryExists(ExtractFileDir(string)) then ..
a pak zkontrolovat, zda ExtractFileName(string) neobsahuje zakazane
znaky (dvojtecka, lomitko, apod.)

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

10.7.2002 Jaroslav Bucek:
> Pratele,
> potrebuji nejakou funkci zjistit, zda je mozno pouzit string jako platny
> nazev souboru. Existuje nejaka takova funkce v D5?

> Diky Jarda

implicitni vyber tlacitek v MessageDlg()

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

QSBwb2t1ZCBwb3RyZWJ1amVzIGxva2FsaXpvdmF0IGkgdGxhY2l0a2EgbmEgZGlhbG9ndSwgbWFz
IHNtdWx1Lg0KQXBwbGljYXRpb24ucHJvY2Vzc21lc3NhZ2VzIGplIHRha292eSBrb2Nrb3Blcy4g
bmEgYW5nbGlja3ljaCBXaW5kb3dzDQpqc291IHZ6ZHkgZGlhbG9neSBhbmdsaWNreSwgbmEgY2Vz
a3ljaCB2emR5IGNlc2t5LiBOZWtkeSB0byB2eXBhZGENCm9wcmF2a3kgZGl2bmUuDQoNCi0tIA0K
aW5nLiBKYW4gRmlhbGENCm1haWx0bzpqYW4uZmlhbGFAaW9sLmN6DQoNCjEwLjcuMjAwMiBNaWxh
biBUb21luToNCj4gTWlzdG8gTWVzc2FnZURsZyBwb3V6aWogQXBwbGljYXRpb24uTWVzc2FnZUJv
eA0KPiBuYXByOg0KPiBBcHBsaWNhdGlvbi5NZXNzYWdlQm94KCdPcHJhdmR1IHNpIHByZWpldGUu
Li4nLCAnRG90YXonLCBNQl9ZRVNOTyArDQo+IE1CX0RFRkJVVFRPTjIgKyBNQl9JQ09OUVVFU1RJ
T04pOw0KDQo+IE1pbW8gamluZSB0aW0gemlza2FzIGF1dG9tYXRpY2t5IGxva2FsaXpvdmFuZSB0
ZXh0eSB0bGFjaXRlayAoamUgdG8gdm9sYW5pDQo+IEFQSSBmdW5rY2UgTWVzc2FnZUJveCBhIHBv
cGlzeSBqc291IGF1dG9tYXRpY2t5IHZ5dGF6ZW5lIHogcmVzb3VyY3UgV2luZG93cyk=

ztracejici se FieldDefs

[*] Otisk Rene <otisk(zv)misel(tec)cz> - 11.7.2002 07:00:44

Hi,

D5 Prof, MSSQL, ODBCe

Mam neprijemny problem. V aplikaci si dynamicky nastavuji FieldDefs, ale v
okam�iku, kdy dataset zavru a otevru (nekdy upravim parametry ORDER BY) tak
mi FieldDefs zmizi. Nastavuji je pri otevreni dialogoveho okna, pred
otevreni datasetu:
qryListOfItems.FieldDefs.Add('qryListOfItems' +
qryListOfItems.Fields[i].FieldName,
qryListOfItems.Fields[i].DataType,
qryListOfItems.Fields[i].Size,
qryListOfItems.Fields[i].Required);
qryListOfItems.Fields[i].DisplayLabel := Captions[i];
qryListOfItems.Fields[i].DisplayWidth := DisplayWidths[i];
qryListOfItems.Fields[i].Visible := Captions[i] <> '';
if qryListOfItems.Fields[i].DataType in [ftCurrency, ftFloat]
then
TFloatField(qryListOfItems.Fields[i]).currency := True;

Kde delam botu, nebo japanato? Nechce se mi povesit na kazde OnAfterOpen
znovu definici zobrazeni poli datasetu...

Dekuji predem

Sroub

ztracejici se FieldDefs

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 11.7.2002 07:42:31

> Mam neprijemny problem. V aplikaci si dynamicky nastavuji FieldDefs,
> ale v okam�iku, kdy dataset zavru a otevru (nekdy upravim parametry
> ORDER BY) tak mi FieldDefs zmizi.

Ahoj,

je to jen odhad, uz si nepamatuji presne, ale rekl bych, ze to je normalni chovani.
Prece by dataset neanalyzoval, zda se nahodou nezmenil SQL dotaz a zda jeho
nova podoba odpovida stavajici podobe FieldDefs? FieldDefs se zrejme sestavuji pri
Open - ale na druhou stranu, kdyz uz v programu mas kus kodu, kterej je nastavi,
staci ho jen premistit do AfterOpen a zkusit, co to udela.

> Kde delam botu, nebo japanato? Nechce se mi povesit na kazde
> OnAfterOpen znovu definici zobrazeni poli datasetu...

Ale to je principialne spravne - alespon pro Fieldy (s FieldDefs primo nepracuji) - bud
je upravujes v dobe navrhu rucne, nebo v AfterOpen v kodu. Nemyslim, ze by to
nejak zdrzovalo.

David Lebeda

navrat na predchozi radek

[*] Milan Tome� <milan.tomes(zv)haida(tec)cz> - 11.7.2002 07:51:47

Tak to asi nebude ta spravna cesta... Jedna se o alokovanou pamet a take o
rychlost...
Nevim jak dlouho by trvalo nacteni napr. 200MB souboru a take tady je
problem v tom, ze jedna radka (rozumej jeden zaznam v DB) muze byt fyzicky
na vice radcich (oddelenych specialnim separatorem + CRLF)

S pozdravem

Milan Tomes
mailto:milan.tomes(zv)haida(tec)cz

> A nebylo by lepsi cely soubor nacist do TStringList?
> Zbysek Hlinka

Chybne chovani for cyklu

[*] Michal <delphi-konference(zv)bcpraha(tec)com> - 11.7.2002 07:59:06

Ahoj,

Vse beru zpet :-) Meli jste pravdu, je to jen pri ladeni. Trosku jsem
zazmatkoval.

Dekuji za pomoc
Michal


Format GUID ukladaneho jako PK do DB

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 11.7.2002 08:28:01

Hi all,

cas od casu se na tomto foru diskutuje vhodnost pouziti GUID jako primarniho
klice v DB.

Rad bych konzultoval format, v jakem s GUID pracujete tj. ukladate ho do DB.

Ja to z duvodu nezavislosti na SQL stroji delam tak,
ze TGUID prevedu do BASE64 a vypustim pad '==',
takze v DB je ulozen jako CHAR(22).


Bye, pf

ztracejici se FieldDefs

[*] Lubomir Fule <fule(zv)ekosoft.sk> - 11.7.2002 08:31:47

Otazka znie, naco potrebujes menit FieldDefs. Samozrejme, ze FieldDefs sa
vymaze, ked query zavries a ked ho otvoris, tak sa znovu vybuduje (nie je to
tak uplne vzdy, ale v principe to tak je), pretoze FieldDefs je generovane z
definicie stlpcov SQL dotazu. V BDE to funguje rovnako, iba s tym rozdielom,
ze v pripade TTable mas moznost vytvorit novu tabulku pomocou funkcie
CreateTable a pred tym musis rucne naplnit FieldDefs. V helpe sa pise "it
should not change these definitions unless creating a new table with
CreateTable or CreateDataSet".
Kedze ODBCe nema nic take ako CreateTable (predpokladam, ze kazdy
programator, ktory chce programovat cez ODBCe pozna SQL aspon na takej
urovni, aby dokazal vytvorit tabulku pomocou CREATE TABLE), tak akekolvek
zasahovanie do FieldDefs je neziaduce. Ale aj tak som vobec nepochopil, naco
to vlastne takto robis. Ono to totiz funguje opacne, najprv sa na zaklade
definicie stlpcov vygeneruje FieldDefs a potom sa z neho generuju samotne
Fields.

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
> Behalf Of Otisk Rene
> Sent: Thursday, July 11, 2002 7:01 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: ztracejici se FieldDefs
>
>
> Hi,
>
> D5 Prof, MSSQL, ODBCe
>
> Mam neprijemny problem. V aplikaci si dynamicky nastavuji FieldDefs, ale v
> okam�iku, kdy dataset zavru a otevru (nekdy upravim parametry
> ORDER BY) tak
> mi FieldDefs zmizi. Nastavuji je pri otevreni dialogoveho okna, pred
> otevreni datasetu:
> qryListOfItems.FieldDefs.Add('qryListOfItems' +
> qryListOfItems.Fields[i].FieldName,
> qryListOfItems.Fields[i].DataType,
> qryListOfItems.Fields[i].Size,
> qryListOfItems.Fields[i].Required);
> qryListOfItems.Fields[i].DisplayLabel := Captions[i];
> qryListOfItems.Fields[i].DisplayWidth := DisplayWidths[i];
> qryListOfItems.Fields[i].Visible := Captions[i] <> '';
> if qryListOfItems.Fields[i].DataType in [ftCurrency, ftFloat]
> then
> TFloatField(qryListOfItems.Fields[i]).currency := True;
>
> Kde delam botu, nebo japanato? Nechce se mi povesit na kazde OnAfterOpen
> znovu definici zobrazeni poli datasetu...
>
> Dekuji predem
>
> Sroub
>
>

ztracejici se FieldDefs

[*] Otisk Rene <otisk(zv)misel(tec)cz> - 11.7.2002 08:37:15

Potreboval jsem nastavit v gridu DisplayWidth, Visible, Format,
DisplayCaption plus jeste nejake serepeticky pro nabidky filtrovani... Chtel
jsem to nasimulovat jako v DesignTime, ale uz jsem to predelal na
OnAfterOpen a vyuzivam jen nastavovani properties

Sroub
> Otazka znie, naco potrebujes menit FieldDefs. Samozrejme, ze FieldDefs sa
> vymaze, ked query zavries a ked ho otvoris, tak sa znovu vybuduje (nie je
to
> tak uplne vzdy, ale v principe to tak je), pretoze FieldDefs je generovane
z
> definicie stlpcov SQL dotazu. V BDE to funguje rovnako, iba s tym
rozdielom,
> ze v pripade TTable mas moznost vytvorit novu tabulku pomocou funkcie
> CreateTable a pred tym musis rucne naplnit FieldDefs. V helpe sa pise "it
> should not change these definitions unless creating a new table with
> CreateTable or CreateDataSet".
> Kedze ODBCe nema nic take ako CreateTable (predpokladam, ze kazdy
> programator, ktory chce programovat cez ODBCe pozna SQL aspon na takej
> urovni, aby dokazal vytvorit tabulku pomocou CREATE TABLE), tak akekolvek
> zasahovanie do FieldDefs je neziaduce. Ale aj tak som vobec nepochopil,
naco
> to vlastne takto robis. Ono to totiz funguje opacne, najprv sa na zaklade
> definicie stlpcov vygeneruje FieldDefs a potom sa z neho generuju samotne
> Fields.
>
> > -----Original Message-----
> > From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
> > Behalf Of Otisk Rene
> > Sent: Thursday, July 11, 2002 7:01 AM
> > To: delphi-l(zv)clexpert(tec)cz
> > Subject: ztracejici se FieldDefs
> >
> >
> > Hi,
> >
> > D5 Prof, MSSQL, ODBCe
> >
> > Mam neprijemny problem. V aplikaci si dynamicky nastavuji FieldDefs, ale
v
> > okamziku, kdy dataset zavru a otevru (nekdy upravim parametry
> > ORDER BY) tak
> > mi FieldDefs zmizi. Nastavuji je pri otevreni dialogoveho okna, pred
> > otevreni datasetu:
> > qryListOfItems.FieldDefs.Add('qryListOfItems' +
> > qryListOfItems.Fields[i].FieldName,
> > qryListOfItems.Fields[i].DataType,
> > qryListOfItems.Fields[i].Size,
> > qryListOfItems.Fields[i].Required);
> > qryListOfItems.Fields[i].DisplayLabel := Captions[i];
> > qryListOfItems.Fields[i].DisplayWidth := DisplayWidths[i];
> > qryListOfItems.Fields[i].Visible := Captions[i] <> '';
> > if qryListOfItems.Fields[i].DataType in [ftCurrency,
ftFloat]
> > then
> > TFloatField(qryListOfItems.Fields[i]).currency := True;
> >
> > Kde delam botu, nebo japanato? Nechce se mi povesit na kazde OnAfterOpen
> > znovu definici zobrazeni poli datasetu...
> >
> > Dekuji predem
> >
> > Sroub
> >
> >
>

zapis na disk pri vypinani windows

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 11.7.2002 08:44:50

> Zdravim
>
> Mam program, ktery je nastaveny pri spusteni a vypinani pocitace
jako
> spousteci a ukoncovaci skript. Kdyz ho spustim normalne, funguje jak
ma, ale
> kdyz se spousti pri startu nebo pri ukoncovani, neudela nic. Mam
podezrena
> na nepovoleny zapis na disk, kdyz jeste neni prihlasen / uz je
odhlasen
> uzivatel.

Zapis na disk urcite povoleny v te dobe je. Spis se nespousti ta
aplikace vubec.
Lepsi by bylo napsat service - tam je jasne kdy dochazi ke startu i k
ukonceni (jen je treba rozlisit rucni start/stop
od ukonceni windows)

D. Toman

Problem s RLINK32.DLL

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 11.7.2002 09:06:15

> mel jsem problem s dlouhymi resourcestring (vetsi nez 4 kB),
> predelal jsem to na const a je pokoj

V MSDN sa pise, ze dlzka resource stringu je obmedzena na 4097 znakov, takze
to obmedzenie je pravdepodobne od Microsoftu.
Pouzitim const vsak stracas moznost standardnej lokalizacie. Mozno je lepsim
riesenim rozdelenie na viacero resourcestringov, ktore si v runtime spojis
do jedneho dlhsieho stringu.

HTH
TOndrej

dynamicke vytvareni ruznych formu jednou proceduro

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 11.7.2002 09:14:01

On 10 Jul 2002 at 15:50, Filip Kinsky wrote:

> potreboval bych jednou procedurou vytvaret ruzne formulare s tim, ze
> kazdy formular je jineho typu...

procedure ShowWin(var Frm: TForm; Clas: TFormClass);
begin
if not Assigned(Frm) then
Frm := Clas.Create(Application);
Frm.Show;
end;

S pozdravem

Zbysek Hlinka


Vytvoreni databaze na MS SQL Serveru

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 11.7.2002 09:18:03

On 10 Jul 2002 at 17:33, Dobromil Maly wrote:

> Diky vsem za rady,
>
> z navrhovanych reseni mi vsak vyplynoulo jest enekoli otazek...
>
> > -----Original Message-----
>
> > > zda a jak se da zjistit seznam MS SQL servery na siti:
> >
> > DMOApp := CreateOLEObject('SQLDMO.Application');
>
> SQL-DMO se vsak instaluje spolu s MS SQL serverem, ne? Ja bych chtel
> uzivateli umoznit nainstalovat / vytvorit DB po siti na vzdalene PC,
> takze bych musel mit SQL-DMO komponenty na pocitaci, ze ktereho
> instaluji a ne na ktery instaluji. Daji se instalovat samostatne?

A zkousel sis prostudovat ADO?

S pozdravem

Zbysek Hlinka


OT: parametry k IExploreru

[*] Ing. Jiri SOKOL <JS-delphi(zv)seznam(tec)cz> - 11.7.2002 09:32:35

> > Proste, otviram IE pomoci ShellExecute, ale ted bych chtel zjistit, jestli lze zadat
> > nejake parametry, aby se spustil ten IE maximalizovany (to jsem zvladl - sw_ShowMaximized)
> > a aby se to rozjelo v cele obrazovce (kdyz bezi IExplorer, tak se to udela pomoci
> > klavesy <F11>).
>
> ahoj,
> pokud se nepletu, m�l by to byt parametr -kiosk.
>
dekuju, ale nefunguje mi to .... :((

delam to takhle:

shellExecute(0,'open',PChar('index.html'),PChar('-kiosk'),nil,sw_ShowMaximized);

mam spatnou syntaxi? nebo znate nekdo jiny zpusob??

Diky
Jirka

______________________________________________________________________
Reklama:
Kam do kina ci divadla? http://kultura.seznam(tec)cz

Kolik znaku muze byt pouzitu u prikazu "mailto"

[*] Ing. Jiri SOKOL <JS-delphi(zv)seznam(tec)cz> - 11.7.2002 09:39:25

Ahoj,

chtel bych odeslat zpravu s delsim textem. Chtel ji poslat pomoci "mailto", ale nevim
kolik znaku muze takova zprava obsahovat.

delam:

procedure Posta;
var
mailto:string;
begin
mailto:='mailto:adresa(zv)adresa?Subject=Odeslani mailu&Body=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'+
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'+
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
shellExecute(0,'open',PChar(mailto),nil,nil,sw_ShowMinimized);
end;

Proste potrebuju vedet, kolik jsem schopen vlozit max. tech 'X'. Je to nejak omezene?

Diky
Jirka

______________________________________________________________________
Reklama:
Jak si stoji kurz koruny? http://kurzy.seznam(tec)cz

Keybd_Event problem s autorepeat...

[*] Petr =?ISO-8859-2?Q?Turo=F2 ?= <turon(zv)centrum(tec)cz> - 11.7.2002 09:45:04

Dobry den,
problem jsem posilal do konference jiz vcera, ale jelikoz se mi
nikdo neozval a na reseni mi hodne zalezi a nejsem schopen s nim
hnout zkousim jeste jednou.

Pri generovanim stisknute klavesy pouzivam napr. pro stisknuti
klavesy sipka nahoru funkci:

Keybd_Event(VK_UP, MapVirtualKey(VK_UP,0),0 ,0);

akce probehne, ale pouze jednou, potrebuji zajistit autorepeat a
nevim jak.

Diky za sebemensi namet.
Petr T.


--------------------
Co um� ide�ln� Email? V�ce na str�nk�ch: http://bonus.centrum(tec)cz


Prosim o radu k QuickReportu

[*] Ing. Jiri SOKOL <JS-delphi(zv)seznam(tec)cz> - 11.7.2002 09:55:22

Ahoj.

Mam malo zkusenosti s touto komponentou a tak prosim o radu.
Chci tisknout dynamickou promenou - cili nikdy nevim, kolik bude mit pri tisku polozek.
Z toho duvodu potrebuju nejak zajistit, aby kdyz se data nevlezou na stranku, zacala
stranka dalsi. Zkousel jsem to dneska celou noc a nepovedlo se mi to.
Kdyz tisknu pomoci QuicReportu (QR) napr. nejakou tabulku, je vse ok. Kdyz je to ale nejaky
text, tak nevim jak mam docilit nove stranky.

Udelal jsem si HeaderBand, DetailBand, FooterBand. Tomu DetailBand-ovi jsem zadal vlastnost
ForceNewPage=True ale nevim co dal.
Takze mam do toho DetailBand-u nahazet x QR-Labelu, kterym budu menit Caption nebo jak mam
docilit programoveho vkladani dat?
Mel jsem predstavu, ze budu mit nejakou smycku, ktera bude delat neco jako:
for i:=0 to DynProm.Items.Count-1 do
with DetailBand.AddItem do
String:='text';

a QR uz mi sam udela treba 10 stranek, na kterych bude HeaderBand, DetialBand i FooterBand.

Pak jsem si myslel, ze mi muze v tomhle pomoct Komponenta z QR ... StringBand, ale kdyz jsem ji
naplnil polozky (Items), tak se pri tisku nic nezobrazilo. Nevim proc, asi tudy cesta nevede.

Poradite mi nekdo?

Predem diky
Jirka

______________________________________________________________________
Reklama:
Mapy Prahy, Brna a Cech najdete na http://www.mapy(tec)cz

Datove Modelovani

[*] Marek Hradil <marekhr(zv)benefitcz(tec)cz> - 11.7.2002 09:56:19

Jaky software pouzivate pro datove modelovani ?
Pouzivali jsme Erwin od f. Logic Works ale diky nehorazne cenove politice
uvazujeme o necem mene financne narocnem. Dulezity predpoklad je moznost
synchronizovat DB (MS SQL, IBM DB2) se zmenami v modelu.

Diky

Marek Hradil
Benefit CZ, s.r.o
Hrub�ho 11, 602 00 Brno
Tel: +420 5 4121 9098,+420 5 4121 9099
Fax: +420 5 4121 5886

zapis do txt soubory na pozici v radku

[*] Sebesta Jan <delcomseb(zv)volny(tec)cz> - 11.7.2002 10:01:41

Zdravim,

lze nejak zapisovat do txt na predem urcenou pozici v radku? Pro prevod
tabulky do txt.

pr. tabulky
9.7.2002 165571 aa 74 0 0
10.7.2002 1544 asdasdasd 74 0 0

Jde mi o to aby prave v txt byli zahovany zacatky a konce polozek tabulky
(ruzne delky cisel,datumu a textu).

Dekuji za postrceni Jan Sebesta

Keybd_Event problem s autorepeat...

[*] Tom� Bihary <delphi(zv)wige-mic(tec)cz> - 11.7.2002 10:04:50


----- P�vodn� zpr�va -----
Od: "Petr Turo�" <turon(zv)centrum(tec)cz>

> Pri generovanim stisknute klavesy pouzivam napr. pro stisknuti
> klavesy sipka nahoru funkci:
>
> Keybd_Event(VK_UP, MapVirtualKey(VK_UP,0),0 ,0);
>
> akce probehne, ale pouze jednou, potrebuji zajistit autorepeat a
> nevim jak.

Ahoj!
Pro opakovani musis vygenerovat stisk i pusteni klavesy.

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := '';
Edit1.SetFocus;

// napise 4x 'a'
Keybd_Event(65, MapVirtualKey(65, 0), 0 ,0);
Keybd_Event(65, MapVirtualKey(65, 0), KEYEVENTF_KEYUP ,0);

Keybd_Event(65, MapVirtualKey(65, 0), 0 ,0);
Keybd_Event(65, MapVirtualKey(65, 0), KEYEVENTF_KEYUP ,0);

Keybd_Event(65, MapVirtualKey(65, 0), 0 ,0);
Keybd_Event(65, MapVirtualKey(65, 0), KEYEVENTF_KEYUP ,0);

Keybd_Event(65, MapVirtualKey(65, 0), 0 ,0);
Keybd_Event(65, MapVirtualKey(65, 0), KEYEVENTF_KEYUP ,0);

// posune se sipkou o tri pozice vlevo
Keybd_Event(VK_LEFT, MapVirtualKey(VK_LEFT, 0), 0 ,0);
Keybd_Event(VK_LEFT, MapVirtualKey(VK_LEFT, 0), KEYEVENTF_KEYUP ,0);

Keybd_Event(VK_LEFT, MapVirtualKey(VK_LEFT, 0), 0 ,0);
Keybd_Event(VK_LEFT, MapVirtualKey(VK_LEFT, 0), KEYEVENTF_KEYUP ,0);

Keybd_Event(VK_LEFT, MapVirtualKey(VK_LEFT, 0), 0 ,0);
Keybd_Event(VK_LEFT, MapVirtualKey(VK_LEFT, 0), KEYEVENTF_KEYUP ,0);
end;


Ahoj
Tomas Bihary

zapis do txt soubory na pozici v radku

[*] Zbysek Hlinka <hlinka(zv)hlinka(tec)cz> - 11.7.2002 10:26:19

On 11 Jul 2002 at 10:01, Sebesta Jan wrote:

> lze nejak zapisovat do txt na predem urcenou pozici v radku? Pro
> prevod tabulky do txt.
>
> pr. tabulky
> 9.7.2002 165571 aa 74 0 0
> 10.7.2002 1544 asdasdasd 74 0 0
>
> Jde mi o to aby prave v txt byli zahovany zacatky a konce polozek
> tabulky (ruzne delky cisel,datumu a textu).

Zkus funkci Format.

S pozdravem

Zbysek Hlinka


implicitni vyber tlacitek v MessageDlg()

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

> rad bych se poptal, jak je mozne nastavit implicitni tlacitko
> u MessageDlg.

Da sa to napriklad takto:

var
_DefMsgDlgBtn: TMsgDlgBtn;

function MessageDlgHook(Sender: TObject; var Message: TMessage): Boolean;
const
ModalResults: array[TMsgDlgBtn] of Integer = (mrYes, mrNo, mrOk, mrCancel,
mrAbort, mrRetry, mrIgnore, mrAll,
mrNoToAll, mrYesToAll, 0);
var
I, J: Integer;
begin
Result := False;
if (Message.Msg = WM_ENABLE) and not TWMEnable(Message).Enabled then
for I := 0 to Screen.FormCount - 1 do
with Screen.Forms[I] do
if Enabled and ClassNameIs('TMessageForm') then
begin
for J := 0 to ControlCount - 1 do
if Controls[J] is TButton then
begin
with TButton(Controls[J]) do
Default := ModalResult = ModalResults[_DefMsgDlgBtn];
if TButton(Controls[J]).Default then
ActiveControl := TButton(Controls[J]);
end;
Result := True;
Break;
end;
end;

function MessageDlgEx(const Msg: string; DlgType: TMsgDlgType; Buttons:
TMsgDlgButtons; HelpCtx: Longint;
DefaultButton: TMsgDlgBtn): Integer;
begin
Result := MessageDlgPosHelpEx(Msg, DlgType, Buttons, HelpCtx, -1, -1, '',
DefaultButton);
end;

function MessageDlgPosEx(const Msg: string; DlgType: TMsgDlgType; Buttons:
TMsgDlgButtons; HelpCtx: Longint;
X, Y: Integer; DefaultButton: TMsgDlgBtn): Integer;
begin
Result := MessageDlgPosHelpEx(Msg, DlgType, Buttons, HelpCtx, X, Y, '',
DefaultButton);
end;

function MessageDlgPosHelpEx(const Msg: string; DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons; HelpCtx: Longint;
X, Y: Integer; const HelpFileName: string; DefaultButton: TMsgDlgBtn):
Integer;
var
Hook: TWindowHook;
begin
if DefaultButton in Buttons then
begin
TMethod(Hook).Data := Application;
TMethod(Hook).Code := (zv)MessageDlgHook;
Application.HookMainWindow(Hook);
try
_DefMsgDlgBtn := DefaultButton;
Result := MessageDlgPosHelp(Msg, DlgType, Buttons, HelpCtx, X, Y,
HelpFileName);
finally
Application.UnhookMainWindow(Hook);
end;
end
else
Result := MessageDlgPosHelp(Msg, DlgType, Buttons, HelpCtx, X, Y,
HelpFileName);
end;

Priklad pouzitia:

procedure TForm1.Button1Click(Sender: TObject);
begin
case MessageDlgEx('Are you sure you want to do this?', mtConfirmation,
mbYesNoCancel, 0, mbNo) of
mrYes:
ShowMessage('Your response: Yes');
mrNo:
ShowMessage('Your response: No');
mrCancel:
ShowMessage('Your response: Cancel');
end;
end;

Je to zalozene na tom, ze TCustomForm.ShowModal vola DisableTaskWindows,
takze Application dostane tesne pred modalnym zobrazenim formulara sprave
WM_ENABLE s parametrom False. Otestovane je to iba zbezne.

HTH
TOndrej

Hint

[*] Richard Siegl <rsiegl(zv)elas.sk> - 11.7.2002 10:54:19

Nazdar lidi

potreboval by som zobrazit Hint ked je aplikacia minimalizovana je viditelna
iba v taskbare.
Neviete ako by som k tomu donutil aplikaciu.

Rickie (NT4 D5 SP1)

----------------------------------------
Richard Siegl
ELAS spol. s r.o.
Vinohradn�cka 6
97101 Prievidza
tel.: +421 46 5151239
Email: rsiegl(zv)elas.sk
Web: www.elas.sk
----------------------------------------

Problem s RLINK32.DLL

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 11.7.2002 11:49:44

Tam, kde jsem to udelal, se obracim pouze na ceskoslovenskeho uzivatele a lokalizace nepripada v uvahu. A navic, aktualizace (skoro jako lokalizace) je resena velmi primitivnim zpusobem. Pokud aplikace pri startu zjisti ze v adresari se nachazi specificky soubor XYZ, tak ho nacte a nahradi tu moji (pravda ubohou :-) oooo jak primitivni - tedka se kaju ) konstantu.
Jaro B.

P.S.
Otazka je, co je standardni.
Pokud je to to, co dela M$, tak se zrejme chovam nestandardne.
Ja se pouze snazim si co nejvice zjednodusit a zrychlit praci.
A do Rima taky vede vice cest (do pekla ale jedina :)) )

-----Original Message-----
From: Ondrej Kelle [mailto:O.Kelle(zv)digitalpublishing.de]
Sent: Thursday, July 11, 2002 9:06 AM
To: 'delphi-l(zv)clexpert(tec)cz'
Subject: RE: Problem s RLINK32.DLL


> mel jsem problem s dlouhymi resourcestring (vetsi nez 4 kB),
> predelal jsem to na const a je pokoj

V MSDN sa pise, ze dlzka resource stringu je obmedzena na 4097 znakov, takze
to obmedzenie je pravdepodobne od Microsoftu.
Pouzitim const vsak stracas moznost standardnej lokalizacie. Mozno je lepsim
riesenim rozdelenie na viacero resourcestringov, ktore si v runtime spojis
do jedneho dlhsieho stringu.

HTH
TOndrej

DBGrid - set column

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 11.7.2002 11:49:08

Ahoj potrebuji nastavit v DBGrid.COLUMN,tj uplne stejne jako kdyz si pres
object inspektor v DBGridu nastavim jednotliva pole a hlavicky poli v
DBgridu...jenze nevim jak se to dela programove...

Aldik Pavel
D6Ent WXP

Prosim o radu k QuickReportu

[*] <ivan.ivanov(zv)email(tec)cz> - 11.7.2002 11:53:45

musis nastavit vlastnost stretch na true - jedno pri ktorom komponente alebo pouzi richedit a vloz to don, strankovanie ti zabezpeci (i ked to na dalsich stranach bude pri posuve mierne blikat)

i.
> --- P�vodn� zpr�va ---
> Od: Ing. Jiri SOKOL <JS-delphi(zv)seznam(tec)cz>
> Datum: 11.07.2002 11:20:19
>
> Ahoj.
>
> Mam malo zkusenosti s touto komponentou a tak prosim o radu.
> Chci tisknout dynamickou promenou - cili nikdy nevim, kolik bude mit pri tisku polozek.
> Z toho duvodu potrebuju nejak zajistit, aby kdyz se data nevlezou na stranku, zacala
> stranka dalsi. Zkousel jsem to dneska celou noc a nepovedlo se mi to.
> Kdyz tisknu pomoci QuicReportu (QR) napr. nejakou tabulku, je vse ok. Kdyz je to ale nejaky
> text, tak nevim jak mam docilit nove stranky.
>
> Udelal jsem si HeaderBand, DetailBand, FooterBand. Tomu DetailBand-ovi jsem zadal vlastnost
> ForceNewPage=True ale nevim co dal.
> Takze mam do toho DetailBand-u nahazet x QR-Labelu, kterym budu menit Caption nebo jak mam
> docilit programoveho vkladani dat?
> Mel jsem predstavu, ze budu mit nejakou smycku, ktera bude delat neco jako:
> for i:=0 to DynProm.Items.Count-1 do
> with DetailBand.AddItem do
> String:='text';
>
> a QR uz mi sam udela treba 10 stranek, na kterych bude HeaderBand, DetialBand i FooterBand.
>
> Pak jsem si myslel, ze mi muze v tomhle pomoct Komponenta z QR ... StringBand, ale kdyz jsem ji
> naplnil polozky (Items), tak se pri tisku nic nezobrazilo. Nevim proc, asi tudy cesta nevede.
>
> Poradite mi nekdo?
>
> Predem diky
> Jirka
>
> ______________________________________________________________________
> Reklama:
> Mapy Prahy, Brna a Cech najdete na http://www.mapy(tec)cz
>

______________________________________________________________________________
P�ipojen� s TES, odbour� V�m stres! TESnet - p�ipojen� k Internetu po kabelovce. http://www.tesmedia(tec)cz/flash/prip-vyhody.php

Prosim o radu k QuickReportu

[*] Martin Cajbik <cajbik(zv)sct.sk> - 11.7.2002 11:55:29

Zdravim,
pokial je struktura zostavy pevna a meni sa len pocet riadkov tak si
jednoducho vytvor napr. tri bandy - hlavicku zostavy, hlavicku stlpcov a
detail - v podstate rovnako ako pri klasickej zostave zavesenej na dataset,
ale namiesto QRDBText pouzi QRLabel. Potom si oprogramuj eventy:
Report.BeforePrint - pociatocne nastavenie napr. Riadok:= 0; Pocet:= ...;
Report.OnNeedData - tu daj iba jednoduchu kontrolu, ci si nie si je koniec
tlacenych udajov napr. MoreData:= Riadok < Pocet
Detail.BeforePrint - nastavenie obsahu jednotlivych QRLabel napr.
QRLabel1.Caption:= Udaje[Riadok].Udaj1; QRLabel2.Caption:=
Udaje[Riadok].Udaj2; ... podla toho odkial to ma cerpat udaje
Detail.AfterPrint - posun v datach napr. Inc(Riadok);

Na trochu zlozitejsom principe som napr. oprogramoval tlac StringGrid a
ListView s automatickym vytvorenim stlpcov vratane rozdelenia zostavy na
viacero stran na sirku, pokial je sirka tlacenych udajov vacsia ako strana.
Ahoj.

Mam malo zkusenosti s touto komponentou a tak prosim o radu.
Chci tisknout dynamickou promenou - cili nikdy nevim, kolik bude mit pri
tisku polozek.
Z toho duvodu potrebuju nejak zajistit, aby kdyz se data nevlezou na
stranku, zacala
stranka dalsi. Zkousel jsem to dneska celou noc a nepovedlo se mi to.
Kdyz tisknu pomoci QuicReportu (QR) napr. nejakou tabulku, je vse ok. Kdyz
je to ale nejaky
text, tak nevim jak mam docilit nove stranky.

Udelal jsem si HeaderBand, DetailBand, FooterBand. Tomu DetailBand-ovi jsem
zadal vlastnost
ForceNewPage=True ale nevim co dal.
Takze mam do toho DetailBand-u nahazet x QR-Labelu, kterym budu menit
Caption nebo jak mam
docilit programoveho vkladani dat?
Mel jsem predstavu, ze budu mit nejakou smycku, ktera bude delat neco jako:
for i:=0 to DynProm.Items.Count-1 do
with DetailBand.AddItem do
String:='text';

a QR uz mi sam udela treba 10 stranek, na kterych bude HeaderBand,
DetialBand i FooterBand.

Pak jsem si myslel, ze mi muze v tomhle pomoct Komponenta z QR ...
StringBand, ale kdyz jsem ji
naplnil polozky (Items), tak se pri tisku nic nezobrazilo. Nevim proc, asi
tudy cesta nevede.

Poradite mi nekdo?

Predem diky
Jirka

______________________________________________________________________
Reklama:
Mapy Prahy, Brna a Cech najdete na http://www.mapy(tec)cz


Heslo do IB

[*] LUKES V�clav <lukes(zv)ans(tec)cz> - 11.7.2002 12:12:21


Ahoj,

muzete mi prosim nekdo napsat heslo do IB po jejim nainstalovani ?
User je SYSDBA, ale heslo...

Diky

V.

Kolik znaku muze byt pouzitu u prikazu "mailto"

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 11.7.2002 12:15:27

From: "Ing. Jiri SOKOL" <JS-delphi(zv)seznam(tec)cz>
> chtel bych odeslat zpravu s delsim textem. Chtel ji poslat pomoci "mailto",
> ale nevim kolik znaku muze takova zprava obsahovat.

255. V tomhle pripade muzes pouzit Simple MAPI, podivej se v JCL na priklad
MapiExample.dpr (http://delphi-jedi.org/Jedi:CODELIBJCL)

Petr Vones

Heslo do IB

[*] Otisk Rene <otisk(zv)misel(tec)cz> - 11.7.2002 12:17:17

masterkey

Sroub

----- Original Message -----
From: "LUKES V�clav" <lukes(zv)ans(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, July 11, 2002 12:12 PM
Subject: Heslo do IB



Ahoj,

muzete mi prosim nekdo napsat heslo do IB po jejim nainstalovani ?
User je SYSDBA, ale heslo...

Diky

V.

Vykonani SP na FB

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 11.7.2002 12:19:35

Ahoj,

mam tabulku s cca 40 sloupci, na ni udelam takovyto dotaz:

select id from tabulka1

vracena data obdrzim prakticky ihned. Sloupec Id je primarni klic.


Mejme tabulku 2 s tremi sloupci: ID, IDMAT, IDCEN. ID je primarni klic, nad IDMAT i
nad IDCEN je index (neunikatni). Sloupec IDMAT je odkaz do tabulky1.

Zadani zni: vratit id tech zaznamu z tabulky1, jejichz ID se nenachazi v tabulce2 ve
sloupci IDMAT na radcich, kde IDCEN je 339.

1) Udelal jsem dotaz takto:

select t1.id from tabulka1 t1
where t1.id not in (select t2.idmat from tabulka2 t2 where t2.idcen = 339)

t1 obsahuje 20 000 radku, t2 50000 radku

otevreni tohoto dotazu trva 57 sekund

2) Zadny efekt neprinesou ani tyto varianty, nektere jsou dokonce jeste pomalejsi:

select t1.id from tabulka1 t1
where not exists (select 1 from tabulka2 t2 where t2.idcen = 339 and t2.idmat = t1.id)


select t1.id from tabulka1 t1
left join tabulka2 t2 on t2.idmat = t1.id and t2.idcen = 339
where t2.id is null

3) Rekl jsem si, budiz, napisu ulozenou proceduru, trebas takto :

for select t1.id from tabulka1 t1
into :id
DO
begin
if (not exists(select 1 from tabulka2 t2 where t2.idcen = 339 and t2.idmat = :id))
then
suspend;
end

A co opravdu nechapu - otevreni teto procedury trva taky okolo minuty! Mel jsem za
to, ze hned pri prvnim pruchodu suspendem se dany radek vrati na klienta, cekal
bych proto, ze dotaz se otevre hned a bude treba pomalu dodavat dalsi data - ale
kupodivu se otvira rovnez okolo minuty.

Dobra, muze to byt tim, ze prvni suspend probehne az po mnoha pruchodech cyklem
for, tak jeste tento pokus (ten vraci samozrejme chybna data, jen pro ilustraci):

for select t1.id from tabulka1 t1
into :id
DO
begin
select 1 from tabulka2 where idcen = 319 and idmat = :id into :pom;
suspend;
end

Pom je nejaka promenna. Suspend se provadi pri kazdem pruchodu cyklem for.
Druhy select se vyhodnoti okamzite, jede podle indexu. select id from procedura se
otvira opet neco pres minutu. Jak to? Tech prvnich cca 30 zaznamu viditelnych v IB
konzoli ma procedura k dispozici skoro ihned!

Dospel jsem k nazoru, ze dotaz nelze sestavit tak, aby se otevrel behem nekolika
malo sekund, a to ani s ulozenou procedurou. Umi to nekdo vysvetlit?

Pro informaci posilam plan ulozene procedury uvede jako posledni ukazka:

PLAN (TABULKA2 INDEX (I_IDCEN,I_IDMAT))(T1 NATURAL)

David Lebeda

parametry k IExploreru

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 11.7.2002 12:26:48

From: "Ing. Jiri SOKOL" <JS-delphi(zv)seznam(tec)cz>
> shellExecute(0,'open',PChar('index.html'),PChar('
> kiosk'),nil,sw_ShowMaximized);
> mam spatnou syntaxi? nebo znate nekdo jiny zpusob??

uses
SHDocVw;

var
IE: IWebBrowser2;

procedure TForm1.Button1Click(Sender: TObject);
var
URL: OleVariant;
begin
IE := CoInternetExplorer.Create;
URL := 'http://www.delphi(tec)cz';
IE.Visible := True;
IE.TheaterMode := True;
IE.Navigate2(URL, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
end;

Petr Vones

Vytvoreni databaze na MS SQL Serveru

[*] Dobromil Maly <dmaly(zv)yo(tec)cz> - 11.7.2002 12:36:02

Ahoj,
pokud pustim SQL prikaz create database, tak se o nej opravdu starat
nemusim,
ale ja mel na mysli metodu pripojeni existujiciho databazoveho (datoveho ?:)
souboru
k exisujicimu MS SQL Serveru nekde na siti.

Dobra.> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Otisk Rene
> Sent: Thursday, July 11, 2002 05:15
>
> O Adresar se vubec nemusis starat. Pokud spustis create database bez
> parametru nastaveni cesty, tak se defaultne (u MS SQL 7) vytvori
> mdf a ldf v adresari C:\MSSQL7\Data

zapis do txt soubory na pozici v radku

[*] Martin Macko <martinm(zv)m-pro(tec)cz> - 11.7.2002 12:50:13

Ahoj,
zkus:

function dup(aChar: Char; Count: integer): string;
var
I: integer;
begin
result := '';
for I := 1 to Count do
result := result + aChar;
end;

procedure Form1.TextOut(X, Y: integer; Text: string);
var
aLine: string;
begin
aLine := Lines[Y];
if length(aLine) < X then aLine := aLine + dup(' ', round(X) -
length(aLine));
Delete(aLine, round(X), Length(Text));
Insert(Text, aLine, round(X));
Lines[round(Y)] := aLine;
end;


-----Original Message-----
From: Sebesta Jan


Zdravim,

lze nejak zapisovat do txt na predem urcenou pozici v radku? Pro prevod
tabulky do txt.
---
Avast: Odchozi zprava vyhodnocena jako cista
Datum a cas testovani: 11.7.2002 12:50:13
Datum virove databaze (VPS): 27.6.2002
Avast! antivirus od Alwil Software


DBGrid - set column

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 11.7.2002 12:52:00

> Ahoj potrebuji nastavit v DBGrid.COLUMN,tj uplne stejne jako kdyz si
> pres object inspektor v DBGridu nastavim jednotliva pole a hlavicky
> poli v DBgridu...jenze nevim jak se to dela programove...

K obsluze sloupcu ma DBGrid property Columns, pres to bys mel udelat, vse, co
potrebujes.

David Lebeda

Vykonani SP na FB

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 11.7.2002 12:54:42

From: "Lebeda David" <david.lebeda(zv)comarr(tec)cz>

> Dospel jsem k nazoru, ze dotaz nelze sestavit tak,
> aby se otevrel behem nekolika
> malo sekund, a to ani s ulozenou procedurou. Umi to nekdo vysvetlit?

Vysvetlit to nedovedu, ale zrovna jsem udelal s IB (6.01) podobnou
zkusenost:
mam tabulku s cca 2.5 mil. zaznamu (potreboval bych nejmene 10 x vic),
charset WIN1250 a collating PXW_CSY.

Kdyz udelam uplne jednoduchy subquery napr.

SELECT * FROM T1
WHERE xxx IN (SELECT XXX FROM T1 WHERE ......)

tak mi to trva pres 3minuty, prestoze na vsechny zucastnene sloupce existuji
indexy a tech recordu, ktere podminku splnuji je tak 30 !!!


Kdyz totez udelam na klientske strane programove tak, ze nejdrive vykonam
subquery a pak v beznem cyklu spoustim ten hlavni query

while not Query1.Eof do
begin
// Tady udelam ten hlavni SELECT * FROM T1 WHERE xxx=:xxx
Query1.Next;
end;

tak to trva pod 150 ms !!!

***

Dalsi otresne vysledky jsou u agregacnich funkci napr. min() to vrati do 20
ms, ale na max() se ceka pres 3 minuty - jakoby index neexistoval.

Totez pro relacni operace napr. xxx > 'yyy'. Opet jakoby index neexistoval

etc... takovych prikladu jsem na jedine tabulce nameril radu :-(((***

Takze muj dojem z toho je, ze IB je daleko (nej)horsi databaze, nez jsem si
dosud myslel :-O


Bye, pf

Format GUID ukladaneho jako PK do DB

[*] Martin Macko <martinm(zv)m-pro(tec)cz> - 11.7.2002 13:00:16

Ahoj,
u nas varchar(36) - bez {} - kdyz je potom potreba neco dohledat, lze to
i "rucne" pomoci SELECT * FROM xxx WHERE ID='dlouhyosklivyguid'

-----Original Message-----
From: Petr Fejfar


Hi all,

cas od casu se na tomto foru diskutuje vhodnost pouziti GUID jako
primarniho klice v DB.

Rad bych konzultoval format, v jakem s GUID pracujete tj. ukladate ho do
DB.

Ja to z duvodu nezavislosti na SQL stroji delam tak,
ze TGUID prevedu do BASE64 a vypustim pad '==',
takze v DB je ulozen jako CHAR(22).
---
Avast: Odchozi zprava vyhodnocena jako cista
Datum a cas testovani: 11.7.2002 13:00:16
Datum virove databaze (VPS): 27.6.2002
Avast! antivirus od Alwil Software


OT:Chybove hlasenia Firebird

[*] miromr <preas_w(zv)stonline.sk> - 11.7.2002 13:14:43

Zdravim vsetkych,
neviem sa v dokumentacii k IB6 dopatrat popisu chybovych hlaseni firebirdu.
Konkretne potrebujem zistit coo je to zachybu 335544726.
V ktorej z priruciek, ale v akom dokumente je popis chybovych hlaseni a kde
sa da ziskat.

Diky miro

navrat na predchozi radek

[*] David Janko <djanko(zv)infoware(tec)cz> - 11.7.2002 13:23:16

Preci se v souboru muzete pohybovat normalne pomoci seek() a podobnych
funkci, ne ? (V pascalu se mozna jmenuji jinak, ale budou tam urcite take).
A ten soubor muze byt velky jak chce - cpat ho do pameti kdyz nevim jak je
velkej mi pripada dost zrudny ...

---
Best Regards,
David Janko
programmer & Linux system administrator
djanko(zv)infoware(tec)cz
+420 604 164 999

----- Original Message -----
From: "Milan Tome�" <milan.tomes(zv)haida(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, July 11, 2002 7:51 AM
Subject: RE: navrat na predchozi radek


> Tak to asi nebude ta spravna cesta... Jedna se o alokovanou pamet a take o
> rychlost...
> Nevim jak dlouho by trvalo nacteni napr. 200MB souboru a take tady je
> problem v tom, ze jedna radka (rozumej jeden zaznam v DB) muze byt fyzicky
> na vice radcich (oddelenych specialnim separatorem + CRLF)
>
> S pozdravem
>

navrat na predchozi radek

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 11.7.2002 13:29:52

From: "David Janko" <djanko(zv)infoware(tec)cz>
> Preci se v souboru muzete pohybovat normalne pomoci seek() a podobnych
> funkci, ne ? (V pascalu se mozna jmenuji jinak, ale budou tam urcite take).

Ano, ale tady je potreba aby to bylo rychle.

> A ten soubor muze byt velky jak chce - cpat ho do pameti kdyz nevim jak je
> velkej mi pripada dost zrudny ...

To samozrejme zrudne je. Proto je lepsi pouzit mapovani souboru do pameti.

Petr Vones

Nahrazeni znaku s diaktritikou v Memu

[*] jtomecek <jtomecek(zv)dezadata(tec)cz> - 11.7.2002 13:31:16


Jak bych mohl projit cele Memo a nahradit v nem znaky s diaktritikou?
Diky

zaformatovani datumu

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 11.7.2002 13:40:52

Ahoj,
nevite, prosim, nekdo jak jednoduse zaformatovat datum ?
Mam ho v retezci jako
'7.7.2002'
a potrebuji ho do formatu
'07072002'

Diky za kazdou radu
Jaro B.

Keybd_Event problem s autorepeat...

[*] Petr =?ISO-8859-2?Q?Turo=F2 ?= <turon(zv)centrum(tec)cz> - 11.7.2002 13:41:51

To mi je celkem jasne. Mi se jedna o to pouzit funkci tak, aby
parametry funkce nasimulovaly v systemu takovy stav jak kdyz je
klavesa stlacena napr.

// Klavesa 'A' je stlacena
Keybd_Event(65, MapVirtualKey(65, 0), 0 ,0);
// system se chova tak jak kdyz klavesa dole vypisuje znak A
.
.
// Klavesa je uvolnena
Keybd_Event(65, MapVirtualKey(65, 0), KEYEVENTF_KEYUP ,0);

Uvedena syntaxe nefunguje, poradi nekdo jak na to?
Petr T.
______________________________________________________________
> Od: Tom� Bihary <delphi(zv)wige-mic(tec)cz>
> Komu: <delphi-l(zv)clexpert(tec)cz>
> CC:
> Datum: Thu, 11 Jul 2002 10:04:50 +0200
> P�edm�t: Re: Keybd_Event problem s autorepeat...
>
>
> ----- P�vodn� zpr�va -----
> Od: "Petr Turo�" <turon(zv)centrum(tec)cz>
>
> > Pri generovanim stisknute klavesy pouzivam napr. pro
stisknuti
> > klavesy sipka nahoru funkci:
> >
> > Keybd_Event(VK_UP, MapVirtualKey(VK_UP,0),0 ,0);
> >
> > akce probehne, ale pouze jednou, potrebuji zajistit
autorepeat a
> > nevim jak.
>
> Ahoj!
> Pro opakovani musis vygenerovat stisk i pusteni klavesy.
>
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> Edit1.Text := '';
> Edit1.SetFocus;
>
> // napise 4x 'a'
> Keybd_Event(65, MapVirtualKey(65, 0), 0 ,0);
> Keybd_Event(65, MapVirtualKey(65, 0), KEYEVENTF_KEYUP ,0);
>
> Keybd_Event(65, MapVirtualKey(65, 0), 0 ,0);
> Keybd_Event(65, MapVirtualKey(65, 0), KEYEVENTF_KEYUP ,0);
>
> Keybd_Event(65, MapVirtualKey(65, 0), 0 ,0);
> Keybd_Event(65, MapVirtualKey(65, 0), KEYEVENTF_KEYUP ,0);
>
> Keybd_Event(65, MapVirtualKey(65, 0), 0 ,0);
> Keybd_Event(65, MapVirtualKey(65, 0), KEYEVENTF_KEYUP ,0);
>
> // posune se sipkou o tri pozice vlevo
> Keybd_Event(VK_LEFT, MapVirtualKey(VK_LEFT, 0), 0 ,0);
> Keybd_Event(VK_LEFT, MapVirtualKey(VK_LEFT, 0),
KEYEVENTF_KEYUP ,0);
>
> Keybd_Event(VK_LEFT, MapVirtualKey(VK_LEFT, 0), 0 ,0);
> Keybd_Event(VK_LEFT, MapVirtualKey(VK_LEFT, 0),
KEYEVENTF_KEYUP ,0);
>
> Keybd_Event(VK_LEFT, MapVirtualKey(VK_LEFT, 0), 0 ,0);
> Keybd_Event(VK_LEFT, MapVirtualKey(VK_LEFT, 0),
KEYEVENTF_KEYUP ,0);
> end;
>
>
> Ahoj
> Tomas Bihary
>
>


--------------------
Co um� ide�ln� Email? V�ce na str�nk�ch: http://bonus.centrum(tec)cz


zaformatovani datumu

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 11.7.2002 13:53:09

From: "Bene� Jaroslav" <JBenes(zv)cpoj(tec)cz>
> nevite, prosim, nekdo jak jednoduse zaformatovat datum ?
> Mam ho v retezci jako
> '7.7.2002'
> a potrebuji ho do formatu
> '07072002'

Prevest na TDateTime a pak zformatovat funkci FormatDateTime.

Petr Vones

zaformatovani datumu

[*] dphi_forum(zv)proces.sk - 11.7.2002 13:53:02


FormatDateTime('dd.mm.yyyy', StrToDate('7.7.2002'));

> Ahoj,
> nevite, prosim, nekdo jak jednoduse zaformatovat datum ?
> Mam ho v retezci jako
> '7.7.2002'
> a potrebuji ho do formatu
> '07072002'
>
> Diky za kazdou radu
> Jaro B.

zaformatovani datumu

[*] Ales Vasicek <vasicek(zv)ecommerce(tec)cz> - 11.7.2002 13:53:56

Ahoj

ShowMessage(FormatDateTime('ddmmyyyy', StrToDateTime('7.7.2002')));

Ales

> -----Original Message-----
> From: Bene� Jaroslav [mailto:JBenes(zv)cpoj(tec)cz]
> nevite, prosim, nekdo jak jednoduse zaformatovat datum ?
> Mam ho v retezci jako
> '7.7.2002'
> a potrebuji ho do formatu
> '07072002'

TabStop a zmena reakce na tab PODRUHE

[*] Ales Pavel <Aldik(zv)quick(tec)cz> - 11.7.2002 13:54:59


Jak zamenim stisk klavesy tab za enter.Jde i o pousovani mezi
komponentama,ktere se deje na zaklade stisku tab,chci to predelat na ENTER,
nevite nekdo... PROSIM HELP!!!! SMS (SAVE MY SPIRIT:-)))))

Ales Pavel
WXP D6 Ent

zapis na disk pri vypinani windows

[*] Zdenek Stepanek <zstepanek(zv)atlas(tec)cz> - 11.7.2002 13:57:44

Zdravim

To ne, aplikace se spousti. Kdyz tam dam ShowMessage, tak se zobrazi. Mam
tam i jinou aplikaci, ktera vysila cosi na LPT port a ta funguje. Service je
na me moc silne kafe. Ja jsem se jen nabidnul, ze pomuzu komusi z poradny
zive.

Zdenek

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

> > Mam program, ktery je nastaveny pri spusteni a vypinani pocitace
> > jako spousteci a ukoncovaci skript. Kdyz ho spustim normalne,
> > funguje jak ma, ale kdyz se spousti pri startu nebo pri
> > ukoncovani, neudela nic. Mam podezreni na nepovoleny zapis
> > na disk, kdyz jeste neni prihlasen / uz je odhlasen uzivatel.

> Zapis na disk urcite povoleny v te dobe je. Spis se nespousti ta
> aplikace vubec.
> Lepsi by bylo napsat service - tam je jasne kdy dochazi ke startu i k
> ukonceni (jen je treba rozlisit rucni start/stop
> od ukonceni windows)

DateTimetoString - jak ho spravne pouzit

[*] David Michal <david.michal(zv)czechwireless(tec)cz> - 11.7.2002 14:04:55

Zdravim,
Snazim se pouzit funkci viz %subj. Dle helpu jsem ji pouzil takto:

s := DateTimeToString('mmyyyy', date);

Ale pri kompilaci mi hlasi:
[Error] main.pas(327): Constant object cannot be passed as var parameter

Prosim poradte nekdo jak ziskat kyzeny format data.


David Michal

Nahrazeni znaku s diaktritikou v Memu

[*] Lstiburek Pavel <Lstiburek(zv)ceb(tec)cz> - 11.7.2002 14:07:17

Memo je jen retezec:
TMemo.Lines.Text;

> -----Original Message-----
> From: jtomecek [mailto:jtomecek(zv)dezadata(tec)cz]
> Sent: Thursday, July 11, 2002 1:31 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Nahrazeni znaku s diaktritikou v Memu
>
>
>
> Jak bych mohl projit cele Memo a nahradit v nem znaky s diaktritikou?
> Diky
>

PDF soubory a Delphi 4

[*] Roman Toda <toda(zv)digitaldocuments.org> - 11.7.2002 14:10:15

Zadarmo neviem o ziadnej lepsej. Hladaj na torry.net (napr.WPDF,PDF
In-The-Box ) . Su aj filtre do QR (napt. PSQRFilters)

Potom mas este moznost pouzit nie komponenty, ale drivery, ktore sa
nainstaluju ako tlaciaren a vysledok ich prace je PDF. Tieto sa ovladaju v
podstate ako klasicke tlaciane. Sucastou Adobe Acrobatu (nie Readra) je
Distiller, ktory je presne na to urceny.

Roman

>
> Dobry den,
>
> Kdyz tady byla rec o exportech do PDF, tak bych chtel pozadat, jestli
> byste mi nemohli poslat odkazy na nejake komponenty.
>
> Predem dik
> Michal
>
> > Co znamena "cist sobory PDF"?
> > Chces urobit export do PDF? Chces menit existujuce PDFka? Co presne
> chces v
> > PDFku menit?
> >
> > Na export je dost dobrych ci lepsich komponent, ale na pracu s
> existujucim
> > PDF suborom na urovni aspon najnizsich logickych struktur toho
> existuje vo
> > svete PDF velmi malo. A ked chces nieco free tak mas skutocne velmi
> malo
> > moznosti (ghostscript je jednym z nich). S Delphi native kod som sa
> este
> > nestretol.
> >
> > Roman
>
>
>

PDF soubory a Delphi 4

[*] Roman Toda <toda(zv)digitaldocuments.org> - 11.7.2002 14:10:14

> From: "Petr Turek" <petr.turek(zv)unimontex(tec)cz>
> > Chci pouze zobrazit PDF soubor ve sve aplikaci, aby si ho mohl uzivatel
> > precist, popruipade vytisknout (to neni nutne).
>
> 1. Acrobat Reader lze zdarma stahnout
> 2. Acrobat Reader obsahuje i ActiveX control
> 3. Delphi umi pouzivat ActiveX

Presne tak - nic lepsie neexistuje. Len upozornim ze ten ActiveX nie je
podporovany "produkt" takze ziadneho supportu sa nedockas, ziadnu
dokumentaciu nenajdes.

Roman

Problem s RLINK32.DLL

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 11.7.2002 14:10:16

> Tam, kde jsem to udelal, se obracim pouze na ceskoslovenskeho
> uzivatele a lokalizace nepripada v uvahu.

Svojim riesenim si prispel k tomu, aby nepripadla v uvahu ani v buducnosti.

> Pokud aplikace pri startu zjisti ze v adresari se nachazi specificky
> soubor XYZ, tak ho nacte a nahradi tu moji
[snip]
> konstantu.

Z toho mam dojem, ze mas zapnutu volbu kompilatora $J+ cize assignable typed
constants.
Tym padom konstanty vlastne nie su konstanty, ale premenne.
Tento switch sa myslim z jasnych dovodov neodporuca; existuje iba kvoli
spetnej kompatibilite.

> Ja se pouze snazim si co nejvice zjednodusit a zrychlit praci.

Mne prave ten Tvoj sposob pripada zlozitejsi.

TOndrej

Problem s RLINK32.DLL

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

From: "Bene� Jaroslav" <JBenes(zv)cpoj(tec)cz>
> tak ho nacte a nahradi tu moji (pravda ubohou :-) oooo jak primitivni -
> tedka se kaju ) konstantu.

Konstantu nelze nahradit protoze konstanta je konstantni. Patrne se jedna o
promennou nebo jeste hure (jak poznamenal uz Ondrej Kelle) o chybne nastaveni
prekladace (pro Win32 aplikace), kde se pak konstanty chovaji jako promenne.

Petr Vones

OT: #delphi.cz kanal na IRC

[*] Robert Suska <delphi(zv)korak.sk> - 11.7.2002 14:33:35

Ahojte!

Kto ste sa este nepozreli na www.delphi(tec)cz tak to urobte su tam informacie o
irc pre tuto konferenciu.

S pozdravom

************************************
Robert Suska
Network administrator, Delphi programmer
************************************

MySQL a last_insert_id()

[*] Ivo Studensk� <studensky(zv)aknsystem(tec)cz> - 11.7.2002 14:42:26

Zdravim,
potrebuju pomoc. Programuju nad mysql (MyODBC). Pomoci tquery vlozim
do tabulky s auto_increment sloupcem novy zaznam a hned pote pomoci dalsiho
tquery chci zjistit hodnotu ID posledne vlozeneho zaznamu volanim
last_insert_id(),
jenze dostanu 0. Nechapu to. Zkousel jsem si to v sqlexploreru a tam to
funguje.
Nevite nekdo, proc mi to v mojem programu nebezi?
Snad jsem napsal dost informaci, aby mi nekdo poradil.
Predem diky.

--
Ivo Studensky
<studensky(zv)aknsystem(tec)cz>

TabStop a zmena reakce na tab PODRUHE

[*] Milan Tome� <milan.tomes(zv)haida(tec)cz> - 11.7.2002 14:51:39

SendMessage(GetParentForm(Self).Handle, WM_NEXTDLGCTL, 0, 0);

S pozdravem

Milan Tomes
mailto:milan.tomes(zv)haida(tec)cz

> Jak zamenim stisk klavesy tab za enter.Jde i o pousovani mezi
> Ales Pavel

Jak otestovat pohyb po objedktech na formulari

[*] Ing. Igor Vodi�ka <vodicka(zv)sagit(tec)cz> - 11.7.2002 14:54:18

Ahoj!

Mam na formu dva CheckBoxy Ano a Ne. Potrebuji, aby ostatni komponenty na
formu byly pristupne az po zvoleni jednoho z nich. To, ze neni ani jeden
zvolen chci oznamit hlaskou a vratit focus zpatky na CheckBox Ano.

Prozatim zkousim toto:

procedure TObchInfoForm.CheckBox_AnoExit(Sender: TObject);
begin
if not CheckBox_Ano.Checked and not CheckBox_Ne.Checked then
begin
ShowMessage('Nen� vyplnino prohl�en�!'+Chr(13)+Chr(13)+'Vyberte si
volbu "Ano" nebo "Ne".'+Chr(13)+
ActiveControl.Name); {Zde mi hlasi po prvni akci spravnou komponentu
(pri dalsich akcich zase to prvne vybranou komponentu}
FocusControl(CheckBox_Ano);
UpdateControlState;
end;
ShowMessage(ActiveControl.Name); {Spravne nastavi i vizualne na formu je
komponenta zamerena}
end;

Pokud to obratim a dam tuto proceduru na OnEnter ostatnich komponent chova
se to stejne a navic kliknu-li kamkoliv na formu nebo ho chci zavrit udalost
se porad vyvolava.

Pradte nekdo nejaky kod jak to vyresit, nebo kde delam chybu!


Ing. Igor Vodicka
informacni systemy
Nakladatelstvi Sagit
Tel.: 069 6786 001
HTTP://www.sagit(tec)cz/
---
Odchoz� zpr�va neobsahuje viry.
Zkontrolov�no antivirov�m syst�mem AVG (http://www.grisoft(tec)cz).
Verze: 6.0.375 / Virov� b�ze: 210 - datum vyd�n�: 10.7.2002

DateTimetoString - jak ho spravne pouzit

[*] Roman <sw.maurice(zv)seznam(tec)cz> - 11.7.2002 14:58:13

> Zdravim,
> Snazim se pouzit funkci viz %subj. Dle helpu jsem ji pouzil takto:
>
> s := DateTimeToString('mmyyyy', date);
>
> Ale pri kompilaci mi hlasi:
> [Error] main.pas(327): Constant object cannot be passed as var parameter
>
> Prosim poradte nekdo jak ziskat kyzeny format data.

s:=FormatDateTime('mmyyyy',date);

Roman

DateTimetoString - jak ho spravne pouzit

[*] Bohdan Voska <bohdan(zv)softok(tec)cz> - 11.7.2002 15:06:41

Ahoj

> s := DateTimeToString('mmyyyy', date);
>
> Ale pri kompilaci mi hlasi:
> [Error] main.pas(327): Constant object cannot be passed as var parameter

DateTimeToString neni funkce, ale procedura, takze by to asi melo vypadat
takhle:

var S:string;
begin
DateTimeToString(S,'mmyyyy',date);
............

Nezkousel jsem, ale melo by to takhle fungovat.

Bohdan Voska

Jak otestovat pohyb po objedktech na formulari

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 11.7.2002 15:07:26

> Mam na formu dva CheckBoxy Ano a Ne. Potrebuji, aby ostatni
> komponenty na formu byly pristupne az po zvoleni jednoho z
> nich.

Problem je asi v tom, ze sa v udalostiach OnEnter/OnExit snazis menit focus.
To nejde dost dobre, pretoze tieto udalosti su volane v kontexte spracovania
zmeny focusu.
Unika mi logika Tvojej implementacie. Moznosti Ano/Ne sa daju vyjadrit
jedinym checkboxom (Checked = True/False). Z tohto pohladu cely problem
odpada, pretoze formular bude vzdy v jednom z tyhto dvoch stavov.

HTH
TOndrej

zaformatovani datumu

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 11.7.2002 15:15:20

Ale jaky se tam dava parametr pro tuto masku?
Dekuji
JB.

Prevest na TDateTime a pak zformatovat funkci FormatDateTime.

Petr Vones

> nevite, prosim, nekdo jak jednoduse zaformatovat datum ?
> Mam ho v retezci jako
> '7.7.2002'
> a potrebuji ho do formatu
> '07072002'

Vykonani SP na FB

[*] Kalhous Zdenek <zdenek.kalhous(zv)comarr(tec)cz> - 11.7.2002 15:17:41

> Dalsi otresne vysledky jsou u agregacnich funkci napr. min() to vrati
> do 20 ms, ale na max() se ceka pres 3 minuty - jakoby index
> neexistoval.
Mam dojem, ze na zrychleni max musi existovat descending index...
> Totez pro relacni operace napr. xxx > 'yyy'. Opet jakoby index
> neexistoval
... a to by mohlo pomoci i zde.

DateTimetoString - jak ho spravne pouzit

[*] Ing. Jiri SOKOL <JS-delphi(zv)seznam(tec)cz> - 11.7.2002 15:17:36

> Zdravim,
> Snazim se pouzit funkci viz %subj. Dle helpu jsem ji pouzil takto:
>
> s := DateTimeToString('mmyyyy', date);
>
> Ale pri kompilaci mi hlasi:
> [Error] main.pas(327): Constant object cannot be passed as var parameter
>
> Prosim poradte nekdo jak ziskat kyzeny format data.
>
>
> David Michal

Jestli budu mluvit mimo, tak se predem omlouvam.
Chapu-li to spravne, chces z aktualniho datum ziskat jen mesic a rok.
a co to udelat takhle:
s:=DateToString; s:=Copy(s,3,10);
melo by to byt to samy. Doufam, pisu to z pameti.

Ing. Jiri Sokol, js-delphi(zv)seznam(tec)cz, +420251431187
D6ProfSP2,WinNT
amatersky
programator

______________________________________________________________________
Reklama:
Nejenom anglicko-cesky slovnik: http://slovnik.seznam(tec)cz

Re[2]: zaformatovani datumu

[*] Jakub Dusek <jdev(zv)seznam(tec)cz> - 11.7.2002 15:31:53

DDMMYYYY

Jakub Dusek

-------------------------------------------
Homepage : http://dusek.zde(tec)cz
Phone : +420604615795
Sms email : jakub.dusek(zv)click(tec)cz
Icq : 86063232
Apps : Add/Remove Manager, Charmaper,
Sms GateKeeper
-------------------------------------------

Thursday, July 11, 2002, 3:15:20 PM, you wrote:

BJ> Ale jaky se tam dava parametr pro tuto masku?
BJ> Dekuji
BJ> JB.

BJ> Prevest na TDateTime a pak zformatovat funkci FormatDateTime.

BJ> Petr Vones

>> nevite, prosim, nekdo jak jednoduse zaformatovat datum ?
>> Mam ho v retezci jako
>> '7.7.2002'
>> a potrebuji ho do formatu
>> '07072002'

Re[2]: zaformatovani datumu

[*] Bene� Jaroslav <JBenes(zv)cpoj(tec)cz> - 11.7.2002 15:36:18

Diky, tohle me vubec nenapadlo, vymyslel jsem blbosti a ono je to zatim stejne jako u rutin julianskeho datumu. Tak se omlouvam za hloupou otazku.
Jaro B.

-----Original Message-----
From: Jakub Dusek [mailto:jdev(zv)seznam(tec)cz]
Sent: Thursday, July 11, 2002 3:32 PM
To: Bene� Jaroslav
Subject: Re[2]: zaformatovani datumu


DDMMYYYY

Jakub Dusek

-------------------------------------------
Homepage : http://dusek.zde(tec)cz
Phone : +420604615795
Sms email : jakub.dusek(zv)click(tec)cz
Icq : 86063232
Apps : Add/Remove Manager, Charmaper,
Sms GateKeeper
-------------------------------------------

Thursday, July 11, 2002, 3:15:20 PM, you wrote:

BJ> Ale jaky se tam dava parametr pro tuto masku?
BJ> Dekuji
BJ> JB.

BJ> Prevest na TDateTime a pak zformatovat funkci FormatDateTime.

BJ> Petr Vones

>> nevite, prosim, nekdo jak jednoduse zaformatovat datum ?
>> Mam ho v retezci jako
>> '7.7.2002'
>> a potrebuji ho do formatu
>> '07072002'

Exists - MS SQL 7 vs. 2000

[*] Blazek Jaroslav <Jaroslav.Blazek(zv)access-it(tec)cz> - 11.7.2002 15:40:59

Ahoj,

potrebuji na SQL 7 provest neco takoveho

SELECT * FROM Tabulka1 t1
WHERE EXISTS(SELECT * FROM Tabulka2 t2 WHERE t1.IdTab1=t2.IdTab1 AND t2.NejakySloupec LIKE 'aaa%')
OR t1.NejakySloupec LIKE 'xxx%'

nebo i dalsi EXISTS na dalsi jinou tabulku

na SQL2000 funguje vsechno tak jak ma, ale na 7cce se to ani neprovede, musim to stornovat
pokud dam misto OR -> AND nebo jen samotne EXISTS vse funguje

v helpu 7 a 2000 jsem zadnou zmenu u EXISTS nezaregistroval


S pozdravem

Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek(zv)access-it(tec)cz
http://www.access-it(tec)cz
ICQ# : 133673990
+420605/813644

RS232, funkce ReadFile

[*] Tomas Cieslar <cieslar(zv)efisyst(tec)com> - 11.7.2002 15:54:56

Zdravim vsechny,

mam problem s nize uvedenym kodem. Napsal jsem si tridu, ktera pouziva
funkce API ke komunikaci se seriovym portem.
Pokud zavolam funkci ReadFile a na port neprisly zadna data, cel� program
vytuhne. Drive jsem takto komunikoval uplne v pohode (vsechny komunikacni
funkce jsem mel v unit hlavniho formulare). Kdyz na portu nebyly data,
funkce ReadFile probehla, vratila ze bylo prijato 0 bytu a program nevytuhl.
Jakmile funkci pouziji uvnitr tridy a na portu nejsou data, funkce vytuhne.
Zda se mi, ze mam vse v poradku, kdyz zarizeni odpovida a na portu jsou
data, je vse v poradku. Resenim by bylo pouzit jiz hotovou free komponentu,
ale me zajima, kde je problem?

Cieslar



unit SerialPort;

interface

uses
Windows, Classes, SysUtils, StdCtrls;

type
TComName = ( cnCOM1, cnCOM2, cnCOM3, cnCOM4 );
TBaudRate = ( br110, br300, br600, br1200, br2400, br4800,
br9600, br14400, br19200, br38400, br56000,
br57600, br115200 );
TDataBits = ( db5BITS, db6BITS, db7BITS, db8BITS );
TStopBits = ( sb1BITS, sb1HALFBITS, sb2BITS );
TParity = ( ptNONE, ptODD, ptEVEN, ptMARK, ptSPACE );

TCommPort = class(TObject)
public
CommHandle: THandle;
fComName: TComName;
fBaudRate: TBaudRate;
fDataBits: TDataBits;
fStopBits: TStopBits;
fParity: TParity;
fInBuff: word;
fOutBuff: word;
fRIT: word;
fRTTM: word;
fRTTC: word;
fWTTM: word;
fWTTC: word;
Connected: boolean;
constructor Create;
function Open(ComName: TComName): boolean;
function SetDCB(BaudRate: TBaudRate; DataBits: TDataBits;
StopBits: TStopBits; Parity: TParity): boolean;
function SetTMS(RIT: word; RTTM: word; RTTC: word;
WTTM: word; WTTC: word): boolean;
function SetBuffer(InBuff: word; OutBuff: word): boolean;
function Close: boolean;
function Write(Buffer: pointer; DataSize: word): boolean;
function Read(Buffer: pointer): cardinal;
function Call(BuffTx: pointer; DataSize: word; BuffRx: pointer):
cardinal;
end;

implementation

const
ValueComName: array [cnCOM1..cnCOM4] of PChar =
( 'COM1', 'COM2', 'COM3', 'COM4' );
ValueBaudRate: array [br110..br115200] of cardinal =
( 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200,
38400, 56000, 57600, 115200 );
ValueDataBits: array [db5BITS..db8BITS] of byte =
( 5, 6, 7, 8 );
ValueStopBits: array [sb1BITS..sb2BITS] of byte =
( 0, 1, 2 );
ValueParity: array [ptNONE..ptSPACE] of byte =
( 0, 1, 2, 3, 5 );

constructor TCommPort.Create;
begin
inherited Create;
CommHandle := 0;
fComName := cnCOM1;
fBaudRate := br9600;
fDataBits := db8BITS;
fStopBits := sb1BITS;
fParity := ptNONE;
fInBuff := 1024;
fOutBuff := 1024;
fRIT := 100;
fRTTM := 0;
fRTTC := 0;
fWTTM := 0;
fWTTC := 0;
Connected := false;
end;

function TCommPort.Open(ComName: TComName): boolean;
var
ComChar: PChar;
begin
ComChar := ValueComName[ComName];
CommHandle := CreateFile(ComChar,
GENERIC_WRITE or GENERIC_READ,
0,
nil,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
0);
if CommHandle > 0 then
begin
if SetDCB(fBaudRate, fDataBits, fStopBits, fParity) then
begin
if SetTMS(fRIT, fRTTM, fRTTC, fWTTM, fWTTC) then
begin
if SetBuffer(fInBuff, fOutBuff) then
begin
Connected := true;
Result := true;
end
else
begin
Result := false;
exit;
end;
end
else
begin
Result := false;
exit;
end;
end
else
begin
Result := false;
exit;
end;
end
else
begin
Result := false;
exit;
end;
end;

function TCommPort.Close: boolean;
begin
if CloseHandle(CommHandle) then
begin
Connected := false;
Result := true;
end
else
Result := false;
end;

function TCommPort.Write(Buffer: pointer; DataSize: word): boolean;
var
nsent: cardinal;
begin
if WriteFile(CommHandle, Buffer^, DataSize, nsent, nil) then
begin
if nsent = DataSize then
Result := true
else
Result := false;
end
else
Result := false;
end;

function TCommPort.Read(Buffer: pointer): cardinal;
var
nsent: cardinal;
begin
nsent := 0;
if ReadFile(CommHandle, Buffer^, fInBuff, nsent, nil) then
begin
if nsent > 0 then
Result := nsent
else
Result := 0;
end
else
begin
Result := 0;
end;
end;

function TCommPort.SetDCB(BaudRate: TBaudRate; DataBits: TDataBits;
StopBits: TStopBits; Parity: TParity): boolean;
var
dcb: TDCB;
begin
if GetCommState(CommHandle, dcb) then
begin
dcb.BaudRate := ValueBaudRate[BaudRate];
dcb.ByteSize := ValueDataBits[DataBits];
dcb.StopBits := ValueStopBits[StopBits];
dcb.Parity := ValueParity[Parity];
if SetCommState(CommHandle, dcb) then
begin
fBaudRate := BaudRate;
fDataBits := DataBits;
fStopBits := StopBits;
fParity := Parity;
Result := true
end
else
begin
Result := false;
exit;
end;
end
else
begin
Result := false;
exit;
end
end;

function TCommPort.SetTMS(RIT: word; RTTM: word; RTTC: word;
WTTM: word; WTTC: word): boolean;
var
tms: TCOMMTIMEOUTS;
begin
if GetCommTimeouts(CommHandle, tms) then
begin
tms.ReadIntervalTimeout := RIT;
tms.ReadTotalTimeoutMultiplier := RTTM;
tms.ReadTotalTimeoutConstant := RTTC;
tms.WriteTotalTimeoutMultiplier := WTTM;
tms.WriteTotalTimeoutConstant := WTTC;
if SetCommTimeouts(CommHandle, tms) then
begin
fRIT := RIT;
fRTTM := RTTM;
fRTTC := RTTC;
fWTTM := WTTM;
fWTTC := WTTC;
Result := true
end
else
begin
Result := false;
exit;
end;
end
else
begin
Result := false;
exit;
end;
end;

function TCommPort.SetBuffer(InBuff: word; OutBuff: word): boolean;
begin
if SetupComm(CommHandle, InBuff, OutBuff) then
begin
fInBuff := InBuff;
fOutBuff := OutBuff;
Result := true
end
else
begin
Result := false;
exit;
end;
end;

function TCommPort.Call(BuffTx: pointer; DataSize: word; BuffRx: pointer):
cardinal;
var
nsent: cardinal;
begin
nsent := 0;
if WriteFile(CommHandle, BuffTx^, DataSize, nsent, nil) then
begin
if ReadFile(CommHandle, BuffRx^, fInBuff, Result, nil) then
exit
else
begin
Result := 0;
exit;
end;
end
else
begin
Result := 0;
exit;
end;
end;

end.

TabStop a zmena reakce na tab PODRUHE

[*] Ondrej Kelle <O.Kelle(zv)digitalpublishing.de> - 11.7.2002 15:54:58

> Jak zamenim stisk klavesy tab za enter.Jde i o pousovani mezi
> komponentama,ktere se deje na zaklade stisku tab,chci to
> predelat na ENTER,

Jedno z moznych rieseni:

type
TForm1 = class(TForm)
private
...
procedure CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY;
end;

procedure TForm1.CMDialogKey(var Message: TCMDialogKey);
begin
if Message.CharCode = VK_RETURN then
Message.CharCode := VK_TAB;
inherited;
end;

Tym padom Enter bude fungovat rovnako ako Tab (a Shift+Enter ako Shift+Tab).
Avsak spracovanie CM_DIALOGKEY prebieha na urovni formulara predtym, ako
dostanu moznost na nu reagovat child controls na nom umiestnene.
Tym padom ma taketo riesenie za nasledok napriklad to, ze stlacenie klavesy
Enter nevyvola OnClick prave aktivneho ci defaultneho TButton.

Osobne nepovazujem za dobry napad menit standardne spravanie grafickych
prvkov, na ktore su uzivatelia zvyknuti.

HTH
TOndrej

DateTimetoString - jak ho spravne pouzit

[*] Ben, Martin (CAP, GCF) <Martin.Ben(zv)gecapital(tec)com> - 11.7.2002 15:54:43

Misto DateTimeToStr napis FormatDateTime.
Zrejme sis tyto funkce trochu popletl a zamenil.

Martin Ben


> -----Original Message-----
> From: David Michal [mailto:david.michal(zv)czechwireless(tec)cz]
>
> Zdravim,
> Snazim se pouzit funkci viz %subj. Dle helpu jsem ji pouzil takto:
>
> s := DateTimeToString('mmyyyy', date);
>
> Ale pri kompilaci mi hlasi:
> [Error] main.pas(327): Constant object cannot be passed as
> var parameter

Vykonani SP na FB

[*] Alex Cherednichenko <cherednichenko(zv)wo(tec)cz> - 11.7.2002 16:01:49

Hello, Petr!
You wrote:

[Sorry, skipped]
PF> SELECT * FROM T1
PF> WHERE xxx IN (SELECT XXX FROM T1 WHERE ......)

PF> tak mi to trva pres 3minuty, prestoze na vsechny zucastnene sloupce
PF> existuji indexy a tech recordu, ktere podminku splnuji je tak 30 !!!

WHERE ... IN (SELECT ...) je neefrktyvni.
Pouzivat nedoporucuju.
Radse WHERE EXISTS(), anebo lepse INNER(OUTER) JOIN.

[Sorry, skipped]
PF> Dalsi otresne vysledky jsou u agregacnich funkci napr. min() to vrati
PF> do 20 ms, ale na max() se ceka pres 3 minuty - jakoby index
PF> neexistoval.

Indexy u InterBase jsou jednosmerni.
Pokud chces aby max() fungoval okamzyte vytvori DESC INDEX.

[Sorry, skipped]
PF> Takze muj dojem z toho je, ze IB je daleko (nej)horsi databaze, nez
PF> jsem si dosud myslel :-O

Jo, pokud neumis s tim zachazet...


With best regards, Alex Cherednichenko.

TabStop a zmena reakce na tab PODRUHE

[*] Ing. Jiri SOKOL <JS-delphi(zv)seznam(tec)cz> - 11.7.2002 16:06:00

> Jak zamenim stisk klavesy tab za enter.Jde i o pousovani mezi
> komponentama,ktere se deje na zaklade stisku tab,chci to predelat na ENTER,
> nevite nekdo... PROSIM HELP!!!! SMS (SAVE MY SPIRIT:-)))))
>
> Ales Pavel
> WXP D6 Ent
>
Ahoj,
v komponente osetris stisk klavesy <Enter> a potom pomoci tusim API -
FindNext nebo FIndNextFocus neco takoveho, delal jsem to uz davno, posunes
Focus na dalsi(nebo predchozi) komponentu, ktera ma vlastnost TabStop:=True;
Sorry, ze nejsem presnejsi s tou f-ci.

Ing. Jiri Sokol, js-delphi(zv)seznam(tec)cz, +420251431187
D6ProfSP2,WinNT
amatersky
programator

______________________________________________________________________
Reklama:
Nejenom anglicko-cesky slovnik: http://slovnik.seznam(tec)cz

PDF soubory a Delphi 4

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

From: "Roman Toda" <toda(zv)digitaldocuments.org>
> Presne tak - nic lepsie neexistuje. Len upozornim ze ten ActiveX nie je
> podporovany "produkt" takze ziadneho supportu sa nedockas, ziadnu
> dokumentaciu nenajdes.

Coz odpovida te cene, ne ? Navic TLB je vcelku postacujici.

Petr Vones

PDF soubory a Delphi 4

[*] Martinec <martin108(zv)post(tec)cz> - 11.7.2002 16:48:08

Nemate tedy nekdo zkusenosti s pouzitim tohoto ActiveX a nemohl poslat ukazku?

Dik Martinec


> -----Original Message-----
> From: Roman Toda [mailto:toda(zv)digitaldocuments.org]
> >
> > 1. Acrobat Reader lze zdarma stahnout
> > 2. Acrobat Reader obsahuje i ActiveX control
> > 3. Delphi umi pouzivat ActiveX
>
> Presne tak - nic lepsie neexistuje. Len upozornim ze ten
> ActiveX nie je
> podporovany "produkt" takze ziadneho supportu sa nedockas, ziadnu
> dokumentaciu nenajdes.

---
Velk� letn� sleva 50% na ve�kerou bannerovou reklamu a� do 30.9.2002
http://reklama.volny(tec)cz

PDF soubory a Delphi 4

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 11.7.2002 16:53:08

From: "Martinec" <martin108(zv)post(tec)cz>
> Nemate tedy nekdo zkusenosti s pouzitim tohoto ActiveX a nemohl poslat
> ukazku?

How to embed Adobe Acrobat into your application.
http://community.borland.com/article/0,1410,22101,00.html

Petr Vones

RS232, funkce ReadFile

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 11.7.2002 16:56:09

From: "Tomas Cieslar" <cieslar(zv)efisyst.com>
> Pokud zavolam funkci ReadFile a na port neprisly zadna data, cel� program
> vytuhne. Drive jsem takto komunikoval uplne v pohode (vsechny komunikacni

Je treba to umistit do samostatneho threadu, podivej se treba na AsyncFree:
http://sourceforge.net/projects/asyncfree

Petr Vones

RS232, funkce ReadFile

[*] Delphin <delphin(zv)post(tec)cz> - 11.7.2002 16:56:46

s problemem jsem se setkal a pomohlo nastavit jine hodnoty timeoutu funkci
SetCommTimeout.

with commtimeouts do
begin
ReadIntervalTimeout:=3;
ReadTotalTimeoutMultiplier:=3;
ReadTotalTimeoutConstant:=7+5;
WriteTotalTimeoutMultiplier:=1;
WriteTotalTimeoutConstant:=1;
end;
win32check(SetCommTimeouts(handle,commtimeouts));

Delphin


----- Original Message -----
From: "Tomas Cieslar" <cieslar(zv)efisyst.com>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, July 11, 2002 3:54 PM
Subject: RS232, funkce ReadFile


> Zdravim vsechny,
>
> mam problem s nize uvedenym kodem. Napsal jsem si tridu, ktera pouziva
> funkce API ke komunikaci se seriovym portem.
> Pokud zavolam funkci ReadFile a na port neprisly zadna data, cel� program
> vytuhne. Drive jsem takto komunikoval uplne v pohode (vsechny komunikacni
> funkce jsem mel v unit hlavniho formulare). Kdyz na portu nebyly data,
> funkce ReadFile probehla, vratila ze bylo prijato 0 bytu a program
nevytuhl.
> Jakmile funkci pouziji uvnitr tridy a na portu nejsou data, funkce
vytuhne.
> Zda se mi, ze mam vse v poradku, kdyz zarizeni odpovida a na portu jsou
> data, je vse v poradku. Resenim by bylo pouzit jiz hotovou free
komponentu,
> ale me zajima, kde je problem?
>
> Cieslar
>
>
> unit SerialPort;
>
> interface
>
> uses
> Windows, Classes, SysUtils, StdCtrls;
>
> type
> TComName = ( cnCOM1, cnCOM2, cnCOM3, cnCOM4 );
> TBaudRate = ( br110, br300, br600, br1200, br2400, br4800,
> br9600, br14400, br19200, br38400, br56000,
> br57600, br115200 );
> TDataBits = ( db5BITS, db6BITS, db7BITS, db8BITS );
> TStopBits = ( sb1BITS, sb1HALFBITS, sb2BITS );
> TParity = ( ptNONE, ptODD, ptEVEN, ptMARK, ptSPACE );
>
> TCommPort = class(TObject)
> public
> CommHandle: THandle;
> fComName: TComName;
> fBaudRate: TBaudRate;
> fDataBits: TDataBits;
> fStopBits: TStopBits;
> fParity: TParity;
> fInBuff: word;
> fOutBuff: word;
> fRIT: word;
> fRTTM: word;
> fRTTC: word;
> fWTTM: word;
> fWTTC: word;
> Connected: boolean;
> constructor Create;
> function Open(ComName: TComName): boolean;
> function SetDCB(BaudRate: TBaudRate; DataBits: TDataBits;
> StopBits: TStopBits; Parity: TParity): boolean;
> function SetTMS(RIT: word; RTTM: word; RTTC: word;
> WTTM: word; WTTC: word): boolean;
> function SetBuffer(InBuff: word; OutBuff: word): boolean;
> function Close: boolean;
> function Write(Buffer: pointer; DataSize: word): boolean;
> function Read(Buffer: pointer): cardinal;
> function Call(BuffTx: pointer; DataSize: word; BuffRx: pointer):
> cardinal;
> end;
>
> implementation
>
> const
> ValueComName: array [cnCOM1..cnCOM4] of PChar =
> ( 'COM1', 'COM2', 'COM3', 'COM4' );
> ValueBaudRate: array [br110..br115200] of cardinal =
> ( 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200,
> 38400, 56000, 57600, 115200 );
> ValueDataBits: array [db5BITS..db8BITS] of byte =
> ( 5, 6, 7, 8 );
> ValueStopBits: array [sb1BITS..sb2BITS] of byte =
> ( 0, 1, 2 );
> ValueParity: array [ptNONE..ptSPACE] of byte =
> ( 0, 1, 2, 3, 5 );
>
> constructor TCommPort.Create;
> begin
> inherited Create;
> CommHandle := 0;
> fComName := cnCOM1;
> fBaudRate := br9600;
> fDataBits := db8BITS;
> fStopBits := sb1BITS;
> fParity := ptNONE;
> fInBuff := 1024;
> fOutBuff := 1024;
> fRIT := 100;
> fRTTM := 0;
> fRTTC := 0;
> fWTTM := 0;
> fWTTC := 0;
> Connected := false;
> end;
>
> function TCommPort.Open(ComName: TComName): boolean;
> var
> ComChar: PChar;
> begin
> ComChar := ValueComName[ComName];
> CommHandle := CreateFile(ComChar,
> GENERIC_WRITE or GENERIC_READ,
> 0,
> nil,
> OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
> 0);
> if CommHandle > 0 then
> begin
> if SetDCB(fBaudRate, fDataBits, fStopBits, fParity) then
> begin
> if SetTMS(fRIT, fRTTM, fRTTC, fWTTM, fWTTC) then
> begin
> if SetBuffer(fInBuff, fOutBuff) then
> begin
> Connected := true;
> Result := true;
> end
> else
> begin
> Result := false;
> exit;
> end;
> end
> else
> begin
> Result := false;
> exit;
> end;
> end
> else
> begin
> Result := false;
> exit;
> end;
> end
> else
> begin
> Result := false;
> exit;
> end;
> end;
>
> function TCommPort.Close: boolean;
> begin
> if CloseHandle(CommHandle) then
> begin
> Connected := false;
> Result := true;
> end
> else
> Result := false;
> end;
>
> function TCommPort.Write(Buffer: pointer; DataSize: word): boolean;
> var
> nsent: cardinal;
> begin
> if WriteFile(CommHandle, Buffer^, DataSize, nsent, nil) then
> begin
> if nsent = DataSize then
> Result := true
> else
> Result := false;
> end
> else
> Result := false;
> end;
>
> function TCommPort.Read(Buffer: pointer): cardinal;
> var
> nsent: cardinal;
> begin
> nsent := 0;
> if ReadFile(CommHandle, Buffer^, fInBuff, nsent, nil) then
> begin
> if nsent > 0 then
> Result := nsent
> else
> Result := 0;
> end
> else
> begin
> Result := 0;
> end;
> end;
>
> function TCommPort.SetDCB(BaudRate: TBaudRate; DataBits: TDataBits;
> StopBits: TStopBits; Parity: TParity): boolean;
> var
> dcb: TDCB;
> begin
> if GetCommState(CommHandle, dcb) then
> begin
> dcb.BaudRate := ValueBaudRate[BaudRate];
> dcb.ByteSize := ValueDataBits[DataBits];
> dcb.StopBits := ValueStopBits[StopBits];
> dcb.Parity := ValueParity[Parity];
> if SetCommState(CommHandle, dcb) then
> begin
> fBaudRate := BaudRate;
> fDataBits := DataBits;
> fStopBits := StopBits;
> fParity := Parity;
> Result := true
> end
> else
> begin
> Result := false;
> exit;
> end;
> end
> else
> begin
> Result := false;
> exit;
> end
> end;
>
> function TCommPort.SetTMS(RIT: word; RTTM: word; RTTC: word;
> WTTM: word; WTTC: word): boolean;
> var
> tms: TCOMMTIMEOUTS;
> begin
> if GetCommTimeouts(CommHandle, tms) then
> begin
> tms.ReadIntervalTimeout := RIT;
> tms.ReadTotalTimeoutMultiplier := RTTM;
> tms.ReadTotalTimeoutConstant := RTTC;
> tms.WriteTotalTimeoutMultiplier := WTTM;
> tms.WriteTotalTimeoutConstant := WTTC;
> if SetCommTimeouts(CommHandle, tms) then
> begin
> fRIT := RIT;
> fRTTM := RTTM;
> fRTTC := RTTC;
> fWTTM := WTTM;
> fWTTC := WTTC;
> Result := true
> end
> else
> begin
> Result := false;
> exit;
> end;
> end
> else
> begin
> Result := false;
> exit;
> end;
> end;
>
> function TCommPort.SetBuffer(InBuff: word; OutBuff: word): boolean;
> begin
> if SetupComm(CommHandle, InBuff, OutBuff) then
> begin
> fInBuff := InBuff;
> fOutBuff := OutBuff;
> Result := true
> end
> else
> begin
> Result := false;
> exit;
> end;
> end;
>
> function TCommPort.Call(BuffTx: pointer; DataSize: word; BuffRx: pointer):
> cardinal;
> var
> nsent: cardinal;
> begin
> nsent := 0;
> if WriteFile(CommHandle, BuffTx^, DataSize, nsent, nil) then
> begin
> if ReadFile(CommHandle, BuffRx^, fInBuff, Result, nil) then
> exit
> else
> begin
> Result := 0;
> exit;
> end;
> end
> else
> begin
> Result := 0;
> exit;
> end;
> end;
>
> end.
>
>

console pro Firebird

[*] Str�n�k Franti�ek - 11.7.2002 17:07:29



Jaka je nejlepsi konsole pro Firebird ?

Zdravi Stranik

StarOffice/OpenOffice

[*] Martin Macko <martinm(zv)m-pro(tec)cz> - 11.7.2002 17:10:40

Zdravim konferenci,
mam dotaz ohledne StarOffice (ponovu OpenOffice) - neresil jste nekdo
propojeni a ovladani pomoci OLE (jestli to vubec jde) - jako to treba
funguje u MS Word/Excel ?

(
var
W: Variant;
begin
W := CreateOleObject ( 'Word.Application' );
W.Documents.Open ( 'c:\test1.doc' );
...
)

------------------------------------------------------------------------
---------------------------------------------
Martin MACKO,
M-PRO s.r.o.
U m�sta Chersonu 1595/1
tel.: +420 (35) 610 79 48,
610 72 31 a� 33

martinm(zv)m-pro(tec)cz
+420 (603) 48 39 40
---
Avast: Odchoz� zpr�va vyhodnocena jako �ist�
Datum a �as testov�n�: 11.7.2002 17:10:40
Datum virov� datab�ze (VPS): 9.7.2002
Avast! antivirus od Alwil Software


Caption pro novou komponentu

[*] Zdenek Stepanek <zstepanek(zv)atlas(tec)cz> - 11.7.2002 17:15:02

Zdravim

Mam komponentu odvozenou od TGraphicControl a potrebuji, aby dostavala
Caption, ktery bude stejny jako Name te komponenty. Zkousel jsem do Create
pridat Caption := Name;, ale nic se nestalo. Name je v te dobe zrejme jeste
prazdny. Nevite nekdo jak na to?

Diky
Zdenek

Vykonani SP na FB

[*] miromr <preas_w(zv)stonline.sk> - 11.7.2002 17:23:27

Ahoj,

> PF> Takze muj dojem z toho je, ze IB je daleko (nej)horsi databaze, nez
> PF> jsem si dosud myslel :-O
>
> Jo, pokud neumis s tim zachazet...

To je dost smutne - problem bude niekde inde - nie kazdy ma cas sa vrtat v
zdrojakoch IB a je dost spatne ak sa napr. rozhodnem pre pouzivanie prikazov
SQL92 a po urcitej dobe zistim, ze je to nehorazne pomale lebo som to mal
robit pomocou inej fraze alebo ineho prikazu!
Nemalo by toto byt uvedene niekde v dokumentacii pri danej fraze alebo danom
prikaze ?!

miro

console pro Firebird

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 11.7.2002 17:51:48

----- Original Message -----
From: "Str�n�k Franti�ek" <FStranik(zv)cpoj(tec)cz>
> Jaka je nejlepsi konsole pro Firebird ?

Free:
IBExpert Personal
www.ibexpert.com (ale odkaz musis trochu lovit)

Alespon podle me. O placenych nemam prehled.
Martin Schayna

local xml databaze

[*] David Janko <djanko(zv)infoware(tec)cz> - 11.7.2002 17:57:31

Zdravim vsechny,
resim problem s offline databazi na lokale, jejiz zmeny by se vzdy jednou za
cas prenesli na server (mysql). BDE nerad, tak zkousim XmlTransformProvider
a naprosto nechapu, jak se tam vytvari definice te xml tabulky ? Nevi prosim
nekdo jak na to ? Nebo je lepsi reseni problemu (abych nevymyslel vymyslene)
?

dekuji

---
Best Regards,
David Janko
programmer & Linux system administrator
djanko(zv)infoware(tec)cz
+420 604 164 999

console pro Firebird

[*] Alex Cherednichenko <cherednichenko(zv)wo(tec)cz> - 11.7.2002 18:06:29

Hello, Str�n�k!
You wrote:

SnF> Jaka je nejlepsi konsole pro Firebird ?

isql ;-)

Doporucuju IBExpert http://www.ibexpert.com/
Personalni verse je zadarmo.


With best regards, Alex Cherednichenko.

MySQL a last_insert_id()

[*] Martin Cajbik <cajbik(zv)sct.sk> - 11.7.2002 18:07:07

Zdravim,
a nemozes to urobit v ramci jedneho Query ?

MarCaNT (marcant(zv)sct.sk)

> Zdravim,
> potrebuju pomoc. Programuju nad mysql (MyODBC). Pomoci tquery vlozim
> do tabulky s auto_increment sloupcem novy zaznam a hned pote pomoci
dalsiho
> tquery chci zjistit hodnotu ID posledne vlozeneho zaznamu volanim
> last_insert_id(),
> jenze dostanu 0. Nechapu to. Zkousel jsem si to v sqlexploreru a tam to
> funguje.
> Nevite nekdo, proc mi to v mojem programu nebezi?
> Snad jsem napsal dost informaci, aby mi nekdo poradil.
> Predem diky.
>
> --
> Ivo Studensky
> <studensky(zv)aknsystem(tec)cz>
>
>

RS232, funkce ReadFile

[*] Vaclav Sazima <vaclav.sazima(zv)utilia(tec)cz> - 11.7.2002 18:31:02

Ahoj,
vycetl jsem kdysi v helpu, doufam ze spravne, ze pro okamzity navrat z
readfile ma byt :

ReadIntervalTimeout := maxdword; //return immediately from read
file ReadTotalTimeoutMultiplier := 0;
ReadTotalTimeoutConstant := 0;

Vaclav Sazima
Delphin wrote:
>
> s problemem jsem se setkal a pomohlo nastavit jine hodnoty timeoutu funkci
> SetCommTimeout.
>
> with commtimeouts do
> begin
> ReadIntervalTimeout:=3;
> ReadTotalTimeoutMultiplier:=3;
> ReadTotalTimeoutConstant:=7+5;
> WriteTotalTimeoutMultiplier:=1;
> WriteTotalTimeoutConstant:=1;
> end;
> win32check(SetCommTimeouts(handle,commtimeouts));
>
> Delphin
>
> > funkce ReadFile probehla, vratila ze bylo prijato 0 bytu a program
> nevytuhl.
> > Jakmile funkci pouziji uvnitr tridy a na portu nejsou data, funkce
> vytuhne.

Canvas a DPI

[*] Jan Naiser <tua(zv)wo(tec)cz> - 11.7.2002 19:46:35

Preji pekny den,
(W2k, D5.0 SP1)
zapisuji a kresim na canvas tiskarny a potrebuji udelat kopii do souboru
(JPeg). To vsechno umim, ale nejak porad nemuzu trefit velikost bitmapy
(Width a Height), aby to vse bylo 1:1. Tedy aby, pokud se neco nevykresli na
canvas tiskarny, nevykreslilo se to ani na canvas TBitmap. Zjistim si DPI
tiskarny (GetDevice...) a DPI bitmapy zjistuji z Formu
(Application.MainForm.Canvas...) a rozmery bitmapy nastavim v pomeru
uvedenych dpi z Printer.Width a Printer.Height. Ovsem vysledny rozmer
obrazku zobrazeny napr. v OE je vzdy vetsi (DPI tiskarny je 300, Formu 96).
Presneji receno - vykresli se i to, co na tiskarnu ne. Experimentalne mi
ovsem vychazi, ze bych v tomto pripade potreboval DPI canvasu bitmapy asi
101 namisto 96. Nevite, kde delam chybu nebo z ceho zjistit odpovidajici
Width a Height bitmapy, aby byly stejne jako u tiskarny?

Dekuji, Jan Naiser.

univerzalni vstupni dialog

[*] bleak <bleak(zv)atlas(tec)cz> - 11.7.2002 20:57:37

zdravim,
potreboval bych nejakou komponentu, ktera b umoznila vytvaret univerzalni
vstupni dialogy pro ruzne typy promennych, napr. Edit, ComboBox,
DateTimePicker.
Delam na programu, kde potreba vstup od uzivatele v mnoha ruznych variacich
a delat pro kazdy vstup samostatny form je zdlouhave. Jak to nejlepe resit?
bleak

Hint

[*] Robert Suska <delphi(zv)korak.sk> - 11.7.2002 21:06:25

Ahoj

nejako som ten Tvoj problem nepochopil skus to este raz a obsirnejsie

S pozdravom

************************************
Robert Suska
Network administrator, Delphi programmer
************************************

> Nazdar lidi
>
> potreboval by som zobrazit Hint ked je aplikacia minimalizovana je
viditelna
> iba v taskbare.
> Neviete ako by som k tomu donutil aplikaciu.
>
> Rickie (NT4 D5 SP1)
>
> ----------------------------------------
> Richard Siegl
> ELAS spol. s r.o.
> Vinohradn�cka 6
> 97101 Prievidza
> tel.: +421 46 5151239
> Email: rsiegl(zv)elas.sk
> Web: www.elas.sk
> ----------------------------------------

Caption pro novou komponentu

[*] Robert Suska <delphi(zv)korak.sk> - 11.7.2002 22:10:46

Ahoj!

Akurat teraz som to skusil ale tak ze som prazdy formular pomenovat Name:=
'RobkovForm10' a do Caption som dal "asdasds" no a do OnCreate eventu
formulara som dal kod

Caption:= Name;

a v pohode to ide po spusteni ma form Caption = hodnote ktora je vo
vlastnosti Name

S pozdravom

************************************
Robert Suska
KORAK SLOVAKIA s.r.o.
Horna 52
974 01 Banska Bystrica
www.korak.sk robert(zv)korak.sk
Network administrator, Delphi programmer
************************************> Zdravim
>
> Mam komponentu odvozenou od TGraphicControl a potrebuji, aby dostavala
> Caption, ktery bude stejny jako Name te komponenty. Zkousel jsem do Create
> pridat Caption := Name;, ale nic se nestalo. Name je v te dobe zrejme
jeste
> prazdny. Nevite nekdo jak na to?
>
> Diky
> Zdenek

Hint

[*] "K�ss, Pavel" <Pavel.Kaess(zv)trimondo(tec)com> - 11.7.2002 22:10:03

Vim, jak zobrazit Hint, kdyz je aplikace minimalizovana v trayi. Mrkni se na
komponentu CoolTrayIcon/TextTrayIcon (hledej tray na www.torry.net). Jsou k
ni i zdrojaky - mozna to pujde podobne. Dej vedet.
Pavel

> -----Original Message-----
> potreboval by som zobrazit Hint ked je aplikacia minimalizovana je
> viditelna
> iba v taskbare.
>

Caption pro novou komponentu

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

From: "Zdenek Stepanek" <zstepanek(zv)atlas(tec)cz>
> Mam komponentu odvozenou od TGraphicControl a potrebuji, aby dostavala
> Caption, ktery bude stejny jako Name te komponenty. Zkousel jsem do Create
> pridat Caption := Name;, ale nic se nestalo. Name je v te dobe zrejme jeste
> prazdny. Nevite nekdo jak na to?

Podivej se na TControl.SetName a do helpu na TControl.ControlStyle, konkretne
csSetCaption. Z toho by to melo byt jasne.

Petr Vones

PDF soubory a Delphi 4

[*] Roman Toda <toda(zv)digitaldocuments.org> - 11.7.2002 23:32:20

> From: "Roman Toda" <toda(zv)digitaldocuments.org>
> > Presne tak - nic lepsie neexistuje. Len upozornim ze ten ActiveX nie je
> > podporovany "produkt" takze ziadneho supportu sa nedockas, ziadnu
> > dokumentaciu nenajdes.
>
> Coz odpovida te cene, ne ? Navic TLB je vcelku postacujici.

:-) to som nemal na mysli. Skor to, ze s kazdou novou verziou sa moze
radikalne zmenit interface. Aspon Adobe na to upozornuje, ale skusenosti
hovoria, ze skor nieco pribudne.

Roman

PDF soubory a Delphi 4

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

From: "Roman Toda" <toda(zv)digitaldocuments.org>
> :-) to som nemal na mysli. Skor to, ze s kazdou novou verziou sa moze
> radikalne zmenit interface. Aspon Adobe na to upozornuje, ale skusenosti
> hovoria, ze skor nieco pribudne.

Jednou ze zakladnich vlastnosti jiz jednou publikovaneho interface je, ze je
nemenny. Pokud je treba neco pridat, vytvori se novy inferface.

Petr Vones

PDF soubory a Delphi 4

[*] Roman Toda <toda(zv)digitaldocuments.org> - 12.7.2002 00:16:51

> From: "Roman Toda" <toda(zv)digitaldocuments.org>
> > :-) to som nemal na mysli. Skor to, ze s kazdou novou verziou sa moze
> > radikalne zmenit interface. Aspon Adobe na to upozornuje, ale skusenosti
> > hovoria, ze skor nieco pribudne.
>
> Jednou ze zakladnich vlastnosti jiz jednou publikovaneho
> interface je, ze je
> nemenny. Pokud je treba neco pridat, vytvori se novy inferface.
>
A to je presne to... Adobe tvrdi, ze interface k ich ActiveXu nie je
publikovany a preto si ho mozu menit ako chcu. Aby som bol presny: "Use of
the ActiveX Control and Netscape plug-in installed by Acrobat Reader is not
licensed to other applications."

Roman

OT:Chybove hlasenia Firebird

[*] Jaroslav Popluhar <delphi1(zv)acc.sk> - 12.7.2002 00:47:50

"error reading data from the connection"
isc_net_read_err
Language Reference

Jaro

----- Original Message -----
From: "miromr" <preas_w(zv)stonline.sk>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, July 11, 2002 1:14 PM
Subject: OT:Chybove hlasenia Firebird


| Zdravim vsetkych,
| neviem sa v dokumentacii k IB6 dopatrat popisu chybovych hlaseni
firebirdu.
| Konkretne potrebujem zistit coo je to zachybu 335544726.
| V ktorej z priruciek, ale v akom dokumente je popis chybovych hlaseni a
kde
| sa da ziskat.
|
| Diky miro
|
|
|

Jak instalovat Delphi5 pod W2k

[*] Jaroslav Popluhar <delphi1(zv)acc.sk> - 12.7.2002 01:06:25

Zdravim Vas,

ako nainstalovat D5 pod Windows 2000 tak, aby:

a) fungovali korektne v profile kazdeho uzivatela (maju prazdnu paletu
komponent)
b) som dokazal ich instalaciu preniest do profilu ineho uzivatela

Zistil som, ze:

-prava administratora uzivatelovi nepostacuju
-nastavenie Everyone Full Control na HKLM_Software_Borland v regedt32 tiez
nie

uz neviem ako dalej a je to celkom dolezite

Jaro


Dialog nastaveni tiskarny

[*] Zdenek Sedlak <zsedlak(zv)atlas(tec)cz> - 12.7.2002 01:35:38

Ahoj,

zakaznik pouziva vice tiskaren, mam tedy ulozene predvolene tiskarny pro
ruzne vystupy, aby to nemusel porad vybirat. Napr. barevna, laser, fax.
Pokud je vystup urcen pro fax, je tento rovnou vybran apod.

Potreboval bych ale pro urcitou tiskarnu zavolat jeji dialog pro nastaveni.
zkousel jsem pouzit
OpenPrinter(PrinterName, hPrinter, nil)
je to priklad z knihy 1001 tiku pro Delphi, ale neni to presne co chci.
Protoze se mi tim neotevrou vsechny potrebne zalozky pro nastavovani. Dialog
neni totozny s tim, ktery so zobrazi po stisku tlacitka Vlastnosi treba v
PrinterSetupDialog.
Napr. pro tiskarnu Canon BJC 4100 se mi pri pouziti OpenPrinter objevi
zalozky "Papir a kvalita" a "Udrzba", ale pokud stisku vlastnosti pro tutez
tiskarnu v dialogu vyvolanem pomoci PrinterSetupDialog tak je tam navic
zalozka "Rozvrzeni". Podobne je to i u jinych tiskaren.
Prosim nevite jak otevru ten dialog se vsemi zalozkami?

dekuji za rady

Zdenek Sedlak

Format GUID ukladaneho jako PK do DB

[*] Ludek ZITA <konference(zv)sales(tec)cz> - 12.7.2002 03:37:44

Ahoj.
Ja pouzivam char(32) bez pomlcek a {}.
DObre se mi pak importuji/exportuji data z webu, kde si v PHP zase generuji
md5(uniqid(rand())) coz je zase 32 znaku. Navic na prvni pohled poznam co
kde vzniklo protoze "windowsi" GUID je velkymi pismeny a webovy malymi.

Ludek

----- Original Message ----- > Ahoj,
> u nas varchar(36) - bez {} - kdyz je potom potreba neco dohledat, lze to
> i "rucne" pomoci SELECT * FROM xxx WHERE ID='dlouhyosklivyguid'
>
> -----Original Message-----
> From: Petr Fejfar
>
>
> Hi all,
>
> cas od casu se na tomto foru diskutuje vhodnost pouziti GUID jako
> primarniho klice v DB.
>
> Rad bych konzultoval format, v jakem s GUID pracujete tj. ukladate ho do
> DB.
>
> Ja to z duvodu nezavislosti na SQL stroji delam tak,
> ze TGUID prevedu do BASE64 a vypustim pad '==',
> takze v DB je ulozen jako CHAR(22).

console pro Firebird

[*] Petr Palicka <petr.palicka(zv)atlas(tec)cz> - 12.7.2002 06:42:29

> Jaka je nejlepsi konsole pro Firebird ?

IBConsole? :o)
me osobne vyhovuje asi nejvic. podle potreby
ji stridam s IBQuery. "velke" administrativni
nastroje (EMS QUickDesk, IBAdmin, Marathon...)
me i nejak nesedly do ruky.

peca

Format GUID ukladaneho jako PK do DB

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 12.7.2002 06:49:38

From: "Martin Macko" <martinm(zv)m-pro(tec)cz>

> u nas varchar(36) - bez {} - kdyz je potom potreba neco dohledat, lze to
> i "rucne" pomoci SELECT * FROM xxx WHERE ID='dlouhyosklivyguid'

Tomu argumentu s rucnim dohledanim nerozumim: prece kazdy GUID ulozeny jako
CHAR/VARCHAR lze rucne dohledat a protoze se jedna o unikatni cislo,
stejne si musis ten "dlouhyosklivyguid" rucne opsat do SQL dotazu.

Akorat ze ten muj GUID napr. "cojJmuunS0apZ1ZGDRRLew" je po prevodu to
MIME64 osklivejsi, ale zase kratsi na opisovani :-)


Bye, pf



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