Archív konference Delphi

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

PageControl

[*] Mirek �ipel <miroslav.cipel(zv)oku-tu(tec)cz> - 21.7.1998 08:58:33


Nevite prosim nekdo jak v PageControl prepinat jednotlive TabSheety pomoci
klavesovych zkratek ALT+neco. Kdyz v Caption TabSheetu pouziju &neco
(podobne jako v menu) tak jednotliva pismena v nazvech jsou sice podtrzena
ale na
stisk klaves nereaguji.

Diky

M.

D4 integer

[*] Miloslav Skacel <skacel(zv)kjsoft(tec)cz> - 21.7.1998 09:35:30


Ahoj,

v D4 jsem narazil na perlicku, kterou si zatim neumim vysvetlit.

var SR: TSearchRec;
OK: boolean;
begin
OK:=(SR.Attr and faDirectory)<>0;
OK:=(SR.Attr and faReadOnly)<>0;

Prvni radek se prelozi, ale na druhem radku to hlasi:
'Operator not applicable to this operand type'.

Pritom definice symbolu faReadOnly a faDirectory
vypadaji v SysUtils.pas stejne:)

const
{ File attribute constants }
faReadOnly = $00000001;
faHidden = $00000002;
faSysFile = $00000004;
faVolumeID = $00000008;
faDirectory = $00000010;
faArchive = $00000020;
faAnyFile = $0000003F;

Pokud nekdo tusite, ozvete se.

S pozdravem,
Milos Skacel
skacel(zv)kjsoft(tec)cz
www.kjsoft(tec)cz

TUpdateSQL

[*] Milan Valenta <valenta(zv)telecom(tec)cz> - 21.7.1998 09:57:07

Hi,
nevim, jestli pomuzu, ale mam typ na jednu komponentu. Jmenuje se TUpdateMulti
a je k sehnani na http://www.cogisoft.fr/ zalozka downloads.
Komponentu jsem jeste nezkousel, nemohu tedy posoudit.

S pozdravem
Ing. Milan VALENTA
Horni Slavkov

POZOR!!! ZMENA E-MAILOVE ADRESY!!!

e-mail: valenta(zv)telecom(tec)cz


----------
> Odes�latel: Jaroslav KULHEIM <kulheim(zv)fp-brno(tec)cz>
> Komu: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
> P�edm�t: TUpdateSQL
> Datum: 20. �ervence 1998 23:42
>
> Dobry den,
> asi mam zacatecnicky dotaz, ale uz nevim jak dal :
>
> Mam dve tabulky spojene pres JOIN. K jejich zobrazeni pouzivam
> TQuery ( v poradku) a k ulozeni jsem zvolil TUpdateSQL. Jenze do ModifySQL
> (vlastnost
> TUpdateSQL) potrebuji dat prikaz UPDATE 2x (pro kazdou tabulku zvlast), ale
> hlasi
> mi to chybu pri pridani druheho update. Lze do ModifySQL vubec pridat druhy
> prikaz ?
> Nebo se tato situace resi uplne jinak ?
>
> Zkousel jsem pridavat EXEC SQL, stredniky za prikazy ale bezuspesne.
>
>
> INTERBASE 4.2, D3
>
> Dekuji,
> Jaroslav KULHEIM,
> kulheim(zv)fp-brno(tec)cz
>
>

Internet Offline

[*] Mgr. Petr Kellner <kellner(zv)praktik(tec)cz> - 21.7.1998 11:00:19


>Na to existuji programy. Krome toho, ze to umi IE 4

Pro amaterskeho programatora Petra Vonese, musim zverejnit svou zkusenost s IE4. Tento rezim opravdu podporuje a chova se to opravdu pekne. Pokud se nepripojim, muzu prohlizet vse co ma nejak natazeno, a kdyz klepnu nekam kde nema natazeno zepta se zda se chci pripojit, nebo se na to vyprdnout. To je velice prijemne, ale pak jsem zkusil automat. stahovani informacni stranky o meste Olomouc, ktera neni priliz kosata (asi 3 urovne a tech strankach neni nic moc), a nestacil jsem se divit. Kdyz to stahovalo asi 20 minut (byly to asi 2MB) a porad to nemelo konce tak jsem to zastavil. Chtel jsem to pouzit proto, ze IE4 inzeruje moznost, ze sam detekuje zmeny na techto strankach a upozorni na ne. Takze to na me udelalo dojem, ze je to pouzitelne (pokud jsem pripojen pres telefon) jen kdyz si presne vyberu stranku, ktera me zajima, nebudu stahovat obrazky, rozumne nastavim hloubku stahovani, a urcite musim vypnout stahovani odkazu nekam jinam (nejlepsi bude asi v�bec do hloubky nic nestahovat-to je taky def. nastaveni IE4). Vzhledem k predchozi poznamce v konf. o dynamicky gen. strankach to opravdu doporuciji aplikovat jen na dobre vybrane schranky.

Az budu mit vice zkusenosti, mozna napisu co s tim, zatim mne to dost zklamalo.

Mgr. Petr Kellner
Praktik SW, spol. s r.o. Dom� : Na Z�kop� 27
V. Outraty 7, Prost�jov, 796 00 Olomouc, 773 00
Tel : 0508/365583 Tel : 068/5314129
Fax : 0508/365512 Tel : 0603/457623
e-mail: kellner(zv)praktik(tec)cz pekol(zv)praktik(tec)cz
Web: www.praktik(tec)cz
e-mail pro velmi kr�tk� zpr�vy: kellner.mobil(zv)sms.paegas(tec)cz

TUpdateSQL

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

Ked mas tanulku pripojenu cez join tak by som doporucil nasledujuci postup:

select .. from Tab1 A left join Tab2 B ...

Udaje do tab1 A uloz cez dane Query1 a UpdateSQL1 ale udaje do tabulky Tab2 B uloz pomocou druheho Query2 a UpdateSQL2.

Tungli


----------
> Od: Jaroslav KULHEIM <kulheim(zv)fp-brno(tec)cz>
> Pre: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
> Predmet: TUpdateSQL
> D�tum: 20. j�l 1998 23:42
>
> Dobry den,
> asi mam zacatecnicky dotaz, ale uz nevim jak dal :
>
> Mam dve tabulky spojene pres JOIN. K jejich zobrazeni pouzivam
> TQuery ( v poradku) a k ulozeni jsem zvolil TUpdateSQL. Jenze do ModifySQL
> (vlastnost
> TUpdateSQL) potrebuji dat prikaz UPDATE 2x (pro kazdou tabulku zvlast), ale
> hlasi
> mi to chybu pri pridani druheho update. Lze do ModifySQL vubec pridat druhy
> prikaz ?
> Nebo se tato situace resi uplne jinak ?
>
> Zkousel jsem pridavat EXEC SQL, stredniky za prikazy ale bezuspesne.
>
>
> INTERBASE 4.2, D3
>
> Dekuji,
> Jaroslav KULHEIM,
> kulheim(zv)fp-brno(tec)cz
>
>
>

jazyk a preklad

[*] TUNGLI Jan <tungli(zv)pvt.sk> - 21.7.1998 11:21:28

Kdo by mal zaujem spolupracovat na tvorbe programu na prekladanie zivych jazykov.
Je to skor vyskum na tvorbu univerzalneho modelu jazyka. Zatial je to neplatene lebo nikto neveri ze nieco takove je mozne urobit.


TUNGLI Jan
tungli(zv)pvt.sk


casta_na_slovy

[*] Mgr. Petr Kellner <kellner(zv)praktik(tec)cz> - 21.7.1998 11:21:51


256 => dvestepadesatsest.

pripojuji zdrojak v BP7, a v kodu kamenik, jiste si to upravis


Mgr. Petr Kellner
Praktik SW, spol. s r.o. Dom� : Na Z�kop� 27
V. Outraty 7, Prost�jov, 796 00 Olomouc, 773 00
Tel : 0508/365583 Tel : 068/5314129
Fax : 0508/365512 Tel : 0603/457623
e-mail: kellner(zv)praktik(tec)cz pekol(zv)praktik(tec)cz
Web: www.praktik(tec)cz
e-mail pro velmi kr�tk� zpr�vy: kellner.mobil(zv)sms.paegas(tec)cz


Coolbar, Toolbar

[*] Jan nov�k���r����n�?��? - 21.7.1998 11:26:20

Ahoj.
Nev�te n�kdo jak se d� za��dit, aby se Coolbarem nebo Toolbarem dalo
pohybovat, tak jak je tomu nap�. ve Wordu. (Co se mus� nastavit za
vlastnosti). Tj aby nebyl napevno nap�. p�i horn�m okraji.

D�k.

Drag and Drop

[*] Krayzel Libor <Libor.Krayzel(zv)czech-tv(tec)cz> - 21.7.1998 11:29:19

Zdravim vsechny,

jak zajistit, aby slo do me aplikace pretahovat soubory napr. z
Pruzkumnika?
Dekuji


S pozdravem

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

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

BDE a ODBC

[*] Lubo Fule <fule(zv)sct.sk> - 21.7.1998 11:34:16

Da sa stiahnut niekolko komponentov od roznych firiem, ktore su potomkami
TDataset, ale chodia priamo cez ODBC. Ziadne vsak nie su free. Ja sam so
taketo komponenty vyrabal, ale su prisposobene specialne pre MSSQL Server,
takze s inymi servrami by to asi nechodilo. Napis presnejsie o aky server sa
v tvojom pripade jedna a potom di budem vediet lepsie poradit. Samozrejme,
ze take komponenty sa daju napisat aj univerzalne, ale je to znacne na ukor
rychlosti.

-----Original Message-----
From: Kolar Lubor [mailto:LuborK(zv)tnet(tec)cz]
Sent: Friday, July 17, 1998 8:52 PM
To: DELPHI Distribution List
Subject: BDE a ODBC


Asi se zeptam jak magor, ale da se nejak rozumne v Delphi obejit BDE a
pracovat s DB komponentama primo s ODBC?

Lubor bIRDIE Kolar
====================
GSM Phone: +420-603-410019


inv string

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

TUNGLI Jan wrote:
>
> Potreboval by som invertovat string najlepsie v assamblerovskou procedurou kvoli rychlosti pre Delphi2 alebo Delphi3
>
> Napr: "jablko" previest na "oklbaj" tz. opacne poradie pismen.
>
> Dakujem.

Ahoj,

zkusil jsem neco takoveho a myslim si ze to je docela efektivni, kdyz
se podivas na tu smycku while ... tak to prelozene vypada asi takhle:

JMP While
L1: MOV [EDX],CL
INC EAX
DEC EDX
While: MOV CL,[EAX]
TEST CL,CL
JNZ L1

Je videt ze mezi 16 a 32 bit prekladaci je prece jen rozdil .....


function ReverseString(const Source: String): String;
var
L: Integer;
S, D, Dest: PChar;
begin
L := Length(Source);
GetMem(Dest, L);
try
S := PChar(Source);
D := Dest + L - 1;
while S^ <> #0 do
begin
D^ := S^;
Inc(S);
Dec(D);
end;
SetString(Result, Dest, L);
finally
FreeMem(Dest);
end;
end;

Petr Vones, amatersky programator


BDE 5 Upgrade

[*] Kelle Ondrej <Kelleon(zv)nnsk.sk> - 21.7.1998 11:58:31

Kto este nema Delphi 4, moze si upgrade BDE na verziu 5 stiahnut z
http://www.inprise.com/devsupport/bde/bdeupdate.html.
Je to free. Popis najdete na
http://www.inprise.com/devsupport/bde/bde5newfeatures.html.

Ondrej Kelle
kelleon(zv)nnsk.sk


DBLookupComboBox

[*] Lukes V�clav <lukes(zv)msm.pvt(tec)cz> - 21.7.1998 12:31:01


Ahoj,

mam malickaty dotaz. Pouzivam DBLookupComboBox, ktery je vazan na
tabulku. Vse vypada dobre az na obsah okna Comba. Data se mi objevi az
po otevreni rolety.

Vaclav Lukes

lukes(zv)msm.pvt(tec)cz


inv string

[*] Marian Cipka <Cipy(zv)army.sk> - 21.7.1998 12:42:23

> Potreboval by som invertovat string najlepsie v assamblerovskou procedurou kvoli rychlosti pre Delphi2 alebo Delphi3
>
> Napr: "jablko" previest na "oklbaj" tz. opacne poradie pismen.
>
> Dakujem.
>
> Tungli
>
> TUNGLI Jan
> tungli(zv)pvt.sk

procedure StrReverse (var Str: String); assembler;
asm
PUSH DS
LDS DI,Str
MOV CL,[DI]
XOR CH,CH
JCXZ (zv)(zv)2
MOV SI,DI
ADD DI,CX
INC SI
SHR CL,1
(zv)(zv)1:MOV AL,[SI]
MOV AH,[DI]
MOV [DI],AL
MOV [SI],AH
INC SI
DEC DI
LOOP (zv)(zv)1
(zv)(zv)2:POP DS
end;

Maros Cipka


Instalacky BDE

[*] Hojda Pavel <hojda(zv)mmp.plzen-city(tec)cz> - 21.7.1998 12:47:02

Cau,
nemate nekdo instalacky BDE (pro D3).

Pavel


Komponenta

[*] MJsoft <MJsoft(zv)rychnov(tec)cz> - 21.7.1998 12:49:08

Zdar DF

Nemel by jste nekdo komponentu jako je TStatusBar s tim rozdilem, ze by
na StatusPanelu mohli byt dva texty jinym pismem (stacilo by jeden text
tucny a druhy obycejny). Nemam cas si ji naprogramovat.


Diky


MJ soft
Jelen Jindrich ml.

inv string

[*] Michal Leinweber <M.Leinweber(zv)sh.cvut(tec)cz> - 21.7.1998 12:51:37

> function ReverseString(const Source: String): String;
> var
> L: Integer;
> S, D, Dest: PChar;
> begin
> L := Length(Source);
> GetMem(Dest, L);
> try
> S := PChar(Source);
> D := Dest + L - 1;
> while S^ <> #0 do
> begin
> D^ := S^;
> Inc(S);
> Dec(D);
> end;
> SetString(Result, Dest, L);
> finally
> FreeMem(Dest);
> end;
> end;

Proc tam vyvadite naky alokace a dealokace uplne zbytecny pameti ??? Co
treba takhle:

function ReverseString(const Source:String):string;
var
L: Integer;
S, D: PChar;
begin
L := Length(Source);
SetLength(Result, L);
S := PChar(Source);
D := PChar(Result) + L - 1;
while S^ <> #0 do begin
D^ := S^;
Inc(S);
Dec(D);
end;
end;

McLEI


jazyk a preklad

[*] Marian Cipka <Cipy(zv)army.sk> - 21.7.1998 13:01:03



> Kdo by mal zaujem spolupracovat na tvorbe programu na prekladanie zivych jazykov.
> Je to skor vyskum na tvorbu univerzalneho modelu jazyka. Zatial je to neplatene lebo nikto neveri ze nieco takove je mozne urobit.
>
> TUNGLI Jan
> tungli(zv)pvt.sk

Napis nieco podrobnejsie. Mozes to poslat e-mailom. Potom sa k tomu vyjadrim.

Maros Cipka


jazyk a preklad

[*] Krautvor Ale� <krautvor(zv)mona(tec)cz> - 21.7.1998 14:01:58



TUNGLI Jan wrote:

> Kdo by mal zaujem spolupracovat na tvorbe programu na prekladanie zivych jazykov.
> Je to skor vyskum na tvorbu univerzalneho modelu jazyka. Zatial je to neplatene lebo nikto neveri ze nieco takove je mozne urobit.
>
> TUNGLI Jan
> tungli(zv)pvt.sk

zivych jazykov ?

Ales

--
*

<none>

[*] Jan Nov�k���r����n�?��? - 21.7.1998 14:26:07

Ahoj lidi.
Nev� n�kdo jak se vytiskne struktura tabulky Paradoxu.
D�k


seriove cislo instalace novellu

[*] ing. Pavel Linart <vyvoj(zv)atlascon(tec)cz> - 21.7.1998 14:40:00

Cau,

mam problem. Chci zjistit seriove cislo instalace novellu, ale umim to
jenom
v dosu nebo v 16-bitove aplikaci. Nicmene potreboval bych to vedet i v
32-bitove aplikaci.
Nepotrebuju zadne "obchvaty", dnes to mam vyresene pomoci 16-bitoveho
exace,
ktery pres message vraci to ciselko hlavni aplikaci. Nicmene se mi tohle

reseni ani trochu nelibi. Jsem presvedcen, ze to nejak jde, ale nikde
jsem
nic nenasel. Na novellu mi sice (neochotne) poradili, ale jejich reseni
je
mozne pouzit jen s novellovym windows klientem od Novellu, ne s tim, co
je
od Microsoftu.

Nasel by se nekdo, kdo by mi mohl poradit?

Nove BDE

[*] Martin Nedopil <nedopil(zv)eskon(tec)cz> - 21.7.1998 15:04:45

Ozyvam se timto mailem a prosim nekoho,
kdo ma D4, at je tak laskav a vytvori mi dve tabulky
v novem Database Desktopu. Potrebuji to pro muj
TParadoxStream:
Struktura prvni tabulky:
Alpha A 20
Numeric N

Struktura druhe tabulky:
(libovolna, ale musi byt pouzity nektere nove typy, ktere
Database Desktop z D3 nebyly, protoze BDE automaticky
rozezna, ze jsi nepouzil zadny z novych typu a prevede tabulku
na typ nizsi).

Vyplnte prosim tri radky udaju v obou tabulkach a poslete mi to.

Dekuji mockrat

Martin Nedopil
nedopil(zv)geocities.com
Delphi kitchen�: http://www.geocities.com/Athens/Olympus/5260

ODBC a MS SQL was: Master-detail nad velkou tabulk

[*] Pavel Klimes <klimes(zv)c3(tec)cz> - 21.7.1998 15:16:11

Velmi pekne zdravim ucastniky konference, kteri pred tim vedrem
jeste neutekli a drsnacky sedi u pocitacu.

V prispevcich k Master-detail nad velkou tabulkou jsme se pokouseli
vyresit nadbytecny fetch vet na klienta, o ktere nikdo nestoji.
Deje se tak pri pripojeni pres BDE-SQL links-MS SQL Server, tedy pres
nativni driver k MS SQL.

Pri pokusu o pripojeni prostrednictvim ODBC se toto nestava a aplikace
pracuje tak, jak bych si predstavoval.

Problem se objevi vsak jinde:

K manipulaci s daty pouzivame ulozenych procedur, ktere vraci vystupni
parametry. Pokud nabyva nejaky vystupni parametr hodnoty null, objevi se
pri pokusu o provedeni ulozene procedury hlaska: "Indicator variable
required but not supplied".

Vi, prosim, nekdo z ucastniku, co to znamena? Da se s tim neco delat
(jineho nez nevracet null)?

Velmi pekne dekuji za kazdy byt zdanlive nesouvisejici napad.

Zdravim, Pavel.


--
+---- Pavel Klimes ---- mailto:klimes(zv)c3(tec)cz ----+--- /""\ \ o | ---+
| C3, s.r.o. (Czech Card Centrum) | __) """ |
| Srobarova 32, Praha 10, Czech Republic | \/"""\ |
+---------------------- http://www.c3(tec)cz -------+--- \____/ / ---+

NetBEUI

[*] Ing. Miroslav Ond��ek - 21.7.1998 15:29:24

Uz jsem to jednou zkousel a nic, tak to zkusim jeste jednou. Mam sanci
poslat zpravu (klasickou Windows message) aplikaci, ktera je spustena na
jinem pocitaci (WIN95, NetBEUI protokol) ? Na stanicich je spusten
NetDDE.EXE. Staci mi odkazy na WWW. Anglictina no problem.

Diky

Ing. Miroslav Ond��ek
Bonnel Technologie, s.r.o.

E-mail: bonnel(zv)telecom(tec)cz
http://www.bonnel-tech.com

Verze BDE

[*] Martin Nedopil <nedopil(zv)eskon(tec)cz> - 21.7.1998 15:31:11

Dneska jsem browsil po Borlandu ( sorry chlapci z Inprise, ja su stara
skola)
a nalezl jsem super utilitku na zjistovani verze BDE.

Napred mi tvrdil, ze nemuze najit D2 (no to ja taky ne :-) a pak
napsal ze mj. BDE : Not Detected. ( neuhodl, neuhodl, hec, hec)

Je tam sice napsano "This utility is unsupported by Borland International",
ale
vzhledem k tomu, ze jsem to stahl z jejich stranky, tak by si to snad mohli
alespon
vyzkouset.

Takze stahujte, kdo vi, co vsechno tento program jeste nezjisti.

Martin


Paradox a sit

[*] mbartone(zv)synthesia(tec)cz - 21.7.1998 16:02:12

Ahoj,
prosim poradte mi. Jedna se o paradoxove tabulky, aplikace v D3, pocitace s
W95.
hlavni pocitac - sdileny adresar c:\pokus s plnym pristupem,
Local Share = True
NetDir = c:\pokus
Ostatni pocit. sdileny adresar c:\pokus pripojen jako logicky disk H
Local Share = True
NetDir = h:\

Na hlavnim pocitaci spustim aplikaci. Kdyz ji pak spustim na jinem nahlasi
mi tuto chybu

Directory is controlled by other .NET file.
Directory c:\pokus
File h:\pdoxusrs.lck

Co mam kde spatne nastaveny, ze muze pracovat jen jeden ?

Diky Milan

jazyk preklady2

[*] TUNGLI Jan <tungli(zv)pvt.sk> - 21.7.1998 16:14:31

> Kdo by mal zaujem spolupracovat na tvorbe programu na prekladanie zivych jazykov.
> Je to skor vyskum na tvorbu univerzalneho modelu jazyka. Zatial je to neplatene lebo nikto neveri ze nieco takove je mozne urobit.
>
> TUNGLI Jan
> tungli(zv)pvt.sk


Jedna sa o realizaciu gramatickych pravideil a vytvorenie jednotneho modelu aspo� pre (najznamejsie) europske jazyky.
Pre tych ktori by mali zaujem na spolupraci pri tvorebe ligvistickeho modelu
pomocou ktoreho bude mozne uskutocnova� preklady medzi roznich (zivych) jazykov:

Morfologiou podla mojho nazoru nebudu ziadne problemy.
Problemy budu na urovni vetnych clenov a smyslovych vazieb vo vete.
Cely algoritmus a princip nemozem poskytnut je to moje tajomstvo ale postupne ak spolupraca bude uspesna tak samozrejme nebudu zaidne tajnosti.
Zatial sa mi podarilo vyriesit na papiery celu morfologiu avsak mam problemy s
vetnymi skladmi co je dost nervoznujuci lebo anglistina vo velkej miere vyuziva tieto vazby.
Uvital by som spolupracu ak mate nejake skusenosti respektive rozmyslali ste otom ako by to islo.
Je to pre mna dolezite ze skym budem spolupracovat preto prosim napiste
vase napady ako by ste isli na vec. Staci jednoducho heslovite, ako by ste realizovai napr. preklad alebo ine casti. Na zaklade toho budem vediet skym mozem spolupracovat.
Neskor poslem aj moj algoritmus heslovite ale zatial nechcem davat napady.

Rad by som uvital niekoho kto zaobera s lingvistikou a nie su mu cudzie pocitace a programovanie.


TUNGLI Jan
tungli(zv)pvt.sk


Komponenta

[*] Martin Kubecka <martin.kubecka(zv)dytron(tec)cz> - 21.7.1998 16:25:17

Na DSP (a asi i jinde) je k mani komponenta Advanced StatusBar, ktera
umi prijimat dalsi komponenty. To by ti melo pomoci.

Mac

MJsoft wrote:
>
> Zdar DF
>
> Nemel by jste nekdo komponentu jako je TStatusBar s tim rozdilem, ze by
> na StatusPanelu mohli byt dva texty jinym pismem (stacilo by jeden text
> tucny a druhy obycejny). Nemam cas si ji naprogramovat.
>
> Diky
>
> MJ soft
> Jelen Jindrich ml.

Internal Error C1376 (co to je???)

[*] Martin Fr�hlich <unites(zv)telecom(tec)cz> - 21.7.1998 16:31:41

Vazeni pratele

Mam rozpracovany program a po pripsani nekolika malo radku do zdrojoveho
textu mi to
pri prekladu zacalo hlasit "Internal Error C1376" na radku s prikazem
"end;". Zadna
zjevna ani skryta syntakticka chyba tam neni.
Nevite co to znamena a jak se toho zbavit?

Predem diky
Martin Frohlich
UNITES
------------
E-mail: unites(zv)telecom(tec)cz

BDE !!??

[*] MJsoft <MJsoft(zv)rychnov(tec)cz> - 21.7.1998 16:51:28

