Archív konference Delphi
Zpět na výběr roku archívu nebo přejít na fulltextové vyhledávání v konferenci.
nedari se mi CreatePolyPolygonRgn ani CreatePolygo
[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 30.6.2005 13:27:17
Ahoj,
petr palicka napsal(a):
> Ahoj,
>
> nejde a nejde. Pritom potreban pole vypadaji jako spravne naplnena,
> HRGN:=CreatePolyPolygonRgn(body, pocty, j, ALTERNATE);
nojo, jenze spravne musis predat adresu pole. Staci trochu premejslet:
HRGN:=CreatePolyPolygonRgn((zv)body[0], (zv)pocty[0], j, ALTERNATE);
Peca (Petr Palicka :-)
Jak z .NET na Excel?
[*] Jan Sebelik <honza(zv)haes(tec)cz> - 30.6.2005 12:33:13
Zkousel jsem hledat, dokonce jsem i neco nasel.
Zhruba by to melo vypadat nejak takhle:
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Reflection;
using System.Text;
Excel.Application xl = null;
Excel._Workbook wb = null;
Excel._Worksheet sheet = null;
xl = new Excel.Application();
wb = (Excel._Workbook)(xl.Workbooks.Add( Missing.Value ));
sheet = (Excel._Worksheet)wb.ActiveSheet;
Ale stale to nezna "Excel".
Chybi mi nejaka reference nebo co?
Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 569, 493 792 931, 776 347 735
====================================
Vykonavacie plany MSSQL 2000
[*] Martin Cajbik <cajbik(zv)sct.sk> - 30.6.2005 11:29:08
Vdaka vsetkym za pomoc, samotna reindexacia tabulky vysledok
nepriniesla, pomohlo vsak rozsirenie indexov o dalsi stlpec, ktory sa
sice v niektorych vyberovych podmienkach nachadza, ale v indexoch nebol
kvoli malemu mnozstvu roznych hodnot, to znamena, ze po pouziti
povodneho indexu by uz ostavalo prehladat iba par (max. 5) hodnot na
zhodu hodnoty daneho stlpca. Dufam, ze o nejaky cas nebudem musiet
riesit podobny problem znovu.
Tyslic Jiri wrote:
> To by prave napovidalo tomu, ze nejsou provadeny statistiky nad indexi a proto optimalizotor radeji tyto indexy vynecha.
> Zkuste preindexovat tabulku a potom se podivat na plan, pokud se plan zlepsi, hledal bych opravdu chybu zde.
>
> S pozdravem
>
> Tyslic Jiri
>
>
>>Mame, uvazoval som vsak prave nad tym, ci by vypnutie tohto
>>nastavenia
>>nepomohlo.
>>Problem totiz nie je v tom, ze by sa s pribudajucimi datami
>>mali zmenit
>>vykonavacie plany a optimalizer to neurobi ale naopak,
>>vykonavacie plany
>>by mali zostat rovnake a optimalizer ich z nejakeho dovodu zmeni a to
>>podstatne k horsiemu. Pokial si odhadovane vykonacie plany
>>pre povodne a
>>upravene (pomocou OPTION) query necham zobrazit v SQL Query
>>analyzeri,
>>je percentualny odhad pre neupravene query niekolkonasobne lepsi, ale
>>pritom sa v nom prave na vyber dat z najobjemnejsich tabulkach vobec
>>nepouzivaju indexy.
>>
>
>
>
>
>
> .
>
--
Martin Cajbik
SCT s.r.o. Kosice
AddObject a nasledne uvolneni
[*] Otisk Rene <otisk(zv)misel(tec)cz> - 30.6.2005 10:29:03
Hi,
Nestacilo by jenom v udalosti OnDeletion toho TreeView pouzit nasledujici?
procedure TfForm.tvHierarchieDeletion(Sender: TObject; Node: TTreeNode);
begin
TTvujObjekt(Node.Data).Free;
Node.Data := nil;
end;
Sroub
TSearchFind
[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 30.6.2005 10:19:03
> V TactionList mam definovanu standartnu akciu TSearchFind.
> Jej Vlastnost Enabled je nastavena na True. Po spusteni aplikacie je
> tato polozka menu stale v zakazana.(su definovane obsluzne procedury).
> Neviete niekto ako sa pracuje s touto akciou?
TSearchFind funguje len vtedy, ked kontrolka, ktora ma prave focus
(Screen.ActiveControl) je potomok TCustomEdit.
Pozri si TSearchAction.HandlesTarget v StdActns.pas.
HTH
TOndrej
mySQL a kodovani cestiny
[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 30.6.2005 09:53:00
Ahoj,
>Moc diky za typ.
>Bod 1 mas pravdu (nestudoval jsem manual :-)
>
>
:-)
>Problem je ale v Delphi (pouzivam ZEOS komponenty):
>
Take pouzivam, a sice ve verzi 6.5
>Napisu ti muj postup z delphi, mozna najdes chybu:
>1. nystavim connection a spojim se OK
>2. jsem spojeny, jine query jdou OK.
>2. napojim se Query a vypisu dotazy (to co jsi psal)
>
>
Pridej si obsluhu Eventu AfterConnect u komponenty ZConnection,
treba takto:
procedure TFormHlavni.dbShareAfterConnect(Sender: TObject);
begin
SetConnectionCharset('Share');
end;
to udelej u vsech komponent ZConnection.
>3. necham ho vykonat a tady je problem !
> ... Chybna syntaxe .... pouzivam mySQL verzi 4.1.12-nt
>
>
Pouzivam 4.1.11, takze rozdil by mnel byt minimalni.
>4. a to je vse, psal jsem to takhle:
>
> zQuery.SQL.Add('SET character_set_client=cp1250;');
> ........ vsechnz tvoje polozky .....
>
>A pak zQuery.ExecSQL;
>
>
Problem bude asi v tom, ze mi pri teto kombinaci server nechtel
pojidat stredniky za SELECTem. Proto jsem musel jednotlive prikazy
SET poslat zvlast a bez stredniku. Neprojde to ani z PHP, neni mi jasne
uplne kde je chyba, ale nevadi mi to az tak, aby jsem nad tim ztracel cas.
Priklad jak to delam ja:
procedure TFormHlavni.SetConnectionCharset(Connection : String);
var
Counter : Integer;
SQLConnectionCharset : TStringList;
begin
SQLConnectionCharset := TStringList.Create;
SQLConnectionCharset.Add('SET character_set_client=cp1250');
SQLConnectionCharset.Add('SET character_set_connection=cp1250');
SQLConnectionCharset.Add('SET character_set_database=cp1250');
SQLConnectionCharset.Add('SET character_set_results=cp1250');
SQLConnectionCharset.Add('SET character_set_server=cp1250');
SQLConnectionCharset.Add('SET collation_connection=cp1250_czech_cs');
SQLConnectionCharset.Add('SET collation_database=cp1250_czech_cs');
SQLConnectionCharset.Add('SET collation_server=cp1250_czech_cs');
if Connection = 'Share' then
begin
for Counter := 0 to SQLConnectionCharset.Count - 1 do
begin
qrShare.SQL.Text := SQLConnectionCharset[Counter];
qrShare.ExecSQL;
end;
end;
SQLConnectionCharset.Destroy;
end;
Takto by ti to mnelo fungovat. Toto je samozrejme potreba
provest jen po konexi. Pokud se neodpojis pak uz to neni
potreba, ale to je ti asi jasne.
>Zatim dik a klidne me nadej ! Dan
>
To bych si nedovolil. Doufam ze sem ti pomohl.
Pripadne dej zase vedet zda uz ti to funguje.
S pozdravem Vaclav Halik
TSearchFind
[*] Dusan Nagy <dnagy(zv)inomacomp.sk> - 30.6.2005 09:38:59
V TactionList mam definovanu standartnu akciu TSearchFind.
Jej Vlastnost Enabled je nastavena na True. Po spusteni aplikacie je
tato polozka menu stale v zakazana.(su definovane obsluzne procedury).
Neviete niekto ako sa pracuje s
touto akciou?
Dakujem.
TComboBoxEx - nastaveni stylu trideni
[*] mydelphi(zv)seznam(tec)cz - 30.6.2005 09:10:57
Dobry den,
mam problem, v komponente TComboBoxEx nemohu prijit na to, jak
programove nastavit jeji sorttype (na stText a stNone0. Vite nekdo
jak na to?
--
S pozdravem,
Michal Adler
email: mydelphi(zv)seznam(tec)cz
Jak zjistim nastaveni rozliseni videokarty?
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 30.6.2005 08:28:49
30.6.2005 Ing. Josef Staufcik:
> Vedel by mi nekdo poradit, jak v Delphi 5 zjistim nastaveni rozliseni
> videokarty pocitace? Diky. Pepa
Screen.Height, Screen.Width
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
Jak zjistim nastaveni rozliseni videokarty?
[*] Ing. Josef Staufcik <j.staufcik(zv)msp.mesit(tec)cz> - 30.6.2005 08:10:43
Vedel by mi nekdo poradit, jak v Delphi 5 zjistim nastaveni rozliseni
videokarty pocitace? Diky. Pepa
Komponenta podobna DateTimePickeru, ale pro datum
[*] Daniel Rott <roxton(zv)seznam(tec)cz> - 30.6.2005 07:38:39
> ----- Original Message -----
> From: "LUKES Vaclav" <lukes(zv)ans(tec)cz>
> Sent: Wednesday, June 15, 2005 11:11 AM
> nevite prosim nekdo o komponente, ktera je podobna
> DateTimePickeru s tim rozdikem, ze je v rozsahu
> od datumu az po cas ? Stavajici DateTimePicker je
> bud date nebo Time.
DATETIMEPICK_CLASS IMHO umi datum i cas
najednou, staci nastavit format, viz. funkce
DateTime_SetFormat.
TDateTimePicker z VCL (v Delphi 7) ackoliv je od
nej odvozeny, tak toto neumi, a nestaci jej "prenastavit"
zavolanim teto funkce (zobrazi se sice dobre, ale na
klavesy reaguje zmatecne). Zkuste jej vytvorit sam.
Mozna by to slo i nejak takhle, ale mozna vznikne
nejaky jiny problem napr. s tab order s controly
z VCL.
procedure TForm1.FormCreate(Sender: TObject);
var dtp:HWND;
begin
dtp:=CreateWindowEx(0,DATETIMEPICK_CLASS,Nil,
WS_VISIBLE or WS_CHILD or WS_BORDER or DTS_UPDOWN,
50,50,150,25,Window,0,MainInstance,Nil);
DateTime_SetFormat(dtp,'dd.MM.yyyy HH:mm:ss');
end;
Daniel
---------------------------------------------------------------
Scanning complete: NO intelligent life form in range.
TsearchFind
[*] Dusan Nagy <dnagy(zv)inomacomp.sk> - 30.6.2005 07:12:36
V TactionList mam definovanu standartnu akciu TSearchFind.
Jej Vlastnost Enabled je nastavena na True. Po spusteni aplikacie je
tato polozka menu stale v zakazana.(su definovane obsluzne procedury).
Neviete niekto ako sa pracuje s
tovto akciou?
Dakujem.
Prekreslovani plochy aplikace
[*] Kalhous <kalhous(zv)eu(tec)cz> - 30.6.2005 06:32:34
Mam problem ktereho si dlouho nikdo nevsiml az ted a nevim co s tim. Jde o to, ze pres OLE vyvolam formularicek Abry ze ktereho si uzivatel vybere jeden zaznam:
Wnd := FindWindow('TfrmAuto', nil);
SetForeGroundWindow(Wnd);
mRoll := G3.GetRoll(RollIdConstSymb, 0);
if mRoll.SelectDialog(True, pID) then begin
Chyba je v tom, ze jakmile se udela SelectDialog, zobrazi se okno prislusneho ciselniku Abry, vsechno funguje az na to, ze kdyz se to okno na plose presune tak se pod nim nepreklesluje plocha - zustavaji tam obrazky ciselniku na puvodnim miste. Jak muzu donutit moji aplikaci aby se prekreslovala, cili aby se to chovalo trochu slusne - jako kdyz zobrazim modalni okno? Asi na to bude nejaka zprava woken ale netusim jaka a kde ji zpracovavat. Dik.
Z.Kalhous
ToWare s.r.o.
tel.: 466 614 024
mySQL a kodovani cestiny
[*] spravce(zv)dh-soft(tec)cz - 29.6.2005 21:47:58
Moc diky za typ.
Bod 1 mas pravdu (nestudoval jsem manual :-)
Bod 2-3 jsem pochopil uz pri instalaci a take je pouzivam v pohode.
Vsude mam cp1250 nastaveno.
Problem je ale v Delphi (pouzivam ZEOS komponenty):
Napisu ti muj postup z delphi, mozna najdes chybu:
1. nystavim connection a spojim se OK
2. jsem spojeny, jine query jdou OK.
2. napojim se Query a vypisu dotazy (to co jsi psal)
SET character_set_client=cp1250;
SET character_set_connection=cp1250;
SET character_set_database=cp1250;
SET character_set_results=cp1250;
SET character_set_server=cp1250;
SET collation_connection=cp1250_czech_cs;
SET collation_database=cp1250_czech_cs;
SET collation_server=cp1250_czech_cs;
3. necham ho vykonat a tady je problem !
... Chybna syntaxe .... pouzivam mySQL verzi 4.1.12-nt
4. a to je vse, psal jsem to takhle:
zQuery.SQL.Add('SET character_set_client=cp1250;');
........ vsechnz tvoje polozky .....
A pak zQuery.ExecSQL;
Zatim dik a klidne me nadej ! Dan
-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Vaclav Halik
Sent: Wednesday, June 29, 2005 2:47 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: mySQL a kodovani cestiny
Zdravim,
>Hlavne se jedna o:
>
>e,s,c . s hackama, jak to donutim spravne zobrazovat (pripadne zapisovat).
>
>
takze chlape zrovna minuly tyden sem se tim tady s kolegou trapil
cca. dva dny. Takze si dovolim tvrdit, ze ti muzu presne rict kde
je chyba. Tedy:
1. Nestudoval jsi dostatecne dokumentci, ja teke ne :-)
2. Je potreba, aby jsi mnel jak tabulky, tak DB nastaveno
na cp1250.
3. U kazde textove a varchar polozky musis mit nastaveno
cp1250, nebot tato verze umi v ramci jedne tabulky vest treba
dvacet ruznych kodovani, tedy klidne muzes mit v tabulce jak
arabstinu tak cinstinu nebo cestinu a to zaroven !!!.
4. Nejdulezitejsi bod:::
Od verze tusim 4.1 pouziva MySQL mnohem vice parametru
pro nastaveni komunikace, atd.. Jsou zde navic tzv. Globalni
a Session variables. Tobe bude stacit nastavit Session variables.
Trik je v tom, ze pokud se pripojis treba z delphi, ale jinak
obecne z jakekoliv aplikace (testovano i s PHP), udela se
konexe na server, a je potreba nastavit takove parametry
pro tuto konexi aby probehla v pozadovanem charsetu.
Tedy ihned po pripojeni musis jako prvni vec poslat nastaveni
charsetu v jakych chces komunikovat. Toto musis udelat pro
kazdou novou nebo dalsi konexi. Tedy ne pro selekty ale jen
pro vlastni konexe.
Uspesne mame vyzkouseno toto:
SET character_set_client=cp1250;
SET character_set_connection=cp1250;
SET character_set_database=cp1250;
SET character_set_results=cp1250;
SET character_set_server=cp1250;
SET collation_connection=cp1250_czech_cs;
SET collation_database=cp1250_czech_cs;
SET collation_server=cp1250_czech_cs;
Tak a to je asi vse. Doufam ze sem to napsal dost
srozumitelne. Dej vedet jak to dopadlo.
S pozdravem Vaclav Halik
PS: Vse ostatni je popsano v manualu.
nedari se mi CreatePolyPolygonRgn ani CreatePolygo
[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 29.6.2005 15:05:30
Ahoj,
nejde a nejde. Pritom potreban pole vypadaji jako spravne naplnena,
Canvas.Polygon je vykresli jak ma. Pokud ale zkusim
CreatePolyPolygonRgn, nebo CreatePolygonRgn, zadny region se mi
nevytvori. Neresil jste nekdo podobny problem?
Mrknete mi prosim na kod, jestli tam nemam nejakou ***ovinu. Bodu
celkem je 198. Prvni polygon ma 145, dalsi 21 a 32.
Delphi 6 pro, WinXP SP2.
Dik Peca:
j:=Length(ph); // ph je pole poli TPoint
i:=0;
SetLength(pocty, j);
ttlcnt:=0;
while i<j do
begin // pro vsechny polygony hranice
k:=Length(ph[i]);
pocty[i]:=k; // pocet bodu polygonu
SetLength(body, Length(body)+k);
l:=0;
while l<k do
begin
body[ttlcnt]:=ph[i][l];
Inc(ttlcnt);
Inc(l);
end;
Inc(i);
end;
HRGN:=CreatePolyPolygonRgn(body, pocty, j, ALTERNATE);
//HRGN:=CreatePolygonRgn(body, ttlcnt, ALTERNATE);
if HRGN<>0 then
begin
PaintRgn(X.Canvas.Handle, HRGN);
DeleteObject(HRGN);
end
else
begin
j:=High(ph);
X.Canvas.Pen.Mode:=pmNotXor;
for i:=0 to j do
X.Canvas.Polygon(ph[i]);
X.Canvas.Pen.Mode:=pmCopy;
end;
Vykonavacie plany MSSQL 2000
[*] Ludek <konference(zv)sales(tec)cz> - 29.6.2005 14:53:29
> To by prave napovidalo tomu, ze nejsou provadeny statistiky nad indexi a
proto optimalizotor radeji tyto indexy vynecha.
> Zkuste preindexovat tabulku a potom se podivat na plan, pokud se plan
zlepsi, hledal bych opravdu chybu zde.
>
> S pozdravem
>
> Tyslic Jiri
>
> > Mame, uvazoval som vsak prave nad tym, ci by vypnutie tohto
> > nastavenia
> > nepomohlo.
> > Problem totiz nie je v tom, ze by sa s pribudajucimi datami
> > mali zmenit
> > vykonavacie plany a optimalizer to neurobi ale naopak,
> > vykonavacie plany
> > by mali zostat rovnake a optimalizer ich z nejakeho dovodu zmeni a to
> > podstatne k horsiemu. Pokial si odhadovane vykonacie plany
> > pre povodne a
> > upravene (pomocou OPTION) query necham zobrazit v SQL Query
> > analyzeri,
> > je percentualny odhad pre neupravene query niekolkonasobne lepsi, ale
> > pritom sa v nom prave na vyber dat z najobjemnejsich tabulkach vobec
> > nepouzivaju indexy.
Ahoj,
Setkal jsem se s tim a bojuji s tim take.
Od urciteho poctu dat server najednou zacne dotazy optimalizovat ne na
rychlost ale na zatizeni procesoru. Pravda procesor se potom skoro nehne ale
uzivatele take ne :)
Urcite dotazy se mi prodlouzily az 1000 krat !!!!
Pomohl upgrade na Enterprise Edition (ze by si takhle M$ snad "nechtene"
rikal o penize ?!!)
Ludek
mySQL a kodovani cestiny
[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 29.6.2005 14:47:28
Zdravim,
>Hlavne se jedna o:
>
>e,s,c . s hackama, jak to donutim spravne zobrazovat (pripadne zapisovat).
>
>
takze chlape zrovna minuly tyden sem se tim tady s kolegou trapil
cca. dva dny. Takze si dovolim tvrdit, ze ti muzu presne rict kde
je chyba. Tedy:
1. Nestudoval jsi dostatecne dokumentci, ja teke ne :-)
2. Je potreba, aby jsi mnel jak tabulky, tak DB nastaveno
na cp1250.
3. U kazde textove a varchar polozky musis mit nastaveno
cp1250, nebot tato verze umi v ramci jedne tabulky vest treba
dvacet ruznych kodovani, tedy klidne muzes mit v tabulce jak
arabstinu tak cinstinu nebo cestinu a to zaroven !!!.
4. Nejdulezitejsi bod:::
Od verze tusim 4.1 pouziva MySQL mnohem vice parametru
pro nastaveni komunikace, atd.. Jsou zde navic tzv. Globalni
a Session variables. Tobe bude stacit nastavit Session variables.
Trik je v tom, ze pokud se pripojis treba z delphi, ale jinak
obecne z jakekoliv aplikace (testovano i s PHP), udela se
konexe na server, a je potreba nastavit takove parametry
pro tuto konexi aby probehla v pozadovanem charsetu.
Tedy ihned po pripojeni musis jako prvni vec poslat nastaveni
charsetu v jakych chces komunikovat. Toto musis udelat pro
kazdou novou nebo dalsi konexi. Tedy ne pro selekty ale jen
pro vlastni konexe.
Uspesne mame vyzkouseno toto:
SET character_set_client=cp1250;
SET character_set_connection=cp1250;
SET character_set_database=cp1250;
SET character_set_results=cp1250;
SET character_set_server=cp1250;
SET collation_connection=cp1250_czech_cs;
SET collation_database=cp1250_czech_cs;
SET collation_server=cp1250_czech_cs;
Tak a to je asi vse. Doufam ze sem to napsal dost
srozumitelne. Dej vedet jak to dopadlo.
S pozdravem Vaclav Halik
PS: Vse ostatni je popsano v manualu.
Vykonavacie plany MSSQL 2000
[*] Tyslic Jiri <jiri.tyslic(zv)opp.tbggroup(tec)com> - 29.6.2005 14:29:27
To by prave napovidalo tomu, ze nejsou provadeny statistiky nad indexi a proto optimalizotor radeji tyto indexy vynecha.
Zkuste preindexovat tabulku a potom se podivat na plan, pokud se plan zlepsi, hledal bych opravdu chybu zde.
S pozdravem
Tyslic Jiri
> Mame, uvazoval som vsak prave nad tym, ci by vypnutie tohto
> nastavenia
> nepomohlo.
> Problem totiz nie je v tom, ze by sa s pribudajucimi datami
> mali zmenit
> vykonavacie plany a optimalizer to neurobi ale naopak,
> vykonavacie plany
> by mali zostat rovnake a optimalizer ich z nejakeho dovodu zmeni a to
> podstatne k horsiemu. Pokial si odhadovane vykonacie plany
> pre povodne a
> upravene (pomocou OPTION) query necham zobrazit v SQL Query
> analyzeri,
> je percentualny odhad pre neupravene query niekolkonasobne lepsi, ale
> pritom sa v nom prave na vyber dat z najobjemnejsich tabulkach vobec
> nepouzivaju indexy.
>
Odchyt message WM_KEYDOWN
[*] Jan Harman <jharman(zv)volny(tec)cz> - 29.6.2005 14:11:25
Zdravim,
prosim vas, nedari se mi odchytit zpravu WM_KEYDOWN v TFrame.
Kde je pes zakopany?
Dekuji.
Honza
--
Nechte si zasilat do mailu denni prehled nejzajimavejsich
clanku z portalu VOLNY. http://web.volny(tec)cz/mailinfo/
mySQL a kodovani cestiny
[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 29.6.2005 14:01:24
>
> Hlavne se jedna o:
>
> e,s,c . s hackama, jak to donutim spravne zobrazovat (pripadne zapisovat).
>
>
Mne dost natrapil MyODBC verze 3,5 pri prenosu dat z MSSQL na MYSQL
Ted jsem zacal pouzivat Zeos je je po problemech
Vykonavacie plany MSSQL 2000
[*] Martin Cajbik <cajbik(zv)sct.sk> - 29.6.2005 13:27:22
Mame, uvazoval som vsak prave nad tym, ci by vypnutie tohto nastavenia
nepomohlo.
Problem totiz nie je v tom, ze by sa s pribudajucimi datami mali zmenit
vykonavacie plany a optimalizer to neurobi ale naopak, vykonavacie plany
by mali zostat rovnake a optimalizer ich z nejakeho dovodu zmeni a to
podstatne k horsiemu. Pokial si odhadovane vykonacie plany pre povodne a
upravene (pomocou OPTION) query necham zobrazit v SQL Query analyzeri,
je percentualny odhad pre neupravene query niekolkonasobne lepsi, ale
pritom sa v nom prave na vyber dat z najobjemnejsich tabulkach vobec
nepouzivaju indexy.
Tyslic Jiri wrote:
> Mate u databaze nastaveno Auto update statistcs?
>
> S pozdravem
>
> Tyslic Jiri
>
>
>>Zdravim,
>>narazil som na problem z vykonavacimi planmi (optimalizerom SQL) na
>>MSSQL 2000.
....
>>Chcel by som sa opytat, cim moze byt sposobena takato zmena a akym
>>sposobom by jej bolo mozne zabranit (samozrejme okrem uplneho vypnutia
>>analyzatora dat, na co zatial nemam odvahu).
--
Martin Cajbik
SCT s.r.o. Kosice
?select?na?BLOB
[*] Milan <fabtech(zv)fabtech.sk> - 29.6.2005 13:23:21
Vdaka forum pomoci to ide cez ten like.
Problem je iba v tom, ze nemozem tam pouzit upper(popis) like
uppercase(nieco).
Funguje to iba na popis like nieco.
Teda najde to ak to je presne ten znak.
Aj to je lepsie ako nic...
FM
>> Je mozne nejako vykonat select na BLOB-Text, alebo ako to riesite?
>
> Obavam se, ze to primo nejde (nerad bych se mylil).
> Urcite by to slo pres UDF, ktera vrati ANO/NE.
>
> Honza
> ====================================
> = RNDr. Jan Sebelik - HAES
> = Skolici a konzultacni stredisko pro vyvoj SW
> = www.haes(tec)cz
> = Vojtiskova 321
> = 507 81 Lazne Belohrad
> = tel. 493 792 569, 493 792 931, 776 347 735
> ====================================
>
>
>
>
prechod aplikace z D7 na 2005
[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 29.6.2005 13:09:20
a nezkousel jsi AsyncPro od TurboPower? To by mne zajimalo asi nejvic?
Martin
> u me probehl prechod z D7 -> D2005 uplne v pohode a to vcetne
> komponent z JVCL, tDBF, Synaser atd.. D2005 dost pomohl posledni
prechod aplikace z D7 na 2005
[*] radek3311(zv)volny(tec)cz - 29.6.2005 12:59:19
Ahoj,
u me probehl prechod z D7 -> D2005 uplne v pohode a to vcetne
komponent z JVCL, tDBF, Synaser atd.. D2005 dost pomohl posledni
service pack - bez nej to bylo dost line, ted je to asi stejne
rychle jako D7
Radek
--
Nechte si zasilat do mailu denni prehled nejzajimavejsich
clanku z portalu VOLNY. http://web.volny(tec)cz/mailinfo/
Vykonavacie plany MSSQL 2000
[*] Tyslic Jiri <jiri.tyslic(zv)opp.tbggroup(tec)com> - 29.6.2005 11:57:15
Mate u databaze nastaveno Auto update statistcs?
S pozdravem
Tyslic Jiri
> Zdravim,
> narazil som na problem z vykonavacimi planmi (optimalizerom SQL) na
> MSSQL 2000.
> Navrh nasej databazy obsahuje nejake komplikovanejsie ulozene
> procedury
> (SELECT z viacerymi JOINami, EXISTS a pod.) nad tabulkami s velkym
> poctom zaznamov (radovo miliony). Po nasadeni u zakaznika boli vsetky
> pretestovane vratane vykonavacieho planu a vyuzitia indexacie
> tabuliek. Po urcitom case vsak doslo k rapidnemu zhorseniu
> vykonu, dlzka trvania
> procedur na niektorych serveroch (nie vsetkych) sa predlzila z
> niekolkych sekund na minuty. Vykonavacie plany sa pritom
> uplne zmenili a
> boli uz na prvy pohlad velmi neoptimalne. Jedina uprava ktora pomohla
> bolo pouzitie OPTION (FORCE ORDER, LOOP JOIN ...) bez
> akejkolvek dalsej
> zmeny kodu procedur alebo indexacie tabuliek. To mi vsak pripada ako
> dost nesystemove riesenie. Chcel by som sa opytat, cim moze byt
> sposobena takato zmena a akym sposobom by jej bolo mozne zabranit
> (samozrejme okrem uplneho vypnutia analyzatora dat, na co
> zatial nemam
> odvahu).
select na BLOB
[*] Jan Sebelik <honza(zv)haes(tec)cz> - 29.6.2005 11:57:15
> Je mozne nejako vykonat select na BLOB-Text, alebo ako to riesite?
Obavam se, ze to primo nejde (nerad bych se mylil).
Urcite by to slo pres UDF, ktera vrati ANO/NE.
Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 569, 493 792 931, 776 347 735
====================================
Vykonavacie plany MSSQL 2000
[*] Petr Langer <langer(zv)xdom(tec)cz> - 29.6.2005 11:11:12
Ahoj,
jak casto provadite aktualizaci statistik a reindexaci? Pokud to prostredi
dovoluje, je dobre to delat treba kazdou noc.
Je ale pravda, ze obcas se MSSQL chova nepredlozene a pomuze napr. pouziti
OPTION (FAST 1), prestoze vracis spoustu radku...
HTH,
pl
----- Original Message -----
From: "Martin Cajbik" <cajbik(zv)sct.sk>
Subject: OT: Vykonavacie plany MSSQL 2000
> Zdravim,
> narazil som na problem z vykonavacimi planmi (optimalizerom SQL) na
> MSSQL 2000.
...
> Chcel by som sa opytat, cim moze byt
> sposobena takato zmena a akym sposobom by jej bolo mozne zabranit
> (samozrejme okrem uplneho vypnutia analyzatora dat, na co zatial nemam
> odvahu).
>
> --
> Martin Cajbik
> SCT s.r.o. Kosice
LoadLibrary vs threads
[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 29.6.2005 10:59:10
DD,
Vaclav Sazima <vaclav.sazima(zv)utilia(tec)cz> wrote:
> Vlastik Bartos wrote:
>>> Chci ze zeptat: v aplikaci spoustim vice vlaken, kazde vlakno
>>> potrebuje k vykonani sveho kodu volat funkci z DLL. Musi si kazde
>>> vlakno nezavisle zavest knihovnu, ziskat jeji handle a namapovat
>>> vstupni body, nebo lze
>>
>> mezi
>>
>>> vlakny sdilet jeden handle + vstupni body, ziskane napr. v hlavnim
>>> vlaknu aplikace (samozrejme s thread-safe pristupem)?
>>
>>
>> Dll knihovny by mely byt reentrantni, tzn. ze by se jedna instance
>> natazena do pameti PC mela pouzivat vicekrat, treba vice
>> samostatnymi programy. Totez plati tim padem i pro vlakna. System
>> udrzuje citac pouziti, aby vedel, kdy dll muze z pameti odstranit.
>> Takze podle meho mineni staci knihovnu natahnout jednou (ani to
>> nemusi byt dynamicky) v hlavnim programu, vlakna ji uz pak jen
>> pouziji podle potreby. Celkem snadno to lze overit, mozna proto se
>> neobjevila zadna odpoved ...
>>
>> Vlastik
>
> Ale pokud je jeden handle, tak je nejspis jenom jeden pametovy
> prostor
> na promenne v dll. Podle toho, co ta dll dela, by pri volani funkci
> dll z ruznych vlaken mohly vzniknout problemy.
>
pokud zavolas vicekrat LoadLibrary ( i z ruznych threadu) stejne se
DLL znovu nenatahne - mozna dostanes jinou hodnotu handle mozna ani to
ne. DLL sama ma moznost odchytavat spusteni threadu
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/loadlibrary.asp).
Kada DLL, ktera pouziva nejaka globalni data musi pocitat s tim, ze
muze dojit ke konkurencnimu pristupu k tem promennym takze si to musi
pohlidat nejakym zamkem.
Zdravi
Dalibor Toman
LoadLibrary vs threads
[*] Vaclav Sazima <vaclav.sazima(zv)utilia(tec)cz> - 29.6.2005 10:33:08
Vlastik Bartos wrote:
>>Chci ze zeptat: v aplikaci spoustim vice vlaken, kazde vlakno potrebuje k
>>vykonani sveho kodu volat funkci z DLL. Musi si kazde vlakno nezavisle
>>zavest knihovnu, ziskat jeji handle a namapovat vstupni body, nebo lze
>
> mezi
>
>>vlakny sdilet jeden handle + vstupni body, ziskane napr. v hlavnim vlaknu
>>aplikace (samozrejme s thread-safe pristupem)?
>
>
> Dll knihovny by mely byt reentrantni, tzn. ze by se jedna instance natazena
> do pameti PC mela pouzivat vicekrat, treba vice samostatnymi programy. Totez
> plati tim padem i pro vlakna. System udrzuje citac pouziti, aby vedel, kdy
> dll muze z pameti odstranit.
> Takze podle meho mineni staci knihovnu natahnout jednou (ani to nemusi byt
> dynamicky) v hlavnim programu, vlakna ji uz pak jen pouziji podle potreby.
> Celkem snadno to lze overit, mozna proto se neobjevila zadna odpoved ...
>
> Vlastik
Ale pokud je jeden handle, tak je nejspis jenom jeden pametovy prostor
na promenne v dll. Podle toho, co ta dll dela, by pri volani funkci dll
z ruznych vlaken mohly vzniknout problemy.
Vaclav Sazima
select na BLOB
[*] horky(zv)cominn(tec)cz - 29.6.2005 11:15:12
> From: Milan [mailto:fabtech(zv)fabtech.sk]
>
> Je mozne nejako vykonat select na BLOB-Text, alebo ako to riesite?
Zapis blobu do memorystreamu:
type
Popis : TMemoryStream;
V create objektu si vytvorim:
Popis := TMemoryStream.Create;
V Destroy jej musim uvolnit:
Popis.Free;
Nacteni:
Popis.Clear;
if not dm.Sql.FieldByName('POPIS').IsNull then
dm.Sql.FieldByName('POPIS').SaveToStream(Popis);
Zapis pres ulozenku:
with dm.SProc do begin
StoredProcName := 'SP_NEJAKA';
Popis.Position := 0; // dulezite !
ParamByName('APOPIS').LoadFromStream(Popis, ftMemo);
ExecProc;
Result := ParamByName('USPECH').AsInteger;
end;
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP1
[mailto:horky(zv)cominn(tec)cz]
SQL stored procedures cez ADO
[*] Karel Kral <kralkonf(zv)purusmeda(tec)cz> - 29.6.2005 10:59:10
K bodu 1 je to jednoduche:
Pouzit TAdoCommand (Pokud potrebujes jako vystup opravdu jednu hodnotu).
Hodnotu muzes vracet v (zv)RETURN_VALUE pomoci return nebo v libovolne
promenne definovane jako output.
Delphi:
with cmdKontrolaMes do
begin
Connection := FSqlConn;
CommandText := spnBrpKontrolaMes;
Parameters.Refresh;
Parameters.ParamByName('(zv)Datum').Value := FUserData.ReportDate;
Execute;
MaxErrorLevel := Parameters.ParamByName('(zv)RETURN_VALUE').Value;
end
SQL:
create procedure spBrp_MesKontrolaDat(
(zv)Datum datetime,
)
as
....
return((zv)MaxErrLev)
K bodu 2 neni jasne, co myslis tim "seznam". Ale obecne - predavani
seznamu cehokoliv neni moc jednoducha vec. Vetsinou to resime pracovnimi
tabulkami.
Barica Miroslav napsal(a):
> Dobry den,
> Potreboval by som trosku poradit. Potrebujem pouzit stored proceduru s?parametrom. Tato procedura vrati?vysledok ktory potreujem naplnit do premennej. Zial bohu absolutne nemam skusenost so stored procedurami ;-(, tlaci ma cas a naozaj si neviem rady. Tiez potrebujem swpustit dalsiu proceduru s parametrom ktorej vysledok je zoznam s ktorym potrebujem pracovat ako pri normalnom selecte. DB server je MS SQL. Vedel by ma niekto polopatisticky nasmerovat ako na to?
> Dakujem za pomoc, M.
>
>
>
>
>
>
>
>
--
______________________________________________________
Karel Kral, reditel IT / IT manager
PURUS-MEDA, s.r.o., Palackeho 174, 621 00 Brno, CZ
E-Mail: kral(zv)purusmeda(tec)cz
______________________________________________________
prechod aplikace z D7 na 2005
[*] Zapletal Martin <zapletal(zv)inoma(tec)cz> - 29.6.2005 10:47:09
Rad bych se zeptal jake potize mi nastanou pokud bych chtel aplikaci psanou
v D7pro dale tvorit pod D2005. Aplikace je VCL a pouze pro WIN. Pujde bez
vetsich potizi prelozit nebo se musi nejak prepisovat? Nemate nekdo k
prodeji nejakou starsi verzi Delphi Pro ?
Martin
SQL stored procedures cez ADO
[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 29.6.2005 10:43:08
Ahoj!
Napises napr. takovou ulozenou proceduru, ktera vraci pro dany SPID
CREATE PROCEDURE dbo.Get_SQLcommand (zv)SPID INT, (zv)SQLcmd nvarchar(255)
OUTPUT AS
DECLARE (zv)ExecStr varchar(50)
CREATE TABLE #inputbuffer
(
EventType nvarchar(30),
Parameters int,
EventInfo nvarchar(255)
)
SET (zv)ExecStr = 'DBCC INPUTBUFFER(' + STR((zv)SPID) + ')'
INSERT INTO #inputbuffer EXEC ((zv)ExecStr)
SET (zv)SQLcmd = (SELECT EventInfo FROM #inputbuffer)
DROP TABLE #inputbuffer
GO
V delphi projektu pouzijes ADOStoredProc napojis na DataSource a
ADOConnection. Do vlastnosti ProcedureName v ADOStoredProc nastavis danou
ulozenou proceduru. Vlastnost Parameters se vyplni automaticky.
V kodu pak muzes napsat toto:
ADOSP_Get_SQLcmd.Parameters.Items[0].Value := Sysprocessesspid.Value;
//Sysprocessesspid je pole SPID ze systemove tabulky Sysprocesses
ADOSP_Get_SQLcmd.ExecProc;
Memo1.Lines.Text := ADOSP_Get_SQLcmd.Parameters.ParamValues['(zv)SQLcmd'];
//Vracena hodnota ulozenou procedurou
Ing. Igor Vodicka
informacni systemy
Nakladatelstvi Sagit
Tel.: 59 6786 001
HTTP://www.sagit(tec)cz/
> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Barica Miroslav
> Sent: Wednesday, June 29, 2005 10:07 AM
>
> Potreboval by som trosku poradit. Potrebujem pouzit stored
> proceduru s?parametrom. Tato procedura vrati?vysledok ktory
> potreujem naplnit do premennej. Zial bohu absolutne nemam
> skusenost so stored procedurami ;-(, tlaci ma cas a naozaj si
> neviem rady. Tiez potrebujem swpustit dalsiu proceduru s
> parametrom ktorej vysledok je zoznam s ktorym potrebujem pracovat
> ako pri normalnom selecte. DB server je MS SQL. Vedel by ma
> niekto polopatisticky nasmerovat ako na to?
OT: Vykonavacie plany MSSQL 2000
[*] Martin Cajbik <cajbik(zv)sct.sk> - 29.6.2005 10:33:08
Zdravim,
narazil som na problem z vykonavacimi planmi (optimalizerom SQL) na
MSSQL 2000.
Navrh nasej databazy obsahuje nejake komplikovanejsie ulozene procedury
(SELECT z viacerymi JOINami, EXISTS a pod.) nad tabulkami s velkym
poctom zaznamov (radovo miliony). Po nasadeni u zakaznika boli vsetky
pretestovane vratane vykonavacieho planu a vyuzitia indexacie tabuliek.
Po urcitom case vsak doslo k rapidnemu zhorseniu vykonu, dlzka trvania
procedur na niektorych serveroch (nie vsetkych) sa predlzila z
niekolkych sekund na minuty. Vykonavacie plany sa pritom uplne zmenili a
boli uz na prvy pohlad velmi neoptimalne. Jedina uprava ktora pomohla
bolo pouzitie OPTION (FORCE ORDER, LOOP JOIN ...) bez akejkolvek dalsej
zmeny kodu procedur alebo indexacie tabuliek. To mi vsak pripada ako
dost nesystemove riesenie. Chcel by som sa opytat, cim moze byt
sposobena takato zmena a akym sposobom by jej bolo mozne zabranit
(samozrejme okrem uplneho vypnutia analyzatora dat, na co zatial nemam
odvahu).
--
Martin Cajbik
SCT s.r.o. Kosice
select na BLOB
[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 29.6.2005 10:23:07
Jestli ti jde o to selectovat podle blobu, tak asi pomoci operatoru LIKE.
Jestli chces vyselectovat blob a nejak s nim pracovat, tak tady je mala
ukazka
toto nacte blob z tabulky Soubor a ulozi do souboru temp.$$$
SouborTbl->SQL->Clear();
SouborTbl->SQL->Add("select * from soubor where
souborID="+AnsiString(ID)+" order by ID");
SouborTbl->Open();
SouborTbl->First();
TFileStream *temp;
temp=new TFileStream("temp.$$$",fmCreate);
SouborTblObsah->SaveToStream(temp); // SouborTblObsah je ten Blob field,
slo by to asi udelat i SouborTbl->FieldByName("Obsah")
delete temp;
// tohle je psano narychlo, bylo by samozrejme prinejmensim rozumne osetrit
si vyjimky pri praci se souborem.> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Milan
> Sent: Wednesday, June 29, 2005 9:59 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: select na BLOB
>
>
> FB,D6
>
> Je mozne nejako vykonat select na BLOB-Text, alebo ako to riesite?
>
> FM
>
>
select na BLOB
[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 29.6.2005 10:09:05
Milan wrote (on Wednesday, June 29, 2005 9:59 AM):
> FB,D6
>
> Je mozne nejako vykonat select na BLOB-Text, alebo ako to riesite?
>
> FM
Doporucuji clanek: http://www.volny(tec)cz/iprenosil/interbase/ip_ib_strings.htm
Asi 10 polozka ti zodpovi tvuj problem (a dalsi i jine ;-)).
--
Jiri Cincura
http://www.ID3renamer.com/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/
SQL stored procedures cez ADO
[*] Barica Miroslav <miroslav.barica(zv)matador.sk> - 29.6.2005 10:07:05
Dobry den,
Potreboval by som trosku poradit. Potrebujem pouzit stored proceduru s?parametrom. Tato procedura vrati?vysledok ktory potreujem naplnit do premennej. Zial bohu absolutne nemam skusenost so stored procedurami ;-(, tlaci ma cas a naozaj si neviem rady. Tiez potrebujem swpustit dalsiu proceduru s parametrom ktorej vysledok je zoznam s ktorym potrebujem pracovat ako pri normalnom selecte. DB server je MS SQL. Vedel by ma niekto polopatisticky nasmerovat ako na to?
Dakujem za pomoc, M.
select na BLOB
[*] Milan <fabtech(zv)fabtech.sk> - 29.6.2005 09:59:04
FB,D6
Je mozne nejako vykonat select na BLOB-Text, alebo ako to riesite?
FM
AddObject a nasledne uvolneni
[*] Petr Brant <brant(zv)dcomm(tec)cz> - 29.6.2005 09:23:02
Myslim, ze neuvolnujes objekty, ktere pridavas na radku
FFiltrCombo.Properties.Items.AddObject(
spproc.Fields[1].AsString,
TmyFiltrObject.CreateFiltr(
spproc.Fields[0].AsInteger,....
a "samo" se to uvolnit nemuze, protoze program nevi, jestli se ty
objekty nepouzivaji jeste nekde jinde.
Zdravim
RNDr. Petr Brant [brant(zv)dcomm(tec)cz]> Jisteze musis, viz help:
>
> Note: The memory referenced by Ptr is not freed when the tree nodes
> object is freed.
>
> TreeView uchovava pouze pointer, ale co je na nem alokovano, to
naprosto
> nevi (na rozdil od napr. TStringListu), takze to musis udelat sam.
>
Dobre, v pripade ze pouziji TStringList a nasledujici konstrukci
Type
TmyFiltrObject = class
ID: Integer;
Nazev: string;
TXT_Vyberu: string;
constructor CreateFiltr(
AID: integer;
ANazev: string;
ATXT_Vyberu: string
);
end;
V constructoru je tvorena komponenta FFiltrCombo:
.....
fFiltrCombo := TcxComboBox.Create(FPanelOmezeniControl);
with fFiltrCombo do
begin
Name := 'cxFiltrComboGen';
Parent := FPanelOmezeniControl;
Visible := true;
....
...
Properties.OnChange := FiltrComboChange;
properties.OnButtonClick := FiltrComboButtonClick;
end;
nekde v kodu je:
FFiltrCombo.Properties.Items.clear;
while not spProc.Eof do
begin
FFiltrCombo.Properties.Items.AddObject(
spproc.Fields[1].AsString,
TmyFiltrObject.CreateFiltr(
spproc.Fields[0].AsInteger,
spproc.Fields[1].AsString,
spProc.Fields[2].AsString)
);
spProc.Next;
end;
A v Destructoru je:
FFiltrCombo.Properties.OnChange := nil;
FFiltrCombo.Properties.Items.Clear;
freeandnil(FFiltrCombo);
//
// FFiltrCombo.Properties.Items je TStrings
//
Presto mi MemProf ukazuje na neuvolnene Pointery.
Co mam blbe?
Spusteni jine aplikace se zachovanim focusu na puv
[*] Mirek Junek <mirek.junek(zv)worldonline(tec)cz> - 29.6.2005 08:54:59
Ahoj,
potrebuji spustit jinou (vlastni) aplikaci pri startu programu tak, aby
zustal focus na te prvni aplikaci. Na W2K je to bez problemu, na XP SP1 se
mi nedari. Application.BringToFront a podobne veci nezabiraji.
Dik
Mirek
Vutvaranie viac instancii Form - ako zavriet dany
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 28.6.2005 22:28:14
28.6.2005 martin:
>>> Zdravim Vas.
>>> Viete poradit ako mam vytvorit viac instancii jednoho formu?
>>> A tieto nejak pohodlne ukladat do zoznamu vytvorenych formularov, ktore by
>>> som pri skonceni app alebo zatvoreni toho formularu postupne uvolnoval?
JF>> V hlavnim formulari si vytvor treba TList, ktery bude udrzovat seznam
JF>> formularu.
JF>> Formular pri svem OnCreate prida odkaz do TList, pri Destroy jej
JF>> odebere.
JF>> V hlavnim formulari si vytvor treba TList, ktery bude udrzovat seznam
JF>> formularu.
JF>> Formular pri svem OnCreate prida odkaz do TList, pri Destroy jej
JF>> odebere.
> Co myslis tym "Formular pri svem OnCreate prida odkaz do TList" ?
> Nieco take?
> with TForm2.Create(Application) do begin
> ListBox1.Items.Add(Name);
> Show;
> end;
Ne.
1. TList neni TListBox
2. Ten formular ma udalost OnCreate, takze v ni se udela to pridani:
napr. HlavniForm.SeznamOken.Add(self);
Takze v TList budou ODKAZY, zadne nazvy formularu
> Toto je blbost ale v principe nieco ako: NazovFormu.Close
Ano, to s tim tvym ListBoxem je blbost, protoze neumis cist
> Ako teda vseobecne pristupovat na form, ked poznam jeho NAME ako
> STRING hodnotu?
Pres TList budes pristupovat pomoci pretypovani:
var
SeznamOken: TList;
begin
Okno := TMujFormular(SeznamOken.Items[index]);
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
Vutvaranie viac instancii Form - ako zavriet dany
[*] martin <matrix(zv)inmail(tec)cz> - 28.6.2005 21:56:02
Povodna sprava zo dna : 28.06.2005, od <jan.fiala(zv)wo(tec)cz> :
JF> 28.6.2005 Robert Fujak:
>> Zdravim Vas.
>> Viete poradit ako mam vytvorit viac instancii jednoho formu?
>> A tieto nejak pohodlne ukladat do zoznamu vytvorenych formularov, ktore by
>> som pri skonceni app alebo zatvoreni toho formularu postupne uvolnoval?
JF> V hlavnim formulari si vytvor treba TList, ktery bude udrzovat seznam
JF> formularu.
JF> Formular pri svem OnCreate prida odkaz do TList, pri Destroy jej
JF> odebere.
JF> A vytvoreni vice instanci ?
JF> Treba:
JF> for i := 1 to 10 do
JF> with TMujForm.Create(Application) do Show;
JF> 28.6.2005 Robert Fujak:
>> Zdravim Vas.
>> Viete poradit ako mam vytvorit viac instancii jednoho formu?
>> A tieto nejak pohodlne ukladat do zoznamu vytvorenych formularov, ktore by
>> som pri skonceni app alebo zatvoreni toho formularu postupne uvolnoval?
JF> V hlavnim formulari si vytvor treba TList, ktery bude udrzovat seznam
JF> formularu.
JF> Formular pri svem OnCreate prida odkaz do TList, pri Destroy jej
JF> odebere.
JF> A vytvoreni vice instanci ?
JF> Treba:
JF> for i := 1 to 10 do
JF> with TMujForm.Create(Application) do Show;
Co myslis tym "Formular pri svem OnCreate prida odkaz do TList" ?
Nieco take?
with TForm2.Create(Application) do begin
ListBox1.Items.Add(Name);
Show;
end;
V listboxe budu hodnoty, podla toho kolkokrat zavolam Create:
Form2_1
Form2_2
.
.
.
A problem: Ako podla mena, ktory je STRING zmazem form?
Napr.
NazovFormu:String;
...
NazovFormu:= ListBox1.Items.ValueFromIndex[ListBox1.ItemIndex];
...
Ako zizstit cez listbox1 o ktory form ide? Potrebujem zavriet form,
ktoreho meno je v NazovFormu. Ako?
Toto je blbost ale v principe nieco ako: NazovFormu.Close
Ako teda vseobecne pristupovat na form, ked poznam jeho NAME ako
STRING hodnotu?
Dik
--
Martin
AddObject a nasledne uvolneni
[*] Radim Kunz <rkunz(zv)casestudio(tec)com> - 28.6.2005 21:22:00
----- Original Message -----
From: "Jiri Fait" <develop(zv)lmss(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Tuesday, June 28, 2005 7:57 PM
Subject: Re: AddObject a nasledne uvolneni
> Petr Brant napsal(a):
>> Jisteze musis, viz help:
>>
> Dobre, v pripade ze pouziji TStringList a nasledujici konstrukci
>
> Type
>
> TmyFiltrObject = class
> ID: Integer;
> Nazev: string;
> TXT_Vyberu: string;
> constructor CreateFiltr(
> AID: integer;
> ANazev: string;
> ATXT_Vyberu: string
> );
> end;
>
> V constructoru je tvorena komponenta FFiltrCombo:
> ....
> fFiltrCombo := TcxComboBox.Create(FPanelOmezeniControl);
> with fFiltrCombo do
> begin
> Name := 'cxFiltrComboGen';
> Parent := FPanelOmezeniControl;
> Visible := true;
> ....
> ...
> Properties.OnChange := FiltrComboChange;
> properties.OnButtonClick := FiltrComboButtonClick;
> end;
>
>
> nekde v kodu je:
>
> FFiltrCombo.Properties.Items.clear;
> while not spProc.Eof do
> begin
> FFiltrCombo.Properties.Items.AddObject(
> spproc.Fields[1].AsString,
> TmyFiltrObject.CreateFiltr(
> spproc.Fields[0].AsInteger,
> spproc.Fields[1].AsString,
> spProc.Fields[2].AsString)
> );
> spProc.Next;
> end;
>
> A v Destructoru je:
>
> FFiltrCombo.Properties.OnChange := nil;
for i := 0 to FFiltrCombo.Items.Count-1 do
begin
FFiltrCombo.Items.Objects[i].Free
end;
// Musis to uvolnit sam, nikdo to za tebe neudela,
// Combobox nevi, jestli ty objekty nepouzivas
// jeste nekde jinde, proto ti je nesmi uvolnit
FFiltrcombo.Items.Clear;
freeandnil(FFiltrCombo);
Radim
LoadLibrary vs threads
[*] Vlastik Bartos <bartos(zv)spsmvbr(tec)cz> - 28.6.2005 19:59:54
Vzhledem k tomu, ze se odpoved neobjevila, pokusim se odpovedet, ackoliv
prilis zkusenosti v tomto oboru nemam :-(
> Chci ze zeptat: v aplikaci spoustim vice vlaken, kazde vlakno potrebuje k
> vykonani sveho kodu volat funkci z DLL. Musi si kazde vlakno nezavisle
> zavest knihovnu, ziskat jeji handle a namapovat vstupni body, nebo lze
mezi
> vlakny sdilet jeden handle + vstupni body, ziskane napr. v hlavnim vlaknu
> aplikace (samozrejme s thread-safe pristupem)?
Dll knihovny by mely byt reentrantni, tzn. ze by se jedna instance natazena
do pameti PC mela pouzivat vicekrat, treba vice samostatnymi programy. Totez
plati tim padem i pro vlakna. System udrzuje citac pouziti, aby vedel, kdy
dll muze z pameti odstranit.
Takze podle meho mineni staci knihovnu natahnout jednou (ani to nemusi byt
dynamicky) v hlavnim programu, vlakna ji uz pak jen pouziji podle potreby.
Celkem snadno to lze overit, mozna proto se neobjevila zadna odpoved ...
Vlastik
AddObject a nasledne uvolneni
[*] Jiri Fait <develop(zv)lmss(tec)cz> - 28.6.2005 19:57:54
Petr Brant napsal(a):
> Jisteze musis, viz help:
>
> Note: The memory referenced by Ptr is not freed when the tree nodes
> object is freed.
>
> TreeView uchovava pouze pointer, ale co je na nem alokovano, to naprosto
> nevi (na rozdil od napr. TStringListu), takze to musis udelat sam.
>
Dobre, v pripade ze pouziji TStringList a nasledujici konstrukci
Type
TmyFiltrObject = class
ID: Integer;
Nazev: string;
TXT_Vyberu: string;
constructor CreateFiltr(
AID: integer;
ANazev: string;
ATXT_Vyberu: string
);
end;
V constructoru je tvorena komponenta FFiltrCombo:
....
fFiltrCombo := TcxComboBox.Create(FPanelOmezeniControl);
with fFiltrCombo do
begin
Name := 'cxFiltrComboGen';
Parent := FPanelOmezeniControl;
Visible := true;
....
...
Properties.OnChange := FiltrComboChange;
properties.OnButtonClick := FiltrComboButtonClick;
end;
nekde v kodu je:
FFiltrCombo.Properties.Items.clear;
while not spProc.Eof do
begin
FFiltrCombo.Properties.Items.AddObject(
spproc.Fields[1].AsString,
TmyFiltrObject.CreateFiltr(
spproc.Fields[0].AsInteger,
spproc.Fields[1].AsString,
spProc.Fields[2].AsString)
);
spProc.Next;
end;
A v Destructoru je:
FFiltrCombo.Properties.OnChange := nil;
FFiltrCombo.Properties.Items.Clear;
freeandnil(FFiltrCombo);
//
// FFiltrCombo.Properties.Items je TStrings
//
Presto mi MemProf ukazuje na neuvolnene Pointery.
Co mam blbe?
AddObject a nasledne uvolneni
[*] Petr Brant <brant(zv)dcomm(tec)cz> - 28.6.2005 19:29:52
Jisteze musis, viz help:
Note: The memory referenced by Ptr is not freed when the tree nodes
object is freed.
TreeView uchovava pouze pointer, ale co je na nem alokovano, to naprosto
nevi (na rozdil od napr. TStringListu), takze to musis udelat sam.
v nasledujici konstrukci (priklad z Delphi helpu) je pouzita
metoda AddObject.
var
MyRecPtr: PMyRec;
TreeViewIndex: LongInt;
begin
New(MyRecPtr);
MyRecPtr^.FName := Edit1.Text;
MyRecPtr^.LName := Edit2.Text;
TreeViewIndex := StrToInt(Edit3.Text);
with TreeView1 do
begin
if Items.Count = 0 then
Items.AddObject(nil, 'Item' + IntToStr(TreeViewIndex), MyRecPtr)
else if (TreeViewIndex < Items.Count) and (TreeViewIndex >= 0) then
Items.AddObject(Items[TreeViewIndex], 'Item' +
IntToStr(TreeViewIndex), MyRecPtr);
end;
end;
Musim pak pri ukoncovani aplikace nejak uvolnovat objekty pridane
metodou AddObject?
AddObject a nasledne uvolneni
[*] Jiri Fait <develop(zv)lmss(tec)cz> - 28.6.2005 18:37:43
Mam dotaz, v nasledujici konstrukci (priklad z Delphi helpu) je pouzita
metoda AddObject.
var
MyRecPtr: PMyRec;
TreeViewIndex: LongInt;
begin
New(MyRecPtr);
MyRecPtr^.FName := Edit1.Text;
MyRecPtr^.LName := Edit2.Text;
TreeViewIndex := StrToInt(Edit3.Text);
with TreeView1 do
begin
if Items.Count = 0 then
Items.AddObject(nil, 'Item' + IntToStr(TreeViewIndex), MyRecPtr)
else if (TreeViewIndex < Items.Count) and (TreeViewIndex >= 0) then
Items.AddObject(Items[TreeViewIndex], 'Item' +
IntToStr(TreeViewIndex), MyRecPtr);
end;
end;
Musim pak pri ukoncovani aplikace nejak uvolnovat objekty pridane
metodou AddObject?
Jirka
Vutvaranie viac instancii Form
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 28.6.2005 18:57:49
28.6.2005 Robert Fujak:
> Zdravim Vas.
> Viete poradit ako mam vytvorit viac instancii jednoho formu?
> A tieto nejak pohodlne ukladat do zoznamu vytvorenych formularov, ktore by
> som pri skonceni app alebo zatvoreni toho formularu postupne uvolnoval?
V hlavnim formulari si vytvor treba TList, ktery bude udrzovat seznam
formularu.
Formular pri svem OnCreate prida odkaz do TList, pri Destroy jej
odebere.
A vytvoreni vice instanci ?
Treba:
for i := 1 to 10 do
with TMujForm.Create(Application) do Show;
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
Vutvaranie viac instancii Form
[*] Robert Fujak <robof(zv)inmail.sk> - 28.6.2005 18:37:43
Zdravim Vas.
Viete poradit ako mam vytvorit viac instancii jednoho formu?
A tieto nejak pohodlne ukladat do zoznamu vytvorenych formularov, ktore by
som pri skonceni app alebo zatvoreni toho formularu postupne uvolnoval?
Dik Robo.
D7
Problem s JvDBDatePickerEdit
[*] Vaclav Halik <spravasd(zv)suz.cvut(tec)cz> - 28.6.2005 16:45:35
Zdravim,
mam problem s JvDBDatePickerEdit potazmo s JvDatePickerEdit.
Uz se v tom stouram cca. 5 hodin a zacinam byt docela zoufaly.
V cem je problem. Opravil jsem najake drobnosti v komponente,
ale to hlavni co mne trapi nejak nemuzu najit. Pokud pouzivam
komponentu s defalutnim paremetrem pro DateFormat tj.
defalutne d/M/yyyy pak vse funguje docela pekne, problem je
pokud se pokusim pouzit masku pro format dd/MM/yyyy.
Pak po kliknuti, vyberu datum, ale do editu komponety se nic
nezapise. Tedy pri tomto formatu najak nedojde k predani nebo
spis zpracovani data a jeho zpetnemu zobrazeni.
Proto se ptam neresil toto nekdo, raspektive nevi nekdo jak
komponentu opravit tak aby fungovala korektne.
Pouzivam JVCL 3 a JvDatePickerEdit z CVS za dne 25.6.2005
Prosim o nejaky napad co s tim.
Programove vypnuti PC ze sluzby
[*] Ludek <konference(zv)sales(tec)cz> - 28.6.2005 16:21:33
From: "Karel Rys" <delphi(zv)zas-me(tec)cz>
> chtel jsem napsat sluzbu, ktera by bezela na Win2000. Naslouchala by na
zadanem TCP portu a po
> prijeti nejakych dat by byla schopna pocitac vypnout - uplne vypnout, ne
aby tam zustalo napsano,
> ze nyni to muzeme udelat bez obav rucne :) Pocitace se uplne vypnout umi.
Hodilo by se nam to do
> skoly, u sebe na pc bych mel pripraveny seznam IP adres a na ne pred
zamknutim useben rozeslal
> "vypinaci instrukci". Bohuzel jsem s pomoci ExitWindowsEx neuspel. Nemate
nekdo prosim zkusenost,
> jak na to? Musi to byt sluzba, protoze typicky pocitace zustavaji zapnute
ve stavu, kdy je na nich
> zobrazeno prihlasovaci okno na Novell, tj. nikdo neni prihlasen ani na
Novell, ani do Windows.
Ahoj,
uses Windows,Sysutils;
var
hToken, hProcess: THandle;
tp, prev_tp: TTokenPrivileges;
Len: DWORD;
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
hProcess := OpenProcess(PROCESS_ALL_ACCESS, True, GetCurrentProcessID);
try
if not OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES or
TOKEN_QUERY, hToken) then Exit;
finally
CloseHandle(hProcess);
end;
try
if not LookupPrivilegeValue('', 'SeShutdownPrivilege',
tp.Privileges[0].Luid) then Exit;
tp.PrivilegeCount := 1;
tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
if not AdjustTokenPrivileges(hToken, False, tp, SizeOf(prev_tp),
prev_tp, Len) then Exit;
finally
CloseHandle(hToken);
end;
end;
ExitWindowsEx(EWX_POWEROFF or EWX_FORCE , 0);
end.
Ludek
Programove vypnuti PC ze sluzby
[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 28.6.2005 13:41:13
Pekne odpoledne,
chtel jsem napsat sluzbu, ktera by bezela na Win2000. Naslouchala by na zadanem TCP portu a po
prijeti nejakych dat by byla schopna pocitac vypnout - uplne vypnout, ne aby tam zustalo napsano,
ze nyni to muzeme udelat bez obav rucne :) Pocitace se uplne vypnout umi. Hodilo by se nam to do
skoly, u sebe na pc bych mel pripraveny seznam IP adres a na ne pred zamknutim useben rozeslal
"vypinaci instrukci". Bohuzel jsem s pomoci ExitWindowsEx neuspel. Nemate nekdo prosim zkusenost,
jak na to? Musi to byt sluzba, protoze typicky pocitace zustavaji zapnute ve stavu, kdy je na nich
zobrazeno prihlasovaci okno na Novell, tj. nikdo neni prihlasen ani na Novell, ani do Windows.
Diky predem za kazdy namet,
Karel Rys
Programove vypnuti PC ze sluzby
[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 28.6.2005 14:09:20
> chtel jsem napsat sluzbu, ktera by bezela na Win2000.
> Naslouchala by na zadanem TCP portu a po
> prijeti nejakych dat by byla schopna pocitac vypnout - uplne
> vypnout, ne aby tam zustalo napsano,
> ze nyni to muzeme udelat bez obav rucne :) Pocitace se uplne
> vypnout umi. Hodilo by se nam to do
> skoly, u sebe na pc bych mel pripraveny seznam IP adres a na
> ne pred zamknutim useben rozeslal
> "vypinaci instrukci". Bohuzel jsem s pomoci ExitWindowsEx
> neuspel. Nemate nekdo prosim zkusenost,
> jak na to? Musi to byt sluzba, protoze typicky pocitace
> zustavaji zapnute ve stavu, kdy je na nich
> zobrazeno prihlasovaci okno na Novell, tj. nikdo neni
> prihlasen ani na Novell, ani do Windows.
>
> Diky predem za kazdy namet,
Skus psshutdown z PsTools na www.sysinternals.com
Windows 2000 Resource Kit ma tiez Remote Shutdown.
HTH
TOndrej
Programove vypnuti PC ze sluzby
[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 28.6.2005 14:01:19
Je to sice v Ccku, ale easy a pujde to prepsat. Mel jsem to i v Delphi, ale
nemuzu to najit. WIndows 2k/XP maji toto primo jako featuru ze jdou shodit
po siti
http://www.matcode.com/rsd-con.c.txt
aaa - treba toto
http://www.swissdelphicenter.ch/torry/showcode.php?id=1232
obecne - hledej "InitiateSystemShutdown"
>chtel jsem napsat sluzbu, ktera by bezela na Win2000. Naslouchala by na
>zadanem TCP portu a po
>prijeti nejakych dat by byla schopna pocitac vypnout - uplne vypnout, ne
>aby tam zustalo napsano,
>ze nyni to muzeme udelat bez obav rucne :) Pocitace se uplne vypnout umi.
>Hodilo by se nam to do
>skoly, u sebe na pc bych mel pripraveny seznam IP adres a na ne pred
>zamknutim useben rozeslal
>"vypinaci instrukci". Bohuzel jsem s pomoci ExitWindowsEx neuspel. Nemate
>nekdo prosim zkusenost,
>jak na to? Musi to byt sluzba, protoze typicky pocitace zustavaji zapnute
>ve stavu, kdy je na nich
>zobrazeno prihlasovaci okno na Novell, tj. nikdo neni prihlasen ani na
>Novell, ani do Windows.
>
>Diky predem za kazdy namet,
>
>Karel Rys
S pozdravem
Tomas Rosa
------------------------=[ pinknet on every screen]=-----------------------
Tomas Rosa
Tomas.Rosa(zv)PinkNet(tec)cz http://www.pnws.org
+420 602 860 704
PinkNet Web Server for Win32 - FREEWARE www.pnws.org
---------------------------------------------------------------------------
synaser a prace s com portem
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 28.6.2005 12:33:06
> nevite nekdo kdyz v SynaSeru vytvorim objekt TBlockSerial a
> nakonektim ho treba na COM1 jestli to ovlivnuje i jiny port treba
> COM2 ? Jedna se me o to ze v samostatnych threadech potrebuji
> vytvorit nekolik TBlockSerialu - kazdy na jiny port tak jestli se
> to nebude mezi sebou nejak tlouct.
Jeden TBlockserial ovlivnuje jen ten port, na ktery jej pripojis.
Takze neni problem si v threadu vyrobit svuj TBlockSerial a kazdy
pripojit na jiny port.
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Ararat Synapse - TCP/IP Lib.
shrink mdb souboru
[*] Ladislav Fitz <ladislav.fitz(zv)kodytek(tec)cz> - 28.6.2005 13:41:13
pokud toto nevyhovuje melo by to jit pres prikazovy radek, do napovedy
accessu si dej vyhledavat vyraz parametry a najdes tam volby v prikazovem
radku a tam je volba compact
> Zdravim,
> tato funkcia urobi shrink, databaza vsak nesmie byt otvorena:
>
> procedure ShrinkMdb(const MDBSubor: String);
> var
> Eng: OLEVariant;
> begin
> Eng:= CreateOLEObject('JRO.JetEngine');
> try
> Eng.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
> MDBSubor, 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
> MDBSubor+'x;Jet OLEDB:Engine type=5');
> DeleteFile(MDBSubor);
> RenameFile(MDBSubor+'x', MDBSubor)
> finally
> Eng:= Unassigned;
> end;
> end;
>
> Marek Cizek wrote:
>> Ahoj,
>> nevite jak z delphi udelat shrink mdb souboru ?
>> Na pocitaci je nainstalovan Office s Accessem.
>>
>> Marek
>> .
>
> --
> Martin Cajbik
> SCT s.r.o. Kosice
>
>
>
shrink mdb souboru
[*] Marek Cizek <mcizek(zv)anect(tec)cz> - 28.6.2005 13:23:10
Ahoj,
nevite jak z delphi udelat shrink mdb souboru ?
Na pocitaci je nainstalovan Office s Accessem.
Marek
shrink mdb souboru
[*] Martin Cajbik <cajbik(zv)sct.sk> - 28.6.2005 13:33:11
Zdravim,
tato funkcia urobi shrink, databaza vsak nesmie byt otvorena:
procedure ShrinkMdb(const MDBSubor: String);
var
Eng: OLEVariant;
begin
Eng:= CreateOLEObject('JRO.JetEngine');
try
Eng.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
MDBSubor, 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
MDBSubor+'x;Jet OLEDB:Engine type=5');
DeleteFile(MDBSubor);
RenameFile(MDBSubor+'x', MDBSubor)
finally
Eng:= Unassigned;
end;
end;
Marek Cizek wrote:
> Ahoj,
> nevite jak z delphi udelat shrink mdb souboru ?
> Na pocitaci je nainstalovan Office s Accessem.
>
> Marek
> .
--
Martin Cajbik
SCT s.r.o. Kosice
synaser a prace s com portem
[*] radek3311(zv)volny(tec)cz - 28.6.2005 12:53:08
Diky - synaser je super !! Zajimalo by ale jestli nepripravujes
neco jako synaser ale pro USB - prece jenom COM porty nejak z tech
pocitacu mizi a USB zasuvek tam je cim dal vic :-)
Radek
--
Nechte si zasilat do mailu denni prehled nejzajimavejsich
clanku z portalu VOLNY. http://web.volny(tec)cz/mailinfo/
synaser a prace s com portem
[*] radek3311(zv)volny(tec)cz - 28.6.2005 12:01:04
Ahoj,
nevite nekdo kdyz v SynaSeru vytvorim objekt TBlockSerial a
nakonektim ho treba na COM1 jestli to ovlivnuje i jiny port treba
COM2 ? Jedna se me o to ze v samostatnych threadech potrebuji
vytvorit nekolik TBlockSerialu - kazdy na jiny port tak jestli se
to nebude mezi sebou nejak tlouct.
diky
Radek
--
Nechte si zasilat do mailu denni prehled nejzajimavejsich
clanku z portalu VOLNY. http://web.volny(tec)cz/mailinfo/
synaser a prace s com portem
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 28.6.2005 12:57:08
> Diky - synaser je super !! Zajimalo by ale jestli nepripravujes
> neco jako synaser ale pro USB - prece jenom COM porty nejak z tech
> pocitacu mizi a USB zasuvek tam je cim dal vic :-)
Neplanuji. Ale pokud to USB zarizeni emuluje seriovy port, pak lze
pochopitelne Synaser pouzit. (treba takove ruzne USB modemy,
prevodniky z USB na serial, a tak...)
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
http://www.ararat(tec)cz/synapse/ - Ararat Synapse - TCP/IP Lib.
mySQL a kodovani cestiny
[*] spravce(zv)dh-soft(tec)cz - 28.6.2005 11:31:01
Pouzivam D20005Pro, mySQL 4.1.12-nt, vse bezi OK.
Nastaveni Tables v mySQL je na CP1250. Pouzivam InnoDB. Delphi jsem
neprenastavoval nikde.
Pokud ale zapisu nejake INSERTy (bud na serveru, nebo Delphinama) a nasledne
zobrazim data treba v ComboBoxu - mam rozbitou cestinu.
Hlavne se jedna o:
e,s,c . s hackama, jak to donutim spravne zobrazovat (pripadne zapisovat).
Dik Dan
Vysilani "BDN Radio", 24 hodin s Delphi, 13.7.2005
[*] rkubat(zv)email(tec)cz - 28.6.2005 10:38:58
Vazeni uzivatele Delphi,
oznacte si, prosim, ve svych kalendarich relaci "24 hodin s Delphi",
doposud nevidanou on-line konferenci v historii Delphi. Po celych 24 hodin budou
probihat rozhovory s vyvojovymi pracovniky, partnery Borland, autory knih a cleny
komunity Delphi. Naucite se tipy, triky a techniky od nejlepsich znalcu Delphi
na planete Zemi. Ve Stredni Evrope probehne 13.7 od 9:00 do 14.7., 8:59.
Tohoto vysilaciho maratonu se zucastni: Danny Thorpe, Allen Bauer, Steve Trefethen,
Ramesh Theivendran, John Keegan, Jim Tierney, tym ECO, Dr. Bob Swart, Robert
Love, Marco Cantu, Brian Long, Michael Swindell, Malcolm Groves, Jason Vokes, Daniel
Magin, Bernd Ua, Ray Konopka, Nick Hodges a mnoho dalsich.
Behem vysilani budete moci klast otazky pro hosty vysilani; pokud chcete polozit
otazky s predstihem, muzete je odeslat na adresu Anderse Ohlssona na e-mail
"aohlsson(zv)borland.com".
Hoste vysilani vam pomohou tipy a triky pro prevod projektu do Delphi 2005 pro Win32
a stejne tak pro presun vasich aplikaci do Microsoft .NET a .NET compact framework.
Probirany budou priklady z praxe, pripadove studie clenu komunity a jejich zakazniku.
Probirat se budou i plany pro Delphi s vyhledem na dalsi tri roky. Navic budou
moderatori hovorit s hosty o jejich rolich v komunite Delphi, jak zacinali, co delaji dnes, jake knihy pisi, na jake webove servery se spolehaji, jak skoli ci konzultuji a
dozvite se i mnoho dalsich informaci.
Kdy: 13.7.2005 od 9:00 do 14.7.2005 8:59
Vice se o teto jedinecne udalosti dozvite na BDN a EventCentral:
http://bdn.borland.com/
http://ec.borland.com/index.jsp
Posledni casovy plan, prednasejici a navrhovana temata (23.6.2005):
13.7.2005
09:00 ... David I, Michael S, Jason V, Malcolm G - Introduction and Delphi Roadmap
10:00 ... Bob Swart, Marco Cantu - Training, customers, migration
11:00 ... David Clegg - CF preview, StarTeam, migration
12:00 ... Jan Norden (Henrik, Fredrik) - ECO fundamentals
13:00 ... Jonas Hogstrom (Henrik, Fredrik) - ECO O/R mappings
14:00 ... Bernd Ua and Daniel Magin - "The Germany Show"
15:00 ... Jeroen Pluimers - Training, customers, migration
16:00 ... Dan Miser - Migration case study. 1.5MLOC source!
17:00 ... Craig Stuntz - C# in Delphi 2005, StarTeam
18:00 ... Ramesh - Database programming, dbExpress, Borland Data Provider architecture
19:00 ... Daniel Polistchuck - Janeva, CaliberRM
20:00 ... Danny & Seppy - Compiler, RTL, VCL, CF preview
21:00 ... Chad & Hadi - Indy and IntraWeb
22:00 ... Yorai - VCL, ASP, lang features
23:00 ... Steve T, Jim T, John K and Nick Hodges - ASP.NET, web services,dbWeb and QC web client
14.7.2005
00:00 ... Mark Edington - Unit testing, test driven development
01:00 ... Chris Bensen - ActiveX/COM
02:00 ... Michael Li - Migrating to ASP.NET (customer story)
03:00 ... Robert Love - BDN work done in Delphi 2005
04:00 ... Randy Magruder - Customer Migration case study
05:00 ... Charlie Calvert and Lino Tadros - Training, customers, migration
06:00 ... Ray Konopka - VCL component building + migration
07:00 ... Tim Jarvis, Dick W and Anthony R - ECO case study
08:00 ... David I, Michael S, Jason V, Malcolm G - Closing, wrap-up
Ucast je zdarma, staci se jen registrovat. Registracni procedura bude zverejnena
na BDN v nejblizsich dnech.
Vsechny uzivatele Delphi zdravi, -- Richard Kubat, Borland s.r.o.
Together, Free verze, UML
[*] Benda Lukas <bendal(zv)volny(tec)cz> - 28.6.2005 09:16:45
Chtel bych se zeptat, kde se presne da stahnout free verze UML editoru
Together od spolecnosti Borland? Na jejich strankach pisi, ze snad
nejaka verze je volne k pouzivani, ale kdyz jsem stahnul comunity
version tak to po instalaci chtelo aktivacni kody. Ktera verze je tedy
volne siritelna a jak se instaluje?
Pouziti TReader
[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 28.6.2005 02:30:15
Omlouvam se za diakritiku, tak jeste jednou...
Je to krapet slozitejsi, protoze kontejnerove tridy, ktere se
pouzivaji v ABRA Gx, se streamuji jaksi "samy od sebe" ;-) a navic
je mozne je zapouzdrovat do sebe. Pokud se ale zpetnou analyzou ted
pokusim strukturu streamu popsat, vypada to nejak takto (pouzil jsem
pseudokod, ale doufam ze bude srozumitelny):
WriteObject:
// cislo_tridy odpovida typu dat, ktera budou nasledovat
Writer.WriteInteger( cislo_tridy );
// nasleduje jmeno objektu, pouziva se pro identifikaci
Writer.WriteString( jmeno_objektu );
// nasledujici byte je poze kvuli zpetne kompatibilite
Writer.Write( 0..4 , SizeOf(Byte));
// nasleduji podrizene objekty
Writer.WriteInteger( pocet_podrizenych_objektu );
for i := 1 to pocet_podrizenych_objektu do
WriteObject( podrizeny_objekt[i] );
// nasleduji data
case ( cislo_tridy ) of
1: // zadna data, pouze drzi podrizene objekty
;
2, 30, 31: //String, Memo, FmtMemo
Writer.WriteString( data );
3: //Boolean
Writer.WriteBoolean( data );
4, 66, 67: //Integer, Word, SmallInt
Writer.WriteInteger( data );
5: //Float
Writer.WriteFloat( data );
6: //Currency
Writer.Write( data , SizeOf(Currency));
7, 68, 69: //DateTime, Date, Time
Writer.Write( data , SizeOf(TDateTime));
26: //Guid
Writer.Write( data , SizeOf(TGuid));
27, 28, 29, 32, 34, 36:
//Raw, Bytes, VarBytes, Graphic, TypedBinary, Cursor
begin
Writer.WriteInteger( velikost_dat );
Writer.Write( data^, velikost_dat );
end;
end;
Martin Schayna
www.abra(tec)cz
Pouziti TReader
[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 28.6.2005 02:20:14
Kalhous wrote:
>>nevim presne, na co to potrebujes, ale zpusob pouziti je vcelku jasny:
>>function LoadString(AStream: TStream): String;
>>begin
>> with TReader.Create(AStream,1024) do begin
>> Result:=ReadString;
>> Free;
>> end;
>>end;
>
> Diky, ja vlastne taky nevim na co to potrebuju :-) V tabulce GLOBDATA
> systemu Abra? jsou totiz nazvy a hodnoty vyberovych klicu ulozeny v BLOBu
> jako jakysi podivny string se spoustou zbytecnych (asi) bajtu, jedna se
> celkem o trivialni strukturu [cislo_klice,nazev_klice] a ke kazdemu klici
> libovolny pocet dvojic [cislo_hodnoty,nazev_hodnoty]. Nejak to rozkodovat
> umim, ale na dotaz v Aktisu jsem dostal radu, ze pro cteni mam pouzit
> standardni TReader. Jelikoz jsem to jeste v zivote nepotreboval tak jsem si
> myslel ze je to neco chytryho, neco co ten format rozpozna a rozsifruje vzdy
> spravne. Neni tomu tak. Mimochodem k tomuhle prikladu - mezitim jsem se v
> helpu (ten je zde opravdu skoupy na slovo) docetl, ze TReader se nema
> vytvaret nebot se vytvari automaticky s kazdym TStream. At jsem ho vytvoril
> nebo ne, pokazde to sice fungovalo ale na nic.
Je to krapet slozitejsi, protoze kontejnerove tridy, ktere se
pouzivaji v ABRA Gx, se streamuji jaksi "samy od sebe" ;-) a navic
je mozne je zapouzdrovat do sebe. Pokud se ale zpetnou analyzou ted
pokusim strukturu streamu popsat, vypada to nejak takto (pouzil jsem
pseudokod, ale doufam ze bude srozumitelny):
WriteObject:
// +AQ0A7Q-slo_t+AVkA7Q-dy odpov+AO0-d+AOE- typu dat, kter+AOE- budou n+AOE-sledovat
Writer.WriteInteger( +AQ0A7Q-slo_t+AVkA7Q-dy );
// n+AOE-sleduje jm+AOk-no objektu, pou+AX4A7Q-v+AOE- se pro identifikaci
Writer.WriteString( jm+AOk-no_objektu );
// n+AOE-sleduj+AO0-c+AO0- byte je poze kv+AW8-li zp+ARs-tn+AOk- kompatibilit+ARs-
Writer.Write( 0..4 , SizeOf(Byte));
// n+AOE-sleduj+AO0- pod+AVkA7Q-zen+AOk- objekty
Writer.WriteInteger( po+AQ0-et_pod+AVkA7Q-zen+AP0-ch_objekt+AW8- );
for i := 1 to po+AQ0-et_pod+AVkA7Q-zen+AP0-ch_objekt+AW8- do
WriteObject( pod+AVkA7Q-zen+AP0-_objekt[i] );
// n+AOE-sleduj+AO0- data
case ( +AQ0A7Q-slo_t+AVkA7Q-dy ) of
1: // +AX4A4Q-dn+AOE- data, pouze dr+AX4A7Q- pod+AVkA7Q-zen+AOk- objekty
;
2, 30, 31: //String, Memo, FmtMemo
Writer.WriteString( data );
3: //Boolean
Writer.WriteBoolean( data );
4, 66, 67: //Integer, Word, SmallInt
Writer.WriteInteger( data );
5: //Float
Writer.WriteFloat( data );
6: //Currency
Writer.Write( data , SizeOf(Currency));
7, 68, 69: //DateTime, Date, Time
Writer.Write( data , SizeOf(TDateTime));
26: //Guid
Writer.Write( data , SizeOf(TGuid));
27, 28, 29, 32, 34, 36:
//Raw, Bytes, VarBytes, Graphic, TypedBinary, Cursor
begin
Writer.WriteInteger( velikost_dat );
Writer.Write( data^, velikost_dat );
end;
end;
Martin Schayna
www.abra(tec)cz
KonfView a archiv konference
[*] Lada <lada.xt(zv)volny(tec)cz> - 27.6.2005 23:56:04
>rad bych se zeptal, zda stale funguje ftp viz nize (rok stary
>prispevek), nebo kde jinde bych nasel textove soubory do KonfView.
>
Pardon, vyreseno...
ftp://delphi:archivar(zv)ftp.delphi(tec)cz
funguje,
Lada
KonfView a archiv konference
[*] Lada <lada.xt(zv)volny(tec)cz> - 27.6.2005 23:38:03
Zdravim vsechny,
rad bych se zeptal, zda stale funguje ftp viz nize (rok stary
prispevek), nebo kde jinde bych nasel textove soubory do KonfView.
Pomoci Total Commanderu se mne to nejak nedari otevrit...
Dik moc, Lada
>Na ftp.delphi(tec)cz <ftp.delphi(tec)cz> (username Delphi, psw Archivar,
>Other/KonfViewData) jsou textove soubory (od r. 2000), ktere si muzes
>stahnout a naimportovat do databaze KonfView.
>
>RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
>http://web.redbox(tec)cz/petr.brant <http://web.redbox(tec)cz/petr.brant>
>
O.T. - jak cenite programatorskou hodinu
[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 27.6.2005 20:31:50
Spatna otazka.
"sazba" je velmi zavisla na tom, co umis, co znas a jak rychle tvoris.
Dobry programator by si mel mesicne vydelat asi tak 25 - 40 hrubeho
(dobry neni ten, kdo se za dobreho povazuje, to bohuzel nestaci).
Behem sveho zivota jsem zazil nekolik situaci, kdy jeden to tvoril
nekolik mesicu (ja:(() a druhy to naprogramoval za 2 hodiny.
Techdy jsem poprve opravdu pochopil, ze zapaleni neni vse a ze je nutne
se naucit i neco vice.
Slavek
> Omlouvam se, ale jako amatersky programator ktery nyni resi
> prvni placenou zakazku bych se rad zeptal jakou cenu za praci
> spravne uctovat. Vim ze to asi bude zalezet na konkretnim
> projektu ale potreboval bych si udelat nejaky obrazek. Jedna
> se o databazovou aplikaci FB a vstup z RS232 ci RS485.
prace s LDAP
[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 27.6.2005 19:05:43
> snazim se cist neco z LDAPu, ale nevim jak na to.
> Pouzivam synapsi, ale nejsem schopen dosahnout toho aby mi funkce Search
> neco vratila. Moc se v problematice adresarovych sluzeb neorientuju. Dost
> by mi pomohl nejaky kousek kodu, ktery precte z nejakeho dostupneho LDAP
> serveru nejakou informaci a zobrazi ji.
Drobny priklad... nevim, jestli jeste ujkazkovy server funguje, ale v
dobe, kdy jsem ldapsend programoval, tak to jelo bez problemu. ;-)
procedure TForm1.Button53Click(Sender: TObject);
var
ldap: TLDAPsend;
l: TStringList;
begin
ldap:= TLDAPsend.Create;
l := TStringList.Create;
try
ldap.TargetHost := 'www.openldap.com';
ldap.Version:=2;
// ldap.Username := 'cn=manager,dc=OpenLDAP,dc=org';
// ldap.Password := 'pass';
ldap.Login;
ldap.Bind;
l.Add('displayname');
l.Add('description');
l.Add('givenName');
l.Add('*');
ldap.Search('dc=OpenLDAP,dc=org', False, '(objectclass=*)', l);
memo1.Lines.Add(LDAPResultdump(ldap.SearchResult));
ldap.Logout;
finally
ldap.Free;
l.Free;
end;
end;
--
Lukas Gebauer.
E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi and Kylix TCP/IP
Library
canvas a vice stranek
[*] Matejcek Petr <konference(zv)crhov.komfi(tec)cz> - 27.6.2005 18:51:42
DD,
tisknu na canvas a z nej do PDF nize uvedenym zpusobem, ale kdyz je
dat vic potreboval bych zacit dalsi stranku
poradil by prosim nekdo jak na to ?
kdyz mam data nasazena na canvasu jak muzu udelat nahled pred tiskem?
for (TmpI = 1; TmpI< StringGridTel->RowCount;TmpI++)
{
Y1 = 100 * TmpI + 330;
Y2 = Y1+130;
TR = Rect(X1, Y1, X2 - 30, Y2);
tisk->Canvas->TextRect(TR, X1 + 50, Y1 ,
StringGridTel->Cells[sloupec][TmpI]);
}
diky PM
prace s LDAP
[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 27.6.2005 17:39:37
Ahoj *,
snazim se cist neco z LDAPu, ale nevim jak na to.
Pouzivam synapsi, ale nejsem schopen dosahnout toho aby mi funkce Search
neco vratila. Moc se v problematice adresarovych sluzeb neorientuju.
Dost by mi pomohl nejaky kousek kodu, ktery precte z nejakeho dostupneho
LDAP serveru nejakou informaci a zobrazi ji.
Dik.
OT/nabidka prace - programator Delphi
[*] Lucie Svadlenkova <lucie(zv)timemaker.org> - 27.6.2005 17:33:37
jsme prazska sw firma a momentalne mame volnou pozici senior Delphi
programator
zabyvame se vyvojem na zakazku, ale nabizena pozice se tyka krabicoveho
produktu na jehoz vyvoji prave pracujeme - jedna se o firemni komunikacni
system
vyvoj je v Delphi, pod MySQL
pozadujeme dobrou znalost delphi a aj na dobre urovni
nabizime dobre financni ohodnoceni, praci v mladem kolektivu
pro blizsi informace mne kontaktujte na lucie(zv)timemaker.org
Lucie Svadlenkova
________________________________________
IDENTITY - CompSale s.r.o.
mailto:lucie.svadlenkova(zv)identity-cs.com
tel./fax: +420 266 711 703
http://www.identity-cs.com
http://www.identity(tec)cz
________________________________________
tisk stringgrid
[*] horky(zv)cominn(tec)cz - 27.6.2005 17:11:35
> From: Matejcek Petr [mailto:konference(zv)crhov.komfi(tec)cz]
>
> prosim poradil by nekdo jak treba pomoci QReportu vytisknout data
> ktera mam ve StringGridu?
Podivej se na tisk pomoci udalosti OnNeedData.
V c:\Program Files\Borland\Delphi7\Demos\Quickrpt\Qr3 je dokonce priklad.
Postup tisku:
zalozis si promennou pro pocitani radku, v beforeprint ji vynulujes.
V onneeddata promennou inkrementujes a pouzijes jako index pro adresovani prislusne bunky stringgridu. Hodnoty z radku stringgridu, na ktery ukazuje tva promenna, zkopirujes do labelu reportu.
Tisknes az do konce stringgridu, pak nastavis moredata na false a report se ukonci.
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP1
[mailto:horky(zv)cominn(tec)cz]
tisk stringgrid
[*] Jiri Kulisek <jikulich(zv)quick(tec)cz> - 27.6.2005 16:49:33
Ahoj,
hm, s QReportem nedelam uz dlouho..co takhle nasypat data z gridu (nebo ze
struktury, ktera ho daty zasobuje) do nejakeho pomocneho datasetu, napr.
TClientDataSet, TMemTable..pak uz si s nimi QReport poradi dost snadno, ne?
Jirka.
-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Matejcek Petr
Sent: Monday, June 27, 2005 4:24 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: tisk stringgrid
dd
prosim poradil by nekdo jak treba pomoci QReportu vytisknout data
ktera mam ve StringGridu?
uz si s tim pekne dlouho hraju a nemuzu prijit na nic rozumneho
diky PM
tisk stringgrid
[*] Matejcek Petr <konference(zv)crhov.komfi(tec)cz> - 27.6.2005 16:23:31
dd
prosim poradil by nekdo jak treba pomoci QReportu vytisknout data
ktera mam ve StringGridu?
uz si s tim pekne dlouho hraju a nemuzu prijit na nic rozumneho
diky PM
Pouziti TReader
[*] Jiri Kulisek <jikulich(zv)quick(tec)cz> - 27.6.2005 15:47:28
Ahoj, jen pro upresneni:
tridy TWriter/TReader slouzi v Delphi predevsim pro standardni streaming
komponent, tj. pro ulozeni/obnovu hodnot jejich published properties v
binarni podobe do nejakeho streamu, napr. DFM. Ve zkompilovane aplikaci jsou
takto ulozeny pouzite formulare - do resources typu RT_RCDATA.
Neni pravda, ze TWriter/TReader se vytvari automaticky s kazdym TStream.
TStream si automaticky vytvari tyto tridy POUZE ve svych metodach
WriteComponent/ReadComponent, ktere slouzi prave pro streaming komponent.
Obecne lze tyto tridy s vyhodou pouzit pro zapis/obnovu vice ci mene
strukturovanych dat, coz take programatori ve svych aplikacich casto delaji,
mne nevyjimaje :-). Kazda hodnota, zapsana pomoci TWriter je ve vystupnim
streamu uvozena prefixem datoveho typu (TValueType, viz Classes.pas), v
pripade hodnot variabilni delky, napr. stringu, je zde take udaj o delce.
Pro spravne zpetne nacteni hodnot (rozkodovani streamu) je proto nezbytna
znalost typu a poradi ulozenych hodnot (tedy pokud nejde o zapis nejake
standardni Delphi komponenty). Jestli Ti k informaci "..pouzijte standardni
TReader" neprilozili take popis struktury, tak myslim ze Te dost odbyli :-).
Nejlepsi ukazky pouziti TWriter/TReader jsou primo v Classes.pas.
Jirka.
Pouziti TReader
[*] Kalhous <kalhous(zv)eu(tec)cz> - 27.6.2005 14:29:22
> nevim presne, na co to potrebujes, ale zpusob pouziti je vcelku jasny:
> function LoadString(AStream: TStream): String;
> begin
> with TReader.Create(AStream,1024) do begin
> Result:=ReadString;
> Free;
> end;
> end;
Diky, ja vlastne taky nevim na co to potrebuju :-) V tabulce GLOBDATA
systemu Abra? jsou totiz nazvy a hodnoty vyberovych klicu ulozeny v BLOBu
jako jakysi podivny string se spoustou zbytecnych (asi) bajtu, jedna se
celkem o trivialni strukturu [cislo_klice,nazev_klice] a ke kazdemu klici
libovolny pocet dvojic [cislo_hodnoty,nazev_hodnoty]. Nejak to rozkodovat
umim, ale na dotaz v Aktisu jsem dostal radu, ze pro cteni mam pouzit
standardni TReader. Jelikoz jsem to jeste v zivote nepotreboval tak jsem si
myslel ze je to neco chytryho, neco co ten format rozpozna a rozsifruje vzdy
spravne. Neni tomu tak. Mimochodem k tomuhle prikladu - mezitim jsem se v
helpu (ten je zde opravdu skoupy na slovo) docetl, ze TReader se nema
vytvaret nebot se vytvari automaticky s kazdym TStream. At jsem ho vytvoril
nebo ne, pokazde to sice fungovalo ale na nic.
Select
[*] Fabtech software <fabtech(zv)fabtech.sk> - 27.6.2005 13:05:16
Zdravim
sorry, sorry, sorry,
nevsimol som si ten max(t2.meno). Teraz to slape presne ako som chcel.
takze aby som pre pripad ze by niekto hladal v historii na otazku:
Riesim select, ktoreho vysledkom bude tabulka obsahujuca
1. spocitanie stlpca sum(mno) z 1 tab ma zaklade id_dod,
2. zotriedenie DESC a
3. doplnenie o meno z druhej tabulky. a id_dod
urobil v tom poriadok
Odpoved je:
select sum(t1.mno) as pocet, t1.id_dod, max(t2.meno) as Meno from tabulka1
t1 join tabulka2 t2 on t1.id_dod=t2.id_dod group by t1.id_dod order by 1
desc
Dik za ochotu Fabik
Pouziti TReader
[*] Jiri Kulisek <jikulich(zv)quick(tec)cz> - 27.6.2005 12:31:13
Ahoj,
nevim presne, na co to potrebujes, ale zpusob pouziti je vcelku jasny:
procedure SaveString(const AValue: String; AStream: TStream);
begin
with TWriter.Create(AStream,1024) do begin
WriteString(AValue);
Free;
end;
end;
function LoadString(AStream: TStream): String;
begin
with TReader.Create(AStream,1024) do begin
Result:=ReadString;
Free;
end;
end;
Jirka
-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Kalhous
Sent: Monday, June 27, 2005 6:35 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Pouziti TReader
Muzete mi nekdo poslat kratickou ukazku pouziti TReader.ReadString? Diky.
Z.Kalhous
ToWare s.r.o.
tel.: 466 614 024
O.T. - jak cenite programatorskou hodinu
[*] m.zaplik(zv)volny(tec)cz - 27.6.2005 12:19:12
Omlouvam se, ale jako amatersky programator ktery nyni resi prvni
placenou zakazku bych se rad zeptal jakou cenu za praci spravne
uctovat. Vim ze to asi bude zalezet na konkretnim projektu ale
potreboval bych si udelat nejaky obrazek. Jedna se o databazovou
aplikaci FB a vstup z RS232 ci RS485.
dik Martin
--
Nechte si zasilat do mailu denni prehled nejzajimavejsich
clanku z portalu VOLNY. http://web.volny(tec)cz/mailinfo/
Select
[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 27.6.2005 11:55:11
Ten dotaz vypada, ze je v poradku.
Jen si rikam, co je t1.mno? Je to ciselna polozka? Pokud ne, nema tam SUM co delat, pouzij COUNT
(nebo v nejhorsim SUM(1)).
Karel Rys
Fabtech software dne 27 Jun 2005 v 11:29:
> Tento select mi na FB nefunguje.
> Ak pouzijem order by a chcem robit sum(t1.mno) na zaklade group
> by,musim do group by zaradit vsetky select stlpce okrem mno.
>
> Ak nepouzijem order, za group by nemusim dat vsetky ostatne stlpce.
>
> S tym som sa ale stretol aj pri GUPTA SQL databaze. Mozno ze nie
> vsetky takto funguju, alebo som lamer.
>
> Dik Fabik
>
>
> tak by mel skutecne stacit puvodni navrh:
> > select sum(t1.mno) as pocet, t1.id_dod, max(t2.meno) as Meno
> > from tabulka1 t1
> > join tabulka2 t2 on t1.id_dod=t2.id_dod
> > group by t1.id_dod
> > order by 1 desc
> >
> > --
>
>
>
LoadLibrary vs threads
[*] jikulich <jikulich(zv)quick(tec)cz> - 27.6.2005 11:53:10
Dobry den,
Chci ze zeptat: v aplikaci spoustim vice vlaken, kazde vlakno potrebuje k
vykonani sveho kodu volat funkci z DLL. Musi si kazde vlakno nezavisle
zavest knihovnu, ziskat jeji handle a namapovat vstupni body, nebo lze mezi
vlakny sdilet jeden handle + vstupni body, ziskane napr. v hlavnim vlaknu
aplikace (samozrejme s thread-safe pristupem)?
Pokud pri psani DLL predpokladam vicevlaknovy pristup, je nutne (nebo
vyhodne) napsat vlastni DllEntryPoint handler (tim myslim presmerovat
globalni promennou DLLProc do nejake vlastni rutiny)?
Diky, Jirka.
Select
[*] Fabtech software <fabtech(zv)fabtech.sk> - 27.6.2005 11:29:08
Tento select mi na FB nefunguje.
Ak pouzijem order by a chcem robit sum(t1.mno) na zaklade group by,musim
do group by zaradit vsetky select stlpce okrem mno.
Ak nepouzijem order, za group by nemusim dat vsetky ostatne stlpce.
S tym som sa ale stretol aj pri GUPTA SQL databaze. Mozno ze nie vsetky
takto funguju, alebo som lamer.
Dik Fabik
tak by mel skutecne stacit puvodni navrh:
> select sum(t1.mno) as pocet, t1.id_dod, max(t2.meno) as Meno
> from tabulka1 t1
> join tabulka2 t2 on t1.id_dod=t2.id_dod
> group by t1.id_dod
> order by 1 desc
>
> --
Problem s instalaci JEDI - JVCL
[*] Ing. Jiri Sokol <js-delphi(zv)email(tec)cz> - 27.6.2005 11:25:08
Ahoj vsem!
Jake mate zkusenosti s instalaci JVCL? Me jsou zatim spatne. Pri ciste instalaci PC, Delphi a po instalaci JCL (ktera probehla naprosto hladce a bezproblemove) se mi nedari nainstalovat JVCL.
Install.bat mi nahlasi chybejici JvGNUGetText.dcu (ktery tam je, ale neni defaultne v ceste) - tak jsem se snazil upravit JVCLInstall.dpr, kde jsem doplnil:
JvGnuGettext in '..\..\common\JvGnuGetText.pas',
no a ted mam dalsi problem, ze mi compilator z prikazoveho radku dela problem s cestinou v ceste - nemuze vytvorit soubor JvGnuGetText.dcu - kvuli neexistujici ceste (protoze tu ceskou zmrsil)
Da se prekladaci nejak rict, aby bral cestu i s ceskymi znaky a nebo se mam rozloucit s autmatickou instzalaci a radeji si to nainstalovat rucne?
Jak jste to resili vy?
Diky za reakce a hezky den vsem!
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol(zv)seznam(tec)cz; 972 231 187
D6Prof+SP3; WinXPProf+SP2; FB 1.5.2
programator amater
DBEdit & OnChange
[*] LUKES Vaclav <lukes(zv)ans(tec)cz> - 27.6.2005 11:15:07
Ahoj,
mam D6, Win XP, DTB Oracle a rad bych vas poprosil o radu. Jde o DBEdit.
Tabulka obsahuje sloupec, ktery je Number(14,2).
Na formu je DBEdit a tomu je prirazena nula: FieldByName('ABC').Value := 0;
Na DBEditu je OnChange a tady mam problem. Pokud do DBEditu vepisu nejakou hodnotu, provede se OnChange, ale pokud do DBEditu zadnou hodnotu nedam (ve formulari vymazu jeho obsah), OnChange se neprovede.
Poradite mi nekdo ?
Diky
Vasek
Zmena instalacniho adresare v INNO SETUP
[*] Martin Dupal <mdupal(zv)vision(tec)cz> - 27.6.2005 11:09:06
Jestli myslis programovou zmenu ciloveho adresare pro konkretni soubor(y),
tak to lze udelat pomoci funkce a direktivy "code":
[Files]
Source: D:\setupdata\file.dat; DestDir: {code:GetDataDir};
[Code]
function GetDataDir(Param: String): String;
begin
Result := ExpandConstant('{pf}\mysubdir');
end;
> Ahoj, jak muzu v INNU programove zmenit adresar, kde se ma aplikace
> instalovat. Neco jako kdybych zadal v prikazove radce parametr
> /DIR='c:\'
>
> DIk
FastReport a vice sekci MasterData
[*] pilifs <pilifs(zv)seznam(tec)cz> - 27.6.2005 11:03:06
Zdravim,
muzete nekdo poradit jak v FF3 docilit toho, kdyz si na stranku dam 2 x
hlavni data a potom chci aby v pripade prechodu jednech nebo druhych dat
doslo take v vypsani nazvu sloupcu.
Zkousel jsem pouzit GroupHeader, ale neni mi jasne jak mu rici kdy se ma
vypsat.
Diky L. Filip
Zmena instalacniho adresare v INNO SETUP
[*] Cizek Milan <cizek.milan(zv)seznam(tec)cz> - 27.6.2005 10:57:05
> Ahoj, jak muzu v INNU programove zmenit adresar, kde se ma
> aplikace instalovat. Neco jako kdybych zadal v prikazove
> radce parametr /DIR='c:\'
Ahoj,
Ted si nejsem uplne jisty co mas namysli...
#define AppName "tvuj program"
DirExistsWarning=auto
CreateAppDir=true
DefaultDirName={pf}\{#AppName}
DisableDirPage=false
S pozdravem Milan Cizek, amatersky programator, D7 Ent
Win2k (SP4) a WinXP, cizek.milan(zv)seznam(tec)cz, ICQ: 59826637
Select
[*] Ing. Pavel Zilinec <pavel.zilinec(zv)seznam(tec)cz> - 27.6.2005 10:51:05
Myslim, ze jsem to tam napsal. Bohuzel mi chybi vedet, podle ceho radit
a navic netusim, v cem vidis ten problem ...
'Group by' a 'Order by' jsou na sobe nezavisle.
Prvni jen souctuje a druhy cely vysledek radi a oboji jde pouzit
jak dohromady, tak zvlast.
Takze pokud chces souctovat podle kodu dodavatele a radit to sestupne
podle mnozstvi (nebylo sice receno, ale v jedno prikladu to bylo
patrne), tak by mel skutecne stacit puvodni navrh:
select sum(t1.mno) as pocet, t1.id_dod, max(t2.meno) as Meno
from tabulka1 t1
join tabulka2 t2 on t1.id_dod=t2.id_dod
group by t1.id_dod
order by 1 desc
--
ing. Pavel Zilinec
Monday, June 27, 2005, 10:05:01 AM, bylo napsano:
Fs> Dik, to mi je jasne, ze je to order by, lenze v takom pripade musim
Fs> vypisat za group by vsetky stlpce, ktore pouzijem v selecte , co nie je v
Fs> tomto pripade vhodne,
Fs> pretoze ak pouzijem tento select:
Fs> select sum(t1.mno) as pocet, t1.id_key,t2.meno from tabulka1 t1 join
Fs> tabulka2 t2 on t1.id_dod=t2.id_dod group by t1.id_dod,t2.meno order by
Fs> sum(t1.mno)
Fs> vysledne zoradenie nebude len podla t1.id_dod ale t1.id_dod,t2.meno.
Fs> Myslite si, ze by sa dal pouzit nejaky dvojity select? Myslim tak, ze v
Fs> prvom selecte by som pouzil:
Fs> select sum(t1.mno) as pocet, t1.id_dod, max(t2.meno) as Meno from tabulka1
Fs> t1 join tabulka2 t2 on t1.id_dod=t2.id_dod group by t1.id_dod
Fs> a v druhom by som tento vysledok zorderoval, len neviem, ci je to mozne,
Fs> pretoze vsetky moje pokusy zlyhali na syntaxe, resp je to nezmysel.
Fs> Dik Fabik
?Select
[*] Fabtech software <fabtech(zv)fabtech.sk> - 27.6.2005 10:05:01
Dik, to mi je jasne, ze je to order by, lenze v takom pripade musim
vypisat za group by vsetky stlpce, ktore pouzijem v selecte , co nie je v
tomto pripade vhodne,
pretoze ak pouzijem tento select:
select sum(t1.mno) as pocet, t1.id_key,t2.meno from tabulka1 t1 join
tabulka2 t2 on t1.id_dod=t2.id_dod group by t1.id_dod,t2.meno order by
sum(t1.mno)
vysledne zoradenie nebude len podla t1.id_dod ale t1.id_dod,t2.meno.
Myslite si, ze by sa dal pouzit nejaky dvojity select? Myslim tak, ze v
prvom selecte by som pouzil:
select sum(t1.mno) as pocet, t1.id_dod, max(t2.meno) as Meno from tabulka1
t1 join tabulka2 t2 on t1.id_dod=t2.id_dod group by t1.id_dod
a v druhom by som tento vysledok zorderoval, len neviem, ci je to mozne,
pretoze vsetky moje pokusy zlyhali na syntaxe, resp je to nezmysel.
Dik Fabik
> Pro razeni staci pouzit 'order by', co presne je povoleno pouzit pro
> FB nevim, ale jeden z tech zpusobu by mel fungovat (pripadne uvest
> cele slovo 'descending')
>
> select sum(t1.mno) as pocet, t1.id_dod, max(t2.meno) as Meno
> from tabulka1 t1
> join tabulka2 t2 on t1.id_dod=t2.id_dod
> group by t1.id_dod
>
> order by Pocet desc
> order by sum(t1.mno) desc
> order by 1 desc
>
>
> Ft> D6, FB 1.5
> Ft> Riesim select, ktoreho vysledkom bude tabulka obsahujuca
> Ft> 1. spocitanie stlpca sum(mno) z 1 tab ma zaklade id_dod,
> Ft> 2. zotriedenie DESC a
> Ft> 3. doplnenie o meno z druhej tabulky. a id_dod
>
> Ft> Prisiel som na:
> Ft> select sum(t1.mno) as pocet, t1.id_key from tabulka1 t1 join tabulka2
> t2 on
> Ft> t1.id_dod=t2.id_dod group by t1.id_dod
> Ft> - toto mi spocita stlpec mno na zaklade id_dodavatela.
> Ft> Otazka, ktoru neviem vyriesit je ako doplnit meno a zotriedit to.
>
> Ft> Ked dam
> Ft> select sum(t1.mno) as pocet, t1.id_key,t2.meno from tabulka1 t1 join
> Ft> tabulka2 t2 on t1.id_dod=t2.id_dod group by t1.id_dod,meno
> Ft> //doplnenie stlpca meno do selectku vyzaduje doplnmenie stlpca aj do
> group
> Ft> by, co nechcem a este to neriesi zotriedenie podla vypocitaneho
> sum(mno)
Zmena instalacniho adresare v INNO SETUP
[*] Dalibor <dalibor(zv)torola(tec)cz> - 27.6.2005 10:01:01
Ahoj, jak muzu v INNU programove zmenit adresar, kde se ma aplikace instalovat. Neco jako kdybych zadal v prikazove radce parametr /DIR='c:\'
DIk
U komponenty Label nefunguje vlastnost Layout
[*] Hovat <hovat(zv)pcservis(tec)cz> - 27.6.2005 09:46:59
Nezapomnel, ale nevedel ze musim.
Diky moc.
Pavel HOVAT
PC servis
Hudcova 76
612 00 BRNO
ICO : 105 43384
DIC : CZ450706457
tel : 541 213 196
fax : 541 244 056
FB trigger
[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 27.6.2005 09:34:58
Kalhous dne 26 Jun 2005 v 13:31:
> To asi opravdu nejde. Leda by bylo mozne rozlisit uvnitr triggeru zda
> byl volan volan pro DELETE, UPDATE nebo INSERT ale o tom nevim.
Jen pro doplneni:Ve FB 1.5.2 se v triggerech da pouzivat:
IF (INSERTING OR UPDATING OR DELETING)...
Karel Rys
vypalovani dat na CD z Delphi
[*] Josef Zvonicek <prosoft(zv)prosoft(tec)cz> - 27.6.2005 08:46:46
Myslin ze na www.sinea(tec)cz byly nejake free komponenty a mezi nima bylo
nejake vypalovani.
Zvo.
-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of radek3311(zv)volny(tec)cz
Sent: Monday, June 27, 2005 7:41 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: vypalovani dat na CD z Delphi
Ahoj,
potreboval bych ze sveho programu v Delphi vypalovat data na
CD(zalohovat) - nevite nekdo jak na to ? diky
Radek
--
Nechte si zasilat do mailu denni prehled nejzajimavejsich clanku z portalu
VOLNY. http://web.volny(tec)cz/mailinfo/
Jak pracuje TTable
[*] Jan Sebelik <honza(zv)haes(tec)cz> - 27.6.2005 08:22:44
> muzete mi nekdo vysvetlit jak pracuje TTable s TDBGridem pri
> UPDATE ? Jak pozna TTable ktery sloupec ma zahrnout do WHERE pri
> UPDATE ? Zjisti si primo z DB ktery sloupec je v tabulce primarni
> a ten pak pouzije ? V pripade, ze tam neni tak pouzije co ve WHERE ?
Zavisi to na property UpdateMode (viz help).
Pust si SQLMonitor (Delphi Enterprise) a muzes presne sledovat komunikaci vsech BDE komponent s databazi.
(viz kurz Delphi - Pokrocile techniky)
Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 569, 493 792 931, 776 347 735
====================================
Jak pracuje TTable
[*] Sula Milos <milos.sula(zv)musumperk(tec)cz> - 27.6.2005 08:06:42
Ahoj,
muzete mi nekdo vysvetlit jak pracuje TTable s TDBGridem pri UPDATE ? Jak pozna TTable ktery sloupec ma zahrnout do WHERE pri UPDATE ? Zjisti si primo z DB ktery sloupec je v tabulce primarni a ten pak pouzije ? V pripade, ze tam neni tak pouzije co ve WHERE ?
Milos
vypalovani dat na CD z Delphi
[*] Milan Kra'ta <krata.milan(zv)seznam(tec)cz> - 27.6.2005 07:50:41
Docela s uspechem pouzivam knihovny DelphiNeroApi. Jsou stazene z www.sf.net . Akorat na PC s programem musi byt nainstalovano NERO.
Milan
> -----Original Message-----
> From: radek3311(zv)volny(tec)cz [mailto:radek3311(zv)volny(tec)cz]
> Sent: Monday, June 27, 2005 7:41 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: vypalovani dat na CD z Delphi
>
>
> Ahoj,
>
> potreboval bych ze sveho programu v Delphi vypalovat data na
> CD(zalohovat) - nevite nekdo jak na to ?
>
> diky
> Radek
>
>
> --
> Nechte si zasilat do mailu denni prehled nejzajimavejsich
> clanku z portalu VOLNY. http://web.volny(tec)cz/mailinfo/
>
>
>
>
vypalovani dat na CD z Delphi
[*] radek3311(zv)volny(tec)cz - 27.6.2005 07:40:40
Ahoj,
potreboval bych ze sveho programu v Delphi vypalovat data na
CD(zalohovat) - nevite nekdo jak na to ? diky
Radek
--
Nechte si zasilat do mailu denni prehled nejzajimavejsich
clanku z portalu VOLNY. http://web.volny(tec)cz/mailinfo/
Pocket PC emulator ve VS .NET
[*] Tyslic Jiri <jiri.tyslic(zv)opp.tbggroup(tec)com> - 27.6.2005 07:20:39
Ten emulator by mel jit nastavit tak, aby komunikoval pres ActiveSync. Potom se to tvari jako nornalni Pocket PC.
Jirka
> Ahoj, jde nejak pouzit Pocket PC emulator z VS. Net i na neco
> jineho, nez na programy vytvorene v .NET.
>
> Chtel bych v nem vyzkouset jinou aplikaci, ale nevim jak ji
> tam dostat.
>
> Da se to?
Pouziti TReader
[*] Kalhous <kalhous(zv)eu(tec)cz> - 27.6.2005 06:34:35
Muzete mi nekdo poslat kratickou ukazku pouziti TReader.ReadString? Diky.
Z.Kalhous
ToWare s.r.o.
tel.: 466 614 024
Select
[*] Ing. Pavel Zilinec <pavel.zilinec(zv)seznam(tec)cz> - 27.6.2005 06:00:32
Pro razeni staci pouzit 'order by', co presne je povoleno pouzit pro
FB nevim, ale jeden z tech zpusobu by mel fungovat (pripadne uvest
cele slovo 'descending')
select sum(t1.mno) as pocet, t1.id_dod, max(t2.meno) as Meno
from tabulka1 t1
join tabulka2 t2 on t1.id_dod=t2.id_dod
group by t1.id_dod
order by Pocet desc
order by sum(t1.mno) desc
order by 1 desc
--
ing. Pavel Zilinec
MailTo:pavel.zilinec(zv)seznam(tec)cz
Prog-Soft s.r.o. Plzen
Informacni system pro vyrobce
a distributory napoju
Sunday, June 26, 2005, 11:20:04 PM, bylo napsano:
Ft> D6, FB 1.5
Ft> Riesim select, ktoreho vysledkom bude tabulka obsahujuca
Ft> 1. spocitanie stlpca sum(mno) z 1 tab ma zaklade id_dod,
Ft> 2. zotriedenie DESC a
Ft> 3. doplnenie o meno z druhej tabulky. a id_dod
Ft> Prisiel som na:
Ft> select sum(t1.mno) as pocet, t1.id_key from tabulka1 t1 join tabulka2 t2 on
Ft> t1.id_dod=t2.id_dod group by t1.id_dod
Ft> - toto mi spocita stlpec mno na zaklade id_dodavatela.
Ft> Otazka, ktoru neviem vyriesit je ako doplnit meno a zotriedit to.
Ft> Ked dam
Ft> select sum(t1.mno) as pocet, t1.id_key,t2.meno from tabulka1 t1 join
Ft> tabulka2 t2 on t1.id_dod=t2.id_dod group by t1.id_dod,meno
Ft> //doplnenie stlpca meno do selectku vyzaduje doplnmenie stlpca aj do group
Ft> by, co nechcem a este to neriesi zotriedenie podla vypocitaneho sum(mno)
Ft> Fabik
Select
[*] Fabtech technologies <fabtech(zv)fabtech.sk> - 26.6.2005 23:20:04
D6, FB 1.5
Zdravim,
riesim takyto problem:
mam dve tabulky
1 obsahuje kod,naz,mno,id_dod
2 obsahuje id_dod, meno
Riesim select, ktoreho vysledkom bude tabulka obsahujuca
1. spocitanie stlpca sum(mno) z 1 tab ma zaklade id_dod,
2. zotriedenie DESC a
3. doplnenie o meno z druhej tabulky. a id_dod
Prisiel som na:
select sum(t1.mno) as pocet, t1.id_key from tabulka1 t1 join tabulka2 t2 on
t1.id_dod=t2.id_dod group by t1.id_dod
- toto mi spocita stlpec mno na zaklade id_dodavatela.
Otazka, ktoru neviem vyriesit je ako doplnit meno a zotriedit to.
Ked dam
select sum(t1.mno) as pocet, t1.id_key,t2.meno from tabulka1 t1 join
tabulka2 t2 on t1.id_dod=t2.id_dod group by t1.id_dod,meno
//doplnenie stlpca meno do selectku vyzaduje doplnmenie stlpca aj do group
by, co nechcem a este to neriesi zotriedenie podla vypocitaneho sum(mno)
Dakujem za kazdy nazor.
Fabik
Info o uspesnem sestaveni pripojeni k siti
[*] Pavel Beranek <pavel.0(zv)tiscali(tec)cz> - 26.6.2005 21:01:55
Ahoj,
mohl by mi nekdo poradit, zda po uspesnem pripojeni k siti (internetu),
probehne systemem zprava o jeho sestaveni ?
Potreboval bych ve sve aplikaci, v D7, tuto udalost odchytit a
zareagovat na ni.
Dekuji
Pavel Beranek
FB trigger
[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 26.6.2005 20:13:51
Ahoj,
votavaSW napsal(a):
> vytvorim-li trigger pomoci IBExpert, je vse v poradku, ovsem pokusim-li
> se ho vytvorit pomoci query - execSql, vadi, ze promenna id je null,
u te query komponenty nastav vlastnost PARAMCHECK na hodnotu FALSE.
> vytvorit pomoci batchSql nejde take, protoze zas vadi strednik, ktery
> ukonci prikaz pri prvnim vyskytu, ZBatchSql nebere set term, pouzivam Zeos,
Neznam ZEOS, ale urcite v te skriptove komponente pujde nastavit, co
se ma brat jako terminator (jinak by byla v celku spatne pouzitelna).
Vhodnym nahradnim terminatorem je treba !! (dva vykricniky), nebo ^
(striska).
> s pozdravem Votava
Peca
Zruseni okraju u TFrame
[*] Cizek Milan <cizek.milan(zv)seznam(tec)cz> - 26.6.2005 15:15:31
Ahoj,
Nevite nekdo jestli ej mozne nejak zneviditelnit okraj u TFrame? Mam panel,
kteremu nastavym borderwidth, do nej dynamicky vytvarim Frame,
Align=alClient. Ale pri teto situaci se mi oramuje ten okraj specifikovany v
borderwidth. Pokusma jsem zjistil, ez okraj ma primo Frame - jde to nejak
vypnout? Diky.
S pozdravem Milan Cizek, amatersky programator, D7 Ent
Win2k (SP4) a WinXP, cizek.milan(zv)seznam(tec)cz, ICQ: 59826637
FB trigger
[*] votavaSW <mail(zv)votavasw(tec)com> - 26.6.2005 15:05:30
vytvorim-li trigger pomoci IBExpert, je vse v poradku, ovsem pokusim-li
se ho vytvorit pomoci query - execSql, vadi, ze promenna id je null,
vytvorit pomoci batchSql nejde take, protoze zas vadi strednik, ktery
ukonci prikaz pri prvnim vyskytu, ZBatchSql nebere set term, pouzivam Zeos,
s pozdravem Votava
petr palicka napsal(a):
> Ahoj,
>
> treba takto:
>
> create trigger prijcena
> for prijpol after
> insert or delete or update
> as
> declare variable id integer;
> begin
> id = coalesce (old.iddokl, new.iddokl);
> update prijemka set
> cena = (
> select sum(cenacelkem)
> from prijpol
> where iddokl = :id)
> where
> iddokl = :id;
> end
>
> Peca
>
> PS: pisu to z hlavy, bez ladeni, otestuj sam :o)
>
>
>
>
> .
>
Ciselne rady
[*] Vlastik Bartos <bartos(zv)spsmvbr(tec)cz> - 26.6.2005 14:59:29
Pokud vim, nesmi se ucetni doklady dodatecne mazat, musi se stornovat, v
pripade danovych dokladu dokonce ani storno neni povoleno a musi se
vystavovat danove dobropisy. Je to jedna ze zasad vedeni ucetnictvi. Chytry
ucetni se neplete, aspon ne v zakladni otazce, jestli ma vubec vydat doklad.
Vlastik
> Zdravim, ciste teoreticky by mne zajimalo, co se tyce "der v ciselny
rade",
> jak chcete zajistit, ze takova dira nevznikne po ulozeni dokladu do rady,
> kdy si ucetni vzpomene, ze ten doklad je spatny (vyrobit dobropis?) a
> nezauctovatelny (---). Nahradit ho jinym neni zrovna prilis nejchytrejsi,
> neb vam za nejaky cas budou kolovat papirove doklady se stejnym cislem. Ja
> bych radeji volil kompromis mezi programovou striktnosti zachovani
souvisle
> rady a realitou vsedniho dne. Vedou mne k tomu zkusenosti s ucetnimi z
> jinych podniku, kde odpoved je "Muj ucetni program mi to neumoznuje". Kde
> jde bud o neochotu (nechce se ji) nebo neznalost (prilis slozity program).
>
FB trigger
[*] votavaSW <mail(zv)votavasw(tec)com> - 26.6.2005 13:55:24
to je ono, funguje to beze zmen, diky
petr palicka napsal(a):
> Ahoj,
>
> treba takto:
>
> create trigger prijcena
> for prijpol after
> insert or delete or update
> as
> declare variable id integer;
> begin
> id = coalesce (old.iddokl, new.iddokl);
> update prijemka set
> cena = (
> select sum(cenacelkem)
> from prijpol
> where iddokl = :id)
> where
> iddokl = :id;
> end
>
> Peca
>
> PS: pisu to z hlavy, bez ladeni, otestuj sam :o)
>
>
>
>
> .
>
FB trigger
[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 26.6.2005 13:33:23
Ahoj,
treba takto:
create trigger prijcena
for prijpol after
insert or delete or update
as
declare variable id integer;
begin
id = coalesce (old.iddokl, new.iddokl);
update prijemka set
cena = (
select sum(cenacelkem)
from prijpol
where iddokl = :id)
where
iddokl = :id;
end
Peca
PS: pisu to z hlavy, bez ladeni, otestuj sam :o)
FB trigger
[*] Kalhous <kalhous(zv)eu(tec)cz> - 26.6.2005 13:31:22
To asi opravdu nejde. Leda by bylo mozne rozlisit uvnitr triggeru zda byl
volan volan pro DELETE, UPDATE nebo INSERT ale o tom nevim. Pouzitelnost OLD
a NEW zavisi na typu triggeru a zpusob jejich aplikovatelnosti na
BEFORE/AFTER zhruba takto:
DELETE trigger zna pouze hodnoty OLD (NEW hodnoty celkem prirozene
neexistuji).
INSERT triggery znaji pouze hodnoty NEW (zde naopak stejne prirozene
neexistuji hodnoty OLD)
UPDATE triggery znaji jak OLD tak NEW
Zpusob zmeny hodnoty NEW (coz je v tomto konkretnim pripade nezajimave
protoze se meni hodnota v jine tabulce) navic u triggeru UPDATE a INSERT
zavisi na BEFORE/AFTER:
BEFORE - staci dosazeni NEW.sloupec=hodnota
AFTER - je nutno pouzit UPDATE .. SET sloupec=pozadovana_new_hodnota WHERE
ID=NEW.ID
v podstate proto, ze zaznam uz je zapsany a zmena NEW.sloupec=hodnota nema
efekt.
Tedy lze napsat jeden trigger pro UPDATE a INSERT (s pouzitim NEW), pro
DELETE bude asi opravdu nutne napsat samostatny trigger s OLD. Ostatne by
mozna bylo zajimavejsi napsat samostatne triggery i pro UPDATE a DELETE a
nescitat v nich vsechny PRIJPOL nybrz menit PRIJEMKA.CENA jen o diferenci v
PRIJPOL. Cili v UPDATE triggeru
update prijemka set cena=cena+(NEW.cenacelkem-OLD.cenacelkem)
a v INSERT triggeru
update prijemka set cena=cena+NEW.cenacelkem
Zvazte totiz, jak se souctovani bude chovat vzhledem k transakcim a pro
vetsi pocet zaznamu v PRIJPOL. A take by nebylo od veci podminit akci
triggeru tim, ze doslo ke zmene ceny v PRIJPOL. Proc prepocitavat cenu
prijemky kdyz se v polozce zmeni treba jen komentar.
> snazim se udelat trigger, ktery pri zmene zaznamu polozek dokladu secte
> a zapise soucet do hlavicky dokl.,
> create trigger prijcena for prijpol after insert or delete or update as
> begin
> update prijemka set cena=(select sum(cenacelkem) from prijpol where
> iddokl=old.iddokl) where iddokl=old.iddokl;
> end
>
> sloupce old funguji pouze pro udalost delete, sloupce new zase pouze pro
> insert a update, nez vytvorim trigger pro delete zvlast, poradte prosim
> jak, napsat konstr. triggeru.
FB trigger
[*] votavaSW <mail(zv)votavasw(tec)com> - 26.6.2005 12:49:18
dobry den,
snazim se udelat trigger, ktery pri zmene zaznamu polozek dokladu secte
a zapise soucet do hlavicky dokl.,
create trigger prijcena for prijpol after insert or delete or update as
begin
update prijemka set cena=(select sum(cenacelkem) from prijpol where
iddokl=old.iddokl) where iddokl=old.iddokl;
end
sloupce old funguji pouze pro udalost delete, sloupce new zase pouze pro
insert a update, nez vytvorim trigger pro delete zvlast, poradte prosim
jak, napsat konstr. triggeru.
s pozdravem Votava D5Pro, WXPPro FB1.5
Ciselne rady
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 26.6.2005 12:33:17
26.6.2005 Roman Bradac:
> Zdravim, ciste teoreticky by mne zajimalo, co se tyce "der v ciselny rade",
> jak chcete zajistit, ze takova dira nevznikne po ulozeni dokladu do rady,
> kdy si ucetni vzpomene, ze ten doklad je spatny (vyrobit dobropis?) a
> nezauctovatelny (---). Nahradit ho jinym neni zrovna prilis nejchytrejsi,
> neb vam za nejaky cas budou kolovat papirove doklady se stejnym cislem. Ja
> bych radeji volil kompromis mezi programovou striktnosti zachovani souvisle
> rady a realitou vsedniho dne. Vedou mne k tomu zkusenosti s ucetnimi z
> jinych podniku, kde odpoved je "Muj ucetni program mi to neumoznuje". Kde
> jde bud o neochotu (nechce se ji) nebo neznalost (prilis slozity program).
Pokud je vystaveny danovy doklad, mel by k nemu vzniknout dobropis
jako novy danovy doklad, tedy ne mazanim puvodniho dokladu.
Pokud jeste doklad nebyl odeslany, muze byt moznost doklad primo
opravit.
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
Ciselne rady
[*] Roman Bradac <roman.bradac(zv)fotoinfo(tec)cz> - 26.6.2005 10:47:10
Zdravim, ciste teoreticky by mne zajimalo, co se tyce "der v ciselny rade",
jak chcete zajistit, ze takova dira nevznikne po ulozeni dokladu do rady,
kdy si ucetni vzpomene, ze ten doklad je spatny (vyrobit dobropis?) a
nezauctovatelny (---). Nahradit ho jinym neni zrovna prilis nejchytrejsi,
neb vam za nejaky cas budou kolovat papirove doklady se stejnym cislem. Ja
bych radeji volil kompromis mezi programovou striktnosti zachovani souvisle
rady a realitou vsedniho dne. Vedou mne k tomu zkusenosti s ucetnimi z
jinych podniku, kde odpoved je "Muj ucetni program mi to neumoznuje". Kde
jde bud o neochotu (nechce se ji) nebo neznalost (prilis slozity program).
> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Martin Nedopil
> Sent: Friday, June 24, 2005 2:53 PM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Ciselne rady
>
> Ahoj vsichni,
>
> mel bych jednu vikendovou otazku k zamysleni....
> a zajima mne vas nazor:
>
> Nejaky informacni system, generovani dokladu, kazdy sada
> dokladu jina ciselna rada zacinajici nejakym
> prefixem.....napriklad faktury
>
> Priklad..:
>
> faktury vydane rok 2005 zacinaji napr. "FV05-............"
> faktury zalohove rok 2005 zacinaji napr. "FZ05-.........."
>
> a ted otazka....
>
> Jak zajistit postupujici ciselnou radu, rekneme, ze uzivatel
> jen zada prefix a program mu sam doplni nejvyssi nasledujici
> cislo. Jak zajistit, aby nebyla v systemu pridelena dve cisla
> (aby to nedalo PRIMARY KEY VIOLATION) a jak zajistit, aby v
> systemu nevznikaly diry.
> Zajimaji mne vase oblibene postupy jak pro FB tak i MS-SQL
> (nebo jina obecna reseni).
>
> Ja zatim medituji nad ruznou urovni izolace u transakci s
> ukladanim do specialni tabulky, ktera ma strukturu
> "prefix-posledni hodnota" a nad generatory. Uz jsem par
> "profi" reseni i videl, ale pripadaji mi tak tezkopadna, ze
> se az divim, jak mohou fungovat (no, nefunguji, protoze jsem
> u nich narazil na problem).
>
> Martin
>
>
>
>
>
>
>
>
Ovladani Windows Media Playeru
[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 26.6.2005 00:03:47
Joan Arc wrote (on Saturday, June 25, 2005 11:52 PM):
> Ahoj,
>
> je nejaka moznost, jak ovladat z externiho programu Windows Media Player?
> Proste potrebuji do sveho programu zapracovat tlacitka na ovladani
> playeru (prev, play, pause, next) a hlasitosti ale potrebuji, aby se to
> provadelo ve spustenem WMP.
Pokud jde jen o to to ovladat, lze to lehce udelat pres COM.
--
Jiri Cincura
http://www.ID3renamer.com/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/
Ovladani Windows Media Playeru
[*] Joan Arc <johanka.arkova(zv)pnws.org> - 25.6.2005 23:51:46
Ahoj,
je nejaka moznost, jak ovladat z externiho programu Windows Media
Player? Proste potrebuji do sveho programu zapracovat tlacitka na
ovladani playeru (prev, play, pause, next) a hlasitosti ale potrebuji,
aby se to provadelo ve spustenem WMP.
Diky
Johanka
Automaticke generovani stupnice grafu
[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 25.6.2005 15:43:12
Ahoj vespolek,
potreboval bych poradit s algoritmem pro automaticke generovani stupnice
grafu. Mam k dispozici pole realnych cisel (n hodnot v rozmezi Rmin <= Rmax,
Rmin i Rmax muze byt zaporne) a rozmer stupnice v pixelech. Jde o to, jak
urcit zacatek a krok stupnice, aby to bylo "hezke" :-)) Chytrejsi termin me
nenapada, snad priklad: Rmin = 1.0123, Rmax = 1.0135, delka stupnice 1000
pixelu. Intuitivni reseni: zacatek stupnice = 1.0120, konec 1.0140, krok
0.002.
Uvitam i odkaz na stranky, kde se uvedena problematika resi, sam nejak
nemohu nic vygooglovat.
Diky
Jiri Foldyna
OT: Pocket PC emulator ve VS .NET
[*] Dalibor <dalibor(zv)torola(tec)cz> - 25.6.2005 14:05:05
Ahoj, jde nejak pouzit Pocket PC emulator z VS. Net i na neco jineho, nez na
programy vytvorene v .NET.
Chtel bych v nem vyzkouset jinou aplikaci, ale nevim jak ji tam dostat.
Da se to?
Dekuji
Ciselne rady
[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 24.6.2005 17:33:38
MS-SQL, tabulka LAST ma jeden radek za rok, sloupce rok, cislo (= tvuj
prefix,posledni hodnota)
U tabulky KMEN je IDENTITY ON
Klic pro lidi je odvozen od prefixu (zde rok, plus co chces) a prideleneho
cisla, nikoli od id.
Diry by vznikly jen kdyby se skrtalo, ale do pece se hazi jen cela kniha,
listy se netrhaji, ze...
CREATE PROCEDURE NewRecord
(
(zv)id INTEGER OUTPUT,
(zv)kdy CHAR(14) -- z Delphi FormatDateTime("RRRRMMDDHHNNSS",now())
--- mnoho dalsich parametru, ktere zde nehraji roli
)
AS BEGIN
DECLARE (zv)rok CHAR(4), (zv)cislo INTEGER
BEGIN TRANSACTION NewRecord
SELECT (zv)rok=SUBSTRING((zv)kdy,1,4)
SELECT (zv)cislo=cislo FROM last (TABLOCKX) WHERE rok=(zv)rok -- ten Outlook
je blbec
IF (zv)cislo IS NULL BEGIN -- novy rok
SELECT (zv)cislo=1
INSERT INTO last (rok,cislo) VALUES ((zv)rok,(zv)cislo)
END ELSE BEGIN
SELECT (zv)cislo=(zv)cislo+1
UPDATE last SET cislo=(zv)cislo WHERE rok=(zv)rok
END
INSERT INTO kmen (...) VALUES (...(zv)rok,(zv)cislo,(zv)kdy,....)
SELECT (zv)id=(zv)(zv)IDENTITY
COMMIT TRANSACTION NewRecord
-- pak je toho tady jeste spousta, ale to uz je jedno, veta byla zalozena,
id mame
END
GO
Pripada ti to tezkopadne? Na to jak je SQL ukecany... Navrhni kratsi kod,
rad se ucim ;-)
Jarda
----- Original Message -----
From: "Martin Nedopil" <martin.nedopil(zv)hon(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, June 24, 2005 2:53 PM
Subject: Ciselne rady
> Ahoj vsichni,
>
> mel bych jednu vikendovou otazku k zamysleni....
> a zajima mne vas nazor:
>
> Nejaky informacni system, generovani dokladu,
> kazdy sada dokladu jina ciselna rada zacinajici
> nejakym prefixem.....napriklad faktury
>
> Priklad..:
>
> faktury vydane rok 2005 zacinaji napr. "FV05-............"
> faktury zalohove rok 2005 zacinaji napr. "FZ05-.........."
>
> a ted otazka....
>
> Jak zajistit postupujici ciselnou radu, rekneme, ze uzivatel
> jen zada prefix a program mu sam doplni nejvyssi nasledujici
> cislo. Jak zajistit, aby nebyla v systemu pridelena dve cisla
> (aby to nedalo PRIMARY KEY VIOLATION) a jak zajistit, aby
> v systemu nevznikaly diry.
> Zajimaji mne vase oblibene postupy jak pro FB tak i MS-SQL
> (nebo jina obecna reseni).
>
> Ja zatim medituji nad ruznou urovni izolace u transakci s ukladanim
> do specialni tabulky, ktera ma strukturu "prefix-posledni hodnota" a
> nad generatory. Uz jsem par "profi" reseni i videl, ale pripadaji mi
> tak tezkopadna, ze se az divim, jak mohou fungovat (no, nefunguji,
> protoze jsem u nich narazil na problem).
>
> Martin
>
>
>
>
>
>
>
Ciselne rady
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 24.6.2005 16:59:36
24.6.2005 Martin Nedopil:
>> o cislo faktury si zazadas az v okamziku jejiho zapisu (ne, kdyz
>> zenska zacne porizovat). Soucasne se zadosti incrementujes ciselnou
>> radu. To probehne v transakci, takze nebude dochazet ke zdvojeni, ani
>> k diram v ciselne rade. To se tyka automatickeho cislovani.
> Hm, a co kdyz bude v transakci o ktere pises rollback ?
Pokud tam bude rollback, tak se neposune ani cislo v ciselne rade.
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
Ciselne rady
[*] Karel Kral <kralkonf(zv)purusmeda(tec)cz> - 24.6.2005 16:31:31
Od toho je transakce, ne? Nic se neprovede - data se neulozi, cislo se
nezvysi.
Martin Nedopil napsal(a):
>
> Hm, a co kdyz bude v transakci o ktere pises rollback ?
>
> Martin
>
>
>
>
>
>
>
>
>
--
______________________________________________________
Karel Kral, reditel IT / IT manager
PURUS-MEDA, s.r.o., Palackeho 174, 621 00 Brno, CZ
E-Mail: kral(zv)purusmeda(tec)cz
______________________________________________________
Ciselne rady
[*] Karel Kral <kralkonf(zv)purusmeda(tec)cz> - 24.6.2005 16:27:31
To uz se tady diskutovalo mnohokrat. Ciselnou radu bez der dostanes
pouze tehdy, kdyz k tabulce citacu (viz. Jan Fiala) budes pristupovat na
urovni transakce serializable. Coz je potencionalni vykonove slabe misto
aplikace. Ale nam to nevadi - radeji mame souvislou radu ;))
Jan Fiala napsal(a):
> 24.6.2005 Martin Nedopil:
>
>
>>faktury vydane rok 2005 zacinaji napr. "FV05-............"
>>faktury zalohove rok 2005 zacinaji napr. "FZ05-.........."
>
>
>>a ted otazka....
>
>
>>Jak zajistit postupujici ciselnou radu, rekneme, ze uzivatel
>>jen zada prefix a program mu sam doplni nejvyssi nasledujici
>>cislo. Jak zajistit, aby nebyla v systemu pridelena dve cisla
>>(aby to nedalo PRIMARY KEY VIOLATION) a jak zajistit, aby
>>v systemu nevznikaly diry.
>>Zajimaji mne vase oblibene postupy jak pro FB tak i MS-SQL
>>(nebo jina obecna reseni).
>
>
> Tabulka se strukturou:
> TypFaktury char(4)
> CisloFaktury Integer
> Takze jednoduse ziskas cislo na zaklade prefixu. Urcite nedelej cele
> cislo jako retezec.
>
--
______________________________________________________
Karel Kral, reditel IT / IT manager
PURUS-MEDA, s.r.o., Palackeho 174, 621 00 Brno, CZ
E-Mail: kral(zv)purusmeda(tec)cz
______________________________________________________
Ciselne rady
[*] Martin Nedopil <martin.nedopil(zv)hon(tec)cz> - 24.6.2005 15:59:29
> o cislo faktury si zazadas az v okamziku jejiho zapisu (ne, kdyz
> zenska zacne porizovat). Soucasne se zadosti incrementujes ciselnou
> radu. To probehne v transakci, takze nebude dochazet ke zdvojeni, ani
> k diram v ciselne rade. To se tyka automatickeho cislovani.
Hm, a co kdyz bude v transakci o ktere pises rollback ?
Martin
U komponenty Label nefunguje vlastnost Layout
[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 24.6.2005 15:49:28
> U komponenty Label mne nefunguje vlastnost Layout. V editacnim rezimu se
> pozice labelu meni podle zvolene hodnoty, po prelozeni je ale bez ohledu
> na nastavenou hodnotu trvale v pozici Top.
Ahoj,
uz mam sjete Delphi, ale na prvni pohled me napada, jestli jsi
nezapomnel vypnout AutoSize.
David Lebeda
Ciselne rady
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 24.6.2005 15:47:28
24.6.2005 Martin Nedopil:
> faktury vydane rok 2005 zacinaji napr. "FV05-............"
> faktury zalohove rok 2005 zacinaji napr. "FZ05-.........."
> a ted otazka....
> Jak zajistit postupujici ciselnou radu, rekneme, ze uzivatel
> jen zada prefix a program mu sam doplni nejvyssi nasledujici
> cislo. Jak zajistit, aby nebyla v systemu pridelena dve cisla
> (aby to nedalo PRIMARY KEY VIOLATION) a jak zajistit, aby
> v systemu nevznikaly diry.
> Zajimaji mne vase oblibene postupy jak pro FB tak i MS-SQL
> (nebo jina obecna reseni).
Tabulka se strukturou:
TypFaktury char(4)
CisloFaktury Integer
Takze jednoduse ziskas cislo na zaklade prefixu. Urcite nedelej cele
cislo jako retezec.
o cislo faktury si zazadas az v okamziku jejiho zapisu (ne, kdyz
zenska zacne porizovat). Soucasne se zadosti incrementujes ciselnou
radu. To probehne v transakci, takze nebude dochazet ke zdvojeni, ani
k diram v ciselne rade. To se tyka automatickeho cislovani.
Pokud mas rucni cislovani, ktere obsluha zadava pri porizeni rucne
nezbude ti pred zapisem nic jineho, nez existenci cisla zkontrolovat,
oznamit obsluze, ze cislo je jiz obsazeno, at si zada jine, popr. ji
nabidnes nejblizsi volne cislo. Zbytek je stejny jako predchozi
pripad.
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
OT - nabidka prace
[*] Daniel Frantik <frantik(zv)telpro(tec)cz> - 24.6.2005 15:07:25
Firma zabyvajici se vyvojem sw aplikaci pro telekomunikacni a burzovni
trhy hleda zamestnance na pozici programatora. Pozadujeme zkusenosti s
programovanim v C# pripadne Delphi. Nutna znalost SQL databazi (nejlepe
MS SQL nebo Oracle).
Vyhodou je prace v mensim kolektivu, v prijemnem prostredi, 20 minut od
centra Prahy, ale vhodne i pro externi spolupraci pro mimoprazske. Mozne
i jako dlouhodoba studentska brigada.
Sve zivotopisy posilejte na adresu budska(zv)telpro(tec)cz , nikoliv do
konference.
Soukrome otazky pripadne na muj mail ...
Danik
Ciselne rady
[*] Martin Nedopil <martin.nedopil(zv)hon(tec)cz> - 24.6.2005 14:53:24
Ahoj vsichni,
mel bych jednu vikendovou otazku k zamysleni....
a zajima mne vas nazor:
Nejaky informacni system, generovani dokladu,
kazdy sada dokladu jina ciselna rada zacinajici
nejakym prefixem.....napriklad faktury
Priklad..:
faktury vydane rok 2005 zacinaji napr. "FV05-............"
faktury zalohove rok 2005 zacinaji napr. "FZ05-.........."
a ted otazka....
Jak zajistit postupujici ciselnou radu, rekneme, ze uzivatel
jen zada prefix a program mu sam doplni nejvyssi nasledujici
cislo. Jak zajistit, aby nebyla v systemu pridelena dve cisla
(aby to nedalo PRIMARY KEY VIOLATION) a jak zajistit, aby
v systemu nevznikaly diry.
Zajimaji mne vase oblibene postupy jak pro FB tak i MS-SQL
(nebo jina obecna reseni).
Ja zatim medituji nad ruznou urovni izolace u transakci s ukladanim
do specialni tabulky, ktera ma strukturu "prefix-posledni hodnota" a
nad generatory. Uz jsem par "profi" reseni i videl, ale pripadaji mi
tak tezkopadna, ze se az divim, jak mohou fungovat (no, nefunguji,
protoze jsem u nich narazil na problem).
Martin
U komponenty Label nefunguje vlastnost Layout
[*] Hovat <hovat(zv)pcservis(tec)cz> - 24.6.2005 12:15:13
U komponenty Label mne nefunguje vlastnost Layout. V editacnim rezimu se
pozice labelu meni podle zvolene hodnoty, po prelozeni je ale bez ohledu
na nastavenou hodnotu trvale v pozici Top.
Uzivam D7P.
Diky,
Pavel HOVAT
PC servis
Hudcova 76
612 00 BRNO
ICO : 105 43384
DIC : CZ450706457
tel : 541 213 196
fax : 541 244 056
Chyba funkce RtlTraceDatabaseEnumerate
[*] ZdeHar <zharinger(zv)seznam(tec)cz> - 24.6.2005 10:53:07
Ahoj vsem,
potreboval bych poradit neb nevim co dal. Mam aplikaci vytvorenou v D5 napojenou na MSSQL 2000, ktera beha na stovce pocitacu bez problemu. Na jednom pocitaci s Win 2000 vsak pri nabehu spadne a DrWatson hlasi nasledujici chybu. Na internetu jsem nalezl nekolik podobnych dotazu, ale bohuzel zadnou konkretni odpoved. Neresil jste uz nekdo nekdy podobny problem?
funkce: RtlTraceDatabaseEnumerate
77fb1b07 e94e51feff jmp NtSetIoCompletion+0x235 (77f96c5a)
77fb1b0c 48 dec eax
77fb1b0d 7422 jz RtlConvertUlongToLargeInteger+0x55c (77fbe231)
77fb1b0f c745a0260000c0 ss:00999a56=7469736f
mov dword ptr [ebp+0xa0],0xc0000026
77fb1b16 8d45a0 lea eax,[ebp+0xa0] ss:00999a56=7469736f
77fb1b19 c745a401000000 mov dword ptr [ebp+0xa4],0x1 ss:00999a56=7469736f
77fb1b20 50 push eax
77fb1b21 8975a8 mov [ebp+0xa8],esi ss:00999a56=7469736f
77fb1b24 894db0 mov [ebp+0xb0],ecx ss:00999a56=7469736f
77fb1b27 e8ecf8ffff call RtlRaiseException (77fb1418)
CHYBA ->77fb1b2c e93c51feff jmp NtSetIoCompletion+0x248 (77f96c6d)
77fb1b31 8b45f0 mov eax,[ebp+0xf0] ss:00999a56=7469736f
77fb1b34 834e0410 or dword ptr [esi+0x4],0x10 ds:00999a6e=69560779
77fb1b38 3b45fc cmp eax,[ebp+0xfc] ss:00999a56=7469736f
77fb1b3b 0f862c51feff jbe NtSetIoCompletion+0x248 (77f96c6d)
77fb1b41 8945fc mov [ebp+0xfc],eax ss:00999a56=7469736f
77fb1b44 e92451feff jmp NtSetIoCompletion+0x248 (77f96c6d)
77fb1b49 c745a0250000c0 ss:00999a56=7469736f
mov dword ptr [ebp+0xa0],0xc0000025
77fb1b50 ebc4 jmp splitpath+0x152 (77fb9f16)
77fb1b52 834e0408 or dword ptr [esi+0x4],0x8 ds:00999a6e=69560779
77fb1b56 e91951feff jmp NtSetIoCompletion+0x24f (77f96c74)
77fb1b5b 834e0406 or dword ptr [esi+0x4],0x6 ds:00999a6e=69560779
Nacteni JPG do TJpegImages pres stream
[*] Daniel Jirasek - InterSHOP <inter-shop(zv)inter-shop(tec)cz> - 24.6.2005 10:51:07
Moc dik,
Uz to chodi.....
Dan
-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Karel Pecinka
Sent: Friday, June 24, 2005 10:09 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Nacteni JPG do TJpegImages pres stream
Musis nastavit Position na 0.
XStream:= TMemoryStream.Create;
try
XStream.LoadFromFile('c:\jpg.jpg');
XStream.Position := 0;
JPG.LoadFromStream(Stream);
finally
XStream.Free;
end;
A nakonec samozrejme pres Assign priradit do Bitmapy.
Karel
> Naplneni streamu..
>
> JPG.LOadFromStream(Stream); tady se nic
> nezkopiruje, ten JPG je porad prazdny
>
OT: Komercni vyuziti webovych sluzeb
[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 24.6.2005 10:41:05
Zdravim vsechny!
Nevim jestli to je primo OT, ale presto.
Mozna, ze nekdo z vas uz ma nejake zkusenosti s "psanim" webovych sluzeb.
Nejde mi to jak a v cem je psat, ale o to, jak je nabidnout k pouziti
ostatnim.
Chci se zeptat na zpoplatneni pouziti webovych sluzeb, jake jsou principy,
mate nekdo primo zkusenosti z praxe?
Jsou nekde na webu odkazy "jak na to"?
Ing. Igor Vodicka
informacni systemy
Nakladatelstvi Sagit
Tel.: 59 6786 001
HTTP://www.sagit(tec)cz/
CP870 -> CP852
[*] Milan Kajnar <mkajnar(zv)mikesoft(tec)cz> - 24.6.2005 10:21:04
Ahoj...
No asi nemame tabulku, ale mame funci co to udela sama... :) Milan
Implementoval jsem to ve sve DLL a je to funkcni, autora neznam...
Priklad uziti:
var Text: string;
begin
Text := 'zde si nastav co potrebujes sam, do konference se nepise s
diakritikou i kdyz to je o ni.... :)';
if CpConvertTextData(Text, SrcCp, DstCp) then Showmessage('Converted');
.....
BEGIN COPY
function CpConvertTextData(var Text: string; SrcCp, DstCp: Longint):
Boolean;
var WideBuf, pwb: PWideChar;
AnsiBuf: PChar;
SrcSize, WideSize, WideLength, ECode, AnsiSize, AnsiLength: Longint;
label _SysFail;
begin
if (SrcCp = DstCp)
or (Text = '')
then begin
Result := True;
exit;
end;
//
SrcSize := Length(Text);
if (SrcCp = 1200) then
WideSize := SrcSize
else
if (SrcSize > 65536) then begin
// Pre-compute the size to spare required memory:
WideSize := MultiByteToWideChar(SrcCp, 0, PChar(Text), SrcSize, nil,
0) shl 1;
if (WideSize = 0) then begin
Result := False;
exit;
end;
end else begin
// Assume 2* size:
WideSize := SrcSize * 2;
end;
//
try
WideBuf := AllocMem(WideSize + 4);
except
SetLastError(ERROR_OUTOFMEMORY);
Result := False;
exit;
end;
//
AnsiBuf := nil;
ECode := 0;
try
if (SrcCp = 1200) then begin
// Already in unicode:
Move(Pointer(Text)^, WideBuf^, SrcSize);
WideLength := SrcSize;
end else begin
// Convert to Unicode:
WideLength := MultiByteToWideChar(SrcCp, 0, PChar(Text), SrcSize,
WideBuf, (WideSize + 2) shr 1) shl 1;
if (WideLength = 0) then begin
_SysFail:
ECode := GetLastError;
Result := False;
exit;
end;
end;
//
if (DstCp <> 1200) then begin
// Convert from Unicode:
// Compute required size:
AnsiSize := WideCharToMultiByte(DstCp, 0, WideBuf, WideLength shr 1,
nil, 0, nil, nil);
if (AnsiSize = 0) then begin
//ECode:=GetLastError; Result:=False; exit;
goto _SysFail;
end;
try
AnsiBuf := AllocMem(AnsiSize + 4);
except
ECode := ERROR_OUTOFMEMORY;
Result := False;
exit;
end;
//
AnsiLength := WideCharToMultiByte(DstCp, 0, WideBuf, WideLength shr 1,
AnsiBuf, AnsiSize + 2, nil, nil);
//
if (AnsiLength = 0) then begin
//ECode:=GetLastError; Result:=False; exit;
goto _SysFail;
end;
// Check, if something changed:
if (AnsiLength <> Length(Text))
or not CompareMem(Pointer(Text), AnsiBuf, AnsiLength)
then begin
// Free wide-buf before allocating target Text...
pwb := WideBuf;
WideBuf := nil;
FreeMem(pwb);
//
SetString(Text, AnsiBuf, AnsiLength);
end;
Result := True;
end else begin
// Already in unicode...
SetString(Text, PChar(Pointer(WideBuf)), WideLength);
Result := True;
end;
finally
if (AnsiBuf <> nil) then
FreeMem(AnsiBuf);
if (WideBuf <> nil) then
FreeMem(WideBuf);
if (ECode <> 0) then
SetLastError(ECode);
end;
end;
END COPY
zmena formatu DBF databaze a nemoznost zpetneho na
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 24.6.2005 10:13:03
24.6.2005 Ing. Pavel Spisar:
> Dostal jsem mimo konferenci radu jak na to (zatim se to jevi jako uspesna rada):
> pomaha nastaveni v BDE Administrator - zalozka
> CONFIGURATION/CONFIGURATION/DRIVERS/NATIVE/DBASE a tam polozka LEVEL -
> uzivatel dal Level=5 a zatim to beha
> Podle mne to lze to meni i v registrech, ale rad bych dostal
> potvrzujici informaci, ze tomu tak je.
> Otazka je tedy, lze zmenu provedenou v registrech povazovat za dostatecnou?
> Mel bych tedy pred kazdym zapisem, otevrenim, mazanim a pod. kontrolovat nastaveni?
> Lze to povesit na nejakou udalost (BeforeEdit, ci neco podobneho)?
Jde to menit programove, ale pouze pred spustenim BDE, takze hned pri
startu programu a nesmi byt zapomenuta otevrena tabulka v design time.
Stahni si unitu "unDBCfg" z http://www.volny(tec)cz/jan.fiala
Umoznuje precist i nastavovat BDE primo z programu
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
Nacteni JPG do TJpegImages pres stream
[*] Karel Pecinka <k.pecinka(zv)seznam(tec)cz> - 24.6.2005 10:09:02
Musis nastavit Position na 0.
XStream:= TMemoryStream.Create;
try
XStream.LoadFromFile('c:\jpg.jpg');
XStream.Position := 0;
JPG.LoadFromStream(Stream);
finally
XStream.Free;
end;
A nakonec samozrejme pres Assign priradit do Bitmapy.
Karel
> Naplneni streamu..
>
> JPG.LOadFromStream(Stream); tady se nic
> nezkopiruje, ten JPG je porad prazdny
>
Nacteni JPG do TJpegImages pres stream
[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 24.6.2005 10:07:02
Daniel Jirasek - InterSHOP wrote:
> Stream: TMemoryStream
> JPG: TJPegImages
>
> JPG:= TJpegImages.Create;
>
> Stream:= TMemoryStream.Create;
>
> Naplneni streamu..
>
tady zrejme chybi:
Stream.Position := 0;
> JPG.LOadFromStream(Stream);
> tady se nic nezkopiruje, ten JPG je porad prazdny
Martin Schayna
zmena formatu DBF databaze a nemoznost zpetneho na
[*] Ing. Pavel Spisar <pajastudio(zv)wo(tec)cz> - 24.6.2005 10:03:01
Dostal jsem mimo konferenci radu jak na to (zatim se to jevi jako uspesna rada):
pomaha nastaveni v BDE Administrator - zalozka
CONFIGURATION/CONFIGURATION/DRIVERS/NATIVE/DBASE a tam polozka LEVEL -
uzivatel dal Level=5 a zatim to beha
Podle mne to lze to meni i v registrech, ale rad bych dostal potvrzujici informaci, ze tomu tak je.
Otazka je tedy, lze zmenu provedenou v registrech povazovat za dostatecnou?
Mel bych tedy pred kazdym zapisem, otevrenim, mazanim a pod. kontrolovat nastaveni?
Lze to povesit na nejakou udalost (BeforeEdit, ci neco podobneho)?
----- Original Message -----
> Dobry den,
> dokaze mi nekdo pomoci s problemem, ktery ma mnoho uzivatelu mych aplikaci, ktere vyuzivaji BDE pristup
> do databazi DBF. Mam Dephi 3 a DBF databaze se tvori jako dBase III.
> U uzivatelu se automaticky zmeni na Visual dBase 7 a pri otevirani se objevi hlaska "Corrupt table/index header"
> a pote jiz nelze s databazi pracovat. Mam dojem ze v Delphi 5 jiz problem neni, ale nejsem schopen to overit.
Nacteni JPG do TJpegImages pres stream
[*] Daniel Jirasek - InterSHOP <inter-shop(zv)inter-shop(tec)cz> - 24.6.2005 09:55:00
Zdravim,
nevite nekdo v cem delam chybu, mam memorystream, ktery naplnim JPG
obrazkem,
a pokud pak provedu nacteni streamu do TJpegImage pres metodu
LoadFromStream,
tak se me ten JPG obrazek nezkopiruje.
Delam to takto:
Stream: TMemoryStream
JPG: TJPegImages
JPG:= TJpegImages.Create;
XStream:= TMemoryStream.Create;
Naplneni streamu..
JPG.LOadFromStream(Stream); tady se nic
nezkopiruje, ten JPG je porad prazdny
Ale pokud udelam toto:
Stream.SaveToFile(,c:\test.jpg'); tak toto se
provede a ulozi me to JPG na disk C
V cem delam chybu????
Dik Dan
CP870 -> CP852
[*] Letal Integrodat <letal(zv)integrodat(tec)cz> - 24.6.2005 01:22:22
zdravim,
nemate prevodni tabulku pro prevod textu
ze CP 870 [IBM EBCDIC - Multilingual/ROECE (Latin-2)]
do CP852 [OEM - Latin II]
diky
mil
zmena formatu DBF databaze a nemoznost zpetneho na
[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 23.6.2005 19:59:59
23.6.2005 Ing. Pavel Spisar:
> Dobry den,
> dokaze mi nekdo pomoci s problemem, ktery ma mnoho uzivatelu mych
> aplikaci, ktere vyuzivaji BDE pristup
> do databazi DBF. Mam Dephi 3 a DBF databaze se tvori jako dBase III.
> U uzivatelu se automaticky zmeni na Visual dBase 7 a pri
> otevirani se objevi hlaska "Corrupt table/index header"
> a pote jiz nelze s databazi pracovat. Mam dojem ze v Delphi 5 jiz
> problem neni, ale nejsem schopen to overit.
> Existuje na to nejaka zaplata, ci se nejak musi v systemu BDE
> nastavit, ale jak, nebot u mne na PC, kde mam Delphi 3,
> v BDE Administratorovi nic nevidim, netvrdim, ze to tam neni.
Zkusit nainstalovat novejsi verzi BDE, ktere jizma podporu VFP7. V
dobe D3 urcite VFP7 neexistovalo.
Dalsi moznosti je pristupovat k databazi pres ODBC
--
Jan Fiala
mailto:jan.fiala(zv)wo(tec)cz
zmena formatu DBF databaze a nemoznost zpetneho na
[*] Ing. Pavel Spisar <pajastudio(zv)wo(tec)cz> - 23.6.2005 16:39:45
Dobry den,
dokaze mi nekdo pomoci s problemem, ktery ma mnoho uzivatelu mych aplikaci, ktere vyuzivaji BDE pristup
do databazi DBF. Mam Dephi 3 a DBF databaze se tvori jako dBase III.
U uzivatelu se automaticky zmeni na Visual dBase 7 a pri otevirani se objevi hlaska "Corrupt table/index header"
a pote jiz nelze s databazi pracovat. Mam dojem ze v Delphi 5 jiz problem neni, ale nejsem schopen to overit.
Existuje na to nejaka zaplata, ci se nejak musi v systemu BDE nastavit, ale jak, nebot u mne na PC, kde mam Delphi 3,
v BDE Administratorovi nic nevidim, netvrdim, ze to tam neni.
Dekuji za jakoukoliv pomoc,
Spisar Pavel, naprosty amater
Console aplikace s GUI dohromady
[*] Milan Kra'ta <krata.milan(zv)seznam(tec)cz> - 23.6.2005 15:25:40
> Je vubec teoreticky mozne napsat aplikaci
> ktera by se sama behem behu rozhodla zda bude typu console nebo GUI?
Je to mozne a tim jak se spusti se urci jestli je to instalace/odinstalace/spusteni/zastaveni sluzby nebo normalni spusteni programu. S uspechem na to pouzivam knihovnu ze stranek http://users.pandora.be/sonal.nv/ . Je to udelano tim stylem ze do hotove aplikace pridate tuto knihovnu a trochu upravite dpr soubor a vse maka jak servisne tak normalnim spustenim. Jedine na co je potreba si dat pozor je pristup do registru protoze kdyz je spusten jako servis tak je prihlasen jako LocalSystem ale lze to prenastavit. Druha vec je ukonceni aplikace. Prikaz "Close" korekne funguje jen pri "normalnim behu" a pri "servisnim behu" je treba poslat zpravu WMQuit.
Milan
komponenta na zobrazovanie tabulkovych, formularov
[*] horky(zv)cominn(tec)cz - 23.6.2005 15:23:40
> From: brano [mailto:odber(zv)centrum.sk]
> Sent: Thursday, June 23, 2005 2:46 PM
>
> poradte, prosim, nejaku free komponentu alebo sposob na zobrazenie
> udajov vo forme lubovolne nadefinovanej tabulky, alebo formulara.
Tve pozadavky, krome jednoho, asi splnuje TMS AdvStringGrid, viz. http://www.tmssoftware.com
Nesplnuje ale podminku free. Jestli nejakou free sezenes, dej vedet, ale pujde to tezko ...
--
S pozdravem Karel Horky, D7, FB 1.5.2, IBX 7.08, WXP SP1
[mailto:horky(zv)cominn(tec)cz]
Kodovani textu ShowMessage
[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 23.6.2005 15:15:39
Pavel Smerk wrote (on Thursday, June 23, 2005 2:56 PM):
> Jiri Cincura wrote:
>> Pavel Smerk wrote (on Thursday, June 23, 2005 12:31 PM):
>>> jak lze nastavit, abych mel v hlaskach zobrazovanych skrze
>>> ShowMessage stejne kodovani jako vsude jinde a nezobrazovalo se mi
>>> misto r
>>
>> ShowMessage to myslim bere ze systemu, ale neni prece problem si
>> udelat vlatsni jednoduchy dialog a je po problemu.
>
> Jasne, to me taky napadlo. Ale u aplikaci nevzniklych z delphi tento
> problem nepozoruju, tak se mi nechce verit, ze by to vsechny tak poctive
> osetrovaly.
> Navic, regional settings a takove veci mam nastavene na ceske, tak je mi
> divny, ze by ten
defaultni font byl jinaci. Fakt to nejde ovlivnit
> nejakym nastavenim/rict, jaky charset chci? Presto diky, P.
Pokud je v systemu nastaven spravny charset, musi se i znaky zobrazovat
dobre (snad jeste kdyby app. pouzivala nejake spatne nastaveni). Ja treba s
ceskymi znaky nemam zadne problemy.
Videl bych to spis na neco shnileho v app.
--
Jiri Cincura
http://www.ID3renamer.com/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/
Kodovani textu ShowMessage
[*] Petr Fejfar <development(zv)callnet(tec)cz> - 23.6.2005 15:11:39
Pavel Smerk wrote:
> Jasne, to me taky napadlo. Ale u aplikaci nevzniklych z delphi tento
> problem nepozoruju, tak se mi nechce verit, ze by to vsechny tak
> poctive osetrovaly. Navic, regional settings a takove veci mam
> nastavene na ceske, tak je mi divny, ze by ten defaultni font byl
> jinaci. Fakt to nejde ovlivnit nejakym nastavenim/rict, jaky charset
> chci?
Jestli problem neni v tom, ze ShowMessage je Borlandsky bastl kolem jejich
vlastniho dialogu viz CreateMessageDialog v unit Dialogs,
zatimco tam kde to funguje se vola systemovy dialog,
ktery je pristupny jako metoda Application.MessageBox.
HTH, PF
Kodovani textu ShowMessage
[*] Pavel Smerk <xsmerk(zv)fi.muni(tec)cz> - 23.6.2005 14:55:33
Jiri Cincura wrote:
> Pavel Smerk wrote (on Thursday, June 23, 2005 12:31 PM):
> > jak lze nastavit, abych mel v hlaskach zobrazovanych skrze ShowMessage
> > stejne kodovani jako vsude jinde a nezobrazovalo se mi misto r
>
> ShowMessage to myslim bere ze systemu, ale neni prece problem si udelat
> vlatsni jednoduchy dialog a je po problemu.
Jasne, to me taky napadlo. Ale u aplikaci nevzniklych z delphi tento problem
nepozoruju, tak se mi nechce verit, ze by to vsechny tak poctive osetrovaly.
Navic, regional settings a takove veci mam nastavene na ceske, tak je mi
divny, ze by ten defaultni font byl jinaci. Fakt to nejde ovlivnit nejakym
nastavenim/rict, jaky charset chci?
Presto diky, P.
komponenta na zobrazovanie tabulkovych, formularov
[*] brano <odber(zv)centrum.sk> - 23.6.2005 14:45:32
zdravim,
poradte, prosim, nejaku free komponentu alebo sposob na zobrazenie
udajov vo forme lubovolne nadefinovanej tabulky, alebo formulara.
Mala by umoznovat najma:
- zadefinovat opakujuci sa prvok s urcenou strukturou, napr.:
--dva uzke riadky po celej sirke,
--vysoky riadok rozdeleny na stlpce roznej sirky
--atd., proste tabulka s lubovolnou strukturou
- mala by byt interaktivna, cize nie len zobrazit dane udaje, ale napr.
kliknem na hlavicku stlpca, tak mi vrati nejaky odkaz na ten stlpec,
klikne vlavo vedla riadka, vrati odkaz na riadok, kliknem na bunku...
- jednotlive bunky by obsahovali text alebo obrazky
- definovanie vzhladu - ohranicenie, farby, typ pisma pre jednotlive
riadky, stlpce, samostatne bunky
- manipulacia s jednotlivymi riadkami, stlpcami - schovavanie,
zobrazovanie, rozbalovanie, zbalovanie ako v stromovej strukture
- pevna-nerolujuca hlavicka
Idealne by bolo, keby vedela aj:
- vstupne udaje by mohli byt v XML
- export do inych formatov - HTML, Excel, ...
- zoradovanie riadkov podla jednotlivych stlpcov, aj podla viacerych v
urcenom poradi
vdaka
Kodovani textu ShowMessage
[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 23.6.2005 14:37:31
Pavel Smerk wrote (on Thursday, June 23, 2005 12:31 PM):
> Ahoj vespolek,
>
> jak lze nastavit, abych mel v hlaskach zobrazovanych skrze ShowMessage
> stejne kodovani jako
vsude jinde a nezobrazovalo se mi misto r
ShowMessage to myslim bere ze systemu, ale neni prece problem si udelat
vlatsni jednoduchy dialog a je po problemu.
--
Jiri Cincura
http://www.ID3renamer.com/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/
Console aplikace s GUI dohromady
[*] Koukal Pavel <pavel.koukal(zv)pvt(tec)cz> - 23.6.2005 14:35:30
Ahoj,
mel bych takovy mensi dotaz. Je vubec teoreticky mozne napsat aplikaci
ktera by se sama behem behu rozhodla zda bude typu console nebo GUI?
Zkousel jsem vytvorit typickou konzolovou aplikaci a v ni vytvorit a
spustit modalne formular. To samozrejme jde a formular se mi zobrazil.
Bohuzel ale bylo zobrazeno i konzolove okno.
Jde potlacit (skyt) konzolove okno nebo v GUI aplikaci spustit konzolove
okno a do neho smerovat vystup?
Neco jako:
If GUI then
FormCreate
FormShowModal
Else
ConsoleCreate
ConsoleShow
Writeln('....');
Nebo budu muset vytvorit konzoli, ktere bude obsahovat vykonou cast a
nad tim dalsi exe pro interaktivni obsluhu, ktere konzolovou aplikaci
bude pouze volat?
Diky za pripadne odpovedi.
S pozdravem Pavel Koukal
Delphi 7
Kodovani textu ShowMessage
[*] Pavel Smerk <xsmerk(zv)fi.muni(tec)cz> - 23.6.2005 12:31:22
Ahoj vespolek,
jak lze nastavit, abych mel v hlaskach zobrazovanych skrze ShowMessage
stejne kodovani jako vsude jinde a nezobrazovalo se mi misto r proskrtnute o
atp.?
Diky moc, P.
P.S.: da se do teto konference prispivat skrze newsy, nebo je to jen
jednosmerne maillist -> newsy (cz.muni.redir.delphi)?
ADMIN: Delphi 5
[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 23.6.2005 10:43:13
Puvodni zprava ze dne 23.6.2005:
> Mam problem s IDE Delhi 5. Nekam se mi zasantrocilo zobrazovani
> balicku. V project Manageru, kdyz jsem na balicek dvakrat kliknul,
> tak se mi zobrazilo okno s obsahem balicku (formulare, unity). Kde
> se da najit nastaveni zobrazovani nebo kam mi to okno uteklo?
Tady vsichni maji problem s Delphi a kdyby kazdy psal do subjektu to,
co ty, tak se tady nikdo nevyzna. Bez to jako napomenuti za spatny
subjekt a precti si pravidla.
Petr Zahradnik, pocitacovy expert
==========================================================
Petr Zahradnik, Computer Laboratory
web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz
==========================================================