Archív konference Delphi

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

zaslani zpravy na ICQ

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 31.5.2005 15:15:27

Zdravim,

da se v soucasnosti nejak zaslat zprava na ICQ?

Pomoci
'http://wwp.icq.com/scripts/WWPMsg.dll?from=' + PFrom +
'&fromemail=' + Pfromemail + '&subject=' + Psubject + '&body=' +
Pbody + '&to=' + Ptoicqnumber + '&submit=send';

to nejde, je tam obrazek s cislem (ani se nedivim).

Nejaky napad?

Radek

Protected Metody

[*] Jan Harman <jharman(zv)volny(tec)cz> - 31.5.2005 15:09:27

Existuje nekolik instanci tridy Tbbb a vzajemne se muzou ovlivnovat
pres proceduru ppp. Aby ovlivnovany objekt vedel, kdo na neho saha,
tak to ma v parametru "cmp". H.

----- PUVODNI ZPRAVA -----
Od: "Milan Tomes" <delphi(zv)haida(tec)cz>

> A co ma byt to cmp ??? V metode Tbbb.xxx neni zadna takova
> promenna
> deklarovana.
> Pokud chces vyvolat metodu ppp predka, tak to napis "inherited
> ppp(self)" a
> pokud chces proste jen vyvolat metodu ppp tridy Tbbb, tak uplne
> vynech
> nejake "cmp." a napis pouze ppp(self)
>
> S pozdravem
>
> Milan Tomes
>
> > [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Jan Harman
> > Sent: Tuesday, May 31, 2005 2:55 PM
> >
> > prosim vas, chci pouzit protected metodu v tride nasledujicim
> >
> > zpusobem a kompilator to neprelozi, nechapu to. Mohl bych tu
> >
> > Unit A;
> > Taaa = class
> > Protected
> > Procedure ppp(cmp: Taaa); virtual;
> > end;
> >
> > Unit B;
> > Tbbb = class (Taaa)
> > Private
> > Procedure xxx;
> > Protected
> > Procedure ppp(cmp: Taaa); override;
> > end;
> >
> > Tbbb.xxx;
> > begin
> > cmp.ppp(self); // tady je chyba "Udeclared identifier:
> > 'ppp'"
> > end;
>
>
>
>

Protected Metody

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 31.5.2005 15:01:26

A co ma byt to cmp ??? V metode Tbbb.xxx neni zadna takova promenna
deklarovana.
Pokud chces vyvolat metodu ppp predka, tak to napis "inherited ppp(self)" a
pokud chces proste jen vyvolat metodu ppp tridy Tbbb, tak uplne vynech
nejake "cmp." a napis pouze ppp(self)

S pozdravem

Milan Tomes

> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Jan Harman
> Sent: Tuesday, May 31, 2005 2:55 PM
>
> prosim vas, chci pouzit protected metodu v tride nasledujicim
> zpusobem a kompilator to neprelozi, nechapu to. Mohl bych tu
>
> Unit A;
> Taaa = class
> Protected
> Procedure ppp(cmp: Taaa); virtual;
> end;
>
> Unit B;
> Tbbb = class (Taaa)
> Private
> Procedure xxx;
> Protected
> Procedure ppp(cmp: Taaa); override;
> end;
>
> Tbbb.xxx;
> begin
> cmp.ppp(self); // tady je chyba "Udeclared identifier: 'ppp'"
> end;

Protected Metody

[*] Jan Harman <jharman(zv)volny(tec)cz> - 31.5.2005 14:55:25

Zdravim vsechny,

prosim vas, chci pouzit protected metodu v tride nasledujicim
zpusobem a kompilator to neprelozi, nechapu to. Mohl bych tu metodu
udelat Public, ale uz to neni ono, protoze nechci aby to pouzival
nekdo, kdo neni potomkem tridy "Taaa".

Unit A;
Taaa = class
Protected
Procedure ppp(cmp: Taaa); virtual;
end;

Unit B;
Tbbb = class (Taaa)
Private
Procedure xxx;
Protected
Procedure ppp(cmp: Taaa); override;
end;

Tbbb.xxx;
begin
cmp.ppp(self); // tady je chyba "Udeclared identifier: 'ppp'"
end;

Pouzivam to spatne? Tbbb je predse potomkem tridy Taaa, tak proc ji
nevidi? Dekuji za pripadne vysvetleni.
Honza


sifrovani a desifrovani retezcu

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 31.5.2005 14:13:22

Nekde jsem nasel toto, neni to sice nic bezpecneho, nicmene to funguje. Princip je v tom, ze se pouzije RandSeed pro inicializaci generatoru nahodnych cisel (jeho implementace je soucasti zdrojaku, aby se neslo pres generator v Delphi). (De)sifrovani probiha tak, ze se urci hodnota Seed a tim padem staci mit jako klic pouze toto jedine cislo. Zasifrovany text ma podobu napriklad

631EA8B81FC096C3DE71861B24....

Kdybys potreboval podrobnejsi vysvetleni, napis na soukromy mail.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
http://brant.wz(tec)cz


unit Crypt;

interface

function EnCode(Seed: integer; S: String; DoCrypt: boolean = true): String; overload;
function EnCode(S: String; DoCrypt: boolean = true): String; overload;
function DeCode(S: String; DoCrypt: boolean = true): String; overload;
function DeCode(Seed: integer; S: String; DoCrypt: boolean = true): String; overload;
function RandomInteger(aRange:integer): integer;

var RndSeed: LongInt;

implementation
uses SysUtils;


function RandomInteger(aRange:integer): integer;
//opsan+AOE- implementace gener+AOE-toru pseudon+AOE-hodn+AP0-ch +AOgA7Q-sel
//aby se to v nov+AOk- verzi Delphi nezm+AOw-nilo
asm
IMUL EDX,[RndSeed],08088405H
INC EDX
MOV [RndSeed],EDX
MUL EDX
MOV EAX,EDX
end;

function DeCode(Seed: integer; S: String; DoCrypt: boolean = true): String;
var I: Integer;
R: String;
B: Byte;
begin
Result:= S;
if not DoCrypt then exit; //jednoduch+AOk- vypnut+AO0- +AWE-ifrov+AOE-n+AO0-...
R:='';
B:=0;
RndSeed:=Seed;
for I:=1 to Length(S) do
begin
B:= ord(S[i]) - RandomInteger(255);
R:=R+-Chr(B);
end;
Result:=R;
end;

function EnCode(Seed: integer; S: String; DoCrypt: boolean = true): String;
var I: Integer;
R: String;
B: Byte;
begin
Result:= S;
if not DoCrypt then exit; //jednoduch+AOk- vypnut+AO0- +AWE-ifrov+AOE-n+AO0-...
R:='';
RndSeed:= Seed;
for I:=1 to Length(S) do
begin
B:=Ord(S[I])+-RandomInteger(255);
R:=R +- chr(B);
end;
Result:=R;
end;

function EnCode(S: String; DoCrypt: boolean{ = true}): String;
var I: Integer;
R: String;
B: Byte;
begin
Result:= S;
if not DoCrypt then exit; //jednoduch+AOk- vypnut+AO0- +AWE-ifrov+AOE-n+AO0-...
R:='';
RandSeed:=1;
RndSeed:= 1;
for I:=1 to Length(S) do
begin
B:=Ord(S[I])+-Random(255);

B:=Ord(S[I])+-RandomInteger(255);

R:=R+-IntToHex(B,2);
end;
Result:=R;
end;

function DeCode(S: String; DoCrypt: boolean = true): String;
var I: Integer;
R: String;
Index: Integer;
B: Byte;
begin
Result:= S;
if not DoCrypt then exit; //jednoduch+AOk- vypnut+AO0- +AWE-ifrov+AOE-n+AO0-...
R:='';
B:=0;
RandSeed:=1;
RndSeed:= 1;
Index:=1;
for I:=1 to (Length(S) div 2) do
begin
try
B:=StrToInt('$'+-Copy(S,Index,2))-RandomInteger(255);
except
on EConvertError do B:=$20;
end;
R:=R+-Chr(B);
Inc(Index,2);
end;
Result:=R;
end;

end.

potreboval bych sifrovat a desifrovat retezce a to tak, aby je mohl
desifrovat jen nekdo, kdo bude mit k desifrovani spravny klic. Mohl by mi
nekdo poradit, co za timto ucelem nejlepe vyuzit. Zvladne takove veci i
Synapse? Prosim o nejaky ukazkovy priklad nebo alespon podrobny navod.

sifrovani a desifrovani retezcu

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 31.5.2005 13:51:20

> potreboval bych sifrovat a desifrovat retezce a to tak, aby je mohl
> desifrovat jen nekdo, kdo bude mit k desifrovani spravny klic. Mohl by mi
> nekdo poradit, co za timto ucelem nejlepe vyuzit. Zvladne takove veci i
> Synapse? Prosim o nejaky ukazkovy priklad nebo alespon podrobny navod.

Synapse v soucasne dobe neobsahuje zadne kryptovaci i dekryptovaci
rutiny, ale existuje jich mnoho jinych, staci se podivat treba na
http://www.torry.net



--
Lukas Gebauer.

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

sifrovani a desifrovani retezcu

[*] Frantisek Mlcoch <frantisek.mlcoch(zv)vsb(tec)cz> - 31.5.2005 13:45:20

Zdravim,

potreboval bych sifrovat a desifrovat retezce a to tak, aby je mohl
desifrovat jen nekdo, kdo bude mit k desifrovani spravny klic. Mohl by mi
nekdo poradit, co za timto ucelem nejlepe vyuzit. Zvladne takove veci i
Synapse? Prosim o nejaky ukazkovy priklad nebo alespon podrobny navod.


Diky F.

Chyba Firebird - 32

[*] JiL?A? =?ISO-8859-1?Q?RoATL=7FA=3Fk?= <rocnak(zv)admiscz(tec)net> - 31.5.2005 13:33:19

No to praveze ne. Stava se to v prubehu prace a po te chybe vlastne uz
neexistuje spojeni s Firebirdem a program klekne.

Jirka napsal(a):>>Ahoj,
>>rekl bych ze bud restartovali PC nebo nasilne ukoncili program.
>>U nas je ta chyba taky casto.
>>
>>Jirka
>>
>>
>
>

Chyba Firebird - 32

[*] Jirka <jw-delphi(zv)seznam(tec)cz> - 31.5.2005 11:43:08

Ahoj,
rekl bych ze bud restartovali PC nebo nasilne ukoncili program.
U nas je ta chyba taky casto.

Jirka

Jiri Rocnak napsal(a):
> Nevi nekdo, co presne by mohla znamenat tato chyba Firebirdu?
> vypis z logu:
> INET/inet_error: send errno = 32
> klientska aplikace (neni moje) pritom hlasi: broken pipe
>
> Firebird 1.5.2 (SS i CS) na RH Linux 8 a 9 - klienti prevazne W-XP.
>
> Na webu jsem zjistil, ze by to mela byt chyba klienta - ze prerusil
> spojeni, ale nevim, co si o tom mam myslet.
> Jinak pokud byla nekde popsana ta chyba, tak to bylo spanelsky, takze
> bohuzel pro me smula.
>
> Diky Jiri.

Chyba Firebird - 32

[*] Jiri Rocnak <rocnak(zv)admiscz(tec)net> - 31.5.2005 10:57:05

Nevi nekdo, co presne by mohla znamenat tato chyba Firebirdu?
vypis z logu:
INET/inet_error: send errno = 32
klientska aplikace (neni moje) pritom hlasi: broken pipe

Firebird 1.5.2 (SS i CS) na RH Linux 8 a 9 - klienti prevazne W-XP.

Na webu jsem zjistil, ze by to mela byt chyba klienta - ze prerusil
spojeni, ale nevim, co si o tom mam myslet.
Jinak pokud byla nekde popsana ta chyba, tak to bylo spanelsky, takze
bohuzel pro me smula.

Diky Jiri.

Systemovy imagelist - transparentnost

[*] Ing. Petr Sikola <developer(zv)efg(tec)cz> - 31.5.2005 07:46:49

Zdravim konferenci,
pro systemovy imagelist pouzivam tuto konstrukci:

SystemImageList.handle := SHGetFileInfo('', 0, SHInfo,
SizeOf(TSHFileInfo),
SHGFI_SYSICONINDEX or SHGFI_SMALLICON);

Bohuzel ale v SystemImageList nejsou ikony ulozeny transparentne.
Imagelist pouzivam pro obrazky na tabsheetech a pokud nejsou transparentni,
vypada to docela blbe.

existuje nejaka finta, jak imagelist donutit, aby pouzival transparentni
ikony?

Dekuji za nakopnuti.

Petr Sikola


ADMIN: Zkouska pruchodu konferenci

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 30.5.2005 16:33:42

NEREAGUJTE

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory


web: http://www.clexpert(tec)cz, e-mail: clexpert(zv)clexpert(tec)cz

==========================================================

Pozice prvku na obrazovce

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 30.5.2005 05:25:00

> potrebuji zjistit pozici TLabel na obrazovce, ne pozici v
> parent Formu. Konkretne potrebuji zobrazit TPopupMenu pod timto
> labelem presne na souradnici Popup(Label.Left,Label.Top+Label.Haight);

ClientToScreen, ScreenToClient
(Delphi: Zakladni kurz)

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 931 (mobil 776 347 735)
====================================

Pozice prvku na obrazovce

[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 29.5.2005 21:48:29

29.5.2005 Suky:
> Ahoj,

> potrebuji zjistit pozici TLabel na obrazovce, ne pozici v
> parent Formu. Konkretne potrebuji zobrazit TPopupMenu pod timto
> labelem presne na souradnici
> Popup(Label.Left,Label.Top+Label.Haight);

Kazdy prvek ma metodu ClientToScreen, ktera prevede souradnice na
formulari na souradnice obrazovky. Samozrejme existuje i opacny prevod
- ScreenToClient


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


Pozice prvku na obrazovce

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 29.5.2005 20:31:09

Suky wrote (on Sunday, May 29, 2005 8:19 PM):
> Ahoj,
>
> potrebuji zjistit pozici TLabel na obrazovce, ne pozici v parent Formu.
> Konkretne potrebuji zobrazit TPopupMenu pod timto labelem presne na
> souradnici Popup(Label.Left,Label.Top+Label.Haight);

Zjisti si pozici formu a pricti pozici na formulari.

Jinak kdyz to potrebujes zobrazit u Labelu, proc chces absolutni pozice?

--
Jiri Cincura
http://ID3renamer.cincura.net/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/

Pozice prvku na obrazovce

[*] Suky <suky(zv)atlas(tec)cz> - 29.5.2005 20:18:56

Ahoj,

potrebuji zjistit pozici TLabel na obrazovce, ne pozici v parent Formu. Konkretne potrebuji zobrazit TPopupMenu pod timto labelem presne na souradnici Popup(Label.Left,Label.Top+Label.Haight);

--
S pozdravem,
Michal Soukup
http://hobitin.blogspot.com/ (Blog Bilba Pytlika z Kraje)

console/service v jednom exe

[*] Petr Vones <konference(zv)petrvones(tec)net> - 29.5.2005 12:14:09

From: "Petr Vones" <konference(zv)petrvones.net>
> Jde. Akorat je treba trochu opravit "framework" pro service aplikace ve VCL.

Je treba v unitu SvcMgr upravit konstruktor TServiceApplication:

constructor TServiceApplication.Create(AOwner: TComponent);
begin
if IsConsole then // V pripade konzolove aplikace se implicitne
nevytvori Handle takze nikdy neskonci metoda
begin // TServiceApplication.Run a nedojde ani na
finalization sekce unit. Service Manager takovy
IsConsole := False; // proces po nekolika vterinach sam (nekorektne)
ukonci.
Forms.Application.CreateHandle;
IsConsole := True;
Assert(Forms.Application.Handle <> 0);
end;
inherited Create(AOwner);
FEventLogger := TEventLogger.Create(ExtractFileName(ParamStr(0)));
Forms.Application.HookMainWindow(Hook);
end;

Petr Vones


console/service v jednom exe

[*] Petr Vones <konference(zv)petrvones(tec)net> - 29.5.2005 12:06:04

From: <viktordoubek(zv)volny(tec)cz>
> jde nejak udelat konsolova aplikace, ktera ale pujde nainstalovat
> jako sluzba, takze ji muzu normalne spoustet a kdyz ji spustim s
> /install tak ji muzu pouzit i jako NT sluzbu? Jak toho docilim?

Jde. Akorat je treba trochu opravit "framework" pro service aplikace ve VCL.

Petr Vones

upraveny DBEdit a zarovnavani

[*] Vaclav Krmela <krmela(zv)ustinadorlici(tec)cz> - 29.5.2005 10:27:57

> From: Pavel Beranek
>
> Toto je procedura, ktera zajistuje vykresleni prvku se zvolenym
barevnym
> okrajem.
>
> procedure TDBEdit_BVCL.WMPaint(var M: TWMPaint);
> var
> DC: HDC;
> PS: TPaintStruct;
> FCanvas: TCanvas;
> TempRect: TRect;
> begin
> if M.DC = 0 then DC := BeginPaint(Handle, PS) else DC := M.DC;
> SelectObject(DC, m.DC);
> SetBkMode(DC, TRANSPARENT);
>
> FCanvas := TCanvas.Create;
> FCanvas.Handle := DC;
>
> FCanvas.Brush.Color := FBorderColor;
> FCanvas.FrameRect(ClientRect);
>
> GetWindowRect(Handle, TempRect);
> OffsetRect(TempRect, -TempRect.Left, -TempRect.Top);
> InflateRect(TempRect, -1, -1);
> IntersectClipRect(DC, TempRect.Left, TempRect.Top, TempRect.Right,
> TempRect.Bottom);
> try
> PaintWindow(DC);
> finally
> if M.DC = 0 then EndPaint(Handle, PS);
> FCanvas.Free;
> end;
> end;
>
>
> Zda se, ze vsechno funguje v poradku az na to, ze komponenta nyni
> nerespektuje Alignment, ktery je nastaven primo u nalinkovaneho
fieldu.
> Vzdy je vse zarovnano doleva.

Misto

PaintWindow(DC)

Bych zkusil neco takoveho:

FCanvas.Brush.Color := clWindow;
W := FCanvas.TextWidth(Text);
Indent := 1; L := 1;
case FAlignment of
taRightJustify: L := TempRect.Right - W - Left;
taCenter: L := (TempRect.Left + TempRect.Right - W) div 2;
end;
FCanvas.TextRect(TempRect, L, Indent, Text);

Vaclav Krmela

upraveny DBEdit a zarovnavani

[*] Pavel Beranek <pavel.0(zv)tiscali(tec)cz> - 29.5.2005 00:01:01

Ahoj,

jiz mi zde bylo pomozeno pri tvorbe nove komponenty (komponenta DBEdit s
pridanou moznosti menit barvy okraje komponenty).
Toto je procedura, ktera zajistuje vykresleni prvku se zvolenym barevnym
okrajem.

procedure TDBEdit_BVCL.WMPaint(var M: TWMPaint);
var
DC: HDC;
PS: TPaintStruct;
FCanvas: TCanvas;
TempRect: TRect;
begin
if M.DC = 0 then DC := BeginPaint(Handle, PS) else DC := M.DC;
SelectObject(DC, m.DC);
SetBkMode(DC, TRANSPARENT);

FCanvas := TCanvas.Create;
FCanvas.Handle := DC;

FCanvas.Brush.Color := FBorderColor;
FCanvas.FrameRect(ClientRect);

GetWindowRect(Handle, TempRect);
OffsetRect(TempRect, -TempRect.Left, -TempRect.Top);
InflateRect(TempRect, -1, -1);
IntersectClipRect(DC, TempRect.Left, TempRect.Top, TempRect.Right,
TempRect.Bottom);
try
PaintWindow(DC);
finally
if M.DC = 0 then EndPaint(Handle, PS);
FCanvas.Free;
end;
end;


Zda se, ze vsechno funguje v poradku az na to, ze komponenta nyni
nerespektuje Alignment, ktery je nastaven primo u nalinkovaneho fieldu.
Vzdy je vse zarovnano doleva.

Dekuji za pomoc

Pavel Beranek

encrypted (zaheslovane) dbf - jak na to??

[*] Jan Rizek <jan_rizek(zv)centrum(tec)cz> - 28.5.2005 23:06:57

Vsechny zdravim,

mam nasledujici problem: mam dbf tabulku (vytvorenou v Step 7 = programovani PLC-cek - Siemens) a chtel bych si ji editovat mimo Siemens nastroje, programy od firmy Siemens toho umi dost, ale ne vsechno. Jenze ta tabulka je "encrypted".. Co s tim?? Neznate nekdo zpusob, jak zjistit heslo nebo tak neco?? Ja s tim nemam zadne zkusenosti.. :-(

Jde mi o obecne reseni, je mozne a pravdepodobne, ze si to napisu v ..NET-u a ne v Delphi.

Diky za cokoli (pokud mozno k tomuto tematu, je-li to mozne.. :-) )

pekny den

JR

Rekurzivni record

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 28.5.2005 12:00:17

Omlouvam se - neni to az tak jednoduche. Parametr AMenu je vlastne jen pole
pointru a Tobe tam absolutne chybi jakakoliv alokace pameti pro onu
strukturu, takze to musis upravit. Pokud nechces delat alokaci rucne, tak
vyuzij typ TMenuItems a na pointry zapomen.

S pozdravem

Milan Tomes

> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Milan Tomes
> Sent: Saturday, May 28, 2005 11:16 AM
>
> No jiste - musis pouzit dereferenci:
>
> AMenu[High(Amenu)]^.Caption := Item.attribute['caption'];
>
> S pozdravem
>
> Milan Tomes
>
> > [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Suky
> > Sent: Saturday, May 28, 2005 8:28 AM
> >
> > Jo to uz jsem taky zkousel a to je mi jeste divnejsi,
> protoze pri
> > teto variante se vse buildne a pri behu aplikace projde radky ....
> > SetLength(....), ale skonci to chybou Access Violation at
> address ....
> > na radce:
> > AMenu[Length(AMenu)-1].Caption := Item.attribute['caption'];
> >
> >
> > S pozdravem,
> > Michal Soukup
> >
> > puvodni zprava:
> >
> > MT> A co to udelat takto:
> >
> > MT> Type
> >
> > MT> //Upraveny nazvy typu dle konvenci Delphi
> > MT> PMenuItemRec = ^TMenuItemRec;
> > MT> PMenuItemRecs = array of PMenuItemRec;
> >
> > MT> TMenuItemRec = record
> > MT> Caption : string;
> > MT> SubItems : PMenuItemRecs;
> > MT> end;
> >
> > MT> TMenuItems = array of TMenuItem;
> >
> > MT> ....
> >
> > MT> function clsParser.OpenMainMenu(AFileName : string; var
> > AMainMenu :
> > MT> TMenuItems) : boolean;
> >
> > MT> procedure LoadSubitems(ANode: TjanXMLNode2; var AMenu:
> > MT> PMenuItemRecs);
> > MT> var
> > MT> Bx : integer;
> > MT> Item : TjanXMLNode2;
> > MT> begin
> > MT> SetLength(AMenu, 0);
> > MT> For Bx := 0 To Node.nodes.Count-1 Do
> > MT> Begin
> > MT> Item := TjanXMLNode2(ANode.nodes[Bx]);
> > MT> SetLength(AMenu, Length(AMenu)+1);
> > MT> AMenu[Length(AMenu)-1].Caption :=
> > Item.attribute['caption'];
> > MT> LoadSubItems(Item,
> > AMenu[Length(AMenu)-1].SubItems);
> > MT> End;
> > MT> end;
> >
> > MT> begin
> > MT> For Ax := 0 To cParser.nodes.Count-1 Do
> > MT> Begin
> > MT> cNode := TjanXMLNode2(cParser.nodes[Ax]);
> > MT> SetLength(AMainMenu, Length(AMainMenu)+1);
> > MT> AMainMenu[Length(AMainMenu)-1].Caption :=
> > MT> cNode.attribute['caption'];
> > MT> LoadSubItems(cNode,
> > AMainMenu[Length(AMainMenu)-1].SubItems);
> > MT> End;
> > MT> end;
>
>
>
>

Rekurzivni record

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 28.5.2005 11:16:14

No jiste - musis pouzit dereferenci:

AMenu[High(Amenu)]^.Caption := Item.attribute['caption'];

S pozdravem

Milan Tomes

> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Suky
> Sent: Saturday, May 28, 2005 8:28 AM
>
> Jo to uz jsem taky zkousel a to je mi jeste divnejsi,
> protoze pri teto variante se vse buildne a pri behu aplikace
> projde radky .... SetLength(....), ale skonci to chybou
> Access Violation at address .... na radce:
> AMenu[Length(AMenu)-1].Caption := Item.attribute['caption'];
>
>
> S pozdravem,
> Michal Soukup
>
> puvodni zprava:
>
> MT> A co to udelat takto:
>
> MT> Type
>
> MT> //Upraveny nazvy typu dle konvenci Delphi
> MT> PMenuItemRec = ^TMenuItemRec;
> MT> PMenuItemRecs = array of PMenuItemRec;
>
> MT> TMenuItemRec = record
> MT> Caption : string;
> MT> SubItems : PMenuItemRecs;
> MT> end;
>
> MT> TMenuItems = array of TMenuItem;
>
> MT> ....
>
> MT> function clsParser.OpenMainMenu(AFileName : string; var
> AMainMenu :
> MT> TMenuItems) : boolean;
>
> MT> procedure LoadSubitems(ANode: TjanXMLNode2; var AMenu:
> MT> PMenuItemRecs);
> MT> var
> MT> Bx : integer;
> MT> Item : TjanXMLNode2;
> MT> begin
> MT> SetLength(AMenu, 0);
> MT> For Bx := 0 To Node.nodes.Count-1 Do
> MT> Begin
> MT> Item := TjanXMLNode2(ANode.nodes[Bx]);
> MT> SetLength(AMenu, Length(AMenu)+1);
> MT> AMenu[Length(AMenu)-1].Caption :=
> Item.attribute['caption'];
> MT> LoadSubItems(Item,
> AMenu[Length(AMenu)-1].SubItems);
> MT> End;
> MT> end;
>
> MT> begin
> MT> For Ax := 0 To cParser.nodes.Count-1 Do
> MT> Begin
> MT> cNode := TjanXMLNode2(cParser.nodes[Ax]);
> MT> SetLength(AMainMenu, Length(AMainMenu)+1);
> MT> AMainMenu[Length(AMainMenu)-1].Caption :=
> MT> cNode.attribute['caption'];
> MT> LoadSubItems(cNode,
> AMainMenu[Length(AMainMenu)-1].SubItems);
> MT> End;
> MT> end;

Rekurzivni record

[*] Suky <suky(zv)atlas(tec)cz> - 28.5.2005 08:28:02

Ahoj,

toto je odpoved na zpravu ze dne: 27. kvetna 2005, 11:30:31:

Jo to uz jsem taky zkousel a to je mi jeste divnejsi, protoze pri teto variante se vse buildne a pri behu aplikace projde radky .... SetLength(....), ale skonci to chybou Access Violation at address .... na radce: AMenu[Length(AMenu)-1].Caption := Item.attribute['caption'];


S pozdravem,
Michal Soukup

puvodni zprava:

MT> A co to udelat takto:

MT> Type

MT> //Upraveny nazvy typu dle konvenci Delphi
MT> PMenuItemRec = ^TMenuItemRec;
MT> PMenuItemRecs = array of PMenuItemRec;

MT> TMenuItemRec = record
MT> Caption : string;
MT> SubItems : PMenuItemRecs;
MT> end;

MT> TMenuItems = array of TMenuItem;

MT> ....

MT> function clsParser.OpenMainMenu(AFileName : string; var AMainMenu :
MT> TMenuItems) : boolean;

MT> procedure LoadSubitems(ANode: TjanXMLNode2; var AMenu:
MT> PMenuItemRecs);
MT> var
MT> Bx : integer;
MT> Item : TjanXMLNode2;
MT> begin
MT> SetLength(AMenu, 0);
MT> For Bx := 0 To Node.nodes.Count-1 Do
MT> Begin
MT> Item := TjanXMLNode2(ANode.nodes[Bx]);
MT> SetLength(AMenu, Length(AMenu)+1);
MT> AMenu[Length(AMenu)-1].Caption := Item.attribute['caption'];
MT> LoadSubItems(Item, AMenu[Length(AMenu)-1].SubItems);
MT> End;
MT> end;

MT> begin
MT> For Ax := 0 To cParser.nodes.Count-1 Do
MT> Begin
MT> cNode := TjanXMLNode2(cParser.nodes[Ax]);
MT> SetLength(AMainMenu, Length(AMainMenu)+1);
MT> AMainMenu[Length(AMainMenu)-1].Caption :=
MT> cNode.attribute['caption'];
MT> LoadSubItems(cNode, AMainMenu[Length(AMainMenu)-1].SubItems);
MT> End;
MT> end;

MT> S pozdravem

MT> Milan Tomes

>> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Suky
>> Sent: Friday, May 27, 2005 11:00 AM
>>
>> nasledujici problem: Mam ulozene menu v XML souboru a
>> potrebuji nacist strukturu do record objektu a to prosim
>> pekne rekurzivne, viz:
>>
>> type
>> recMenuItemPtr = ^recMenuItem;
>>
>> recMenuItem = record
>> Caption : string;
>> SubItems : array of recMenuItemPtr;
>> end;
>>
>> TMenu = array of recMenuItem;
>>
>> ....
>>
>> function clsParser.OpenMainMenu(FileName : string; var
>> MainMenu : TMenu) : boolean;
>>
>> procedure LoadSubitems(Node : TjanXMLNode2; var Menu :
>> array of recMenuItemPtr);
>> var
>> Bx : integer;
>> Item : TjanXMLNode2;
>> begin
>> SetLength(Menu, 0);
>> For Bx := 0 To Node.nodes.Count-1 Do
>> Begin
>> Item := TjanXMLNode2(Node.nodes[Bx]);
>> SetLength(Menu, Length(Menu)+1);
>> Menu[Length(Menu)-1].Caption :=
>> Item.attribute['caption'];
>> LoadSubItems(Item, Menu[Length(Menu)-1].SubItems);
>> End;
>> end;
>>
>> begin
>> For Ax := 0 To cParser.nodes.Count-1 Do
>> Begin
>> cNode := TjanXMLNode2(cParser.nodes[Ax]);
>> SetLength(MainMenu, Length(MainMenu)+1);
>> MainMenu[Length(MainMenu)-1].Caption :=
>> cNode.attribute['caption'];
>> LoadSubItems(cNode, MainMenu[Length(MainMenu)-1].SubItems);
>> End;
>> end;
>>
>>
>> Nevite kde delam chybu? Zarve to na radce v procedure
>> LoadSubitems .... SetLength(Menu, 0), ze prej:
>>
>> [Error] Incompatible types


Maximalizovani MDIChild okna

[*] Suky <suky(zv)atlas(tec)cz> - 27.5.2005 19:27:07


Tak jsem dohledal reseni:

LockWindowUpdate(MyMDIMainForm.Handle);
MyMDIChild := TMyMDIChild.Create(Application);
LockWindowUpdate(0);

Zdrojem reseni byl google.com a nasledujici stranka: http://www.delphicorner.f9.co.uk/articles/forms9.htm


puvodni zprava:

S> Ahoj,

S> toto je odpoved na zpravu ze dne: 27. kvetna 2005, 17:32:59:

S> Co je OE?


S> S pozdravem,
S> Michal Soukup
S> http://hobitin.blogspot.com/ (Blog Bilba Pytlika z Kraje)

S> puvodni zprava:

JC>> Suky wrote (on Friday, May 27, 2005 4:35 PM):
>>> Ahoj,
>>>
>>> mam tu jeste jednu vec a to vytvoreni MDIChild okna uz
>>> maximalizovaneho. Pouzivam:
>>>
>>> procedure TmdiOkno.CreateParams(var Params: TCreateParams); begin
>>> inherited CreateParams(Params);
>>> Params.Style := WS_MAXIMIZE;
>>> end;
>>>
>>> ale bohuzel je stale videt jak se okno roztahuje. Zkousel jsem pridat:
>>>
>>> Params.Style := WS_MAXIMIZE and not WS_VISIBLE;
>>>
>>> Nic, at si s tim hraju kakoliv, porad je videt jak se roztahuje :(

JC>> A kdyz priradis wsMAximized v OE tak to nefunguje?

Maximalizovani MDIChild okna

[*] Suky <suky(zv)atlas(tec)cz> - 27.5.2005 18:55:05

Ahoj,

toto je odpoved na zpravu ze dne: 27. kvetna 2005, 17:32:59:

Co je OE?


S pozdravem,
Michal Soukup
http://hobitin.blogspot.com/ (Blog Bilba Pytlika z Kraje)

puvodni zprava:

JC> Suky wrote (on Friday, May 27, 2005 4:35 PM):
>> Ahoj,
>>
>> mam tu jeste jednu vec a to vytvoreni MDIChild okna uz
>> maximalizovaneho. Pouzivam:
>>
>> procedure TmdiOkno.CreateParams(var Params: TCreateParams); begin
>> inherited CreateParams(Params);
>> Params.Style := WS_MAXIMIZE;
>> end;
>>
>> ale bohuzel je stale videt jak se okno roztahuje. Zkousel jsem pridat:
>>
>> Params.Style := WS_MAXIMIZE and not WS_VISIBLE;
>>
>> Nic, at si s tim hraju kakoliv, porad je videt jak se roztahuje :(

JC> A kdyz priradis wsMAximized v OE tak to nefunguje?

Maximalizovani MDIChild okna

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 27.5.2005 17:32:59

Suky wrote (on Friday, May 27, 2005 4:35 PM):
> Ahoj,
>
> mam tu jeste jednu vec a to vytvoreni MDIChild okna uz
> maximalizovaneho. Pouzivam:
>
> procedure TmdiOkno.CreateParams(var Params: TCreateParams); begin
> inherited CreateParams(Params);
> Params.Style := WS_MAXIMIZE;
> end;
>
> ale bohuzel je stale videt jak se okno roztahuje. Zkousel jsem pridat:
>
> Params.Style := WS_MAXIMIZE and not WS_VISIBLE;
>
> Nic, at si s tim hraju kakoliv, porad je videt jak se roztahuje :(

A kdyz priradis wsMAximized v OE tak to nefunguje?

--
Jiri Cincura
http://ID3renamer.cincura.net/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/

Maximalizovani MDIChild okna

[*] Suky <suky(zv)atlas(tec)cz> - 27.5.2005 16:34:55

Ahoj,

mam tu jeste jednu vec a to vytvoreni MDIChild okna uz maximalizovaneho. Pouzivam:

procedure TmdiOkno.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.Style := WS_MAXIMIZE;
end;

ale bohuzel je stale videt jak se okno roztahuje. Zkousel jsem pridat:

Params.Style := WS_MAXIMIZE and not WS_VISIBLE;

Nic, at si s tim hraju kakoliv, porad je videt jak se roztahuje :(

--
S pozdravem,
Michal Soukup
http://hobitin.blogspot.com/ (Blog Bilba Pytlika z Kraje)

Maximalizovani MDIChild okna

[*] Suky <suky(zv)atlas(tec)cz> - 27.5.2005 14:28:46

Ahoj,

mam tu jeste jednu vec a to vytvoreni MDIChild okna uz maximalizovaneho. Pouzivam:

procedure TmdiOkno.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.Style := WS_MAXIMIZE;
end;

ale bohuzel je stale videt jak se okno roztahuje. Zkousel jsem pridat:

Params.Style := WS_MAXIMIZE and not WS_VISIBLE;

Nic, at si s tim hraju kakoliv, porad je videt jak se roztahuje :(

--
S pozdravem,
Michal Soukup
http://hobitin.blogspot.com/ (Blog Bilba Pytlika z Kraje)

Pomale ukoncovani aplikace

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 27.5.2005 14:02:44

> aplikace bezi na celeronu 2.4, 500MB RAM, WINXP, v OnCloseQuery, OnClose
> ani OnDestroy zadny kod neni. je to prohlizeci databazova aplikace, kde na
> hlavnim formulari je nekolik dbgridu, pole nepouziva. v okamziku
> ukoncovani je pouze hlavni formular, ostatni jsou uvolneny. odmacknu
> konec programu, uzavru databaze ( to probehne okamzite ) a dam close a to
> trva tech 30s, nez close probehne, pokud dam Application.Terminate, tak
> sice aplikace skonci ihned, ale ve spravci uloh v procesech jeste bezi
> zase 30s.
>
> petrd
>
>
A jak to dopadne, kdyz databazi vubec neotevres? Cim ji oteviras? Nemas tam
nejake vlastni vykreslovani?
Venca

Rekurzivni record

[*] Suky <suky(zv)atlas(tec)cz> - 27.5.2005 13:30:41

Ahoj,

asi jsem uz prepracovany, ale vubec mi to nemysli. Mam nasledujici problem: Mam ulozene menu v XML souboru a potrebuji nacist strukturu do record objektu a to prosim pekne rekurzivne, viz:

type
recMenuItemPtr = ^recMenuItem;

recMenuItem = record
Caption : string;
SubItems : array of recMenuItemPtr;
end;

TMenu = array of recMenuItem;

....

function clsParser.OpenMainMenu(FileName : string; var MainMenu : TMenu) : boolean;

procedure LoadSubitems(Node : TjanXMLNode2; var Menu : array of recMenuItemPtr);
var
Bx : integer;
Item : TjanXMLNode2;
begin
SetLength(Menu, 0);
For Bx := 0 To Node.nodes.Count-1 Do
Begin
Item := TjanXMLNode2(Node.nodes[Bx]);
SetLength(Menu, Length(Menu)+1);
Menu[Length(Menu)-1].Caption := Item.attribute['caption'];
LoadSubItems(Item, Menu[Length(Menu)-1].SubItems);
End;
end;

begin
For Ax := 0 To cParser.nodes.Count-1 Do
Begin
cNode := TjanXMLNode2(cParser.nodes[Ax]);
SetLength(MainMenu, Length(MainMenu)+1);
MainMenu[Length(MainMenu)-1].Caption := cNode.attribute['caption'];
LoadSubItems(cNode, MainMenu[Length(MainMenu)-1].SubItems);
End;
end;


Nevite kde delam chybu? Zarve to na radce v procedure LoadSubitems .... SetLength(Menu, 0), ze prej:

[Error] Incompatible types

--
S pozdravem,
Michal Soukup
http://hobitin.blogspot.com/ (Blog Bilba Pytlika z Kraje)

Pomale ukoncovani aplikace

[*] Petrd <petrd(zv)omega-lbc(tec)cz> - 27.5.2005 13:28:41

aplikace bezi na celeronu 2.4, 500MB RAM, WINXP, v OnCloseQuery, OnClose ani OnDestroy zadny kod neni. je to prohlizeci databazova aplikace, kde na hlavnim formulari je nekolik dbgridu, pole nepouziva. v okamziku ukoncovani je pouze hlavni formular, ostatni jsou uvolneny. odmacknu konec programu, uzavru databaze ( to probehne okamzite ) a dam close a to trva tech 30s, nez close probehne, pokud dam Application.Terminate, tak sice aplikace skonci ihned, ale ve spravci uloh v procesech jeste bezi zase 30s.

petrd



Vlastimil Burian napsal(a):

>jak rekl David, bez uvolnovacich procedur tezko soudit ... kazdopadne s
>podobnym vedlejsim efektem se lze setkat pri manipulaci s velmi objemnymi
>poli - mluvim z vlastni zkusenosti ... pokud jsou v totiz v tom mega-poli
>vazany nejake vetsi objekty a pri ukoncovani apl je uvolnujes at uz ty nebo
>system pokud jsi tak neucinil tak to muze trvat dlouho ... kazdopadne 30
>sekund bych rekl ze je prilis pokud to bezi na nejakem novejsim stroji
>2GHz - rovnez treba poznamenat ze rucni uvolnovani techto velmi objemnych
>poli a podobnych je rucne podstatne rychlejsi - kdysi sem to zkousel a
>system to zvladl o 100% pomaleji kdyz jsem tak neucinil sam ... ale takovou
>chybu jsi jiste neudelal ... napis radeji pribliznou strukturu co se deje
>pri uzavirani aplikace - jinak ti asi moc nepomuzeme
>
>
>

Pomale ukoncovani aplikace

[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 27.5.2005 12:48:38

jak rekl David, bez uvolnovacich procedur tezko soudit ... kazdopadne s
podobnym vedlejsim efektem se lze setkat pri manipulaci s velmi objemnymi
poli - mluvim z vlastni zkusenosti ... pokud jsou v totiz v tom mega-poli
vazany nejake vetsi objekty a pri ukoncovani apl je uvolnujes at uz ty nebo
system pokud jsi tak neucinil tak to muze trvat dlouho ... kazdopadne 30
sekund bych rekl ze je prilis pokud to bezi na nejakem novejsim stroji
2GHz - rovnez treba poznamenat ze rucni uvolnovani techto velmi objemnych
poli a podobnych je rucne podstatne rychlejsi - kdysi sem to zkousel a
system to zvladl o 100% pomaleji kdyz jsem tak neucinil sam ... ale takovou
chybu jsi jiste neudelal ... napis radeji pribliznou strukturu co se deje
pri uzavirani aplikace - jinak ti asi moc nepomuzeme


mam takovej hloupej problem. chci ukoncit aplikaci uzavrenim hlavniho
formulare, ale vlastni ukonceni trva 30 az 45 vterin. nemuzu najit cim
to je, stoji to na close hlavniho formulare. nemate nejaky napad ?
predem dik.

WinExecAndWait32 blbne na WinXP

[*] Peter Svetlik <peternal(zv)seznam(tec)cz> - 27.5.2005 12:18:35

> Pouzivam funkciu WinExecAndWait32, ktora ma za ulohu spustit externy program
> a cakat, kym sa neukonci. Pod Windowsami nizsimi ako XP to funguje v pohode.
> No na Win XP to funguje striedavo (asi podla pocasia). Niekedy sa caka do
> skoncenia aplikacie a niekedy sa zacne vykonavat dalsia cast kodu po par
> sekundach.
>
S uspechom som podobny problem riesil pomocou
function TfrmMain.WinExecAndWait(FileName:String; Visibility :
integer):Thandle;
z http://www.delphipages.com/tips/thread.cfm?ID=62

peter svetlik

WinExecAndWait32 blbne na WinXP

[*] Martin Kasman <martinkasman(zv)martinkasman.sk> - 27.5.2005 12:10:35

Pouzivam funkciu WinExecAndWait32, ktora ma za ulohu spustit externy program
a cakat, kym sa neukonci. Pod Windowsami nizsimi ako XP to funguje v pohode.
No na Win XP to funguje striedavo (asi podla pocasia). Niekedy sa caka do
skoncenia aplikacie a niekedy sa zacne vykonavat dalsia cast kodu po par
sekundach.



Function WinExecAndWait32(FileName:String; Visibility : integer):integer;

var

zAppName:array[0..512] of char;

zCurDir:array[0..255] of char;

WorkDir:String;

StartupInfo:TStartupInfo;

ProcessInfo:TProcessInformation;

begin

StrPCopy(zAppName,FileName);

GetDir(0,WorkDir);

StrPCopy(zCurDir,WorkDir);

FillChar(StartupInfo,Sizeof(StartupInfo),#0);

StartupInfo.cb := Sizeof(StartupInfo);

StartupInfo.dwFlags := STARTF_USESHOWWINDOW;

StartupInfo.wShowWindow := Visibility;

if not CreateProcess(nil,

zAppName,

nil,

nil,

false,

CREATE_NEW_CONSOLE or

NORMAL_PRIORITY_CLASS,

nil,

nil,

StartupInfo,

ProcessInfo) then Result := -1

else begin

WaitforSingleObject(ProcessInfo.hProcess,INFINITE);

Result:=1;

end;

end;





Vdaka za kazdu radu







Martin Kasman, M Software

Smrekova 23

010 07 Zilina 7



mobilny telefon: 00421 908 270 294

pevna linka: 00421 41 707 40 22

ICQ: 269-472-805

web: www.martinkasman.sk


console/service v jednom exe

[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 27.5.2005 11:46:33

27.5.2005 viktordoubek(zv)volny(tec)cz:

> Kdyz mam v konsolove aplikaci datamodul s JvUIBEvents, je nejaky
> duvod, aby nechodily ty FBEventy? Nejak mi to vubec nereaguje a ja
> nemuzu prijit na to proc...

Protoze event je reakce na nejaky podnet (napr. zpravu). Konzolova
aplikace zpravy nezpracovava, to za tebe normalne dela unita Forms.
Musis si napsat vlastni smycku zpracovani zprav.

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


Rekurzivni record

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 27.5.2005 11:30:31

A co to udelat takto:

Type

//Upraveny nazvy typu dle konvenci Delphi
PMenuItemRec = ^TMenuItemRec;
PMenuItemRecs = array of PMenuItemRec;

TMenuItemRec = record
Caption : string;
SubItems : PMenuItemRecs;
end;

TMenuItems = array of TMenuItem;

....

function clsParser.OpenMainMenu(AFileName : string; var AMainMenu :
TMenuItems) : boolean;

procedure LoadSubitems(ANode: TjanXMLNode2; var AMenu:
PMenuItemRecs);
var
Bx : integer;
Item : TjanXMLNode2;
begin
SetLength(AMenu, 0);
For Bx := 0 To Node.nodes.Count-1 Do
Begin
Item := TjanXMLNode2(ANode.nodes[Bx]);
SetLength(AMenu, Length(AMenu)+1);
AMenu[Length(AMenu)-1].Caption := Item.attribute['caption'];
LoadSubItems(Item, AMenu[Length(AMenu)-1].SubItems);
End;
end;

begin
For Ax := 0 To cParser.nodes.Count-1 Do
Begin
cNode := TjanXMLNode2(cParser.nodes[Ax]);
SetLength(AMainMenu, Length(AMainMenu)+1);
AMainMenu[Length(AMainMenu)-1].Caption :=
cNode.attribute['caption'];
LoadSubItems(cNode, AMainMenu[Length(AMainMenu)-1].SubItems);
End;
end;

S pozdravem

Milan Tomes

> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Suky
> Sent: Friday, May 27, 2005 11:00 AM
>
> nasledujici problem: Mam ulozene menu v XML souboru a
> potrebuji nacist strukturu do record objektu a to prosim
> pekne rekurzivne, viz:
>
> type
> recMenuItemPtr = ^recMenuItem;
>
> recMenuItem = record
> Caption : string;
> SubItems : array of recMenuItemPtr;
> end;
>
> TMenu = array of recMenuItem;
>
> ....
>
> function clsParser.OpenMainMenu(FileName : string; var
> MainMenu : TMenu) : boolean;
>
> procedure LoadSubitems(Node : TjanXMLNode2; var Menu :
> array of recMenuItemPtr);
> var
> Bx : integer;
> Item : TjanXMLNode2;
> begin
> SetLength(Menu, 0);
> For Bx := 0 To Node.nodes.Count-1 Do
> Begin
> Item := TjanXMLNode2(Node.nodes[Bx]);
> SetLength(Menu, Length(Menu)+1);
> Menu[Length(Menu)-1].Caption :=
> Item.attribute['caption'];
> LoadSubItems(Item, Menu[Length(Menu)-1].SubItems);
> End;
> end;
>
> begin
> For Ax := 0 To cParser.nodes.Count-1 Do
> Begin
> cNode := TjanXMLNode2(cParser.nodes[Ax]);
> SetLength(MainMenu, Length(MainMenu)+1);
> MainMenu[Length(MainMenu)-1].Caption :=
> cNode.attribute['caption'];
> LoadSubItems(cNode, MainMenu[Length(MainMenu)-1].SubItems);
> End;
> end;
>
>
> Nevite kde delam chybu? Zarve to na radce v procedure
> LoadSubitems .... SetLength(Menu, 0), ze prej:
>
> [Error] Incompatible types


console/service v jednom exe

[*] viktordoubek(zv)volny(tec)cz - 27.5.2005 11:00:29

Ahoj *,
jde nejak udelat konsolova aplikace, ktera ale pujde nainstalovat
jako sluzba, takze ji muzu normalne spoustet a kdyz ji spustim s
/install tak ji muzu pouzit i jako NT sluzbu? Jak toho docilim?

Kdyz mam v konsolove aplikaci datamodul s JvUIBEvents, je nejaky
duvod, aby nechodily ty FBEventy? Nejak mi to vubec nereaguje a ja
nemuzu prijit na to proc...

Diky moc za vsechny namety ci priklady. VD.

D7Prof.,FB1.5.

Pomale ukoncovani aplikace

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 27.5.2005 11:08:29

> mam takovej hloupej problem. chci ukoncit aplikaci uzavrenim hlavniho
> formulare, ale vlastni ukonceni trva 30 az 45 vterin.

Ahoj,

nemam bohuzel kristalovou kouli, ale cekal bych, ze bude nejaky
narocny kod v OnCloseQuery, OnClose, OnDestroy apod. Pri
uvolnovani hlavniho formulare rovnez dojde k uvolneni vseho, ceho je
hlavni form ownerem, takze mist, kde nastava zdrazeni, muze byt
pomerne dost.

David Lebeda

Rekurzivni record

[*] Suky <suky(zv)atlas(tec)cz> - 27.5.2005 11:00:28

Ahoj,

asi jsem uz prepracovany, ale vubec mi to nemysli. Mam nasledujici problem: Mam ulozene menu v XML souboru a potrebuji nacist strukturu do record objektu a to prosim pekne rekurzivne, viz:

type
recMenuItemPtr = ^recMenuItem;

recMenuItem = record
Caption : string;
SubItems : array of recMenuItemPtr;
end;

TMenu = array of recMenuItem;

....

function clsParser.OpenMainMenu(FileName : string; var MainMenu : TMenu) : boolean;

procedure LoadSubitems(Node : TjanXMLNode2; var Menu : array of recMenuItemPtr);
var
Bx : integer;
Item : TjanXMLNode2;
begin
SetLength(Menu, 0);
For Bx := 0 To Node.nodes.Count-1 Do
Begin
Item := TjanXMLNode2(Node.nodes[Bx]);
SetLength(Menu, Length(Menu)+1);
Menu[Length(Menu)-1].Caption := Item.attribute['caption'];
LoadSubItems(Item, Menu[Length(Menu)-1].SubItems);
End;
end;

begin
For Ax := 0 To cParser.nodes.Count-1 Do
Begin
cNode := TjanXMLNode2(cParser.nodes[Ax]);
SetLength(MainMenu, Length(MainMenu)+1);
MainMenu[Length(MainMenu)-1].Caption := cNode.attribute['caption'];
LoadSubItems(cNode, MainMenu[Length(MainMenu)-1].SubItems);
End;
end;


Nevite kde delam chybu? Zarve to na radce v procedure LoadSubitems .... SetLength(Menu, 0), ze prej:

[Error] Incompatible types

--
S pozdravem,
Michal Soukup
http://hobitin.blogspot.com/ (Blog Bilba Pytlika z Kraje)

Nevite jak zjistim z Firebirdu, kteri uzivatele js

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 27.5.2005 10:40:26

> Ahoj potreboval bych kontrolovat kdo vsechno je prihlasen k databazi,
> nevite z jakych tabulek bych to mohl precist?

V IBX je na to vlastnost TIBDatabaseInfo.UserNames.

HTH
TOndrej

Asociace souboru

[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 27.5.2005 10:16:25

27.5.2005 Ing. Jan Dvorak:
> Potrebuji ve sve aplikaci zjistit, zda je vytvorena asociace se souborem s
> danou priponou pred tim nez aplikaci vyvolam, konkretne jde o .pdf. Prosim o
> radu, jak to provest.
> Dekuji predem Jan Dvorak

Registry, vetev HKCR
Precist si default hodnotu ve vete '.PDF'. Tim zjistis jmeno typu
souboru (napr. PDFfile)
Tam se podivas, zda existuje vychozi hodnota v '\PDFfile\shell\open\command'

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


Nevite jak zjistim z Firebirdu, kteri uzivatele js

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 27.5.2005 10:06:24

1. Prihlasovaci jmena uzivatelu (vsech) zjistis z property komponenty
Ibdatabase
2. IP adresy zjistis z nastroje tcpipview (www.sysinternals.com).

Slavek

> Ahoj potreboval bych kontrolovat kdo vsechno je prihlasen k databazi,
> nevite z jakych tabulek bych to mohl precist?
>
> Dik tom
>
>
>
>

Spousteni jine aplikace v okne aplikace

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 27.5.2005 09:53:54

Milan Bartonek wrote (on Friday, May 27, 2005 9:28 AM):
> Ahoj,
> Toto jsem taky zkousel, ale FindWindow mi nevraco zadny Handle a nevim
> proc
>
> Bartonek Milan

No zalezi jakou app si tam spoustel a jestli si to dobre "hledal".

Me toto faka k naproste spokojenosti.

Nejlespi na zjisteni co pouzit ve FindWindow je WinSight (primo u Delphi),
tam si to krasne najdes.

--
Jiri Cincura
http://ID3renamer.cincura.net/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/

Spousteni jine aplikace v okne aplikace

[*] Milan Bartonek <mbartonek(zv)synthesia(tec)cz> - 27.5.2005 09:27:52



Ahoj,

>> var
>> Wnd : HWND;
>> begin
>> WinExec('notepad', SW_SHOW);
>> Wnd := FindWindow('notepad', nil);
>> if Wnd <> 0 then begin
>> Windows.SetParent(Wnd, Handle);
>> MoveWindow(Wnd, 0, 0 ,ClientWidth, ClientHeight, False);
>> SetForegroundWindow(Wnd);
>> end;
>> end;


Toto jsem taky zkousel, ale FindWindow mi nevraco zadny Handle a nevim proc

Bartonek Milan

Nevite jak zjistim z Firebirdu, kteri uzivatele js

[*] Tomas Krejzek <tomas.krejzek(zv)kpsys(tec)cz> - 27.5.2005 09:17:50

Ahoj potreboval bych kontrolovat kdo vsechno je prihlasen k databazi,
nevite z jakych tabulek bych to mohl precist?

Dik tom

Spousteni jine aplikace v okne aplikace

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 27.5.2005 09:13:50

Milan Bartonek wrote (on Friday, May 27, 2005 8:38 AM):
> Ahoj,
>
> potrebuji spoustet starsi aplikace psane v Delphi (D5) v nove aplikaci (D6
> prof) tak, aby se to chovalo jako MDI aplikace.
>
> pomoci
> ShellExecute(Application.MainForm.Handle, open, PChar(aplikace),
> PChar(parametr), '', SW_SHOW); se mi to nedari - aplikaci spusti, ale na
> jako CHILD

A co zkusit:

var
Wnd : HWND;
begin
WinExec('notepad', SW_SHOW);
Wnd := FindWindow('notepad', nil);
if Wnd <> 0 then begin
Windows.SetParent(Wnd, Handle);
MoveWindow(Wnd, 0, 0 ,ClientWidth, ClientHeight, False);
SetForegroundWindow(Wnd);
end;
end;

--
Jiri Cincura
http://ID3renamer.cincura.net/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/

Pomale ukoncovani aplikace

[*] Petrd <petrd(zv)omega-lbc(tec)cz> - 27.5.2005 08:59:48

ahoj,
mam takovej hloupej problem. chci ukoncit aplikaci uzavrenim hlavniho
formulare, ale vlastni ukonceni trva 30 az 45 vterin. nemuzu najit cim
to je, stoji to na close hlavniho formulare. nemate nejaky napad ?
predem dik.

Petr

WXP, D6

jak napsat SQL dotaz pro prunik

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 27.5.2005 08:57:48

Rosta wrote:

> To by sice mohlo fungovat, ale je to nejpomalejsi mozne reseni (tri
> vnorene selecty).
> Lepsi cesta asi budou ty opakovane joiny pripadne SP. Ale nezkousel
> jsem to ...

Jeste jsem si vzpomel, ze v SQL k tomuto ucelu existuje
primo prikaz INTERSECT ;-).

Ovsem jak rychly bude ve srovnani treba s temi self-joiny, tezko rict.


pf

Asociace souboru

[*] Ing. Jan Dvorak <dvorak(zv)szu(tec)cz> - 27.5.2005 08:55:47

Potrebuji ve sve aplikaci zjistit, zda je vytvorena asociace se souborem s
danou priponou pred tim nez aplikaci vyvolam, konkretne jde o .pdf. Prosim o
radu, jak to provest.
Dekuji predem Jan Dvorak

Spousteni jine aplikace v okne aplikace

[*] Milan Bartonek <mbartonek(zv)synthesia(tec)cz> - 27.5.2005 08:37:46


Ahoj,

potrebuji spoustet starsi aplikace psane v Delphi (D5) v nove aplikaci (D6
prof) tak, aby se to chovalo jako MDI aplikace.

pomoci
ShellExecute(Application.MainForm.Handle, open, PChar(aplikace),
PChar(parametr), '', SW_SHOW);
se mi to nedari - aplikaci spusti, ale na jako CHILD

Jak by to slo resit ?

Dekuji

Bartonek Milan


jak napsat SQL dotaz pro prunik

[*] Rosta <rlekes(zv)atlas(tec)cz> - 27.5.2005 06:29:37

To by sice mohlo fungovat, ale je to nejpomalejsi mozne reseni (tri
vnorene selecty).
Lepsi cesta asi budou ty opakovane joiny pripadne SP. Ale nezkousel jsem
to ... Rosta

Milan Tomes wrote:

>A co takhle:
>
>Select ICO.*
>>From ICO ICO
>Where
> exist (select ID_TYP from TYPICO where (ID_TYP = t1) and (ID_ICO =
>ICO.ID)) and
> exist (select ID_TYP from TYPICO where (ID_TYP = t2) and (ID_ICO =
>ICO.ID)) and
> exist (select ID_TYP from TYPICO where (ID_TYP = t3) and (ID_ICO =
>ICO.ID))
>
>Nevim jestli to bude fungovat, ale mohlo by :)
>
>S pozdravem
>
>Milan Tomes
>
>P.S.: Psano pro FireBirda...
>
>
>
>>[mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Martin Rocek
>>Sent: Wednesday, May 25, 2005 8:04 AM
>>
>>resim jeden laicky SQL problem. Mam 0..n organizaci (ICO) a
>>kazda organizace muze nabyvat 0..n typu (TYP). Chtel bych
>>napsat takovy SELECT, ktery vytahne organizace majici prave
>>zadane typy (t1,t2,t3).
>>
>>
>
>
>
>
>
>
>

Generator dokumentace pro Delphi programy

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 26.5.2005 19:24:52

> muzete mi poradit nejaky generator technicke dokumentace pro Delphi,
> nejlepe freeware? Do formatu HTML nebo CHM. Zkousel jsem DelphiCodeToDoc z
> http://dephicodetodoc.sourceforge.net, aele prilis nevyhovuje nebot jsou v
> nem chyby (spatne generuje odkazy mezi soubory a neumi napr. "see also")

Treba veskerou dokumentaci Synapse delam v
http://sourceforge.net/projects/pasdoc/


--
Lukas Gebauer.

E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi and Kylix TCP/IP
Library

zkusenosti s testovanim Delphi aplikace pod Wine?

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 26.5.2005 16:28:40

administrator(zv)novogear(tec)cz wrote:

> I databazove?

Zalezi na tom co pouzivas jako db vrstvu.
Ja treba pouzivam ADO, takze jediny problem je tam dostat MDAC, kteryzto
balik potrebuje naistalovat IE5+, coz tak po hodine prace (a spousty
sprostych slov) se mi povedlo.

Ale pokud pouzivas Firebird tak si myslim ze by ses obesel bez vyse
uvedenych berlicek a vystacis s nativnimi knihovnami od wine (a nemusis
resit licencni problemy).

Ta aplikace nemela samozrejme 20 formularu, ale 200 :).

Jinak to byla DB aplikace proti MSSQL2k pres ADONIS s komponentami typu
VirtualTree, naslednik RxDbGrid atd.

Ale jak rikam, hlavni problem je vybrat spravnou verzi wine + fonty, ale
da se to.> Ondrej Prokop
>
> Radek Cervinka napsal(a):
>
>
>>d) Delphi aplikace bezi opravdu pekne a korektne
>>
>>

zkusenosti s testovanim Delphi aplikace pod Wine?

[*] administrator(zv)novogear(tec)cz - 26.5.2005 16:02:37

I databazove?

Ondrej Prokop

Radek Cervinka napsal(a):

>
>d) Delphi aplikace bezi opravdu pekne a korektne
>
>
>

zkusenosti s testovanim Delphi aplikace pod Wine?

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 26.5.2005 15:44:36

Petr Mohapl wrote:

> Ahoj,
> zkouseli jste nekdo testovat aplikaci napsanou v Delphi pod Linuxem (Wine)?
> Konkretne jake mate zkusenosti s mapovanim fontu a grafikou obecne?

a) vyber si dobrou verzi wine (nektere jsou zname, ze tam jsou vetsi zmeny)
b) zkousel jsem svoji aplikaci (cca 20 formularu) a je to rychlejsi nez
windows a to rapidne (s nativnimi wine knihovnami)
c) nastaveni fontu je zalezitosti konfigurace wine, nejlepsi co se i
podarilo bylo sebrat fonty z windows (staci jich asi 5)
d) Delphi aplikace bezi opravdu pekne a korektne


R.

Generator dokumentace pro Delphi programy

[*] delphak(zv)centrum(tec)cz - 26.5.2005 15:16:34

Dobry den,
muzete mi poradit nejaky generator technicke dokumentace pro Delphi, nejlepe freeware? Do formatu HTML nebo CHM.
Zkousel jsem DelphiCodeToDoc z http://dephicodetodoc.sourceforge.net, aele prilis nevyhovuje nebot jsou v nem chyby (spatne generuje odkazy mezi soubory a neumi napr. "see also")

Dik


zkusenosti s testovanim Delphi aplikace pod Wine?

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 26.5.2005 14:32:31

Petr Mohapl wrote (on Thursday, May 26, 2005 1:58 PM):
> Ahoj,
> zkouseli jste nekdo testovat aplikaci napsanou v Delphi pod Linuxem
> (Wine)? Konkretne jake mate zkusenosti s mapovanim fontu a grafikou
> obecne?
> Diky
> Petr Mohapl

Ve Wine bezi vetsina veci v pohode, dokonce i takove ty shellove vecicky.
Ono ti to errory hazi do konzole, takze vidim, co zrovna tam nejde.

Ale jinak Win32 app. pod Winem celkem v pohode - a kdyz ne, tak ti to
ukaze, kde se to pos... a muzes to zkusit nejak obejit (treba jina fce,
atp.).

Treba muj ID3 renamer bezi pod Wine naprosto v pohode (nevim, teda jak
posledni verze, ale urcite 99% veci bude fungovat).

--
Jiri Cincura
http://ID3renamer.cincura.net/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/

Zahadne chovani TDrawGrid

[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 26.5.2005 14:30:30

26.5.2005 Petr Brant:
> Ahoj vespolek, chtel jsem do DrawGridu udelat varovny napis
> (zlute pozadi, cerveny text) a narazil jsem na zajimavy problem.
> Kdyz pouziju metodu TextRect, ktera by mela udelat napis do
> obdelniku, neobjevi se zadny napis. Pokud pouziju TextOut, napis se
> objevi tak jak ma. Pritom kdyz namisto d.Canvas pouziju
> Form1.Canvas, chova se TextRect i TextOut stejne. Delam neco spatne
> nebo je chyba v TDrawGrid? Neni to dulezite, kdyz to umim pomoci
> TextOut obejit, ale zajima me, kde je chyba.

V DrawGridu musis kreslit v udalosti, ktera provadi vykreslovani,
napr. v OnDrawCell. Ne v nejakem OnButtonClick


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


String List Editor/RichEdit problem s cz znaky

[*] Jaroslav Uher <jarek(zv)iuher(tec)cz> - 26.5.2005 14:16:29

Ahoj,

u kolegy (W2000 SP4,D6P) se spatne zobrazuji urcite kombinace ceskych
znaky.
Hlavne u znaku s: e (s hackem), n (s hackem).
V IO u TStrigList vyplni String List Editor (vse je OK), ulozi a po
opetovnem nahlednutim jsou tyto pismena mensi a snad i s jinym
fontem.

Kdyz jsme to kontrolovali v DFM (View As Text), tak je vse OK.
To by nam az tak nevadilo.

Bohuzel se podobne chova i aplikace zkompilovana mnou take na jeho PC
a u nekterych zakazniku i v Preview a tisku RichEdit komponenty
(FastReport 3.12).
Zakaznik ma take OS W2000 SP4.

Pritom u mne (a vsech PC s podobnym OS, kde jsem to testoval) je vse
bez problemu.

Je mi jasne, ze to bude delat nejaky 'zapomenuty' font, jenze jak to
vypatrat. Uz jsme kontrolovali snad, vcetne registru.

Dekuji za jakoukoli rady,

hezky den,

Jarek Uher


Zahadne chovani TDrawGrid

[*] Pavel Poles <delphi(zv)noni(tec)cz> - 26.5.2005 14:10:29

Zkusil bych doplnit

Canvas.Start;
try
// nastaveni brush, a kresleni
finally
Canvas.Stop;
end;

v CLX to dela divy pokud to nezavolas, ve VCL nevim...

Pavel Poles

> Ahoj vespolek, chtel jsem do DrawGridu udelat varovny napis (zlute pozadi,
> cerveny text) a narazil jsem na zajimavy problem. Kdyz pouziju metodu
> TextRect, ktera by mela udelat napis do obdelniku, neobjevi se zadny
> napis. Pokud pouziju TextOut, napis se objevi tak jak ma. Pritom kdyz
> namisto d.Canvas pouziju Form1.Canvas, chova se TextRect i TextOut stejne.
> Delam neco spatne nebo je chyba v TDrawGrid? Neni to dulezite, kdyz to
> umim pomoci TextOut obejit, ale zajima me, kde je chyba.
>
> RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
> http://brant.wz(tec)cz
>
> procedure TForm1.Button1Click(Sender: TObject);
> var r: TRect;
> //d je TDrawGrid
> begin
> r:= d.CellRect(1, 1);
>
> d.Canvas.Brush.Color := clYellow;
> d.Canvas.Font.Color:= clRed;
> d.Canvas.FillRect(r);
> d.Canvas.TextRect(r, 3, 3, 'Upozorneni!'); //nenapise zadny text
>
> d.Canvas.Brush.Color:= clYellow;
> d.Canvas.FillRect(r);
> d.Canvas.Font.Color:= clRed;
> d.Canvas.TextOut(r.Left + 3, r.Top + 3, 'Upozorneni'); //napise text v
> poradku
> end;
>
>

OT: zkusenosti s testovanim Delphi aplikace pod Wi

[*] Petr Mohapl <p.mohapl(zv)nemstbk(tec)cz> - 26.5.2005 13:58:28

Ahoj,
zkouseli jste nekdo testovat aplikaci napsanou v Delphi pod Linuxem (Wine)?
Konkretne jake mate zkusenosti s mapovanim fontu a grafikou obecne?
Diky
Petr Mohapl


Zahadne chovani TDrawGrid

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 26.5.2005 13:54:27

Ahoj vespolek, chtel jsem do DrawGridu udelat varovny napis (zlute pozadi, cerveny text) a narazil jsem na zajimavy problem. Kdyz pouziju metodu TextRect, ktera by mela udelat napis do obdelniku, neobjevi se zadny napis. Pokud pouziju TextOut, napis se objevi tak jak ma. Pritom kdyz namisto d.Canvas pouziju Form1.Canvas, chova se TextRect i TextOut stejne. Delam neco spatne nebo je chyba v TDrawGrid? Neni to dulezite, kdyz to umim pomoci TextOut obejit, ale zajima me, kde je chyba.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
http://brant.wz(tec)cz

procedure TForm1.Button1Click(Sender: TObject);
var r: TRect;
//d je TDrawGrid
begin
r:= d.CellRect(1, 1);

d.Canvas.Brush.Color := clYellow;
d.Canvas.Font.Color:= clRed;
d.Canvas.FillRect(r);
d.Canvas.TextRect(r, 3, 3, 'Upozorneni!'); //nenapise zadny text

d.Canvas.Brush.Color:= clYellow;
d.Canvas.FillRect(r);
d.Canvas.Font.Color:= clRed;
d.Canvas.TextOut(r.Left + 3, r.Top + 3, 'Upozorneni'); //napise text v poradku
end;

Invalid pointer v AsyncPro

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 26.5.2005 13:10:24

Ahoj,

pro komunikaci s BBS pomoci modemu pripojeneho na COM1
pouzivam AsyncPro 3.06. Zjistil jsem, ze pri zavirani COM portu vznika
na mem pocitaci pomerne casto chyba Invalid pointer operation,
obvykle v DeregisterWndTrigger (snad jsem nazev nepopletl).
Kupodivu se to nestava ukolegu a zrejme ani u zakazniku, nebo to
aspon nikdo dosud nehlasil. Aplikace jinak funguje radne a dela
presne to, co by mela. Chci se proto zeptat uzivatelu AsyncPro, zda se
s necim takovym nesetkali, pripadne zda nekdo nevi, co to je vlastne
za triggery (zatim jsem se nezkousel do strev AsyncPro ponorit).
Mam D5Ent.

Diky.

David Lebeda

Prace s Bloby

[*] Martin Pisarik <martin.pisarik(zv)seznam(tec)cz> - 26.5.2005 13:04:23

Ahoj *,
potrebuju z jedne databaze do druhe (na ruznych strojich) prekopirovavat
zaznamy s blob-fieldy.
Pokud tam nejsou bloby, tak je to jednoduche - vyrobim insertovaci dotaz a
ten provedu. Pokud jsou tam bloby, tak je tohle problem. Dokazu sice mensi
bloby vlozit taky pomoci sql insertu (obsah blobu je tam v hexa tvaru). U
velkych blob (5MB) to vsak nejde, protoze ten dotaz je pak moc dlouhy (10MB)
a to jaksi pres ADO uz neprojde.
Kdyby to bylo na jednom stroji, tak to obejdu pomoci SaveTo a LoadFrom a
uloyim si obsah blobu do pomocneho souboru. Na ruznnych strojich to vsak
delat nelze.
Da se to resit tak, ze si budu jednotlive bloby prekopirovavat v cyklu do
TADOTable, ale to znamena otevrit (a nacist) tu cilovou tabuku a ta je hodne
velka a je na jinem stroji a pres Internet to hooodme dlouho trva.
Nenapada vas nekoho nejake lepsi reseni?
Dik.

BCB6, ADO, MySQL

TSocketConnection vs. internet

[*] Ing. Michal Sefcik <mikese(zv)benefitcz(tec)cz> - 26.5.2005 12:56:22

Vyvijim 3-vrstvou aplikaci. Pro spojeni klienta s app.serverem pouzivam TSocketConnection. Na klientu pouzivam jak ClientDataSety, tak volani metod
COM objektu app.serveru. Na lokalni siti bezi vse OK. Pripojim-li se vsak
pres VPN, klient casto tuhne - a to jak pri open CliDS, tak volani metod.

Kde hledat pricinu a ceho je treba se vubec vyvarovat pri implementaci takoveto aplikace?

(SBS2000, D5ent., MSSQL2000)

Dik za nakopnuti

Michal SEFCIK

BenefitCZ, s.r.o.
Hrubeho 11
612 00 Brno

http: www.benefitcz(tec)cz

jak napsat SQL dotaz pro prunik

[*] Milan Tomes <delphi(zv)haida(tec)cz> - 26.5.2005 11:32:17

A co takhle:

Select ICO.*
>From ICO ICO
Where
exist (select ID_TYP from TYPICO where (ID_TYP = t1) and (ID_ICO =
ICO.ID)) and
exist (select ID_TYP from TYPICO where (ID_TYP = t2) and (ID_ICO =
ICO.ID)) and
exist (select ID_TYP from TYPICO where (ID_TYP = t3) and (ID_ICO =
ICO.ID))

Nevim jestli to bude fungovat, ale mohlo by :)

S pozdravem

Milan Tomes

P.S.: Psano pro FireBirda...

> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Martin Rocek
> Sent: Wednesday, May 25, 2005 8:04 AM
>
> resim jeden laicky SQL problem. Mam 0..n organizaci (ICO) a
> kazda organizace muze nabyvat 0..n typu (TYP). Chtel bych
> napsat takovy SELECT, ktery vytahne organizace majici prave
> zadane typy (t1,t2,t3).

cteni promenne z DLL

[*] Krakora Martin <krakoram(zv)seznam(tec)cz> - 26.5.2005 11:14:15

Ahoj,

Kdysi jsem to take resil a dost mi pomohl tento clanek:

http://www.gekko-software.nl/Delphi/art08.htm

Snad pomuze i tobe. Bohuzel je ale v ENG, snad to nebude velky problem.

Hodne stesti

Krakora Martin

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
> Behalf Of vstuchl(zv)email(tec)cz
> Sent: Thursday, May 26, 2005 8:16 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: cteni promenne z DLL
>
> Ahoj,
>
> potreboval bych poradit se ctenim dat, ktera mi poskytuje nejaka DLL
> knihovna. Spustim prikaz, ktery data precte a jako hodnoty mi vrati data v
> promenne typu PSafeArray. Potreboval bych data prevest z promenne
> PSafeArray do nejakeho jineho bezne pouzivaneho formatu, nejlepe String.
> Delam to v Delphi 7.
>
> Dekuji za kazdou radu.
>
> Dik,
> Vasek Stuchl
>

DirectoryListBox

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 26.5.2005 10:00:10

Vlastimil Zdenek wrote (on Thursday, May 26, 2005 9:52 AM):
> zdravim,
> jeste jeden dotaz,
> jak nastavim u komponenty DirectoryListBox nejvyssi uroven? Tzn chci, aby
> uzivatel mohl POUZE do adresaru od urcite urovne nize... Nebo nejaka jina
> lepsi komponenta (nejlepe i se sobrazenim souboru... :-))).....?

VirtualShellTools (http://www.mustangpeak.net/)

--
Jiri Cincura
http://ID3renamer.cincura.net/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/

DirectoryListBox

[*] Vlastimil Zdenek <vlastimil.zdenek(zv)seznam(tec)cz> - 26.5.2005 09:54:07

zdravim,
jeste jeden dotaz,
jak nastavim u komponenty DirectoryListBox nejvyssi uroven? Tzn chci, aby
uzivatel mohl POUZE do adresaru od urcite urovne nize... Nebo nejaka jina
lepsi komponenta (nejlepe i se sobrazenim souboru... :-))).....?

Dekuji
Vlasta, D5

DirectoryListBox

[*] Vlastimil Zdenek <vlastimil.zdenek(zv)seznam(tec)cz> - 26.5.2005 09:52:07

zdravim,
jeste jeden dotaz,
jak nastavim u komponenty DirectoryListBox nejvyssi uroven? Tzn chci, aby uzivatel mohl POUZE do adresaru od urcite urovne nize... Nebo nejaka jina lepsi komponenta (nejlepe i se sobrazenim souboru... :-))).....?