No nevim nevim. Ja mam SQLPassthruMode nastaven porad na NOAUTOCOMMIT.
Kdyz jsem mel nastaveno AUTOCOMMIT (nepouzivam CacheUpdate), tak to trvalo
hrozne dlouho nez se poprve zalozil novy zaznam (hlavne na siti s ISA
sitovkami). Po prepnuti vyse zmineneho parametru v BDE se zaklada zaznam v
mziku a data jsou fyzicky ulozena. Konstrukce StartTransaction a Commit,
nebo Rollback je potom pri zakladani noveho zaznamu, ci jeho uprave
zbytecna (podle meho zkoumani). Ale samozrejme ze kdyz delam napr.
uzaverku mesice, tak na zacatku zapnu transakci a na konci udelam
COMMIT popr. ROLLBACK (je to super vec). Davkove zpracovani me
nevyhovuje, protoze muj uzivatel udela jeden zaznam za dlouhou dobu,
ale hlavne se musi na sklade okamzite projevit aktualni zasoba.

Ale stejne dik za vsechny odpovedi.

MJ soft
Jelen Jindrich ml.


----------
> Odes�latel: �ke��k Jaroslav <jaro(zv)zbk(tec)czn(tec)cz>
> Komu: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
> P�edm�t: Re: BDE !!??
> Datum: 20. �ervence 1998 15:50
>
> Autocommit ridi automaticky transakci na urovni jednoho zaznamu.
> Provadi tedy skryte "commit" pro kazdy zaznam (post). Tim muze dojit
> ke znacnemu spomaleni v pripade hromadneho ukladani dat.
> Jestlize vsak autocommit vypnes, pak pri post nebude zaznam fyzicky
ulozen
> (resp. potvrzen v pripade servru) a predpoklada se, ze se o to postaras
sam
> v mistech,
> kde je to z hlediska rychlosti efektivnejsi.
> Podle me zkusenosti je vhodnejsi ponechat nastaveni SQLPassthru mode na
> AUTOCOMMIT, protoze tento stav lze jednoduse vypnout i programove.
> V mistech, kdy jde o hromadne zadani dat nebo kde je to z ruznych
> duvodu zadouci pouzij konstrukci:
>
> Data1.Database1.StartTransaction;
> try
> // .... ulozeni dat tabuky na server pole potreby napr:
> Data1.Query1.ApplyUpdates;
> Data1.Query.CommitUpdates;
> // ..... nebo i jinak provest hromadnou aktualizaci dat
> Data1.Database1.Commit;
> except
> Data1.Database1.Rollback;
> Application.MessageBox('Nepodarilo ulozit.', 'Informace ...', MB_OK +
> MB_ICONINFORMATION);
> Exit;
> end;
>
> Tim je autocommit vyrazen a uplatni se pouze ve vsech ostatnich
pripadech.
>
> Ta delsi prodleva pri ulozeni prvniho zaznamu spociva v necm jinem.
> Pri otevrni Tquery se na dataset nenatahne cely obsah dat ze serveru, ale
> pouze urcity pocet zaznamu odpovidajici velikosti nastaveneho bufferu.
> Tim dojde ke znacnemu zrychleni operace Open u vetsich objemu dat.
> Pri ulozeni prvniho zaznamu vsak dojde k dotazeni zbyleho mnozstvi dat do
> DataSetu (TQuery). Ukladani dalsiho zaznamu je uz rychle, protoze
> data jsou uz nactena vsechna. Zatim jsem neobjevil rozumny zpusob
> jak tomuto efektu zabranit, krome dusledneho vytvareni dotazu s malym
> objemem dat na klienta.
>
> Jaro.
> -----------------------------------------------
>
> >Zdravim
> >-----------
> > Mel bych mensi dotaz. Mam vetsi aplikaci napsanou v Delphi3 na
dbServru
> >Interbase5. Ze zacatku jsem mel problem s rychkosti pri spusteni
aplikace a
> >prvnim pridani zaznamu. Pozdeji jsem zjistil, ze kdyz nastavim v BDE
> >SQLPassthru mode na NOAUTOCOMMIT (misto AUTOCOMMIT), tak se prida zaznam
> >okamzite. Ale kdyz ho chci ulozit tak mu to trva delsi dobu. Pokud
pridavam
> >dalsi zaznami uz je to v pohode. Testoval jsem to i na malinke aplikaci,
> >kde bzl jen jeden Query ,DataSource a DBGrid. Chova se to uplne stejne.
> >Rekl bych ze to je kvuli BDE. Ma s tim nekdo zkusenosti? Predem diky za
> >odpovedi.
> >
> >
> >MJ soft
> >Jelen Jindrich ml.

SN harddisku v Delphi 1

[*] medisoft(zv)uo.fairnet(tec)cz (Medisoft International - Usti) - 21.7.1998 17:06:15

Ahoj,
v posledni dobe se zde objevilo nekolik prispevku na tema "precteni serioveho cisla harddisku".
Funkce GetVolumeLabel funguje v Delphi 3 bez problemu, ale ja bych potreboval precist seriove cislo harddisku v Delphi 1, kde tato fukce neni. Vedel by nekdo, jak tento problem vyresit ?

Diky.

======================
Petr Hartman
Medisoft International
Usti nad Orlici
e-mail: medisoft(zv)uo.fairnet(tec)cz
======================

Zarazejici rychlost

[*] MJsoft <MJsoft(zv)rychnov(tec)cz> - 21.7.1998 17:21:12

Mam tu jednu zkusenost, mozna uz jste to nekdo resil.

Dlouho jsem nemohl prijit na to(pouzivam D3 + IB5 v siti),
proc me na klientovy jeden formular, ktery obsahuje Grid s
hodne zaznamy, trva tak dlouho nez se otevre. Nutno dodat,
ze pri jeho vytvareni volam Locate s vyhledanim na cast
retezce, ktery jsem vyplnil z volajiciho formulare. Po dlouhem
testovani jsem zjistil:

1. kdyz totiz zavolate metodu Locate s
hledanim casti retezce, tak podle mych zkusenosti projede
celou tabulku, coz je logicke protoze hleda nejblizsi shodu
a pak jeste musi skocit zpet na vyhovujici radek. Tohle je
na siti s velkym poctem zaznamu dost nevhodny. Zatim me
zadny genialni reseni nenapadlo. Zatim zkousim ruzne
varianty (protoze mam vyhledavanou polozku vzdy setridenu,
tak proste udelam DisableControl a jedu dolu nebo nahoru).
Chci jeste vyskouset nejprve prez TempQuery najit ID
zaznamu a pak na nej Locatem skocit (ale v pripade ze
to bude posledni zaznam, tak to vlastne bude jeste
pomalejsi nez na zacatku, ackoliv bych uz nehledal cast
retezce (jak jsem rek to musim jeste testnout)).

2. pri testovani vseho mozneho jsem prisel jeste na jednu vec.
Protoze me to na jedne siti chodi velice slusne se slabsima
pocitacema, tak jsem k te dalsi siti, kde to trva hrozne dlouho
pripojil pocitac prave z te rychle site. A co se nestalo slo to
super rychle. Zaver je jasny v te pomale siti totiz maji ISA
sitove karty(pro jistotu jsem jeste u jednoho pocitace tyto
karty vymenil z ISA na PCI a opet velky narust rychlosti)
a to je obrovske spomaleni, i kdyz maji velice dobre konfigurace
pocitacu.


Rad bych uvital podobne zkusenosti. Dik



MJ soft
Jelen Jindrich ml.

Zmena langdrivru v kodu

[*] REAiA consulting <reaia(zv)brn.pvtnet(tec)cz> - 21.7.1998 17:25:02

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

Pratele,
uz par hodin se trapim s nasledujicim problemem:

Potrebuji zmenit langdriver tabulky po jejim vytvoreni v kodu. Je to dost prakticka vec, protoze na pocitaci uzivatele se muze vyskytovat vice programu uzivajicich BDE s ruznymi pozadavky na kodovani cestiny pro ruzne tabulky a nelze spolehat na nastaveni pri instalaci programu. Nemate nekdo neco takoveho hotoveho 20

Zkousel jsem to pres dbiProcs (BDE API) menit, ale vse marne pokusy v tom horku. Hledal jsem to na SuperPage, ale kde nic tu nic. V archivu jsem nic podobneho nenasel (pod 'cestina').

Martin Kvapilik

Drag and Drop

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 21.7.1998 17:47:03

Krayzel Libor wrote:
>
> Zdravim vsechny,
>
> jak zajistit, aby slo do me aplikace pretahovat soubory napr. z
> Pruzkumnika?
> Dekuji

Ahoj,

tady je jednoduchy priklad, slo by to udelat i jako komponenta aby
to bylo obecne pouzitelne:


unit Unit11;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ShellAPI;

type
TForm1 = class(TForm)
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
FNewWndProc, FOldWndProc: Pointer;
procedure ComponentWndProc(var Msg: TMessage);
procedure DropFiles(DropHandle: HDROP);
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
FNewWndProc := MakeObjectInstance(ComponentWndProc);
FOldWndProc := Pointer(SetWindowLong(Memo1.Handle, GWL_WNDPROC, Longint(FNewWndProc)));
DragAcceptFiles(Memo1.Handle, True);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Memo1.Handle, False);
SetWindowLong(Memo1.Handle, GWL_WNDPROC, Longint(FOldWndProc));
FreeObjectInstance(FNewWndProc);
end;

procedure TForm1.ComponentWndProc(var Msg: TMessage);
begin
with Msg do
if Msg = WM_DROPFILES then DropFiles(WParam) else
Result := CallWindowProc(FOldWndProc, Memo1.Handle, Msg, WParam, LParam);
end;

procedure TForm1.DropFiles(DropHandle: HDROP);
var
FilesCount, I: Integer;
FileName: array[0..MAX_PATH] of Char;
begin
FilesCount := DragQueryFile(DropHandle, -1, nil, 0);
for I := 0 to FilesCount -1 do
begin
DragQueryFile(DropHandle, I, (zv)FileName, Sizeof(FileName));
Memo1.Lines.Add(FileName);
end;
end;

end.

Petr Vones, amatersky programator

inv string

[*] Lubo Fule <fule(zv)sct.sk> - 21.7.1998 17:52:50

To je velmi ZLE!!!

Tento kod bude fungovat iba v Delphi 1. V D/2 a D/3 su uz stringy
implementovane uplne inac (tak ako v C, teda koncia #0 a na nultom byte sa
nenachadza dlzka retazca ale prvy platny znak) a okrem toho tento kod je
16-bitovy teda aj z tohto dovodu by to v D/32 nefungovalo.
Ja by som to napisal takto:

procedure StrReverse (Str: String); assembler; register;
asm
PUSH ESI
PUSH EDI
CLD
MOV EDI,EAX
MOV ESI,EAX //zaciatok
MOV ECX,0FFFFFFFFH
XOR AL,AL
REPNE SCASB //hlada koniec
MOV EAX,0FFFFFFFEH
SUB EAX,ECX //EAX = dlzka retazca
MOV CX,2
XOR DX,DX
IDIV CX
XOR ECX,ECX
MOV ECX,EAX
jcxz (zv)(zv)2
SUB EDI,2 //koniec
(zv)(zv)1:
MOV AL, [EDI]
XCHG AL, [ESI]
MOV [EDI], AL
INC ESI
DEC EDI
LOOP (zv)(zv)1
(zv)(zv)2:
POP EDI
POP ESI
end;

Toto je otestovane a funguje to.

-----Original Message-----
From: Marian Cipka [mailto:Cipy(zv)army.sk]
Sent: Tuesday, July 21, 1998 12:42 PM
To: DELPHI Distribution List
Subject: Re: inv string


> Potreboval by som invertovat string najlepsie v assamblerovskou procedurou
kvoli rychlosti pre Delphi2 alebo Delphi3
>
> Napr: "jablko" previest na "oklbaj" tz. opacne poradie pismen.
>
> Dakujem.
>
> Tungli
>
> TUNGLI Jan
> tungli(zv)pvt.sk

procedure StrReverse (var Str: String); assembler;
asm
PUSH DS
LDS DI,Str
MOV CL,[DI]
XOR CH,CH
JCXZ (zv)(zv)2
MOV SI,DI
ADD DI,CX
INC SI
SHR CL,1
(zv)(zv)1:MOV AL,[SI]
MOV AH,[DI]
MOV [DI],AL
MOV [SI],AH
INC SI
DEC DI
LOOP (zv)(zv)1
(zv)(zv)2:POP DS
end;

Maros Cipka


Internal Error C1376 (co to je???)

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

Martin Fr�hlich wrote:
>
> Vazeni pratele
>
> Mam rozpracovany program a po pripsani nekolika malo radku do zdrojoveho
> textu mi to
> pri prekladu zacalo hlasit "Internal Error C1376" na radku s prikazem
> "end;". Zadna
> zjevna ani skryta syntakticka chyba tam neni.

Ahoj,

neprojevuje se ti to nahodou v Delphi 2.0 ? Me se stavalo presne totez,
stacilo ale jen neco upravit ve zdrojaku a dat Build All a zmizelo to ...

Petr Vones, amatersky programator

inv string

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 21.7.1998 18:05:50

Michal Leinweber wrote:

> Proc tam vyvadite naky alokace a dealokace uplne zbytecny pameti ??? Co
> treba takhle:
>
> function ReverseString(const Source:String):string;
> var
> L: Integer;
> S, D: PChar;
> begin
> L := Length(Source);
> SetLength(Result, L);
> S := PChar(Source);
> D := PChar(Result) + L - 1;
> while S^ <> #0 do begin
> D^ := S^;
> Inc(S);
> Dec(D);
> end;
> end;

Ahoj,

Jiste, takhle je to jednodussi, to bude asi tim prisernym vedrem :-)
Ted uz je trochu chladneji, tak tady je jeste jedna varianta:

procedure ReverseString(var S: String);
var
P1, P2: PChar;
C: Char;
begin
P1 := PChar(S);
P2 := P1 + Length(S) - 1;
while P1 < P2 do
begin
C := P1^;
P1^ := P2^;
P2^ := C;
Inc(P1);
Dec(P2);
end;
end;

Petr Vones, amatersky programator

Zmena langdrivru v kodu

[*] Lubo Fule <fule(zv)sct.sk> - 21.7.1998 18:12:42

Je potrebne pouzit objekt TDatabase a v nom este pred jeho pripojenim k
databaze (Connected musi byt False) nastavit:

Database1.Params.Values['LANGDRIVER']:=Pozadovany driver
napr.:
Database1.Params.Values['LANGDRIVER']:=dBASE CSY cp852

Takto sa da explicitne prestavit pocas behu v podstate ktorykolvek parameter
nastaveny v BDE administratore.

-----Original Message-----
From: REAiA consulting [mailto:reaia(zv)brn.pvtnet(tec)cz]
Sent: Tuesday, July 21, 1998 5:25 PM
To: delphi(zv)pinknet(tec)cz
Subject: Zmena langdrivru v kodu


Pratele,
uz par hodin se trapim s nasledujicim problemem:

Potrebuji zmenit langdriver tabulky po jejim vytvoreni v kodu. Je to
dost prakticka vec, protoze na pocitaci uzivatele se muze vyskytovat vice
programu uzivajicich BDE s ruznymi pozadavky na kodovani cestiny pro ruzne
tabulky a nelze spolehat na nastaveni pri instalaci programu. Nemate nekdo
neco takoveho hotoveho ?

Zkousel jsem to pres dbiProcs (BDE API) menit, ale vse marne pokusy v
tom horku. Hledal jsem to na SuperPage, ale kde nic tu nic. V archivu jsem
nic podobneho nenasel (pod 'cestina').

Martin Kvapilik

TAB a OnKeyDown

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 21.7.1998 18:40:05

Milan Vorisek wrote:
>
> Potreboval bych odchytit stisknuti tabelatoru.
> Reaguje mi to ale jen na uvolneni (OnKeyUp).
> Ostatni klavesy reaguji na oboji bez problemu.
> Kdyz zachytavam zpravy ve WndProc, tak na stisknuti
> TAB dojde zprava s kodem $F05, pri uvolneni je kod
> spravny. (D1)
> Zatim nemuzu k tomuto chovani nic najit.

Ahoj,

pokud ovl.prvek ktery ma prave focus sam nepouziva klavesu Tab, tak
to jde takhle:

type
TForm1 = class(TForm)
private
procedure CMDialogKey(var Msg: TCMDialogKey); message CM_DIALOGKEY;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.CMDialogKey(var Msg: TCMDialogKey);
begin
inherited;
if Msg.Charcode = VK_TAB then MessageBeep(0);
end; Petr Vones, amatersky programator


Coolbar, Toolbar

[*] Jan Nov�k���r����n�?��? - 21.7.1998 19:05:02

Pou��v�m Delphi 3. Jde to tam tak� tak ?
-----P�vodn� zpr�va-----
Od: Michal Leinweber <M.Leinweber(zv)sh.cvut(tec)cz>
Komu: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
Datum: 22. �ervence 1998 18:39
P�edm�t: RE: Coolbar, Toolbar


>> Nev�te n�kdo jak se d� za��dit, aby se Coolbarem nebo Toolbarem dalo
>> pohybovat, tak jak je tomu nap�. ve Wordu. (Co se mus� nastavit za
>> vlastnosti). Tj aby nebyl napevno nap�. p�i horn�m okraji.
>
>Toto je dalsi perfektni vlastnost v Delphi4. Kazda komponenta ma moznost
>Drag & Dock. Tj, presne to co se pouziva v Officech - tj ToolBar sedi na
>liste ale jakmile ho chytnete a vytahnete mimo tak se pro nej automaticky
>vytvori okno. A kdyz to okno presunete spatky na listu tak se provede DOCK
a
>je zase na liste. Vsechno funguje skoro automaticky - staci to jen povolit.
>
> McLEI
>
>

Coolbar, Toolbar

[*] Jan Nov�k���r����n�?��? - 21.7.1998 19:06:55

Jde to i v Delphi3 ?

-----P�vodn� zpr�va-----
Od: Franta <macala(zv)praktik(tec)cz>
Komu: 'DELPHI Distribution List' <delphi(zv)pinknet(tec)cz>
Datum: 22. �ervence 1998 18:59
P�edm�t: RE: Coolbar, Toolbar


Ahoj.
Nev�te n�kdo jak se d� za��dit, aby se Coolbarem nebo Toolbarem dalo
pohybovat, tak jak je tomu nap�. ve Wordu. (Co se mus� nastavit za
vlastnosti). Tj aby nebyl napevno nap�. p�i horn�m okraji.

D�k.


staci dat u tehto komponent vlastnost ALIGN = none a lze s temito
komponentami pohybovat.

ahoj Franta
macala(zv)praktik(tec)cz


DiskFree na UNC jmeno

[*] Ales Zeleny <zelenya(zv)mlp(tec)cz> - 21.7.1998 19:09:22

DDV,
tema zde jiz bylo, ale nenasel jsem na nej zadnou odpoved.

potrebuji zjistit misto na disku je-li nasdileno
C: na \\pocitac\c\

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

Multitasking, to je kdyz se aplikace mohou hroutit paralelne.

Multitasking means that applications can crash simultaneously.

Paradox a sit

[*] Ing. Zdenek Sraier <sraierzd(zv)czn(tec)cz> - 21.7.1998 20:09:38

> hlavni pocitac - sdileny adresar c:\pokus s plnym pristupem,
> Local Share = True
> NetDir = c:\pokus
> Ostatni pocit. sdileny adresar c:\pokus pripojen jako logicky disk H
> Local Share = True
> NetDir = h:\
>
>
> Co mam kde spatne nastaveny, ze muze pracovat jen jeden ?
>
> Diky Milan

Cesta na NET soubor by mela byt na vsech pocitacich stejna.
To znamena - i na hlavnim pocitaci si namapuj disk H:

S pozdravem Zdenek
---------------------------------------------------------
: o__o Zdenek Sraier sraierzd(zv)czn(tec)cz :
: ( o o) users(tec)czn(tec)cz/~sraierzd/ :
: (. .) Stranky Potapecske www.byll(tec)cz/scuba/ :
---------------------------------------------------------
This message was delivered using 100% recyclable electrons.

Zmena langdrivru v kodu

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 21.7.1998 21:08:05

> REAiA consulting wrote:
>
> Pratele,
> uz par hodin se trapim s nasledujicim problemem:
>
> Potrebuji zmenit langdriver tabulky po jejim vytvoreni v kodu. Je to dost prakticka vec, protoze na pocitaci uzivatele se
> muze vyskytovat vice programu uzivajicich BDE s ruznymi pozadavky na kodovani cestiny pro ruzne tabulky a nelze spolehat na
> nastaveni pri instalaci programu. Nemate nekdo neco takoveho hotoveho ?
>
> Zkousel jsem to pres dbiProcs (BDE API) menit, ale vse marne pokusy v tom horku. Hledal jsem to na SuperPage, ale kde nic tu
> nic. V archivu jsem nic podobneho nenasel (pod 'cestina').

Ahoj,

tady je priklad jak lze menit langdriver Paradox tabulky:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, BDE, DB, DBTables;

type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
Table1: TTable;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
procedure BuildLangList;
procedure ChangeTableLanguage(Table: TTable; const LangDriverName: String);
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

const
Delimiter = '|';

procedure TForm1.FormCreate(Sender: TObject);
begin
Table1.Exclusive := True;
Table1.Open;
BuildLangList;
end;

procedure TForm1.BuildLangList;
var
hCur: hDBICur;
LD: LDDesc;
begin
Check(DbiOpenLdList(hCur));
try
with ListBox1 do
begin
Sorted := True;
Items.Clear;
while DbiGetNextRecord(hCur, dbiNOLOCK, (zv)LD, nil) = DBIERR_NONE do
Items.Add(Format('%s %s %s', [LD.szDesc, Delimiter, LD.szName]));
end;
finally
Check(DbiCloseCursor(hCur));
end;
end;

procedure TForm1.ChangeTableLanguage(Table: TTable; const LangDriverName: String);
var
hDb: hDBIDb;
TblDesc: CRTblDesc;
Props: CurProps;
pFDesc: FLDDesc;
begin
if not (Table.Active and Table.Exclusive) then
raise EDatabaseError.Create('Table must be opened Exclusive');
Check(DbiGetCursorProps(Table.Handle, Props));
if Props.szTableType <> szPARADOX then
raise EDatabaseError.Create('Table must be of type PARADOX');
Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
Table.Close;

FillChar(TblDesc, SizeOf(TblDesc), #0);
StrPCopy(TblDesc.szTblName, Table.Tablename);
StrCopy(TblDesc.szTblType, szParadox);

FillChar(pFDesc, Sizeof(pFDesc), 0);
StrPCopy(pFDesc.szName, 'LANGDRIVER');
pFDesc.iLen := Length(LangDriverName) + 1;

TblDesc.iOptParams := 1;
TblDesc.pFldOptParams := (zv)pFDesc;
TblDesc.pOptData := (zv)LangDriverName[1];

try
Check(DbiDoRestructure(hDb, 1, (zv)TblDesc, nil, nil, nil, False));
finally
Table.Open;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
Lang: String;
begin
Lang := ListBox1.Items[ListBox1.ItemIndex];
Lang := Trim(Copy(Lang, Pos(Delimiter, Lang) + 1, 31));
ChangeTableLanguage(Table1, Lang);
end;

end.

Petr Vones, amatersky programator


Delphi 4 - recenze dotaz

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 21.7.1998 21:42:13

� wrote:

> 1) ad Internet - jestli je to reseno pomoci OCX nebo jiz konecne
> pomoci nativnich pomponent, vcetne zrojaku (u C/S verze)

Jiz to jsou nativni komponenty.

> 2) zda je konecne impelentovan CPL.H

CPL.pas ti nestaci?

S pozdravem

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


Delphi 4 - recenze

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 21.7.1998 21:42:13

MJsoft wrote:

> Rad bych se touto cestou zeptal jestli je podporen format Jpeg i
> na
> databazi a ne jen pro Timage (to totiz bylo uz ve verzi 3)

Protoze TDBImage pouziva tentyz TPicture jako TImage, myslim si, ze
by to pouzivat mel. Pokud ne, myslim ze by to melo jit zaregistrovat,
a to i ve verzi 3.

S pozdravem

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


Delphi 4 - dotaz

[*] Zbysek Hlinka <zhlinka(zv)login(tec)cz> - 21.7.1998 21:42:13

Petr Vones wrote:

> mam dalsi dotaz ohledne D4, tyka se typu promennych. Pry tam opet
> doslo k nejakym zmenan, zde je cast diskuze ohledne toho, je to
> opravdu tak jak se tam pise ?
>
> Compatibility issues

DPL se meni na BPL. Balicky je nutno prekompilovat. BPL z C++B3
nefunguji v D4.

Zmeny v parametrech OnDragOver a OnDragDrop.

DWORD, UINT, HResult, OLE_HANDLE a API jsou pretypovane z integer na
longword.

Zavedenim Int64 a longword dochazi k prisnejsi kontrole integer.
Takze uz nelze bez rizika prirazovat i:=$80000000 a nasledne
porovnavat. Zkousel jsem to, je to tak.

Internetove komponenty NetManage jsou prilozeny na CD.

A jeste dve drobnosti pro praci s SQL.

S pozdravem

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


Delphi 4 - recenze dotaz

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

Petr Vones wrote:

> 1. Jake tak pribyli komponenty ze "systemove" oblasti. Treba neco co
> zapouzdruje praci s MailSloty, Pipes a tak.....

Co se tyce komonent, tak D4P ve srovnani s D3C/S je dost slabe. V
podstate lze rict, ze nove jsou pouze internetove komponenty, a
myslim si, ze jsou zcela jine.

