Archív konference Delphi

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

prava na Alter Table v FB

[*] Novy Lubos <lnovy(zv)unileasing(tec)cz> - 25.4.2007 10:29:15

Zdravim,

Potrebuju na FB zjistit zda v tabulce existuje sloupec a kdyz ne, tak ho pridat.
Bohuzel mi ale ExecSQL na ALTER TABLE konci chybou: no permition for control access to TABLE nazevtabulky.
Pritom mam veskera prava na tabulku pridana pro roli, pod kterou se do DB hlasim.
Musim pro ALTER TABLE z programu nastavit jeste i nejaka dalsi prava?

Cast kodu:

IBQPom.SQL.Add('select RDB$FIELD_NAME from rdb$relation_fields where
RDB$FIELD_NAME=''nazevpolozky'' and RDB$RELATION_NAME=''nazevtabulky''');
IBQPom.Open;
if IBQPom.RecordCount<=0 then begin
IBQPom.close; IBQPom.sql.clear;
IBQPom.sql.add('ALTER TABLE nazevtabulky ADD nazevpolozky SMALLINT');
IBQPom.ExecSQL;

prava na Alter Table v FB

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 25.4.2007 10:35:16

> Potrebuju na FB zjistit zda v tabulce existuje sloupec a kdyz ne,
> tak ho pridat.
> Bohuzel mi ale ExecSQL na ALTER TABLE konci chybou: no permition
> for control access to TABLE nazevtabulky.
> Pritom mam veskera prava na tabulku pridana pro roli, pod kterou
> se do DB hlasim.
> Musim pro ALTER TABLE z programu nastavit jeste i nejaka dalsi prava?

Mam pocit, ze na ALTER TABLE musis byt OWNER tabulky.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

Jak dosahnout vyssi rychlosti v ADO u Oracle OleDB

[*] lelicek(zv)volny(tec)cz - 25.4.2007 08:31:04

Od: "Petr Balsanek" <petr.balsanek(zv)asei(tec)cz>

> a z predbeznych testu se
> zda, ze vse pracuje jak ma, ale je zde oproti BDE velky
> pokles v rychlosti.
> Zatim jsme to zkouseli jen na Oracle, na MS-SQL by
> snad byt takovy problem
> nemusel (cetl jsem, ze microsofti provideri by mely
> byt obecne rychlejsi nez
> BDE), ale u Oracle OleDB providera je to velmi vyrazne.
> Bohuzel nemuzeme
> pouzit microsoftiho Oracle OleDb providera, nebot nepodporuje
> Bloby a jeho
> vyvoj jiz pry dale nepokracuje.
> Pro MS-SQL pouzivame Provider=MSDAORA.1 z baliku MDAC
> a pro Oracle
> Provider=OraOLEDB.Oracle.1.
> Chtel bych se tedy zeptat na vase zkusenosti s ADO
> a rychlosti. Zda neni
> mozne napr. pomoci nejakych parametru ConnectionStringu
> nebo nastavenim
> patricnych property u TADOConnection nebo TADOQuery
> vyrazne zvysit rychlost
> pristupu. Kolega zjistil napriklad, ze se vyrazne urychlily
> selecty, kde
> konstrukci "select *" nahradil vyctem sloupcu, nicmene
> stale je to velmi
> znatelne pomalejsi nez u BDE.
> Dat zakaznikum software, ktery sice nebude pouzivat
> jiz nepodporovane BDE,
> ale bude na Oracle velmi vyrazne pomalejsi, to nemuzeme.
>

Ahoj,

pro MSSQL bych doporucil nativni provider SQLOLEDB.1,
jinak se co do rychlosti osvedcil pristup pres ODBC (respektive ADO for
ODBC) MSDASQL.1 (pouzivame ho pro ORACLE). Ma sice pomalejsi connect,
ale vlastni zpracovani je "zdanlive" dokonce rychlejsi (vraci rizeni
programu jeste pred uplnym naplnenim bufferu - mozna BDE pracuje podobne,
nevim, opustil jsem ji hned po prvnim programu).

Pavel



--
Stihle nohy? Pekny zadek? S N-Dorfiny za par babek!
Inline brusle Nike se systemem Air jiz od 1999 Kc!
http://www.sportobchod(tec)cz/in-line


TADOStoredProc a parametry

[*] lelicek(zv)volny(tec)cz - 25.4.2007 08:19:03

Od: "Ing. Pavel Zilinec" <pavel.zilinec(zv)seznam(tec)cz>
>
> Prechazime z DB.TStoredProc na ADODB.TADOStoredProc
> (pripojeni na SQL
> pres provider 'SQLOLEDB.1') a zjistili jsme, ze v ADO
> vygenerovany SQL
> prikaz nepredava do ulozene procedury parametry jejich
> vyjmenovanim.
> Priklad:
> Procedura
> create NejakaSP
> (zv)Zpusob smallint,
> (zv)Kod char(10) = null,
> (zv)NazKodu char(30) = null,
> (zv)PopisKodu char(100) = null,
> (zv)Zrusen bit = null,

Ahoj,
nevim presne "co je problemem".
Pokud ma TADOStoredProc definovane jmeno procedury a connection,
staci zavolat TADOStoredProc.Parameters.Refresh a pak zadat
pouze parametry, ktere chci predat (ostatni musi mit default hodnotu)
pomoci TADOStoredProc.Parameters.ParamByName('(zv)Zpusob').Value := .

To co se deje "uvnitr volani" neni uplne podstatne, jde jen vytvoren
"temporary skriptu", ktery "zrejme" zjednodusi sql serveru zpracovani
(je to videt v profileru).

Pavel

--
JARNI HIT! Stihle nohy? Pekny zadek? S N-Dorfiny za par babek!
Inline brusle Nike se systemem Air jiz od 1999 Kc!
http://www.sportobchod(tec)cz/in-line


Jak dosahnout vyssi rychlosti v ADO u Oracle OleDB

[*] Petr Balsanek <petr.balsanek(zv)asei(tec)cz> - 25.4.2007 12:43:25

Oprava, pro MS-SQL pouzivame SQLOLEDB.1, to co jsem napsal byl micosofti
provider pro Oracle.
To ODBC by stalo za zkousku, nema to ale na Oracle stejne problemy s Bloby a
novymi datovymi typy jako ten microsofti OleDB provider pro Oracle?

Petr

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of lelicek(zv)volny(tec)cz
Sent: Wednesday, April 25, 2007 8:31 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Jak dosahnout vyssi rychlosti v ADO u Oracle OleDB provideru?

Od: "Petr Balsanek" <petr.balsanek(zv)asei(tec)cz>

> a z predbeznych testu se
> zda, ze vse pracuje jak ma, ale je zde oproti BDE velky
> pokles v rychlosti.
> Zatim jsme to zkouseli jen na Oracle, na MS-SQL by
> snad byt takovy problem
> nemusel (cetl jsem, ze microsofti provideri by mely
> byt obecne rychlejsi nez
> BDE), ale u Oracle OleDB providera je to velmi vyrazne.
> Bohuzel nemuzeme
> pouzit microsoftiho Oracle OleDb providera, nebot nepodporuje
> Bloby a jeho
> vyvoj jiz pry dale nepokracuje.
> Pro MS-SQL pouzivame Provider=MSDAORA.1 z baliku MDAC
> a pro Oracle
> Provider=OraOLEDB.Oracle.1.
> Chtel bych se tedy zeptat na vase zkusenosti s ADO
> a rychlosti. Zda neni
> mozne napr. pomoci nejakych parametru ConnectionStringu
> nebo nastavenim
> patricnych property u TADOConnection nebo TADOQuery
> vyrazne zvysit rychlost
> pristupu. Kolega zjistil napriklad, ze se vyrazne urychlily
> selecty, kde
> konstrukci "select *" nahradil vyctem sloupcu, nicmene
> stale je to velmi
> znatelne pomalejsi nez u BDE.
> Dat zakaznikum software, ktery sice nebude pouzivat
> jiz nepodporovane BDE,
> ale bude na Oracle velmi vyrazne pomalejsi, to nemuzeme.
>

Ahoj,

pro MSSQL bych doporucil nativni provider SQLOLEDB.1,
jinak se co do rychlosti osvedcil pristup pres ODBC (respektive ADO for
ODBC) MSDASQL.1 (pouzivame ho pro ORACLE). Ma sice pomalejsi connect,
ale vlastni zpracovani je "zdanlive" dokonce rychlejsi (vraci rizeni
programu jeste pred uplnym naplnenim bufferu - mozna BDE pracuje podobne,
nevim, opustil jsem ji hned po prvnim programu).

Pavel



--
Stihle nohy? Pekny zadek? S N-Dorfiny za par babek!
Inline brusle Nike se systemem Air jiz od 1999 Kc!
http://www.sportobchod(tec)cz/in-line

Delphi + Firebird - jak na azbuku...

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 25.4.2007 15:33:36

Hezke odpoledne,

mam pomerne rozsahlou aplikaci v Delphi 5, IBX, FireBird 2.0.
Zakaznik prisel s tim, ze by vyhledove chtel program i data mit mj. i v azbuce.

Jestli s tim nekdo mate nejake zkusenosti, ktere byste mohli strucne shrnout do par doporuceni, poradite prosim, co je k
tomu treba?

- Novejsi Delphi - Studio 2006, nebo Delphi 2007 pro Win32 (na ceskem webu jsem je ani nevidel)? Zatim nepotrebujeme prechod
pod .NET

- IBX komponenty pro pristup k databazi - funguji i v D2006/D2007?

- Preklad - umi Lokalizator 6 i azbuku a umi si poradit s Win32 aplikaci vytvorenou v D2006/7?

- Databaze - jde nejak rozumne skloubit ruzne pozadavky napr. na razeni dat? Zatim jsem na FB nikdy nepouzival Unicode, jsou
tam nejake zadrhele, na ktere je zahodno si dat pozor a clovek by je moc necekal?

- FastReport - je mozne v nem realizovat ZNAKOVY tisk, ve kterem by se kombinovala latinka a azbuka?

Diky za jakekoli namety ci odkazy,

Karel Rys


Delphi + Firebird - jak na azbuku...

[*] Rastislav Lazan <lazan(zv)davidplus.sk> - 26.4.2007 08:30:42

Pred nedavnom som riesil rovnaky problem (Delphi 7+BDE Paradox). Takze v
skratke:
1.Polia v DB, do ktorych sa zapisuje aj azbuka rozsirit na dvojnasobok
dlzky
2.V importnom XML nic neprekodovavat, zobrazovat ako je
3.Polia do DB zapisovat pomocou Utf8Encode()
4.Na zobrazovanie z DB pouzivat TNT cez Utf8Decode()
5.Na zistenie azbuky pouzivam jednoduchu no pomalu funkciu:
function JeAzbuka(cStr: WideString): Boolean;
var
nCount, nLen: Integer;
lRet: Boolean;
begin
lRet := False;
nLen := Length(cStr);
for nCount := 1 to nLen do begin
if Ord(cStr[nCount]) = 272 then begin
lRet := True;
Break;
end;
end;
Result := lRet;
end;
6.Vsetko funguje ako ma, jedine co som nerozchodil je TNTDbGrid, ktory
odmieta zobrazovat azbuku. Mozno niekto poradi preco...

S pozdravom Ing. Rastislav Lazan
e-mail: lazan(zv)davidplus.sk
icq: 35 70 30 80
tel.: (037) 693 00 80
fax: (037) 693 00 81


-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Karel Rys
Sent: Wednesday, April 25, 2007 3:34 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Delphi + Firebird - jak na azbuku...

Hezke odpoledne,

mam pomerne rozsahlou aplikaci v Delphi 5, IBX, FireBird 2.0.
Zakaznik prisel s tim, ze by vyhledove chtel program i data mit mj. i v
azbuce.

Jestli s tim nekdo mate nejake zkusenosti, ktere byste mohli strucne
shrnout do par doporuceni, poradite prosim, co je k tomu treba?

- Novejsi Delphi - Studio 2006, nebo Delphi 2007 pro Win32 (na ceskem
webu jsem je ani nevidel)? Zatim nepotrebujeme prechod pod .NET

- IBX komponenty pro pristup k databazi - funguji i v D2006/D2007?

- Preklad - umi Lokalizator 6 i azbuku a umi si poradit s Win32 aplikaci
vytvorenou v D2006/7?

- Databaze - jde nejak rozumne skloubit ruzne pozadavky napr. na razeni
dat? Zatim jsem na FB nikdy nepouzival Unicode, jsou tam nejake
zadrhele, na ktere je zahodno si dat pozor a clovek by je moc necekal?

- FastReport - je mozne v nem realizovat ZNAKOVY tisk, ve kterem by se
kombinovala latinka a azbuka?

Diky za jakekoli namety ci odkazy,

Karel Rys

D7:Error reading symbol file

[*] Kalhous <kalhous(zv)eu(tec)cz> - 26.4.2007 08:20:41

Pri otevreni projektu v D7 se mi stale casteji objevuje hlaska "Error reading symbol file" kdyz dojede "Loading compiler symbols". Zda se ze to nicemu nevadi ale trochu me to znervoznuje. Nevite cim to muze byt?
Z.Kalhous

Podepsani .exe souboru

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 26.4.2007 07:38:38

O jak ja nesnasim capicom !!!
2 dny jsem se to snazil rozfungovat - porad mi to hlasilo, ze podpis se
nepodarilo overit a nakonec jsem zjistil, ze capicom 2.0.0.0 ten podpis
vytvori spatne, zatimco verze 2.1.0.1 spravne.

Takze pozor na to pokud se s tim bude nekdo potykat.

Jinak nevite nekdo jakym zpusobem se pristupuje k privatnimu klici
certifikatu, ktery je ulozen v jinem souboru nez vlastni certifikat ?
Mam totiz soubory .spc a .pvk a rad bych je pouzil tak jak jsou.
Prozatim jsem je slozil do pfx, ale stejne. Bohuzel jsem v capicom
nenasel zadnou moznost, jak nacist certifikat ze souboru s moznosti
specifikace souboru s privatnim klicem, ci jinou moznost, jak nacist
privatni klic.

Diky

S pozdravem

Milan Tomes


Ondrej Kelle napsal(a):
>> resim podepisovani .exe souboru certifikatem (trosku v tech terminech
>> plavu, ale melo by se jednat o MS Authenticode). Bohuzel utilita
>> SignCode je pro nepouzitelna, protoze vzdy vyzaduje zadani hesla k
>> privatnimu klici coz pro mne neni pripustne (nelze dopustit aby meli
>> vsichni programatori dostupny certifikat i s heslem k
>> privatnimu klici).
>> To jsem celkem rychle vyresil sluzbou, ktera bude monitorovat
>> adresar a
>> automaticky podepisovat to, co se v nem vyskytne (.exe, .dll, .ocx
>> atd...). Nicmene problem je v tom, ze absolutne netusim, co
>> vsechno, kde
>> a jak musim provest, abych korektne podepsal dany soubor (ve velmi
>> blizke budoucnosti se bude jednat i o podepisovani souboru .msi).
>>
> Da sa pomerne jednoducho pouzit CAPICOM od Microsoftu, co je myslim COM wrapper nad CryptoAPI.
> ....

Delphi + Firebird - jak na azbuku...

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 26.4.2007 06:52:35

Ahoj,

> mam pomerne rozsahlou aplikaci v Delphi 5, IBX, FireBird 2.0.
> Zakaznik prisel s tim, ze by vyhledove chtel program i data mit mj. i v
> azbuce.
>
> Jestli s tim nekdo mate nejake zkusenosti, ktere byste mohli strucne
> shrnout do par doporuceni, poradite prosim, co je k tomu treba?

Pred nekolika roky jsem tez neco podobneho resil. Zakaznik si to casem
rozmyslel, takze to nebylo dotazeno uplne do konce, ale urcite radu veci k
tomuto tematu najdes v archivu konference (hledat slovo azbuka). Ja uz to
v hlave prakticky nemam, ale je treba si nejprve ujasnit toto:

- program ma bezet v azbuce na ruskych Windows, nebo i na anglickych,
ceskych apod. Windows? Da se tam aspon cekat ruske narodni prostredi?

V zasade jde o to, ze fonty na ruskych Win maji v dolni polovine ASCII
tabulky normalni latinku a v horni polovine kompletni azbuku. Problematika
zobrazeni azbuky se tak prilis nelisi od problematiky zobrazeni cestiny.

Jenze fonty s kompletni azbukou jsem potkal prave jen na ruskych Windows a
mam pocit, ze i nastaveni ruskeho narodniho prostredi ma podobny efekt.
Takze pismo treba MS Sans Serif najednou zacne v techto prostredich azbuku
korektne zobrazovat, ale na ceskych. anglickych apod. Win bez rustiny tam
jsou nesmysly.

Pamatuji si dale, ze jsem na spolecnem predku vsech formularu z nejakeho
duvodu nastavoval font na Arial s ruskym charsetem. Nevim uz proc.

Za dane situace tedy neni nutno resit unicode a lze libovolne michat
latinku s azbukou. Nevim, jak je to s razenim v databazi - to jsem
nepotreboval.

Pokud by mela aplikace bezet v azbuce na libovolnych Windows, uvedene
postrehy jsou asi k nicemu.

Moje podminky: D5E, lokalizator 4.70c

David Lebeda


Databaza miesto ini filov

[*] ikozak(zv)tsw.sk - 26.4.2007 09:42:47

Dobry den,
mate niekto napad, ako riesit nasledovny problem?

Mam program, v ktorom na ukladanie rozmerov formov a sirky stlpcov atd. pouzivam
komponenty z RxLIB. Pri velkom pocte uzivatelov taketo "distribuovane"
ukladanie tychto informacii je celkom narocne na pracu administratora.

Vynorila sa otazka, ci by sa obsah tychto ini filov nedal udrziavat priamo v
databaze, a tak by ich bolo mozne centralne udrziavat, pridelovat a menit.

Nemate niekto skusenosti s podobnym problemom?

Dik za napady. Ivan Kozak

Databaza miesto ini filov

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 26.4.2007 09:50:49

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of ikozak(zv)tsw.sk

Ahoj,

> Mam program, v ktorom na ukladanie rozmerov formov a sirky
> stlpcov atd. pouzivam
> komponenty z RxLIB. Pri velkom pocte uzivatelov taketo
> "distribuovane"
> ukladanie tychto informacii je celkom narocne na pracu administratora.

Ano, JVCL (nastupce Rx) toto ma tusim poresene, umi ukladat
do ini, registru i primo do DB.

PM


Chyba E_FAIL

[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 26.4.2007 13:51:07

Zdravim

Nainstaloval jsem SP2 na MS SQL 2005 standard.

Programek, ktery se pripojuje a pracuje s databazi zacal hlasit chybu:

Zprostredkovatel dat nebo jina sluzba vratila stav E_FAIL.

Chyba se objevuje v okamziku, kdy ADOQuery chce provest nasledujici select

SELECT spid,lastwaittype,(SELECT name FROM master.dbo.sysdatabases WHERE
dbid=master.dbo.sysprocesses.dbid) as
NameDatabase,cpu,physical_io,memusage,status,hostname,program_name,cmd,nt_do
main,nt_username,loginame,stmt_start,stmt_end FROM master.dbo.sysprocesses
WHERE (SELECT name FROM master.dbo.sysdatabases WHERE
dbid=master.dbo.sysprocesses.dbid)=:DB_ID and program_name='HELIOS IQ'

Do parametru vkladam hodnotu ADOConnection.DefaultDatabase po pripojeni.

Nez jsem nainstaloval SP2 bylo vse OK. Navic, kdyz select provedu pres SQL
Server Management Studio tak probehne normalne bez chyb.
Nevite nekdo co presne znamena uvedena chyba.

Programek je napsany v D5Ent, pripojeni pres ADO, provider=SQLOLEDB.1

Diky
Ing. Igor Vodicka

runtime error 216

[*] Ivan Dulgerov <ivan.dulgerov(zv)sazp.sk> - 26.4.2007 13:37:06

Zdravim.

Takze podla subjektu asi vidite, ze sa jedna o dalsi "evergreen"
v konferencii.
Mame aplikaciu postavenu na TDataSnap, vyvijanu na Win XP Prof.
Po instalacii na PC uzivatelov sa na niektorych pocitacoch
prejavila chyba (viz subjekt).

Chyba sa vyskytuje pri prihlasovani na alikacny server.
Okamzite po tomto chybovom hlaseni nasleduje pad aplikacie.
Na pocitaci na ktorom sa tieto veci deju staci nastavit
na nasom software rezim kompaktibility na Win 98, a vsetko funguje
ako ma.

Otazka znie preco?

Soft je vyvijany na Win XP, a riadne odladeny aj v rezime
z obmedzenymi privilegiami.
Na vsetkych pocitacoch su (podla spravcu) nainstalovane vsetky
dostupne zaplaty. Takze co to docerta ;-) sposobuje?

--
S pozdravom

Ivan Dulgerov CEI SAZP Programator

Tajovskeho 28
97590 Banska Bystrica
tel: 048 4374144
ICQ : 190698607
mail : ivan.dulgerov(zv)sazp.sk

Databaza miesto ini filov

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 26.4.2007 14:17:09

Tohle resim asi nasledujicim zpusobem:
Struktura tabulky v databazi (muze byt jedna nebo vic)

FileName Varchar
Section Varchar
Values Varchar(hodne)

TDBIniFile
v Create(AFileName) nacte do ClientDataSet zaznamy z tabulky "where FileName=:AFileName"
to je stejne, jako TIniFile
pak nejlepe ReadSectionValues do TStringList
to je stejne, jako TIniFile
a pak uz na jednotlive hodnoty StringList.Values[Key]

Anebo
ReadString
ReadSectionValues(Section, StringList)
Resutl:=StringList.Values[Key]

Abych mohl snadno "napodobit" ReadInteger, ReadFloat a pod., mam od TStringList oddeden TPropList, ktery ma property IntValues, FloatValues a pod. s prislusnou konverzi.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

runtime error 216

[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 26.4.2007 15:35:15

Zdravim,

> Soft je vyvijany na Win XP, a riadne odladeny aj v rezime
> z obmedzenymi privilegiami.
> Na vsetkych pocitacoch su (podla spravcu) nainstalovane vsetky
> dostupne zaplaty. Takze co to docerta ;-) sposobuje?
no klasika to urcite je :-). Bohuzel chces odpoved typu oprav funkci tu a tu
a aplikace bude chodit. Ja se ale obavam, ze ti tu nikdo takovou odpoved
neda.

Obecne dojde k tomuto, pokud: nedodrzujes postupy, v kodu jsou chyby,
nerespektujes doporuceni z hlediska kompatibility jednotlivych funkci
pro dane
OS, obchazis casti VCL nebo funkce systemu.

Zkusil bych debugovat, vyradit podezrele casti kodu, atp ....


Jinak Runtime Error 216 je Access violation obslouzeno EAccessViolation.
S pozdravem Vaclav Halik

Chyba E_FAIL

[*] lelicek(zv)volny(tec)cz - 27.4.2007 13:42:41

Ahoj,
Nevim zda to vis, ale existuji dve verze SP2 pro MSSQL2005 a ta prvni
(starsi) je sama chyba. Zkus se podivat k MS co jsi instaloval, verze
se lisi prakticky pouze delkou souboru (pokud vim).

Pavel

Od: "Ing. Igor Vodicka" <vodicka(zv)sagit(tec)cz>
> Nainstaloval jsem SP2 na MS SQL 2005 standard.
>
> Programek, ktery se pripojuje a pracuje s databazi
> zacal hlasit chybu:
>
> Zprostredkovatel dat nebo jina sluzba vratila stav
> E_FAIL.
--
Kila navic? NOVINKA specialne pro zeny - Synephrine Inulin Liquid -
Miluj sve telo!
http://www.sportobchod(tec)cz/synephrine-inulin-liquid.htm


CESTINA V Rave Reports

[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 27.4.2007 11:44:34

Ahoj vsichni

Mam D7 Ent. Zkousim Rave Report. Potreboval bych poradit. Neexistuje nejaka metoda kterou bych v Delphi nebo v Eventech reportu prosel vsechny texty na sestave a nastavil jim font charset na arabsky. Staci jen priklad jak na to.
Dekuju

ps: Jeste jednou, aby se admin nezlobil

Jaromir Cermak

Rave Reports

[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 27.4.2007 11:12:32

Ahoj vsichni

Mam D7 Ent. Zkousim Rave Report. Potreboval bych poradit. Neexistuje nejaka metoda kterou bych v Delphi nebo v Eventech reportu prosel vsechny texty na sestave a nastavil jim font charset na arabsky. Staci jen priklad jak na to.
Dekuju

Jaromir Cermak

overenie prihlasovacieho mena

[*] stefunko(zv)szm.sk - 27.4.2007 07:26:17

Potreboval by som na domenovom serveri overit, ci je platna
urcita kombinacia meno-heslo, nezavisle od toho, kto je
prihlaseny. Poradi niekto?

Win XP, D6

Julo
=== reklama ======================================

http://mail.szm.com - e-mail a priestor na www stranku zadarmo

http://webhosting.szm.com - domeny a webhosting za najnizsie ceny

runtime error 216

[*] Ivan Dulgerov <idulgerov(zv)stonline.sk> - 26.4.2007 18:01:24

Zdravim

>> Soft je vyvijany na Win XP, a riadne odladeny aj v rezime
>> z obmedzenymi privilegiami.
>> Na vsetkych pocitacoch su (podla spravcu) nainstalovane vsetky
>> dostupne zaplaty. Takze co to docerta ;-) sposobuje?
> no klasika to urcite je :-). Bohuzel chces odpoved typu oprav funkci tu a
> tu
> a aplikace bude chodit. Ja se ale obavam, ze ti tu nikdo takovou odpoved
> neda.
> Obecne dojde k tomuto, pokud: nedodrzujes postupy, v kodu jsou chyby,
> nerespektujes doporuceni z hlediska kompatibility jednotlivych funkci
> pro dane
> OS, obchazis casti VCL nebo funkce systemu.
>

> Zkusil bych debugovat, vyradit podezrele casti kodu, atp ....
*Ok to by som aj ja rad, akurat na vyvojarskom PC sa to ani
*jediny raz nestalo :-(

S pozdravom
Ivan Dulgerov
Delphi5 Prof+ SP1, Delphi 4 St, Win XP Porf. + SP1, Win98 SE
mail : idulgerov(zv)stonline.sk
ICQ : 190698607

Chyba: Spravna inicializce aplikace (0xc0000142) s

[*] Dalibor <dalibor(zv)torola(tec)cz> - 27.4.2007 14:04:43

Ahoj, na jednom PC pri spusteni jakekoliv Netframeworkove aplikace se mi zobrazi chyba

Spravna inicializce aplikace (0xc0000142) se nezdarila anglicka varianta by mela byt "The application failed to initialize properly"


Nepomohlo odinstalovat a znovu nainstalovat net framefork (1.1, 2).

Nevite nekdo, kde by mohla byt chyba?

Dela to na notebooku s WinXP HOME SP2

Dekuji za jakoukoliv radu. Zatim jsem reseni nevygoogloval.

D

Chyba: Spravna inicializce aplikace (0xc0000142) s

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 27.4.2007 14:20:44

>
> Spravna inicializce aplikace (0xc0000142) se nezdarila anglicka varianta by mela byt "The application failed to initialize properly"

Nevim sice nic moc o .NET, ale takovoudle chybu to rve, pokud nenajde
nejake DLL na ktere se odkazujes. Zkus Dependency Viewer ci jak se to
jmenuje od P.Vonese.

TR

Chyba: Spravna inicializce aplikace (0xc0000142) s

[*] Dalibor <dalibor(zv)torola(tec)cz> - 27.4.2007 14:16:44

Tak je to mozna tim, ze dany clovek ma zavirovane pc. viz
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1507874&SiteID=1

> Ahoj, na jednom PC pri spusteni jakekoliv Netframeworkove aplikace se mi
> zobrazi chyba
>
> Spravna inicializce aplikace (0xc0000142) se nezdarila anglicka varianta
> by mela byt "The application failed to initialize properly"
>
> Nepomohlo odinstalovat a znovu nainstalovat net framefork (1.1, 2).
>
> Nevite nekdo, kde by mohla byt chyba?
>
> Dela to na notebooku s WinXP HOME SP2
>
> Dekuji za jakoukoliv radu. Zatim jsem reseni nevygoogloval.
>
> D
>

Rave Report a cestina v Delphi 2006

[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 27.4.2007 15:52:50

Ahoj vsichni

Nevite nekdo jak je to s cestinou ve verzich dodavanych s D2005 resp D2006. Musi se taky nastavovat arabsky charset?

Jaromir Cermak

Delphi 2007 - co pouzit misto tToolbarButton97?

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 30.4.2007 11:11:15

Dobry den,

zvazuju prechod na Delphi 2007, ale krome Unicode (!) tam postradam mezi komponentami tlacitko, ktere by umelo fungovat
podobne jako tToolbarButton97. Tj. moznost priradit akci, kdyz zmenim ikonku akce nebo tlacitku priradim akci jinou, aby si
tlacitko prevzalo tu novou ikonku a neukladalo si ji do vlastnosti Glyph, jako to delaji tBitBtn a tSpeedBtn. Dival jsem se
na Toolbar 2000, klidne bych to i koupil, ale podle hesla, co se osvedcilo, to je treba zmenit, uz jsem tam takove
samostatne tlacitko nenasel, a kdyz tlacitko zakuklim do jejich toolbaru, nejde mu treba nastavit Flat:=false.

Nevite prosim o nejake vhodne komponente, ktera by se chovala podobne jako tToolbarButton97? Neukladala si ikony k sobe,
reagovala pruzne na to, kdyz priradim jinou akci, a umela automaticky opakovane generovat OnClick, kdyz uzivatel na tlacitku
drzi stisknutou mys.

Diky,

Karel Rys

Dlouha kompilace u velkeho poctu balicku

[*] Matej K. <matej.k11(zv)seznam(tec)cz> - 02.5.2007 07:22:13


Ahoj

mame v D7 hodne balicku, asi pres 100 a kompilace se stava casove tak
narocna, ze to neni mozne. Prosim nevi nekdo co je spatne? Pred prechodem
to v D3 nedelalo. Ted to vypada, jakoby dalsi a dalsi balik vzdy
zdvojnasobil potrebny cas. Mame zazaplatovane D7. Je to velka krize.
Prosim kdyby nekdo znal jakoukoliv radu....

diky

s pozdravem Matej

Delphi 2007 a promenna typ Boolean a IBScript

[*] info(zv)drnholec(tec)cz <info(zv)drnholec(tec)cz> - 02.5.2007 08:06:16

Ahoj

Chtel bych upozornit zajemce (uzivatele) nobych D2007 na dva zjistene
problemy oproti Delphi 7

1. Zmenilo se vyhodnocovani promenne typu Boolean z puvodni False na True


/// -------------priklad
procedure TForm1.Button1Click(Sender: TObject);
type
RecTest = Record
AnoNe:Boolean;
End;
var
RT: RecTest;
begin

if RT.AnoNe then
MessageDlg('Promenna AnoNe je implicitne vyhodnocena na ANO',
mtInformation, [mbOK], 0)
else
MessageDlg('Promenna AnoNe je implicitne vyhodnocena na NE',
mtInformation, [mbOK], 0)

end;
//---------------------


2.
a/ Funkce IBScript.ValidateScript vraci FALSE i kdyz je script OK
b/ Ve scriptu nejak nefunguje commit a musim ho volat po provedeni
scriptu


Podotykam ze toto se deje na mych dvou instalacich D2007 a v Delphi 7
twen samy projekt probiha OK.

Pokud bude vedet jak z toho ven bude jen rad

J. Heinisch

Dlouha kompilace u velkeho poctu balicku

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 02.5.2007 08:30:18

Matej K. napsal(a):
> Ahoj
>
> mame v D7 hodne balicku, asi pres 100 a kompilace se stava casove tak
> narocna, ze to neni mozne. Prosim nevi nekdo co je spatne? Pred prechodem
> to v D3 nedelalo. Ted to vypada, jakoby dalsi a dalsi balik vzdy
> zdvojnasobil potrebny cas. Mame zazaplatovane D7. Je to velka krize.
> Prosim kdyby nekdo znal jakoukoliv radu....
>

mozna ti pomuze tento navod

http://blogs.codegear.com/fhaglund/archive/2006/07/03/25804.aspx

"We reduced compiled time from 90 minutes to 50 seconds "

Kazdopadne by mne vysledek zajimal
Radek


Delphi 2007 a promenna typ Boolean a IBScript

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 02.5.2007 08:36:18

info(zv)drnholec(tec)cz dne 2 May 2007 v 8:06:

> 1. Zmenilo se vyhodnocovani promenne typu Boolean z puvodni False na
> True
>
>
> /// -------------priklad
> procedure TForm1.Button1Click(Sender: TObject);
> type
> RecTest = Record
> AnoNe:Boolean;
> End;
> var
> RT: RecTest;
> begin
>
> if RT.AnoNe then
> MessageDlg('Promenna AnoNe je implicitne vyhodnocena na ANO',
> mtInformation, [mbOK], 0)
> else
> MessageDlg('Promenna AnoNe je implicitne vyhodnocena na NE',
> mtInformation, [mbOK], 0)

Tady myslim nejde o zadne implicitni vyhodnoceni, ale o to, ze testujes pamet, ktera neni inicializovana ;) A docela bych se
divil, kdyby na to prekladac neupozornoval (warning).

Karel Rys

Delphi 2007 a promenna typ Boolean a IBScript

[*] info(zv)drnholec(tec)cz <info(zv)drnholec(tec)cz> - 02.5.2007 08:46:19

Karel Rys napsal(a):
> Tady myslim nejde o zadne implicitni vyhodnoceni, ale o to, ze
>testujes pamet, ktera neni inicializovana ;)

Samozrejme ze neni inicializovana,ja poukazuji na problem ze v D7 to
bylo False a nyni je to True.

>A docela bych se divil, kdyby na to prekladac neupozornoval (warning).

Zajimave je to, ze warning to neukazuje (D2007)

Delphi 2007 a promenna typ Boolean a IBScript

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 02.5.2007 09:04:22

> > Tady myslim nejde o zadne implicitni vyhodnoceni, ale o to, ze
> >testujes pamet, ktera neni inicializovana ;)
>
> Samozrejme ze neni inicializovana,ja poukazuji na problem ze v D7 to
> bylo False a nyni je to True.

Coz neni pravda.. ve tvem pripade totiz je obsah nahodny jak v D7,
tak i v D2007. takze sis pokazde hodil minci, a mel jsi jen kliku, ze
ti to v D7 pokazde padlo na orla. Ale z toho nemuzes vyvozovat, ze
mince ma jen jednu stranu. Byla to totiz jen klika.
--
Lukas Gebauer.

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

Delphi 2007 a promenna typ Boolean a IBScript

[*] info(zv)drnholec(tec)cz <info(zv)drnholec(tec)cz> - 02.5.2007 09:24:26


V tomto pripade mam kliku v D7 na 100% na NE
A v Delphi 2007 opet 100% na Ano .

A ja z toho nic nevyvozuji, jen jsem upozornil na rozdilne chovani D7
oproti D2007

> Coz neni pravda.. ve tvem pripade totiz je obsah nahodny jak v D7,
> tak i v D2007. takze sis pokazde hodil minci, a mel jsi jen kliku, ze
> ti to v D7 pokazde padlo na orla. Ale z toho nemuzes vyvozovat, ze
> mince ma jen jednu stranu. Byla to totiz jen klika.

Delphi 2007 a promenna typ Boolean a IBScript

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 02.5.2007 09:40:27

info(zv)drnholec(tec)cz dne 2 May 2007 v 9:24:

> V tomto pripade mam kliku v D7 na 100% na NE
> A v Delphi 2007 opet 100% na Ano .
>
> A ja z toho nic nevyvozuji, jen jsem upozornil na rozdilne chovani D7
> oproti D2007

To ale neni rozdilne chovani Delphi, to je napul nahoda a napul slendrian, pracovat s neinicializovanymi promennymi ;)

Dobre, nebude to uplne nahoda, je to dane tim, co z drivejska zbylo na zasobniku, a to je zase dane tim, co jsi volal pred
tim pristupem k promenne...

Karel Rys

Delphi 2007 a promenna typ Boolean a IBScript

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 02.5.2007 09:50:28

> > 1. Zmenilo se vyhodnocovani promenne typu Boolean z puvodni False na True
> >
> >
> > /// -------------priklad
> > procedure TForm1.Button1Click(Sender: TObject);
> > type
> > RecTest = Record
> > AnoNe:Boolean;
> > End;
> > var
> > RT: RecTest;
> > begin
> >
> > if RT.AnoNe then
> > MessageDlg('Promenna AnoNe je implicitne vyhodnocena na ANO',
> > mtInformation, [mbOK], 0)
> > else
> > MessageDlg('Promenna AnoNe je implicitne vyhodnocena na NE',
> > mtInformation, [mbOK], 0)
>
> Tady myslim nejde o zadne implicitni vyhodnoceni, ale o to, ze testujes
> pamet, ktera neni inicializovana ;)

Ahoj, taky mam za to, ze pocatecni inicializace na nulu, False apod. se
dela jen u globalnich promennych a mozna i jeste nekde, ale u lokalnich
promennych v ramci procedury bych ho necekal.

To, jestli se zmenilo vyhodnocovani promenne typu Boolean, coz davas jako
puvodni hypotezu, bych zkusil overit na globalni promenne. Ale delat se mi
to ted nechce, mam jinou praci.

David Lebeda

Dlouha kompilace u velkeho poctu balicku

[*] Ing. Pavel Zilinec <pavel.zilinec(zv)seznam(tec)cz> - 02.5.2007 09:58:28

Ahoj,
mame take zhruba 100 balicku a preklad vsech je hotovy zhruba do 5 minut.
Problem urcite muze byt ve velkem vyskytu nepouzivanych unit, ktere
muzes mit ve zdrojich.
Driv nam to take trvalo mnohem dele a vyresili jsme to tak, ze
veskere designove veci (prevazne framy) jsme umistili do jednoho
(veskutecnosti 3) balicku a hlavne nedavali do 'requires' balicky,
ktere fyzicky ty dane komponenty obsahuji.
Pri kompilaci si tedy tyhle 'design' balicky pritahnou skoro vsechno z
ostatnich 'runtime' balicku, ale diky tomu se uz pri kompilaci tech
'runtime' balicku neobnovuje prostredi Delphi.
To se totiz delo, pokud byl v Packages ten design balicek aktivni
... a to bude mozna ten problem ;)

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

Prog-Soft s.r.o. Plzen
Informacni system pro vyrobce
a distributory napoju

Delphi 2007 a promenna typ Boolean a IBScript

[*] info(zv)drnholec(tec)cz <info(zv)drnholec(tec)cz> - 02.5.2007 10:36:31

>
> To, jestli se zmenilo vyhodnocovani promenne typu Boolean, coz davas jako
> puvodni hypotezu, bych zkusil overit na globalni promenne. Ale delat se mi
> to ted nechce, mam jinou praci.
>
> David Lebeda

Pokud se k tomu dostanu tak vyzkousim, spise mi vadi za zalezitost s
IB Scriptem, tam to pokladam za docela prusvih, mohl to nekdo vyzkouset
kdo to pouziva ?

Delphi 2007 a promenna typ Boolean a IBScript

[*] Petr Vones <conference(zv)petrvones(tec)net> - 02.5.2007 11:22:34

From: <info(zv)drnholec(tec)cz>
> V tomto pripade mam kliku v D7 na 100% na NE
> A v Delphi 2007 opet 100% na Ano .

Na 100% by to bylo v pripade, ze by slo o definovane chovani, coz tak neni.
Je to samozrejme chyba programatora na kterou prekladac nastesti upozorni
warningem.

Petr Vones

Delphi 2007 a promenna typ Boolean a IBScript

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 02.5.2007 13:44:43

Nejlepsi zpusob je promenne zinicializovat. Nejednou jsem na to doplatil.
Clovek si mysli, ze tam bude nula, nebo false a pak se divi, ze mu program
zacne delat zajimave kousky a ne a ne prijit na chybu. Jednou se mi to stalo
pri pisemce, pricital jsem k promenne, kterou jsem neizinicializoval a vyslo
mi o neco male cislo. Nastesti byl ucitel vstricny a uznal reseni.
Petr


On 5/2/07, Lebeda David <david.lebeda(zv)comarr(tec)cz> wrote:
>
> Ahoj, taky mam za to, ze pocatecni inicializace na nulu, False apod. se
> dela jen u globalnich promennych a mozna i jeste nekde, ale u lokalnich
> promennych v ramci procedury bych ho necekal.
>
> To, jestli se zmenilo vyhodnocovani promenne typu Boolean, coz davas jako
> puvodni hypotezu, bych zkusil overit na globalni promenne. Ale delat se mi
> to ted nechce, mam jinou praci.
>
> David Lebeda
>

Delphi 2007 a promenna typ Boolean a IBScript

[*] seznam1 <grajcar1(zv)seznam(tec)cz> - 02.5.2007 14:06:44

> Ahoj, taky mam za to, ze pocatecni inicializace na nulu, False apod. se
> dela jen u globalnich promennych a mozna i jeste nekde, ale u lokalnich
> promennych v ramci procedury bych ho necekal.

lokalni promenny se urcite neinicializuji samy. co hur, prekladac (D7) vyplivne warning jen NEKDY.
kdyz je to slozitejsi tak ne.
a hur: prekladac casto (ci nikdy?) netestuje inicializaci navratovy hodnoty.
davam si pozor ale furt semtam naletim (tohle opravdu neni prace pro cloveka).

Delphi 2007 a promenna typ Boolean a IBScript

[*] Petr Vones <conference(zv)petrvones(tec)net> - 02.5.2007 14:34:46

From: "seznam1" <grajcar1(zv)seznam(tec)cz>
> lokalni promenny se urcite neinicializuji samy. co hur, prekladac (D7)
> vyplivne warning jen NEKDY.
> kdyz je to slozitejsi tak ne.
> a hur: prekladac casto (ci nikdy?) netestuje inicializaci navratovy
> hodnoty.
> davam si pozor ale furt semtam naletim (tohle opravdu neni prace pro
> cloveka).

Docela by me zajimal konkretni priklad. Predkladac sice neni uplne bezchybny
ale tech pripadu opravdu mnoho nebylo.

Petr Vones

Delphi 2007 a promenna typ Boolean a IBScript

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 02.5.2007 14:58:48

Petr Vones dne 2 May 2007 v 14:34:

> From: "seznam1" <grajcar1(zv)seznam(tec)cz>
> > lokalni promenny se urcite neinicializuji samy. co hur, prekladac
> > (D7) vyplivne warning jen NEKDY. kdyz je to slozitejsi tak ne. a
> > hur: prekladac casto (ci nikdy?) netestuje inicializaci navratovy
> > hodnoty. davam si pozor ale furt semtam naletim (tohle opravdu neni
> > prace pro cloveka).
>
> Docela by me zajimal konkretni priklad. Predkladac sice neni uplne
> bezchybny ale tech pripadu opravdu mnoho nebylo.

Nema tim na mysli treba tohle?

procedure Test1(var Prom:integer);
begin
// nic do Prom nezapisu
if Prom>1 then ...;
end;

procedure Test2;
var a:integer;
begin
Test1(a);
writeln(a);
end;

Na pouziti neinicializovane promenne v Test1 neupozorni, na jeji pouziti v Test2 myslim tez ne (v D6).

Karel Rys

Nefunkcni breakpointy po preinstalaci

[*] Jaromir Junek <mirek.junek(zv)worldonline(tec)cz> - 02.5.2007 19:13:05

Po preinstalaci PC mi v Delphi (ver.5) nefunguji breakpointy
- daji se nastavit, ale debugger na nich nezastavi a po ukonceni
programu jsou nastaveny na disabled.

Nema nekdo nejaky napad, co s tim ?

OS=XP pro

Dik
Mirek

Delphi 2007 a promenna typ Boolean a IBScript

[*] Petr Fejfar <petr.fejfar(zv)seznam(tec)cz> - 02.5.2007 18:01:00

Dne Wed, 02 May 2007 15:54:51 +0200 seznam1 <grajcar1(zv)seznam(tec)cz> napsal/-a:

> zadny ciste "out" promenny v delphi nejsou,

Uz si nepamatuju, ve ktere verzi Delphi to pridali, ale D6 "out" argumenty
ma.
Pravdu mas v tom, ze je na tom videt, ze to tam nekdo nejak dobastlil,
protoze s tim nejsou spojeny zadne kontroly, napr. muzes napsat

procedure HavingOutArgument(out AArg1:integer);
var
A,B: integer;
begin
B := A + AArg1;
end;

var
C: integer;
begin
HavingOutArgument(C);
...

a dostanes pouze warning o neinicializovane promenne A :-((


pf

Delphi 2007 a promenna typ Boolean a IBScript

[*] delphin(zv)post(tec)cz - 02.5.2007 16:20:53

> mozna se pletu... mzona jsou stringy vzdy inicializovany, v kazdm pripade
> nasledujici zadny waning nehaze:
>
> FUNCTION F() : STRING;
> VAR
> s: STRING;
> BEGIN
> s := s + s;
> RESULT := RESULT + s;
> END;
>
> mam pocit, ze vysledek je opravdu totalne nedefinovany, ale o uz je davno
> co jsem to zkousel.
> vim, ze jsem s tim mel problemy, nascu ale tvrdit, ze to neni vzdy prazdny
> string.
> ali i kdyz je: je to pekne neprijemny. a nechapu proc se tu u boolean
> chova jinak.

string, widestring, array, variant a spol inicializuje Delphi automaticky i
jako lokalni promenne, prectete si help k Initialize/Finalize.
Vyse uvede se prelozi nejak takhle

procedure f(var result:string);
var s:string;
begin
s:='';
try
s := s + s;
RESULT := RESULT + s;
finally
s:='';
end;
end;

A u volajiciho by se tohle

procedure g;
begin
f();
end;

prelozilo nejak takhle

procedure g;
var result:string;
begin
result:='';
try
f(result);
finally
result:='';
end;
end;

Delphi 2007 a promenna typ Boolean a IBScript

[*] seznam1 <grajcar1(zv)seznam(tec)cz> - 02.5.2007 15:54:51

> Nema tim na mysli treba tohle?
>
> procedure Test1(var Prom:integer);
> begin
> // nic do Prom nezapisu
> if Prom>1 then ...;
> end;

> procedure Test2;
> var a:integer;
> begin
> Test1(a);
> writeln(a);
> end;

to rozhodne ne. zde je vse v poradku, promenna v Test1 neni "out" ale "in/out", zadny ciste "out" promenny v delphi nejsou, takze se neda nic delat.
v Test2 zas nemuze vedet o se s tim v Test1 dela. no mohl by, ale to uz je vyssi divci a to tady necekam.

mozna se pletu... mzona jsou stringy vzdy inicializovany, v kazdm pripade nasledujici zadny waning nehaze:

FUNCTION F() : STRING;
VAR
s: STRING;
BEGIN
s := s + s;
RESULT := RESULT + s;
END;

mam pocit, ze vysledek je opravdu totalne nedefinovany, ale o uz je davno co jsem to zkousel.
vim, ze jsem s tim mel problemy, nascu ale tvrdit, ze to neni vzdy prazdny string.
ali i kdyz je: je to pekne neprijemny. a nechapu proc se tu u boolean chova jinak.

Delphi 2007 a promenna typ Boolean a IBScript

[*] Petr Fejfar <petr.fejfar(zv)seznam(tec)cz> - 03.5.2007 08:29:56

Dne Wed, 02 May 2007 22:27:17 +0200 radek <radek_456(zv)seznam(tec)cz> napsal/-a:

> Na me to dela dojem ze "out" generuje stejny kod jako "var"

Jo, stroj predava typed pointer, stejne jako u "const"
argumentu. Ale rozdil by mel byt v compile-time,
kdy by prekladac mel ohlidat, jestli se s argumentem
operuje predpokladanym zpusobem.

A tady prekladac zachazi s "out" argumentem jako
s "var" --> nemelo zadny smysl ho takto lajdacky
zavadet --> je to zrejme jen 'checkbox' feature
(http://www.joelonsoftware.com/articles/fog0000000339.html)


pf

Nefunkcni breakpointy po preinstalaci

[*] horky(zv)cominn(tec)cz - 03.5.2007 07:51:53

> From: Jaromir Junek [mailto:mirek.junek(zv)worldonline(tec)cz]
> Sent: Wednesday, May 02, 2007 7:13 PM
>
> Po preinstalaci PC mi v Delphi (ver.5) nefunguji breakpointy
> - daji se nastavit, ale debugger na nich nezastavi a po ukonceni
> programu jsou nastaveny na disabled.

Podivej se do Project - Project options - Compiler - Debugging. Tady zkontroluj vsechny checkboxy, mely by byt zatrzene. Pak si zkontroluj, kde mas aktualni DCU po kompilaci, jestli jsou v prohledavane ceste. Moznosti je mnoho ...
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP2
[mailto:horky(zv)cominn(tec)cz]

Dlouha kompilace u velkeho poctu balicku

[*] Matej K. <matej.k11(zv)seznam(tec)cz> - 03.5.2007 02:43:34


Vysledkem je porucha. Prvni vec je zajimava, ale druhy
nastroj od jakehosi Olega neni nikde k nalezeni. :-(
Z clanku neni patrny ani presny nazev.

Prosim nezustalo to u nekoho z vas na HDD?
Pekne prosim smutne koukam.
> Matej K. napsal(a):
>> Ahoj
>>
>> mame v D7 hodne balicku, asi pres 100 a kompilace se stava casove tak
>> narocna, ze to neni mozne. Prosim nevi nekdo co je spatne? Pred
>> prechodem
>> to v D3 nedelalo. Ted to vypada, jakoby dalsi a dalsi balik vzdy
>> zdvojnasobil potrebny cas. Mame zazaplatovane D7. Je to velka krize.
>> Prosim kdyby nekdo znal jakoukoliv radu....
>>
>
> mozna ti pomuze tento navod
>
> http://blogs.codegear.com/fhaglund/archive/2006/07/03/25804.aspx
>
> "We reduced compiled time from 90 minutes to 50 seconds "
>
> Kazdopadne by mne vysledek zajimal
> Radek
>
>
>
>

Delphi 2007 a promenna typ Boolean a IBScript

[*] radek <radek_456(zv)seznam(tec)cz> - 02.5.2007 22:27:17



-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Petr Fejfar
Sent: Wednesday, May 02, 2007 6:01 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Delphi 2007 a promenna typ Boolean a IBScript

Dne Wed, 02 May 2007 15:54:51 +0200 seznam1 <grajcar1(zv)seznam(tec)cz> napsal/-a:

> zadny ciste "out" promenny v delphi nejsou,


Na me to dela dojem ze "out" generuje stejny kod jako "var"


var x : integer;

begin
beep;
x := 1;
test(x);
Write(x);
end;

procedure TForm1.Test(var i : integer);
begin
i := 5;
end;

Unit1.pas.32: beep;
00453837 E85890FBFF call Beep
Unit1.pas.33: x := 1;
0045383C C745FC01000000 mov [ebp-$04],$00000001
Unit1.pas.34: test(x);
00453843 8D55FC lea edx,[ebp-$04]
00453846 8BC3 mov eax,ebx
00453848 E81B000000 call TForm1.test
Unit1.pas.35: Write(x);
0045384D A1D0674500 mov eax,[$004567d0]
00453852 8B55FC mov edx,[ebp-$04]
00453855 E842FFFAFF call (zv)Write0Long
0045385A E8A5FAFAFF call Flush
0045385F E8C8F5FAFF call (zv)_IOTest
Unit1.pas.36: end;
00453864 5B pop ebx
00453865 59 pop ecx
00453866 5D pop ebp
00453867 C3 ret
Unit1.pas.40: i := 5;
00453868 C70205000000 mov [edx],$00000005
Unit1.pas.41: end;
0045386E C3 ret
0045386F 90 nop


var x : integer;

begin
beep;
x := 1;
test(x);
Write(x);
end;

procedure TForm1.Test(out i : integer);
begin
i := 5;
end;


Unit1.pas.32: beep;
00453837 E85890FBFF call Beep
Unit1.pas.33: x := 1;
0045383C C745FC01000000 mov [ebp-$04],$00000001
Unit1.pas.34: test(x);
00453843 8D55FC lea edx,[ebp-$04]
00453846 8BC3 mov eax,ebx
00453848 E81B000000 call TForm1.test
Unit1.pas.35: Write(x);
0045384D A1D0674500 mov eax,[$004567d0]
00453852 8B55FC mov edx,[ebp-$04]
00453855 E842FFFAFF call (zv)Write0Long
0045385A E8A5FAFAFF call Flush
0045385F E8C8F5FAFF call (zv)_IOTest
Unit1.pas.36: end;
00453864 5B pop ebx
00453865 59 pop ecx
00453866 5D pop ebp
00453867 C3 ret
Unit1.pas.40: i := 5;
00453868 C70205000000 mov [edx],$00000005
Unit1.pas.41: end;
0045386E C3 ret
0045386F 90 nop

vyplati se prechod z D7 na D 2007?

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 03.5.2007 08:45:57

Ahoj,

mam zvazit, zda-li stoji za to prechazet z Delphi 7 na Delphi 2007
(profesional verze). Jde mi jen o vyvoj Win32 a zajima me, jestli je
natolik lepsi prostredi, zvysena produktivita, stabilita,... v D2007
oproti D7.
Nejakou dobu budeme jeste psat Win32 aplikace, nebo spise udrzovat.
Nove veci bychom radi delali jiz v C# a VS 2005 prof, coz je spise
prani, ale zaroven nutnost kvuli prenositelnosti aplikaci na Windows
Mobile. Takze s Delphi do budoucna uz nepocitame. Proto se ptam, jestli
stoji za to prechazet na D 2007, protoze to obnasi nejakych 6 licenci.

Dik, Peca.

Ztrata USB klavesnice

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 03.5.2007 09:44:04

Zdravim fcecky vespolek

Propadam zoufalstvi. Mame technologicke zarizeni a to ma mimo jine
pripojeno pomoci USB dve numericke klavesnice. (dele jsou tam pripojeny
IRDa, ctecka car. kodu, flashdrive, spinaci zarizeni..). Vse je OK krome
toho, ze se obcas ztrati (prestene chodit) jedna numericka klavesnice. Fyzickym
odpojenim a pripojenim se vse napravi.
LZE ZJISTIT, ze se klavesnice "ztratila"?
LZE JI REFRESNOUT nebo jinym zpusobem znova nahodit?

Diky

D7-XP
Prijemny zbytek dne
Vasek Zaruba
8^)

Ztrata USB klavesnice

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 03.5.2007 10:02:05

Venca Zaruba wrote:
> LZE ZJISTIT, ze se klavesnice "ztratila"?

Je v tu chvili videt ve spravci zarizeni? Nerika neco EventLog?

> LZE JI REFRESNOUT nebo jinym zpusobem znova nahodit?

Mrkni na utilitu devcon (primo od MS, z ResKitu). Tim ji
zakazes/povolis, coz je (pri normalnich ovladacich) *velmi* podobne
odpojeni/pripojeni.

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

Ztrata USB klavesnice

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 03.5.2007 10:20:07

Videt je a eventlog mlci... Proste klapky jen neklapaj
devcon.. testnu, google vraci hromadu, tak jdu hledat
(nezna nekdo umistneni pro D7)> Venca Zaruba wrote:
>> LZE ZJISTIT, ze se klavesnice "ztratila"?
>
> Je v tu chvili videt ve spravci zarizeni? Nerika neco EventLog?
>
>> LZE JI REFRESNOUT nebo jinym zpusobem znova nahodit?
>
> Mrkni na utilitu devcon (primo od MS, z ResKitu). Tim ji
> zakazes/povolis, coz je (pri normalnich ovladacich) *velmi* podobne
> odpojeni/pripojeni.
>
> --
> Jiri {x2} Cincura


Ztrata USB klavesnice

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 03.5.2007 10:42:08

Venca Zaruba wrote:
> devcon.. testnu, google vraci hromadu, tak jdu hledat
> (nezna nekdo umistneni pro D7)

Umisteni ceho? devcon je normalni exac, kterej staci spustit (+parametry).

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

Prace s Active Directory

[*] miroslav.barica(zv)matador.sk - 03.5.2007 12:56:17

>
> AD podporuje nativne LDAP protokol na ktery velmi dobre funguje
Synapse.
> Kdybys potreboval mam nekde nejaky priklad Synapse vs AD.
>

O nejaky popisovany priklad by som mal aj ja zaujem, prosim, prosim
M.

OT: Algoritmus pocet slovnich kontextu v jave

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 03.5.2007 12:54:17

Zdravim,
mam udelat program, ktery spocita mnozstvi vyskytu slovnich kontextu
sousedicich dvojic slov. Napadlo me reseni, ze vezmu dvojice slov a ulozim
je jako nejakou strukturu do pole, pak budu to pole prochazet a zjistovat,
jestli uz tam je a kdyz ano, tak zvetsich pocet, kdyz ne, tak je vlozim do
pole.
Jenze toto reseni je pri textu, ktery ma 1141 stran nepouzitelne. Nevim jak
v delphi, ale v jave, kdy pri zmene velikosti pole musim cele pole v cyklu
prekopirovat to dostane neskutecnou slozitost. Podminka je totiz jeste
takova, ze cely algoritmus musi probehnout zhruba do jedne minuty. A to se
jeste musi ty vyskyty srovnat, podle poctu, podle prvniho a druheho slova.
Nenapada nekoho z vas, jak to nejak jednoduse a efektivne vyresit? Jde mi
jen o ten algoritmus, vlastni reseni jsem schopny si napsat.
Diky,
Petr

Algoritmus pocet slovnich kontextu v jave

[*] Pavel Smerk <xsmerk(zv)fi.muni(tec)cz> - 03.5.2007 13:12:18

On Thu, May 03, 2007 at 12:54:17PM +0200, Petr Berek wrote:
> Zdravim,
> mam udelat program, ktery spocita mnozstvi vyskytu slovnich kontextu
> sousedicich dvojic slov. Napadlo me reseni, ze vezmu dvojice slov a ulozim
> je jako nejakou strukturu do pole, pak budu to pole prochazet a zjistovat,
> jestli uz tam je a kdyz ano, tak zvetsich pocet, kdyz ne, tak je vlozim do
> pole.
> Jenze toto reseni je pri textu, ktery ma 1141 stran nepouzitelne. Nevim jak
> v delphi, ale v jave, kdy pri zmene velikosti pole musim cele pole v cyklu
> prekopirovat to dostane neskutecnou slozitost. Podminka je totiz jeste
> takova, ze cely algoritmus musi probehnout zhruba do jedne minuty. A to se
> jeste musi ty vyskyty srovnat, podle poctu, podle prvniho a druheho slova.
> Nenapada nekoho z vas, jak to nejak jednoduse a efektivne vyresit? Jde mi
> jen o ten algoritmus, vlastni reseni jsem schopny si napsat.

Ja asi nechapu zadani --- jakoze pro kazdou dvojici po sobe jdoucich slov v
textu chci vedet, kolikrat se v textu vyskytla? Nebo tam ten "kontext" taky
hraje nejakou roli, ze by se napriklad delala carka jen za ruzne kontexty
(jak by ovsem byly definovane?) nebo tak neco?

Java (nebo v cem to vlastne ma byt) snad ma nejaky hash, ne? Jedu textem,
beru dvojice slov, spojim nejakym znakem, ktery se v textu nevyskytuje,
binarni nula napriklad, vysledek povazuji za klic v hashi a prislusnou
hodnotu inkrementuju (nastavim na jedna, pokud se nedefinovana hodnota
nevyhodnocuje jako nula, to asi zalezi jazyk od jazyku). No a snad ten hash
bude mit nejake sort by values nebo tak neco.

Doporucuju nejaky rozumnejsi jazyk, Perl/Ruby.
P.

Algoritmus pocet slovnich kontextu v jave

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 03.5.2007 13:26:19

Potrebujes googlovat a k tomu je dobry znat terminologii.
To co hledas se v lingvistice nazyva kolokace. Dvojice slov se nazyva bigram
a sousedici dvojice jsou kolokujici bigramy.
Existuji propracovane metody extrakce kolokujicich bigramu. Zabyvali se tim
mj. napr. Justeson a Katz.
Ale i u nas se tim zabyva spousta lidi. Rozhodne se ti nepodari vymyslet nic
lepsiho nez bylo vymysleno. Takze googluj a neobjevuj Ameriku.

>
> Zdravim,
> mam udelat program, ktery spocita mnozstvi vyskytu slovnich kontextu
> sousedicich dvojic slov. Napadlo me reseni, ze vezmu dvojice slov a ulozim
> je jako nejakou strukturu do pole, pak budu to pole prochazet a zjistovat,
> jestli uz tam je a kdyz ano, tak zvetsich pocet, kdyz ne, tak je vlozim do
> pole.
> Jenze toto reseni je pri textu, ktery ma 1141 stran nepouzitelne.
> Nevim jak
> v delphi, ale v jave, kdy pri zmene velikosti pole musim cele pole v cyklu
> prekopirovat to dostane neskutecnou slozitost. Podminka je totiz jeste
> takova, ze cely algoritmus musi probehnout zhruba do jedne minuty. A to se
> jeste musi ty vyskyty srovnat, podle poctu, podle prvniho a druheho slova.
> Nenapada nekoho z vas, jak to nejak jednoduse a efektivne vyresit? Jde mi
> jen o ten algoritmus, vlastni reseni jsem schopny si napsat.

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 2.5.2007
14:16


Algoritmus pocet slovnich kontextu v jave

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 03.5.2007 13:32:20

>
> Ja asi nechapu zadani --- jakoze pro kazdou dvojici po sobe jdoucich slov
> v
> textu chci vedet, kolikrat se v textu vyskytla?


Presne. Chci vedet, kolikrat se v textu dana dvojice vyskytla.

Java (nebo v cem to vlastne ma byt) snad ma nejaky hash, ne? Jedu textem,
> beru dvojice slov, spojim nejakym znakem, ktery se v textu nevyskytuje,
> binarni nula napriklad, vysledek povazuji za klic v hashi a prislusnou
> hodnotu inkrementuju (nastavim na jedna, pokud se nedefinovana hodnota
> nevyhodnocuje jako nula, to asi zalezi jazyk od jazyku). No a snad ten
> hash
> bude mit nejake sort by values nebo tak neco.
>
> Doporucuju nejaky rozumnejsi jazyk, Perl/Ruby.
> P.


Musi to byt v jave.

Algoritmus pocet slovnich kontextu v jave

[*] Pavel Smerk <xsmerk(zv)fi.muni(tec)cz> - 03.5.2007 15:24:27

On Thu, May 03, 2007 at 01:32:20PM +0200, Petr Berek wrote:
> > Ja asi nechapu zadani --- jakoze pro kazdou dvojici po sobe jdoucich
> > slov v textu chci vedet, kolikrat se v textu vyskytla?
>
> Presne. Chci vedet, kolikrat se v textu dana dvojice vyskytla.
>
> > Java (nebo v cem to vlastne ma byt) snad ma nejaky hash, ne? Jedu
> > textem, beru dvojice slov, spojim nejakym znakem, ktery se v textu
> > nevyskytuje, binarni nula napriklad, vysledek povazuji za klic v hashi a
> > prislusnou hodnotu inkrementuju (nastavim na jedna, pokud se
> > nedefinovana hodnota nevyhodnocuje jako nula, to asi zalezi jazyk od
> > jazyku). No a snad ten hash bude mit nejake sort by values nebo tak
> > neco.
> >
> > Doporucuju nejaky rozumnejsi jazyk, Perl/Ruby.
>
> Musi to byt v jave.

OK, tam to holt nebudete mit na dva, tri radky, ale to neni muj problem, jak
komplikovanymi jazyky si kdo komplikuje zivot. :-)

Nicmene radu jste pochopil, a problem je tedy vyresen (resp. posunut do faze
"Jde mi jen o ten algoritmus, vlastni reseni jsem schopny si napsat")?

P.

Algoritmus pocet slovnich kontextu v jave

[*] seznam1 <grajcar1(zv)seznam(tec)cz> - 03.5.2007 15:36:28

*Ad: Peter Berek
kdyz pouzivas array na neco naco se musi pouzit hash, taxe nediv, ze to pak je nekolikatisickrat pomalejsi nez to ma byt.
hrubym odhadem se mi minuta zda pro takovouhle ulohu neskutecne dlouha. samozrejme vcetne toho srovnani.

*Ad: Pacel Smerk:
> No a snad ten hash bude mit nejake sort by values nebo tak neco.

nema, hash se samozrejme sortovat nesmi, ale staci treba
new TreeSet(mujHashSet)
nebo
Neco[] pole = mujHashSet.toArray();
Arrays.sort(pole);
a je to.

> Doporucuju nejaky rozumnejsi jazyk, Perl/Ruby.

a v cem ma byt lepsi?
perl je jiste mnohem pomalejsi a neprehlednejsi i kdyz naprosto sqely na rychly hacky.
ruby moc neznam, ale java se me na tuhle uloha zda idealni.


asi bych pouzil
Map<String, Integer>
pricemz to muze byt HashMap nebo TreeMap, podle chuti, a ty 2 slova bych zretezil oddeleny mezerou.
jiste by to slo o kus lepe.

Algoritmus pocet slovnich kontextu v jave

[*] Pavel Smerk <xsmerk(zv)fi.muni(tec)cz> - 03.5.2007 16:08:30

On Thu, May 03, 2007 at 03:36:28PM +0200, seznam1 wrote:
> *Ad: Pacel Smerk:
> > No a snad ten hash bude mit nejake sort by values nebo tak neco.
>
> nema, hash se samozrejme sortovat nesmi, ale staci treba
> new TreeSet(mujHashSet)
> nebo
> Neco[] pole = mujHashSet.toArray();
> Arrays.sort(pole);
> a je to.

Hm, nejak v tom nevidim, ze se tridi postupne podle hodnoty, prvni casti
klice a druhe casti klice. Ale Javu neumim, tak mozna je to tim.

> > Doporucuju nejaky rozumnejsi jazyk, Perl/Ruby.
>
> a v cem ma byt lepsi? perl je jiste mnohem pomalejsi a neprehlednejsi i
> kdyz naprosto sqely na rychly hacky.

;-) Ale no tak. Nerad bych prileval do nejakych flames, ale proc by mel byt
pomalejsi? Vzdyt ten kod bude kratky a jednoduchy, tak se prece nemuze
projevit rozdil interpretovany a kompilovany. Nebo snad mate nejaka
podlozena podezreni, ze realizace hashu je v Perlu mene efektivni nez v
Jave? A nakolik je neprehledny, to zalezi ciste na programatorovi. Ja v nem
pisu prehledne. Ale uznavam, ze to je subjektivni, nekdo ma za prehlednou
strucnost, nekdo ukecanost.

Algoritmus pocet slovnich kontextu v jave

[*] seznam1 <grajcar1(zv)seznam(tec)cz> - 03.5.2007 18:38:45

> No, to bych se prave bal, ze psani vlastnich komparatoru uz muze vnaset
> nejake neefektivity, coz by nebylo,

no to v zadnym pripade.

ty znas nejaky jazyk, co by umel tridit nejdriv podle barvy, pak podle ceny a nakonec podle velikosti?
to je totiz to k cemu vlastni komparator slouzi.

> kdyby nejake to sortbyvalues bylo vestavene.
> No ale pokud to ta java fakt sama neumi, tak co uz.

zadny sort na HashMap provest nelze z principu, ne ze by to java neumela.
setridit HashMap je uplne stejny nesmysl jako setridit text -
hezky to vypada, ale neni to to co by melo.

myslim, ze az kouknes na ten muj prg, tak ze se ti vyjasni, proc zadny sortbyvalues nepotrebujes.

> Nejsem zadny odbornik na Perl, ale to se prece nejprve prelozi, a pak teprve
> bezi, takze se to samozrejme nebude zjistovat pri kazdem vykonani takoveho
> prikazu,

to ale musi pokud ta promenna prijde zvenci. jisteze se nabizi mnohe optimalizace.

> stejne tak nebude rozdil v tom jede cely den, pokud tam nebudou
> zadne evaly atp. Teda aspon takova je ma predstava o Perlu. To zase precijen
> neni nejaky BASIC, ze. :-)

basic je sice posledni s*, ale verim, ze muze jet rychleji nez perl.
nabizi toho mnohem min a je prisneji typizovany.
na rozdil od perlu pro nej ale nevidim jediny vyuziti (neni v nicem nejlepsi, snad jen podle jmena:D).

Algoritmus pocet slovnich kontextu v jave

[*] Pavel Smerk <xsmerk(zv)fi.muni(tec)cz> - 03.5.2007 18:08:39

On Thu, May 03, 2007 at 05:14:34PM +0200, Petr Berek wrote:
> On 5/3/07, seznam1 <grajcar1(zv)seznam(tec)cz> wrote:
> >
> > *Ad: Peter Berek
> > kdyz pouzivas array na neco naco se musi pouzit hash, taxe nediv, ze to
> > pak je nekolikatisickrat pomalejsi nez to ma byt.
> > hrubym odhadem se mi minuta zda pro takovouhle ulohu neskutecne dlouha.
> > samozrejme vcetne toho srovnani.
>
>
> Hash me napadl, az kdyz jsem si to nekolikrat zpetne cetl zadani. Jde o
> semestralni projekt, takze si vsechno musim naprogramovat sam, proto to taky
> musi byt v jave. Problem je mozna malicko v tom, ze o hashi se jeste nikdo
> nezminil.

WTF? Vzdyt jsem o nem psal hned v prvnim odpovedi v tomto threadu, ne?
P.

Algoritmus pocet slovnich kontextu v jave

[*] Pavel Smerk <xsmerk(zv)fi.muni(tec)cz> - 03.5.2007 18:06:39

[Uz jsme asi off topic]

On Thu, May 03, 2007 at 05:22:35PM +0200, seznam1 wrote:
> > Hm, nejak v tom nevidim, ze se tridi postupne podle hodnoty, prvni casti
> > klice a druhe casti klice. Ale Javu neumim, tak mozna je to tim.
>
> ja to taky nevidim... to bude tim, ze to tam neni.
> navic jsem napsal mujHashSet kdyz jsem myslel HashMap.
> ale i to je jednoduchy, je treba jen napsat vlastni Comparator.
> pak bych udelal
> Map.Entry[] pole = mojaMap.toArray();
> Arrays.sort(pole, comparator);
>
> sakra, za tu dobu co tu bastlim tech par radku bych to snad mel i napsany.

No, to bych se prave bal, ze psani vlastnich komparatoru uz muze vnaset
nejake neefektivity, coz by nebylo, kdyby nejake to sortbyvalues bylo
vestavene. No ale pokud to ta java fakt sama neumi, tak co uz.

> > ;-) Ale no tak. Nerad bych prileval do nejakych flames, ale proc by mel byt
> > pomalejsi? Vzdyt ten kod bude kratky a jednoduchy, tak se prece nemuze
> > projevit rozdil interpretovany a kompilovany.
>
> to myslis vazne? takze kdyz je to 100 radku a jede to cely den, pak neni
> treba kompilovat bo by to stejne nepomohlo???
>
> perl je slabe typovany jazyk, pokud udelas i + 5; pak je potreba nejprve
> zjistit, jestli je i int nebo double nebo string ci neco jinyho. coz je
> snad radove vic, nez jedna instrukce.

Nejsem zadny odbornik na Perl, ale to se prece nejprve prelozi, a pak teprve
bezi, takze se to samozrejme nebude zjistovat pri kazdem vykonani takoveho
prikazu, stejne tak nebude rozdil v tom jede cely den, pokud tam nebudou
zadne evaly atp. Teda aspon takova je ma predstava o Perlu. To zase precijen
neni nejaky BASIC, ze. :-)
P.

Algoritmus pocet slovnich kontextu v jave

[*] seznam1 <grajcar1(zv)seznam(tec)cz> - 03.5.2007 18:02:38

> Googlovat jsem googloval, ale "kolokujici bigramy" mi strejda google nevygooglil.

zkusil bych colocated bigrams, ten je tam hafo.

nebavi me to probirat furt dokola, sprasil jsem takovy pidiprogram, nekdo vyberte testovaci soubor, napiste to v perlu a uvidime jak to bude s rychlosti.

package maaartin;

import java.io.*;
import java.net.*;
import java.util.*;

public class WordsStats {
public static void main(String[] args) throws IOException {
final URL url = new URL("http://aaxnet.com/editor/edit042.html");
final BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));

final Map<String, Integer> map = new HashMap<String, Integer>();
String previous = "*";
while (true) {
final String line = in.readLine();
if (line==null) break;
final String[] a = line.split("[^a-zA-Z]+");
for (String s : a) {
if (s.length()==0) continue;
final String key = previous + " " + s;
final Integer n = map.get(key);
map.put(key, n==null ? 1 : n+1);
previous = s;
}
}

(zv)SuppressWarnings("unchecked")
final Entry<String, Integer>[] array = map.entrySet().toArray(new Map.Entry[0]);
Arrays.sort(array, new Comparator<Entry<String, Integer>>() {
public int compare(Entry<String, Integer> a, Entry<String, Integer> b) {
if (a.getValue() > b.getValue()) return -1;
if (a.getValue() < b.getValue()) return +1;
return a.getKey().compareTo(b.getKey());
}
});

for (Object o : array) System.out.println(o);
}
}

Algoritmus pocet slovnich kontextu v jave

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 03.5.2007 17:36:36

Kdyz to nejde cesky, zkus to anglicky ;-)
http://www.google(tec)cz/search?hl=cs&q=collocation+bigram&lr=

>
> Googlovat jsem googloval, ale "kolokujici bigramy" mi strejda google
> nevygooglil.
> Petr
>

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 2.5.2007
14:16


Algoritmus pocet slovnich kontextu v jave

[*] seznam1 <grajcar1(zv)seznam(tec)cz> - 03.5.2007 17:22:35

> Hm, nejak v tom nevidim, ze se tridi postupne podle hodnoty, prvni casti
> klice a druhe casti klice. Ale Javu neumim, tak mozna je to tim.

ja to taky nevidim... to bude tim, ze to tam neni.
navic jsem napsal mujHashSet kdyz jsem myslel HashMap.
ale i to je jednoduchy, je treba jen napsat vlastni Comparator.
pak bych udelal
Map.Entry[] pole = mojaMap.toArray();
Arrays.sort(pole, comparator);

sakra, za tu dobu co tu bastlim tech par radku bych to snad mel i napsany.

> ;-) Ale no tak. Nerad bych prileval do nejakych flames, ale proc by mel byt
> pomalejsi? Vzdyt ten kod bude kratky a jednoduchy, tak se prece nemuze
> projevit rozdil interpretovany a kompilovany.

to myslis vazne? takze kdyz je to 100 radku a jede to cely den, pak neni treba kompilovat bo by to stejne nepomohlo???

> Nebo snad mate nejaka
> podlozena podezreni, ze realizace hashu je v Perlu mene efektivni nez v
> Jave?

ne, ta je jiste dobra. ale perl je slabe typovany jazyk, pokud udelas
i + 5;
pak je potreba nejprve zjistit, jestli je i int nebo double nebo string ci neco jinyho.
coz je snad radove vic, nez jedna instrukce.
tez tam neni zadny JIT, pokud vim, takze se vzdy interpretuje bytecode.

> A nakolik je neprehledny, to zalezi ciste na programatorovi. Ja v nem
> pisu prehledne. Ale uznavam, ze to je subjektivni, nekdo ma za prehlednou
> strucnost, nekdo ukecanost.

ja strucnost. perl i javu mam rad, ale muj perl je mnohem mene prehledny nez moje java.

Algoritmus pocet slovnich kontextu v jave

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 03.5.2007 17:18:35

On 5/3/07, Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> wrote:
>
> Potrebujes googlovat a k tomu je dobry znat terminologii.
> To co hledas se v lingvistice nazyva kolokace. Dvojice slov se nazyva
> bigram
> a sousedici dvojice jsou kolokujici bigramy.


Googlovat jsem googloval, ale "kolokujici bigramy" mi strejda google
nevygooglil.
Petr

Algoritmus pocet slovnich kontextu v jave

[*] Petr Berek <sojokl(zv)seznam(tec)cz> - 03.5.2007 17:14:34

On 5/3/07, seznam1 <grajcar1(zv)seznam(tec)cz> wrote:
>
> *Ad: Peter Berek
> kdyz pouzivas array na neco naco se musi pouzit hash, taxe nediv, ze to
> pak je nekolikatisickrat pomalejsi nez to ma byt.
> hrubym odhadem se mi minuta zda pro takovouhle ulohu neskutecne dlouha.
> samozrejme vcetne toho srovnani.


Hash me napadl, az kdyz jsem si to nekolikrat zpetne cetl zadani. Jde o
semestralni projekt, takze si vsechno musim naprogramovat sam, proto to taky
musi byt v jave. Problem je mozna malicko v tom, ze o hashi se jeste nikdo
nezminil.
Petr

Vytvoreni te same komponenty

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 04.5.2007 11:19:52

Ahoj potreboval bych vytvorit tu samou komponentu Twincontrol se
stejnejma vlastnostma, ale s jinym ownerem tj. Create(jinyOwner), nevite
jak na to?:)

Ales

Vytvoreni te same komponenty

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 04.5.2007 12:25:56

Vytvoris ten objekt s jinym ownerem a prekopirujes properties. Nebo ne?
>
> Ahoj potreboval bych vytvorit tu samou komponentu Twincontrol se
> stejnejma vlastnostma, ale s jinym ownerem tj. Create(jinyOwner), nevite
> jak na to?:)

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.467 / Virus Database: 269.6.2/787 - Release Date: 3.5.2007
14:11


Vytvoreni te same komponenty

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 04.5.2007 12:29:57

jedna se o dedicnost kdy jeste nevim jake properties a dalsi vlastnosti
ten ci onen prvek bude mit..

Ales

Martin Pisarik napsal(a):
> Vytvoris ten objekt s jinym ownerem a prekopirujes properties. Nebo ne?
>
>> Ahoj potreboval bych vytvorit tu samou komponentu Twincontrol se
>> stejnejma vlastnostma, ale s jinym ownerem tj. Create(jinyOwner), nevite
>> jak na to?:)
>>

Vytvoreni te same komponenty

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 04.5.2007 12:37:57

No, ale ti potomci to vedet budou, takze nech kopirovani vlastnosti na nich.
Deklaruj virtualni metodu, kterou nazvi treba "Clone" a tu pak implementuj v
potomkovi tak, ze potomek zkopiruje jen a pouze sve nove vlastnosti a zavola
na sebe metodu Clone sveho predka, ktery provede to same analogicky.

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
> Behalf Of Ales Pavel
> Sent: Friday, May 04, 2007 12:30 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Re: Vytvoreni te same komponenty
>
>
> jedna se o dedicnost kdy jeste nevim jake properties a dalsi vlastnosti
> ten ci onen prvek bude mit..
>
> Ales
>
> Martin Pisarik napsal(a):
> > Vytvoris ten objekt s jinym ownerem a prekopirujes properties. Nebo ne?
> >
> >> Ahoj potreboval bych vytvorit tu samou komponentu Twincontrol se
> >> stejnejma vlastnostma, ale s jinym ownerem tj.
> Create(jinyOwner), nevite
> >> jak na to?:)
> >>
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.467 / Virus Database: 269.6.2/787 - Release Date:
> 3.5.2007 14:11
>
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.467 / Virus Database: 269.6.2/787 - Release Date: 3.5.2007
14:11


Vytvoreni te same komponenty

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 04.5.2007 13:01:59

Osobne bych radeji pouzil a preekryl v pripadnem potomkovi metodu Assign()

Tj. pak udelas

b:=Tneco.Create(...);
b.Assign(a);


Protoze Assign maji uz zakladni komponenty, takze ty do ni doplnis jen
to co mas ty noveho oproti std. predkovi.

TR

Martin Pisarik wrote:
> No, ale ti potomci to vedet budou, takze nech kopirovani vlastnosti na nich.
> Deklaruj virtualni metodu, kterou nazvi treba "Clone" a tu pak implementuj v
> potomkovi tak, ze potomek zkopiruje jen a pouze sve nove vlastnosti a zavola
> na sebe metodu Clone sveho predka, ktery provede to same analogicky.

Vytvoreni te same komponenty

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 04.5.2007 14:44:05

Mam tu asi 50 objektu v kterych to muze byt, myslel jsem ze kdyz je
mozne objekt ulozit do DB a pak ho zas vyvolat (v jave se tomu tusim
rika serializace) ze jde ten samy objekt nakopirovat jinam...pod jiny,
udelam to pomoci GetPropValue a SetPropValue zadna krasa ale co se da
delat..

Ales

Martin Pisarik napsal(a):
> No, ale ti potomci to vedet budou, takze nech kopirovani vlastnosti na nich.
> Deklaruj virtualni metodu, kterou nazvi treba "Clone" a tu pak implementuj v
> potomkovi tak, ze potomek zkopiruje jen a pouze sve nove vlastnosti a zavola
> na sebe metodu Clone sveho predka, ktery provede to same analogicky.
>
>
>> -----Original Message-----
>> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
>> Behalf Of Ales Pavel
>> Sent: Friday, May 04, 2007 12:30 PM
>> To: delphi-l(zv)clexpert(tec)cz
>> Subject: Re: Vytvoreni te same komponenty
>>
>>
>> jedna se o dedicnost kdy jeste nevim jake properties a dalsi vlastnosti
>> ten ci onen prvek bude mit..
>>
>> Ales
>>
>> Martin Pisarik napsal(a):
>>
>>> Vytvoris ten objekt s jinym ownerem a prekopirujes properties. Nebo ne?
>>>
>>>
>>>> Ahoj potreboval bych vytvorit tu samou komponentu Twincontrol se
>>>> stejnejma vlastnostma, ale s jinym ownerem tj.
>>>>
>> Create(jinyOwner), nevite
>>
>>>> jak na to?:)
>>>>
>>>>
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.5.467 / Virus Database: 269.6.2/787 - Release Date:
>> 3.5.2007 14:11
>>
>>
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.5.467 / Virus Database: 269.6.2/787 - Release Date: 3.5.2007
> 14:11
>
>
>
>

Create nezname tridy

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 04.5.2007 15:24:08

potrebuji vycreatovat tridu ktera je potomkem TWinControl, ale nevim
jakeho je typu takze neco jako

If a is TWinControl then
b:=TWinControl.create(self);


ale rovnou rikam ze nevim kolik tech potomku bude... a nechce se mi
vsude davat if ...is ani to tu neni mozne..

A.

dodatek : Create nezname tridy

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 04.5.2007 15:32:09

jo v jave je neco jako "create instance".


Ales Pavel napsal(a):
> potrebuji vycreatovat tridu ktera je potomkem TWinControl, ale nevim
> jakeho je typu takze neco jako
>
> If a is TWinControl then
> b:=TWinControl.create(self);
>
> ale rovnou rikam ze nevim kolik tech potomku bude... a nechce se mi
> vsude davat if ...is ani to tu neni mozne..
>
> A.
>
>

Create nezname tridy

[*] delphin(zv)post(tec)cz - 04.5.2007 15:30:09

> potrebuji vycreatovat tridu ktera je potomkem TWinControl, ale nevim
> jakeho je typu takze neco jako
>
> If a is TWinControl then
> b:=TWinControl.create(self);

Podivejte se do helpu na

Constructors and class references



type TControlClass = class of TControl;

function CreateControl(ControlClass: TControlClass;
const ControlName: string; X, Y, W, H: Integer): TControl;
begin
Result := ControlClass.Create(MainForm);
with Result do
begin
Parent := MainForm;
Name := ControlName;
SetBounds(X, Y, W, H);
Visible := True;
end;
end;

CreateControl(TEdit, 'Edit1', 10, 10, 100, 20);

NET monitor

[*] Spravce DH-Soft <spravce(zv)dh-soft(tec)cz> - 05.5.2007 21:46:08

Zdravim,

Chtel bych vytvorit aplikaci neco jako NET monitor. Abych vykresloval stav
sitovych karet, delal grafy apod.



Shanim nejakou komponentu(y), ktere by mi umoznovaly zjistovat stavy lan
adapteru, muzete mi nekdo poradit, pripadne me nasmerovat co pouzit?



Diky za kazde Info.



Dan, Delphi2005, Vista32bit.





Vytvoreni te same komponenty

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 05.5.2007 15:21:43

V Delphi je to podobne jako v Jave.
Koukni se na ukladani obsahu TComponent do streamu.
Specialne na tridy TWriter a TReader.
Pozor na jednu vec a to jsou udalosti.

Slavek


> Mam tu asi 50 objektu v kterych to muze byt, myslel jsem ze kdyz je
> mozne objekt ulozit do DB a pak ho zas vyvolat (v jave se tomu tusim
> rika serializace) ze jde ten samy objekt nakopirovat
> jinam...pod jiny,
> udelam to pomoci GetPropValue a SetPropValue zadna krasa ale co se da
> delat..
>
> Ales
>
> Martin Pisarik napsal(a):
> > No, ale ti potomci to vedet budou, takze nech kopirovani
> vlastnosti na
> > nich. Deklaruj virtualni metodu, kterou nazvi treba "Clone"
> a tu pak
> > implementuj v potomkovi tak, ze potomek zkopiruje jen a
> pouze sve nove
> > vlastnosti a zavola na sebe metodu Clone sveho predka,
> ktery provede
> > to same analogicky.
> >

sleep

[*] Petr Vones <conference(zv)petrvones(tec)net> - 04.5.2007 19:34:24

From: "Ivan Dulgerov" <idulgerov(zv)stonline.sk>
> Ako dosiahnem v Net Framevork pozdrzanie programu
> o jednu sekundu. (cosi ako v Delphi pre win32 sleep(1000))

http://msdn2.microsoft.com/en-us/library/system.threading.thread.sleep.aspx

Petr Vones

sleep

[*] Ivan Dulgerov <idulgerov(zv)stonline.sk> - 04.5.2007 19:00:22

Zdravim

Blba otazka.... :
Ako dosiahnem v Net Framevork pozdrzanie programu
o jednu sekundu. (cosi ako v Delphi pre win32 sleep(1000))

S pozdravom
Ivan Dulgerov
Delphi5 Prof+ SP1, Delphi 4 St, TurboDelphi, Win XP Porf. + SP1, Win98 SE
mail : idulgerov(zv)stonline.sk
ICQ : 190698607

NET monitor

[*] Milan <krata.milan(zv)seznam(tec)cz> - 06.5.2007 10:12:59

Momentalne se mi to nedari najit, ale nekde na internetu jsem kdysi
nasel program vcetne zdroju, ktery byl napsany v D7 a pouzival knihovnu
Synapse. Tento program byl psan jako jakesi demo a na plochu vykresloval
graf provozu na siti.
Milan

Spravce DH-Soft napsal(a):
> Chtel bych vytvorit aplikaci neco jako NET monitor. Abych vykresloval stav
> sitovych karet, delal grafy apod.
>
> Shanim nejakou komponentu(y), ktere by mi umoznovaly zjistovat stavy lan
> adapteru, muzete mi nekdo poradit, pripadne me nasmerovat co pouzit?

FB, SQL - jak na Mastrer Detail v aplikaci

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 08.5.2007 07:59:59

> Predelavam zgruntu vetsi projekt z solo Paradoxu do sitoveho
> transakcniho Firebirdu a chtel bych se vyhnout chybe pri aplikacni
> analyze problemu Master-Detail. Jde to klasicky pripad hlavicka faktury
> a polozky faktury.
>
> Vim, ze vysledkem musi byt jeden SQL skript, ktery odstartuje transakci,
> prida fakturu do tabulky faktury a pote prida polozky. Kdyz se vse
> podari, SQL se commitne.

Z tohoto textu soudim, ze nepouzivas zadne DB komponenty (TIBDataSet, TClientDataSet a pod), ale vsechno delas "rucne". Taky cesta, i kdyz podle me zbytecne pracna.

Na generovani ID bych si napsal proceduru DejID(jmenogeneratoru), ktera pres IBSQL nebo IBDataSet vraci
"select gen_id(jmenogeneratorui,1) from RDB$DATABASE"

Cely proces by pak vypadal schematicky asi takto:

try
IBDatabase.Transaction.StartTranscation;
id:=DejID('mujgenerator');
IBSQL.SQL:="insert into faktura values(...)"
IBSQL.Prepare;
IBSQL.Params ... naplnit parametry
IBSQL.ExecQuery;
IBSQL.SQL:="insert into radkyfaktury values(...)"
IBSQL.Prepare;
a pro sechny radky
IBSQL.Params ... naplnit parametry
IBSQL.ExecQuery;
IBDatabase.Transaction.Commit;
except
IBDatabase.Transaction.Rollback;
raise;
end;

Podotykam, ze rollback nevrati zpet hodnotu generatoru, generator jde mimo transakcni kontrolu, takze v pripade neuspechu tam vznikne dira.

Osobne bych se ale tomuto pracnemu postupu vyhnul.
Pouzil bych normalne IBDataSet, master-detail vazba faktura-radek pres property DataSource.
Editace v standardnich DBControls (DBEdit, DBGrid a pod.]
Generator si to zavola samo, je tam na to property GeneratorField.
Transakce se zahaji automaticky, staci pak zavolat CommitRetaining.

Anebo jeste lepe:

Kontrukce IBDataSet - DataSetProvider - ClientDataSet.
Pokud provazu master-detail IBDataSet vyse popsanym zpusobem, vrati provider do ClientDataSet fakturu i s jejimi radky jako jediny zaznam. Radky pak jsou ulozeny v TDataSetField ClientDataSetu. Pripojim na ne dalsi ClientDataSet pres property DataSetField.

Edituju v DBControls, do databaze se nic neuklada.
Zavolam ApplyUpdates, spolu s master zaznamem se ulozi i radky.
Pres SQLMonitor si mohu zkontrolovat, ze do databaze jdou optimalni prikazy.
Nakonec Commit, kdyz ClientDataSet..ChangeCount=0, jinak Rollback.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

FB, SQL - jak na Mastrer Detail v aplikaci

[*] Petr Svejda <petr(zv)svejda(tec)cz> - 07.5.2007 22:41:23

Predelavam zgruntu vetsi projekt z solo Paradoxu do sitoveho
transakcniho Firebirdu a chtel bych se vyhnout chybe pri aplikacni
analyze problemu Master-Detail. Jde to klasicky pripad hlavicka faktury
a polozky faktury.

Vim, ze vysledkem musi byt jeden SQL skript, ktery odstartuje transakci,
prida fakturu do tabulky faktury a pote prida polozky. Kdyz se vse
podari, SQL se commitne.

Vim, ze vse v teto oblasti je vyresene, ale protoze jsem ve FB a SQL
zacatecnik, prosim o radu:

- pri pridavani faktury ukladate polozky do nejake docasne memory table
a az pri finalnim SQL prikazu presypete polozky do tabulky?
- jak resite relaci? Pomoci GUID (tady bych problem nevidel, nebot si ho
dopredu vygeneruji), nebo pomoci Generatoru (jak zjistite ID_FAK dopredu?)

Jeste vetsi problem vidim pri oprave faktury:

- pomoci SQL si zobrazim hlavicku faktury a jeji polozky. Kdyz nejakou
polozku faktury pridam nebo opravim, jak resite vysledny SQL. To puvodni
polozky faktury smazete a z docasne "memory table" nasypete nove
opravene polozky? Nebo jak zjistujete, kterou polozku uzivatel pridal,
smazal, opravil?

Vim, ze pro nekoho je to dennodenni rutina, ale nekamenujte me prosim.
Uvitam nejaky ukazkovy kod - nejsem ani liny programovat, ani nechci
nekoho vysavat - chtel bych jenom pochopit, jak se to dela spravne.

Petr Svejda

FB, SQL - jak na Mastrer Detail v aplikaci

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 08.5.2007 12:24:20

Petr Svejda wrote:
> - pri pridavani faktury ukladate polozky do nejake docasne memory
> table a az pri finalnim SQL prikazu presypete polozky do tabulky?
> - jak resite relaci? Pomoci GUID (tady bych problem nevidel, nebot si
> ho dopredu vygeneruji), nebo pomoci Generatoru (jak zjistite ID_FAK
> dopredu?)

Ja jsem si v ramci testovani execute bloku ve FB2 udelal jednoduchy blok v
aplikaci:
begin
insert into faktury values (...) returning id;
insert into polozkyfaktury values (id, ...);
...
end;

ktery pred ulozenim pripravim a pak spustim. Neni to idealni, spis jsem si
to chtel zkusit a je to taky jedna z cest.

BTW to jak Honza Sebelik, jde zjednodusit, ze prvni insert udelas s
returning a prectes si vysledek. Usetris tim jedno volani do DB, tedy jeden
roundtrip atp.

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

FB, SQL - jak na Mastrer Detail v aplikaci

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 09.5.2007 07:45:35

No ja budu oponovat - nemam rad DBAware komponenty, takze resim take rucne.

Popisu hlavne pripad opravy polozek:
1. Nactu polozky z DB do nejakeho kontejneru (u me je to TDBRecordList -
obsahuje jednotlive TDBRecord)
2. Pokud potrebuji zobrazit polozky v gridu nebo jine DBAware
komponente, tak si obsah prekopiruji do nejakeho memory datasetu
3. Hlidam zmenu na zaznamu - existuje pole zmenenych objektu, ktere
obsahuje operaci a objekt, pro ktery byla zmena provedena (D = delete, I
= insert, U = update). Jen pozor na drobnosti typu vymaz noveho zaznamu
apod.
4. Pri ukladani prochazim pouze pole zmenenych zaznamu a opravuji
jednotlive polozky (volam jejich metodu SaveRecord nebo DeleteRecord).

Snad to pomuze. Pochopitelne nejidealnejsi by bylo, pokud by byl
TDBRecordList potomkem TDataset, ale to neni a nechce se mi tato
prisernost delat :(

S pozdravem

Milan Tomes


Jan Sebelik napsal(a):
>> Predelavam zgruntu vetsi projekt z solo Paradoxu do sitoveho
>> transakcniho Firebirdu a chtel bych se vyhnout chybe pri aplikacni
>> analyze problemu Master-Detail. Jde to klasicky pripad hlavicka faktury
>> a polozky faktury.
>>
>> Vim, ze vysledkem musi byt jeden SQL skript, ktery odstartuje transakci,
>> prida fakturu do tabulky faktury a pote prida polozky. Kdyz se vse
>> podari, SQL se commitne.
>>
>
> Z tohoto textu soudim, ze nepouzivas zadne DB komponenty (TIBDataSet, TClientDataSet a pod), ale vsechno delas "rucne". Taky cesta, i kdyz podle me zbytecne pracna.
>

IBDataSet.Delete a Stored procedure

[*] info(zv)drnholec(tec)cz <info(zv)drnholec(tec)cz> - 09.5.2007 08:13:37

Ahoj

Nefunguje mi ulozena procedura v IBDataSetu
Mam IBDataset.DeleteSQL.Text:='EXECUTE PROCEDURE ODSTRAN :ID'
a pak zavolam IBDataset.Delete tak se zaznam v datasetu smaze ale
"neprovede se" commit.

Pokud mam "klasiku" DeleteSQL.Text:='DELETE from TABULKA where ID =
:OLD_ID' tak je vse ok.

Pokud napriklad zaznam updatuji tak ulozene procedury funguji.

Co s tim , je to vlastnost necbo chyba ?

Jura

FB, SQL - jak na Mastrer Detail v aplikaci

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 09.5.2007 09:39:47

> No ja budu oponovat - nemam rad DBAware komponenty, takze resim take rucne.
>
> Jan Sebelik napsal(a):
> >> Predelavam zgruntu vetsi projekt z solo Paradoxu do sitoveho
> >> transakcniho Firebirdu a chtel bych se vyhnout chybe pri aplikacni
> >> analyze problemu Master-Detail. Jde to klasicky pripad hlavicka faktury
> >> a polozky faktury.

Taky jsem pred lety napsal fakturaci (jako soucast vetsiho ekonomickeho
baliku). A taky je to delane vicemene rucne, zejmena proto, ze
problematika specialne u fakturace je pomerne kosata. U ruznych typu
faktur (bezna, zalohova, proforma, dobropis) se "v ramci ulozeni" nekdy
nejake kroky delaji, nekdy nedelaji, muze byt parametry predepsano, se
kterymi udaji se v dane instalaci pracuje nebo nepracuje. Vazba tez muze
byt slozitejsi nez jen hlavicka - polozky (v dalsich tabulkach mohou byt
dalsi udaje treba k jednotlivym radkum apod.).

Je to ale tak, ze pri editaci faktury mam vsechna potrebna data v pameti
(memory table apod.) a udaje, u kterych doslo ke zmene, jsou oznaceny a
pak ulozeny jen zmeny.

Pokud jde o ziskani ID z generatoru, je opravdu mozne si ho vyzadat predem
na zacatku ukladani selectem GEN_ID (pisu z hlavy, snad si pamatuji
spravne) a da se zadat. ID by nemelo slouzit jako cislo faktury, k tomu
jsou ciselne rady, takze nejake diry apod. by snad nemely vadit.

Zvykl jsem si davat ke kazdemu datasetu/IBSQL jeho vlastni transakci
(odpada tak efekt "globalnich promennych", ze clovek udela commit a on se
mus tim necekane zavre i uplne jiny dataset napojeny na stejnou transakci
apod.) Pokud pri ulozeni faktury ma pracovat nekolik datasetu v ramci
jedne transakce, pak ji tyto datasety samozrejme sdili.

Snad to trochu pomuze.

David Lebeda

FB, SQL - jak na Mastrer Detail v aplikaci

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 09.5.2007 09:37:46

> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Milan Tomes
> No ja budu oponovat - nemam rad DBAware komponenty, takze resim
> take rucne.

Nechce se mi jit 12 let po vzniku Delphi do polemiky o DBAware komponentach. Ale ten problem je neustale na stole - v konferenci i na nasich kurzech (nejen Delphi).

Milan to pise urcite dobre, pouzivat DBAware komponety ma mnoho odpurcu (Zbysek Hlinka!).

Ale co mate proti tem DBAware?
Soudim, ze odpor vuci nim vzniknul v dobe BDE, kdyz kazdy pohyb po DataSetu, kazdy Post, ci Edit vyvolal obtizne kontrolovatelnou komunikaci s databazi. Kdyz ale dneska pouziju ClientDataSet, nevidim zadne argumenty proti - nebo jsem slepej.

> 1. Nactu polozky z DB do nejakeho kontejneru (u me je to TDBRecordList -
> obsahuje jednotlive TDBRecord)
ClientDataSet muzeme povazovat taky za jakysii memory kontejner.

> 2. Pokud potrebuji zobrazit polozky v gridu nebo jine DBAware
> komponente, tak si obsah prekopiruji do nejakeho memory datasetu
Uz to tam mam.

> 3. Hlidam zmenu na zaznamu - existuje pole zmenenych objektu, ktere
> obsahuje operaci a objekt, pro ktery byla zmena provedena (D = delete, I
> = insert, U = update). Jen pozor na drobnosti typu vymaz noveho zaznamu
> apod.
ClientDataSet.Delta - je to tam velmi prehledne.

> 4. Pri ukladani prochazim pouze pole zmenenych zaznamu a opravuji
> jednotlive polozky (volam jejich metodu SaveRecord nebo DeleteRecord).
Totez udela ClientDataSet.ApplyUpdates. Zda to generuje spravne prikazy do databaze, to uvidim na nejakem SQL monitoru. Pro IBX je to rozhodne spravne.
Pokud se mi to nelibi, muzu projit Delta a vygenerovat si update sam. Ostatne, taky to tak delam. Na "select * from ulozenaprocedura" mi standardni Apply Updates fungovat nebude.

> . Pochopitelne nejidealnejsi by bylo, pokud by byl
> TDBRecordList potomkem TDataset, ale to neni a nechce se mi tato
> prisernost delat :(
TClientDataSet je potomkem TDataSet.

ClientDataSet splnuje nejprisnejsi pozadavky na komunikaci s databazi: nacist rychle data (dokonce unidirectional), "odstrihnout" se od databaze (automaticky Close, muzu se dokonce odpojit), provest v klidu zmeny, pak hromadny update zmenenych zaznamu v mnou plne kontrolovane transakci.

Zaver:
Fakt nevidim duvod, proc tedy nepouzit ClientDataSet a na nej navazane DBAware komponenty.
Proc ty komponety pouzit, na to je duvodu mnoho:

- TClientDataSet:
FindKey, IndexFieldNames, Filter, ReadOnly, BeforePost, Aggregates, NestedDataSet (to bylo tema dotazu), CalcFields, ...
- TField
OnValidate, OnChange, OnGetText, Required, DisplayFormat, ..., fkLookup
- DBAware
Prima navaznost na DataSet a v nem obsazena data, Grid (orig je blbej), TDBLookupComboBox, ...
Nemusim obsluhovat pohyb uzivatele po datasetu.

Tohle vsechno se pri odmitnuti DBAware musi delat rucne.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

IBDataSet.Delete a Stored procedure

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 09.5.2007 10:11:49

info(zv)drnholec(tec)cz dne 9 May 2007 v 8:13:

> Nefunguje mi ulozena procedura v IBDataSetu
> Mam IBDataset.DeleteSQL.Text:='EXECUTE PROCEDURE ODSTRAN :ID'
> a pak zavolam IBDataset.Delete tak se zaznam v datasetu smaze ale
> "neprovede se" commit.
>
> Pokud mam "klasiku" DeleteSQL.Text:='DELETE from TABULKA where ID =
> :OLD_ID' tak je vse ok.

Nemel bys tam jenom mit
EXECUTE PROCEDURE ODSTRAN :OLD_ID ?

Karel Rys

SQL prikaz, ktery z vazby m:n vybere tu, ktera ma

[*] Petr Fejfar <petr.fejfar(zv)seznam(tec)cz> - 09.5.2007 11:27:54

delphi-l(zv)clexpert(tec)cz
Ahoj vsichni,

potreboval byl poradit se sestavenim SQL dotazu. Od rana to zkousim,
ale bezvysledku:

- mam dve tabulky spojene treti do vazby m:n, takze zakladni select je
neco takoveho

SELECT * FROM T1
INNER JOIN R12 ON T1.PK=R12.PFK_T1
INNER JOIN T2 ON T2.PK=R12.PFK_T2
WHERE
T2.X=...;

- ted bych k tomu potreboval nejak pridat dalsi podminku,
ktera by mi vybrala pouze zaznam s kardinalitou
(nebo jak se to spravne jmenuje) 1:1

Zkousel jsem kde co, mj. ruzne vnorene selekty napr.
SELECT ....
WHERE (SELECT COUNT(*)
WHERE ... IN (SELECT ... ))=1
atd, ale neuspesne.

Databaze je SQLite, ale uvitam kazde reseni na urovni SQL standardu.


Diky, pf


uzivatel. ktery spustil proces

[*] l.vlcek(zv)noel-plus(tec)cz <l.vlcek(zv)noel-plus(tec)cz> - 09.5.2007 12:03:57

zdravim,
nejak se nemuzu dohledat v archivu koncerence, asi blbe hledam...

Potreboval bych trosku popostrcit s problemem, kdy potrebuji vylistovat
seznam bezicich procesu ve stroji. To uz jsem nasel. Co ale nemuzu
dohledat, je, jak zjistit, uzivatele, ktery spustil ten ktery proces.
Neco na zpusob vypisu procesu v Task manageru...

Prosim, prosim,
nevedel by nekdo ??

diky moc.
L.Vlcek

SQL prikaz, ktery z vazby m:n vybere tu, ktera ma

[*] Ludek Finstrle <ludek.finstrle(zv)pzkagis(tec)cz> - 09.5.2007 11:59:56

> - mam dve tabulky spojene treti do vazby m:n, takze zakladni select je
> neco takoveho
>
> SELECT * FROM T1
> INNER JOIN R12 ON T1.PK=R12.PFK_T1
> INNER JOIN T2 ON T2.PK=R12.PFK_T2
> WHERE
> T2.X=...;

Pisi nanecisto z hlavy, ale nevidim duvod nefunkcnosti, na druhou stranu
by to mozna slo nejak optimalizovat:

SELECT * FROM T1
INNER JOIN R12 ON T1.PK=R12.PFK_T1
INNER JOIN T2 ON T2.PK=R12.PFK_T2
WHERE EXISTS (SELECT 1 FROM T1
INNER JOIN R12 ON T1.PK=R12.PFK_T1
INNER JOIN T2 ON T2.PK=R12.PFK_T2
WHERE T2.PK IS NOT NULL
GROUP BY T1.PK,T2.PK
HAVING COUNT(*) = 1)

Luf

FB, SQL - jak na Mastrer Detail v aplikaci

[*] Erik Salaj <winsoft(zv)netkosice.sk> - 09.5.2007 11:59:56

>> No ja budu oponovat - nemam rad DBAware komponenty, takze resim
>> take rucne.
>
> Nechce se mi jit 12 let po vzniku Delphi do polemiky o DBAware
> komponentach. Ale ten problem je neustale na stole - v konferenci i na
> nasich kurzech (nejen Delphi).
>
> Milan to pise urcite dobre, pouzivat DBAware komponety ma mnoho odpurcu
> (Zbysek Hlinka!).
>
> Ale co mate proti tem DBAware?

programator straca kontrolu nad pracou s databazou.
Pouzivanim DBAware sa miesta uzivatelske rozhranie
s pristupom k datam a to moze byt problemom, ked treba
nieco robit inak ako je to v tych DBAware komponentoch
naprogramovane. Byva IMHO vyhodnejsie, ked funkcia
alebo komponent robi jednu cinnost - ja si uz potom
sam poskladam komplikovanejsiu. Je treba viac kodu
ale mam moznosti si sam zvolit a ovplyvnit tak spravanie
uzivatelskeho rozhrania ako aj databazoveho pristupu.

Zatial sa mi najviac pozdava pristup Javy, kde je to postavene
na abstraktnych modeloch. Mozem si implementovat vlastny
model tabulky a ten pouzit v grid komponente. Ten ClientDataSet
v Delphi je viacmenej len jedna taka mozna (aj ked univerzalna
a v mnohych pripadoch postacujuca) implementacia.

Erik Salaj

SQL prikaz, ktery z vazby m:n vybere tu, ktera ma

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 09.5.2007 13:00:00

> Zkousel jsem kde co, mj. ruzne vnorene selekty napr.
> SELECT ....
> WHERE (SELECT COUNT(*)
> WHERE ... IN (SELECT ... ))=1
> atd, ale neuspesne.

Nevim, napada me neco jako
where T1.PK in (select T2.PK from R12 group by T2.PK having count(R12.PFK_T2)=1)

Zkousel jsem to na Firebird - Employee.gdb

select cust_no from sales
group by cust_no
having count(po_number)=1

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

FB, SQL - jak na Mastrer Detail v aplikaci

[*] Martin Schayna <martin.schayna(zv)abra.eu> - 09.5.2007 13:40:03

Jan Sebelik wrote:
>> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Milan Tomes
>> No ja budu oponovat - nemam rad DBAware komponenty, takze resim
>> take rucne.
>>
>
> Nechce se mi jit 12 let po vzniku Delphi do polemiky o DBAware komponentach. Ale ten problem je neustale na stole - v konferenci i na nasich kurzech (nejen Delphi).
>
> Milan to pise urcite dobre, pouzivat DBAware komponety ma mnoho odpurcu (Zbysek Hlinka!).
>
> Ale co mate proti tem DBAware?

Krome TClientDatasetu je urcitou cestou pouzivani DBAware komponent pro
editaci (vyuzijete spoustu jiz existujicich komponent, rychlost designu
apod.) a vlastniho datasetu na ktery jsou napojene (mate plne pod
kontrolou perzistenci dat). Bohuzel rozhrani TDataset je poplatne
"placatym" databazim a pro odlisnou perzistenci se obtizne adaptuje, ale
lze to.

SQL prikaz, ktery z vazby m:n vybere tu, ktera ma

[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 09.5.2007 13:52:04

select * from R12 group by PFK_T1,PFK_T2
having count(PFK_T1)=1 and count(PFK_T2)=1

-- by nestacilo? Za hvezdickou si jeste muzes vypsat/dekodovat dalsi
udaje... Jarda

From: "Petr Fejfar" <petr.fejfar(zv)seznam(tec)cz>
>
> potreboval byl poradit se sestavenim SQL dotazu. Od rana to zkousim,
> ale bezvysledku:
>
> - mam dve tabulky spojene treti do vazby m:n, takze zakladni select je
> neco takoveho
>
> SELECT * FROM T1
> INNER JOIN R12 ON T1.PK=R12.PFK_T1
> INNER JOIN T2 ON T2.PK=R12.PFK_T2
> WHERE
> T2.X=...;
>
> - ted bych k tomu potreboval nejak pridat dalsi podminku,
> ktera by mi vybrala pouze zaznam s kardinalitou
> (nebo jak se to spravne jmenuje) 1:1

SQL prikaz, ktery z vazby m:n vybere tu, ktera ma

[*] Petr Fejfar <petr.fejfar(zv)seznam(tec)cz> - 09.5.2007 15:08:09

Dne Wed, 09 May 2007 13:52:04 +0200 Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz>
napsal/-a:

> select * from R12 group by PFK_T1,PFK_T2
> having count(PFK_T1)=1 and count(PFK_T2)=1
>
> -- by nestacilo? Za hvezdickou si jeste muzes vypsat/dekodovat dalsi

Kdyz to zgrupuju podle PFK_T1,PFK_T2, tak dostanu vysledek stejny
jako pri SELECT * FROM (bez group by) a HAVING se vubec neuplatni.

pf

SQL prikaz, ktery z vazby m:n vybere tu, ktera ma

[*] Petr Fejfar <petr.fejfar(zv)seznam(tec)cz> - 09.5.2007 15:18:10

Dne Wed, 09 May 2007 13:00:00 +0200 Jan Sebelik <honza(zv)haes(tec)cz> napsal/-a:

> Nevim, napada me neco jako
> where T1.PK in (select T2.PK from R12 group by T2.PK having
> count(R12.PFK_T2)=1)

Jestli jsem to spravne pochopil, tak mas na mysli

T1.PK IN (SELECT R12.PFK_T1 FROM R12 GROUP BY R12.PFK_T1
HAVING COUNT(R12.PFK_T2)=1

a to je asi to, co potrebuju, alespon kdyz to pres AND pridam
do puvodni WHERE klauzule, tak to vypada, ze to dava vysledek,
ktery chci a rychlost je dobra.


Diky, pf

Ztrata USB klavesnice

[*] Dalibor Faltynek <dalibor.faltynek(zv)orgrez(tec)cz> - 09.5.2007 15:10:09

Mne neco podobneho delala CD mechanika. Neprisel jsem na to proc.
Dalibor.

----- Original Message -----
From: "Jiri Cincura" <diskuze(zv)cincura.net>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, May 03, 2007 10:42 AM
Subject: Re: Ztrata USB klavesnice


> Venca Zaruba wrote:
>> devcon.. testnu, google vraci hromadu, tak jdu hledat
>> (nezna nekdo umistneni pro D7)
>
> Umisteni ceho? devcon je normalni exac, kterej staci spustit (+parametry).
>
> --
> Jiri {x2} Cincura
> http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com
>
>
>

SQL prikaz, ktery z vazby m:n vybere tu, ktera ma

[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 09.5.2007 15:56:13

sorry, psal jsem zpameti rychleji nez myslel, funguje

select a.PFK_T1,b.PFK_T2,count(*) from R12 a, R12 b
group by a.PFK_T1, b.PFK_T2 having count(*)=1

vyzkouseno MSSQL. jarda

From: "Petr Fejfar" <petr.fejfar(zv)seznam(tec)cz>
>
>> select * from R12 group by PFK_T1,PFK_T2
>> having count(PFK_T1)=1 and count(PFK_T2)=1
>>
>> -- by nestacilo? Za hvezdickou si jeste muzes vypsat/dekodovat dalsi
>
> Kdyz to zgrupuju podle PFK_T1,PFK_T2, tak dostanu vysledek stejny
> jako pri SELECT * FROM (bez group by) a HAVING se vubec neuplatni.
>

Windows Vista a UAC 2

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 10.5.2007 07:23:12

Zdravim,

znovu se obracim ohledne %subject%.
Jak jsem zjistil, tak omezeni, ktere prinasi Windows Vista nelze zadnym
zpusobem obejit, takze musim vymyslet jiny zpusob jak singleton
realizovat resp. jak prepsat jeho cast, ktera prave musi byt onim
singletonem.
Funkcnost one singletonove casti je takovato:
1. funguje jako UDP server (odpovida na jeden jediny pozadavek -
enumeraci vsech PC, na kterych bezi jakakoliv nase aplikace)
2. funguje jako TCP server (prijima servisni pozadavky a provadi je /
odpovida na ne)
3. shromazduje informace o spustenych aplikacich (pouze nasich
aplikacich) - registruje je, registruje jejich transakce a pripojeni k
DB atd.

Dle vyjadreni ve foru MSDN by mi mohlo pomoci COM exe service, ale ja
netusim co to je a kde pripadne hledat nejake info (msdn mlci) nebo
sdileni dat mezi instancemi non-singletonu. To sdileni se mi celkem
libi, jen netusim jak strukturovat moje data pri ukladani do sdilene
oblasti (vytvorene pres CreateFileMapping / MapViewOfFile). Dalsi
problem je v tom, ze ta data se mohou celkem rychle menit a ja nemuzu
jednotlive aplikace blokovat touto komunikaci (je jasne, ze by bylo
nutno serializovat pristup k onomu sdilenemu prostoru). No a jako
posledni problem s temi sdilenymi daty bych videl to, ze stejne musi
nekde "sedet" ten TCP/UDP server, ktery je schopen prijimat a odpovidat
na pozadavky ze site a ten proste musi byt singleton at uz chci nebo
nechci (nemuzu otevrit port pro naslouchani vice nez jednou) a krom
jineho musi byt schopen taky cist sdilena data a na zaklade techto dat
komunikovat primo s aplikacemi (napr. prostrednictvim zprav).

Nenapada nekoho z vas nejake reseni ?

Diky

S pozdravem

Milan Tomes

> potrebuju nakopnout s jednim problemem, ktery je uzce spjaty s Windows
> Vista a zapnutym UAC.
> Mam out-process COM server, ktery funguje jako singleton (pouze v
> pripade, ze je spustena nejaka nase aplikace, tak bezi, v pripade
> ukonceni posledni nasi aplikace je automaticky ukoncen). Tento COM
> server zaroven komunikuje po siti s jinymi instancemi COM serveru (UDP
> +TCP socket). Problemem ovsem je, ze jednu nasi aplikaci je nutno
> spoustet s pravy administratora a ostatni se spousti s normalnimi pravy
> (tedy staci opravneni skupiny Users). V tomto pripade Windows Vista
> provede spusteni instance COM serveru pro administracni utilitu a dalsi
> instance pro ostatni SW, kteremu staci prava nizsi.
>
> Nemate nekdo tuseni jak toto vyresit ?
>
> Nejedna se mi o nejake obejiti problemu, ale o kompletni vyreseni.
> Napadlo me vyuziti sluzby, ktera by tento server spustila pri startu
> systemu s pravy napr. Network service (aby byla mozna UDP a TCP
> komunikace), jenze to se mi moc nelibi... Neexistuje jina moznost jak
> zajistit korektni spusteni tohoto COM serveru opravdu jen 1x na celem PC
> (tzn. i v pripade Fast user switching)

IBDataSet.Delete a Stored procedure

[*] info(zv)drnholec(tec)cz <info(zv)drnholec(tec)cz> - 10.5.2007 07:15:12

> Nemel bys tam jenom mit
> EXECUTE PROCEDURE ODSTRAN :OLD_ID ?


Ahoj

Nefunguje. Ale zatim to tak vypada ze tento problem je pouze u datasetu
kde mam v Selectu TABULKA_VIEW a ulozenou procedurou odstranuji zaznam
v originalni tabulce.
Pokud je v selectu originalni TABULKA tak Dataset.Delete funguje OK.

J.

uzivatel. ktery spustil proces

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 10.5.2007 00:02:44

l.vlcek(zv)noel-plus(tec)cz wrote:
> Potreboval bych trosku popostrcit s problemem, kdy potrebuji vylistovat
> seznam bezicich procesu ve stroji. To uz jsem nasel. Co ale nemuzu
> dohledat, je, jak zjistit, uzivatele, ktery spustil ten ktery proces.
> Neco na zpusob vypisu procesu v Task manageru...
>

Nepises jak zjistujes ty procesy. Budu predpokladat, ze neco
inteligentniho, treba WMI. A prace trida Win32_Process ma metodu
GetOwner, ktery ti vrati, jaky user dany proces spustil.

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

SQL prikaz, ktery z vazby m:n vybere tu, ktera ma

[*] Petr Fejfar <petr.fejfar(zv)seznam(tec)cz> - 09.5.2007 23:18:41

Dne Wed, 09 May 2007 11:59:56 +0200 Ludek Finstrle
<ludek.finstrle(zv)pzkagis(tec)cz> napsal/-a:

> SELECT * FROM T1
> INNER JOIN R12 ON T1.PK=R12.PFK_T1
> INNER JOIN T2 ON T2.PK=R12.PFK_T2
> WHERE EXISTS (SELECT 1 FROM T1
> INNER JOIN R12 ON T1.PK=R12.PFK_T1
> INNER JOIN T2 ON T2.PK=R12.PFK_T2
> WHERE T2.PK IS NOT NULL
> GROUP BY T1.PK,T2.PK
> HAVING COUNT(*) = 1)

Z toho jsem GOGO - SQlite to nechce syntakticky sezrat: hlasi chybu near
SELECT.
SELECT za EXISTS spustit sam o sobe jde a ten prvni taky, ale dohromady to
nejde
a neprisel jsem na to, co tomu vadi.

Nevadi, jine reseni zda se funguje, tak f**k**t

IBDataSet.Delete a Stored procedure

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 10.5.2007 09:37:21

info(zv)drnholec(tec)cz dne 10 May 2007 v 7:15:

> > Nemel bys tam jenom mit
> > EXECUTE PROCEDURE ODSTRAN :OLD_ID ?

> Nefunguje. Ale zatim to tak vypada ze tento problem je pouze u
> datasetu kde mam v Selectu TABULKA_VIEW a ulozenou procedurou
> odstranuji zaznam v originalni tabulce. Pokud je v selectu originalni
> TABULKA tak Dataset.Delete funguje OK.

To je divny, preci tvar SELECTu nemuze mit vliv na to, zda probehne nebo neprobehne DELETE. Vraci ten SELECT z view urcite
uplne stejne hodnoty, jako SELECT primo z tabulky? Muzes si overit, ze ta procedura na mazani dostane opravdu na vstupu
spravne ID (treba ho v te procedure zapsat nekam do logu) a ne treba NULL?

Karel Rys

Windows Vista a UAC 2

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 10.5.2007 09:31:21

Milan Tomes dne 10 May 2007 v 7:23:

> znovu se obracim ohledne %subject%.
> Jak jsem zjistil, tak omezeni, ktere prinasi Windows Vista nelze
> zadnym zpusobem obejit, takze musim vymyslet jiny zpusob jak singleton
> realizovat resp. jak prepsat jeho cast, ktera prave musi byt onim
> singletonem.

Ahoj,

a proc to nechces nechat bezet jako sluzbu, ktera se spusti po zapnuti PC? Pak bys mel po trapeni, ne? Byl by takovy
problem, kdyby sluzba bezela, teda spis spala a cekala na pozadavky, i kdyby zadna z vasich aplikaci zrovna nikde spustena
nebyla?

Karel Rys

Windows Vista a UAC 2

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 10.5.2007 09:43:23

To by rozhodne problem nebyl. Ovsem s pouzitim sluzby nastava jiny - a
mnohem zavaznejsi - problem: Jak s takovou sluzbou komunikovat ?
Rozhodne se nehodlam vydavat cestou vytvareni komunikacniho kanalu v
podobe napr. socketu a podobnych veci, protoze to by bylo neunosne. Jen
pro nazornost prikladam rozhrani, ktere je ted pouzivano:

IG3TCPServer = interface(IUnknown)
['{9D126E08-3E54-4630-857E-FDDF7D7F7859}']
procedure StartServer; safecall;
procedure StopServer; safecall;
function enumComputers(ExcludeLocalIPs: WordBool):
IG3ComputerInfoCollection; safecall;
function enumComputers1(const AppShortcut: WideString;
ExcludeLocalIPs: WordBool): IG3ComputerInfoCollection; safecall;
function enumComputers2(DBProfile: DatabaseProfile; ExcludeLocalIPs:
WordBool): IG3ComputerInfoCollection; safecall;
function enumComputers3(const AppShortcut: WideString; DBProfile:
DatabaseProfile;
ExcludeLocalIPs: WordBool):
IG3ComputerInfoCollection; safecall;
procedure SendMessage(const Message: WideString; const Recievers:
IG3ComputerInfoCollection); safecall;
function isDatabaseUsed(DBProfile: DatabaseProfile; const
ExcludeModuleID: WideString;
ExcludeSubmodules: WordBool): WordBool;
safecall;
function isAppRunning(const AppShortcut: WideString; DBProfile:
DatabaseProfile;
const ExcludeModuleID: WideString;
ExcludeSubmodules: WordBool): WordBool; safecall;
function isIPLocal(const IP: WideString): WordBool; safecall;
function isFBServerRunning(const ServerName: WideString; Port:
Integer): WordBool; safecall;
function ResolveNameFromIP(const IP: WideString): WideString; safecall;
function ResolveIPFromName(const Name: WideString): WideString;
safecall;
function RegisterModule(const AppShortcut: WideString; const
AppLongName: WideString;
MainFormHandle: OLE_HANDLE; Connected:
WordBool;
DBProfile: DatabaseProfile; FunctionPlaceID:
OleVariant;
const ModuleName: WideString; Version:
VersionInfo;
RegType: RegistrationType): WideString;
safecall;
procedure UnregisterModule(const ModuleID: WideString); safecall;
function Get_LocalName: WideString; safecall;
function Get_RegisteredModules: IG3ComputerInfoCollection; safecall;
function Get_LocalIPs: IWideStringList; safecall;
function Get_Version: Integer; safecall;
function PickupAppMessage(ID: Integer): WideString; safecall;
property LocalName: WideString read Get_LocalName;
property RegisteredModules: IG3ComputerInfoCollection read
Get_RegisteredModules;
property LocalIPs: IWideStringList read Get_LocalIPs;
property Version: Integer read Get_Version;
end;

Nedovedu si predstavit jak bych volal jednotlive metody te sluzby,
predaval parametry a ziskaval vysledky, ktere jsou mnohdy v podobe
jinych rozhrani. Ovsem nebranim se zadne diskuzi ohledne sluzeb -
samozrejme, ze sluzba byla prvni co me napadlo.

S pozdravem

Milan Tomes

Karel Rys napsal(a):
> Milan Tomes dne 10 May 2007 v 7:23
>> znovu se obracim ohledne %subject%.
>> Jak jsem zjistil, tak omezeni, ktere prinasi Windows Vista nelze
>> zadnym zpusobem obejit, takze musim vymyslet jiny zpusob jak singleton
>> realizovat resp. jak prepsat jeho cast, ktera prave musi byt onim
>> singletonem.
>>
>
> a proc to nechces nechat bezet jako sluzbu, ktera se spusti po zapnuti PC? Pak bys mel po trapeni, ne? Byl by takovy
> problem, kdyby sluzba bezela, teda spis spala a cekala na pozadavky, i kdyby zadna z vasich aplikaci zrovna nikde spustena
> nebyla

IBDataSet.Delete a Stored procedure

[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 10.5.2007 10:13:29

No s timto jsem se nikdy nesetkal a to jedu na FB uz vice nez 2 roky.

Jsi si opravdu jisty ze jedes ve stejne transakci jako to odstraneni radku, resp. ze mas
zaktualizovanou transakci??

Jak provadis odstraneni, delete from ..., nebo nejakym statusem zaznamu, pokud to druhe,
nezapomnel jsi takto oznacene zaznamy z view vyloucit ??

Tom

> Nefunguje. Ale zatim to tak vypada ze tento problem je pouze u datasetu
> kde mam v Selectu TABULKA_VIEW a ulozenou procedurou odstranuji zaznam
> v originalni tabulce.
> Pokud je v selectu originalni TABULKA tak Dataset.Delete funguje OK.
>

Synapse.OnMonitor

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 10.5.2007 10:11:29

> Ako viem monitorovat stav prebiehajuceho uploadu alebo downloadu v
> THTTPSend, lebo ako som pochopil, tak OnMonitor je "Len" dlzka
> prebiehajucej casti. Ale ako zistim celkovu velkost GET alebo POST
> poziadavku? Potrebujem volat moju udalost s percentami operacie a
> vykonanenej a celkovej dlzky prenosu.

OnMonitor event slouzi na sledovani obsahu, ktery tece socketem.
Pokud se pouzije, tak protoze se prenasena data navic kopiruji do
tohoto eventu, zpomaluje to!

Na sledovani toho, co se na socketu deje, vcetne poctu prenesenych
dat, slouzi event OnStatus.

Ohledne celkovych velikosti, podivej se pri obsluze toho eventu na
property DownloadSize a UploadSize. (A precti si co se o techto
properties pise v dokumetaci.)
--
Lukas Gebauer.

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

Synapse.OnMonitor

[*] Roland Turcan <konf(zv)rotursoft.sk> - 10.5.2007 09:59:28

Hello All!

Ako viem monitorovat stav prebiehajuceho uploadu alebo downloadu v
THTTPSend, lebo ako som pochopil, tak OnMonitor je "Len" dlzka
prebiehajucej casti. Ale ako zistim celkovu velkost GET alebo POST
poziadavku? Potrebujem volat moju udalost s percentami operacie a
vykonanenej a celkovej dlzky prenosu.

Dakujem.

--
Best regards, TRoland

http://exekutor.rotursoft.sk

IBDataSet.Delete a Stored procedure

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 10.5.2007 09:59:27

> > Nemel bys tam jenom mit
>
> Nefunguje. Ale zatim to tak vypada ze tento problem je pouze u datasetu
> kde mam v Selectu TABULKA_VIEW a ulozenou procedurou odstranuji zaznam
> v originalni tabulce.
> Pokud je v selectu originalni TABULKA tak Dataset.Delete funguje OK.

No, kdyz neni jasne, co se deje, zkus SQL monitor. Ten by mel rici, co jde do databaze.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

IBDataSet.Delete a Stored procedure

[*] info(zv)drnholec(tec)cz <info(zv)drnholec(tec)cz> - 10.5.2007 10:59:32



Tomas Krejzek napsal(a):
> No s timto jsem se nikdy nesetkal a to jedu na FB uz vice nez 2 roky.
>
> Jsi si opravdu jisty ze jedes ve stejne transakci jako to odstraneni radku, resp. ze mas
> zaktualizovanou transakci??


Ano, pouzivam zdedene procedury a menim pouze SQL retezce.
na tabulkach ktere nejsou "VIEW" to Delete funguje OK , jinak ne.

IMHO nemuze byt problem ani v hodnote ID, protoze jsem si do SP dal na
zacatek Exception a ta se vubec nevyvola, coz tedy znamena ze tato SP
neni vubec volana.

Synapse.Post vs. Indy.Post

[*] Roland Turcan <konf(zv)rotursoft.sk> - 10.5.2007 11:41:35

Hello All!

Preklapam aplikaciu na Synapse a naskyta sa mi jedna zaujimava chyba,
ktora sa sice neprejavi pri kazdom POSTe ale iba pri niektorych.

Ked pouzijem Indy, tak to funguje OK a so Synapse to vracia chybu,
ktora je slovne reprezentovana tak, ze POST metoda posiela chybu v
jednej polozke. Lenze ja som vymenil Indy za Synapse a kod, ktory
pripravuje POSTData ostal ten isty, t.j. to iste sa posiela do
servra.

Lenze som si vsimol, ze Indy posiela POST request ako dva balicky,
prvy s hlavickou a druhy s POSTData.

Alebo sa mylim?

--
Best regards, TRoland

http://exekutor.rotursoft.sk

IBDataSet.Delete a Stored procedure

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 10.5.2007 11:57:36

> IMHO nemuze byt problem ani v hodnote ID, protoze jsem si do SP dal na
> zacatek Exception a ta se vubec nevyvola, coz tedy znamena ze tato SP
> neni vubec volana.

Tak mi to nedalo a udelal jsem si priklad.
Proste to funguje. Pokud chces, poslu ti na soukromy mail ten priklad.

Udelal jsem si testovaci tabulku a nakopiroval do ni data

create table cust(
id integer not null,
company varchar(50),
primary key (id)
)
insert into cust select cust_no, customer from customer

Udelal jsem si view

create view cust_view as
select * from cust where company like 'D%'

Udelal jsem si ulozenou proceduru

create procedure cust_delete(id integer)
as begin
delete from cust where id=:id;
end

A v Delphi

SelectSQL=select * from cust_view
DeleteSQL=execute procedure cust_delete(:id)

Po delete z gridu ukazuje SQL monitor

[Application: Project1]
IBDataSet1: [Execute] execute procedure cust_delete(:id)
ID = 1006

Po stisknuti knofiliku s CommitRetaining vidm v IBConsoli, ze zaznam byl smazan.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

IBDataSet.Delete a Stored procedure

[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 10.5.2007 12:09:37

>
> Ano, pouzivam zdedene procedury a menim pouze SQL retezce.
> na tabulkach ktere nejsou "VIEW" to Delete funguje OK , jinak ne.

No nesetkal jsem se s tim ze by IBXkomponenty, nebo FB server rozlisoval zda se jedna o
view nebo primy select.

NO a jsme u jadra pudla, kdyz se vubec nevyvola, tak se samozrejme nic nesmaze, a kdyz se
nic nesmaze tak se to z toho view taky nemuze stratit, hledal bych spise tady, jestli
vubec tu proceduru z programu volas, protoze pokud mas jako prvni prikaz vyvolani
exception, a tu vyjimku to nevyvola, tak ten server tento prikaz vubec nedostane.

>
> IMHO nemuze byt problem ani v hodnote ID, protoze jsem si do SP dal na
> zacatek Exception a ta se vubec nevyvola, coz tedy znamena ze tato SP
> neni vubec volana.

Firebird - DEADLOCK

[*] Dalibor <dalibor(zv)torola(tec)cz> - 10.5.2007 12:33:39

U zkaznika se mi stala ted takova vec. Pri prihlaseni k DB se dlouho nic nedeje, az po nejake dobe mi vyskoci hlaska DEADLOCK. To same mi vypise i gfix.
Nevite nekdo co s tim?

Firebird 1.5. Zkousel jsem to otevrit i pres Firebird 2.0, ale vysledek stejny.

Dekuji Dalibor

Synapse.Post vs. Indy.Post

[*] Roland Turcan <konf(zv)rotursoft.sk> - 10.5.2007 12:31:39

<<< 10.5.2007 12:07 - Lukas Gebauer "gebylist(zv)mlp(tec)cz" >>>
>> Ked pouzijem Indy, tak to funguje OK a so Synapse to vracia chybu,
>> ktora je slovne reprezentovana tak, ze POST metoda posiela chybu v
>> jednej polozke. Lenze ja som vymenil Indy za Synapse a kod, ktory
>> pripravuje POSTData ostal ten isty, t.j. to iste sa posiela do servra.
>>
>> Lenze som si vsimol, ze Indy posiela POST request ako dva balicky,
>> prvy s hlavickou a druhy s POSTData.

LG> Priznam se, ze z tohoto popisu jsem nepochopil vubec nic. :-(

LG> Vytusil jsem, ze "dva balicky" by mohl byt vyzadany status pro
LG> upload. To je volitelna vlastnost protokolu HTTP/1.1. To znamena, ze
LG> u HTTP/1.0 to takto nechodi, a na vyssich protokolech to takto
LG> funguje jen kdyz si to klient explicitne vyzada.

LG> Synapse to umi take, ale musis si to zapnout pomoci property
LG> Status100, stejne tak jako si musis zapnout, ze chces protokol
LG> HTTP/1.1. Defaultne je totiz protokol 1.0.

LG> Nicmene toto nemuze byt duvodem pro nefungujici POST! Je to jen
LG> udelatko, ktere ti usetri upload dat, pokud je server odmita
LG> prijmout. (Treba protoze jsou data moc velka, nevhodneho typu, nebo
LG> protoze mas spatne URL.)

LG> Tedy problem bude urcite v tom, jak pripravujes ta data pro POST.
LG> Pripravil jsi ta data spravne? Nastavil jsi Synapsi spravny MIME typ?

LG> Vic toho z takto malo informaci opravdu nevymyslim.

Tymi dvoma balickami som myslel to, ze ked si logujem function
TIdSSLIOHandlerSocket.Send, tak tam vidim, ze pri POST sa prvy krat
zavola Send s hlavicou POSTu a druhy krat s PostData.

Uz som skusal aj nastavit protocol 1.0, lebo indy to posiela vzdy ako
1.0 a myslel som si, ze to moze byt problem, ale nie je to riesenie.

Ide vlastne o to, ze POST vrati TRUE, ale vyhodnotenie mojho postu
ktore prijmem GETom obsahuje spravu o tom, ze som zaslal zle data. Ale
ako som uz spominal, sposob ako formatujem PostData binarku je
rovnaka, jedine co synapse neposiela je "Referer" a polozky v Cookies
su v opacnom poradi.

Mimetype je nastaveny na : application/x-www-form-urlencoded.

Dokopy pouzivam POST metody:

1. Prihlasenie
2. Zistenie stavu
3. tri druhy prikazov na spracovanie
4. zadanie hesla pri zadani prikazu

a nejdu mi dva druhy prikazov, ktore mi server reportuje rozdielnym
stavom, ale stale si myslim ze, problem je v hlavicke.
Este skusim poslat kompletne rovnaku hlavicku ako posiela Indy. Myslim
tym, ze je rovnako presne naformatujem ako to robi Indy.

--
Best regards, TRoland

http://exekutor.rotursoft.sk

IBDataSet.Delete a Stored procedure

[*] info(zv)drnholec(tec)cz <info(zv)drnholec(tec)cz> - 10.5.2007 12:29:39


> Udelal jsem si testovaci tabulku a nakopiroval do ni data
> create table cust(

Mozna bude problem te nemam VIEW jednoduchy ale asi 5 Left Jointy ...
Jinak uz si to nedovedu vysvetlit. Je to pakec ...

Synapse.Post vs. Indy.Post

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 10.5.2007 12:07:37

> Ked pouzijem Indy, tak to funguje OK a so Synapse to vracia chybu,
> ktora je slovne reprezentovana tak, ze POST metoda posiela chybu v
> jednej polozke. Lenze ja som vymenil Indy za Synapse a kod, ktory
> pripravuje POSTData ostal ten isty, t.j. to iste sa posiela do servra.
>
> Lenze som si vsimol, ze Indy posiela POST request ako dva balicky,
> prvy s hlavickou a druhy s POSTData.

Priznam se, ze z tohoto popisu jsem nepochopil vubec nic. :-(

Vytusil jsem, ze "dva balicky" by mohl byt vyzadany status pro
upload. To je volitelna vlastnost protokolu HTTP/1.1. To znamena, ze
u HTTP/1.0 to takto nechodi, a na vyssich protokolech to takto
funguje jen kdyz si to klient explicitne vyzada.

Synapse to umi take, ale musis si to zapnout pomoci property
Status100, stejne tak jako si musis zapnout, ze chces protokol
HTTP/1.1. Defaultne je totiz protokol 1.0.

Nicmene toto nemuze byt duvodem pro nefungujici POST! Je to jen
udelatko, ktere ti usetri upload dat, pokud je server odmita
prijmout. (Treba protoze jsou data moc velka, nevhodneho typu, nebo
protoze mas spatne URL.)

Tedy problem bude urcite v tom, jak pripravujes ta data pro POST.
Pripravil jsi ta data spravne? Nastavil jsi Synapsi spravny MIME typ?

Vic toho z takto malo informaci opravdu nevymyslim.


--
Lukas Gebauer.

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

IBDataSet.Delete a Stored procedure

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 10.5.2007 12:53:41

> hledal bych spise tady, jestli
> vubec tu proceduru z programu volas, protoze pokud mas jako prvni
> prikaz vyvolani
> exception, a tu vyjimku to nevyvola, tak ten server tento prikaz
> vubec nedostane.

Nechci znova prudit, ale TIBSQLMonitor to resi bez jakychkoli pochybnosti.
Nejen ze rekne, co se vola, ale uvede i hodnoty parametru.
Viz muj posledni mail k tomuto problemu.

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

Windows Vista a UAC 3

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 10.5.2007 12:51:41

Asi nikdo nevi tak to zkusim tedy jinak:

Jak byste navrhnuli system, ktery by mel mit nasledujici vlastnosti:
- musi umet registrovat spustene (nami vytvarene) aplikace a dalsi
informace k nim
- bude umet komunikovat mezi sebou na ruznych PC popr. na jednom PC
(predmetem komunikace je i onen seznam aplikaci)
- bude umet rozesilat zpravu konkretnim prijemcum - tedy aplikacim - i
mezi ruznymi PC
- obsadi pokud mozno jediny port (prapuvodni stav obsazoval pro kazdou
aplikaci port jiny, ale to je celkem neudrzitelne a hlavne to zabranuje
vicenasobnemu spusteni aplikace)
- a hlavne - podporovane systemy musi byt krome Windows 98 - Windows
Vista bez jakehokoliv omezeni (tedy s Fast User Switching , UAC popr.
dalsi) s ohledem na ruzne urovne uzivatelu


Diky za radu

S pozdravem

Milan Tomes

Windows Vista a UAC 3

[*] delphin(zv)post(tec)cz - 10.5.2007 13:25:43

> Jak byste navrhnuli system, ktery by mel mit nasledujici vlastnosti:
> - musi umet registrovat spustene (nami vytvarene) aplikace a dalsi
> informace k nim
> - bude umet komunikovat mezi sebou na ruznych PC popr. na jednom PC
> (predmetem komunikace je i onen seznam aplikaci)
> - bude umet rozesilat zpravu konkretnim prijemcum - tedy aplikacim - i
> mezi ruznymi PC
> - obsadi pokud mozno jediny port (prapuvodni stav obsazoval pro kazdou
> aplikaci port jiny, ale to je celkem neudrzitelne a hlavne to zabranuje
> vicenasobnemu spusteni aplikace)
> - a hlavne - podporovane systemy musi byt krome Windows 98 - Windows
> Vista bez jakehokoliv omezeni (tedy s Fast User Switching , UAC popr.
> dalsi) s ohledem na ruzne urovne uzivatelu

Server spusteny jako service a posloucha na jednom TCP a jednom UDP portu.
Na kazdem pocitaci bezi prave jeden server.
Kazda aplikace se po startu pripojuje na lokalni server pres TCP.
Server cas od casu vysila UDP broadcast paket, takze servery na okolnich PC
pak vi, s kym maji navazat TCP meziserverovou komunikaci. (+ tabulka
dulezitych PC, odkud nedorazi broadcast)
Distribuce zprav pak uz je jenom takova mala tresnicka.

Windows Vista a UAC 3

[*] vlko <vlko(zv)zilina(tec)net> - 10.5.2007 13:37:44

delphin(zv)post(tec)cz wrote:

> Server spusteny jako service a posloucha na jednom TCP a jednom UDP portu.
> Na kazdem pocitaci bezi prave jeden server.
> Kazda aplikace se po startu pripojuje na lokalni server pres TCP.
> Server cas od casu vysila UDP broadcast paket, takze servery na okolnich PC
> pak vi, s kym maji navazat TCP meziserverovou komunikaci. (+ tabulka
> dulezitych PC, odkud nedorazi broadcast)
> Distribuce zprav pak uz je jenom takova mala tresnicka.

Este doplnim, ze spustane aplikacie budu podpisane s
patricnym nastavenim prav pre dany certifikat.

vlko


--

--------------
mail: vlko(zv)zilina.net
web: http://vlko.zilina.net

Windows Vista a UAC 3

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 10.5.2007 13:33:44

Jeste bych doplnil, ze bych byl rad, kdyby nebylo nutno pouzivat
jakykoliv centralni server :)

Milan Tomes napsal(a):
> Asi nikdo nevi tak to zkusim tedy jinak:
>
> Jak byste navrhnuli system, ktery by mel mit nasledujici vlastnosti:
> - musi umet registrovat spustene (nami vytvarene) aplikace a dalsi
> informace k nim
> - bude umet komunikovat mezi sebou na ruznych PC popr. na jednom PC
> (predmetem komunikace je i onen seznam aplikaci)
> - bude umet rozesilat zpravu konkretnim prijemcum - tedy aplikacim - i
> mezi ruznymi PC
> - obsadi pokud mozno jediny port (prapuvodni stav obsazoval pro kazdou
> aplikaci port jiny, ale to je celkem neudrzitelne a hlavne to zabranuje
> vicenasobnemu spusteni aplikace)
> - a hlavne - podporovane systemy musi byt krome Windows 98 - Windows
> Vista bez jakehokoliv omezeni (tedy s Fast User Switching , UAC popr.
> dalsi) s ohledem na ruzne urovne uzivatelu
>

Windows Vista a UAC 2

[*] Petr Vones <conference(zv)petrvones(tec)net> - 10.5.2007 14:15:47

From: "Milan Tomes" <delphi(zv)haida(tec)cz>
> To by rozhodne problem nebyl. Ovsem s pouzitim sluzby nastava jiny - a
> mnohem zavaznejsi - problem: Jak s takovou sluzbou komunikovat ?

Evidentne narazis na chybejici technologie jako .NET Remoting. Pokud je to
opravdu bezpodminecne nutne psat ve Win32, potom si pridelavas pomerne dost
prace.

Pouziti web service (ktera se jako jedina tomu co do vlastnosti blizi) je
asi taky problematicke, protoze potrebuje nejaky web server.

Petr Vones

Windows Vista a UAC 2

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 10.5.2007 14:21:47

Petr Vones napsal(a):
> From: "Milan Tomes" <delphi(zv)haida(tec)cz>
>
>> To by rozhodne problem nebyl. Ovsem s pouzitim sluzby nastava jiny - a
>> mnohem zavaznejsi - problem: Jak s takovou sluzbou komunikovat ?
>>
>
> Evidentne narazis na chybejici technologie jako .NET Remoting. Pokud je to
> opravdu bezpodminecne nutne psat ve Win32, potom si pridelavas pomerne dost
> prace.
>
Pravdepodobne, ale nejsem schopen posoudit, protoze jsem se .NETem jeste
nezabyval. Jen okrajove tusim, ze by se dal napsat takovy server a pote
pres COM pouzit ve Win32 aplikaci. Je to tak ?
> Pouziti web service (ktera se jako jedina tomu co do vlastnosti blizi) je
> asi taky problematicke, protoze potrebuje nejaky web server.
>
Myslim, ze pouziti web service je nemozne zejmena z vykonostnich duvodu
i kdyz je pravda, ze by byla nejvice vhodna.

S pozdravem

Milan Tomes

uzivatel. ktery spustil proces

[*] l.vlcek(zv)noel-plus(tec)cz <l.vlcek(zv)noel-plus(tec)cz> - 10.5.2007 14:29:48

Jiri Cincura wrote:
> l.vlcek(zv)noel-plus(tec)cz wrote:
>
>> Potreboval bych trosku popostrcit s problemem, kdy potrebuji vylistovat
>> seznam bezicich procesu ve stroji. To uz jsem nasel. Co ale nemuzu
>> dohledat, je, jak zjistit, uzivatele, ktery spustil ten ktery proces.
>> Neco na zpusob vypisu procesu v Task manageru...
>>
>>
>
> Nepises jak zjistujes ty procesy. Budu predpokladat, ze neco
> inteligentniho, treba WMI. A prace trida Win32_Process ma metodu
> GetOwner, ktery ti vrati, jaky user dany proces spustil.
>
>
No, necim takovymhle,

hProcSnap := CreateToolHelp32SnapShot(TH32CS_SNAPALL, 0);
.
.
if Process32First(hProcSnap, pe32) then
while Process32Next(hProcSnap, pe32) do
begin

a tim (snad) vylistuju vsechny procesy...


akorat, ze z tohodle nejde vydolovat to jmeno usera, ktery spustil proces...

A very pls.
postrc jeste kousek natvrdlika...
kde najdu tridu Win32_process,
nejak se mi nedari a nedari...


diky moc za pomoc
L.Vlcek

Windows Vista a UAC 3

[*] Petr Vones <conference(zv)petrvones(tec)net> - 10.5.2007 14:15:47

From: "Milan Tomes" <delphi(zv)haida(tec)cz>
> Jeste bych doplnil, ze bych byl rad, kdyby nebylo nutno pouzivat
> jakykoliv centralni server :)

To je potom temer neresitelne, pokud to ma mit nejakou snadno udrzovatelnou
strukturu.

Petr Vones

Synapse.Post vs. Indy.Post

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 10.5.2007 14:41:49

> Tymi dvoma balickami som myslel to, ze ked si logujem function
> TIdSSLIOHandlerSocket.Send, tak tam vidim, ze pri POST sa prvy krat
> zavola Send s hlavicou POSTu a druhy krat s PostData.

Aha, tak tomu uz rozumim. Tak to vesele ignoruj, to je totiz uplne
jedno nakolikrat se t fyzicky posila pres Send. Naopak, Synapse to
pri mensich objemech dat posila vsechno najednou, coz je z hlediska
vykonu vyhodnejsi! V tomto problem opravdu nebude.

> rovnaka, jedine co synapse neposiela je "Referer" a polozky v Cookies
> su v opacnom poradi.

Pokud chces posilat Referera, ci jakoukoliv jinou dalsi hlavicku, tak
si ji proste pridej do Headers. Treba ten server vyhodnocuje, jestli
je spravny Referer, a kdyz ne, tak tvuj pozadavek ignoruje.
--
Lukas Gebauer.

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

Windows Vista a UAC 3

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 10.5.2007 14:43:49

To si nemyslim. Soucasny system funguje vice jak rok bez vaznejsiho
problemu a udrzovatelny je take. Jediny duvod proc tento system chci
zmenit je bezproblemova podpora Windows Vista se zapnutym UAC. Jinak
bych do toho rozhodne nesahal

Petr Vones napsal(a):
> From: "Milan Tomes" <delphi(zv)haida(tec)cz>
>
>> Jeste bych doplnil, ze bych byl rad, kdyby nebylo nutno pouzivat
>> jakykoliv centralni server :)
>>
>
> To je potom temer neresitelne, pokud to ma mit nejakou snadno udrzovatelnou
> strukturu.
>
> Petr Vones
>
>
>
>

IBDataSet.Delete a Stored procedure

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 10.5.2007 15:15:51

> Mozna bude problem ze nemam VIEW jednoduchy ale asi 5 Left Jointy ...
> Jinak uz si to nedovedu vysvetlit. Je to pakec ...

Samozrejme, nemel jsem cas delat priklad s nejakym slozitym VIEW.
To je ale uplne jedno.
V SelectSQL muze byt slozite view, muze tam byt "select * from ulozenaprocedura".
IBDataSet musi poslat pri delete do databaze to, co ma v DeleteSQL.
Samozrejme parametry v DeleteSQL musi sedet na polozky v SelectSQL.

A co posila u tebe? Co rika SQL monitor?

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
====================================

Windows Vista a UAC 3

[*] Radek Voltr <voltr(zv)eleasoftware(tec)com> - 10.5.2007 15:37:53

>proc tento system chci zmenit je bezproblemova podpora Windows Vista se
zapnutym UAC.

Moje zkusenost je takova ze valna vetsina problemu ktere Vista UAC generuje
se da obejit. Jedine co je problem je Fast User Switch ale to je problem i
na WinXP.

Takze co presne mas za problemy ?


Radek

Windows Vista a UAC 3

[*] Radek Voltr <voltr(zv)eleasoftware(tec)com> - 10.5.2007 15:53:54

Uz jsem si vzpomel na primarni problem - spousteni com serveru jako dvou
instanci.

A chci se zeptat zda jsi zkousel a s jakym vysledkem :

- dat com serveru Vista manifest aby se vypla virtualizace atd....
- menit integrity label com serveru tak aby na nej mely pristup I aplikace s
nizsim IL
- zkusit veci z clanku v PSDK "The COM Elevation Moniker "
- nastavit COM+ componentu aby jela jak service



Cus
Radek

uzivatel. ktery spustil proces

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 10.5.2007 15:59:55

> Potreboval bych trosku popostrcit s problemem, kdy potrebuji
> vylistovat seznam bezicich procesu ve stroji. To uz jsem nasel.
> Co ale nemuzu dohledat, je, jak zjistit, uzivatele, ktery spustil
> ten ktery proces.
> Neco na zpusob vypisu procesu v Task manageru...

Skus nieco taketo:

uses
JclWin32, JclSecurity;

function GetProcessUserName(ProcessID: Cardinal; out DomainName, UserName: string): Boolean;
var
Process, Token: THandle;
Count, DomainCount: Cardinal;
TokenInfo: PSIDAndAttributes;
Use: SID_NAME_USE;
begin
Result := False;
DomainName := '';
UserName := '';

EnableProcessPrivilege(True, SE_DEBUG_NAME);
EnableProcessPrivilege(True, SE_SECURITY_NAME);

Token := 0;
Process := OpenProcess(PROCESS_QUERY_INFORMATION, False, ProcessID);
if Process = 0 then
Exit;
try
if not OpenProcessToken(Process, TOKEN_QUERY, Token) then
Exit;
finally
CloseHandle(Process);
end;

if GetTokenInformation(Token, TokenUser, nil, 0, Count) or (GetLastError <> ERROR_INSUFFICIENT_BUFFER) then
Exit;

TokenInfo := AllocMem(Count);
try
if not GetTokenInformation(Token, TokenUser, TokenInfo, Count, Count) then
Exit;
Count := 0;
DomainCount := 0;
if LookupAccountSid(nil, TokenInfo^.Sid, nil, Count, nil, DomainCount, Use) or
(GetLastError <> ERROR_INSUFFICIENT_BUFFER) then
Exit;
SetLength(DomainName, DomainCount - 1);
SetLength(UserName, Count - 1);
if not LookupAccountSid(nil, TokenInfo^.Sid, PChar(UserName), Count, PChar(DomainName), DomainCount, Use) or
(Use <> SidTypeUser) then
Exit;

Result := True;
finally
FreeMem(TokenInfo);
end;
end;

HTH
TOndrej

Synapse.Post vs. Indy.Post

[*] Roland Turcan <konf(zv)rotursoft.sk> - 10.5.2007 16:23:57

<<< 10.5.2007 14:41 - Lukas Gebauer "gebylist(zv)mlp(tec)cz" >>>
>> Tymi dvoma balickami som myslel to, ze ked si logujem function
>> TIdSSLIOHandlerSocket.Send, tak tam vidim, ze pri POST sa prvy krat
>> zavola Send s hlavicou POSTu a druhy krat s PostData.

LG> Aha, tak tomu uz rozumim. Tak to vesele ignoruj, to je totiz uplne
LG> jedno nakolikrat se t fyzicky posila pres Send. Naopak, Synapse to
LG> pri mensich objemech dat posila vsechno najednou, coz je z hlediska
LG> vykonu vyhodnejsi! V tomto problem opravdu nebude.

>> rovnaka, jedine co synapse neposiela je "Referer" a polozky v Cookies
>> su v opacnom poradi.

LG> Pokud chces posilat Referera, ci jakoukoliv jinou dalsi hlavicku, tak
LG> si ji proste pridej do Headers. Treba ten server vyhodnocuje, jestli
LG> je spravny Referer, a kdyz ne, tak tvuj pozadavek ignoruje.

Kurna, prisiel som na to, ze co je problem.

Do HTTP.Document som kopiroval data z TStringlistu a ono tam pridalo
na koniec CR+LF, co sa v niektorych pripadoch serveru nepacilo.

Dokonca aj HTTP 1.1. je v pohode.

Tot vsjo.

PS: Lukas, pisal som do Synalistu nejaky navrh, ale zatial bez ziadnej
odozvy ani od teba ani od inych.

--
Best regards, TRoland

http://exekutor.rotursoft.sk

Problem pri pripojeni klienta pres DCOM k ActiveX

[*] Skalsky Milan <skalsky(zv)komercpoj(tec)cz> - 11.5.2007 12:57:18

Hoj lidi,
mam takovy zacatecnicky dotaz, ale nejak mi dochazi inspirace pri hledani reseni :(

mam ActiveX server (typeLibrary), ktery bezi na sitovem serveru, kde je i zaregistrovany. Dale mam klientskou aplikaci, ktera se pres DCOM pripojuje ke zminovanemu ActiveX na sitovem serveru. Na svem pocitaci delam vyvoj jak toho ActiveX (tedy mam ho na svem pocitaci take zaregistrovany), stejne jako te klientske casti. Vse v proadku pracuje a funguje jak ma.

Ve chvili, kdy dam klientskou aplikaci na jinou worskstation v siti, pri jejim spusteni zahlasi chybu TRIDA NENI ZAREGISTROVANA.
Klientska aplikace byla buildovana s naimportovanou knihovnou toho serveru ... GUID komponenty volane z klienta souhlasi s GUID toho ActiveX.

Mel jsem za to, ze dane ActiveX, ke kteremu se pripojuje, musi byt zaregistrovano akorat na tom serveru, na kterem bezi. Netusite nekdo, kde by mohl byt zadrhel? Milan
D7 Ent., WinXP, SP3




Windows Vista a UAC 3

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 11.5.2007 11:39:13

Doporucuji pouzivat v tomto pripade jen UDP, tedy pokud neni podminka
spolehlive komunikace pres NAT.
Nad UDP si pak udelat vlastni stavovou logiku, neco jako computer
browser :))).
Neni to ani tak pracne, jen je treba venovat dostatek casu
navrhu komunikace.

Slavek

>
> Server spusteny jako service a posloucha na jednom TCP a
> jednom UDP portu. Na kazdem pocitaci bezi prave jeden server.
> Kazda aplikace se po startu pripojuje na lokalni server pres
> TCP. Server cas od casu vysila UDP broadcast paket, takze
> servery na okolnich PC
> pak vi, s kym maji navazat TCP meziserverovou komunikaci. (+ tabulka
> dulezitych PC, odkud nedorazi broadcast)
> Distribuce zprav pak uz je jenom takova mala tresnicka.
>
>
>
>

Spusteni screensaveru

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 11.5.2007 11:37:13

Ondrej Kelle wrote:
> PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0);

Super. Zkusim, vecer.

Dik.

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

Spusteni screensaveru

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 11.5.2007 11:35:12

Vlastimil Bartos wrote:
> Najdi si prislusny program \winnt\system32\*.scr a spust ho nebo priprav
> zastupce na plochu.

Ja obecne nevim, co ma user za screensaver.

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

docasne zakazani suspendovani behem behu programu

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 11.5.2007 11:13:11

Radek Cervinka napsal(a):
> Ahojky,
>
> potreboval bych behem casti behu meho programu zakazat suspendovani (vypnuti pocitace).
>
> Nasel jsem pouze PBT_APMQUERYSUSPEND
> http://msdn2.microsoft.com/en-us/library/aa372716.aspx
> kde se ale pise ze to nefunguje ve Vistach

odpovim si sam:
SetThreadExecutionState (Win200+)

R.

Spusteni screensaveru

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 11.5.2007 10:45:09

> je nejaka moznost, jak vynutit spusteni screensaveru pomoci moji app?

PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0);

HTH
TOndrej

Spusteni screensaveru

[*] Vlastimil Bartos <bartos(zv)spsmvbr(tec)cz> - 11.5.2007 10:35:08

Najdi si prislusny program \winnt\system32\*.scr a spust ho nebo priprav
zastupce na plochu.

Vlastik


----- Original Message -----
From: "Jiri Cincura" <diskuze(zv)cincura.net>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, May 11, 2007 10:25 AM
Subject: Spusteni screensaveru


> Ahoj *,
>
> je nejaka moznost, jak vynutit spusteni screensaveru pomoci moji app?
> Neco aby user klikl na tlacitko a hned mel screensaver spusten, tedy
> nemusel cekat, az ubehne dany limit.
>
> --
> Jiri {x2} Cincura
> http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com
>
>
>

uzivatel. ktery spustil proces

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 11.5.2007 10:27:07

l.vlcek(zv)noel-plus(tec)cz wrote:
> A very pls.
> postrc jeste kousek natvrdlika...
> kde najdu tridu Win32_process,
> nejak se mi nedari a nedari...

Win32_Process je trida v WMI. Jak cist z WMI najdes na netu, je to velmi
komfortni rozhranni a ma hodne veci, ktere muzes ziskavat (mj. i z
jinych stroju).

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

Spusteni screensaveru

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 11.5.2007 10:25:07

Ahoj *,

je nejaka moznost, jak vynutit spusteni screensaveru pomoci moji app?
Neco aby user klikl na tlacitko a hned mel screensaver spusten, tedy
nemusel cekat, az ubehne dany limit.

--
Jiri {x2} Cincura
http://blog.vyvojar(tec)cz/jirka/ | http://www.ID3renamer.com

docasne zakazani suspendovani behem behu programu

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 11.5.2007 09:33:03

Ahojky,

potreboval bych behem casti behu meho programu zakazat suspendovani (vypnuti pocitace).

Nasel jsem pouze PBT_APMQUERYSUSPEND
http://msdn2.microsoft.com/en-us/library/aa372716.aspx
kde se ale pise ze to nefunguje ve Vistach

Nesetkal se s tim nekdo?

R.

IBDataSet.Delete a Stored procedure

[*] info(zv)drnholec(tec)cz <info(zv)drnholec(tec)cz> - 11.5.2007 14:33:25

> Samozrejme parametry v DeleteSQL musi sedet na polozky v SelectSQL.
>
> A co posila u tebe? Co rika SQL monitor?
>
> Honza


Ahoj

Jako v 99% byl problem u me. Ve zdedenenych formularich kde kde pouzivam
View byl u datsetu nastavena vlastnost CachedUpdates na True a to bylo
zdrojem vsech problemu.
Zdedene formy kde jsem mel jednoduche selecty, tam to bylo na False.
A proto jsem si myslel a tvrdil ze to je problem View.

Dekuji vsem a zvlaste Honzi S. ze tomu venoval tolik casu ...


J.H.


Delphi 2007


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