Dekuji
Vlasta, D5

test int

[*] Jiri Virt <virt(zv)volny(tec)cz> - 26.5.2005 09:30:05

v cyklu to delat nemusi ... na to je prave uz hotova procedura

procedure Val(S; var V; var Code: Integer);

kde, code , je cislo chyby, pokud se vyskytne chyba.

Jirka Virt

>Stejne musis validovat retezec v cyklu na delku retezce a tim zvalidujes i
tecku nebo carku ...

test int

[*] Jan Rychtar <software(zv)jrsoft(tec)cz> - 26.5.2005 09:26:05

Stejne musis validovat retezec v cyklu na delku retezce a tim zvalidujes i
tecku nebo carku ...

JR

----- Original Message -----
From: "Jiri Virt" <virt(zv)volny(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, May 26, 2005 9:08 AM
Subject: Re: test int


> tam by byl problem s des. teckou , ta nebude Numeric
>
>>A co IsNumeric(c: char): Boolean (unit IdGlobal) ?
>
> Jirka Virt
>
>
>

test int

[*] Jiri Virt <virt(zv)volny(tec)cz> - 26.5.2005 09:08:03

tam by byl problem s des. teckou , ta nebude Numeric

>A co IsNumeric(c: char): Boolean (unit IdGlobal) ?


Jirka Virt

test int

[*] Jan Rychtar <software(zv)jrsoft(tec)cz> - 26.5.2005 09:04:03

A co IsNumeric(c: char): Boolean (unit IdGlobal) ?

JR

----- Original Message -----
From: "Vlastimil Zdenek" <vlastimil.zdenek(zv)seznam(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Thursday, May 26, 2005 8:05 AM
Subject: test int


> zdravim konferu,
> prosim o radu:
> jak otestuju, zda muze byt string i cislo? Nechce se mi davat do try cyklu
> StrToInt(cislo)....
>
> dekuji
>
> Vlasta, D5
>
>

test int

[*] Dalibor <dalibor(zv)torola(tec)cz> - 26.5.2005 08:42:01

V Delphi 7 jde pouzit tohle

function TryStrToInt(const S: string; out Value: Integer): Boolean;

nebo

function StrToIntDef(const S: string; const Default: Integer): Integer;

> zdravim konferu,
> prosim o radu:
> jak otestuju, zda muze byt string i cislo? Nechce se mi davat do try cyklu
> StrToInt(cislo)....
>

cteni promenne z DLL

[*] vstuchl(zv)email(tec)cz - 26.5.2005 08:15:59

Ahoj,

potreboval bych poradit se ctenim dat, ktera mi poskytuje nejaka DLL knihovna. Spustim prikaz, ktery data precte a jako hodnoty mi vrati data v promenne typu PSafeArray. Potreboval bych data prevest z promenne PSafeArray do nejakeho jineho bezne pouzivaneho formatu, nejlepe String. Delam to v Delphi 7.

Dekuji za kazdou radu.

Dik,
Vasek Stuchl


test int

[*] Jiri Virt <virt(zv)volny(tec)cz> - 26.5.2005 08:11:58

proc nechce?

mrkej na Delphi help

procedure Val(S; var V; var Code: Integer);

Jirka Virt


test int

[*] Vlastimil Zdenek <vlastimil.zdenek(zv)seznam(tec)cz> - 26.5.2005 08:05:58

zdravim konferu,
prosim o radu:
jak otestuju, zda muze byt string i cislo? Nechce se mi davat do try cyklu
StrToInt(cislo)....

dekuji

Vlasta, D5

StrToIntDef v SQL

[*] Ludek <konference(zv)sales(tec)cz> - 25.5.2005 19:47:08

----- Original Message -----
From: "Ludek" <konference(zv)sales(tec)cz>
> ----- Original Message -----
> From: "Svoboda Jiri" <jsvoboda(zv)lekis(tec)cz>
> >
> > funkce CAST a CONVERT,viz help.

> To neresi muj problem , to je nahrada StrToInt resp. StrToFloat ale ne
> StrToIntDef resp. StrToFloatDef.
> Pokud pouziju
> select CAST ( 'neni cislo' AS decimal(19,5) )
> nebo
> select convert(decimal(19,5),'neni cislo')
> Padne to na chybu "Error converting data type varchar to numeric"
> Chybi tam ta moznost rict ze pokud to neni cislo tak vrat treab nulu nebo
> NULL nebo jinou hodnotu.

Ahoj,
Uz jsem to vypatral - jde to pomoci funkci ISDATE a ISNUMERIC no a dal pak
CONVERT

Ludek

StrToIntDef v SQL

[*] Ludek <konference(zv)sales(tec)cz> - 25.5.2005 19:39:07


----- Original Message -----
From: "Svoboda Jiri" <jsvoboda(zv)lekis(tec)cz>
>
> funkce CAST a CONVERT,viz help.
>
> JS
>

Ahoj,
To neresi muj problem , to je nahrada StrToInt resp. StrToFloat ale ne
StrToIntDef resp. StrToFloatDef.
Pokud pouziju
select CAST ( 'neni cislo' AS decimal(19,5) )
nebo
select convert(decimal(19,5),'neni cislo')
Padne to na chybu "Error converting data type varchar to numeric"
Chybi tam ta moznost rict ze pokud to neni cislo tak vrat treab nulu nebo
NULL nebo jinou hodnotu.

Ludek

Nastaveni accept-language na stejnou hodnotu, jako

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 25.5.2005 17:59:00

Jaroslav Pivonka wrote:
> v Registry:
>
> HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/AcceptLanguage

A mas vyzkouseno, jestli je to na ruznych typech woken a jejich lokalizacich
stejne?

pf


IB/FB: SQL: problem s insertem

[*] Kalhous <kalhous(zv)eu(tec)cz> - 25.5.2005 17:50:59

Tipnul bych si ze by to melo byt zhruba takhle:
Insert Into Tab2 (YYY,idVst,Cas1,CAS2,DOW)
Select XXX,idVst,'00:00:00','23:59:59','1111111' from Tab1
prejmenovavat respektive pojmenovavat select sloupce je zbytecne jelikoz se
dosazuji podle poradi - musi se selectovat v tom poradi v jakem jsou uvedene
ve vzctu v insertu.

> Mam tabulku Tab1 a ta ma 3 sloupce (id, XXX, idVst) vsechny integer
> a mam druhou tabulku Tab2 a ta ma sloupcu 6 (id, YYY, idVst, CAS1, CAS2,
> DOW) prvni 3 integer a CAS1, CAS2, DOW je varchar
> No a ja potrebuju tabulku Tab2 naplnit datama z Tab1. Sloupec XXX obsahuje
> hodnoty, ktere potrebuju dostat do sloupce YYY. Nedari se mi to pres
> hlaseni:
> SQL error code = -804
> Count of read-write columns does not equal count of values
> Prikaz jsem sestavil takto:
> Insert Into Tab2
> Select XXX as YYY,
> idVst as idVst,
> '00:00:00' as CAS1,
> '23:59:59' as CAS2,
> '1111111' as DOW
> from Tab1


IB/FB: SQL: problem s insertem

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 25.5.2005 17:44:58

Ing. Jiri Sokol dne 25 May 2005 v 16:36:

> Ahoj vsem!
> Resim naprosto trivialni problem, ale nejak ne a ne. Zrejme nechapu
> spravne syntax... Mam tabulku Tab1 a ta ma 3 sloupce (id, XXX, idVst)
> vsechny integer a mam druhou tabulku Tab2 a ta ma sloupcu 6 (id, YYY,
> idVst, CAS1, CAS2, DOW) prvni 3 integer a CAS1, CAS2, DOW je varchar
> No a ja potrebuju tabulku Tab2 naplnit datama z Tab1. Sloupec XXX
> obsahuje hodnoty, ktere potrebuju dostat do sloupce YYY. Nedari se mi
> to pres hlaseni: SQL error code = -804 Count of read-write columns
> does not equal count of values
>
> Prikaz jsem sestavil takto:
> Insert Into Tab2
> Select XXX as YYY,
> idVst as idVst,
> '00:00:00' as CAS1,
> '23:59:59' as CAS2,
> '1111111' as DOW
> from Tab1
>
> Nevite kde je problem? Pochopitelne, ze samotny select probehne bez
> problemu... Diky za radu Jirka

Ahoj,

a jak ma chudak FB poznat, co dat do Tab2.id? Dej tam bud Tab1.id, nebo hodnotu nejakeho
generatoru...

Karel Rys


Nastaveni accept-language na stejnou hodnotu, jako

[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 25.5.2005 16:36:53

v Registry:

HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/AcceptLanguage

Jarda
----- Original Message -----
From: "Petr Fejfar" <development(zv)callnet(tec)cz>

> CP,
>
>
> potreboval bych "kvalifikovane" vyplnit hodnotu
> Accept-Language v HTTP hlavicce.
>
> Za slusne reseni bych povazoval
> nejak prevzit hodnoty, ktere ma uzivatel
> v moznostech internetu tj. na strance
> General / Languages.
>
> Nevi nekdo, jak se na ne dostat?
>
>
> Thx, pf


IB/FB: SQL: problem s insertem

[*] Ing. Jiri Sokol <js-delphi(zv)email(tec)cz> - 25.5.2005 16:36:53

Ahoj vsem!
Resim naprosto trivialni problem, ale nejak ne a ne. Zrejme nechapu spravne syntax...
Mam tabulku Tab1 a ta ma 3 sloupce (id, XXX, idVst) vsechny integer
a mam druhou tabulku Tab2 a ta ma sloupcu 6 (id, YYY, idVst, CAS1, CAS2, DOW) prvni 3 integer a CAS1, CAS2, DOW je varchar
No a ja potrebuju tabulku Tab2 naplnit datama z Tab1. Sloupec XXX obsahuje hodnoty, ktere potrebuju dostat do sloupce YYY. Nedari se mi to pres hlaseni:
SQL error code = -804
Count of read-write columns does not equal count of values

Prikaz jsem sestavil takto:
Insert Into Tab2
Select XXX as YYY,
idVst as idVst,
'00:00:00' as CAS1,
'23:59:59' as CAS2,
'1111111' as DOW
from Tab1

Nevite kde je problem? Pochopitelne, ze samotny select probehne bez problemu...
Diky za radu
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol(zv)seznam(tec)cz; 972 231 187
D6Prof+SP3; WinXPProf+SP2; FB 1.5.2
programator amater

StrToIntDef v SQL

[*] Svoboda Jiri <jsvoboda(zv)lekis(tec)cz> - 25.5.2005 15:28:48


funkce CAST a CONVERT,viz help.

JS

>Zdravim,
>Vite nekdo jak v T-SQL (MS SQL 2000) napsat ekvivalenty pro
>StrToIntDef
>StrToFloatDef
>StrToDateTimeDef
>nebo jak jinak zajistit bezproblemovy prevod textu do netextovych
promennych
>abych eliminoval hlasky typu "Error converting data type varchar to
numeric"

StrToIntDef v SQL

[*] Ludek <konference(zv)sales(tec)cz> - 25.5.2005 15:18:47

Zdravim,
Vite nekdo jak v T-SQL (MS SQL 2000) napsat ekvivalenty pro
StrToIntDef
StrToFloatDef
StrToDateTimeDef
nebo jak jinak zajistit bezproblemovy prevod textu do netextovych promennych
abych eliminoval hlasky typu "Error converting data type varchar to numeric"

Predem dik.

Ludek

Nastaveni accept-language na stejnou hodnotu, jako

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 25.5.2005 15:14:47

CP,


potreboval bych "kvalifikovane" vyplnit hodnotu
Accept-Language v HTTP hlavicce.

Za slusne reseni bych povazoval
nejak prevzit hodnoty, ktere ma uzivatel
v moznostech internetu tj. na strance
General / Languages.

Nevi nekdo, jak se na ne dostat?


Thx, pf

Refresh potomka TCustomTreeView

[*] Jiri Bouchala <bouchala(zv)starmon(tec)cz> - 25.5.2005 15:12:47

Jak donutit potomka TCustomTreeView k prekresleni, aby probehly udalosti OnAdvancedCustomDrawItem?
Potrebuji ho aktualizovat po zmenach dat v bufferu do ktereho ukazuji property Data jednotlivych nodu nikoli jen po rozbaleni nodu nebo pouziti scrollbaru atd. Nejlepe priklad.
Diky

TDBGrid a lookup field

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 25.5.2005 12:24:35

> Ale jo rozbalovaci menu se mi tam zobrazi se spravnyma datama, ale v
> samotnem policku po vyberu polozky z ciselniku se mi do lookup pole
> nacte cislo (idkomu). Ted mi to pro zmenu dela to , ze se tam zobrazi po
> vyberu False :) viz odkazy:
>
> http://www.ppc4all.com/lookup/lookup1.jpg
> http://www.ppc4all.com/lookup/lookup2.jpg

Hmmmmmmmmm, opravdu divny.
Z tech jpg to vypada dobre.

Zkus zkontrolovat properties toho lookup fieldu "idkomulookup".
Musi to fungovat, nekde je problemek.
Predpokladam, ze id je primary key v tom ciselniku.

Honza


TDBGrid a lookup field

[*] Sula Milos <milos.sula(zv)musumperk(tec)cz> - 25.5.2005 11:22:31

Ale jo rozbalovaci menu se mi tam zobrazi se spravnyma datama, ale v
samotnem policku po vyberu polozky z ciselniku se mi do lookup pole
nacte cislo (idkomu). Ted mi to pro zmenu dela to , ze se tam zobrazi po
vyberu False :) viz odkazy:

idkomu (integer) - tabulka 'uzivateleukoly': sloupec odkazuje na
ciselnik v tabulce 'uzivatele'
idkomulookup:rucne vytvoreny lookup do tabulky 'uzivatele' na pole id
(integer)

http://www.ppc4all.com/lookup/lookup1.jpg
http://www.ppc4all.com/lookup/lookup2.jpg

diky
Milos

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Jan Sebelik
Sent: Wednesday, May 25, 2005 10:04 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: TDBGrid a lookup field


> nevite jak donutit TDBGrid aby zobrazoval u lookup poli misto KeyFiled

> (integer)(ktere me vubec nezajima a slouzi jen ciste na propojeni s
> ciselnikem) LookupResultField ? Trosku mi vrta hlavou jakto ze takovou

> uplne zakladni vec by DBGrid neumel...

To je divny ...

Z tveho textu sice neni jasne, jak to mas vsechno propojeno, ale urcite
to muze fungovat tak, jak potrebujees.

Fields editor (polozky datasetu)
-------------
id
.....
dalsi polozky
.....
idfk odkaz do cilelniku
.....
dalsi polozky
.....
idfknazev lookup field, odkazujici na nazev polozky ciselniku
-------------

Sloupec DBGridu pripojim na polozku idfknazev a musi to fungovat - tedy
rozbalovaci combo s nazvy z ciselniku.

Honza
viz Delphi - zakladni kurz
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347 735)
====================================