> 2. Komponenty ovl.prvku Windows (hlavne TListView a TTreeView)
> vetsinou
> nemeli vsechno co nabizela COMMCTL32, na Internetu bylo sice
> vsude plno doplnku ale kazdy delal spis jen neco. Je uz to vic
> kompletni ?

Nevim, co vsechno by mely ty komponenty umet, takze nemohu zatim
posoudit, zda jsou kompletni, nebo umeji zase jen neco. Mas na mysli
neco konkretniho?

> 3. Ma uz TTable konecne nejakou metodu PackTable ????

Pokud jsem si vsiml, tak nema, a domnivam se, ze ani mit nebude -
vzhledem k tomu, ze lze ocekavat odklon od souborovych databazi.

> 5. Uz v D2 me napadlo ze by kompilator mohl hlasit Warning pri
> pouziti
> promenne typu Real, neni to tam ciste nahodou ?

Typ Real je nyni 8bitovy (= Double), misto 6bitoveho je Real48. Kdo
si toho nevsimne, muze se dostat do pekneho maleru.

> 8. Pri psani komponent se pomerne casto opakuje ze napises promennou
> kterou pouzivas v property (treba FBeep: Boolean) a pak
> property Beep: Boolean read FBeep write FBeep
> neni tam neco co by to nejak snadneji generovalo ?

Jak uz odpovidal Michal Leinweber, je, a funguje to i na metody.

S pozdravem

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


Paradox a sit

[*] E&J soft <uli(zv)internet.sk> - 21.7.1998 22:23:07

> Na hlavnim pocitaci spustim aplikaci. Kdyz ji pak spustim na jinem nahlasi
> mi tuto chybu
>
> Directory is controlled by other .NET file.
> Directory c:\pokus
> File h:\pdoxusrs.lck
>
> Co mam kde spatne nastaveny, ze muze pracovat jen jeden ?
>
> Diky Milan
>

Ahoj,

NetDir musi byt umisten na sdilenem
disku s plnym pristupem vsem a musi mit stejny nazev.
Zkus na hlavnim pocitaci udelat
substituci na adresar C:\POKUS
jako H: a na ostatnich PC pridat sitovy disk
z hlavniho PC (adresar na hlavnim PC C:\POKUS)
jako jednotku H a ten zapsat do NetDir ostatnich PC.
A take asi bude lepsi vytvorit pro NETDIR podadresar.

Jaro


inv string

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 21.7.1998 23:03:50

Lubo Fule wrote:

> procedure StrReverse (Str: String); assembler; register;
> asm
> PUSH ESI
> PUSH EDI
> CLD
> MOV EDI,EAX
> MOV ESI,EAX //zaciatok

-----------------------------------
> MOV ECX,0FFFFFFFFH
> XOR AL,AL
> REPNE SCASB //hlada koniec
> MOV EAX,0FFFFFFFEH
> SUB EAX,ECX //EAX = dlzka retazca
------------------------------------

Ahoj,

to hledani konce stringu je tady zbytecne, protoze typ String ma
v sobe i delku retezce, takze by to slo takhle:

MOV EAX, [EAX-4]

a jeste pred tim musis kontrolovat jestli neni String prazdny. Petr Vones, amatersky programator

Paradox a sit

[*] �ke��k Jaroslav�������6�����̿ - 21.7.1998 23:24:04

Ten .lck soubor mus� b�t spolecn�, tj. sd�len� v jednom m�ste,
jestli si to je�te dobre pamatuju
Jaro
----------

>Ahoj,
>prosim poradte mi. Jedna se o paradoxove tabulky, aplikace v D3, pocitace s
>W95.
>hlavni pocitac - sdileny adresar c:\pokus s plnym pristupem,
> Local Share = True
> NetDir = c:\pokus
>Ostatni pocit. sdileny adresar c:\pokus pripojen jako logicky disk H
> Local Share = True
> NetDir = h:\
>
>Na hlavnim pocitaci spustim aplikaci. Kdyz ji pak spustim na jinem nahlasi
>mi tuto chybu
>
>Directory is controlled by other .NET file.
>Directory c:\pokus
>File h:\pdoxusrs.lck
>
>Co mam kde spatne nastaveny, ze muze pracovat jen jeden ?
>
>Diky Milan
>

ODBC a MS SQL was: Master-detail nad velkou tabulk

[*] �ke��k Jaroslav�������6�����̿ - 21.7.1998 23:31:13

Vyzkousej nastaveni vychozi hodnoty pro parametr, aby nemohl nabyvat
nikdy hodnotu Null. Jinak to asi nepujde, protoze ovladac s touto honotou
zrejme neumi pracovat.
Zajimalo by me, jestli pri napojeni pres ODBC je srovnatlna rychlost,
resp. odezva ve srovnanim se SQL links.
Jaro.
--------------

>Velmi pekne zdravim ucastniky konference, kteri pred tim vedrem
>jeste neutekli a drsnacky sedi u pocitacu.
>
>V prispevcich k Master-detail nad velkou tabulkou jsme se pokouseli
>vyresit nadbytecny fetch vet na klienta, o ktere nikdo nestoji.
>Deje se tak pri pripojeni pres BDE-SQL links-MS SQL Server, tedy pres
>nativni driver k MS SQL.
>
>Pri pokusu o pripojeni prostrednictvim ODBC se toto nestava a aplikace
>pracuje tak, jak bych si predstavoval.
>
>Problem se objevi vsak jinde:
>
>K manipulaci s daty pouzivame ulozenych procedur, ktere vraci vystupni
>parametry. Pokud nabyva nejaky vystupni parametr hodnoty null, objevi se
>pri pokusu o provedeni ulozene procedury hlaska: "Indicator variable
>required but not supplied".
>
>Vi, prosim, nekdo z ucastniku, co to znamena? Da se s tim neco delat
>(jineho nez nevracet null)?
>
>Velmi pekne dekuji za kazdy byt zdanlive nesouvisejici napad.
>
> Zdravim, Pavel.
>
>
>--
>+---- Pavel Klimes ---- mailto:klimes(zv)c3(tec)cz ----+--- /""\ \ o | ---+
>| C3, s.r.o. (Czech Card Centrum) | __) """ |
>| Srobarova 32, Praha 10, Czech Republic | \/"""\ |
>+---------------------- http://www.c3(tec)cz -------+--- \____/ / ---+

Paradox a sit

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 22.7.1998 00:00:19

> prosim poradte mi. Jedna se o paradoxove tabulky, aplikace v D3, pocitace s
> W95.
> hlavni pocitac - sdileny adresar c:\pokus s plnym pristupem,
> Local Share = True
> NetDir = c:\pokus
> Ostatni pocit. sdileny adresar c:\pokus pripojen jako logicky disk H
> Local Share = True
> NetDir = h:\
>
> Na hlavnim pocitaci spustim aplikaci. Kdyz ji pak spustim na jinem nahlasi
> mi tuto chybu
>
> Directory is controlled by other .NET file.
> Directory c:\pokus
> File h:\pdoxusrs.lck
>
> Co mam kde spatne nastaveny, ze muze pracovat jen jeden ?

Za prve - nemas tabulky otevrene exklusivne? Za druhe, napis
cesty do netdir jako UNC, tedy takto: \\JMENOSERVERU\POKUS

*** POZOR, DOCHAZI KE ZMENE TELEFONNICH A FAXOVYCH CISEL ***
*** T A T O Z M E N A J E J I Z K O N E C N A ! ***

S pozdravem
Petr Zahradnik, pocitacovy expert

==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Obvodova 740/14, PO BOX 15, 400 07 Usti nad Labem 7 ===
=== telefon: 047-5500610, telefon/fax: 047-5501627 ===
=== mobilni telefon GSM (hotline): 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================

Paradox a sit

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 22.7.1998 00:27:28

> Cesta na NET soubor by mela byt na vsech pocitacich stejna.
> To znamena - i na hlavnim pocitaci si namapuj disk H:

Neni nutno v 32-bitovych aplikacich pri pouziti cesty ve
formatu UNC konvenci - zde to vlastne uz vyplyva z toho,
jak to vypada: \\POCITAC\ADRESAR

*** POZOR, DOCHAZI KE ZMENE TELEFONNICH A FAXOVYCH CISEL ***
*** T A T O Z M E N A J E J I Z K O N E C N A ! ***

S pozdravem
Petr Zahradnik, pocitacovy expert

==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Obvodova 740/14, PO BOX 15, 400 07 Usti nad Labem 7 ===
=== telefon: 047-5500610, telefon/fax: 047-5501627 ===
=== mobilni telefon GSM (hotline): 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================

Delphi 4 - recenze dotaz

[*] Michal Kara <lemming(zv)atrey.karlin.mff.cuni(tec)cz> - 22.7.1998 08:30:02

> Nazdarek,
> Nemohol by si mi zistit odkial dostavas tie delphi typy a sendnut mi
> adresu.
Podivej se na www.zdtips.com.

Michal Kara alias lemming


SN harddisku v Delphi 1

[*] Krautvor Ale� <krautvor(zv)mona(tec)cz> - 22.7.1998 08:42:06



Medisoft International - Usti wrote:

> Ahoj,
> v posledni dobe se zde objevilo nekolik prispevku na tema "precteni serioveho cisla harddisku".
> Funkce GetVolumeLabel funguje v Delphi 3 bez problemu, ale ja bych potreboval precist seriove cislo harddisku v Delphi 1, kde tato fukce neni. Vedel by nekdo, jak tento problem vyresit ?
>
> Diky.
>
> ======================
> Petr Hartman
> Medisoft International
> Usti nad Orlici
> e-mail: medisoft(zv)uo.fairnet(tec)cz
> ======================

A co takhle ? Na D2 to funguje.

procedure TForm1.Button1Click(Sender: TObject);
var
SerialNum : pdword;
a, b : dword;
Buffer : array [0..255] of char;
begin
if GetVolumeInformation('c:\', Buffer, SizeOf(Buffer), SerialNum, a, b, nil, 0) then
Label1.Caption := IntToStr(SerialNum^);
end;********************************************************************
* Mona v.o.s. *
* krautvor(zv)mona(tec)cz Ales Krautvor *
* tel.: 96 162 404 Mala Stepanska 17 *
* 120 79 Praha 2 *
* -O|O- "Nemusi prset, pokud aspon kape." *
********************************************************************

inv string

[*] Marian Cipka <Cipy(zv)army.sk> - 22.7.1998 08:45:49

Ospravedlnujem sa za 16-bit. assembler. Procedura, ktoru som poslal bola skutocne v D2 nepouzitelna.
Ja som si ju napisal pre Turbo Pascal a fungovalo to aj v D1. D2 pouzivam od februara 98 a zatial som
tuto rutinu nepotreboval. Dakujem za upozornenie o chybe pri preklade. Neskor by som to zistil aj sam.
Preto som skusil pouzit 32-bit. registre (prvy krat v mojej praxi - to som sa v skole neucil), odskusal
som to a funguje to. Slava !!!

procedure StrReverse (var Str: String); assembler;
asm
PUSH DS
MOV EDI,EAX
MOV CL,[EDI]
XOR CH,CH
JCXZ (zv)(zv)2
MOV SI,DI
ADD DI,CX
INC SI
SHR CL,1
(zv)(zv)1: MOV AL,[ESI]
MOV AH,[EDI]
MOV [EDI],AL
MOV [ESI],AH
INC SI
DEC DI
LOOP (zv)(zv)1
(zv)(zv)2: POP DS
end;

Marian Cipka


OffT: PostgreSQL a ODBC

[*] Marcel Telka <marcel(zv)vadium.sk> - 22.7.1998 08:51:51

Ahoj vsetci vestci (sk)
Cago vsichni delphini (cz)

Mam problem. Pri nakonektovani na PostgreSQL server cez ODBC mi BDE admin
4.51
zahlasi tuto chybu:

Unknown user name or password.
Failed to authenticate client as Postgres user 'marcel' using <unknown
authentication type>: be_recvauth: unrecognized message
type: 65536
Alias: PostgreSQL



Pritom login a password zadavam spravne. (Ked sa konektujem priamo z Linuxu,
tak to ide).

V com moze byt problem?


Ing. Marcel Telka <marcel(zv)vadium.sk>
Vadium s.r.o., Plzenska 4, SK - 080 01 Presov
http://www.vadium.sk/ Tel./fax: ++421 91 721 160


PXENGWIN.DLL

[*] Jirka Fejfar <fejfarj(zv)login(tec)cz> - 22.7.1998 09:10:56

>Hmmmm... a jak je to u nej s padanim tabulek a vubec se stabilitou. To by
>mne
>velmi zajimalo. Jak je velky, jak komplikovany atd...
>
>Diky
>

No v soucasnosti bych PXENGWIN.DLL spise nedoporucoval.
BDE je lepsi.
Spatny je to, ze se to obcas chova nestandardne - napr. kdyz je tabulka
readonly, tak to hlasi, ze ta tabulka neexistuje apod.
Stabilita je nic moc, v podstate vzdycky, kdyz neco v tom mym starym
programu spadne tak to ma na svedomi PXENGEWIN.DLL.
Ja jsem to pouzil proto, ze tehdy (1992) nic jinyho, co by umoznovalo spravu
paradoxovejch tabulek v siti, neexistovalo. Ted uz je PXENGWIN.DLL asi
"offtopic" :-).

Komplikovany to neni skoro vubec, jsou to proste funkce, ktery vracej
integer hodnotu, ktera znamena jak se ty funkce provedly.

Tady posilam par funkci pro ilustraci :

function PXWinInit(ClientName: PChar; ShareMode: Integer): Integer;
function PXExit: Integer;
function PXTblExist(TblName: PChar; var Exist: Bool) : Integer;
function PXTblOpen(TblName: PChar; var TblHandle: TableHandle; IndexID:
FieldHandle; SaveEveryChange: Bool): Integer;
function PXTblClose(TblHandle: TableHandle): Integer;
function PXRecBufOpen(TblHandle: TableHandle; var RecHandle: RecordHandle):
Integer;
function PXRecBufClose(RecHandle: RecordHandle): Integer;
function PXRecGet(TblHandle: TableHandle; RecHandle: RecordHandle): Integer;
function PXRecFirst(TblHandle: TableHandle): Integer;
function PXGetAlpha(RecHandle: RecordHandle; FldHandle: FieldHandle;
BufSize: Integer; Dest: PChar): Integer;
function PXPswAdd(Password: PChar): Integer;
function PXPswDel(Password: PChar): Integer;
function PXTblEncrypt(TblName: PChar; Password: PChar): Integer;
function PXTblDecrypt(TblName: PChar): Integer;
function PXTblNRecs(TblHandle: TableHandle; var NRecs: RecordNumber):
Integer;
function PXRecGoto(TblHandle: TableHandle; RecNum: RecordNumber): Integer;
function PXGetDoub(RecHandle: RecordHandle; FldHandle: FieldHandle; var
DValue: Double): Integer;
function PXPutDoub(RecHandle: RecordHandle; FldHandle: FieldHandle; Value:
Double): Integer;
function PXPutAlpha(RecHandle: RecordHandle; FldHandle: FieldHandle; Value:
PChar): Integer;
function PXRecAppend(TblHandle: TableHandle; RecHandle: RecordHandle):
Integer;
function PXRecInsert(TblHandle: TableHandle; RecHandle: RecordHandle):
Integer;
function PXRecUpdate(TblHandle: TableHandle; RecHandle: RecordHandle):
Integer;
function PXRecDelete(TblHandle: TableHandle): Integer;
function PXSrchKey(TblHandle: TableHandle; RecHandle: RecordHandle; NFlds,
Mode: Integer): Integer;
function PXSrchFld(TblHandle: TableHandle; RecHandle: RecordHandle;
FldHandle: FieldHandle; Mode: Integer): Integer;

To DLL je velky 231 kB.
__________________

Jiri Fejfar
e-mail: fejfarj(zv)login(tec)cz
__________________

Paradox a sit

[*] epos(zv)pce.fairnet(tec)cz (Epos) - 22.7.1998 09:11:45

> Ahoj,
> prosim poradte mi. Jedna se o paradoxove tabulky, aplikace v D3, pocitace s
> W95.
> hlavni pocitac - sdileny adresar c:\pokus s plnym pristupem,
> Local Share = True
> NetDir = c:\pokus
> Ostatni pocit. sdileny adresar c:\pokus pripojen jako logicky disk H
> Local Share = True
> NetDir = h:\
>
> Na hlavnim pocitaci spustim aplikaci. Kdyz ji pak spustim na jinem nahlasi
> mi tuto chybu
>
> Directory is controlled by other .NET file.
> Directory c:\pokus
> File h:\pdoxusrs.lck
>
> Co mam kde spatne nastaveny, ze muze pracovat jen jeden ?
>
> Diky Milan

Nezbyly Ti tam nejaky *.lck soubory, od nejakyho jinyho nastaveni netdir.
Jestli jo, tak je smaz.

Petr


--
Petr Kristan

EPOS PRO s.r.o., Bozeny Nemcove 23 24, 530 02 Pardubice
tel./fax: (040)6335223-4, e-mail: epos(zv)pce.fairnet(tec)cz


inv string

[*] Lubo Fule <fule(zv)sct.sk> - 22.7.1998 09:25:42

Ani toto nebude fungovat vzdy spravne. Bude to fungovat len v pripade, ze
budes pouzivat staru implementaciu string-ov (myslim, ze sa to da zapnut v
nastaveni kompilatora), ktora je implementovana tak, ze na nultom byte
(s[0]) retazca sa nachadza jeho dlzka. Takato implementacia obmedzuje
velkost retazca na 255 znakov. V 32-bitovom Delphi su uz retazce
implementovane tak ako v C, teda nulty byte obsahuje prvy platny znak
retazca a retazec sa konci znakom #0. Takato implementacia neobmedzuje
velkost retazca. Delphi sa automaticky stara o alokovanie resp. uvolnovanie
pamate pre typ string.

-----Original Message-----
From: Marian Cipka [mailto:Cipy(zv)army.sk]
Sent: Wednesday, July 22, 1998 8:46 AM
To: DELPHI Distribution List
Subject: Re: inv string


Ospravedlnujem sa za 16-bit. assembler. Procedura, ktoru som poslal bola
skutocne v D2 nepouzitelna.
Ja som si ju napisal pre Turbo Pascal a fungovalo to aj v D1. D2 pouzivam od
februara 98 a zatial som
tuto rutinu nepotreboval. Dakujem za upozornenie o chybe pri preklade.
Neskor by som to zistil aj sam.
Preto som skusil pouzit 32-bit. registre (prvy krat v mojej praxi - to som
sa v skole neucil), odskusal
som to a funguje to. Slava !!!

procedure StrReverse (var Str: String); assembler;
asm
PUSH DS
MOV EDI,EAX
MOV CL,[EDI]
XOR CH,CH
JCXZ (zv)(zv)2
MOV SI,DI
ADD DI,CX
INC SI
SHR CL,1
(zv)(zv)1: MOV AL,[ESI]
MOV AH,[EDI]
MOV [EDI],AL
MOV [ESI],AH
INC SI
DEC DI
LOOP (zv)(zv)1
(zv)(zv)2: POP DS
end;

Marian Cipka


inv string

[*] Lubo Fule <fule(zv)sct.sk> - 22.7.1998 09:27:52

Mala tech. pripomienka k assembleru. Aj registre EDI a ESI (DI, SI) je
potrebne v D/32 zazalohovat. (PUSH ... POP ...)

-----Original Message-----
From: Marian Cipka [mailto:Cipy(zv)army.sk]
Sent: Wednesday, July 22, 1998 8:46 AM
To: DELPHI Distribution List
Subject: Re: inv string


Ospravedlnujem sa za 16-bit. assembler. Procedura, ktoru som poslal bola
skutocne v D2 nepouzitelna.
Ja som si ju napisal pre Turbo Pascal a fungovalo to aj v D1. D2 pouzivam od
februara 98 a zatial som
tuto rutinu nepotreboval. Dakujem za upozornenie o chybe pri preklade.
Neskor by som to zistil aj sam.
Preto som skusil pouzit 32-bit. registre (prvy krat v mojej praxi - to som
sa v skole neucil), odskusal
som to a funguje to. Slava !!!

procedure StrReverse (var Str: String); assembler;
asm
PUSH DS
MOV EDI,EAX
MOV CL,[EDI]
XOR CH,CH
JCXZ (zv)(zv)2
MOV SI,DI
ADD DI,CX
INC SI
SHR CL,1
(zv)(zv)1: MOV AL,[ESI]
MOV AH,[EDI]
MOV [EDI],AL
MOV [ESI],AH
INC SI
DEC DI
LOOP (zv)(zv)1
(zv)(zv)2: POP DS
end;

Marian Cipka


Komponenta

[*] Greissler Ronald <greissler(zv)cbnet(tec)cz> - 22.7.1998 09:41:57

Pokud nenaleznes vhodnou komponentu, da se to resit i prepisem udalosti
OnDrawPanel.
Napr. takhle:

{Prekresleni status-baru}
procedure TfrmPokus.sbChyboveZpravyDrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
If (Panel.Index=0) then //pro prvni panel
with StatusBar.Canvas do
begin
if FKodChyboveZpravy>1000 then Brush.Color:=clRed
else Brush.Color:=clNavy;
FillRect(Rect);
Font.Color:=clWhite;
Font.Style:=[fsBold];
TextOut(Rect.left+3, Rect.top+1, TextChyboveZpravy(FKodChyboveZpravy));
//vypsat zpravu
end else inherited; //standardni postup
end;

Rony
/*********************/
GREISSLER(zv)CBNET.CZ
Prerov
/*********************/

> -----P�vodn� zpr�va-----
> Od: MJsoft [SMTP:MJsoft(zv)rychnov(tec)cz]
> Odesl�no: 21. �ervence 1998 12:49
> Komu: Delphi Pinknet
> P�edm�t: Komponenta
>
> Zdar DF
>
> Nemel by jste nekdo komponentu jako je TStatusBar s tim rozdilem, ze by
> na StatusPanelu mohli byt dva texty jinym pismem (stacilo by jeden text
> tucny a druhy obycejny). Nemam cas si ji naprogramovat.
>
> Diky
>
>
> MJ soft
> Jelen Jindrich ml.

DiskFree na UNC jmeno

[*] Miloslav Skacel <skacel(zv)kjsoft(tec)cz> - 22.7.1998 09:49:24

Ahoj,

BOOL GetDiskFreeSpace(
LPCTSTR lpRootPathName, // address of root path
LPDWORD lpSectorsPerCluster, // address of sectors per cluster
LPDWORD lpBytesPerSector, // address of bytes per sector
LPDWORD lpNumberOfFreeClusters, // address of number of free clusters
LPDWORD lpTotalNumberOfClusters // address of total number of clusters
);

Ale pozor: funkce vraci spravne hodnoty 's x% pravdepodopnosti, x<100':))

The GetDiskFreeSpace function returns __incorrect values for volumes that
are larger than 2 gigabytes__. The function caps the values stored into
*lpNumberOfFreeClusters and *lpTotalNumberOfClusters so as to never report
volume sizes that are greater than 2 gigabytes.
__Even on volumes that are smaller than 2 gigabytes, the values stored into
*lpSectorsPerCluster, *lpNumberOfFreeClusters, and *
lpTotalNumberOfClusters values __may be incorrect__. That is because the
operating system manipulates the values so that computations with them yield
the correct volume size.

Windows 95 OSR 2: The GetDiskFreeSpaceEx function is available on Windows 95
systems beginning with OEM Service Release 2 (OSR 2). The GetDiskFreeSpaceEx
function returns correct values for all volumes, including those that are
greater than 2 gigabytes.

S pozdravem,
Miloslav Skacel
skacel(zv)kjsoft(tec)cz
http://www.kjsoft(tec)cz


P�edm�t: DiskFree na UNC jmeno


DDV,
tema zde jiz bylo, ale nenasel jsem na nej zadnou odpoved.

inv string

[*] Marian Cipka <Cipy(zv)army.sk> - 22.7.1998 10:06:45

Lubo Fule wrote:

> Ani toto nebude fungovat vzdy spravne. Bude to fungovat len v pripade, ze
> budes pouzivat staru implementaciu string-ov (myslim, ze sa to da zapnut v
> nastaveni kompilatora), ktora je implementovana tak, ze na nultom byte
> (s[0]) retazca sa nachadza jeho dlzka. Takato implementacia obmedzuje
> velkost retazca na 255 znakov. V 32-bitovom Delphi su uz retazce
> implementovane tak ako v C, teda nulty byte obsahuje prvy platny znak
> retazca a retazec sa konci znakom #0. Takato implementacia neobmedzuje
> velkost retazca. Delphi sa automaticky stara o alokovanie resp. uvolnovanie
> pamate pre typ string.
>
> procedure StrReverse (var Str: String); assembler;
> asm
> PUSH DS
> MOV EDI,EAX
> MOV CL,[EDI]
> XOR CH,CH
> JCXZ (zv)(zv)2
> MOV SI,DI
> ADD DI,CX
> INC SI
> SHR CL,1
> (zv)(zv)1: MOV AL,[ESI]
> MOV AH,[EDI]
> MOV [EDI],AL
> MOV [ESI],AH
> INC SI
> DEC DI
> LOOP (zv)(zv)1
> (zv)(zv)2: POP DS
> end;
>
> Marian Cipka

Ano, suhlasim. Je to pravda. Neuvedomil som si to, pretoze po preneseni
zdrojakov
z TP a D1 (kde som pouzival String[255] a pouzivam stale) som volbu HUGE STRINGS

v Project options/Compiler vypol. Ked budem mat cas (dnes uz nie) pozriem sa na
to.

Diky za upozornenie, ahoj.

Marian Cipka


TUpdateSQL

[*] Greissler Ronald <greissler(zv)cbnet(tec)cz> - 22.7.1998 10:14:40

To je zvlastni. Me to funguje bez problemu (pracuji v D3, ale nad MSSQL, ale
myslim, ze to je jedno).

Mejme jednoduchy dotaz:
select * from P1 P join P2 Q
on (P.ID1=Q.ID2)

v Query1 a mejme UpdateSQL1 s nastavenym ModifySQL ve tvaru:

update P2
set NECO=:NECO
where ID2=:OLD_ID2
update P1
set NECOJINEHO=:NECOJINEHO
where ID1=:OLD_ID1

a po ApplyUpdates a Commitu mi to normalne proslo vse OK. Takze:

> Lze do ModifySQL vubec pridat druhy prikaz ?

odpovidam ANO!

Rony
/*********************/
GREISSLER(zv)CBNET.CZ
Prerov
/*********************/

> -----P�vodn� zpr�va-----
> Od: Jaroslav KULHEIM [SMTP:kulheim(zv)fp-brno(tec)cz]
> Odesl�no: 20. �ervence 1998 23:42
> Komu: DELPHI Distribution List
> P�edm�t: TUpdateSQL
>
> Dobry den,
> asi mam zacatecnicky dotaz, ale uz nevim jak dal :
>
> Mam dve tabulky spojene pres JOIN. K jejich zobrazeni pouzivam
> TQuery ( v poradku) a k ulozeni jsem zvolil TUpdateSQL. Jenze do ModifySQL
> (vlastnost
> TUpdateSQL) potrebuji dat prikaz UPDATE 2x (pro kazdou tabulku zvlast), ale
> hlasi
> mi to chybu pri pridani druheho update. Lze do ModifySQL vubec pridat druhy
> prikaz ?
> Nebo se tato situace resi uplne jinak ?
>
> Zkousel jsem pridavat EXEC SQL, stredniky za prikazy ale bezuspesne.
>
> INTERBASE 4.2, D3
>
> Dekuji,
> Jaroslav KULHEIM,
> kulheim(zv)fp-brno(tec)cz
>

SN harddisku v Delphi 1

[*] Marian Cipka <Cipy(zv)army.sk> - 22.7.1998 10:22:38

[P��loha v souboru: Work.zip]
Niekedy davnejsie som si napisal assemblerovsky unit pre Turbo Pascal, ktory to cislo zistil. Myslim, ze ked som pouzival D1, moj kolega to vyuzil.
Teraz mame D2 a Win NT a v tom je problem. On tvrdi, ze to sposobuju NT. Preto ak mas W95 vyskusaj to a posli spravu ako to funguje.
Posielam Ti asm zdrojak (tiez aj prelozeny ako .OBJ), .PAS unit a delphacky unit + form.

Vyskusaj to a daj mi vediet, ahoj.

Marian Cipka


PageControl

[*] Greissler Ronald <greissler(zv)cbnet(tec)cz> - 22.7.1998 10:23:27

Musis si to rucne napsat. Napr. v FormKeyDown (nezapomen na KeyPreview).

Maly priklad na prepinani pomoci Ctrl+1 az Ctrl+9
procedure TfrmRecepty.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
If (ssCtrl in Shift) and (Key in [ord('1')..ord('9')]) and
(pageControl1.PageCount > (Key-ord('0'))) then
begin
pageControl1.ActivePage:=pageControl1.Pages[Key-ord('0')-1];
end;
inherited;
end;

Rony
/*********************/
GREISSLER(zv)CBNET.CZ
Prerov
/*********************/

> -----P�vodn� zpr�va-----
> Od: Mirek �ipel [SMTP:miroslav.cipel(zv)oku-tu(tec)cz]
> Odesl�no: 21. �ervence 1998 8:59
> Komu: DELPHI Distribution List
> P�edm�t: PageControl
>
>
> Nevite prosim nekdo jak v PageControl prepinat jednotlive TabSheety pomoci
> klavesovych zkratek ALT+neco. Kdyz v Caption TabSheetu pouziju &neco
> (podobne jako v menu) tak jednotliva pismena v nazvech jsou sice podtrzena
> ale na
> stisk klaves nereaguji.
>
> Diky
>
> M.
>

inv string

[*] Lubo Fule <fule(zv)sct.sk> - 22.7.1998 10:47:22

Ja som to napisal takto a funguje to:

procedure StrReverse (Str: String); assembler; register;
asm
PUSH ESI
PUSH EDI
CLD
MOV EDI,EAX
MOV ESI,EAX //zaciatok
MOV ECX,0FFFFFFFFH
XOR AL,AL
REPNE SCASB //hlada koniec
MOV EAX,0FFFFFFFEH
SUB EAX,ECX //EAX = dlzka retazca
MOV CX,2
XOR DX,DX
IDIV CX
XOR ECX,ECX
MOV ECX,EAX
jcxz (zv)(zv)2
SUB EDI,2 //koniec
(zv)(zv)1:
MOV AL, [EDI]
XCHG AL, [ESI]
MOV [EDI], AL
INC ESI
DEC EDI
LOOP (zv)(zv)1
(zv)(zv)2:
POP EDI
POP ESI
end;

Mozno by sa to dalo nejako zoptimalizovat, nemam manual k assembleru, takze
som lovil v pamati. Uz som dost davno v assembleri neprogramoval.
Bolo by treba este naimplementovat to aj Tvojim sposobom pre pripad, ze je
vypnute Huge Strings a urobit podmieneny preklad.

-----Original Message-----
From: Marian Cipka [mailto:Cipy(zv)army.sk]
Sent: Wednesday, July 22, 1998 10:07 AM
To: DELPHI Distribution List
Subject: Re: inv string


Lubo Fule wrote:

> Ani toto nebude fungovat vzdy spravne. Bude to fungovat len v pripade, ze
> budes pouzivat staru implementaciu string-ov (myslim, ze sa to da zapnut v
> nastaveni kompilatora), ktora je implementovana tak, ze na nultom byte
> (s[0]) retazca sa nachadza jeho dlzka. Takato implementacia obmedzuje
> velkost retazca na 255 znakov. V 32-bitovom Delphi su uz retazce
> implementovane tak ako v C, teda nulty byte obsahuje prvy platny znak
> retazca a retazec sa konci znakom #0. Takato implementacia neobmedzuje
> velkost retazca. Delphi sa automaticky stara o alokovanie resp.
uvolnovanie
> pamate pre typ string.
>
> procedure StrReverse (var Str: String); assembler;
> asm
> PUSH DS
> MOV EDI,EAX
> MOV CL,[EDI]
> XOR CH,CH
> JCXZ (zv)(zv)2
> MOV SI,DI
> ADD DI,CX
> INC SI
> SHR CL,1
> (zv)(zv)1: MOV AL,[ESI]
> MOV AH,[EDI]
> MOV [EDI],AL
> MOV [ESI],AH
> INC SI
> DEC DI
> LOOP (zv)(zv)1
> (zv)(zv)2: POP DS
> end;
>
> Marian Cipka

Ano, suhlasim. Je to pravda. Neuvedomil som si to, pretoze po preneseni
zdrojakov
z TP a D1 (kde som pouzival String[255] a pouzivam stale) som volbu HUGE
STRINGS

v Project options/Compiler vypol. Ked budem mat cas (dnes uz nie) pozriem sa
na
to.

Diky za upozornenie, ahoj.

Marian Cipka


Poskozovani Paradox tabulek

[*] Martin Nedopil <nedopil(zv)eskon(tec)cz> - 22.7.1998 10:51:56

Pratele,

prave se mi podarilo nahrat na ftp.mlp(tec)cz do adresare
/d/pub/misc/delphi/konference
/d1/database/xbase

* Instalation notes on NET 2.zip

Tento soubor hlavni priciny padani DB tabulek pod Win a jak na ne

* Paradox Stream.zip

Tento stream umi nacitat DB soubory a prochazet zaznamy bez BDE. Jen cist !

Budu rad, kdyz vam tyto soubory pomuzou, pripadne jeste radsi, kdyz se najde
nekdo, kdo bude mit zajem je vyvijet se mnou.

Dale bych chtel poprosit spravce tohoto ftp:
* nemohu se pripojit pres IE 4.0, hlasi mi to prilis mnoho anonymous
* je tam soubor Instalation notes on NET.zip velikost 512b. Tento prosim
smazat,
nevim, jak to, ale nepovedlo se to prenest cele a pak uz to neslo smazat.
Dekuji.


Martin Nedopil
nedopil(zv)geocities.com
Delphi kitchen�: http://www.geocities.com/Athens/Olympus/5260

Zruseni Delete v TTable

[*] Pavel Kral <kral(zv)afx(tec)cz> - 22.7.1998 11:06:38

Ahoj lidi,
poradte, prosim, potreboval bych odchytit udalost v TTable pri Delete
(to neni problem), ale potom ten prikaz delete zrusit (tj. zachovat zaznam).
Jak na to? Metoda Cancel nefunguje. Mohl bych odchytavat stisk
Ctrl+Delete v DBGridu, ale nejak se mi to nezda ono. Je nejake
elegantni reseni?

D3, lokalni paradox tabulky.

Diky za namety,

Pavel Kral, AFX

BDE !!??

[*] MJsoft <MJsoft(zv)rychnov(tec)cz> - 22.7.1998 11:20:33

Jeste jednou se musim vratit k tomuto tematu se spomalenim u prvni zmeny
v datech. Souhlasim s nazorem ze pri pridani prvniho zaznamu se dotahne
zbytek dat. Je to tak. Proto jsem zkousel (zkousel jsem to u zmeny a ne
pridani noveho zaznamu) tak, ze jsem vytvoril za behu Query a prez ExecSQL
jsem poslal na InterBase klasicky "update ... ". To by samo o sobe bylo
hned, jenze ..... musim udelat refresh (Close Open) a pri tomto manevru
se to chvilku zdrzi. Nicmene je prvni zaznam namisto predchozi metody
ulozen asi za 1sec, pred tim to byly sec 4. Dalsi zaznamy jsou pak ale
taky 1sec, coz samozrejme po natazeni do pameti klasickym zpusobem
bylo hned. Ale zasadni problem je v tom ze to s datami v DBGridu
cukne, a protoze jsem to zkousel na dvojklik jako oznaceni zaznamu
krizkem tak je to o nicem.

Jin

----------
> Odes�latel: �ke��k Jaroslav <jaro(zv)zbk(tec)czn(tec)cz>
> Komu: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
> P�edm�t: Re: BDE !!??
> Datum: 20. �ervence 1998 15:50
>
> Autocommit ridi automaticky transakci na urovni jednoho zaznamu.
> Provadi tedy skryte "commit" pro kazdy zaznam (post). Tim muze dojit
> ke znacnemu spomaleni v pripade hromadneho ukladani dat.
> Jestlize vsak autocommit vypnes, pak pri post nebude zaznam fyzicky
ulozen
> (resp. potvrzen v pripade servru) a predpoklada se, ze se o to postaras
sam
> v mistech,
> kde je to z hlediska rychlosti efektivnejsi.
> Podle me zkusenosti je vhodnejsi ponechat nastaveni SQLPassthru mode na
> AUTOCOMMIT, protoze tento stav lze jednoduse vypnout i programove.
> V mistech, kdy jde o hromadne zadani dat nebo kde je to z ruznych
> duvodu zadouci pouzij konstrukci:
>
> Data1.Database1.StartTransaction;
> try
> // .... ulozeni dat tabuky na server pole potreby napr:
> Data1.Query1.ApplyUpdates;
> Data1.Query.CommitUpdates;
> // ..... nebo i jinak provest hromadnou aktualizaci dat
> Data1.Database1.Commit;
> except
> Data1.Database1.Rollback;
> Application.MessageBox('Nepodarilo ulozit.', 'Informace ...', MB_OK +
> MB_ICONINFORMATION);
> Exit;
> end;
>
> Tim je autocommit vyrazen a uplatni se pouze ve vsech ostatnich
pripadech.
>
> Ta delsi prodleva pri ulozeni prvniho zaznamu spociva v necm jinem.
> Pri otevrni Tquery se na dataset nenatahne cely obsah dat ze serveru, ale
> pouze urcity pocet zaznamu odpovidajici velikosti nastaveneho bufferu.
> Tim dojde ke znacnemu zrychleni operace Open u vetsich objemu dat.
> Pri ulozeni prvniho zaznamu vsak dojde k dotazeni zbyleho mnozstvi dat do
> DataSetu (TQuery). Ukladani dalsiho zaznamu je uz rychle, protoze
> data jsou uz nactena vsechna. Zatim jsem neobjevil rozumny zpusob
> jak tomuto efektu zabranit, krome dusledneho vytvareni dotazu s malym
> objemem dat na klienta.
>
> Jaro.
> -----------------------------------------------
>
> >Zdravim
> >-----------
> > Mel bych mensi dotaz. Mam vetsi aplikaci napsanou v Delphi3 na
dbServru
> >Interbase5. Ze zacatku jsem mel problem s rychkosti pri spusteni
aplikace a
> >prvnim pridani zaznamu. Pozdeji jsem zjistil, ze kdyz nastavim v BDE
> >SQLPassthru mode na NOAUTOCOMMIT (misto AUTOCOMMIT), tak se prida zaznam
> >okamzite. Ale kdyz ho chci ulozit tak mu to trva delsi dobu. Pokud
pridavam
> >dalsi zaznami uz je to v pohode. Testoval jsem to i na malinke aplikaci,
> >kde bzl jen jeden Query ,DataSource a DBGrid. Chova se to uplne stejne.
> >Rekl bych ze to je kvuli BDE. Ma s tim nekdo zkusenosti? Predem diky za
> >odpovedi.
> >
> >
> >MJ soft
> >Jelen Jindrich ml.

Dotaz na typ formulare

[*] Franta <macala(zv)praktik(tec)cz> - 22.7.1998 11:46:12




ahoj vsem,

mam problem z tvorbou formularu. V prostredi jsem si vytvoril formular, ktery jsem normalne pouzival. Potreboval jsem ho ale nutne zmenit na formular modalni. Tudiz jsem chtel pouze prepsat

MForm = class(TForm) na TForm8 = class(TModalForm)

Tento typ jsem nasel v MISTROVSTVI v DELPHI.

V Delphi 3 jsem vsak tento typ nenasel, tudiy jsem chtel pouzit TCUSTOMFORM. Tomu vsak chybi hodne vlastnosti, tudiz se muj formular neotevre.
Takze nevim jak dal, a prosim o radu.

diky Franta
macala(zv)praktik(tec)cz

NetBEUI

[*] Bielik Marian <bielik(zv)basl.sk> - 22.7.1998 12:19:35

Bohuzial o takom niecom nic neviem , ale staviam si akehosi UNIXoidneho
daemona pre
Windozy (TCPIP) ktory mi odpoveda na moje poziadavky.Zatial to vie iba
take veci ako
kto je prihlaseny,ip adresu , mac adresu , info o hardware a ine
srandy.
Uvazujem vsak , ze by som mohol generovat aj nejake messages.Prave pre
ten pripad , ze by som potreboval nejak ovplyvnit iny program.


Marian.

Ing. Miroslav Ond��ek wrote:

> Uz jsem to jednou zkousel a nic, tak to zkusim jeste jednou. Mam sanci
>
> poslat zpravu (klasickou Windows message) aplikaci, ktera je spustena
> na
> jinem pocitaci (WIN95, NetBEUI protokol) ? Na stanicich je spusten
> NetDDE.EXE. Staci mi odkazy na WWW. Anglictina no problem.
>
> Diky
>
> Ing. Miroslav Ond��ek
> Bonnel Technologie, s.r.o.
>
> E-mail: bonnel(zv)telecom(tec)cz
> http://www.bonnel-tech.com

Dotaz na typ formulare

[*] Dobromil Mal� <Dobromil.Maly(zv)rak.pr.ds.mfcr(tec)cz> - 22.7.1998 12:29:55


Formular preci muze zustat stejny.

napr
TMujForm=class(TForm)
bla bla bla
end;
var MujForm: TMujForm;

begin
MujForm:=TMujForm.Create(self);
Kod:=MujForm.ShowModal; { nebo jen MujForm.ShowModal )
MujForm.Free;
end;


----------
Od: Franta[SMTP:macala(zv)praktik(tec)cz]
Odesl�no: 22. �ervence 1998 11:46
Komu: 'DELPHI Distribution List'
P�edm�t: Dotaz na typ formulare



ahoj vsem,

mam problem z tvorbou formularu. V prostredi jsem si vytvoril formular, ktery jsem normalne pouzival. Potreboval jsem ho ale nutne zmenit na formular modalni. Tudiz jsem chtel pouze prepsat

MForm = class(TForm) na TForm8 = class(TModalForm)

Tento typ jsem nasel v MISTROVSTVI v DELPHI.

V Delphi 3 jsem vsak tento typ nenasel, tudiy jsem chtel pouzit TCUSTOMFORM. Tomu vsak chybi hodne vlastnosti, tudiz se muj formular neotevre.
Takze nevim jak dal, a prosim o radu.

diky Franta
macala(zv)praktik(tec)cz

Zruseni Delete v TTable

[*] Kovac Jan <kovac(zv)pvt.sk> - 22.7.1998 12:38:09

TDataSet ma udalost BeforeDelete, kde mozes urobit Abort a tym zabranis
zruseniu.

Pavel Kral wrote:

> Ahoj lidi,
> poradte, prosim, potreboval bych odchytit udalost v TTable pri Delete
> (to neni problem), ale potom ten prikaz delete zrusit (tj. zachovat
> zaznam).
> Jak na to? Metoda Cancel nefunguje. Mohl bych odchytavat stisk
> Ctrl+Delete v DBGridu, ale nejak se mi to nezda ono. Je nejake
> elegantni reseni?
>
> D3, lokalni paradox tabulky.
>
> Diky za namety,
>
> Pavel Kral, AFX

Coolbar, Toolbar

[*] Dobromil Mal� <Dobromil.Maly(zv)rak.pr.ds.mfcr(tec)cz> - 22.7.1998 12:40:23


Koupil jsem si knihu Mistrovstv� v Delphi pro Win95 a tam jsou priklady,
tak si to prostuduj a uvidis, j� na to jeste nekoukal.
Mel by jit norm�lne presunovat.
[[ MAPI 1.0 - z�sobn�k : 2585 v WINMAIL.DAT ]]

----------
Od: Jan nov�k[SMTP:csobta(zv)mbox.vol(tec)cz]
Odesl�no: 21. �ervence 1998 11:26
Komu: delphi(zv)pinknet(tec)cz
P�edm�t: Coolbar, Toolbar

Ahoj.
Nev�te n�kdo jak se d� za��dit, aby se Coolbarem nebo Toolbarem dalo
pohybovat, tak jak je tomu nap�. ve Wordu. (Co se mus� nastavit za
vlastnosti). Tj aby nebyl napevno nap�. p�i horn�m okraji.

D�k.

Zruseni Delete v TTable

[*] Lubo Fule <fule(zv)sct.sk> - 22.7.1998 12:45:50

Takto by to mohlo fungovat:

procedure TForm1.Table1BeforeDelete(DataSet: TDataSet);
begin
raise EAbort.Create('');
end;

-----Original Message-----
From: Pavel Kral [mailto:kral(zv)afx(tec)cz]
Sent: Wednesday, July 22, 1998 11:07 AM
To: DELPHI Distribution List
Subject: Zruseni Delete v TTable


Ahoj lidi,
poradte, prosim, potreboval bych odchytit udalost v TTable pri Delete
(to neni problem), ale potom ten prikaz delete zrusit (tj. zachovat zaznam).
Jak na to? Metoda Cancel nefunguje. Mohl bych odchytavat stisk
Ctrl+Delete v DBGridu, ale nejak se mi to nezda ono. Je nejake
elegantni reseni?

D3, lokalni paradox tabulky.

Diky za namety,

Pavel Kral, AFX

Dotaz na typ formulare

[*] Pavel Kral <kral(zv)afx(tec)cz> - 22.7.1998 12:47:15

Nestacilo by ponechat normalni formular a volat jej metodou ShowModal?

asi takto

if MyForm.ShowModal = mrOk then
{ tak skoncil tlacitkem OK }

Tlacitko OK musi mit prirazenu vlastnost ModalResult na mrOk, pri
stisku tlacitka neni treba volat metodu close, okno se zavre automaticky.

Proste TForm obsahuje vsechny vlastnosti nutne pro chovani jako modalni
dialog.

Treba to pomuze.
Pavel

-----Original Message-----
From: Franta <macala(zv)praktik(tec)cz>
To: 'DELPHI Distribution List' <delphi(zv)pinknet(tec)cz>
Date: 22. �ervence 1998 12:11
Subject: Dotaz na typ formulare

ahoj vsem,

mam problem z tvorbou formularu. V prostredi jsem si vytvoril formular,
ktery jsem normalne pouzival. Potreboval jsem ho ale nutne zmenit na
formular modalni. Tudiz jsem chtel pouze prepsat

MForm = class(TForm) na TForm8 = class(TModalForm)

Tento typ jsem nasel v MISTROVSTVI v DELPHI.

V Delphi 3 jsem vsak tento typ nenasel, tudiy jsem chtel pouzit TCUSTOMFORM.
Tomu vsak chybi hodne vlastnosti, tudiz se muj formular neotevre.
Takze nevim jak dal, a prosim o radu.

diky Franta
macala(zv)praktik(tec)cz


Zruseni Delete v TTable

[*] voltrr1.epr(zv)mail.cez(tec)cz - 22.7.1998 12:49:04

Nova zprava:
Pouzij prikaz Abort v BeforeDelete.Je to vyjimka ktera prerusi to
mazani.Radek Voltr
---------------------------------------------------------------
Puvodni zprava:
Ahoj lidi,
poradte, prosim, potreboval bych odchytit udalost v TTable pri Delete
(to neni problem), ale potom ten prikaz delete zrusit (tj. zachovat
zaznam).
Jak na to? Metoda Cancel nefunguje. Mohl bych odchytavat stisk
Ctrl+Delete v DBGridu, ale nejak se mi to nezda ono. Je nejake
elegantni reseni?
D3, lokalni paradox tabulky.
Diky za namety,
Pavel Kral, AFX

Zruseni Delete v TTable

[*] Petr Slovak <petr(zv)trilog(tec)cz> - 22.7.1998 12:54:03

> Ahoj lidi,
> poradte, prosim, potreboval bych odchytit udalost v TTable
> pri Delete
> (to neni problem), ale potom ten prikaz delete zrusit (tj.
> zachovat zaznam).
> Jak na to? Metoda Cancel nefunguje. Mohl bych odchytavat stisk
> Ctrl+Delete v DBGridu, ale nejak se mi to nezda ono. Je nejake
> elegantni reseni?

Do metody BeforeDelete dej prikaz Abort
Je to ticha exception, ktera ti nevyhodi zadnou hlasku, ale prerusi
akci. Plati to samozrejme obecne, nejen pro tento pripad.

ODBC a MS SQL was: Master-detail nad velkou tabulk

[*] Roman Fara <fara(zv)c3(tec)cz> - 22.7.1998 13:01:39

[P��loha v souboru: vcard.vcf]
Dobry den,
toto reseni jsme zatim odsunuli na jedno z nejposlednejsich mist nalezenych
reseni a to minimalne ze dvou duvodu:
1) Prepis cca. 500 ulozenych procedur
2) U nekterych parametru ma hodnota NULL skutecny logicky vyznam

Co se tyka rychlosti propojeni pres ODBC nebo SQL Links, neprovadeli jsme
zatim zadne zatezove testy. Protoze jsou tyto ODBC drivery optimalizovany na
vykon pro MS SQL, da se predpokladat, ze odezvy budou priblizne stejne. V
tomto zaveru mne utvrzuje i skutecnost, ze pred casem v teto nebo o MS SQL
serveru konferenci probehla diskuze na toto tema a dokonce spojeni pres BDE
verze XXX a ODBC driver pro MS SQL verze YYY bylo rychlejsi nez pres SQL
Links verze ZZZ.

Roman Fara
C3, spol. s r.o.

�ke��k Jaroslav wrote:

> Vyzkousej nastaveni vychozi hodnoty pro parametr, aby nemohl nabyvat
> nikdy hodnotu Null. Jinak to asi nepujde, protoze ovladac s touto honotou
> zrejme neumi pracovat.
> Zajimalo by me, jestli pri napojeni pres ODBC je srovnatlna rychlost,
> resp. odezva ve srovnanim se SQL links.
> Jaro.
> --------------
>
> >Velmi pekne zdravim ucastniky konference, kteri pred tim vedrem
> >jeste neutekli a drsnacky sedi u pocitacu.
> >
> >V prispevcich k Master-detail nad velkou tabulkou jsme se pokouseli
> >vyresit nadbytecny fetch vet na klienta, o ktere nikdo nestoji.
> >Deje se tak pri pripojeni pres BDE-SQL links-MS SQL Server, tedy pres
> >nativni driver k MS SQL.
> >
> >Pri pokusu o pripojeni prostrednictvim ODBC se toto nestava a aplikace
> >pracuje tak, jak bych si predstavoval.
> >
> >Problem se objevi vsak jinde:
> >
> >K manipulaci s daty pouzivame ulozenych procedur, ktere vraci vystupni
> >parametry. Pokud nabyva nejaky vystupni parametr hodnoty null, objevi se
> >pri pokusu o provedeni ulozene procedury hlaska: "Indicator variable
> >required but not supplied".
> >
> >Vi, prosim, nekdo z ucastniku, co to znamena? Da se s tim neco delat
> >(jineho nez nevracet null)?
> >
> >Velmi pekne dekuji za kazdy byt zdanlive nesouvisejici napad.
> >
> > Zdravim, Pavel.
> >
> >
> >--
> >+---- Pavel Klimes ---- mailto:klimes(zv)c3(tec)cz ----+--- /""\ \ o | ---+
> >| C3, s.r.o. (Czech Card Centrum) | __) """ |
> >| Srobarova 32, Praha 10, Czech Republic | \/"""\ |
> >+---------------------- http://www.c3(tec)cz -------+--- \____/ / ---+

Reset?

[*] Kovac Jan <kovac(zv)pvt.sk> - 22.7.1998 13:02:43

Neda sa po W95 vyvolat z Delphi programu (pripadne aj z ineho) restart
masiny?
Musi to ale byt nieco ako reset, nie shutdown, lebo ten sa na niektorych

programoch zastavi a ziada potvrdenie, save, atd.

Zruseni Delete v TTable

[*] Pavel Kral <kral(zv)afx(tec)cz> - 22.7.1998 13:30:46


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


>Skus Abort (namiesto Cancel).
>

To je presne ono, diky. Matne mi cosi utkvelo v pameti, ale
zadnou metodu Abort jsem nenasel. Ze je to procedura mne
vubec nenapadlo.
Jeste jednou diky

Pavel Kral


>M.T.
>
>>Ahoj lidi,
>>poradte, prosim, potreboval bych odchytit udalost v TTable pri Delete
>>(to neni problem), ale potom ten prikaz delete zrusit (tj. zachovat
>zaznam).

Coolbar, Toolbar

[*] Franta <macala(zv)praktik(tec)cz> - 22.7.1998 13:37:37


Ahoj.
Nev�te n�kdo jak se d� za��dit, aby se Coolbarem nebo Toolbarem dalo
pohybovat, tak jak je tomu nap�. ve Wordu. (Co se mus� nastavit za
vlastnosti). Tj aby nebyl napevno nap�. p�i horn�m okraji.

D�k. staci dat u tehto komponent vlastnost ALIGN = none a lze s temito komponentami pohybovat.

ahoj Franta
macala(zv)praktik(tec)cz

TDBEdit

[*] petr.z(zv)usa(tec)net - 22.7.1998 13:45:27

Ahoj lidi, mam tento mensi problem:

Na MS SQL Serveru mam v tabulce definovany sloupec typu Numeric 18,2

Ten je na formulari napojeny na TDBEdit

Pokud do nej zapisi nektera cisla napr.: 10.45 (20.45 ...), tak se
pri prechodu na dalsi edit toto cislo samo zmeni na 10.4499 (20.4499).
Na tento edit ani na nic dalsiho nejsou napojene zadne udalosti apod.

(Deje se to i pro nektera dalsi cisla, ale na ty si ted nevzpominam)

Nevite nekdo cim to je zpusobeno, pripadne jak to odstranit ?

D2 C/S, BDE 4.51, MS SQL Server 6.5

Diky Petr


____________________________________________________________________
Get free e-mail and a permanent address at http://www.netaddress.com/?N=1


Formatovany text

[*] Kallab <dkallab(zv)scova.vabo(tec)cz> - 22.7.1998 14:15:20

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

Pratele,

potrebuji do databaze dostat text z Wordu s ruznymi typy pismem a barev (bez grafiky). At delam, co delam vzdy se mi text prevede na predem definovany typ. Existuje cesta v D1 nedo v D3? Jak?
diky David KALLAB, MLL Brno, dkallab(zv)scova.vabo(tec)cz

Internal Error C1376 (co to je???)

[*] Martin Fr�hlich <unites(zv)telecom(tec)cz> - 22.7.1998 14:16:33

Zdravim

>>
>> Mam rozpracovany program a po pripsani nekolika malo radku do zdrojoveho
>> textu mi to
>> pri prekladu zacalo hlasit "Internal Error C1376" na radku s prikazem
>> "end;". Zadna
>> zjevna ani skryta syntakticka chyba tam neni.
>
>Ahoj,
>
> neprojevuje se ti to nahodou v Delphi 2.0 ? Me se stavalo presne totez,
> stacilo ale jen neco upravit ve zdrojaku a dat Build All a zmizelo to ...
>

Ne je to v Delphi 3. A upravy zdrojaku a nasledny Build All nepomahaji.
Pomohlo mi pred proceduru ve ktere to vypadne dat {$o-} a po end procedury
dat {$o+}
ale vypinani optimalizace kodu neni podle meho nazoru nejlepsi reseni, kdyz
potrebuji aby to rychle bezelo.> Petr Vones, amatersky programator

Martin Frohlich
UNITES
------------
E-mail: unites(zv)telecom(tec)cz


Velikost a poloha komponent - oprava

[*] Miroslav Mare� <sctsoftmaker(zv)unl.pvtnet(tec)cz> - 22.7.1998 14:39:31

Nemate nekdo vice takovyhle mene dokumentovanych konstant, jako je tady "sc_dragmove"?
Docela by se mi to hodilo.

Predem diky

Miroslav Mares

-----Puvodni zprava-----
Od: Petr Brant [SMTP:pbrant(zv)softhome.net]
Odeslano: 15. eervence 1998 12:01
Komu: 'Konference Delphi'
Poedmit: FW: Velikost a poloha komponent - oprava

Napriklad pohyb EditBoxem:

procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
sc_dragmove = $f012;

begin
releaseCapture;
edit1.perform(wm_syscommand,sc_dragmove, 0);
end;

(To nemam ze sebe, myslim, ze jsem to opsal od "amatera" p. Vonese)

*************************************************************************
Petr Brant [pbrant(zv)softhome.net]
programator v MSVC++, obcas Delphi nebo Visual Basic
*************************************************************************

Zruseni Delete v TTable

[*] Pavel Kral <kral(zv)afx(tec)cz> - 22.7.1998 14:58:39

Dekuji vsem, procedura Abort to resi dobre.
Pavel

DBMaskEdit

[*] Dobromil Mal� <Dobromil.Maly(zv)rak.pr.ds.mfcr(tec)cz> - 22.7.1998 15:41:10


Nemate, prosim, nekdo komponentu DBMaskEdit ? (nebo jak by se mohla jmenovat)

Dobromil Maly
mailto:dodo(zv)rak.pr.ds.mfcr(tec)cz

Prikazem win se nespousti nic jineho, nez emulator 8086.

<none>

[*] Kelle Ondrej <Kelleon(zv)nnsk.sk> - 22.7.1998 15:54:17

pozri si TTable.FieldDefs a TTable.IndexDefs

Ondrej Kelle
kelleon(zv)nnsk.sk

> -----Original Message-----
> From: Jan Nov�k [SMTP:csobta(zv)mbox.vol(tec)cz]
> Sent: Tuesday, July 21, 1998 2:26 PM
> To: Delphi
> Subject: <none>
>
> Ahoj lidi.
> Nev� n�kdo jak se vytiskne struktura tabulky Paradoxu.
> D�k


Dotaz na typ formulare

[*] Franta <macala(zv)praktik(tec)cz> - 22.7.1998 16:05:43



Nize uvedeny postup jsem vyskousel na svem formulari, vytvorenem v prostredi, ale vysledek je vzdy stejny, a konci hlaskou
"CANNOT MAKE A VISIBLE MODAL"
Pokud vsak nize uvedenym postupem vytvorim prazdny formular za chodu programu, vse je v poradku.

Pokud nekdo vi jeste o jinem postupu pro formular vytvoreni v prostredi,prosim o odpoved.

diky Franta
macala(zv)praktik(tec)cz

----------------------------------------------------------------------------------------------------------------
Formular preci muze zustat stejny.

napr
TMujForm=class(TForm)
bla bla bla
end;
var MujForm: TMujForm;

begin
MujForm:=TMujForm.Create(self);
Kod:=MujForm.ShowModal; { nebo jen MujForm.ShowModal )
MujForm.Free;
end;

<none>

[*] Dobromil Mal� <Dobromil.Maly(zv)rak.pr.ds.mfcr(tec)cz> - 22.7.1998 16:09:38


Napis si program

with Table1 do
begin
if TableType=ttParadox then
for I:=1 to FieldCount do
begin
WriteLn(Fields[I].FieldName,' : ',Fields[I].DataType,' : ',Fields[I].DataSize);
{ale DataType asi bude treba prevest na string, aby to melo smysl}
end;
end;

----------
Od: Jan Nov�k[SMTP:csobta(zv)mbox.vol(tec)cz]
Odesl�no: 21. �ervence 1998 14:26
Komu: Delphi
P�edm�t: <none>

Ahoj lidi.
Nev� n�kdo jak se vytiskne struktura tabulky Paradoxu.
D�k


<none>

[*] Kallab <dkallab(zv)scova.vabo(tec)cz> - 22.7.1998 16:24:14

[P��loha v souboru: Bdeprt.zip]
Toto je zpr�va ve form�tu MIME obsahuj�c�n�kolik ��st�.

Existuje Servisni CD ATIX 1 (sveho casu na www.atix(tec)cz ), na kterem jsou
ruzne utility mj. i pro delfinky. Seznam techto utilit je prilozen stejne
jako shareware BDEPRT.ZIP. Nic moc, ale chodi se, zalezi jake mas pozadavky.

David KALLAB, MLL Brno


-----P�vodn� zpr�va-----
Od: Jan Nov�k <csobta(zv)mbox.vol(tec)cz>
Komu: Delphi <delphi(zv)pinknet(tec)cz>
Datum: 22. �ervence 1998 15:52
P�edm�t: <none>>Ahoj lidi.
>Nev� n�kdo jak se vytiskne struktura tabulky Paradoxu.
>D�k
>

-------------------------------------------------------------------------------
Oblast: Delphi\Ruzne
Delphi shareware, freeware a priklady
-------------------------------------------------------------------------------
Nazev souboru Velikost Popis
------------ ----- --------- --------------------------------------------------
76GLYPHS.ZIP 24K Kolekce bitmap - "glyphs" k pouziti v apl. Delphi
ABOUT2.ZIP 4K Modifikovana komponenta "about box"
ABOUTD.ZIP 4K Komponenta "About dialog" zahrnujici informaci o zdroji
ABOUTDLG.ZIP 5K Komponenta AboutDlg (vytv��� vol�n� Win32 API ) pouze Delphi 2
ACCUM.ZIP 7K Akumiluje ordin�ln� hodnoty
ACC OBJ0.ZIP 16K P��klady objektu pristupujicich k souborum
ACGBTN.ZIP 9K Komponenta TBitBtn umoznujici zmenu barvy tlacitka
ADCAL115.ZIP 142K Komponenta Adrock Software Calendar Date Edit/Entry (shareware)
ADDALI.ZIP 8K Pridava Alias funkci
ADFRM100.ZIP 13K Prvek TAdrockFormPosition umoznujici ulozit rozmer a souradnice formulare (shareware)
ADGRD100.ZIP 15K Prvek TAdrockSaveGrid Control umoznujici ulozit uzivatelsky pohled DBgrid (shareware)
ADVGRID.ZIP 2K Vylepseny StringGrid (natazeni/ulozeni z/do souboru, atd)
ADVMENUS.ZIP 4K Komponenta umoznujici pristup k systemovemu menu
AFRICH.ZIP 2K Komponenta RichEdit pridavajici okraje pro tisk
AISINI.ZIP 6K Komponenta pridavajici WORK a PRIV databazi k Delphi a vraci cestu alias
ALIASMAN.ZIP 17K Moznost vytvaret a editovat BDE Alias
ALLFAQ.ZIP 59K Dotazy a odpovedi k Delph z fora CompuServe forum
ALPHABAR.ZIP 25K Panel znazornujici prubeh indexovani
ANIMAT16.ZIP 71K Komponenta pro jednoduchou animaci (nap�. explodujici text) pro Delphi 1.0
ANIMAT32.ZIP 71K Komponena pro jednoduchou animaci (nap�. explodujici text) pro Delphi 2.0
ANIMATE.ZIP 175K Zobrazuje jednoduche animace ve formulari
ANIPAL.EXE 19K Animace palety
ANIPANEL.ZIP 186K Komponenta zpristupnujici standardni Win95 animace pro Delphi 2.0
APNC01SW.ZIP 44K AppNetConnect v1.0. Automaticky refres tabulky - komponenta pro Delphi 1.x.
APPEX.ZIP 2K Log vyjimek aplikace
ARRAYS.ZIP 118K Unit dynamickych poli
ARROWBTN.ZIP 2K Tlacitko ve tvaru sipky
ASSERT.ZIP 2K Delphi verze C funkce assert()
AUTOFILL.ZIP 2K Auto fill Combo Box.
BACKUP.ZIP 23K Dialog box, ktery zalohuje soubory ze zdrojoveho do ciloveho adresare
BARSIZE.ZIP 4K Meni velikosti komponent na formulari
BASICS.ZIP 10K BASIC funkce v Turbo Pascal
BDEINFO.ZIP 1K Odvozeno z TTable, pridava vol�n� BDE info.
BDEPRT.ZIP 167K Tisk struktury BDE (shareware)
BEZIER02.ZIP 121K Unit Bezierovych krivek. S/wre
BIGTXT31.ZIP 119K Zobrazuje 32767 radku (kazdy 255 znaku ) textu v ruznych barvach
BLABEL10.ZIP 9K Blikajici komponenta Label
BLILAB11.ZIP 8K Vytvyri blikajici labely (shareware)
BMH111A.ZIP 6K Vyhledavaci algoritmus Boyer-Moore-Horspool
BMSCROLL.ZIP 10K Komponenta s rolujici bitmapou, zahrnujici podporu zvuku
BONANZA.ZIP 9K Komponenta minimum-maximum slider
BROWSEDR.ZIP 4K Komponenta pro vyber z adresare ve stylu Win95 pro Delphi 2.0
BTNPANL.ZIP 19K N�kolik komponent vcetne Multi-Form Property Editor, Shareware
BUTTER.ZIP 391K Motylova animace v Delphi
BUTTONA.ZIP 8K Pole tlacitek (2 komponenty)
CALC2.EXE 380K Ukazkovy kalkulator
CALCULAT.ZIP 3K Komponenta kalkulacka
CALL32NT.ZIP 22K Volani 32-bitoveho DLL z 16-bitoveho Delphi/TPW
CALPNL.ZIP 11K Pekna komponenta s kalendarovym panelem pro Delphi 1.0 & 2.0
CAPTURE.ZIP 4K Unit pro snimani obrazovky (shareware)
CASLOOK.ZIP 6K Derivace TTable pro kaskadove prohledavani Delphi 1.0 & 2.0
CATERM.ZIP 20K Modifikovana komponenta TComm - zahrnuje ukazkovy terminalovy program
CBPLUS.ZIP 106K Komponenty ComboBoxPlus a DBComboBoxPlus components. Delphi 1.x.
CBPLUS32.ZIP 108K Komponenty ComboBoxPlus a DBComboBoxPlus. Delphi 2
CELLIMAG.ZIP 3K TImage podporujici segmentovani obrazu do matice bunek
CFGED1.ZIP 113K Nahrada Win 3.1 SysEdit
CHRONO.ZIP 9K Komponenta davajici �as (v milisekundach) mezi Start-Stop procedury
CNTRPANL.ZIP 2K Centrovani Panelu komponent - Horizontalne centruje libovolnou komponentu panelu
COLCOMBO.ZIP 4K Komponenta TColorComboBox umoznujici vybrat barvu
COLRCAL.ZIP 8K Komponenta kalendar s vlastnosti CellColour pro kazdy sloupec a radek
COMBOBOX.ZIP 7K Combobox s vlastnostmi Quicken (shareware)
COMM32.ZIP 13K Komponenta demonstrujici kommunikace/threads. Delphi 2
COMMD.ZIP 9K TComm komponenta - zahrnuje dokumentaci
COMPCOLL.ZIP 29K Sezbira a vycisti ne-vizualni komponenty. Delphi 2
COMPRESS.ZIP 65K Komponenty TCompress komprimujici soubory a databaze v Delphi (Shareware)
CONSOLE.ZIP 18K Smeruje textovy I/O vystup do skrolovaneho okna, pro Delphi 1.0&2.0
CONTAIN.ZIP 31K Pravy kontajner pro potomky TObject
CONVERT.ZIP 118K Komponenta konvertujici hodnoty do zadaneho formatu
COOLBOX.ZIP 6K Vylepseny listbox
COOLCALC.ZIP 12K Kalkulacka se zavorkami
CREDSBOX.ZIP 16K Rolujici credits box (shareware)
CSV2.ZIP 7K Program (vcetne src) vytvarejici schema konverze ASCII->Databaze
CURREDIT.ZIP 3K Komponenta pro editovani hodnoty meny. Delphi 2
CWSPIN.ZIP 2K Datove citlivy prvek spin (src)
CXCPU.ZIP 3K Detekuje typ CPU
D2 COMP.ZIP 254K Detaily kompilatoru Delphi 2.0
DABTNS.ZIP 63K Datove zavisle komponenty od TechnoSoftu
DATEEDIT.ZIP 25K Date Edit pole s vyskakovacim kalendarem
DBASE3P.ZIP 106K Komponenta podporujici dBase III+
DBEXT32.ZIP 100K DBExtender pro Delphi 2
DBLISTIT.ZIP 14K Prvek vypisujici informace z datoveho zdroje
DBLUP2.ZIP 118K Prijemne vylepsena komponenta DBLookUpCombo, Delphi 1.x
DBVRTNAV.ZIP 17K Komponenta Vertical DBNavigator
DFM2TXT.ZIP 5K Konvertuje nasobne .DFM soubory do .TXT
DIALER20.ZIP 5K Komponenta pro vytaceni telefonu
DIALER32.ZIP 3K Vytaci telefon z aplikace Delphi 2.0
DIGITS16.ZIP 10K TDigits komponenta -graficky citac vy stylu car odometer Delphi 1.x
DIGITS32.ZIP 10K TDigits komponenta -graficky citac vy stylu car odometer Delphi 2
DIVIDER.ZIP 3K Komponenta Divider, kterou lze nastavit vertikalne nebo horizontalne
DOCKBAR.ZIP 70K Nice floating and dockable toolbar
DRBOBC.ZIP 33K Kolekce peknych freeware komponent od Dr. Bob
DROPPNL.ZIP 2K Panel jako cil presunu File Manageru
DTOPICSD.ZIP 623K Databaze problemu v Delphi - pozaduje DTOPICSP.ZIP
DTOPICSP.ZIP 453K Databazovy program DTopics
ECRYPT16.ZIP 3K Non-visualni komp. pro sifrovani/desifrovani retezcu, Delphi 1.x
ECRYPT32.ZIP 3K Non-visualni komp. pro sifrovani/desifrovani retezcu, Delphi 2.x
EDSSPELL.ZIP 326K Ed Speller (Shareware)
EXCEPT.ZIP 10K Komponenta k logovani vyjimek
EXDELPHI.ZIP 6K Spousti Delphi 1 na neklasterovanem desktopu
FDRAG10.ZIP 4K 02-07-96 Komponent akceptujici soubory pretazene z Exploreru
Delphi 2
TRIPLEX.EXE 905K Triplex: 9 expertu pro Borland Delphi 2/3 and C++
Builder. Obsahuje Resource Editor a Grep.
32-bitovy

Coolbar, Toolbar

[*] Michal Leinweber <M.Leinweber(zv)sh.cvut(tec)cz> - 22.7.1998 16:27:05

> Nev�te n�kdo jak se d� za��dit, aby se Coolbarem nebo Toolbarem dalo
> pohybovat, tak jak je tomu nap�. ve Wordu. (Co se mus� nastavit za
> vlastnosti). Tj aby nebyl napevno nap�. p�i horn�m okraji.

Toto je dalsi perfektni vlastnost v Delphi4. Kazda komponenta ma moznost
Drag & Dock. Tj, presne to co se pouziva v Officech - tj ToolBar sedi na
liste ale jakmile ho chytnete a vytahnete mimo tak se pro nej automaticky
vytvori okno. A kdyz to okno presunete spatky na listu tak se provede DOCK a
je zase na liste. Vsechno funguje skoro automaticky - staci to jen povolit.

McLEI


Reset?

[*] Dobromil Mal� <Dobromil.Maly(zv)rak.pr.ds.mfcr(tec)cz> - 22.7.1998 17:01:37

Pouzij Window API funkci=20

InitiateSystemShutdown(
LPTSTR lpMachineName, // address of name of computer to shut =
down =20
// NULL pokud m=E1 j=EDt o lok=E1ln=ED =
PC
LPTSTR lpMessage, // address of message to display in =
dialog box
=20
DWORD dwTimeout, // time to display dialog box=20
BOOL bForceAppsClosed, // force applications with unsaved =
changes flag=20
BOOL bRebootAfterShutdown // reboot flag=20
);


----------
Od: Kovac Jan[SMTP:kovac(zv)pvt.sk]
Odesl=E1no: 22. =E8ervence 1998 13:02
Komu: delphi(zv)pinknet(tec)cz
P=F8edm=ECt: Reset?

Neda sa po W95 vyvolat z Delphi programu (pripadne aj z ineho) restart
masiny?
Musi to ale byt nieco ako reset, nie shutdown, lebo ten sa na niektorych

programoch zastavi a ziada potvrdenie, save, atd.

Skryti taskbaru

[*] Jiri Sladek <chmelar(zv)oasanet(tec)cz> - 22.7.1998 18:05:27

Zdravim All, mam maly dotaz.

V programu mam formulare pres celou obrazovku, takze mi dole prekazi taskbar. Da se z delfackeho programu zaridit, abu se taskbar minimalizoval nebo soupnul dozadu ? A pri ukonceni programu se zase obnovil puvodni stav ?

Diky, Jirka.

Zastupci a vytaceni

[*] Luk� Veleck� - 22.7.1998 18:45:06


>Peter Rus wrote:
>>
>> Ahoj Delphici,
>>
>> jak subj. rika, resim dve veci -
>>
>> 1) Umisteni zastupce programu na plochu. Na to musi existovat nejaka
>> funkce. Jaka? Diky :-))).
>
>Ahoj,
>
>zastupci se vytvareji pomoci rozhrani IShellLink, na DSP je na to primo
>hotova komponenta: Delphi 2 -> Free InVisible Components -> SHELINK.ZIP
>
>Zatupce na plochu umistis tak ze si najdes adresar kde je umistena
"plocha",
>ten je v registru:
>
>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell
Folders
>
>v polozce Desktop. Taky by to melo jit zjistit pomoci
SHGetSpecialFolderLocation.
>
>> 2) Potreboval bych vytocit "telefonicke pripojeni site". Rekneme, ze mam
>> definovano pripojeni "Ahoj" - tzn. potrebuji spustit ten vytaceci dialog
>> (je tam jmeno, heslo, ...), pripadne mu tyto parametry predat.
>
>To je nejjednodusi udelat pomoci nejake hotove komponenty pro RAS, najdes
je na DSP:
>Delphi 3 -> Free Winsock and Communications -> DIALUP.ZIP, D_RAS.ZIP
>
> Petr Vones, amatersky programator
>


Taky by se mi neco takoveho hodilo - muzes uvest odkaz?
Diky
Lukas

Reset?

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.7.1998 18:50:34

Kovac Jan wrote:
>
> Neda sa po W95 vyvolat z Delphi programu (pripadne aj z ineho) restart
> masiny?
> Musi to ale byt nieco ako reset, nie shutdown, lebo ten sa na niektorych
>
> programoch zastavi a ziada potvrdenie, save, atd.

Ahoj,

No to je snad spravne ze shutdown se pta vsech aplikaci jestli se mohou
ukoncit, predstav si ze budes delat v pulce behu Windows reset. To neni
asi dvakrat korektni. Pokud mas OSR2 tak se ti aspon po startu spusti
v pripade krachu systemu ScanDisk, ale jinak si to musis hlidat sam.

Petr Vones, amatersky programator

inv string

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.7.1998 18:56:59

Lubo Fule wrote:
> velkost retazca na 255 znakov. V 32-bitovom Delphi su uz retazce
> implementovane tak ako v C, teda nulty byte obsahuje prvy platny znak
> retazca a retazec sa konci znakom #0. Takato implementacia neobmedzuje
> velkost retazca. Delphi sa automaticky stara o alokovanie resp. uvolnovanie
> pamate pre typ string.

Ahoj,