Transparetni obdelnik

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 25.5.2005 10:36:28


> muzu ti jen trosku poradit, vim ze Virtual Tree
> http://www.delphi-gems.com/VirtualTreeview/
> ma par procedur, ktere umi alpha blending, muzes to z toho pouzit
> (funguje to hezky)

jeste poznamka:
ta procedura se jmenuje
*Alphablend*: a general purpose procedure to blend a source onto a
target bitmap using several different modes.
R

Transparetni obdelnik

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 25.5.2005 10:26:27

Dalibor wrote:

> Ahoj, pouzivam TPaintBox, do nej chci rucne kreslit. Jak muzu vykreslit treba obdelnik, ktery by byl pruhledny, pripadne jak urcim, jak moc ma byt pruhledny?
> Hodi se vubec na takove veci TPaintBox?


muzu ti jen trosku poradit, vim ze Virtual Tree
http://www.delphi-gems.com/VirtualTreeview/
ma par procedur, ktere umi alpha blending, muzes to z toho pouzit
(funguje to hezky)

Jinak to prave klicove slovo je prave asi Alpha blending, a
par implementaci pro delphi existuje.

jinak se muzes podivat i na:

http://www.progdigy.com/modules.php?name=gdiplus

R.

memory dump

[*] david.kopecek(zv)hacktrack(tec)com - 25.5.2005 10:08:25

Zdravim konferenci

nevite nekdo nahodou jak zjisti heslo lokalne prihlaseneho uzivatele.
Tj. zjistit si sam sve heslo kdyz jsem prihlasen do pocitace ?..

Videl jsem nejaky kod v Delphi ktery provedl dump z pameti nejakeho procesu
a bylo tam videt dane heslo.

Nemate nekdo blissi info nebo kod ktery by to umel ?

Diky David

TDBGrid a lookup field

[*] Jan Sebelik <honza(zv)haes(tec)cz> - 25.5.2005 10:04:25

> nevite jak donutit TDBGrid aby zobrazoval u lookup poli misto KeyFiled
> (integer)(ktere me vubec nezajima a slouzi jen ciste na propojeni s
> ciselnikem) LookupResultField ? Trosku mi vrta hlavou jakto ze takovou
> uplne zakladni vec by DBGrid neumel...

To je divny ...

Z tveho textu sice neni jasne, jak to mas vsechno propojeno, ale urcite to muze fungovat tak, jak potrebujees.

Fields editor (polozky datasetu)
-------------
id
....
dalsi polozky
....
idfk odkaz do cilelniku
....
dalsi polozky
....
idfknazev lookup field, odkazujici na nazev polozky ciselniku
-------------

Sloupec DBGridu pripojim na polozku idfknazev a musi to fungovat - tedy rozbalovaci combo s nazvy z ciselniku.