jeste bych to doplnil ze stringy jsou implementovany podobne jako v C,
ale pred vlastnimi daty stringu mas jeste 4 byty kde je ulozena delka
stringu a pred nimi jeste dalsi ctyri kde je pocet refereneci na string.
Znak #0 je tam prave kvuli nutne kompatibilite s PChar aby to slo
jednoduse pretypovat. Petr Vones, amatersky programator

Dotaz na typ formulare

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 22.7.1998 18:57:51

Franta wrote:
>
> ahoj vsem,
>
> mam problem z tvorbou formularu. V prostredi jsem si vytvoril formular, ktery jsem normalne pouzival. Potreboval jsem ho ale nutne zmenit na formular modalni. Tudiz jsem chtel pouze prepsat
>
> MForm = class(TForm) na TForm8 = class(TModalForm)

Ahoj,

Ale ne, TModalForm v te knizce je pouze jeho modalni formular ktery si on tak
pojmenoval, ve VCL zadna takova trida neni. Pokud chces udelat formular modalni
tak misto jeho zobrazeni pomoci Show pouzijes ShowModal.

Pokud by jsi treba delal napriklad 50 ruznych formularu ktere by meli nejake
spolecne znaky, tak si jej muzes ulozit do Object Repository a pak znovu pouzivat
jako predka.

Petr Vones, amatesky programator

Problem s pripojenim na SYBASE pod UNIXem

[*] Martin UHER <tlanik(zv)zvt.csas(tec)cz> - 22.7.1998 18:58:28

Zdravim,
Mam D3+BDE5 a jestlize se chci pripojit na SYBASE (bezi na HP-UX) pod SQL
Explorerem obdrzim tuto chybu:

"Vendor initialization failed.
Cannot load an IDAPI service library.
File: LIBSYBDB.DLL
Alias: xxxxx"

"BDE Error 15879"

Ma n�kdo z vas nejake zkusenosti se SYBASE (spise s pripojenim)?
Znamena to snad, ze se tato DLL nedistribuuje a musim nainstalovat nejakeho
klienta od SYBASE?
Kde bych mohl tuto DLL sehnat?

Dekuji !!!!

Pouziti DLL z C++ s objekty

[*] Jiri Soudny <jsoudny(zv)comp(tec)cz> - 22.7.1998 18:58:05


Ahoj!

Potrebuju poradit. Chci pouzit knihovnu DLL, ktera je napsana v C++ a
poskytuje nejake objekty. Jak se to da v Delphi nadeklarovat ? Zatim
jsem vzdy pouzival externi knihovny, ktere poskytovaly funkce,
deklaroval jsem je nap�.:

function RaiGraphicsGetType( hWho: Integer; var piType:Integer):
Integer; cdecl; external 'raigra32.dll';

a pak jsem tu funkci pouzil v programu. Ale jak se to dela s objekty ?

Toto je header jednoho z tech objektu. Da se nejak pouzit #include nebo
to vubec nejde ? Nevim, co s tim.

Jiri Soudny
jsoudny(zv)comp(tec)cz

//////////////////////////////////////////////////////////////////////
// DMCoord.h: interface for the DMCoord class.
//////////////////////////////////////////////////////////////////////

#if !defined(AFX DMCOORD H A5A57213 0B2C 11D1 A6C2 CABD068B1C23 INCLUDED )
#define AFX DMCOORD H A5A57213 0B2C 11D1 A6C2 CABD068B1C23 INCLUDED

#if MSC VER >= 1000
#pragma once
#endif // MSC VER >= 1000

#include "proj.h"

class AFX EXT CLASS mgCoordConv
{
double incoor[2]; // input coordinates
double outcoor[2]; // output coordinates
long ipr; // printout flag for error messages. 0=screen, 1=file, 2=both
char *efile; // error file name
long jpr; // printout flag for projection parameters 0=screen, 1=file, 2 = both
char *pfile; // error file name
long iflg; // error flag

int NeedConv; // flag

public:

CoordConvStruct *pDataCoord; // data parameters
CoordConvStruct *pMapCoord; // map parameters

mgCoordConv();
mgCoordConv( CoordConvStruct *DataCoord, CoordConvStruct *MapCoord);
virtual ~mgCoordConv();

// interface functions
// nastaveni parametru
void SetDataCoord( CoordConvStruct *DataCoord );
void SetMapCoord( CoordConvStruct *MapCoord );

// vypocetni fce ( jeste by mely vracet nejaky konttrolni seznam tech bodu, ktere to spocitalo a tech, kde byla chyba)
// smer z dat. zdroje do mapy, pocita do jineho pole
void ConvertPnttoMapCoord( PNT 2D *in, int num, PNT 2D *out );
void ConvertPnttoMapCoord( PNT 3D *in, int num, PNT 3D *out );
void ConvertPnttoMapCoord( RECT 2D *in, int num, RECT 2D *out );
void ConvertPnttoMapCoord( RECT 3D *in, int num, RECT 3D *out );

// smer z dat.zdroje do mapy, pocita do stejneho pole
void ConvertPnttoMapCoord( PNT 2D *io, int num );
void ConvertPnttoMapCoord( PNT 3D *io, int num );
void ConvertPnttoMapCoord( RECT 2D *io, int num );
void ConvertPnttoMapCoord( RECT 3D *io, int num );

// smer z mapy do dat. zdroje, pocita do jineho pole
void ConvertPnttoDataCoord( PNT 2D *in, int num, PNT 2D *out);
void ConvertPnttoDataCoord( PNT 3D *in, int num, PNT 3D *out);
void ConvertPnttoDataCoord( RECT 2D *in, int num, RECT 2D *out);
void ConvertPnttoDataCoord( RECT 3D *in, int num, RECT 3D *out);

// smer z mapy do dat. zdroje, pocita do stejneho pole
void ConvertPnttoDataCoord( PNT 2D *io, int num );
void ConvertPnttoDataCoord( PNT 3D *io, int num );
void ConvertPnttoDataCoord( RECT 2D *io, int num );
void ConvertPnttoDataCoord( RECT 3D *io, int num );
};

#endif // !defined(AFX DMCOORD H A5A57213 0B2C 11D1 A6C2 CABD068B1C23 INCLUDED )

Coolbar, Toolbar

[*] Vojtech Semecky <v-soft(zv)mbox.lantanet(tec)cz> - 22.7.1998 19:19:51

> Ahoj.
> Nevite n kdo jak se da zaridit, aby se Coolbarem nebo Toolbarem dalo
> pohybovat, tak jak je tomu nap . ve Wordu. (Co se musi nastavit za
> vlastnosti). Tj aby nebyl napevno napr. pri hornim okraji.

No, ono to moc nejde. Tenhleten Toolbar/Coolbar je vubec nejakej divnej.

Ja pouzivam Toolbar97 (free with source code) od Jordana Russella a mam pokoj.
(http://members.aol.com/jordanr7).

Vojtech Semecky


Dotaz na typ formulare

[*] Pavel Kral <kral(zv)afx(tec)cz> - 22.7.1998 19:49:41


-----Original Message-----
From: Franta <macala(zv)praktik(tec)cz>
To: 'DELPHI Distribution List' <delphi(zv)pinknet(tec)cz>
Date: 22. �ervence 1998 18:13
Subject: RE: Dotaz na typ formulare


>
> Nize uvedeny postup jsem vyskousel na svem formulari, vytvorenem v
prostredi, ale vysledek je vzdy stejny, a konci hlaskou
> "CANNOT MAKE A VISIBLE MODAL"
-------------------------------------------------^^^^^^
to znamena, ze nemuze viditelne okno ucinit modalnim.
cili staci okno zavrit nebo skryt nebo mu nastavit vlastnost Visible na
false
a potom teprve volat metodu ShowModal

> Pokud vsak nize uvedenym postupem vytvorim prazdny formular za chodu
programu, vse je v poradku.
>

Formatovany text

[*] Vojtech Semecky <v-soft(zv)mbox.lantanet(tec)cz> - 22.7.1998 19:59:47

> potrebuji do databaze dostat text z Wordu s ruznymi typy pismem a barev
> (bez grafiky). At delam, co delam vzdy se mi text prevede na predem
> definovany typ. Existuje cesta v D1 nedo v D3? Jak?

V D1 asi ne. A v D3 prece existuje TRichEdit (resp. TDBRichEdit).
Z Wordu to tam dostanes bud exportem do RTF nebo pres Clipboard.

Vojtech Semecky

PS : Nesly by ty maily posilat bez toho HTML pridavku ?

Komponenta

[*] MJsoft <MJsoft(zv)rychnov(tec)cz> - 22.7.1998 21:05:48

Nemohu to najit. Prosim te, mohl by jsi poradit konkretneji.
Dik

----------
> Odes�latel: Martin Kubecka <martin.kubecka(zv)dytron(tec)cz>
> Komu: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
> P�edm�t: Re: Komponenta
> Datum: 21. �ervence 1998 16:25
>
> Na DSP (a asi i jinde) je k mani komponenta Advanced StatusBar, ktera
> umi prijimat dalsi komponenty. To by ti melo pomoci.
>
> Mac
>
> MJsoft wrote:
> >
> > Zdar DF
> >
> > Nemel by jste nekdo komponentu jako je TStatusBar s tim rozdilem, ze
by
> > na StatusPanelu mohli byt dva texty jinym pismem (stacilo by jeden text
> > tucny a druhy obycejny). Nemam cas si ji naprogramovat.
> >
> > Diky
> >
> > MJ soft
> > Jelen Jindrich ml.

Zarazejici rychlost

[*] Michal Kara <lemming(zv)atrey.karlin.mff.cuni(tec)cz> - 22.7.1998 21:06:55

> 1. kdyz totiz zavolate metodu Locate s
> hledanim casti retezce, tak podle mych zkusenosti projede
> celou tabulku, coz je logicke protoze hleda nejblizsi shodu
> a pak jeste musi skocit zpet na vyhovujici radek. Tohle je
> na siti s velkym poctem zaznamu dost nevhodny. Zatim me
> zadny genialni reseni nenapadlo. Zatim zkousim ruzne
> varianty (protoze mam vyhledavanou polozku vzdy setridenu,
> tak proste udelam DisableControl a jedu dolu nebo nahoru).
> Chci jeste vyskouset nejprve prez TempQuery najit ID
> zaznamu a pak na nej Locatem skocit (ale v pripade ze
> to bude posledni zaznam, tak to vlastne bude jeste
> pomalejsi nez na zacatku, ackoliv bych uz nehledal cast
> retezce (jak jsem rek to musim jeste testnout)).
>
Jestli to mas serazeny a hledas to podle zacatku, tak pouzivej puleni
intervalu. To ma slozitost log_2(n). Napriklad pro tabulku s milionem zaznamu to
znamena prohledani dvaceti zaznamu...

Michal Kara alias lemming


<none>

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 22.7.1998 21:13:47

> Existuje Servisni CD ATIX 1 (sveho casu na www.atix(tec)cz ), na kterem jsou
> ruzne utility mj. i pro delfinky. Seznam techto utilit je prilozen stejne
> jako shareware BDEPRT.ZIP. Nic moc, ale chodi se, zalezi jake mas pozadavky.

Kdyz kazdy posleme do konference 170 kB soubor, tak zahltime listserver.

S pozdravem
Petr Zahradnik, pocitacovy expert

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

Pouziti DLL z C++ s objekty

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

Jiri Soudny wrote:
>
> Ahoj!
>
> Potrebuju poradit. Chci pouzit knihovnu DLL, ktera je napsana v C++ a
> poskytuje nejake objekty. Jak se to da v Delphi nadeklarovat ? Zatim
> jsem vzdy pouzival externi knihovny, ktere poskytovaly funkce,
> deklaroval jsem je nap�.:
>
> function RaiGraphicsGetType( hWho: Integer; var piType:Integer):
> Integer; cdecl; external 'raigra32.dll';
>
> a pak jsem tu funkci pouzil v programu. Ale jak se to dela s objekty ?
>
> Toto je header jednoho z tech objektu. Da se nejak pouzit #include nebo
> to vubec nejde ? Nevim, co s tim.

Ahoj,

to bude asi problem. Pokud by byla ta knihovna psana v Delphi (nebo mozna
i v C++ Builderu ???) tak by to vicemene slo. Da se to udelat tak ze v te
knihovne musis exportovat funkci ktera ti vytvori objekt. V tve apliaci pak
nadefinujes presne znovu tu tridu tak jako je v DLL, metody zapises jako
abstract a objekt budes vytvaret pomoci te expotrovane funkce z te DLL.

Jenze kdyz ta DLL bude vytvorena v necem jinem (MS VC++), tak uz nebude
mit VTable (pokud tam neco takoveho je ?) presne stejny format jako u
Borlandu. Ale k tomu by spis mohl neco rict nekdo kdo dela v MS VC++

Petr Vones, amatersky programator


Zarazejici rychlost

[*] MJsoft <MJsoft(zv)rychnov(tec)cz> - 22.7.1998 21:44:10

OK. Ale jak se dostanu do ty pulky milionu zaznamu.

Jin

----------
> Odes�latel: Michal Kara <lemming(zv)atrey.karlin.mff.cuni(tec)cz>
> Komu: delphi(zv)pinknet(tec)cz
> P�edm�t: Re: Zarazejici rychlost
> Datum: 22. �ervence 1998 21:06
>
> > 1. kdyz totiz zavolate metodu Locate s
> > hledanim casti retezce, tak podle mych zkusenosti projede
> > celou tabulku, coz je logicke protoze hleda nejblizsi shodu
> > a pak jeste musi skocit zpet na vyhovujici radek. Tohle je
> > na siti s velkym poctem zaznamu dost nevhodny. Zatim me
> > zadny genialni reseni nenapadlo. Zatim zkousim ruzne
> > varianty (protoze mam vyhledavanou polozku vzdy setridenu,
> > tak proste udelam DisableControl a jedu dolu nebo nahoru).
> > Chci jeste vyskouset nejprve prez TempQuery najit ID
> > zaznamu a pak na nej Locatem skocit (ale v pripade ze
> > to bude posledni zaznam, tak to vlastne bude jeste
> > pomalejsi nez na zacatku, ackoliv bych uz nehledal cast
> > retezce (jak jsem rek to musim jeste testnout)).
> >
> Jestli to mas serazeny a hledas to podle zacatku, tak pouzivej puleni
> intervalu. To ma slozitost log_2(n). Napriklad pro tabulku s milionem
zaznamu to
> znamena prohledani dvaceti zaznamu...
>
> Michal Kara alias lemming


Zastupci a vytaceni

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

Luk� Veleck� wrote:
>
> >Peter Rus wrote:
> >>
> >> Ahoj Delphici,
> >>
> >> jak subj. rika, resim dve veci -
> >>
> >> 1) Umisteni zastupce programu na plochu. Na to musi existovat nejaka
> >> funkce. Jaka? Diky :-))).
> >

> >To je nejjednodusi udelat pomoci nejake hotove komponenty pro RAS, najdes
> je na DSP:
> >Delphi 3 -> Free Winsock and Communications -> DIALUP.ZIP, D_RAS.ZIP
> >
> > Petr Vones, amatersky programator
> >
>
> Taky by se mi neco takoveho hodilo - muzes uvest odkaz?
> Diky
> Lukas

Tady je komponenta RasDial:

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


Petr Vones, amatersky programator

Komponenta

[*] MJsoft <MJsoft(zv)rychnov(tec)cz> - 22.7.1998 23:48:24

Tu zadost beru zpet.

Upravil jsem si to sam. Pro vkladani objektu na TStatusBar staci udelat
override constructoru
Create na:

constructor TJinStatusBar.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle:= ControlStyle + [csAcceptsControls];
end;

Dekuju za prispevek.


Jin



----------
> Odes�latel: Martin Kubecka <martin.kubecka(zv)dytron(tec)cz>
> Komu: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
> P�edm�t: Re: Komponenta
> Datum: 21. �ervence 1998 16:25
>
> Na DSP (a asi i jinde) je k mani komponenta Advanced StatusBar, ktera
> umi prijimat dalsi komponenty. To by ti melo pomoci.
>
> Mac
>
> MJsoft wrote:
> >
> > Zdar DF
> >
> > Nemel by jste nekdo komponentu jako je TStatusBar s tim rozdilem, ze
by
> > na StatusPanelu mohli byt dva texty jinym pismem (stacilo by jeden text
> > tucny a druhy obycejny). Nemam cas si ji naprogramovat.
> >
> > Diky
> >
> > MJ soft
> > Jelen Jindrich ml.

BDE !!??

[*] �ke��k Jaroslav�������6�����̿ - 23.7.1998 03:59:21

Tu posledni vetu jsem nepochopil. To byl dotaz? Proc vadi, ze to cukne
v DbGrid(u)? Tak ho odpoj (DisableControls) a znovu pripoj az po
Open a nalezeni shodneho zaznamu (EnableControls).
Jaro
----------------------------------------------------------------------------
----------


>Jeste jednou se musim vratit k tomuto tematu se spomalenim u prvni zmeny
>v datech. Souhlasim s nazorem ze pri pridani prvniho zaznamu se dotahne
>zbytek dat. Je to tak. Proto jsem zkousel (zkousel jsem to u zmeny a ne
>pridani noveho zaznamu) tak, ze jsem vytvoril za behu Query a prez ExecSQL
>jsem poslal na InterBase klasicky "update ... ". To by samo o sobe bylo
>hned, jenze ..... musim udelat refresh (Close Open) a pri tomto manevru
>se to chvilku zdrzi. Nicmene je prvni zaznam namisto predchozi metody
>ulozen asi za 1sec, pred tim to byly sec 4. Dalsi zaznamy jsou pak ale
>taky 1sec, coz samozrejme po natazeni do pameti klasickym zpusobem
>bylo hned. Ale zasadni problem je v tom ze to s datami v DBGridu
>cukne, a protoze jsem to zkousel na dvojklik jako oznaceni zaznamu
>krizkem tak je to o nicem.
>
>Jin
>
>----------
>> Odes�latel: �ke��k Jaroslav <jaro(zv)zbk(tec)czn(tec)cz>
>> Komu: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
>> P�edm�t: Re: BDE !!??
>> Datum: 20. �ervence 1998 15:50
>>
>> Autocommit ridi automaticky transakci na urovni jednoho zaznamu.
>> Provadi tedy skryte "commit" pro kazdy zaznam (post). Tim muze dojit
>> ke znacnemu spomaleni v pripade hromadneho ukladani dat.
>> Jestlize vsak autocommit vypnes, pak pri post nebude zaznam fyzicky
>ulozen
>> (resp. potvrzen v pripade servru) a predpoklada se, ze se o to postaras
>sam
>> v mistech,
>> kde je to z hlediska rychlosti efektivnejsi.
>> Podle me zkusenosti je vhodnejsi ponechat nastaveni SQLPassthru mode na
>> AUTOCOMMIT, protoze tento stav lze jednoduse vypnout i programove.
>> V mistech, kdy jde o hromadne zadani dat nebo kde je to z ruznych
>> duvodu zadouci pouzij konstrukci:
>>
>> Data1.Database1.StartTransaction;
>> try
>> // .... ulozeni dat tabuky na server pole potreby napr:
>> Data1.Query1.ApplyUpdates;
>> Data1.Query.CommitUpdates;
>> // ..... nebo i jinak provest hromadnou aktualizaci dat
>> Data1.Database1.Commit;
>> except
>> Data1.Database1.Rollback;
>> Application.MessageBox('Nepodarilo ulozit.', 'Informace ...', MB_OK +
>> MB_ICONINFORMATION);
>> Exit;
>> end;
>>
>> Tim je autocommit vyrazen a uplatni se pouze ve vsech ostatnich
>pripadech.
>>
>> Ta delsi prodleva pri ulozeni prvniho zaznamu spociva v necm jinem.
>> Pri otevrni Tquery se na dataset nenatahne cely obsah dat ze serveru, ale
>> pouze urcity pocet zaznamu odpovidajici velikosti nastaveneho bufferu.
>> Tim dojde ke znacnemu zrychleni operace Open u vetsich objemu dat.
>> Pri ulozeni prvniho zaznamu vsak dojde k dotazeni zbyleho mnozstvi dat do
>> DataSetu (TQuery). Ukladani dalsiho zaznamu je uz rychle, protoze
>> data jsou uz nactena vsechna. Zatim jsem neobjevil rozumny zpusob
>> jak tomuto efektu zabranit, krome dusledneho vytvareni dotazu s malym
>> objemem dat na klienta.
>>
>> Jaro.
>> -----------------------------------------------
>>
>> >Zdravim
>> >-----------
>> > Mel bych mensi dotaz. Mam vetsi aplikaci napsanou v Delphi3 na
>dbServru
>> >Interbase5. Ze zacatku jsem mel problem s rychkosti pri spusteni
>aplikace a
>> >prvnim pridani zaznamu. Pozdeji jsem zjistil, ze kdyz nastavim v BDE
>> >SQLPassthru mode na NOAUTOCOMMIT (misto AUTOCOMMIT), tak se prida zaznam
>> >okamzite. Ale kdyz ho chci ulozit tak mu to trva delsi dobu. Pokud
>pridavam
>> >dalsi zaznami uz je to v pohode. Testoval jsem to i na malinke aplikaci,
>> >kde bzl jen jeden Query ,DataSource a DBGrid. Chova se to uplne stejne.
>> >Rekl bych ze to je kvuli BDE. Ma s tim nekdo zkusenosti? Predem diky za
>> >odpovedi.
>> >
>> >
>> >MJ soft
>> >Jelen Jindrich ml.

BDE !!??

[*] �ke��k Jaroslav�������6�����̿ - 23.7.1998 05:33:31

Plati, ze pri ulozeni prvniho zaznamu a pri AUTOCOMMIT se dotahuje zbytek
dat. Proto ta dlouha doba. Pri NOAUTOCOMMIT se zrejme vypina i AutoFetchAll
a tudiz se zbyla data nedotahuji. Napis tedy jakym zpusobem vlastne ukladas
data.
AUTOCOMMIT nesouvisi ani tak s uloznim dat, ale spise s jejich
automatickym potvrzenim. Podivej se, jestli se ti neprovadi to potvrzeni
automaticky az v pripade zavolani metody Close na DataSet. V takovem pripade
by jsi mohl pri vypnutem AUTOCOMMIT prijit o nejaka data v pripade
nekorektniho
ukonceni programu. Default nastaveni SQLPassthruMode neco asi tez naznacuje.
Jaro.
---------------------------------------------
>No nevim nevim. Ja mam SQLPassthruMode nastaven porad na NOAUTOCOMMIT.
>Kdyz jsem mel nastaveno AUTOCOMMIT (nepouzivam CacheUpdate), tak to trvalo
>hrozne dlouho nez se poprve zalozil novy zaznam (hlavne na siti s ISA
>sitovkami). Po prepnuti vyse zmineneho parametru v BDE se zaklada zaznam v
>mziku a data jsou fyzicky ulozena. Konstrukce StartTransaction a Commit,
>nebo Rollback je potom pri zakladani noveho zaznamu, ci jeho uprave
>zbytecna (podle meho zkoumani). Ale samozrejme ze kdyz delam napr.
>uzaverku mesice, tak na zacatku zapnu transakci a na konci udelam
>COMMIT popr. ROLLBACK (je to super vec). Davkove zpracovani me
>nevyhovuje, protoze muj uzivatel udela jeden zaznam za dlouhou dobu,
>ale hlavne se musi na sklade okamzite projevit aktualni zasoba.
>
>Ale stejne dik za vsechny odpovedi.
>
>MJ soft
>Jelen Jindrich ml.
>
>
>----------
>> Odes�latel: �ke��k Jaroslav <jaro(zv)zbk(tec)czn(tec)cz>
>> Komu: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
>> P�edm�t: Re: BDE !!??
>> Datum: 20. �ervence 1998 15:50
>>
>> Autocommit ridi automaticky transakci na urovni jednoho zaznamu.
>> Provadi tedy skryte "commit" pro kazdy zaznam (post). Tim muze dojit
>> ke znacnemu spomaleni v pripade hromadneho ukladani dat.
>> Jestlize vsak autocommit vypnes, pak pri post nebude zaznam fyzicky
>ulozen
>> (resp. potvrzen v pripade servru) a predpoklada se, ze se o to postaras
>sam
>> v mistech,
>> kde je to z hlediska rychlosti efektivnejsi.
>> Podle me zkusenosti je vhodnejsi ponechat nastaveni SQLPassthru mode na
>> AUTOCOMMIT, protoze tento stav lze jednoduse vypnout i programove.
>> V mistech, kdy jde o hromadne zadani dat nebo kde je to z ruznych
>> duvodu zadouci pouzij konstrukci:
>>
>> Data1.Database1.StartTransaction;
>> try
>> // .... ulozeni dat tabuky na server pole potreby napr:
>> Data1.Query1.ApplyUpdates;
>> Data1.Query.CommitUpdates;
>> // ..... nebo i jinak provest hromadnou aktualizaci dat
>> Data1.Database1.Commit;
>> except
>> Data1.Database1.Rollback;
>> Application.MessageBox('Nepodarilo ulozit.', 'Informace ...', MB_OK +
>> MB_ICONINFORMATION);
>> Exit;
>> end;
>>
>> Tim je autocommit vyrazen a uplatni se pouze ve vsech ostatnich
>pripadech.
>>
>> Ta delsi prodleva pri ulozeni prvniho zaznamu spociva v necm jinem.
>> Pri otevrni Tquery se na dataset nenatahne cely obsah dat ze serveru, ale
>> pouze urcity pocet zaznamu odpovidajici velikosti nastaveneho bufferu.
>> Tim dojde ke znacnemu zrychleni operace Open u vetsich objemu dat.
>> Pri ulozeni prvniho zaznamu vsak dojde k dotazeni zbyleho mnozstvi dat do
>> DataSetu (TQuery). Ukladani dalsiho zaznamu je uz rychle, protoze
>> data jsou uz nactena vsechna. Zatim jsem neobjevil rozumny zpusob
>> jak tomuto efektu zabranit, krome dusledneho vytvareni dotazu s malym
>> objemem dat na klienta.
>>
>> Jaro.
>> -----------------------------------------------
>>
>> >Zdravim
>> >-----------
>> > Mel bych mensi dotaz. Mam vetsi aplikaci napsanou v Delphi3 na
>dbServru
>> >Interbase5. Ze zacatku jsem mel problem s rychkosti pri spusteni
>aplikace a
>> >prvnim pridani zaznamu. Pozdeji jsem zjistil, ze kdyz nastavim v BDE
>> >SQLPassthru mode na NOAUTOCOMMIT (misto AUTOCOMMIT), tak se prida zaznam
>> >okamzite. Ale kdyz ho chci ulozit tak mu to trva delsi dobu. Pokud
>pridavam
>> >dalsi zaznami uz je to v pohode. Testoval jsem to i na malinke aplikaci,
>> >kde bzl jen jeden Query ,DataSource a DBGrid. Chova se to uplne stejne.
>> >Rekl bych ze to je kvuli BDE. Ma s tim nekdo zkusenosti? Predem diky za
>> >odpovedi.
>> >
>> >
>> >MJ soft
>> >Jelen Jindrich ml.