Honza
viz Delphi - zakladni kurz
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes(tec)cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347 735)
====================================

jak napsat SQL dotaz pro prunik

[*] Petr Fejfar <development(zv)callnet(tec)cz> - 25.5.2005 09:52:24

horky(zv)cominn(tec)cz wrote:

> V tom pripade se asi klausuli Having nevyhnes, protoze z vybranych

Jeste by sel pouzit self-join, tedy neco takoveho:

...
inner join typico j1 on j1.id_typ=t1
inner join typico j2 on j2.id_typ=t2
inner join typico j3 on j3.id_typ=t3
...

HTH, pf


TDBGrid a lookup field

[*] Sula Milos <milos.sula(zv)musumperk(tec)cz> - 25.5.2005 09:34:23

Zdravim,
nevite jak donutit TDBGrid aby zobrazoval u lookup poli misto KeyFiled
(integer)(ktere me vubec nezajima a slouzi jen ciste na propojeni s
ciselnikem) LookupResultField ? Trosku mi vrta hlavou jakto ze takovou
uplne zakladni vec by DBGrid neumel...


Milos

jak napsat SQL dotaz pro prunik

[*] horky(zv)cominn(tec)cz - 25.5.2005 09:08:20

> From: Martin Rocek [mailto:rocek(zv)dibaq(tec)cz]
>
> select ico.nazev from ico
> left join typico on (typico.id_ico = ico.id)
> where typico.id_typ in (t1,t2,t3)
>
> je videt ze to vybere organizace s typem t1 NEBO t2 NEBO t3,
> ale me jde
> hlavne aby to vytahlo organizace, ktere maji prave vsechny
> tyhle typy (asi
> jsem predtim vynechal slovicko "vsechny").

V tom pripade se asi klausuli Having nevyhnes, protoze z vybranych zaznamu chces jen nektere.
Na Firebirdu bych to resil radeji ulozenou procedurou nez slozitym selektem.
--
S pozdravem Karel Horky, D7, FB 1.0.3, IBX 7.08, WXP SP1
[mailto:horky(zv)cominn(tec)cz]

jak napsat SQL dotaz pro prunik

[*] Martin Rocek <rocek(zv)dibaq(tec)cz> - 25.5.2005 08:34:18

Pouzivam Oracle 8.1.7

uz podle konstrukce dotazu:

select ico.nazev from ico
left join typico on (typico.id_ico = ico.id)
where typico.id_typ in (t1,t2,t3)

je videt ze to vybere organizace s typem t1 NEBO t2 NEBO t3, ale me jde
hlavne aby to vytahlo organizace, ktere maji prave vsechny tyhle typy (asi
jsem predtim vynechal slovicko "vsechny").

Diky martinr


jak napsat SQL dotaz pro prunik

[*] horky(zv)cominn(tec)cz - 25.5.2005 08:20:17

> From: Martin Rocek [mailto:rocek(zv)dibaq(tec)cz]

> SELECT, ktery vytahne
> organizace majici prave zadane typy (t1,t2,t3).
>

> Tabulky:
> ICO
> - ID
> - Nazev
>
> TYPICO
> - ID_ICO
> - ID_TYP
>
> TYP
> - ID
> - Nazev
>

Nepises, jakou mas databazi, muze se to podle db mirne lisit. Pouzil bych nejaky join:

select ico.nazev from ico
left join typico on (typico.id_ico = ico.id)
where typico.id_typ in (t1,t2,t3)

Klausuli Having se vyhybej, velmi zdrzuje, protoze filtruje az vybranou skupinu zaznamu.
--
S pozdravem Karel Horky, D7, FB 1.0.3, IBX 7.08, WXP SP1
[mailto:horky(zv)cominn(tec)cz]

jak napsat SQL dotaz pro prunik

[*] Martin Rocek <rocek(zv)dibaq(tec)cz> - 25.5.2005 08:04:15

Zdravim,

resim jeden laicky SQL problem. Mam 0..n organizaci (ICO) a kazda organizace
muze nabyvat 0..n typu (TYP). Chtel bych napsat takovy SELECT, ktery vytahne
organizace majici prave zadane typy (t1,t2,t3).

Kolega prisel na nasledujici tvar:
SELECT ICO.Nazev FROM ICO WHERE ICO.ID IN ((SELECT ID_ICO FROM TYPICO WHERE
ID_TYP IN (t1,t2,t3) GROUP BY ID_ICO HAVING COUNT(ID_ICO)=3)))

Tabulky:
ICO
- ID
- Nazev

TYPICO
- ID_ICO
- ID_TYP

TYP
- ID
- Nazev


Existuje i neco jednodussiho? Jde mi vlastne o prunik.

Diky martinr

obnova MSSQL

[*] Tyslic Jiri <jiri.tyslic(zv)opp.tbggroup(tec)com> - 25.5.2005 07:32:13

> dobry den,
> je mozne nejak zachranit data po obnove ze zalohy, napr. z nejakeho
> temporay souboru?
> s pozdravem Votava w2k, D5Pro, MSSQL2000
>
Obecne, pokud byl na databazi zapnuty transakcni log a provadeli se pravidelne zalohy tak ano. Pokud byla databaze v Simple modu, tzn. bez transakcnich logu, tak jsou bohuzel data ztracena.

Jirka


obnova MSSQL

[*] votavaSW <mail(zv)votavasw(tec)com> - 24.5.2005 16:34:55

dobry den,
je mozne nejak zachranit data po obnove ze zalohy, napr. z nejakeho
temporay souboru?
s pozdravem Votava w2k, D5Pro, MSSQL2000

Grid pro D2005

[*] Josef Zvonicek <prosoft(zv)prosoft(tec)cz> - 24.5.2005 15:20:49

A existuje take neco v .NET (nejaky TCustomGrid)??

Zvo.

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Jan Netrval
Sent: Tuesday, May 24, 2005 1:55 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Grid pro D2005

Omlouvam se jde o Win32

Jan Netrval


-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Petr Vones
Sent: Tuesday, May 24, 2005 11:57 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Grid pro D2005

From: "Jan Netrval" <jnetrval(zv)pilscom(tec)cz>
> Shanim nejakou free komponentu mrizky pro D2005 a nejak nemohu nic najit.

Problem toho dotazu je ze z neho neni jasne zdali pro (VCL) Win32 nebo
(WinForms) .NET

Petr Vones


Grid pro D2005

[*] Jan Netrval <jnetrval(zv)pilscom(tec)cz> - 24.5.2005 13:54:43

Omlouvam se jde o Win32

Jan Netrval


-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Petr Vones
Sent: Tuesday, May 24, 2005 11:57 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Grid pro D2005

From: "Jan Netrval" <jnetrval(zv)pilscom(tec)cz>
> Shanim nejakou free komponentu mrizky pro D2005 a nejak nemohu nic najit.

Problem toho dotazu je ze z neho neni jasne zdali pro (VCL) Win32 nebo
(WinForms) .NET

Petr Vones

Transparetni obdelnik

[*] Dalibor <dalibor(zv)torola(tec)cz> - 24.5.2005 13:36:42

Ahoj, pouzivam TPaintBox, do nej chci rucne kreslit. Jak muzu vykreslit treba obdelnik, ktery by byl pruhledny, pripadne jak urcim, jak moc ma byt pruhledny?
Hodi se vubec na takove veci TPaintBox?

Grid pro D2005

[*] Petr Vones <konference(zv)petrvones(tec)net> - 24.5.2005 11:56:34

From: "Jan Netrval" <jnetrval(zv)pilscom(tec)cz>
> Shanim nejakou free komponentu mrizky pro D2005 a nejak nemohu nic najit.

Problem toho dotazu je ze z neho neni jasne zdali pro (VCL) Win32 nebo
(WinForms) .NET

Petr Vones


hodnota ID BeforePost

[*] Venca Zaruba <zaruba(zv)elastoform(tec)cz> - 24.5.2005 12:10:35

Zdravim,
Mam pripojenou mdb prez ODBC. Pro aktualizaci pouzivam UpdateSQL komponentu. Stojim pred problemem jak zjistit hodnotu prideleneho ID (automaticky int) BeforePost? Dokonce (jak jsem se ptal nedavno) se mi nedari tuto hodnotu zjistit i po AfterPost - ApplyUpdates (to by mi stacilo). Vidim ji, az po close/open. ID potrebuji pro zalozeni detail recordu a najeti na zaznamy pri aktualnim razeni. Zkousel jsem se seekovat na mnou generovanou pomocnou hodnotu, ale mylim si, ze to musi nejak jit rovnou.

DIKY za nakopnuti

Prijemny zbytek dne
Vasek Zaruba
8^)

Zruseni selektu radku DBGridu

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 24.5.2005 10:50:29

PCservis Skloform a.s. wrote:

> Pekny den.
>
> Mohl by mi, prosim, nekdo poradit, jak nejlepe programove zrusit select radku DBGridu?
>

ze by
DBgrid.SelectedRows.Clear

R.

QReport: QRImage - obrazek se obcas nevytiskne

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 24.5.2005 10:38:28

delphak(zv)centrum(tec)cz wrote:
> pouzivam QReport 3.5.0 - v sestave je QRImage a v ni
> staticky nahrany obrazek. Cas od casu se misto obrazku
> vytiskne pouze cerny ctverecek. Tento jev se nahodne
> vyskytuje na ruznych pocitacich a ruznych tiskarnach,
> nepodarilo se mi vysledovat zavislost.

Protoze jsi se ptal v lednu na stejny problem, vidim ze jsi nikam
nepostoupil. Preposilam znovu to, co jsem odpovidal tenkrat a
prisaham, ze pul roku nam to beha u stovek klientu a zadna stiznost
na cerne ctverecky nebyla, zatimco pred upravou to byly desitky
pripadu :-)

-------- Original Message --------
Subject: Re: QReport: QRImage - chybne zobrazeni a tisk
Date: Mon, 31 Jan 2005 16:52:32 +0100
From: Martin Schayna <mschayna(zv)aktis(tec)cz>

Vitej v klubu!

Je to letita chyba v QR, nevim jestli je v aktualni verzi jiz
opravena ci nikoliv. Kazdopadne pokud mas zdrojove kody QR muzes si
ji opravit sam.

V unite QRCtrls je procedura PrintBitmap, ktera tiskne obrazek na
canvas pomoci funkce StretchDIBits, je to ucebnicovy kus kodu ktery
se snad ani neda napsat jinak. Kolega do toho vrtal a prisel na to
ze v prikladech pouziti teto funkce na webu se alokuje pamet pro DIB
data pomoci GlobalAllocPtr/GlobalFreePtr, kdezto Qusofti to delaji
standardnim AllocMem/FreeMem. Opraveno, nasazeno a uz se cerne
ctverce nevyskytuji. Posilam celou upravenou proceduru PrintBitmap
odpovidajici verzi QR 3.6:

procedure PrintBitmap(aCanvas : TCanvas; Dest : TRect; Bitmap :
TBitmap);
var
Info : PBitmapInfo;
InfoSize : DWORD;
Image : Pointer;
ImageSize : DWord;
begin
with Bitmap do
begin
GetDIBSizes(Handle, InfoSize, ImageSize);
Info := AllocMem(InfoSize);
try
//Image := AllocMem(ImageSize);
Image := GlobalAllocPtr(HeapAllocFlags, ImageSize);
try
GetDIB(Handle, Palette, Info^, Image^);
if not Monochrome then
SetStretchBltMode(ACanvas.Handle, STRETCH_DELETESCANS);
with Info^.bmiHeader do
StretchDIBits(aCanvas.Handle, Dest.Left, Dest.Top,
Dest.RIght - Dest.Left, Dest.Bottom - Dest.Top,
0, 0, biWidth, biHeight, Image, Info^,
DIB_RGB_COLORS, SRCCOPY);
finally
//FreeMem(Image, ImageSize);
GlobalFreePtr(Image);
end;
finally
FreeMem(Info, InfoSize);
end;
end;
end;

Martin Schayna

Zruseni selektu radku DBGridu

[*] PCservis Skloform a.s. <pcservis(zv)skloform(tec)cz> - 24.5.2005 10:18:27

Pekny den.

Mohl by mi, prosim, nekdo poradit, jak nejlepe programove zrusit select radku DBGridu?

Mam Table1 ovladanou navigatorem a Table2, ktera je podrizena Table1.
Polozky Table2 zobrazuje DBGrid. Pokud v gridu vyberu nejake polozky z Table2 (SelectedRows > 0), zapnu prislusne tlacitko a lze s nimi pracovat. Kdyz se pak navigatorem nastavim na dalsi polozku Table1, potrebuju ten predesly vyber zrusit. V helpu jsem bohuzel zadnou metodu ke zruseni nenasel (nebo uz spatne vidim). Nejlepsi by byl nejaky priklad. Rada typu "vytvor si potomka xyz" nebo "odchyt si udalost abc" mi moc nepomuze. Programuju sice pres 20 let, ale ne v Delphi.

S diky
Jirka

QReport: QRImage - obrazek se obcas nevytiskne

[*] delphak(zv)centrum(tec)cz - 24.5.2005 10:16:26

Dobry dem,

pouzivam QReport 3.5.0 - v sestave je QRImage a v ni staticky nahrany obrazek. Cas od casu se misto obrazku vytiskne pouze cerny ctverecek. Tento jev se nahodne vyskytuje na ruznych pocitacich a ruznych tiskarnach, nepodarilo se mi vysledovat zavislost.
Obrazek je cca 120x120 pixelu

Nemate nekdo podobnou zkusenost nebo nejakou ideu co s tim?

Dik za radu.

PS: Opravdu nemohu a nechci prejit na jiny nastroj pro sestavy.

Neposlusny ComboBox

[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 24.5.2005 09:08:19

Ahoj!

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz]On Behalf Of Jan Fiala
>
>
> 23.5.2005 Ing. Igor Vodicka:
>
> > Jenze v jednom ToolBaru mam i s tlacitky umisten jeden
> ComboBox. V Combu je
> > nacten seznam datumu.
>
> > Na plose otviram jednotliva MDIChildOkna. Tato okna obsahuji komponentu
> > THTMLViewer, do ktere otviram ruzne HTML soubory. Uzivatel muze pomoci
> > ComboBoxu v danem ToolBaru zmenit datum, a tim do vsech
> MDIChildoken nacist
> > stavy HTML souboru k vybranemu datumu. Do tohoto okamziku neni zadny
> > problem.
>
> > Ale po udalosti, ComboBoxChange, ve ktere provadim reload HTML
> souboru ve
> > vsech oknech, zustava Focus na danem ComboBoxu a pokud chci mysi nad
> > aktivnim MDIChildoknem (provedu s nim BringToFront i
> FormActivate) pouzit
> > kolecko mysi k posuvu textu, porad se ovlada ComboBox (meni se hodnota v
> > combu) a ne nacteny text v MDIChildokne. Nejsem proste schopen
> zamerit nebo
> > zaktivnit objekt s HTML souborem.
>
> Nekdy nestaci komponenta.SetFocus, ale je treba na to jit pres
> Windows.SetFocus()
>

Vyreseno, funkce Windows.SetFocus(ActiveMDIChild.Handle) jednoznacne
zamerila aktivni okno a kolecko mysi zacalo fungovat spravne.

Diky

Igor Vodicka


SQLite

[*] Sula Milos <milos.sula(zv)musumperk(tec)cz> - 24.5.2005 08:16:12

Ano u INTEGER PRIMARY INDEX jo ale napr. u INTEGER PRIMARY KEY
AUTOINCREMENT to je jinak viz. http://www.sqlite.org/autoinc.html.
Docela by me zajimalo jestli existuji nejake lepsi komponenty nez od
aducomu, protoze ty jsou napsany az moc jednoduse a nepodporuji napr.
autoinc sloupce. Sice jsem si tam podporu dopsal, ktera zamezi vkladani
autoinc sloupce do insertu a po exceute nacte jejich hodnotu do
datasetu, ale tech nedotahnutych veci tam je vice.


Milos

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Lukas Gebauer
Sent: Monday, May 23, 2005 8:13 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: SQLite


> Ahoj,
> stahnul jsem si z http://www.aducom.com/sqlite/download.htm komponenty

> pro SQLite3 databazi. Vytvoril jsme si tabulku uzivatel kde je sloupec

> "id" typu PRIMARY INDEX UNIQUE AUTOINCREMENT. V aplikaci mam v
> TASQLiteTable pridany tento sloupec s nastavenym AutoGenerateValue na
> arAutoInc a FieldKind na fkInternalCalc a ReadOnly na true. Bohuzel mi

> aplikace pri

No, neznam tvoje komponenty, ale pokud v SQlite tabulce udelas pole:

id INTEGER PRIMARY KEY

... tak takove pole je automaticky generovany identifikator radku, u
ktereho mas jistotu, ze je v tabulce unikatni. Toto pole je take
automaticky indexovane! (a pokud se nam nem pokousis vytvaret jeste
dalsi
index, tak je to spolehliva cesta jak snizit vykon databaze. ;-)) Ve
skutecnosti takto nadeklarovane pole je jen odkaz na ROWID. ;-)

Mam pocit, ze se snaziz prave o toto, akorat nejakou kotrbatejsi a
slozitejsi cestou.


--
Lukas Gebauer.

E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi and Kylix TCP/IP
Library


SQLite

[*] Lukas Gebauer <gebylist(zv)mlp(tec)cz> - 23.5.2005 20:13:22

> Ahoj,
> stahnul jsem si z http://www.aducom.com/sqlite/download.htm komponenty pro
> SQLite3 databazi. Vytvoril jsme si tabulku uzivatel kde je sloupec "id"
> typu PRIMARY INDEX UNIQUE AUTOINCREMENT. V aplikaci mam v TASQLiteTable
> pridany tento sloupec s nastavenym AutoGenerateValue na arAutoInc a
> FieldKind na fkInternalCalc a ReadOnly na true. Bohuzel mi aplikace pri

No, neznam tvoje komponenty, ale pokud v SQlite tabulce udelas pole:

id INTEGER PRIMARY KEY

.. tak takove pole je automaticky generovany identifikator radku, u
ktereho mas jistotu, ze je v tabulce unikatni. Toto pole je take
automaticky indexovane! (a pokud se nam nem pokousis vytvaret jeste dalsi
index, tak je to spolehliva cesta jak snizit vykon databaze. ;-)) Ve
skutecnosti takto nadeklarovane pole je jen odkaz na ROWID. ;-)

Mam pocit, ze se snaziz prave o toto, akorat nejakou kotrbatejsi a
slozitejsi cestou.


--
Lukas Gebauer.

E-mail: gebauerl(zv)mlp(tec)cz
WEB: http://www.ararat(tec)cz/synapse - Synapse Delphi and Kylix TCP/IP
Library

Neposlusny ComboBox

[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 23.5.2005 19:11:17

23.5.2005 Ing. Igor Vodicka:

> Jenze v jednom ToolBaru mam i s tlacitky umisten jeden ComboBox. V Combu je
> nacten seznam datumu.

> Na plose otviram jednotliva MDIChildOkna. Tato okna obsahuji komponentu
> THTMLViewer, do ktere otviram ruzne HTML soubory. Uzivatel muze pomoci
> ComboBoxu v danem ToolBaru zmenit datum, a tim do vsech MDIChildoken nacist
> stavy HTML souboru k vybranemu datumu. Do tohoto okamziku neni zadny
> problem.

> Ale po udalosti, ComboBoxChange, ve ktere provadim reload HTML souboru ve
> vsech oknech, zustava Focus na danem ComboBoxu a pokud chci mysi nad
> aktivnim MDIChildoknem (provedu s nim BringToFront i FormActivate) pouzit
> kolecko mysi k posuvu textu, porad se ovlada ComboBox (meni se hodnota v
> combu) a ne nacteny text v MDIChildokne. Nejsem proste schopen zamerit nebo
> zaktivnit objekt s HTML souborem.

Nekdy nestaci komponenta.SetFocus, ale je treba na to jit pres
Windows.SetFocus()

U komponent, zalozenych na TWebBrowser je to jeste komplikovanejsi,
protoze tam je nekolik vrstev na sobe. Jak je to konkretne v
THTMLViewer nevim.

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


Grid pro D2005

[*] Jan Netrval <jnetrval(zv)pilscom(tec)cz> - 23.5.2005 17:41:09

Shanim nejakou free komponentu mrizky pro D2005 a nejak nemohu nic najit. Mela by mit pekny graficky vzhled, razeni dle sloupcu, umoznit zobrazeni dat mimo DB apod. Pouzival jsem komponentu od BergSoftware, ale pro D2005 neni bohuzel free.



Nevite nekdo o necem?



Diky

Jan Netrval

Neposlusny ComboBox

[*] Ing. Jiri Sokol <js-delphi(zv)email(tec)cz> - 23.5.2005 16:23:03

> Od: Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz>
> Datum: 23.05.2005 10:00:37

> Ale po udalosti, ComboBoxChange, ve ktere provadim reload HTML souboru ve
> vsech oknech, zustava Focus na danem ComboBoxu a pokud chci mysi nad
> aktivnim MDIChildoknem (provedu s nim BringToFront i FormActivate) pouzit
> kolecko mysi k posuvu textu, porad se ovlada ComboBox (meni se hodnota v
> combu) a ne nacteny text v MDIChildokne. Nejsem proste schopen zamerit nebo
> zaktivnit objekt s HTML souborem.
>
>
> Ing. Igor Vodicka

Ahoj.
Jelikoz se zatim nikdo neozval, zkusim jen napad. Myslim,ze problem je v tom, ze na tom Combu zustane focus. Co takhle hlidat v OnEnter toho Comba, ze ktereho objectu jsi na nej vstoupil a po udalosti onChange vratit focus tomu objectu...
Mozna by to mohlo fungovat...
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol(zv)seznam(tec)cz; 972 231 187
D6Prof+SP3; WinXPProf+SP2; FB 1.5.2
programator amater

DBGRID

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 23.5.2005 12:58:49

> TDBGrid vklada novej radek sam od sebe ? A jak ?

Kdyz zkusis dat sipku dolu na poslednim radku.

David Lebeda

Delphi 6 vrs interbase 6.0

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 23.5.2005 12:26:47

Hm, slovo "STARTING WITH" vidim poprve, takze s tim nemam zkusenost. Zkus
misto toho pouzit SELECT * FROM ZAKAZNIK WHERE PRIJMENI LIKE 'Pa%', treba
se tim neco zmeni.

RNDr. Petr Brant [brant(zv)dcomm(tec)cz]
http://brant.wz(tec)cz


mam problem s timto SQL dotazem pod IB 6.0 pres DBExpress:
SELECT * FROM ZAKAZNIK WHERE PRIJMENI STARTING WITH 'Pa'
seznam vet pak zahrnuje vsechny vety tabulky, prestoze tabulka obsahuje
PRIJMENI Panek, Pankova. U nekterych jmen to vsak bezproblemu funguje, a
navic to funguje v IBConsoli naprosto bez problemu. Databaze je CP 1250,
polozka PRIJMENI je VARCHAR 1250, v parametrech SQL Conn. mam 1250-ku.

DBGRID

[*] Sula Milos <milos.sula(zv)musumperk(tec)cz> - 23.5.2005 12:18:44

TDBGrid vklada novej radek sam od sebe ? A jak ? me to teda nedela, vzdy
mi po nacteni dat zobrazi jen ty zaznamy a nakonec nevlozi zadnej radek
do kteryho bych mohl vkladat novej zaznam, takze musim mackat na + v
dbnavigatoru, nebo jinym zpusoben insertovat novej radek.

Milos


> Ahoj,
> nevim jestli mi neco neuteklo, ale nedal prene tohle TDBGrid sam od
> sebe.
>
> Samozrejme nesmi byt ReadOnly, tedy mnel by byt editovatelny.
>
> Vaclav Halik
>
> >existuje obdoba TDBGRID, ale ktera funguje bez navigatoru. Vklada na
> >konec prazdnej radek pro pripadnej dalsi zaznam, dela update pri
> >prechodu na jinej radek a maze se napr. pomoci DEL ? Je to tak napr
> >myslim v Enterprise Manageru k MSSQL pri vyplnovani tabulek. Urychli
> >to o neco zadavani dat, nez porad mackat vlozit a update :)

Delphi 6 vrs interbase 6.0

[*] Karel Rys <delphi(zv)zas-me(tec)cz> - 23.5.2005 12:16:44

Jan Rychtar dne 23 May 2005 v 12:04:

> Dobry den, mam problem s timto SQL dotazem pod IB 6.0 pres DBExpress:
> SELECT * FROM ZAKAZNIK WHERE PRIJMENI STARTING WITH 'Pa' seznam vet
> pak zahrnuje vsechny vety tabulky, prestoze tabulka obsahuje PRIJMENI
> Panek, Pankova. U nekterych jmen to vsak bezproblemu funguje, a navic
> to funguje v IBConsoli naprosto bez problemu. Databaze je CP 1250,
> polozka PRIJMENI je VARCHAR 1250, v parametrech SQL Conn. mam 1250-ku.
> Diky za radu.

Jak by dopadlo

SELECT * FROM ZAKAZNIK WHERE PRIJMENI LIKE 'Pa%' ?

Jinak podobne divne se nam kdysi IB chovala, kdyz mela poskozene indexy, spravilo se to zalohou a
obnovou.

Nevyplatilo by se prejit na FB 1.5.2?

Karel Rys


SQLite

[*] Sula Milos <milos.sula(zv)musumperk(tec)cz> - 23.5.2005 12:06:43

Ahoj,
stahnul jsem si z http://www.aducom.com/sqlite/download.htm komponenty
pro SQLite3 databazi. Vytvoril jsme si tabulku uzivatel kde je sloupec
"id" typu PRIMARY INDEX UNIQUE AUTOINCREMENT. V aplikaci mam v
TASQLiteTable pridany tento sloupec s nastavenym AutoGenerateValue na
arAutoInc a FieldKind na fkInternalCalc a ReadOnly na true. Bohuzel mi
aplikace pri zadavani dat do TDBGridu stejne hlasi chybu ohledne tohoto
pole ( zrejme tam cpe NULL ). Pokud sloupec "id" odstranim z
TASQLiteTable potom je vse v poradku, ale ja potrebuji v DBGridu sloupec
"id" zobrazit.


diky

Milos

Delphi 6 vrs interbase 6.0

[*] Jan Rychtar <software(zv)jrsoft(tec)cz> - 23.5.2005 12:04:42

Dobry den, mam problem s timto SQL dotazem pod IB 6.0 pres DBExpress:
SELECT * FROM ZAKAZNIK WHERE PRIJMENI STARTING WITH 'Pa'
seznam vet pak zahrnuje vsechny vety tabulky, prestoze tabulka obsahuje PRIJMENI Panek, Pankova. U nekterych jmen to vsak bezproblemu funguje, a navic to funguje v IBConsoli naprosto bez problemu. Databaze je CP 1250, polozka PRIJMENI je VARCHAR 1250, v parametrech SQL Conn. mam 1250-ku. Diky za radu.

Neposlusny ComboBox