Zarazejici rychlost

[*] �ke��k Jaroslav�������6�����̿ - 23.7.1998 05:37:14

VYBORNE !!!
V praxi jsi overil teoreticky zaklad projektovani C/S,
ze se ma pracovat mnozinove a to vzdy pouze
s nezbytne nutnym co nejmensim mnozstvim dat
z hlediska potreb klienta. Ja tuto skutecnost
vzdy prevadim do trochu srozumitelnejsiho
a zjednoduseneho tvrzeni, kdyz rikam
"hledat vyberem". Pokud totiz natahujes na klienta
velke mnozstvi dat nebo rovnou celou databazi,
pak vsechna data hrnes skrze sit a casove jsi
limitovan prave vykonem a okamzitou propustnosti
site a nikoliv vykonem serveru nebo klienta.
Jestlize takto pracuje vice stanic, pak muze rychle
dojit k zahlceni cele site a k podobnemu efektu
jako u sdilenych souboru v neklientskem prostredi.
Tim je ovsem system C/S do znacne miry degradovan
na podobnou situaci jako pri sdileni. Tvuj experiment
se sitovymi kartami to jasne potvrzuje.
Tvrdim, ze je mozne napsat projekt, ktery nebude mit
s C/S nic spolecneho, prestoze bude pouzivat
jako datoveho zdroje nejaky databazovy server
napr. IB5.0 a prestoze bude pouzito jazyka SQL.
Programovat C/S projekty znamena postupovat tak,
aby dochazelo k co nejmensi zatezi site a aby co
nejvice cinnosti provadel server. Na klienta maji byt
posilany jen vysledky teto cinnosti a v danem okamziku
NEZBYTNE nutna data. Kazdy programator klasickych
souboru si na to velice tezko zvyka. Take jsem k nim patril
a dodnes mam problemy s tim, ze si na to nechteji
zvykat ani uzivatele programu. Jinak to ale urcite nejde!
Predstav si, ze k serveru pristupujs pomoci site
WAN nebo prostrednictvim Internetu. Tam se ti muze
o "super vykonu" starickych ISA karet jen zdat, natoz
pak spolehat na vykon PCI karet.
A ted od te teorie k tomu, jak to vlastne funguje.
Jiste jsi zjistil, ze dotaz i na dost velkou databazi
netrva zase tak moc dlouho, ale velmi dlouho trva
prechod na posledni zaznam nebo treba metoda Locate.
To budi dojem, ze pomalu pracuje klientsky pocitac.
Je to vsak tak, ze pri Open se nenatahuji na klienta
vsechna data, ale pouze jejich cast odpovidajici
velikosti bufferu a konfiguraci BDE. Teprve pri
prochazeni DataSetu se dotahuji dalsi data, pripadne
vsechna data. To muze nasledne v pripade otevreni velkeho
mnozstvi dat do TQuery trvat i pekne dlouho a v takovem
pripade se zajiste vyrazne projevi i hruba sila vykonnejsi
sitove karty. Ale pozor! Ve vetsi siti ti nepomohou
ani rychle sitove karty, protoze k "ucpani" dojde jinde
(zpravidla na sitove karte serveru nebo na HUB(u), kde
se soustreduji datove toky od vsech stanic).
Veta typu: "Tohle je na siti s velkym poctem zaznamu
dost nevhodny" me privadi trochu do rozpaku.
Kde je hodne zaznamu? Co je to "na siti"?
Na serveru? To neni problem.
Nebo se hodne zaznamu casto taha ze serveru na klienta?
To je problem. Muze to byt ale problem nevhodne
resene aplikace.

K tomu hledani prostrednictvim Locate mohu
dat jednu praktickou radu. Je urcite rychlejsi najit
zaznam na serveru pomoci dotazu SELECT
s pouzitim klauzule WHERE (v jinem TQuery),
potom si precist hodnotu primarniho klice a na klientovi
pak hledat pomoci Locate hodnotu tohoto klice.
Ke zrychleni dojde uz i proto, ze se nemusi prohazet
cely DataSet a pak se vracet zpet. Krome toho hned zjistis
kolik zaznamu vyhovuje podmince a zda je
potreba umoznit hledani dalsiho vyskytu.
A dale muzes dobre vyuzit moznosti klauzule
LIKE, vnorenych dotazu a pod., tedy schopnosti, ktere metoda
Locate nema. Muzes dokonce napr. najit zaznam z Master
tabulky podle podminky odkazujici se na Detail tabulku.

Tohle je jen jeden priklad vhodnejsiho reseni.
Je dobre nespolehat na vykon site a programovat spise
s ohledem na nizkou propustnost jakekoliv site.
Pak budes mit dobre C/S programy.
Vysledky tveho testovani jsou zajimave a dobre,
ale nejsou nijak zarazejici. Potvrzuji jen znamou teorii.
Jaro.
--------------------------------------------------------------------

>Mam tu jednu zkusenost, mozna uz jste to nekdo resil.
>
> Dlouho jsem nemohl prijit na to(pouzivam D3 + IB5 v siti),
>proc me na klientovy jeden formular, ktery obsahuje Grid s
>hodne zaznamy, trva tak dlouho nez se otevre. Nutno dodat,
>ze pri jeho vytvareni volam Locate s vyhledanim na cast
>retezce, ktery jsem vyplnil z volajiciho formulare. Po dlouhem
>testovani jsem zjistil:
>
>1. kdyz totiz zavolate metodu Locate s
>hledanim casti retezce, tak podle mych zkusenosti projede
>celou tabulku, coz je logicke protoze hleda nejblizsi shodu
>a pak jeste musi skocit zpet na vyhovujici radek. Tohle je
>na siti s velkym poctem zaznamu dost nevhodny. Zatim me
>zadny genialni reseni nenapadlo. Zatim zkousim ruzne
>varianty (protoze mam vyhledavanou polozku vzdy setridenu,
>tak proste udelam DisableControl a jedu dolu nebo nahoru).
>Chci jeste vyskouset nejprve prez TempQuery najit ID
>zaznamu a pak na nej Locatem skocit (ale v pripade ze
>to bude posledni zaznam, tak to vlastne bude jeste
>pomalejsi nez na zacatku, ackoliv bych uz nehledal cast
>retezce (jak jsem rek to musim jeste testnout)).
>
>2. pri testovani vseho mozneho jsem prisel jeste na jednu vec.
>Protoze me to na jedne siti chodi velice slusne se slabsima
>pocitacema, tak jsem k te dalsi siti, kde to trva hrozne dlouho
>pripojil pocitac prave z te rychle site. A co se nestalo slo to
>super rychle. Zaver je jasny v te pomale siti totiz maji ISA
>sitove karty(pro jistotu jsem jeste u jednoho pocitace tyto
>karty vymenil z ISA na PCI a opet velky narust rychlosti)
>a to je obrovske spomaleni, i kdyz maji velice dobre konfigurace
>pocitacu.
>
>
>Rad bych uvital podobne zkusenosti. Dik
>
>
>
>MJ soft
>Jelen Jindrich ml.

Socket

[*] Doller.Jozef(zv)zsr.sk - 23.7.1998 07:18:01

Ahoj.

S Delphi sa pokusam nieco urobit len zopar tyzdnov a mam taky
zaciatocnicky problem.
Potreboval by popis komponenty SOCKET, pripadne aj maly example
ako sa pripojit na BDE, a udalosti odoslanie a prijatie dat.

Vdaka za kazdu radu.

Jozo Doller
doller(zv)zsr.sk
velmi, velmi amatersky programator.

Zarazejici rychlost

[*] Michal Kara <lemming(zv)atrey.karlin.mff.cuni(tec)cz> - 23.7.1998 07:47:14

> OK. Ale jak se dostanu do ty pulky milionu zaznamu.
>
Co takhle pouzit RecNo a RecordCount? (DataSet.RecNo := RecordCount/2).
To by mohlo chodit.

Michal Kara alias lemming


Skryti taskbaru

[*] Bielik Marian <bielik(zv)basl.sk> - 23.7.1998 08:07:32


...
private
hTaskBar: HWND;
{ Private declarations }
...
hTaskBar := FindWindow('Shell_TrayWnd', nil);

schovat

ShowWindow(hTaskBar, SW_HIDE);

zobrazit

ShowWindow(hTaskBar, SW_SHOW);


Marian


Jiri Sladek wrote:

> Zdravim All, mam maly dotaz. V programu mam formulare pres celou
> obrazovku, takze mi dole prekazi taskbar. Da se z delfackeho programu
> zaridit, abu se taskbar minimalizoval nebo soupnul dozadu ? A pri
> ukonceni programu se zase obnovil puvodni stav ? Diky, Jirka.

TDBEdit

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

Cislo 10.45 sa premeni na cislo 10.44999... je uplne poriadku lebo cislo s palvoci radovou ciarkou ma urcitu presnost. Preto nikdy nemozes porovnat dve float cisla klasicky A=B ale skor ABS(A-B)<delta. Z toho vznika nemalo problemov v programech.
Ekonomickych programoch je to hlavne problem pri zaokruhlovani.

Tungli
----------
> Od: petr.z(zv)usa.net
> Pre: delphi(zv)pinknet(tec)cz
> Predmet: TDBEdit
> D�tum: 22. j�l 1998 15:45
>
> Ahoj lidi, mam tento mensi problem:
>
> Na MS SQL Serveru mam v tabulce definovany sloupec typu Numeric 18,2
>
> Ten je na formulari napojeny na TDBEdit
>
> Pokud do nej zapisi nektera cisla napr.: 10.45 (20.45 ...), tak se
> pri prechodu na dalsi edit toto cislo samo zmeni na 10.4499 (20.4499).
> Na tento edit ani na nic dalsiho nejsou napojene zadne udalosti apod.
>
> (Deje se to i pro nektera dalsi cisla, ale na ty si ted nevzpominam)
>
> Nevite nekdo cim to je zpusobeno, pripadne jak to odstranit ?
>
> D2 C/S, BDE 4.51, MS SQL Server 6.5
>
> Diky Petr
>
>
> ____________________________________________________________________
> Get free e-mail and a permanent address at http://www.netaddress.com/?N=1


Delphi 4 - recenze dotaz

[*] Jiri Szopa <prosys(zv)grendel(tec)cz> - 23.7.1998 08:22:29

Zajimalo by mne jestli je tam objektova podpora pro nove prosazovanou
technologii MS OLEDB ev. ADO jako nahrada ODBC. Take jaka verze
BDE je distr. s D4.
-------------------------------------------
Ing. Jiri Szopa
tel.: +420 659 713393
fax.: +420 659 713392
email: prosys(zv)grendel(tec)cz


Zmena langdrivru v kodu

[*] Marcel Telka <marcel(zv)vadium.sk> - 23.7.1998 08:38:06

V archive skus pohladat pod "ChangePxLD". Posielal som to do konferencie
8.7.

M.T. Pratele,
uz par hodin se trapim s nasledujicim problemem:

Potrebuji zmenit langdriver tabulky po jejim vytvoreni v kodu. Je to
dost prakticka vec, protoze na pocitaci uzivatele se muze vyskytovat vice
programu uzivajicich BDE s ruznymi pozadavky na kodovani cestiny pro ruzne
tabulky a nelze spolehat na nastaveni pri instalaci programu. Nemate nekdo
neco takoveho hotoveho ?

Zkousel jsem to pres dbiProcs (BDE API) menit, ale vse marne pokusy v
tom horku. Hledal jsem to na SuperPage, ale kde nic tu nic. V archivu jsem
nic podobneho nenasel (pod 'cestina').

Martin Kvapilik


Coolbar, Toolbar

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