[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 23.5.2005 09:58:34

Ahoj!

Trapim se s jednim problemem.
Mam MDI aplikaci, klasika. Nahore menu, pod tim ControlBar a v nem nekolik
ToolBaru. ToolBary obsahuji funkcni tlacitka, proste jak rikam klasika.
Jenze v jednom ToolBaru mam i s tlacitky umisten jeden ComboBox. V Combu je
nacten seznam datumu.

Na plose otviram jednotliva MDIChildOkna. Tato okna obsahuji komponentu
THTMLViewer, do ktere otviram ruzne HTML soubory. Uzivatel muze pomoci
ComboBoxu v danem ToolBaru zmenit datum, a tim do vsech MDIChildoken nacist
stavy HTML souboru k vybranemu datumu. Do tohoto okamziku neni zadny
problem.

Ale po udalosti, ComboBoxChange, ve ktere provadim reload HTML souboru ve
vsech oknech, zustava Focus na danem ComboBoxu a pokud chci mysi nad
aktivnim MDIChildoknem (provedu s nim BringToFront i FormActivate) pouzit
kolecko mysi k posuvu textu, porad se ovlada ComboBox (meni se hodnota v
combu) a ne nacteny text v MDIChildokne. Nejsem proste schopen zamerit nebo
zaktivnit objekt s HTML souborem.

Zkousim kde co a porad se mi nadari Combo umravnit. Neresili jste uz nekdo
podobnou situaci?


Ing. Igor Vodicka
informacni systemy
Nakladatelstvi Sagit
Tel.: 59 6786 001
HTTP://www.sagit(tec)cz/

Primarny kluc UUID alebo GUID

[*] Pavel Malinsky <malinsky(zv)pmcom(tec)cz> - 23.5.2005 09:00:29

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
>
> Ahoj.
> Viete mi prosim poradit, co je lepsie pouzit ako primarny
> kluc? UUID, alebo GUID? A preco?

Pouzivam ke spokojenosti GUID prevedeny na Base64() a
ukladam do CHAR(22) (v FB).
Hoodne omlete tema, proc, pro a proti. Staci mrknout nepatrne
zpet do historie konfery.

S pozdravem a dikem
=====================================
> Pavel Malinsky; malinsky(zv)pmcom(tec)cz <
=====================================
> GSM: 602 652 203 | ICQ: 322015967 <
=====================================

Primarny kluc UUID alebo GUID

[*] Zbysek Hlinka <konference(zv)hlinka(tec)cz> - 23.5.2005 08:26:23

> -----Original Message-----
> From: delphi-l-owner(zv)clexpert(tec)cz
> [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Robert Fujak
> Sent: Monday, May 23, 2005 7:22 AM
>
> Viete mi prosim poradit, co je lepsie pouzit ako primarny
> kluc? UUID, alebo GUID? A preco?

UUID je jednoznacny identifikator pouzivany pro ocislovani interfacu, a jeho
vnitrni hodnota je GUID. Takze je to vlastne totez.

S pozdravem

Zbysek Hlinka
E-mail: hlinka zavin. hlinka(tec)cz

FB: Primarny kluc UUID alebo GUID

[*] Robert Fujak <robof(zv)inmail.sk> - 23.5.2005 07:22:14

Ahoj.
Viete mi prosim poradit, co je lepsie pouzit ako primarny kluc? UUID, alebo
GUID? A preco?

Dakujem.
S pozdravom

Robert Fujak
ICQ: 294-130-866

kapatko - jak na nej - vyreseno

[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 23.5.2005 03:13:57

problem byl vyresen pridanim dalsiho formulare pro barvu

OT: Informacni ekonomicky system s otevrenou archi

[*] Fait <develop(zv)lmss(tec)cz> - 23.5.2005 00:41:47

Omlouvam se za OT, ale potreboval bych vedet, jestli mate nekdo zkusenosti
(a jake) s nejakym softem na nasem trhu.

Klient ma pozadevek na specialni soft k rizeni vyroby, ten mu udelame, ale
zaroven by si pral, aby byl nejak propojen s ekonomickym softem.
Komunikace formou exportu faktur do ucta mu nevyhovuje :)

Koukali jsme na ABRU G3, urcite je oslovime, ale zajimaly by nas vase
zkusenosti s dalsimy softy.
Idealni by bylo, kdyby jel na Firebirdu/Interbase.

Odpovedi asi na soukromy email, nevim jestli to sem patri.

Moc diky Jirka

fait(zv)lmss(tec)cz

kapatko - jak na nej

[*] Vlastimil Burian <vlastax.b(zv)seznam(tec)cz> - 22.5.2005 19:05:24

potrebuji vytvorit kapatko - postupuji takto ... vytvorim formular, roztahnu
ho, v nem mam Image do ktereho jistym zpusobem nakopnu Desktop ... tedy mam
v tom Image screenshot desktopu ... no a ted nemuzu prijit na to jakym
zpusobem mam provest kdyz prejizdim mysi pres ten Image aby se mi u mysi
zobrazoval nejaky ctverecek s barvou - lepe receno jakym zpusobem ho
vykreslovat .. vazne me ted nic nenapada a prosim o pomoc ... jedine co me
napadlo bylo dat nad ten Image dalsi (Image2) a na ten to kreslit ale kdyz
neco vykreslim tak zbytek neni transparentni ... diky za rady

FB - sum(time)

[*] URBAN Leos <leos.urban(zv)qds(tec)cz> - 22.5.2005 17:23:17

Ja jenom Slavka doplnim ze podle SQL92 specifikace na ukladani
"mnozstvi" casovych jednotek slouzi typ INTERVAL.
Jenze Firebird jej, pokud vim, neimplementuje.

Vice na:
http://www.ibphoenix.com/main.nfs?a=ibphoenix&s=1116000350:560777&page=ibp_60_sql_date_fs

Leos

> Protoze TIMESTAMP neni urcen pro uchovani rozdilu casu, ale pro uchovani
> absolutniho casu.
> PS: Je treba zmenit TIMESTAMP na FLOAT, INT, ....

>>Je treba secist polozku typu time (resp. timestamp), napr.
>>soucet trvani vsech operacich na vyrobku.

Novy server Instaluj.cz

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 20.5.2005 22:32:21

Radek Szurman wrote (on Friday, May 20, 2005 3:04 PM):
> Ahoj vsichni,
> chtel bych Vam nabidnout moznost prezentovat sve produkty v katalogu na
> nasem novem serveru www.instaluj(tec)cz kde si muzete pridavat a editovat sve
> programy. Registraci muzete provest na adrese http://upload.instaluj.com/
> (podleha autorizaci). Vse je samozdrejmne zdarma.
>
> prijemny vikend preje
> Radek Szurman

Kdyby tak jeste server umel PAD soubory to by byla parada.

--
Jiri Cincura
http://ID3renamer.cincura.net/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/

TListView - spravne vykresleni

[*] Krysl, Tomas <tomas.krysl(zv)cherry.de> - 20.5.2005 16:21:55

Ahoj, uz se s tim babram pulhodinu. Nemate nekdo sample na spravne fungujici
vykresleni polozek v TListView ve stylu vsReport s nekolika SubItems, kde
vse se kresli OwnerDraw a texty v Item.Caption i SubItems[x] se nahrazuji
jinymi, ktere se pak vykresli?

Doufam ze jsem to popsal srozumitelne. Diky

Tk.

WebBrowser - opakovane zobrzeni html ze stringlist

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 20.5.2005 15:35:51

Michal S. wrote:

> Nevite prosim nekdo jak opakovane nacist a zobrazit ruzny html kod v
> WebBrowseru. Pouzivam nasledujici kod, ale ten funguje pouze poprve

> (podruhe je stranka prazdna) a netusim jak to primet, aby to umelo
> nacist ten kod pokazde. Diky za pomoc.
>
> Michal
>
> P.S. Nebo pokud vite nejakou jinou moznost zobrazeni html tak ji
> rozhodne uvitam - netrvam na WebBrowseru, naopak.

ja osobne pouzivam THtmlLite, jednoducha nativni free komponenta se
zdrojovymi texty pro zobrazeni HTML, pro me ucely to staci

http://www.pbear.com/htmlviewers.html

Radek

OT: Novy server Instaluj.cz

[*] Radek Szurman <radek.szurman(zv)surad(tec)net> - 20.5.2005 15:03:48

Ahoj vsichni,
chtel bych Vam nabidnout moznost prezentovat sve produkty v katalogu na
nasem novem serveru www.instaluj(tec)cz kde si muzete pridavat a editovat sve
programy. Registraci muzete provest na adrese http://upload.instaluj.com/
(podleha autorizaci). Vse je samozdrejmne zdarma.

prijemny vikend preje
Radek Szurman

Mazani vs. prejmenovani souboru

[*] Jiri Cincura <diskuze(zv)cincura(tec)net> - 20.5.2005 13:39:42

Ahoj,

nevite nekdo, jestli NTFS nejak dokaze rozlisit to aby uzivatelum povolil
mazani souboru, ale zakazal prejmenovani. Hledal jsem ve Win v tech
nastavenich, ale vypada to, ze pokud mam pravo soubor smazat, muzu ho i
prejmenovat.

Jde mi o to, jak osetrit jiste chyby v programu (jestli jedna pohlti
druhou).


--
Jiri Cincura
http://ID3renamer.cincura.net/
ICQ: 314711544; Yahoo!: x2develop
http://photo.cincura.net/

WebBrowser - opakovane zobrzeni html ze stringlist

[*] Michal S. <micsdelphi(zv)centrum(tec)cz> - 20.5.2005 13:11:40

Nevite prosim nekdo jak opakovane nacist a zobrazit ruzny html kod v
WebBrowseru. Pouzivam nasledujici kod, ale ten funguje pouze poprve
(podruhe je stranka prazdna) a netusim jak to primet, aby to umelo
nacist ten kod pokazde. Diky za pomoc.

Michal

P.S. Nebo pokud vite nejakou jinou moznost zobrazeni html tak ji
rozhodne uvitam - netrvam na WebBrowseru, naopak.


procedure TNewEmailForm.OpenHtml(const Html: TStrings);
var
Document: Variant;
begin
if WebBrowser1.Document = nil then
begin
FHtmlCache := Html.Text;
WebBrowser1.Navigate('about:blank');
end else
begin
FHtmlCache := '';
Document := WebBrowser1.Document;
Document.close;
Document.write(Html.Text);
end;
end;
procedure TNewEmailForm.WebBrowser1NavigateComplete2(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
Document: Variant;
begin
if FHtmlCache <> '' then
begin
Document := TWebBrowser(ASender).Document;
Document.write(FHtmlCache);
FHtmlCache := '';
end;
end;

Vypocet CRC

[*] Ing. Ludek Florian <ludek.florian(zv)bluerose(tec)cz> - 20.5.2005 11:37:34

Dekuji, to je hlavicka, program na kontrolni soucet uz bastlim, pak poslu,
kdyby se to nekomu hodilo

Bye Ludan


----- Original Message -----
From: "Karel Strobach" <kaes(zv)centrum(tec)cz>
To: <delphi-l(zv)clexpert(tec)cz>
Sent: Friday, May 20, 2005 11:19 AM
Subject: Re: Vypocet CRC


> ILF> potrebuji si v Delphi udelat programek, ktery nacte text a prevede ho
> na HEX
> ILF> pro vypaleni do EEPROM. Radky jsou rozdeleny po 16 bytech a na konci
> je
> ILF> pridan kontrolni soucet, pravdepodobne CRC8. Hledal jsem na netu kde
> co a
> ILF> nejak jsem nepochodil. CRC16 a CRC32 mam zpracovany do unity, ale
> CRC8 mi
> ILF> chybi.
>
> zkusil bych toto: http://www.keil.com/support/docs/1584.htm
>
> --
> S pozdravem,
> Karel Strobach
> kaes(zv)centrum(tec)cz
>
>
>

Vypocet CRC

[*] Jaroslav Pivonka <jpivonka(zv)centrum(tec)cz> - 20.5.2005 11:35:34

Je moc troufale si tipnout, ze tentokrat pujde o obycejny XOR pres vsechny
bajty? Jarda

----- Original Message -----
From: "Ing. Ludek Florian" <ludek.florian(zv)bluerose(tec)cz>

> potrebuji si v Delphi udelat programek, ktery nacte text a prevede ho na
> HEX
> pro vypaleni do EEPROM. Radky jsou rozdeleny po 16 bytech a na konci je
> pridan kontrolni soucet, pravdepodobne CRC8. Hledal jsem na netu kde co a
> nejak jsem nepochodil. CRC16 a CRC32 mam zpracovany do unity, ale CRC8 mi
> chybi.

Jak nastavit ikonu aplikace za behu z bmp

[*] Krysl, Tomas <tomas.krysl(zv)cherry.de> - 20.5.2005 10:17:28

Ahoj, pohraj si s TKIcon (ke stazeni na www.torry.net) - pisu z hlavy:

var
Icon: TKIcon;
B: TBitmap;
H: THandles;
...

Icon := TKIcon.Create;
try
B.Transparent := True;
B.TransparentColor := ????;
H.hXOR := B.ReleaseHandle;
H.hAND := B.ReleaseMaskHandle; // ikona musi mit masku
Icon.Add(H);
Application.Icon.Handle := Icon.CreateHandle(0);
finally
Icon.Free;
end;

Tk.

> Ahoj, nevite nekdo %SUBJ. Umim nacist ikonu z ico (TIcon) a
> nastavit ho do TApplication.Icon. Ale jak tam dostat TBitmap?
> Poradi mi nekdo?

Vypocet CRC

[*] delphin(zv)post(tec)cz - 20.5.2005 10:17:27

> potrebuji si v Delphi udelat programek, ktery nacte text a prevede ho na
> HEX
> pro vypaleni do EEPROM. Radky jsou rozdeleny po 16 bytech a na konci je
> pridan kontrolni soucet, pravdepodobne CRC8. Hledal jsem na netu kde co a
> nejak jsem nepochodil. CRC16 a CRC32 mam zpracovany do unity, ale CRC8 mi
> chybi.

Neni CRC8/16/32, ale CRC je polynomicka funkce nad zadanym poctem bitu. Bez
znalosti toho polynomu to zrejme nepujde. Polynom vypada nejak takhle (X^16
+ X^12 + X^5 + 1).
Pri programovani EEPROM se ale skoro jiste jedna o format IntelHex a tam se
nepouziva CRC, ale kontrolni soucet.

FB - sum(time)

[*] Slavomir Skopalik <skopalik(zv)elektlabs(tec)cz> - 20.5.2005 11:23:33

Protoze TIMESTAMP neni urcen pro uchovani rozdilu casu, ale pro uchovani
absolutniho casu.

Slavek

PS: Je treba zmenit TIMESTAMP na FLOAT, INT, ....

> Je treba secist polozku typu time (resp. timestamp), napr.
> soucet trvani vsech operacich na vyrobku.

Vypocet CRC

[*] Karel Strobach <kaes(zv)centrum(tec)cz> - 20.5.2005 11:19:32

ILF> potrebuji si v Delphi udelat programek, ktery nacte text a prevede ho na HEX
ILF> pro vypaleni do EEPROM. Radky jsou rozdeleny po 16 bytech a na konci je
ILF> pridan kontrolni soucet, pravdepodobne CRC8. Hledal jsem na netu kde co a
ILF> nejak jsem nepochodil. CRC16 a CRC32 mam zpracovany do unity, ale CRC8 mi
ILF> chybi.

zkusil bych toto: http://www.keil.com/support/docs/1584.htm

--
S pozdravem,
Karel Strobach
kaes(zv)centrum(tec)cz


Jak na tisk z clipboardu

[*] Ing. Igor Vodicka <vodicka(zv)sagit(tec)cz> - 20.5.2005 10:15:27

Caute!

Nevite nekdo o nejake moznosti jak vytisknout obsah ClipBoardu. Tisk by mel
respektovat nacteny format, napr. kdyz zkopiruji do clipboardu cast HTML
dokumentu, tak pak vytisknout ve formatu HTML ne jako obycejny text.

Delam v D5 ent. Diky

Ing. Igor Vodicka
informacni systemy
Nakladatelstvi Sagit
Tel.: 59 6786 001
HTTP://www.sagit(tec)cz/

Vypocet CRC

[*] Ing. Ludek Florian <ludek.florian(zv)bluerose(tec)cz> - 20.5.2005 09:41:24

Preji hezky den,

potrebuji si v Delphi udelat programek, ktery nacte text a prevede ho na HEX
pro vypaleni do EEPROM. Radky jsou rozdeleny po 16 bytech a na konci je
pridan kontrolni soucet, pravdepodobne CRC8. Hledal jsem na netu kde co a
nejak jsem nepochodil. CRC16 a CRC32 mam zpracovany do unity, ale CRC8 mi
chybi.

Muze mi poradit nekdo z Delhistu, kteri zaroven pracuji s Atmelama ?

P.S.: Pro zapis pouzivam PAtmel4 a SW PAtmelX 1.10.93


Za kazdou radu dekuji predem

Bye Ludan

API na notifikaci zmeny v adresari

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 20.5.2005 08:59:16

Radek Cervinka wrote:

> Dobre rano,
>
> jsem si jist ze existuje nejaka moznost jak zjistit
> ze v zadanem adresari doslo ke zmene (novy soubor atd.).
> Bohuzel asi se googlu ptam nejak blbe. Mohl by mne prosim nekdo nasmerovat?

hmm, odpovim si sam

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/findfirstchangenotification.asp

R.

API na notifikaci zmeny v adresari

[*] Radek Cervinka <radek.cervinka(zv)technodat(tec)cz> - 20.5.2005 08:45:15

Dobre rano,

jsem si jist ze existuje nejaka moznost jak zjistit
ze v zadanem adresari doslo ke zmene (novy soubor atd.).
Bohuzel asi se googlu ptam nejak blbe. Mohl by mne prosim nekdo nasmerovat?

Hezky den
Radek

FB - sum(time)

[*] petr palicka <palicka.petr(zv)seznam(tec)cz> - 20.5.2005 08:25:13

Ahoj,

Jan Sebelik napsal(a):
> Je treba secist polozku typu time (resp. timestamp), napr. soucet trvani vsech operacich na vyrobku.

> select idvyrobek, sum(doba) from operace
> group by idvyrobek

ono to nefunguje? Vzdyt timestamp je preci cislo, kde cela cast jsou
dny a desetinna je cas. Prosty soucet by mel udelat to co chces.
Maximalne to muzes zkusit pretypovat pomoci CAST (doba as
numeric(12,6)), nebo tak nejak.

Peca


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