> Ja pouzivam Toolbar97 (free with source code) od Jordana
> Russella a mam pokoj.
> (http://members.aol.com/jordanr7).

Zrovna moc free mi to nepripada:

The incredibly popular Toolbar97 component is now shareware. This
decision was based mainly on the heavy volume of support that I do, and
enhancements I plan to make in the future. If you use it in commercial
or shareware applications, you are encouraged to register. Registration
entitles you to all future versions of Toolbar97 1.x and 2.x, including
full source code. And it's only US$20 for a single user license! You can
even register online securely using your credit card!

InstallShield

[*] psoft <psoft(zv)kosice.telecom.sk> - 23.7.1998 08:54:26

Zdravim vsetkych, ktori este vladzu cosi vymysliet v tej horucave.

Mam taky ( zrejme maly, ale pre mna hlupy a pomerne dolezity )
problem.
Vytvorim instalacky cez InstallShield. Nainstalujem SW. Potom su
nejake zmeny v SW preto vyrobim nove instalacky. Ale ked z nich
instalujem, neprepise mi to uz existujuce subory, vzdy musim najprv
odinstalovat a az potom instalovat. Preco ? Subory nie su ani rdOnly
ani nic podobne, su to obycajne subory.

Druha : v tych instalackach je jeden dll subor Windows
novsi, tusim sa vola comctrl32.dll alebo tak akosi. Mozem zabranit
tomu, aby pri odinstalacii mojho SW zmazal tento subor alebo aby ani
neponukal otazku ci ho ma zmazat ? Pri instalacii totiz prepise staru
verziu tohto suboru, ak ho pri odinstalacii zmaze, Windows su v
prdeli ...

A este jedna vec : ako mozem vyberat, ci instalujem do Windows95
alebo Windows NT ? O co ide : vyssie spominany subor comctrl32.dll (?
Windows 95 verzia ?) - ak ho dam do instalaciek a nahodou instalujem
na NT, potom vraj neznicitelne NT velmi lahko pri instalacii cosi zatrepu o
pristupovych pravach a zdochnu ... Ak ale zoberiem tento subor zo
stroja, kde je NT a zahrniem ho do instalaciek, je vsetko O.K.

Ak niekto cosi viete o mojich problemoch, uz teraz vam dakujem za radu.

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

<none>

[*] psoft <psoft(zv)kosice.telecom.sk> - 23.7.1998 08:54:26

> Existuje Servisni CD ATIX 1 (sveho casu na www.atix(tec)cz ), na kterem jsou
> ruzne utility mj. i pro delfinky. Seznam techto utilit je prilozen stejne
> jako shareware BDEPRT.ZIP. Nic moc, ale chodi se, zalezi jake mas pozadavky.

??????????

Kedy uz s tym prestaneme ? Cita vobec niekto podmienky pri prihlaseni
do tejto diskusnej skupiny ? Mam pocit ze nie . Inac by ste sem uz
prestali neustale posielat nejake blbe attachmenty a posielali si to
sukromne.

P.S. : Nerad platim za cosi, co som si neobjednal ... Este dobre, ze
je tak horuco, lebo inac by ma to nas ... este viac.
> ''''
> (O O)
> +-------------oOO------(_)--------------------+
> | PSOFT, ing.Peter Cirip |
> | Sibirska 18, 080 01 Presov, Slovensko |
> | Mobil : 0903 601 068 091/723 104 |
> | E-mail: psoft(zv)ke.telecom.sk |
> | WEB : http://www.ke.telecom.sk/psoft/ |
> +-------------------------------oOO-----------+
> |__|__|
> || ||
> ooO Ooo
>

<none>

[*] Martin Seget <mseget(zv)profuturo(tec)cz> - 23.7.1998 08:55:28

Zdravim vsechny,

zacinam trochu experimentovat s obousmernou komunikaci s tiskarnou ve
WIN95. Nevite o tom nekdo neco?
Primy tisk na port s WIN jsem nasel v archivu konference, to pomohlo.
Diky

S pozdravem
martin seget

BDE s IB

[*] Marek Repisk� <mrepisky zl(zv)zsnp.sk> - 23.7.1998 08:59:51

Nazdar,

objavil sa mi velky problem. Vytvoril som db aplikaciu
beziacu na Local InterBase Serveri(dalej len IB). Chcel
som to naistalovat na iny pocitac. Ale nerozbehal som to.

Myslim si, ze je to sposobene tym, ze nainstalovany
BDE nema DRIVERS\NATIVE\INTRBASE. Ma tam len nejake
standardne a myslim, ze este MSACCESS. Tym som nemohol
vytvorit alias na IB databazu (alias mam aj v instalacii).
Pouzil som InstallShield Express (Full BDE Installation).
Instaloval som IB z CD. Skusal som instalovat BDE s CUSTOM
instalacie DELPHI 3. Ale ten ovladac do BDE sa mi nepodarilo
dostat.

Poradte mi, prosim, ako tam dostanem ten ovladac, ako
vytvorit cez InstallShield Express instalaciu aj s ovladacom
pre IB. Alebo, co potrebujem, ako nakonfigurovat a aky postup
treba zvolit pre instalaciu aplikacie s IB?
(D 3.02 Prof., BDE 4.50, IB 4.2)

Vopred vdaka za kazdu radu.

P.S.: Je to moje prve dielko s IB, tak je mozne, ze som trosku mimo :-((

S pozdravom

Marek Repisky
mrepisky_zl(zv)zsnp.sk


Zarazejici rychlost

[*] �ke��k Jaroslav�������6�����̿ - 23.7.1998 09:14:53

-----------
> Jestli to mas serazeny a hledas to podle zacatku, tak pouzivej puleni
>intervalu. To ma slozitost log_2(n). Napriklad pro tabulku s milionem
zaznamu to
>znamena prohledani dvaceti zaznamu...
> Michal Kara alias lemming
------------------------
Tohle mu prilis nepomuze.
Problem neni v rychlosti algoritmu nebo v tom, ze by metoda Locate byla
pomala. Dlouho to trva, protoze se teprve postupne dotahuji dalsi a dalsi
data po siti ze serveru.
Nepomuze prilis redukce vyhledavacich kroku, protoze byt samotny skok
na posledni zaznam trva dlouho. To bych se ale jiz opakoval, viz minuly
prispevek.
Jaro
-----------------------
OK. Ale jak se dostanu do ty pulky milionu zaznamu.
Jin
-----------------------
Kdyz chcez ziskat informace o zaznamu, ktery je v pulce milionu,
tak netahej na klienta pul milionu zaznamu, aby jsi ho potom mohl hledat,
ale dotahni jen ten jeden zaznam pomoci SELECT ....... WHERE podminka
Ta podminka za WHERE bude asi dost podobna te, kterou se snazis
uplatnit az v metode Locate. Rucim za zrychleni z mnoha desitek sekund,
mozna az minut na dobu do jedne az tri sec.
Pouziti SELECT na databazi o milionech zaznamech bez klauzule WHERE
je silenstvi (krome dotazu s puzitim Max(), Count(), Sum() .... ty vraceji
pouze vysledek).
Jaro

Zarazejici rychlost

[*] Michal Leinweber <M.Leinweber(zv)sh.cvut(tec)cz> - 23.7.1998 09:25:43

> > OK. Ale jak se dostanu do ty pulky milionu zaznamu.
> >
> Co takhle pouzit RecNo a RecordCount? (DataSet.RecNo := RecordCount/2).
> To by mohlo chodit.

No teda aspon na Sybase Anywhere je to k nicemu ale rek bych ze i obecne na
SQL servru.
Pro zjisteni RecordCount je totiz nutne natahnout celou query na klienta -
vyzkouseno!
A navic stejne pokud by si chtel skocit na konkretni radku query tak se musi
dotahnout vsechny radky pred ni!

McLEI


Zarazejici rychlost

[*] �ke��k Jaroslav�������6�����̿ - 23.7.1998 09:27:45

Pred timto varuji. Jakmile totiz pouzijete metodu
RecordCount na DataSetu napr. o pul milinu zaznamech, dockate se
zklamani. Metoda RecordCount totiz pocita zaznamy tak, ze
prochazi cely dataset a scita pocet radku. Na velke mnozine
dat to bude trvat velmi dlouho.
Pro zjisteni poctu zaznamu v TQuery1 je mnohem lepsi proto udelat
takovyto dotaz:
SELECT Count(*) FROM Tabulka WHERE stejna podminka jako v TQuery1.
Je to mnohem rychlejsi.
Jaro
----------------------------------------------------------------------

>> OK. Ale jak se dostanu do ty pulky milionu zaznamu.
>>
> Co takhle pouzit RecNo a RecordCount? (DataSet.RecNo := RecordCount/2).
>To by mohlo chodit.
>
> Michal Kara alias lemming


daka

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

Dakujem za oprispevky na reverse string.
TUNGLI Jan
tungli(zv)pvt.sk


CD ROM spin

[*] Josef Madlik <madlik(zv)jsp(tec)cz> - 23.7.1998 09:34:29


Zdravim vsechny

Da se nejak nastavit doba od posledniho cteni nez CD vypne otacky ?
Zajimalo by mne reseni ve Win95 , prip NT.

Ing.Josef Madlik
madlik(zv)jsp(tec)cz


Drag and Drop

[*] Kelle Ondrej <Kelleon(zv)nnsk.sk> - 23.7.1998 09:42:53

Ahoj,

mne zatial stacilo definovat novy message handler:

type
TForm1 = class(TForm)
...
protected
procedure WMDropFiles(var Message : TWMDropFiles); message
WM_DROPFILES;
...
end;

Ondrej Kelle
kelleon(zv)nnsk.sk

> -----Original Message-----
> From: Petr Vones [SMTP:pvones(zv)mbox.vol(tec)cz]
> Sent: Tuesday, July 21, 1998 5:47 PM
> To: DELPHI Distribution List
> Subject: Re: Drag and Drop
>
> Krayzel Libor wrote:
> >
> > Zdravim vsechny,
> >
> > jak zajistit, aby slo do me aplikace pretahovat soubory napr. z
> > Pruzkumnika?
> > Dekuji
>
> Ahoj,
>
> tady je jednoduchy priklad, slo by to udelat i jako komponenta aby
> to bylo obecne pouzitelne:
>
>
> unit Unit11;
>
> interface
>
> uses
> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
> Dialogs,
> StdCtrls, ShellAPI;
>
> type
> TForm1 = class(TForm)
> Memo1: TMemo;
> procedure FormCreate(Sender: TObject);
> procedure FormDestroy(Sender: TObject);
> private
> FNewWndProc, FOldWndProc: Pointer;
> procedure ComponentWndProc(var Msg: TMessage);
> procedure DropFiles(DropHandle: HDROP);
> public
> { Public declarations }
> end;
>
> var
> Form1: TForm1;
>
> implementation
>
> {$R *.DFM}
>
> procedure TForm1.FormCreate(Sender: TObject);
> begin
> FNewWndProc := MakeObjectInstance(ComponentWndProc);
> FOldWndProc := Pointer(SetWindowLong(Memo1.Handle, GWL_WNDPROC,
> Longint(FNewWndProc)));
> DragAcceptFiles(Memo1.Handle, True);
> end;
>
> procedure TForm1.FormDestroy(Sender: TObject);
> begin
> DragAcceptFiles(Memo1.Handle, False);
> SetWindowLong(Memo1.Handle, GWL_WNDPROC, Longint(FOldWndProc));
> FreeObjectInstance(FNewWndProc);
> end;
>
> procedure TForm1.ComponentWndProc(var Msg: TMessage);
> begin
> with Msg do
> if Msg = WM_DROPFILES then DropFiles(WParam) else
> Result := CallWindowProc(FOldWndProc, Memo1.Handle, Msg, WParam,
> LParam);
> end;
>
> procedure TForm1.DropFiles(DropHandle: HDROP);
> var
> FilesCount, I: Integer;
> FileName: array[0..MAX_PATH] of Char;
> begin
> FilesCount := DragQueryFile(DropHandle, -1, nil, 0);
> for I := 0 to FilesCount -1 do
> begin
> DragQueryFile(DropHandle, I, (zv)FileName, Sizeof(FileName));
> Memo1.Lines.Add(FileName);
> end;
> end;
>
> end.
>
> Petr Vones, amatersky
> programator
>

Reset?

[*] LuborK(zv)tnet(tec)cz (Kolar Lubor) - 23.7.1998 09:47:39

Dne Wed, 22 Jul 1998 13:02:43 +0200 Kovac Jan napsal:

> Neda sa po W95 vyvolat z Delphi programu (pripadne aj z ineho) restart
> masiny?
> Musi to ale byt nieco ako reset, nie shutdown, lebo ten sa na niektorych
>
> programoch zastavi a ziada potvrdenie, save, atd.
Na to je komponenta WinExit nebo tak nejak se menuje, jinak v tom
prikazu ShutDown mas jako parametry to, zda chces restart, shutdown nebo
jen restart Windows (samozrejme posledni moznost nefacha na NT) a pokud
das taky FORCE_APPS (nebo tak nejak), automaticky to ukonci vsechny
aplikace. Viz Win32 API

Lubor bIRDIE Kolar
====================
GSM Phone: +420-603-410019


Reset?

[*] Kovac Jan <kovac(zv)pvt.sk> - 23.7.1998 10:15:00

Ja netvrdim, ze korektny shutdown systemu je zbytocnost, ale na ten
reset mam dobry
dovod. Mam totiz masinu, na ktorej nebezi nic ine, iba par komunikacnych
procesov.
A tieto obcas zamrznu tak, ze samotny program to nedokaze osetrit, neda
sa ukoncit
a dokonca zastavi shutdown. Jedine vychodisko je stlacit reset, ale to
chce pritomnost
obsluhy. Ja by som reset potreboval vyvolat zo strazneho programu (na
tej istej masine)
v pripade, ze tieto procesy prestanu odpovedat.
( Napadlo ma zavesit na port umelu ruku s ukazovakom nad tlacitkom
reset, ale to je prilis
brutalne, chcelo by to elegantnejsie riesenie).

Petr Vones wrote:

> Kovac Jan wrote:
> >
> > Neda sa po W95 vyvolat z Delphi programu (pripadne aj z ineho)
> restart
> > masiny?
> > Musi to ale byt nieco ako reset, nie shutdown, lebo ten sa na
> niektorych
> >
> > programoch zastavi a ziada potvrdenie, save, atd.
>
> Ahoj,
>
> No to je snad spravne ze shutdown se pta vsech aplikaci jestli se
> mohou
> ukoncit, predstav si ze budes delat v pulce behu Windows reset. To
> neni
> asi dvakrat korektni. Pokud mas OSR2 tak se ti aspon po startu spusti
> v pripade krachu systemu ScanDisk, ale jinak si to musis hlidat sam.
>
> Petr Vones, amatersky programator

BDE s IB

[*] TUNGLI Jan <tungli(zv)pvt.sk> - 23.7.1998 11:09:59

Presne taky problem som mal aj ja. Riesenie je nasledujuci okrem aliasov je poterne cei Installshild zapisat do registov veci ktore mas na pocitaci pod :

[HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INRBASE]

[HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTRBASE\INIT]
"VERSION"="3.0"
"TYPE"="SERVER"
"DLL"="SQLD_IB.DLL"
"DLL32"="SQLINT32.DLL"
"DRIVER FLAGS"=""
"TRACE MODE"="0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\DRIVERS\INTRBASE\DB OPEN]
"SERVER NAME"="IB_SERVER:/PATH/DATABASE.GDB"
"USER NAME"="MYNAME"
"OPEN MODE"="READ/WRITE"
"SCHEMA CACHE SIZE"="8"
"LANGDRIVER"="anczech"
"SQLQRYMODE"=""
"SQLPASSTHRU MODE"="SHARED AUTOCOMMIT"
"SCHEMA CACHE TIME"="-1"
"MAX ROWS"="-1"
"BATCH COUNT"="200"
"ENABLE SCHEMA CACHE"="FALSE"
"SCHEMA CACHE DIR"=""
"ENABLE BCD"="FALSE"

Ked sa chces presvedcit o spravnosti instalaci je potrebne to vyskusat na stanici kde nebol este delphi nainstalovany.
Pozor odinstalacia delphi nestaci lebo registroch zostanu informacie o INTERBASE

----------
> Od: Marek Repisk� <mrepisky_zl(zv)zsnp.sk>
> Pre: Delphi konferencia <delphi(zv)pinknet(tec)cz>
> Predmet: BDE s IB
> D�tum: 23. j�l 1998 8:59
>
> Nazdar,
>
> objavil sa mi velky problem. Vytvoril som db aplikaciu
> beziacu na Local InterBase Serveri(dalej len IB). Chcel
> som to naistalovat na iny pocitac. Ale nerozbehal som to.
>
> Myslim si, ze je to sposobene tym, ze nainstalovany
> BDE nema DRIVERS\NATIVE\INTRBASE. Ma tam len nejake
> standardne a myslim, ze este MSACCESS. Tym som nemohol
> vytvorit alias na IB databazu (alias mam aj v instalacii).
> Pouzil som InstallShield Express (Full BDE Installation).
> Instaloval som IB z CD. Skusal som instalovat BDE s CUSTOM
> instalacie DELPHI 3. Ale ten ovladac do BDE sa mi nepodarilo
> dostat.
>
> Poradte mi, prosim, ako tam dostanem ten ovladac, ako
> vytvorit cez InstallShield Express instalaciu aj s ovladacom
> pre IB. Alebo, co potrebujem, ako nakonfigurovat a aky postup
> treba zvolit pre instalaciu aplikacie s IB?
> (D 3.02 Prof., BDE 4.50, IB 4.2)
>
> Vopred vdaka za kazdu radu.
>
> P.S.: Je to moje prve dielko s IB, tak je mozne, ze som trosku mimo :-((
>
> S pozdravom
>
> Marek Repisky
> mrepisky_zl(zv)zsnp.sk
>

QuickReport - tisk dvou tabulek

[*] Petr Slovak <petr(zv)trilog(tec)cz> - 23.7.1998 11:43:03

A zase otravuju s QuickReportem. Mam dve na sobe nezavisle tabulky,
neni mezi nimi zadna vazba. Potrebuji je ale vytisknout na jeden papir
tesne za sebe. Jak na to?
Diky za kazdou radu.

==========================
Petr Slovak
Trilog, s.r.o.
http://www.trilog(tec)cz
e-mail: petr(zv)trilog(tec)cz
telefon: 0603 / 501 642
==========================

Komponenta na grafy

[*] Petr Slovak <petr(zv)trilog(tec)cz> - 23.7.1998 11:50:56

Potrebuji na web stranky umistit graf, ktery se generuje az na zaklade
uzivatelem definovanych parametru. Rozhodl jsem se, ze to udelam
pomoci ISAPI Extension. Jednoduche grafy takhle hezky vygeneruji
pomoci ChartFX (ulozim jako bitmapu a tu si pak zkonvertuju do JPG).
Ma to ale dve vady na krase:
a) slozite generovani JPG. Idealni by bylo, kdybych mel komponentu,
ktera rovnou umi ulozit graf do GIF nebo JPG. To bych ale jeste
ozelel.
b) Vice mi vadi druha vec: ChartFX neumi s grafy az zas tolik veci,
kolik bych ocekaval. Potrebuju napr. sloupcovy graf prolozeny krivkou
a dalsi podobne vychytavky.
Nevite o nejake lepsi komponente nez Chart FX (nejlepe rovnou jako
ISAPI Extension, neni ale podminkou) ?
Marne jsem na Internetu hledal neco sikovneho.
Nemusi to byt ani nutne freeware nebo shareware. Beru i komercni
komponenty. Zakaznik to zaplati.
Diky.
==========================
Petr Slovak
Trilog, s.r.o.
http://www.trilog(tec)cz
e-mail: petr(zv)trilog(tec)cz
telefon: 0603 / 501 642
==========================

Combobox

[*] Petr Slovak <petr(zv)trilog(tec)cz> - 23.7.1998 11:55:56

Zmen u nej property Style z hodnoty csDropDown na csDropDownList.

-----Original Message-----
From: Ing. J�n Kuch�r [mailto:kuchar(zv)tuke.sk]
Sent: Thursday, July 16, 1998 11:14 AM
To: Delphi
Subject: Combobox


Caute !
Moja otazka znie : je mozne nejakym sposobom nastavit komponente
COMBOBOX vlastnost ReadOnly, ide mi o to, aby zvoleny text nemohol uzivatel
upravit ( zmazat, alebo doplnit znaky ).

Dik

Katedra v�robn�ch inov�ci�
SjF TU Ko�ice
Ing. J�n Kuch�r
E-mail : kuchar(zv)tuke.sk


Zarazejici rychlost

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 23.7.1998 12:19:12

> No teda aspon na Sybase Anywhere je to k nicemu ale rek bych ze i obecne na
> SQL servru.
> Pro zjisteni RecordCount je totiz nutne natahnout celou query na klienta -
> vyzkouseno!
> A navic stejne pokud by si chtel skocit na konkretni radku query tak se musi
> dotahnout vsechny radky pred ni!

Proboha a proc, kdyz uz nekdo pouziva SQL Server, nepouziva take
SQL dotazy ???

*** POZOR, DOCHAZI KE ZMENE TELEFONNICH A FAXOVYCH CISEL ***
*** T A T O Z M E N A J E J I Z K O N E C N A ! ***

S pozdravem
Petr Zahradnik, pocitacovy expert

==============================================================
=== Petr Zahradnik - Computer Laboratory ===
=== Obvodova 740/14, PO BOX 15, 400 07 Usti nad Labem 7 ===
=== telefon: 047-5500610, telefon/fax: 047-5501627 ===
=== mobilni telefon GSM (hotline): 0602-409601 ===
=== http://www.clexpert(tec)cz/ clexpert(zv)clexpert(tec)cz ===
==============================================================

ComboBox jako v Explorerovi?

[*] Tomas Bobek <tbobek(zv)ciglersw(tec)cz> - 23.7.1998 12:25:44

Nazdar vsichni,

poradi mi nekdo, jak mam vyrobit ComboBox takovy, jaky je v Explorerovi
(Pruzkumnikovi) -- tedy vcetne ikon s Muj pocitac, Okolni pocitace,
Tiskarny, Ovladaci panely..? Dal bych potreboval tyto ikony narvat i do
odpovidajiciho ListViewu....

Diky za pomoc.

--
Tomas Bobek.

BDE !!??

[*] chaloupka(zv)mboxzn(tec)cz (Chaloupka Pavel) - 23.7.1998 12:42:56

Podle toho co se pise v helpu k BDE tak to pracuje asi takto

SHARED AUTOCOMMIT
BDE samo startuje a potvrzuje transakce pri kazde uprave dat. Je to jako
bych udelal:
DBMoje.StartTransaction;
Tabulka.Insert; ....
DBMoje.Commit;

SHARED NOAUTOCOMMIT
BDE nestartuje automaticky transakce a nechava vse na serveru. Znamena to ze
musite vedet v jakem rezimu pracuje databaze a jak je vygenerovana (treba na
Informixu 5.0 se da vygenerovat databaze bez transakci...)

NOT SHARED
BDE vubec nestartuje transakce a nedoporucuje se pouzivat
DBMoje.StartTransaction;
Transakce se maji ovladat pomoci prikazu serveru posilane pres TQuery. Da se
tim vyuzit vsech moznosti daneho serveru, ale na ukor prenositelnosti.

Jestli je to jinak tak mne nekdo opravte....

-----P�vodn� zpr�va-----
Od: �ke��k Jaroslav <jaro(zv)zbk(tec)czn(tec)cz>
Komu: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
Datum: 23. �ervence 1998 5:51
P�edm�t: Re: BDE !!??


Plati, ze pri ulozeni prvniho zaznamu a pri AUTOCOMMIT se dotahuje zbytek
dat. Proto ta dlouha doba. Pri NOAUTOCOMMIT se zrejme vypina i AutoFetchAll
a tudiz se zbyla data nedotahuji. Napis tedy jakym zpusobem vlastne ukladas
data.
AUTOCOMMIT nesouvisi ani tak s uloznim dat, ale spise s jejich
automatickym potvrzenim. Podivej se, jestli se ti neprovadi to potvrzeni
automaticky az v pripade zavolani metody Close na DataSet. V takovem pripade
by jsi mohl pri vypnutem AUTOCOMMIT prijit o nejaka data v pripade
nekorektniho
ukonceni programu. Default nastaveni SQLPassthruMode neco asi tez naznacuje.
Jaro.
---------------------------------------------
>No nevim nevim. Ja mam SQLPassthruMode nastaven porad na NOAUTOCOMMIT.
>Kdyz jsem mel nastaveno AUTOCOMMIT (nepouzivam CacheUpdate), tak to trvalo
>hrozne dlouho nez se poprve zalozil novy zaznam (hlavne na siti s ISA
>sitovkami). Po prepnuti vyse zmineneho parametru v BDE se zaklada zaznam v
>mziku a data jsou fyzicky ulozena. Konstrukce StartTransaction a Commit,
>nebo Rollback je potom pri zakladani noveho zaznamu, ci jeho uprave
>zbytecna (podle meho zkoumani). Ale samozrejme ze kdyz delam napr.
>uzaverku mesice, tak na zacatku zapnu transakci a na konci udelam
>COMMIT popr. ROLLBACK (je to super vec). Davkove zpracovani me
>nevyhovuje, protoze muj uzivatel udela jeden zaznam za dlouhou dobu,
>ale hlavne se musi na sklade okamzite projevit aktualni zasoba.
>
>Ale stejne dik za vsechny odpovedi.
>
>MJ soft
>Jelen Jindrich ml.
>
>
>----------
>> Odes�latel: �ke��k Jaroslav <jaro(zv)zbk(tec)czn(tec)cz>
>> Komu: DELPHI Distribution List <delphi(zv)pinknet(tec)cz>
>> P�edm�t: Re: BDE !!??
>> Datum: 20. �ervence 1998 15:50
>>
>> Autocommit ridi automaticky transakci na urovni jednoho zaznamu.
>> Provadi tedy skryte "commit" pro kazdy zaznam (post). Tim muze dojit
>> ke znacnemu spomaleni v pripade hromadneho ukladani dat.
>> Jestlize vsak autocommit vypnes, pak pri post nebude zaznam fyzicky
>ulozen
>> (resp. potvrzen v pripade servru) a predpoklada se, ze se o to postaras
>sam
>> v mistech,
>> kde je to z hlediska rychlosti efektivnejsi.
>> Podle me zkusenosti je vhodnejsi ponechat nastaveni SQLPassthru mode na
>> AUTOCOMMIT, protoze tento stav lze jednoduse vypnout i programove.
>> V mistech, kdy jde o hromadne zadani dat nebo kde je to z ruznych
>> duvodu zadouci pouzij konstrukci:
>>
>> Data1.Database1.StartTransaction;
>> try
>> // .... ulozeni dat tabuky na server pole potreby napr:
>> Data1.Query1.ApplyUpdates;
>> Data1.Query.CommitUpdates;
>> // ..... nebo i jinak provest hromadnou aktualizaci dat
>> Data1.Database1.Commit;
>> except
>> Data1.Database1.Rollback;
>> Application.MessageBox('Nepodarilo ulozit.', 'Informace ...', MB_OK +
>> MB_ICONINFORMATION);
>> Exit;
>> end;
>>
>> Tim je autocommit vyrazen a uplatni se pouze ve vsech ostatnich
>pripadech.
>>
>> Ta delsi prodleva pri ulozeni prvniho zaznamu spociva v necm jinem.
>> Pri otevrni Tquery se na dataset nenatahne cely obsah dat ze serveru, ale
>> pouze urcity pocet zaznamu odpovidajici velikosti nastaveneho bufferu.
>> Tim dojde ke znacnemu zrychleni operace Open u vetsich objemu dat.
>> Pri ulozeni prvniho zaznamu vsak dojde k dotazeni zbyleho mnozstvi dat do
>> DataSetu (TQuery). Ukladani dalsiho zaznamu je uz rychle, protoze
>> data jsou uz nactena vsechna. Zatim jsem neobjevil rozumny zpusob
>> jak tomuto efektu zabranit, krome dusledneho vytvareni dotazu s malym
>> objemem dat na klienta.
>>
>> Jaro.
>> -----------------------------------------------
>>
>> >Zdravim
>> >-----------
>> > Mel bych mensi dotaz. Mam vetsi aplikaci napsanou v Delphi3 na
>dbServru
>> >Interbase5. Ze zacatku jsem mel problem s rychkosti pri spusteni
>aplikace a
>> >prvnim pridani zaznamu. Pozdeji jsem zjistil, ze kdyz nastavim v BDE
>> >SQLPassthru mode na NOAUTOCOMMIT (misto AUTOCOMMIT), tak se prida zaznam
>> >okamzite. Ale kdyz ho chci ulozit tak mu to trva delsi dobu. Pokud
>pridavam
>> >dalsi zaznami uz je to v pohode. Testoval jsem to i na malinke aplikaci,
>> >kde bzl jen jeden Query ,DataSource a DBGrid. Chova se to uplne stejne.
>> >Rekl bych ze to je kvuli BDE. Ma s tim nekdo zkusenosti? Predem diky za
>> >odpovedi.
>> >
>> >
>> >MJ soft
>> >Jelen Jindrich ml.

Activ form

[*] mstevlik(zv)gamo.sk - 23.7.1998 12:48:50

Nazdarek,
Mam dalsi, asi trivialny problem.
Mam MDI aplikaciu.
Mam dva okna, jedno je z nich hlavne a to druhe informacne (Hlavicky
objednavok, Tela objednavok). Cez DblClick DBGridu v hl.okne si zobrazujem
telo danej objednavky v inf.okne. Otestujem si, ci je inf.okno creatnute ak
nie je tak ho creatnem.
A vcul ten problem:
Dajme tomu, ze si vyberem v hl.okne objednavku c.1, inf.okno este
neexistuje, takze ho creatnem (inf.okno bude tym padom aktivne). Potom
urobim na hl.okne dblclick na objednavke c.2, sice sa mi updatetne obsah
inf.okna, ale zostane na pozadi.
Rad by som napisal nieco taketo, pri dblcliku v hl.okne:
if (Inf.okno nieje create) then infokno := Tinfokno.creat(self) <-- toto
uz mam spravene
else infokno.aktivuj <--- toto tu neviem
napisat
Dik za vsetko
Majkl

Combobox

[*] Marian Cipka <Cipy(zv)army.sk> - 23.7.1998 12:48:31



Ing. Jn Kuchr wrote:

> Caute !Moja otazka znie : je mozne nejakym sposobom nastavit
> komponente COMBOBOX vlastnost ReadOnly, ide mi o to, aby zvoleny text
> nemohol uzivatel upravit ( zmazat, alebo doplnit znaky
> ).
> Dik

Ja som to riesil takto:

private
{ Private declarations }
Line: String;

procedure TItemForm.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Line:=ComboBox1.Text;
end;

procedure TItemForm.ComboBox1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
ComboBox1.Text:=Line;
end;

Nie je to ziadne vitazstvo, pretoze zobrazeny text sa pri stlaceni
klavesy (zobrazitelneho znaku) zmeni
a vzapeti nato sa vrati do povodneho stavu. Je to taky neziaduci efekt.
Navyse, ak pouzivatel podrzi
stlaceny klaves dlhsie, text sa zmeni a je problem vratit ho spat. Viac
som sa tomu nevenoval.

Marian Cipka


Zruseni Delete v TTable

[*] Marcel Telka <marcel(zv)vadium.sk> - 23.7.1998 12:53:59

Skus Abort (namiesto Cancel).

M.T.>Ahoj lidi,
>poradte, prosim, potreboval bych odchytit udalost v TTable pri Delete
>(to neni problem), ale potom ten prikaz delete zrusit (tj. zachovat
zaznam).
>Jak na to? Metoda Cancel nefunguje. Mohl bych odchytavat stisk
>Ctrl+Delete v DBGridu, ale nejak se mi to nezda ono. Je nejake
>elegantni reseni?
>
>D3, lokalni paradox tabulky.
>
>Diky za namety,
>
>Pavel Kral, AFX
>
>

Dotaz na typ formulare

[*] Marcel Telka <marcel(zv)vadium.sk> - 23.7.1998 12:56:45

Skus formular otvarat (zobrazovat) pomocou ShowModal - nemusis menit jeho
typ.
Ako modalny moze fungovat kazdy formular.

M.T.

-----Original Message-----
From: Franta <macala(zv)praktik(tec)cz>
To: 'DELPHI Distribution List' <delphi(zv)pinknet(tec)cz>
Date: 22. j�l 1998 13:45
Subject: Dotaz na typ formulare

ahoj vsem,

mam problem z tvorbou formularu. V prostredi jsem si vytvoril formular,
ktery jsem normalne pouzival. Potreboval jsem ho ale nutne zmenit na
formular modalni. Tudiz jsem chtel pouze prepsat

MForm = class(TForm) na TForm8 = class(TModalForm)

Tento typ jsem nasel v MISTROVSTVI v DELPHI.

V Delphi 3 jsem vsak tento typ nenasel, tudiy jsem chtel pouzit TCUSTOMFORM.
Tomu vsak chybi hodne vlastnosti, tudiz se muj formular neotevre.
Takze nevim jak dal, a prosim o radu.

diky Franta
macala(zv)praktik(tec)cz

Komponenta na grafy

[*] Rul��ek Daniel <dan.r(zv)avizo(tec)cz> - 23.7.1998 13:30:51

Mrkni se na
http://www.serverobjects.com/products.htm#AspChart

Dan

-----Original Message-----
From: Petr Slovak [mailto:petr(zv)trilog(tec)cz]
Sent: Thursday, July 23, 1998 11:51 AM
To: Delphi
Subject: Komponenta na grafy


Potrebuji na web stranky umistit graf, ktery se generuje az na zaklade
uzivatelem definovanych parametru. Rozhodl jsem se, ze to udelam
pomoci ISAPI Extension. Jednoduche grafy takhle hezky vygeneruji
pomoci ChartFX (ulozim jako bitmapu a tu si pak zkonvertuju do JPG).
Ma to ale dve vady na krase:
a) slozite generovani JPG. Idealni by bylo, kdybych mel komponentu,
ktera rovnou umi ulozit graf do GIF nebo JPG. To bych ale jeste
ozelel.
b) Vice mi vadi druha vec: ChartFX neumi s grafy az zas tolik veci,
kolik bych ocekaval. Potrebuju napr. sloupcovy graf prolozeny krivkou
a dalsi podobne vychytavky.
Nevite o nejake lepsi komponente nez Chart FX (nejlepe rovnou jako
ISAPI Extension, neni ale podminkou) ?
Marne jsem na Internetu hledal neco sikovneho.
Nemusi to byt ani nutne freeware nebo shareware. Beru i komercni
komponenty. Zakaznik to zaplati.
Diky.
==========================
Petr Slovak
Trilog, s.r.o.
http://www.trilog(tec)cz
e-mail: petr(zv)trilog(tec)cz
telefon: 0603 / 501 642
==========================

Coolbar, Toolbar

[*] Semecky Vojtech - IN <xsemv03(zv)vse(tec)cz> - 23.7.1998 13:36:33 met-1dst

> > Ja pouzivam Toolbar97 (free with source code) od Jordana
> > Russella a mam pokoj.
> > (http://members.aol.com/jordanr7).
>
> Zrovna moc free mi to nepripada:
>
> The incredibly popular Toolbar97 component is now shareware. This
> decision was based mainly on the heavy volume of support that I do, and
> enhancements I plan to make in the future. If you use it in commercial
> or shareware applications, you are encouraged to register. Registration
> entitles you to all future versions of Toolbar97 1.x and 2.x, including
> full source code. And it's only US$20 for a single user license! You can
> even register online securely using your credit card!

Aha. Tak uz to neni free. Ale myslim, ze tu puvodni free verzi
muzeme pouzivat, kdyz to driv distribuoval jako freeware.
Stejne tak ji muzeme sirit, protoze to v ni je vyslovne dovoleno
(pokud ja vim). A protoze je to se zdrojakama, tak si to muzeme i
upravovat pro vlastni potrebu.

Vojta


Zarazejici rychlost

[*] Martin Kubecka <martin.kubecka(zv)dytron(tec)cz> - 23.7.1998 14:00:07

Tak tak, nehlede na to, ze RecNo funguje jen na souborovych databazich
Paradox a DBase ;-) a ne na SQL databazich takze to neni mozne ani
technicky ...

Mac

�ke��k Jaroslav wrote:

> Pro zjisteni poctu zaznamu v TQuery1 je mnohem lepsi proto udelat
> takovyto dotaz:
> SELECT Count(*) FROM Tabulka WHERE stejna podminka jako v TQuery1.
> Je to mnohem rychlejsi.
> Jaro
> ----------------------------------------------------------------------
>
> > Co takhle pouzit RecNo a RecordCount? (DataSet.RecNo := RecordCount/2).
> >To by mohlo chodit.
> >
> > Michal Kara alias lemming



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