Archív konference Delphi

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

1-1=0,000001

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

From: "Ing. Jan Dubsky - Strojirna Palava" <dubsky(zv)s-palava(tec)cz>
> Nicmeme, kdyz je typ Real v Delphi definovany, tak by mel pracovat
> korektne. Proc by se nemel pouzivat (pokud duvod neni ten, ze nefunguje)

Typ Real pochazi jeste z doby stareho paskalu kde neexistoval v procesorech
FPU. Je nekompatibilini s typy dnesnich CPU takze je nutne mezi nim a nativnim
typem provadet konverze coz znacne degraduje vykon. V Delphi se mapuje do typu
Double, dle nastaveni $REALCOMPATIBILITY. To ze "nefunguje" je tvuj dojem,
protoze jsi narazil na problem presnosti pouzitim nevhodneho typu pro danou
operaci.

Petr Vones


1-1=0,000001

[*] Tomas Kminek <tomas.kminek(zv)atlas(tec)cz> - 31.10.2003 14:12:15

> Prosim Vas co mam robit ked podla delphi je int(21)=20? alebo frac(21)=1?
>

U me (D5.01) to funguje docela normalne.
Asi ti nejaky kod (vetsinou v cizi DLL) zmenil FPU control word. Zkus v
archivu hledat 8087CW nebo SafeLoadLibrary. Default8087CW je standardne
$1332.

Tom


1-1=0,000001

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 31.10.2003 14:22:16

From: "Koteles Jan" <koteles(zv)lumen.sk>
> Real - potrebujem pracovat len s 0,01 presnostou, tak som myslel ze bude

Typ Real nemas vubec pouzivat v Delphi. Od toho jsou typy Single, Double a
Extended.

Petr Vones

ProfiBus

[*] Ing. Ondrej Nejedly <nejedlyo(zv)email(tec)cz> - 31.10.2003 14:10:14

Zdravim vsechny,
Ma nekdo zkusenosti se seriovou komunikaci standardem ProfiBus DP?
Mam snimas polohy a nedari se mi s nim domluvit. Dokumentace je velmi stroha a predpoklada znalost ProfiBus. Da se nekde zjistit struktura paketu ProfiBus? Existuje nejaka litaratura? Nebo snad dokonce komponenty??

Diky za rady
Ondra

1-1=0,000001

[*] Koteles Jan <koteles(zv)lumen.sk> - 31.10.2003 14:04:14

> A jeke pouzivas datove typy ?

Real - potrebujem pracovat len s 0,01 presnostou, tak som myslel ze bude
stacit

> Zkousel jsem int(21) a vysledek je 21,
> zkousel jsem frac(21) a vysledek je 0.
> Nejsou to nahodou opsane hodnoty z debugeru, nebo jineho vypisu ?

Z debugeru (?) - teda z toho zlteho ramceku pri ladeni aplikacie :-)

> x:=frac(xxx);
> y:=int(xxx);
> if abs(x-1)>1e-8 then x:=0; y:=y+1;

Ano - toto je asi to riesenie ale....

> Pres string to nema smysl (pokud ovsem jen nepotrebujes nasobit 100).

Koli tej 100vkovej presnosti to spravim len cez ten string

Kazdopadne dakujem, bolo tam dost podnetnych informacii

TApplication.OnHelp - nikdo nevi?

[*] Martin Fisar <martin_fisar(zv)gordic(tec)cz> - 31.10.2003 14:00:13

Ahoj,

Mel jsem podobny problem a myslim, ze chyba je v tom, ze OnHelp udalost
je pouzita pouze v neverejne funkci InvokeHelp (unit Forms), ktera se v
napr.
Delphi3 volala z procedury HelpContext, zatimco v Delphi 6 procedura
HelpContext
vola rovnou HelpSystem.ShowContextHelp

Delphi3:
--------
function TApplication.HelpContext(Context: THelpContext): Boolean;
begin
Result := InvokeHelp(HELP_CONTEXT, Context);
end;

Delphi6:
--------
function TApplication.HelpContext(Context: THelpContext): Boolean;
begin
Result := true;
if ValidateHelpSystem then
HelpSystem.ShowContextHelp(Context, GetCurrentHelpFile)
else Result := false;
end;

Takze pokud mas na MainForm.HelpContext=1000 tak to nikdy udalost OnHelp
nezavola.

Martin Fisar


----- Original Message -----
From: Jan Harman
To: delphi-l(zv)clexpert(tec)cz
Sent: Friday, October 31, 2003 1:04 PM
Subject: Re: TApplication.OnHelp - nikdo nevi?


Jde mi v podstate oto ze v Application.OnHelp volam HtmlHelp, a nechce to v
D6 fungovat.

> nevite prosim nekdo proc mi v D6 nefunguje event OnHelp? Ve FormCreate
> udelam
> Application.OnHelp := MyAppOnHelp;
> MainForm.HelpContext := 1000;
>
> a po zmacknuti F1, se nic nedeje. Kde je chyba? Zajimave je, ze v D5 to
> chodi.
>
> Honza Harman
>
>
>

sirka sloupce tabulky ve Wordu pres OLE

[*] Milan Bartonek <mbartonek(zv)synthesia(tec)cz> - 31.10.2003 13:50:12


Ahoj,

pres OLE si vytvorim dokument ve Wordu a v nem tabulku.
Jak mohu definovat sirku sloupcu v te tabulce ?

D6 Prof.

Dekuji

Bartonek Milan


1-1=0,000001

[*] Slavomir Skopalik <skopalik(zv)hlubocky.del(tec)cz> - 31.10.2003 13:36:11

A jeke pouzivas datove typy ?
Zkousel jsem int(21) a vysledek je 21,
zkousel jsem frac(21) a vysledek je 0.
Nejsou to nahodou opsane hodnoty z debugeru, nebo jineho vypisu ?

> Prosim Vas co mam robit ked podla delphi je int(21)=20? alebo frac(21)=1?
> Alebo 24-24 je 2,146785456e-14?
>
> Potrebuje desatinnu cast cisla previest ako cele cislo.
> Povodne som mal konstrukciu:
>
> While Frac(f)>0 then f:=f*10;

Jenze to cislo po vynasebeni 100 NENI 21 !!
Proste pokud pouzivas flouty, tak si musis zvyknout na to, ze vyjadruji cisla
jen priblizne, to znamena, ze bud musis pouzit celociselnou matematiku, nebo
vhodne zaokroulovat napriklad takto:

x:=frac(xxx);
y:=int(xxx);
if abs(x-1)>1e-8 then x:=0; y:=y+1;

De fakto tim rikas, ze pokud se bude x hodne blizit 1 (1e-8 je hodnota priblizeni)
tak
jej muzeme povazovat za 1.

Dalsi moznosti je pouzit typ extended a vysledky pri textovych vystupech
NEZAOKROUHLOVAT.
jinak ti opet vznikne stejna situace.>
> Niekedy to funguje, ale napr. pri cisle 0,21 mi to fungovalo takto
> 1. priechod f:=2,1 ... Frac(f) = 0,1
> 2. priechod f:=21 ... Frac(f) = 1 ???!!!!!.
>
> Podla mojho skromneho nazoru by frac(21) malo byt 0, ale delphi5 ma zrejme
> iny nazor.
> Podobne to funguje aj pri 0,24
>
> Da sa s tym nieco robit? Ci to mam prerobit cez String?

Pres string to nema smysl (pokud ovsem jen nepotrebujes nasobit 100).

Slavek

PS: kazdy typ CPU pocita s FP jinak, tj. da jiny vysledek a to zejmena
pro oprace s delenim, logaritmy a jinymy transcendetnimy funkcemy.

TApplication.OnHelp - nikdo nevi?

[*] Jan Harman <harman(zv)volny(tec)cz> - 31.10.2003 13:04:08

Jde mi v podstate oto ze v Application.OnHelp volam HtmlHelp, a nechce to v
D6 fungovat.

> nevite prosim nekdo proc mi v D6 nefunguje event OnHelp? Ve FormCreate
> udelam
> Application.OnHelp := MyAppOnHelp;
> MainForm.HelpContext := 1000;
>
> a po zmacknuti F1, se nic nedeje. Kde je chyba? Zajimave je, ze v D5 to
> chodi.
>
> Honza Harman
>
>
>

1-1=0,000001

[*] Koteles Jan <koteles(zv)lumen.sk> - 31.10.2003 13:16:09

Prosim Vas co mam robit ked podla delphi je int(21)=20? alebo frac(21)=1?
Alebo 24-24 je 2,146785456e-14?

Potrebuje desatinnu cast cisla previest ako cele cislo.
Povodne som mal konstrukciu:

While Frac(f)>0 then f:=f*10;

Niekedy to funguje, ale napr. pri cisle 0,21 mi to fungovalo takto
1. priechod f:=2,1 ... Frac(f) = 0,1
2. priechod f:=21 ... Frac(f) = 1 ???!!!!!.

Podla mojho skromneho nazoru by frac(21) malo byt 0, ale delphi5 ma zrejme
iny nazor.
Podobne to funguje aj pri 0,24

Da sa s tym nieco robit? Ci to mam prerobit cez String?

jk

AviCapSinea

[*] Vlastimil Bardon <bardon(zv)akord-soft(tec)cz> - 31.10.2003 12:16:05

Zdravim

Pouzivam pro jednoduchy capture z videovstupu komponentu AviCapSinea

Funguje mi dobre ale narazil jsem na jednu obtiz. Na jednom konkretnim PC mi to usekavalo dolni okraj, zjistil jsem, ze je to proto, ze ne tam nastavena NTSC norma. Meli tam nejaky demo program na capturovani videovstupu a ten si to umel sam prestavit na PAL a pak fungovala dobre i AviCapSinea. Ale jen do restartu PC, pak se znovu nastavil NTSC.

Nenasel jsem nikde moznost, jak nastavovat, ze to ma byt PAL. Nakonec jsem prohledal registry a vsechny NTSC jsem tam prepsal na PAL a tim snad problemy skoncily.

Nevite nekdo jak programove nastavit, ze chci PAL abych nemusel rucne editovat registry?

Pohyb mysi & TStatusBar

[*] LUKES Vaclav <lukes(zv)ans(tec)cz> - 31.10.2003 11:42:02

Ja tam ale chci dat nejaky jiny text, nez je v hintu.
V.
-----Original Message-----
From: Dusek Karel [mailto:dusek(zv)mudk(tec)cz]
Sent: Friday, October 31, 2003 11:16 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Pohyb mysi & TStatusBar


To je snad standartni chovani pri pouziti Hintu.

{ This shows how the OnHint event handler is declared as a public method of the form }

type
TForm1 = class(TForm)
Button1: TButton;
StatusBar1: TStatusBar;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
procedure DisplayHint(Sender: TObject);
end;

var

Form1: TForm1;
implementation
{$R *.xfm}

{ Here is the implementation of the OnHint event handler }

{ It displays the application's current hint in the status bar }
procedure TForm1.DisplayHint(Sender: TObject);
begin
StatusBar1.SimpleText := GetLongHint(Application.Hint);
end;

{ Here is the form's OnCreate event handler. }

{ It assign's the application's OnHint event handler at runtime }
{ because the Application is not available in the Object Inspector }
{ at design time }
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnHint := DisplayHint;
end;

> -----Original Message-----
> From: LUKES Vaclav [mailto:lukes(zv)ans(tec)cz]
> Sent: Friday, October 31, 2003 10:58 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Pohyb mysi & TStatusBar
>
>
> Ahoj,
>
> prosim o radu.
>
> Na formu mam nekolik DBEditu a TStatusBar. Rad bych, kdyz
> mysi najedu na nejaky DBEdit napsal do TStatusBatu nejakou
> hlasku a kdyz se mysi posunu mimo onen DBEdit aby text v
> TStatusBaru zmizel.
>
> Diky
>
> V.
>
>
>

OT: Kde se u nas (CZ) da koupit BLINKER 7 ???

[*] Robert Plzak <rpvp(zv)vagnerplast(tec)cz> - 31.10.2003 11:30:01

Zdravim profici,
nevite kde se da %subject% ???

Diky za pomoc

R. Plzak


Pohyb mysi & TStatusBar

[*] Karol Chupek <chupek(zv)apollo.sk> - 31.10.2003 11:22:01

skus pouzit toto..
nadefinuj si vlastnost pre dbedit.Hint a napis do formu tento kod..

public
procedure DisplayHint(Sender: TObject);

procedure TForm1.DisplayHint(Sender: TObject);
begin
StatusBar1.panels[0].text := GetLongHint(Application.Hint);
end;
procedure TFHlavny.FormCreate(Sender: TObject);
begin
Application.OnHint := DisplayHint;
end;

> mysi najedu na nejaky DBEdit napsal do TStatusBatu nejakou
> hlasku a kdyz se mysi posunu mimo onen DBEdit aby text v
> TStatusBaru zmizel.

Pohyb mysi & TStatusBar

[*] Dusek Karel <dusek(zv)mudk(tec)cz> - 31.10.2003 11:16:00

To je snad standartni chovani pri pouziti Hintu.

{ This shows how the OnHint event handler is declared as a public method of the form }

type
TForm1 = class(TForm)
Button1: TButton;
StatusBar1: TStatusBar;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
procedure DisplayHint(Sender: TObject);
end;

var

Form1: TForm1;
implementation
{$R *.xfm}

{ Here is the implementation of the OnHint event handler }

{ It displays the application's current hint in the status bar }
procedure TForm1.DisplayHint(Sender: TObject);
begin
StatusBar1.SimpleText := GetLongHint(Application.Hint);
end;

{ Here is the form's OnCreate event handler. }

{ It assign's the application's OnHint event handler at runtime }
{ because the Application is not available in the Object Inspector }
{ at design time }
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnHint := DisplayHint;
end;

> -----Original Message-----
> From: LUKES Vaclav [mailto:lukes(zv)ans(tec)cz]
> Sent: Friday, October 31, 2003 10:58 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: Pohyb mysi & TStatusBar
>
>
> Ahoj,
>
> prosim o radu.
>
> Na formu mam nekolik DBEditu a TStatusBar. Rad bych, kdyz
> mysi najedu na nejaky DBEdit napsal do TStatusBatu nejakou
> hlasku a kdyz se mysi posunu mimo onen DBEdit aby text v
> TStatusBaru zmizel.
>
> Diky
>
> V.
>
>
>

Pohyb mysi & TStatusBar

[*] LUKES Vaclav <lukes(zv)ans(tec)cz> - 31.10.2003 10:57:59

Ahoj,

prosim o radu.

Na formu mam nekolik DBEditu a TStatusBar. Rad bych, kdyz mysi najedu na nejaky DBEdit napsal do TStatusBatu nejakou hlasku a kdyz se mysi posunu mimo onen DBEdit aby text v TStatusBaru zmizel.

Diky

V.

Ruseni objektu

[*] Slavomir Skopalik <skopalik(zv)hlubocky.del(tec)cz> - 31.10.2003 09:35:53

O to se postara compiler v destructoru.

Slavek

> Ahoj,
>
> nejsem si jisty - musim pri ruseni objektu, ktery ma field nebo property
> typu string prirazovat do vsech techto fields a properties prazdne stringy,
> aby se uvolnila pamet ?
>
> Diky
>
> Jiri Foldyna
> mailto:jiri.f(zv)avizo(tec)cz
>
>
>
>
>

Technologie pro seriovou komunikaci

[*] Slavomir Skopalik <skopalik(zv)hlubocky.del(tec)cz> - 31.10.2003 09:33:48

Jaky haracter maji data ?
Ja bych to asi resil pres FireBird jelikoz se k tomu da pristupovat temer
z cehokoliv (Delphi, PHP, ODBC, ...).
Zajisti mi konzistetntni ukladani na disk a TCP komuninaci
(pripadne mohu pouzit i event).
Pokud se ovsem jedna o cteni pevneho poctu hodnot bez ukladani na disk,
tak bych asi pouzil ciste jen TCP. Funkce obdobna jako u http, to jest
navazat spojeni, server nahrne data do spojeni a zavre jej.
Docela hezky to funguje pokud se pradava TStringList (muzes pouzit
names a values) a valstni ukonceni (standartne ETX).

Slavek

> Poradte mi nejvhodnejsi technologii pro nasledujici projekt. Server
> obsluhuje seriovy (prip. i jiny) port a prijata data nejakym vhodnym
> zpusobem uklada do pameti resp. na disk. Klienti na siti pristupuji k
> temto datum (pouze ctou) a vhodnym zpusobem je prezentuji uzivateli. Data
> nemaji databazovy charakter a mohou prichazet z nekolika ruznych portu.
> Prostredi W2k, D6Pro, TurboPower AsyncPro.
> Dik. Jara
>
>
>
>

Ruseni objektu

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 31.10.2003 09:33:47

Nemusis, promenna typu string vzdy "vi", kolik obsahuje znaku, takze je
znamo, kolik pameti se ma uvolnit.

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

nejsem si jisty - musim pri ruseni objektu, ktery ma field nebo property
typu string prirazovat do vsech techto fields a properties prazdne stringy,
aby se uvolnila pamet ?

Ruseni objektu

[*] Tomas Kminek <tomas.kminek(zv)atlas(tec)cz> - 31.10.2003 09:35:53

> nejsem si jisty - musim pri ruseni objektu, ktery ma field nebo property
> typu string prirazovat do vsech techto fields a properties prazdne
stringy,
> aby se uvolnila pamet ?
>

Instance sama v destructoru vola uvolneni vsech fieldu typu LString,
WString, Variant, Array, Record, Interface, DynArray. Pro pole a recordy se
takto rekurzivne vola uvolnovani jejich prvku.

Tom


INI - vymaz zaznamu

[*] Dusek Karel <dusek(zv)mudk(tec)cz> - 31.10.2003 09:35:53

INISoubor.DeleteKey('Tisk','Kodovani');

S pozdravem
Karel Dusek

> -----Original Message-----
> From: Vlastimil Zdenek [mailto:delphi(zv)gestore(tec)cz]
> Sent: Friday, October 31, 2003 9:30 AM
> To: delphi-l(zv)clexpert(tec)cz
> Subject: INI - vymaz zaznamu
>
>
> Cau vsici,
> potreboval bych poradit s nasledujicim:
> pro program pouzivam ini soubor, kde jsou nadefinovane
> promnene pro stanici. Nektere se vsak nyni presunou do
> databaze. Jak muzu tedy zaznamy, ktere jiz budu mit v
> databazi a nepotrebuju je v ini smazat?? Ano, mohly by tam
> zustat, ale budou tam na nic a ini je dost rozsahle....
>
> Diky za radu
> Vlasta
>
> D5 Ent, Wokna
>
>
>
>
>
>

INI - vymaz zaznamu

[*] Vlastimil Zdenek <delphi(zv)gestore(tec)cz> - 31.10.2003 09:29:47

Cau vsici,
potreboval bych poradit s nasledujicim:
pro program pouzivam ini soubor, kde jsou nadefinovane promnene pro stanici.
Nektere se vsak nyni presunou do databaze.
Jak muzu tedy zaznamy, ktere jiz budu mit v databazi a nepotrebuju je v ini
smazat?? Ano, mohly by tam zustat, ale budou tam na nic a ini je dost
rozsahle....

Diky za radu
Vlasta

D5 Ent, Wokna

Ruseni objektu

[*] Jiri Foldyna <jiri.f(zv)avizo(tec)cz> - 31.10.2003 09:07:45

Ahoj,

nejsem si jisty - musim pri ruseni objektu, ktery ma field nebo property
typu string prirazovat do vsech techto fields a properties prazdne stringy,
aby se uvolnila pamet ?

Diky

Jiri Foldyna
mailto:jiri.f(zv)avizo(tec)cz

ListBox a ScrollBars - nezobrazuji se

[*] js-delphi(zv)quick(tec)cz - 31.10.2003 08:53:44

Ahoj!
Tak jsem vcera s heldanim hotove komponenty neuspel a tak jsem se o jeji vytvoreni pokusil sam a mam problem...
Nezobrazuji se mi scrollbary. Zkousel jsem to u klasickych ListBox a i u JvListBox (z JVCL - JEDI 2.10)
Nepovedlo se mi zobrazit ani horizontalni ani vertikalni - nemate pro me nejake upozorneni typu "kdyz udelas tohle, tak se Ti scrollbary nezobrazi"???
Diky
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol(zv)seznam(tec)cz; 972 231 187
D6Prof+SP2; WinXPProf+SP1
programator amater


Technologie pro seriovou komunikaci

[*] Svehla Jaroslav <svehla(zv)spelza(tec)cz> - 31.10.2003 08:55:44

Poradte mi nejvhodnejsi technologii pro nasledujici projekt. Server obsluhuje seriovy (prip. i jiny) port a prijata data nejakym vhodnym zpusobem uklada do pameti resp. na disk. Klienti na siti pristupuji k temto datum (pouze ctou) a vhodnym zpusobem je prezentuji uzivateli. Data nemaji databazovy charakter a mohou prichazet z nekolika ruznych portu.
Prostredi W2k, D6Pro, TurboPower AsyncPro.
Dik. Jara


TApplication.OnHelp

[*] Jan Harman <harman(zv)volny(tec)cz> - 31.10.2003 08:11:41

Zdravim vsechny,
nevite prosim nekdo proc mi v D6 nefunguje event OnHelp? Ve FormCreate
udelam
Application.OnHelp := MyAppOnHelp;
MainForm.HelpContext := 1000;

a po zmacknuti F1, se nic nedeje. Kde je chyba? Zajimave je, ze v D5 to
chodi.

Honza Harman


Re2x: Hledam komponentu se dvema a vice seznamy

[*] Miroslav Evjak <me.delphi(zv)seznam(tec)cz> - 31.10.2003 07:35:39

Ahoj,

Mrkni na http://www.tmssoftware.com, neco takovyho jsem tam zahlid.

ME

Ing.Miroslav Evjak
KEN System v.o.s.
mailto:me(zv)kensystem(tec)cz
http://www.kensystem(tec)cz
ICQ:313884739
+420 607 875748


> > > Hledam komponentu typu levy sloupec zdrojovy seznam jmen, dalsi
> > > sloupec ovladaci prvky, a dalsi sloupec cilovy seznam

Osetreni vyjimek pripojeni k MySQL pres ZEOS lib

[*] Krakora Martin <krakoram(zv)seznam(tec)cz> - 31.10.2003 06:27:29


Jako zacatecnik se spoleham na Code comletion, a tam mi ty pozadovane
tridy vyjimek nebyli nabidnuty. Nicmene vcera jsem se v tom jeste vrtal a
prohledaval jsem unity ZEOSlib. Nasel jsem deklarace techto dvout trid
vyjimek EZSQLException a EZSQLWarnings. Pak jsem do klauzule uses dal unitu,
kde jsou deklarovane a uz je mohu pouzivat.
Me spis zajimalo, jak tyto vyjimky osetrit a rozlisit, treba jaky parametr
(Hostname, database, user, passw....) byl spatne zadan a tudiz vyvolana
vyjimka. Zrejme to souvisi s vlastnosti ErrorCode vyse uvedenych trid,
znamena to tedy budto prolezt vsechny unity a zjistit, kdy a jaky je vracen
ErrorCode, nebo sehnat podrobnejsi dokumentaci (ke komponentam), kde by to
bylo popsane. Myslel jsem, ze uz to tu treba nekdo resil.

Krakora Martin

rowindex na MSSQL

[*] Ing. Pavel Zilinec <zilinec(zv)psinfos(tec)cz> - 31.10.2003 02:53:16

Nebo si to odchytit v Delphi a dat si tam pocitatelne pole, v reportu
si udelat vlastni cislovani, atd.
Na SQL to jednoduseji opravdu bohuzel nejde :-(

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

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

Thursday, October 30, 2003, 4:34:35 PM, bylo napsano:

ML> SELECT identity(int, 1,1) as ID, * INTO #Temp FROM tabulka
ML> SELECT * FROM #Temp
ML> DROP TABLE #Temp

ML> bohuzial tato funkcia identity(...) sa da pouzit iba v spojeni s klauzulou
ML> INTO v prikaze SELECT, preto ten obchvat s docasnou tabulkou :-)

PDC na webe

[*] Erik Salaj <winsoft(zv)netkosice.sk> - 31.10.2003 01:41:11

zaujimava informacia z inej konferencie:

------------------------------------------------------------

Dobry den,
prednasky z PDC (Yukon, Whidbey, Longhorn) jsou na webu
http://msdn.microsoft.com/events/pdc/agendaandsessions/sessions/default.aspx

Honza Stoklasa
Microsoft

------------------------------------------------------------

Erik

informix a qReport

[*] Ivan Turcan <iturcan(zv)drake.sk> - 30.10.2003 19:46:48

Ahojte,

prisiel som na zaujimavy pravdepodobne problem pri pouzivani Informixu. V
pripade ze v akejkolvek zostave v qreporte do lubovolneho eventu reportu
date kod ktory len otvory query, tak
Delphi zbuchne na chybu "Implicit connection not allowed after an explicit
connection", len pre info mam len jedno napojenie na databazu. S touto
chybou som sa pri ziadnej inej DB nestretol.

Stretol sa s tym niekdo ? da sa to riesit ?

vdaka

Ivan


Hledam komponentu se dvema a vice seznamy

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

From: <js-delphi(zv)quick(tec)cz>
> Jo, tak nejak si to predstavuju, ale ja myslel, jestli neexistuje nejaka uz
> takova hotova treba i s podporou drag and drop. ListBoxy jsou resenim, ale
> hotove by mi ted bodlo vic... :) Pokud mam mit do Po hotove co se po mne

Takova "komponenta" by byla stejne slozena z nekolika jiz hotovych ovladacich
prvku jako je listbox. Pokud to ma tvorit znovupouzitelny celek tak se na to
dobre hodi pouzit frame. Podle popisu se takova vec da napsat za hodinu.

Petr Vones


Re2x: Hledam komponentu se dvema a vice seznamy

[*] js-delphi(zv)quick(tec)cz - 30.10.2003 16:50:36

> From: <js-delphi(zv)quick(tec)cz>
> > Hledam komponentu typu levy sloupec zdrojovy seznam jmen, dalsi sloupec
> > ovladaci prvky, a dalsi sloupec cilovy seznam jmen. Nejlepsi by bylo, kdyby
> > v tom tretim sloupci mohly byt dva radky - dva seznamy (aktualni a dole
> > historie)
>
> A co to ma jako presne delat ? Z toho popisu bych si predstavil dva listboxy
> vedle sebe a mezi nimi tlacitka.
>
> Petr Vones

Jo, tak nejak si to predstavuju, ale ja myslel, jestli neexistuje nejaka uz takova hotova treba i s podporou drag and drop. ListBoxy jsou resenim, ale hotove by mi ted bodlo vic... :) Pokud mam mit do Po hotove co se po mne chce, jakakoliv uspora casu se hodi...
Predstavuju si, ze v levem sloupci budu mit seznam jmen a do praveho ty jemna chci presouvat. V pravo by mely byt dva radky, kde nahore bude aktualni stav a dole bude historie. Kdyz ty uz jednou vybrana jmena budu chtit z toho horniho radku "vyhodit" vemu je a presunu do toho spodniho listboxu - musi existovat historie, ze ta konkretni jmena uz jednou byla vybrana.

Jirka


Hledam komponentu se dvema a vice seznamy

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

From: <js-delphi(zv)quick(tec)cz>
> Hledam komponentu typu levy sloupec zdrojovy seznam jmen, dalsi sloupec
> ovladaci prvky, a dalsi sloupec cilovy seznam jmen. Nejlepsi by bylo, kdyby
> v tom tretim sloupci mohly byt dva radky - dva seznamy (aktualni a dole
> historie)

A co to ma jako presne delat ? Z toho popisu bych si predstavil dva listboxy
vedle sebe a mezi nimi tlacitka.

Petr Vones


rowindex na MSSQL

[*] Milan Lucka <mlucka(zv)cz.foxconn(tec)com> - 30.10.2003 16:34:35

Zdravim,

jedna moznost je toto:

SELECT identity(int, 1,1) as ID, * INTO #Temp FROM tabulka
SELECT * FROM #Temp
DROP TABLE #Temp

bohuzial tato funkcia identity(...) sa da pouzit iba v spojeni s klauzulou
INTO v prikaze SELECT, preto ten obchvat s docasnou tabulkou :-)

Milan


> Zdravim, potreboval bych v selectu vratit i ocislovane radky,
> neco jako
>
> select funkce(),* from tabulka
>
> kde funkce() vrati pro kazdy radek v selectu cislo o 1 vetsi
>
> ale bohuzel nevim jakou funkci() mam pouzit
>
> Dekuji za namety
>
> Petr Sikola

Hledam komponentu se dvema a vice seznamy

[*] js-delphi(zv)quick(tec)cz - 30.10.2003 16:12:33

Ahoj
Hledam komponentu typu levy sloupec zdrojovy seznam jmen, dalsi sloupec ovladaci prvky, a dalsi sloupec cilovy seznam jmen. Nejlepsi by bylo, kdyby v tom tretim sloupci mohly byt dva radky - dva seznamy (aktualni a dole historie)
Nevite o necem? Pokud mozne free?
Diky
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol(zv)seznam(tec)cz; 972 231 187
D6Prof+SP2; WinXPProf+SP1
programator amater


OT: rowindex na MSSQL

[*] Ing. Petr Sikola <developer(zv)efg(tec)cz> - 30.10.2003 15:22:30

Zdravim, potreboval bych v selectu vratit i ocislovane radky, neco jako

select funkce(),* from tabulka

kde funkce() vrati pro kazdy radek v selectu cislo o 1 vetsi

ale bohuzel nevim jakou funkci() mam pouzit

Dekuji za namety

Petr Sikola

Osetreni vyjimek pripojeni k MySQL pres ZEOS lib

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 30.10.2003 14:30:27

From: "Krakora Martin" <krakoram(zv)seznam(tec)cz>
> To jsem zkousel ale nemuzu tam najit ty tridy, ktere potrebuji. Nabidne mi
> to akorat standardni tridy vyjimek.

Kdo nabidne ? Ty tridy prece znas, vzdyt jsou definovany v tech komponentach.

Petr Vones

Cas po siti

[*] Petr Zahradnik <clexpert(zv)clexpert(tec)cz> - 30.10.2003 14:34:27

Puvodni zprava ze dne 30.10.2003:

> Mam PC s Win98 a pod nimi soft, ktery provadi nejaka mereni. Cas od casu je
> nutno zkontrolovat presnost vnitrnich hodin. Kontrolu bych chtel provadet
> primo z toho mericiho programu (je v D2). PC je na male lokalni siti. Naroky
> na presnost jsou minimalni, ale kontrola se musi cas od casu provadet.
> Potreboval bych precit cas z jineho pocitace, ktery je nejakym zpusobem
> kalibrovany.
> Bohuzel pod WIN 98 nefunguje fce NetRemoteTOD. Lze nejakym jinym zpusobem
> precist cas z jineho PC na lokalni siti? Uvazoval jsem i o vyuziti prikazu
> NET TIME, ale vraci mi cas s presnosti na minuty a to mi nevyhovuje.
> Byl bych Vam vdecny za nejaky napad. ( Kalibrovane stopky mne uz taky
> napadly :-)) )

Koukni se na tohle: http://sourceforge.net/projects/nettime

To je open source soft na synchronizaci casu, funguje to jako program
(server i klient) a soucasne k tomu jsou zdrojaky v Delphi. Tak si to
muzes i upravit a vylepsit.

Ja to uz delsi dobu bez problemu pouzivam na sve siti tak, ze server
se mi synchronizuje s Internetem a klienti se mi zase synchronizuji se
serverem.

Petr Zahradnik, pocitacovy expert

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


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

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

Cas po siti

[*] Ing. Antonin Spurny <spurny(zv)kavlounky(tec)cz> - 30.10.2003 14:24:26

Ahoj,

Mam PC s Win98 a pod nimi soft, ktery provadi nejaka mereni. Cas od casu je
nutno zkontrolovat presnost vnitrnich hodin. Kontrolu bych chtel provadet
primo z toho mericiho programu (je v D2). PC je na male lokalni siti. Naroky
na presnost jsou minimalni, ale kontrola se musi cas od casu provadet.
Potreboval bych precit cas z jineho pocitace, ktery je nejakym zpusobem
kalibrovany.
Bohuzel pod WIN 98 nefunguje fce NetRemoteTOD. Lze nejakym jinym zpusobem
precist cas z jineho PC na lokalni siti? Uvazoval jsem i o vyuziti prikazu
NET TIME, ale vraci mi cas s presnosti na minuty a to mi nevyhovuje.
Byl bych Vam vdecny za nejaky napad. ( Kalibrovane stopky mne uz taky
napadly :-)) )

diky
A.S.

Osetreni vyjimek pripojeni k MySQL pres ZEOS lib

[*] Krakora Martin <krakoram(zv)seznam(tec)cz> - 30.10.2003 14:16:25


Patrne stejne jako u jinych vyjimek:

try
Objekt.Metoda;
except
on E: EDanaVyjimka do
....
end;

Petr Vones


To jsem zkousel ale nemuzu tam najit ty tridy, ktere potrebuji. Nabidne mi
to akorat standardni tridy vyjimek.

Delphi a Microsoft Message Queue Server

[*] Pesek Michal <michal.pesek(zv)mnul(tec)cz> - 30.10.2003 13:24:16

Dobry den,

Mam otazku jestli jste nekdo nekdy nedelal program, ktery komunikoval s MS
Message Queue serverem, a pokud ano, tak jestli mi muzete poradit jak a kudy
na to (komponenty, literaturu, link).

D6, W2000

Predem dekuji
Michal Pesek
michal.pesek(zv)mnul(tec)cz

Osetreni vyjimek pripojeni k MySQL pres ZEOS lib

[*] Krakora Martin <krakoram(zv)seznam(tec)cz> - 30.10.2003 13:24:16

Zdravim
,zadavam vas o radu, jak v mem programu zachytit vyjimky pri pripojovani k
databazi pres komponentu ZConnection (Zeos lib v6.x pro MySQL). Zkousel jsem
to najit v archivu teto konference, ale bezvysledne. Take jsem koukal na
stranky www.zeoslib.net, ale ani tam jsem neuspel. Nasel jsem tam akorat, ze
existuji dve tridy vyjimek. Jenze nevim, jak je pouzit v mem projektu.
Potrebuji odchytit, chybne parametry jako jsou HostName, DataBase a chybne
prihlaseni.

Predem dekuji za kazdou radu nebo nakopnuti.

S pozdravem Krakora Martin

Osetreni vyjimek pripojeni k MySQL pres ZEOS lib

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

From: "Krakora Martin" <krakoram(zv)seznam(tec)cz>
> ,zadavam vas o radu, jak v mem programu zachytit vyjimky pri pripojovani k
> databazi pres komponentu ZConnection (Zeos lib v6.x pro MySQL). Zkousel jsem
> to najit v archivu teto konference, ale bezvysledne. Take jsem koukal na
> stranky www.zeoslib.net, ale ani tam jsem neuspel. Nasel jsem tam akorat, ze
> existuji dve tridy vyjimek. Jenze nevim, jak je pouzit v mem projektu.

Patrne stejne jako u jinych vyjimek:

try
Objekt.Metoda;
except
on E: EDanaVyjimka do
....
end;

Petr Vones


Unable to update NT Event Log.

[*] Tyslic Jiri <jiri.tyslic(zv)opp.tbggroup(tec)com> - 30.10.2003 13:28:22

> Ahoj vsem,
> nevi nekdo co znamena nasledujici chyba z interbase.log?
>
> (Client)Thu Oct 30 06:54:49 2003
> Unable to update NT Event Log.
> OS Message: Protokol udalosti je plny.
>
> Predem dik
> Jirka
>
V systemovem EventLogu se da nastavit jakou maximalni velikost muze mit a po kolika dnech se ma log prepisovat. Zkus nastavit vetsi hodnotu. Hlaska z Inerbase logu bude urcite i v EventLogu.

Jirka

Excel - zamceni sesitu

[*] Jiri Virt <virt(zv)volny(tec)cz> - 30.10.2003 12:48:13

attrib +R na souboru .. a je to .. ;o)

99% uzivatelu odrovnas ....

Jirka

FB: Unable to update NT Event Log.

[*] Jiri Wendl, KSH-Data <wendl(zv)ksh-data(tec)cz> - 30.10.2003 13:16:15

Ahoj vsem,
nevi nekdo co znamena nasledujici chyba z interbase.log?

(Client)Thu Oct 30 06:54:49 2003
Unable to update NT Event Log.
OS Message: Protokol udalosti je plny.

Predem dik
Jirka


Excel - zamceni sesitu

[*] Jiri Virt <virt(zv)volny(tec)cz> - 30.10.2003 13:12:15

ja tam mam toto ...

TExcelApplication.ActiveWorkbook.Protect(password, Structure,windows);


Jirka


Excel - zamceni sesitu

[*] Vlastimil Zdenek <delphi(zv)gestore(tec)cz> - 30.10.2003 12:44:12

Zdravim vsechny,
prosil bych o radu:
jak zamknu excelovsky sesit (v excelu Nastroje/Zamknout/Zamknout sesit),
ktery vytvarim v Delphi? Posilam ho pak emailem a nechci aby ho prijemce
mohl opravovat.....

Diky za vse...
Vlasta

D5, MSOFFICE2000


Excel - zamceni sesitu

[*] Vlastimil Zdenek <delphi(zv)gestore(tec)cz> - 30.10.2003 13:04:14

To je sice pravda, ale preci jen uzamceni excelovskyho listu s HESLEM je
mnohem jistejsi.....
V excelu mi VB vygeneroval toto:

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

Ale kde je heslo...?? A jak tento prikaz prepsat do Deplhi??

Diky V
> attrib +R na souboru .. a je to .. ;o)
>
> 99% uzivatelu odrovnas ....
>
> Jirka
>
>
>

Rychlost Paradoxu

[*] Halen <halen(zv)seznam(tec)cz> - 30.10.2003 13:00:14

1. Zkomprimovat tabulky utilitkou TUTILITY.

2. Zkusit zvetsit cache v IDAPI, Configuration > System > Init >
MaxBufSize na velikost nejvetsi tabulky v databazi. POZOR! na velikost
volne pameti na jednotlivych stanicich. Rozumna hranice je do 16384.

3. Zkusit vkladat zaznamy do tabulky pres InsertRecord.

4. Zkusit vkladat zaznamy pres specialni vkladaci QUERY, s minimem nebo
zadnymi controlsy pro maximalni urychleni....

To by mohlo pomoci.

HalenTech.

Stop service

[*] Petr Langer <langer(zv)xdom(tec)cz> - 30.10.2003 12:02:09

Najdi si treba sadu komponent JgNT a tam to mas i s ukazkou.

HTH,
Petr Langer

----- Original Message -----
From: "Martin Dubovsky" <dmartin(zv)post(tec)cz>
Subject: Stop service


> Jakym zusobem stopnout sluzbu nevite nekdo?

Rychlost Paradoxu

[*] Peter Ondras <peter.ondras(zv)pse.sk> - 30.10.2003 12:02:09

Nie pouzivam tam while not Table.Eof do...

Peter Ondras - www.ondras.sk
peter.ondras(zv)pse.sk
+421 904 421 925

> nepouzivas v tom cyklu nahodou parad dokola RecordCount (napr. While
> Table1.RecNo <> Table1.RecordCount)? Zjisteni poctu zaznamu totiz neco
> trva,
> lepsi je pouzit nasledujici konstrukci:
>
> While Not Table1.EOF do Begin
> Table2.Append;
> ...
> Table1.Next;
> End;
>
> Jarda


Klavesove zkratky II.

[*] Lubos Urban <lubos.urban(zv)visicom.sk> - 30.10.2003 12:40:12

>> Ahoj,
>> hledal jsem snad vsude, ale nikde nenasel :-( Potrebuju pro svoji
>> aplikaci
> definovat kl. zkratku, ktera by fungovala v ramci
>> cele moji aplikace na jakemkoliv formulari. Nechci to resit pomoci
>> registru
> a systemovych (windows) zkratek. Ma nekdo
>> napad?

skus pozret TApplication.OnShortCut event mozno je to to co potrebujes

Stop service

[*] Jaroslav Bruzek <konference-delphi(zv)dcsystems(tec)cz> - 30.10.2003 12:00:09

Zdarec,

ja to resim pomoci prikazu "NET", pokud ho budes chtit zase spustit, tak tam
dej "NET START"

Jarda

procedure StopService(ServiceName : String);
Var StartupInfo : TStartupInfo;
ProcessInfo : TProcessInformation;
Begin
with StartupInfo do
begin
cb:=sizeof(StartupInfo);
lpReserved:=nil;
lpDesktop:=nil;
lpTitle:=nil;
dwX:=0; dwY:=0;
dwFlags:=STARTF_USESHOWWINDOW;
wShowWindow:=SW_HIDE;
cbReserved2:=0;
lpReserved2:=nil;
end;
CreateProcess(nil,PCHAR('NET STOP '+ServiceName),
nil,nil,false,CREATE_SEPARATE_WOW_VDM,nil, nil, StartupInfo, ProcessInfo);
End;
-----Original Message-----
From: Martin Dubovsky

Jakym zusobem stopnout sluzbu nevite nekdo?


--
Potrebujete vice prostoru pro vase stranky?
Ptejte se na http://sluzby.volny(tec)cz/cs/product/ftp_paid


Stop service

[*] Lukacs Peter <peter.lukacs(zv)fst1.siemens(tec)cz> - 30.10.2003 11:56:09

co treba tohle?
zapisuje mi to i do event logu.
function StopSer: cardinal;
begin
SvcMgr:=OpenSCManagerA(PAnsiChar('fst1720a'), nil,
SC_MANAGER_ALL_ACCESS);
if SvcMgr=0 then
begin
result:=GetLastError;
ErrFunc:='OpenSCManager';
end
else
begin
Svc:=OpenServiceA(SvcMgr, PAnsiChar('SLnet'), SERVICE_STOP);
if Svc=0 then
begin
result:=GetLastError;
ErrFunc:='OpenService';
end
else
begin
CS:=ControlService(Svc, SERVICE_CONTROL_STOP, ServiceStatus);
if not CS then
begin
result:=GetLastError;
ErrFunc:='ControlService';
end
else
begin
result:=0;
end;
CloseServiceHandle(Svc);
end;
CloseServiceHandle(SvcMgr);
end;
if Result<>0 then
begin
Form1.EL.EventType := etError;
Form1.EL.LogEvent(Format('Function : %s Error : %d %s'+#13+#10+'Could not
stop.', [ErrFunc, result,
SysErrorMessage(result)]));
Form1.EL.EventType := etInformation;
end
else
Form1.EL.LogEvent('OK, service stoped.');
end;


-----Original Message-----
From: Martin Dubovsky [mailto:dmartin(zv)post(tec)cz]
Sent: Thursday, October 30, 2003 11:20 AM
To: delphi-l(zv)clexpert(tec)cz
Subject: Stop service


Jakym zusobem stopnout sluzbu nevite nekdo?


--
Potrebujete vice prostoru pro vase stranky?
Ptejte se na http://sluzby.volny(tec)cz/cs/product/ftp_paid

Narezovy plan

[*] Jiri Cincura <jiri(zv)cincura(tec)net> - 30.10.2003 11:24:06

Slavomir Skopalik wrote:
> Technicky vzato:
> Podle mych informaci na tohle neexistuje analyzticky algoritmus,
> navic muze existovat vice optimalnich reseni.
>

Presne tak. Takto je to neresitelne. Ale pokud bys vedel treba umisteni
jedne desticky, tak uz to jde. A pokud by jich bylo vice (treba ty
nejvetsi), tak je to uz parada.


Jiri Cincura
e-mail: mailto:jiri(zv)cincura.net; mailto:xcincura(zv)informatics.muni(tec)cz
web: www.cincura.net


Klavesove zkratky II.

[*] Pavel Hauptman <phauptman(zv)bilbo(tec)cz> - 30.10.2003 11:50:08

Jo, zapomel jsem dodat, aby fungovali i v pripade, ze formular zobrazji jako
Modal.

>Ahoj,
>hledal jsem snad vsude, ale nikde nenasel :-( Potrebuju pro svoji aplikaci
definovat kl. zkratku, ktera by fungovala v ramci
>cele moji aplikace na jakemkoliv formulari. Nechci to resit pomoci registru
a systemovych (windows) zkratek. Ma nekdo
>napad?
>
>Diky a s pozdravem
>Pavel Hauptman

Klavesove zkratky

[*] Pavel Hauptman <phauptman(zv)bilbo(tec)cz> - 30.10.2003 11:40:07

Ahoj,
hledal jsem snad vsude, ale nikde nenasel :-( Potrebuju pro svoji aplikaci
definovat kl. zkratku, ktera by fungovala v ramci cele moji aplikace na
jakemkoliv formulari. Nechci to resit pomoci registru a systemovych
(windows) zkratek. Ma nekdo napad?

Diky a s pozdravem
Pavel Hauptman

Stop service

[*] Martin Dubovsky <dmartin(zv)post(tec)cz> - 30.10.2003 11:20:00

Jakym zusobem stopnout sluzbu nevite nekdo?


--
Potrebujete vice prostoru pro vase stranky?
Ptejte se na http://sluzby.volny(tec)cz/cs/product/ftp_paid

MDI maximalizacia a ClientWidth, ClientHeight

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 30.10.2003 10:21:56

> Dakujem, procedurka mi riesi tu velkost okna, ale je problem ze kedy ju
> mam zavolat
> Ak ju dam do tlacitka, tak to pekne roztiahne ako ma
> Ale ked som ju volal vtej procedure na odchyt spravy WM_SIZE tak sa to
> nesprava pekne
> Viem niekde vobec odchytit, ze okna sa ma maximalizovat a toto si
> obsluzit?


Urcite, nekde to tu najdes, ja ted nemam moznost se podivat. Odchytni si
zpravu WM_MAXIMIZE nebo tak nejak.

MB


MDI maximalizacia a ClientWidth, ClientHeight

[*] mstevlik(zv)gamo.sk - 30.10.2003 09:57:53

> Ahoj, ja jsem nekde vycetl toto:
>
> procedure TFrmCommonMDIChild.ResizeToClientExecute(Sender: TObject);
> var ClientRect:TRect;
> begin
> {$WARNINGS OFF}
> Win32Check(Windows.GetClientRect(application.MainForm.ClientHandle,
> ClientRect));
> {$WARNINGS ON}
> self.BoundsRect:=ClientRect;
> end;
>
> Mam ale dojem, ze to stejne blikne...
>
> HTH, MB

Dakujem, procedurka mi riesi tu velkost okna, ale je problem ze kedy ju
mam zavolat
Ak ju dam do tlacitka, tak to pekne roztiahne ako ma
Ale ked som ju volal vtej procedure na odchyt spravy WM_SIZE tak sa to
nesprava pekne
Viem niekde vobec odchytit, ze okna sa ma maximalizovat a toto si
obsluzit?

Stevlik Marian
ISYS programator

GAMO a.s.
Kyjevske nam. 6
974 04 Banska Bystrica
mail: mstevlik(zv)gamo.sk
tel: +421 48 4137935, 4372111
ip-tel: 421 48 4372098
mobil: +412 905 462010
icq: 34893645

WaveInAddBuffer a NT

[*] Tomas Jantac <tomasnusle(zv)volny(tec)cz> - 30.10.2003 09:57:53

Ahoj,

nema tu nekdo zkusenosti s jednotkou MMSystem? Konkretne se samplovanim
zvuku? Mam kod, jehoz cast je uvedena dole, ktery mi pod Windows XP a
Windows 2000 chodi ale pod Windows NT ne i kdyz na MSDN je uvadena podpora
na vsech OS. Aplikace funguje dokud se nevola procedure WaveInAddBuffer
(misto v kodu je oznaceno {**}), tam se zastavi aniz by vratila nejakou
vyjimku, nebo navratovou hodnotu. Princip celeho algoritmu je nasledujici:
Alokuji se dva buffery pro samplovani zvuku, ktere se stridave podstrkavaji
systemu pomoci funkci WaveInAddBuffer a pri volani funkce WaveInProc se
naplneny buffer zpracuje, vyprazdni (resp. znovu se pripravi hlavicka) a
opet se funkci WaveInAddBuffer zaradi do fronty pro saplovani. (samplovani
se spousti funkci StartSampling)

Diky za pripadne rady/napady....

Tomas J.

D7 Prof


procedure waveInProc(SomeWaveIn: HWaveIn; uMsg: UINT; dwInstance,
dwParam1, dwParam2: DWORD); begin
case uMsg of // Respond to WaveIn messages from Windows.
WIM_OPEN: PostMessage(fMain.Handle, WaveIn_Started, 0,
dwParam1); WIM_CLOSE: PostMessage(fMain.Handle, WaveIn_Stop,
0, dwParam1); WIM_DATA: fMain.ContinueRecording(dwParam1);
end;
end;

function TfMain.ContinueRecording(WAVEHDRPtr: Integer): Boolean;
var
P:Pointer;
I,C:Integer;
begin
TempWavHdr := PWAVEHDR(WAVEHDRPtr);

If not Stoping then
begin
EnterCriticalSection(cSocket);
try
if Assigned(gSocket) then
gSocket.SendBuf(TempWavHdr.lpData^,TempWavHdr.dwBytesRecorded);
finally
LeaveCriticalSection(cSocket);
end;
P:=TempWavHdr.lpData;
ResetBufferHeader(TempWavHdr,P);
I:=waveInPrepareHeader(FInputHandle, TempWavHdr,
SizeOf(WAVEHDR)); try
{**} I:=waveInAddBuffer(FInputHandle, TempWavHdr,
SizeOf(WAVEHDR)); {** tady se to zastavi :o( **} except
end;
Result := True;
end
else
begin
Result:=True;

For I:=Low(fWaveHeader) to High(fWaveHeader) do
begin

c:=waveInUnprepareHeader(FInputHandle,fWaveHeader[I],SizeOf(WaveHdr));
Result:=Result And (C=MMSYSERR_NOERROR);
end; {}
try
If Result then PostMessage(fMain.Handle, UM_MyStop, 0, 0);
except
end;
end;
Memo1.Lines.Add('continueRecording
End'+IntToStr(Ord(Stoping))); end;

Procedure
TfMain.ResetBufferHeader(WaveHeader:PWaveHdr;WaveBuffer:Pointer);
begin
WaveHeader^.lpData:=WaveBuffer;
WaveHeader^.dwBufferLength:=BufferBlockSize;
WaveHeader^.dwBytesRecorded:=0;
WaveHeader^.dwFlags:=0;
WaveHeader^.lpNext:=nil;
end;

function TfMain.StartSampling(Node:IXMLNode): IXMLNode;
{} function GetWaveFormatEx(Node:IXMLNode):TWaveFormatEx;
{} begin
{} Result.nChannels:=GetAttribute(Node,'Chanels',2);
{}
Result.nSamplesPerSec:=GetAttribute(Node,'SamplesPerSec',2048);
{} Result.wFormatTag:=WAVE_FORMAT_PCM;
{} Result.wBitsPerSample:=GetAttribute(Node,'BitsPerSample',8);
{}
Result.nBlockAlign:=Round((Result.nChannels*Result.wBitsPerSample)/8);
{}
Result.nAvgBytesPerSec:=Result.nSamplesPerSec*Result.nBlockAlign;
{} Result.cbSize:=0;
{} end;
{} Function GetWaveHeader:PWaveHdr;
{} var WaveBuffer:Pointer;
{} begin
{} Result:=AllocMem(sizeOf(WaveHdr));
{} WaveBuffer:=AllocMem(BufferBlockSize);
{} ResetBufferHeader(Result,WaveBuffer);
{} end;
Var I:Integer;
WFEx:TWaveFormatEx;
B:Boolean;
begin
Result:=nil;
Stoping:=False;
If not Assigned(Node) then
Node:=XMLconfig.DocumentElement.ChildNodes['format'];
WFEx:=GetWaveFormatEx(Node);
B := waveInOpen((zv)FInputHandle, DevId, ((zv)WFEx),
DWord((zv)WaveInProc), DWORD(Application.MainForm.Handle),
DWORD(callback_function)) = MMSYSERR_NOERROR;

SetLength(fWaveHeader,MaxBuffers);
For I:=Low(fWaveHeader) to High(fWaveHeader) do
begin
fWaveHeader[I]:=GetWaveHeader;

waveInPrepareHeader(FInputHandle,fWaveHeader[I],sizeOf(WAVEHDR));
waveInAddBuffer(FInputHandle,fWaveHeader[I],SizeOf(WAVEHDR));
end;

if B then B:=B and
(waveInStart(FInputHandle)=MMSYSERR_NOERROR); if B then
Result:=Node;
end;

WaveInAddBuffer a NT

[*] Tomas Jantac <tomasnusle(zv)volny(tec)cz> - 30.10.2003 09:35:49

Ahoj,

nema tu nekdo zkusenosti s jednotkou MMSystem? Konkretne se samplovanim zvuku? Mam kod, jehoz cast je uvedena dole, ktery mi pod Windows XP a Windows 2000 chodi ale pod Windows NT ne i kdyz na MSDN je uvadena podpora na vsech OS. Aplikace funguje dokud se nevola procedure WaveInAddBuffer (misto v kodu je oznaceno {**}), tam se zastavi aniz by vratila nejakou vyjimku, nebo navratovou hodnotu. Princip celeho algoritmu je nasledujici: Alokuji se dva buffery pro samplovani zvuku, ktere se stridave podstrkavaji systemu pomoci funkci WaveInAddBuffer a pri volani funkce WaveInProc se naplneny buffer zpracuje, vyprazdni (resp. znovu se pripravi hlavicka) a opet se funkci WaveInAddBuffer zaradi do fronty pro saplovani. (samplovani se spousti funkci StartSampling)

Diky za pripadne rady/napady....

Tomas J.

D7 Prof


procedure waveInProc(SomeWaveIn: HWaveIn; uMsg: UINT; dwInstance,
dwParam1, dwParam2: DWORD); begin
case uMsg of // Respond to WaveIn messages from Windows.
WIM_OPEN: PostMessage(fMain.Handle, WaveIn_Started, 0,
dwParam1); WIM_CLOSE: PostMessage(fMain.Handle, WaveIn_Stop,
0, dwParam1); WIM_DATA: fMain.ContinueRecording(dwParam1);
end;
end;

function TfMain.ContinueRecording(WAVEHDRPtr: Integer): Boolean;
var
P:Pointer;
I,C:Integer;
begin
TempWavHdr := PWAVEHDR(WAVEHDRPtr);

If not Stoping then
begin
EnterCriticalSection(cSocket);
try
if Assigned(gSocket) then
gSocket.SendBuf(TempWavHdr.lpData^,TempWavHdr.dwBytesRecorded);
finally
LeaveCriticalSection(cSocket);
end;
P:=TempWavHdr.lpData;
ResetBufferHeader(TempWavHdr,P);
I:=waveInPrepareHeader(FInputHandle, TempWavHdr,
SizeOf(WAVEHDR)); try
{**} I:=waveInAddBuffer(FInputHandle, TempWavHdr,
SizeOf(WAVEHDR)); {** tady se to zastavi :o( **} except
end;
Result := True;
end
else
begin
Result:=True;

For I:=Low(fWaveHeader) to High(fWaveHeader) do
begin

c:=waveInUnprepareHeader(FInputHandle,fWaveHeader[I],SizeOf(WaveHdr));
Result:=Result And (C=MMSYSERR_NOERROR);
end; {}
try
If Result then PostMessage(fMain.Handle, UM_MyStop, 0, 0);
except
end;
end;
Memo1.Lines.Add('continueRecording
End'+IntToStr(Ord(Stoping))); end;

Procedure
TfMain.ResetBufferHeader(WaveHeader:PWaveHdr;WaveBuffer:Pointer);
begin
WaveHeader^.lpData:=WaveBuffer;
WaveHeader^.dwBufferLength:=BufferBlockSize;
WaveHeader^.dwBytesRecorded:=0;
WaveHeader^.dwFlags:=0;
WaveHeader^.lpNext:=nil;
end;

function TfMain.StartSampling(Node:IXMLNode): IXMLNode;
{} function GetWaveFormatEx(Node:IXMLNode):TWaveFormatEx;
{} begin
{} Result.nChannels:=GetAttribute(Node,'Chanels',2);
{}
Result.nSamplesPerSec:=GetAttribute(Node,'SamplesPerSec',2048);
{} Result.wFormatTag:=WAVE_FORMAT_PCM;
{} Result.wBitsPerSample:=GetAttribute(Node,'BitsPerSample',8);
{}
Result.nBlockAlign:=Round((Result.nChannels*Result.wBitsPerSample)/8);
{}
Result.nAvgBytesPerSec:=Result.nSamplesPerSec*Result.nBlockAlign;
{} Result.cbSize:=0;
{} end;
{} Function GetWaveHeader:PWaveHdr;
{} var WaveBuffer:Pointer;
{} begin
{} Result:=AllocMem(sizeOf(WaveHdr));
{} WaveBuffer:=AllocMem(BufferBlockSize);
{} ResetBufferHeader(Result,WaveBuffer);
{} end;
Var I:Integer;
WFEx:TWaveFormatEx;
B:Boolean;
begin
Result:=nil;
Stoping:=False;
If not Assigned(Node) then
Node:=XMLconfig.DocumentElement.ChildNodes['format'];
WFEx:=GetWaveFormatEx(Node);
B := waveInOpen((zv)FInputHandle, DevId, ((zv)WFEx),
DWord((zv)WaveInProc), DWORD(Application.MainForm.Handle),
DWORD(callback_function)) = MMSYSERR_NOERROR;

SetLength(fWaveHeader,MaxBuffers);
For I:=Low(fWaveHeader) to High(fWaveHeader) do
begin
fWaveHeader[I]:=GetWaveHeader;

waveInPrepareHeader(FInputHandle,fWaveHeader[I],sizeOf(WAVEHDR));
waveInAddBuffer(FInputHandle,fWaveHeader[I],SizeOf(WAVEHDR));
end;

if B then B:=B and
(waveInStart(FInputHandle)=MMSYSERR_NOERROR); if B then
Result:=Node;
end;

Rychlost Paradoxu

[*] Peter Ondras <peter.ondras(zv)pse.sk> - 30.10.2003 10:25:56

Teraz to presne neviem povedat, ale myslim, ze v case prenosu je aktivny primarny index. Blizsie informacie poslem vo vecernych hodinach.

> Jak jsou nasazeny indexy ? zejmena na prvni tabulce.
> Pravdepodobne by je slo optimalizovat nebo pred
> akci zrusit a potom zase postavit.
>
> Pavel
>
> > Existuje nejaky popis pre Paradox, kde by boli informacie o jeho
> > rychlosti? Prave totiz riesime takyto problem:
> > Otvorene su dve tabulky 1. ma priblizne 20 000 zaznamov a 2.
> > 10 000 zaz.
> > Z prvej sa presunie 2000 zaznaov do druhej (nad 2. prebieha append a
> > post) a do prvej sa na kazdy zaznam z tych 2000 kopirovanych
> > urobit edit
> > a post. Testy ukazali, ze na velkosti druhej tabulky nezalezi. Avsak
> > prva tabulka pri pocte 2000 zaznamov (RecordCount) kopiruje data do
> > druhej priblizne 2 minuty a tato "rychlost" postupne narasta.
> > Pri 20 000
> > zaznamoch v prvej tabulke a prenose z nej 2000 zaznamov sa casy
> > dostavaju uz na 20 minut.
> >
> > Poradte prosim kde moze byt zrada. Je to oficialna chyba Paradoxu?
>
>
>

Rychlost Paradoxu

[*] Jaroslav Bruzek <konference-delphi(zv)dcsystems(tec)cz> - 30.10.2003 10:03:54

Zdarec,

nepouzivas v tom cyklu nahodou parad dokola RecordCount (napr. While
Table1.RecNo <> Table1.RecordCount)? Zjisteni poctu zaznamu totiz neco trva,
lepsi je pouzit nasledujici konstrukci:

While Not Table1.EOF do Begin
Table2.Append;
...
Table1.Next;
End;

Jarda



-----Original Message-----
From: Peter Ondras

Existuje nejaky popis pre Paradox, kde by boli informacie o jeho
rychlosti? Prave totiz riesime takyto problem:
Otvorene su dve tabulky 1. ma priblizne 20 000 zaznamov a 2. 10 000 zaz.
Z prvej sa presunie 2000 zaznaov do druhej (nad 2. prebieha append a
post) a do prvej sa na kazdy zaznam z tych 2000 kopirovanych urobit edit
a post. Testy ukazali, ze na velkosti druhej tabulky nezalezi. Avsak
prva tabulka pri pocte 2000 zaznamov (RecordCount) kopiruje data do
druhej priblizne 2 minuty a tato "rychlost" postupne narasta. Pri 20 000
zaznamoch v prvej tabulke a prenose z nej 2000 zaznamov sa casy
dostavaju uz na 20 minut.

Poradte prosim kde moze byt zrada. Je to oficialna chyba Paradoxu?

Peter Ondras - www.ondras.sk
peter.ondras(zv)pse.sk
+421 904 421 925


MDI maximalizacia a ClientWidth, ClientHeight

[*] dphi_forum(zv)proces.sk - 30.10.2003 09:15:47



Cava, ja som zakomentoval ShowWindow(Handle, SW_SHOWNORMAL); blikaci efekt
som neodstranil

Stano


WaveInAddBuffer a NT

[*] tomasnusle(zv)volny(tec)cz - 30.10.2003 09:15:47

Ahoj,

nema tu nekdo zkusenosti s jednotkou MMSystem? Konkretne se
samplovanim zvuku? Mam kod, jehoz cast je uvedena dole, ktery mi
pod Windows XP a Windows 2000 chodi ale pod Windows NT ne i kdyz
na MSDN je uvadena podpora na vsech OS. Aplikace funguje dokud se
nevola procedure WaveInAddBuffer (misto v kodu je oznaceno {**}
), tam se zastavi aniz by vratila nejakou vyjimku, nebo
navratovou hodnotu. Princip celeho algoritmu je nasledujici:
Alokuji se dva buffery pro samplovani zvuku, ktere se stridave
podstrkavaji systemu pomoci funkci WaveInAddBuffer a pri volani
funkce WaveInProc se naplneny buffer zpracuje, vyprazdni (resp.
znovu se pripravi hlavicka) a opet se funkci WaveInAddBuffer
zaradi do fronty pro saplovani. (samplovani se spousti funkci
StartSampling)

Diky za pripadne rady/napady....

Tomas J.

D7 Prof


procedure waveInProc(SomeWaveIn: HWaveIn; uMsg: UINT; dwInstance,
dwParam1, dwParam2: DWORD); begin
case uMsg of // Respond to WaveIn messages from Windows.
WIM_OPEN: PostMessage(fMain.Handle, WaveIn_Started, 0,
dwParam1); WIM_CLOSE: PostMessage(fMain.Handle, WaveIn_Stop,
0, dwParam1); WIM_DATA: fMain.ContinueRecording(dwParam1);
end;
end;

function TfMain.ContinueRecording(WAVEHDRPtr: Integer): Boolean;
var
P:Pointer;
I,C:Integer;
begin
TempWavHdr := PWAVEHDR(WAVEHDRPtr);

If not Stoping then
begin
EnterCriticalSection(cSocket);
try
if Assigned(gSocket) then
gSocket.SendBuf(TempWavHdr.lpData^,TempWavHdr.dwBytesRecorded);
finally
LeaveCriticalSection(cSocket);
end;
P:=TempWavHdr.lpData;
ResetBufferHeader(TempWavHdr,P);
I:=waveInPrepareHeader(FInputHandle, TempWavHdr,
SizeOf(WAVEHDR)); try
{**} I:=waveInAddBuffer(FInputHandle, TempWavHdr,
SizeOf(WAVEHDR)); {** tady se to zastavi :o( **} except
end;
Result := True;
end
else
begin
Result:=True;

For I:=Low(fWaveHeader) to High(fWaveHeader) do
begin

c:=waveInUnprepareHeader(FInputHandle,fWaveHeader[I],SizeOf(WaveHdr));
Result:=Result And (C=MMSYSERR_NOERROR);
end; {}
try
If Result then PostMessage(fMain.Handle, UM_MyStop, 0, 0);
except
end;
end;
Memo1.Lines.Add('continueRecording
End'+IntToStr(Ord(Stoping))); end;

Procedure
TfMain.ResetBufferHeader(WaveHeader:PWaveHdr;WaveBuffer:Pointer);
begin
WaveHeader^.lpData:=WaveBuffer;
WaveHeader^.dwBufferLength:=BufferBlockSize;
WaveHeader^.dwBytesRecorded:=0;
WaveHeader^.dwFlags:=0;
WaveHeader^.lpNext:=nil;
end;

function TfMain.StartSampling(Node:IXMLNode): IXMLNode;
{} function GetWaveFormatEx(Node:IXMLNode):TWaveFormatEx;
{} begin
{} Result.nChannels:=GetAttribute(Node,'Chanels',2);
{}
Result.nSamplesPerSec:=GetAttribute(Node,'SamplesPerSec',2048);
{} Result.wFormatTag:=WAVE_FORMAT_PCM;
{} Result.wBitsPerSample:=GetAttribute(Node,'BitsPerSample',8);
{}
Result.nBlockAlign:=Round((Result.nChannels*Result.wBitsPerSample)/8);
{}
Result.nAvgBytesPerSec:=Result.nSamplesPerSec*Result.nBlockAlign;
{} Result.cbSize:=0;
{} end;
{} Function GetWaveHeader:PWaveHdr;
{} var WaveBuffer:Pointer;
{} begin
{} Result:=AllocMem(sizeOf(WaveHdr));
{} WaveBuffer:=AllocMem(BufferBlockSize);
{} ResetBufferHeader(Result,WaveBuffer);
{} end;
Var I:Integer;
WFEx:TWaveFormatEx;
B:Boolean;
begin
Result:=nil;
Stoping:=False;
If not Assigned(Node) then
Node:=XMLconfig.DocumentElement.ChildNodes['format'];
WFEx:=GetWaveFormatEx(Node);
B := waveInOpen((zv)FInputHandle, DevId, ((zv)WFEx),
DWord((zv)WaveInProc), DWORD(Application.MainForm.Handle),
DWORD(callback_function)) = MMSYSERR_NOERROR;

SetLength(fWaveHeader,MaxBuffers);
For I:=Low(fWaveHeader) to High(fWaveHeader) do
begin
fWaveHeader[I]:=GetWaveHeader;

waveInPrepareHeader(FInputHandle,fWaveHeader[I],sizeOf(WAVEHDR));
waveInAddBuffer(FInputHandle,fWaveHeader[I],SizeOf(WAVEHDR));
end;

if B then B:=B and
(waveInStart(FInputHandle)=MMSYSERR_NOERROR); if B then
Result:=Node;
end;


--
Potrebujete vice prostoru pro vase stranky?
Ptejte se na http://sluzby.volny(tec)cz/cs/product/ftp_paid

formular - muze byt poskozeny?

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 30.10.2003 08:53:45

Ahoj, testuji formular, ktery vytvoril kolega. Jsou na nem nejake gridy,
spousta editu, datasety atd. Jeden grid+dataset+source je jiz z oddedeneho
balicku, dalsi 3 jsou pridane az v tomto formu.
Formular je spolu s dalsimi v jednom balicku, je oddedeny od obecnejsiho
predka z jineho, bazoveho balicku. Ten formular, na rozdil od jinych
formularu dela toto:

Pokud se s tim formularem chvili pracuje, pak se objevi hlaska "Invalid
statement handle", od te chvile se zpravidla uz neda s formularem rozumne
pracovat, po chvili obvykle nejde balicek zkompilovat (vyzaduje zarucene
existujici jine bpl apod.), delphi nejdou ani korektne ukoncit, formular
nejde ani ulozit (hlasky typu Field FrmSwConfig.QFZAPATI does not have a
corresponding component. Remove
the declaration?) a nakonec nezbude nez Delphi sestrelit.

Nejrychleji jde ten stav vyvolat prepnutim formulare do textoveho zobrazeni
Alt+F12.

Zatim jsem prisel na to, ze kdyz z formulare odeberu vsechny komponenty,
ktere nebyly v predku (gridy, datasety, datasourcy), coz se nepovede
najednou, musim ukladat po castech, pak uz formular nema s Alt+F12 potize.

Napada me, ze ten formular zkusim udelat cely znovu, nez se ale do toho
pustim, chci se zeptat, jestli nekdo netusi, v cem by mohl byt problem?
Nemuze byt nejak poskozeny DFM? Existuje nejaka utilita na kontrolu
struktury DFM? Diky za pripadne rady,

D6, Win2k

MB


Volanie procedur OnDestroy pri ENDSESSION alebo (T

[*] Stanislav Kochan <skochan(zv)microstep-hdo.sk> - 30.10.2003 09:43:51

Po dni programovania sa mi nepodarilo donutit delphi aby korektne volaly
vsetky destruktory pro prijati signalu EndSession. Ak sa totiz nezavolaju
tak sa korektne neodhlasim z ComServera a Windows zahlasi toto:

---------------------------
COM Server Warning
---------------------------
There are still active COM objects in this application. One or more
clients may have references to these objects, so manually closing this
application may cause those client application(s) to fail.
Are you sure you want to close this application?
---------------------------
Yes No
---------------------------

Tak som pristupil k nie prilis cistemu rieseniu ze sa odpajam od
ComServera exaktne v EndSession.Funguje to bohuzial iba niekedy.
Zda sa ze to funguje len ak Win v spravnom poradi vypinaju aplikacie. Ak
poslu EndSession najprv mojej aplikacii a potom ComServeru tak je to
vsetko OK. Ak vsak najprv poslu EndSession ComServeru tak ten zahlasi ze
este su na neho naviazane ulohy je tu problem (vid hlasenie).
Skusal som ukoncovanie spojeni z ComServerom uz v QueryEndSession ale ani
to nepomohlo. V NT a 2000 kach totiz okamzite ako aplikacia odpoveda na
QueryEndSession tak dostane od Win spravu EndSession. Tak ze som ziskal
par milisekund ale nic viac.

Tak ze som zatial bezradny. Idem skusit preprogramovat ComServer aby po
prijati QueryEndSession chvilu pockal kym sa vsetci odhlasia.

Vie niekto o lepsom rieseni?

Stano.

-----------------------------------------------------------------------------------------------------------------------------------------------
Nazdar nazdar.

Mam taky problem.
Mam formulare a v nich definovanyu proceduru OnDestroy.
Ak aplikaciu regularne vypnem tak sa OnDestroy vykona.
Ak vsak vypnem poctac cez Start->ShutDown procedure OnDestroy sa nevykona.
V WndProc som si odchitil spravu WM_ENDSESSION a zavolal som funkciu
Application.Terminate
Ale vysledok sa nedostavil. Procedury OnDestroy sa stale nevolaju.
Poradte mi prosim co mam spravit?

Dik.Stano.

Rychlost Paradoxu

[*] Peter Ondras <peter.ondras(zv)pse.sk> - 30.10.2003 09:19:48

Existuje nejaky popis pre Paradox, kde by boli informacie o jeho
rychlosti? Prave totiz riesime takyto problem:
Otvorene su dve tabulky 1. ma priblizne 20 000 zaznamov a 2. 10 000 zaz.
Z prvej sa presunie 2000 zaznaov do druhej (nad 2. prebieha append a
post) a do prvej sa na kazdy zaznam z tych 2000 kopirovanych urobit edit
a post. Testy ukazali, ze na velkosti druhej tabulky nezalezi. Avsak
prva tabulka pri pocte 2000 zaznamov (RecordCount) kopiruje data do
druhej priblizne 2 minuty a tato "rychlost" postupne narasta. Pri 20 000
zaznamoch v prvej tabulke a prenose z nej 2000 zaznamov sa casy
dostavaju uz na 20 minut.

Poradte prosim kde moze byt zrada. Je to oficialna chyba Paradoxu?

Peter Ondras - www.ondras.sk
peter.ondras(zv)pse.sk
+421 904 421 925

Rychlost Paradoxu

[*] Lstiburek Pavel <lstiburek(zv)ceb(tec)cz> - 30.10.2003 09:33:49

Jak jsou nasazeny indexy ? zejmena na prvni tabulce.
Pravdepodobne by je slo optimalizovat nebo pred
akci zrusit a potom zase postavit.

Pavel

> Existuje nejaky popis pre Paradox, kde by boli informacie o jeho
> rychlosti? Prave totiz riesime takyto problem:
> Otvorene su dve tabulky 1. ma priblizne 20 000 zaznamov a 2.
> 10 000 zaz.
> Z prvej sa presunie 2000 zaznaov do druhej (nad 2. prebieha append a
> post) a do prvej sa na kazdy zaznam z tych 2000 kopirovanych
> urobit edit
> a post. Testy ukazali, ze na velkosti druhej tabulky nezalezi. Avsak
> prva tabulka pri pocte 2000 zaznamov (RecordCount) kopiruje data do
> druhej priblizne 2 minuty a tato "rychlost" postupne narasta.
> Pri 20 000
> zaznamoch v prvej tabulke a prenose z nej 2000 zaznamov sa casy
> dostavaju uz na 20 minut.
>
> Poradte prosim kde moze byt zrada. Je to oficialna chyba Paradoxu?

MDI maximalizacia a ClientWidth, ClientHeight

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 30.10.2003 09:01:46

> 2. Application.MainForm.ClientHeight mi vracia sice ClientHeight hlavneho
> formu, ale kedze mam na nom StatusBar a ToolBar, tak ich vysky vtom
> zahrnute nemam :(

Ahoj, ja jsem nekde vycetl toto:

procedure TFrmCommonMDIChild.ResizeToClientExecute(Sender: TObject);
var ClientRect:TRect;
begin
{$WARNINGS OFF}
Win32Check(Windows.GetClientRect(application.MainForm.ClientHandle,
ClientRect));
{$WARNINGS ON}
self.BoundsRect:=ClientRect;
end;

Mam ale dojem, ze to stejne blikne...

HTH, MB


MDI maximalizacia a ClientWidth, ClientHeight

[*] mstevlik(zv)gamo.sk - 30.10.2003 08:51:45

Hi all,
Rad by som vas poprosil o radu
Chcel by som do mojho potomka z TForm urobit jednu vec:
Ak je FormStyle = fsMDIChild a uzivatel si necha takyto formular
maximalizovat, tak chcem potlacit klasicke MDI maximalizovanie, ale chcem
aby sa mi okno roztiahlo
na vyuzitelnu plochu MDIformu
Zatial som to vyriesil napisanim procedury na odchyt VM_SIZE

procedure TMDIChild.WMSize(var Message: TWMSize);
begin
if (FormStyle = fsMDIChild) and (Message.SizeType = SIZEFULLSCREEN) then
begin
ShowWindow(Handle, SW_SHOWNORMAL);
Top := 0;
Left := 0;
Width := Application.MainForm.ClientWidth;
Height := Application.MainForm.ClientHeight;
end
else
inherited;
end;

To mi sice urobi to co chcem, ale ma to 2 problemy
1. Preblikne to
2. Application.MainForm.ClientHeight mi vracia sice ClientHeight hlavneho
formu, ale kedze mam na nom StatusBar a ToolBar, tak ich vysky vtom
zahrnute nemam :(

Viete mi teda poradit ako toto vyriesit?

Stevlik Marian
ISYS programator

GAMO a.s.
Kyjevske nam. 6
974 04 Banska Bystrica
mail: mstevlik(zv)gamo.sk
tel: +421 48 4137935, 4372111
ip-tel: 421 48 4372098
mobil: +412 905 462010
icq: 34893645

Vytvoranie Paradox tabulky bez BDE

[*] ing. Jan Fiala <jan.fiala(zv)wo(tec)cz> - 30.10.2003 07:59:34

29.10.2003 dphi_forum(zv)proces.sk:

> neviete o nejakej komponente pre vytvorenie a pracu s tabulkami Paradox bez
> pouzitia BDE?

Neco bylo v poslednim ChipCD. Byla tam paradox tabulka bez nutnosti
BDE. Ale jak moc je funkcni, to jsem nezkoumal.

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

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


TDBF a memo

[*] dphi_forum(zv)proces.sk - 30.10.2003 08:11:41




sorry, bol tam preklep, pouzivam TDbf a TIBOQuery.

Stano

*******************************************************************************

29.10.2003 dphi_forum(zv)proces.sk:

> pouzivam TDbf a TQuery. Z TQuery potrebujem do TDbf vlozit pole typu
Blob.
> Riesil to niekto?

Proc pouzivas TDBF a TQuery ? Na TQuery potrebujes BDE, takze tim pada
vyhoda TDBF, ktere BDE nepotrebuje. Pak muzes i pro pristup k tabulkam
pouzit normalni TTable.

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


TDBF a memo

[*] Jan Fiala <jan.fiala(zv)wo(tec)cz> - 30.10.2003 07:59:39

29.10.2003 dphi_forum(zv)proces.sk:

> pouzivam TDbf a TQuery. Z TQuery potrebujem do TDbf vlozit pole typu Blob.
> Riesil to niekto?

Proc pouzivas TDBF a TQuery ? Na TQuery potrebujes BDE, takze tim pada
vyhoda TDBF, ktere BDE nepotrebuje. Pak muzes i pro pristup k tabulkam
pouzit normalni TTable.

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


Eagle - kopie bloku do jineho schematu

[*] Tomas Bradle <t.bradle(zv)worldonline(tec)cz> - 29.10.2003 22:47:00

Omlouvam se, ja to omylem odeslal do jine konference... Nicmene odpoved jiz
znam.

Tomas Bradle
t.bradle(zv)worldonline(tec)cz


----- Original Message -----
From: "Tomas Bradle" <t.bradle(zv)worldonline(tec)cz>> Zdravim vsechny,
>
> nevite jestli lze v Eaglu udelat kopii casti schematu a vlozit ji do
> schematu jineho ?
>

Vytvoranie Paradox tabulky bez BDE

[*] dphi_forum(zv)proces.sk - 29.10.2003 16:58:38



cava,

TDbf som skusal, ta umoznuje pracu s tabulkami DBF, ja potrebujem Paradox
(*.DB)

Stano


Vytvoranie Paradox tabulky bez BDE

[*] Robert Suska <suskar(zv)seznam(tec)cz> - 29.10.2003 16:48:37

Ahoj

Tak to netusim ale skus sa pozret na komponentu TDBF je to celkom super vec
a prave to asi potrebujes, ked sa chces vyhnut BDEcku

http://sourceforge.net/projects/tdbf/

Robo

>
> Cava,
>
> neviete o nejakej komponente pre vytvorenie a pracu s tabulkami Paradox
bez
> pouzitia BDE?
>
> Stano
>
>
>

Vytvoranie Paradox tabulky bez BDE

[*] dphi_forum(zv)proces.sk - 29.10.2003 16:34:36



Cava,

neviete o nejakej komponente pre vytvorenie a pracu s tabulkami Paradox bez
pouzitia BDE?

Stano


clientdataset, aplikacni a gui vrstva aplikace

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 29.10.2003 15:22:31

> soucasti logicke vrstvy aplikace a nechci do nej tudiz montovat zadne
> messageboxy a podobne veci. Cili me napadlo ze si udelam event s

Ahoj, pokud bych nechtel pouzit dialog v kodu komponenty (asi bych se toho
tolik nebal), pak bych nejspis zkusil posilat formulari nejakou user
message. Ale vadilo by mi, ze ten muj dataset by pak nefungoval korektne na
jinem nez mem formulari, ktery umi tu message prijmout a spravne
obslouzit...

MB


TDBF a memo

[*] dphi_forum(zv)proces.sk - 29.10.2003 15:10:30



ok, uz som to vyriesil


clientdataset, aplikacni a gui vrstva aplikace

[*] Ivo Novosad <ivonovosad(zv)atron.de> - 29.10.2003 14:52:29

Zdravim,

mam nasledujici problem. Resim neco v clientdatasetu, mam tam pridanych
par vlastnich metod a v jedne teto metode se potrebuju dotazet uzivatele
jestli chce/nechce danou akci opravdu udelat (mimochodem je to neco pri
zavolani ApplyUpdate). Problem je v tom ze cely clientdataset je
soucasti logicke vrstvy aplikace a nechci do nej tudiz montovat zadne
messageboxy a podobne veci. Cili me napadlo ze si udelam event s
var-paremetrem, tento event se zavola, zobrazi dialog, uzivatel
zareaguje a jeho volba se pak zase zpracuje v clientdatasetu. Jenze
nevim jestli cely postup je z hlediska navrhu 3 vrstve logiky spravne,
nebo by se mel resit jinak? Zajimalo by me treba i reseni v .NETu
Co me dal trapi je ze chci aby kazdy clientdataset zobrazoval stejny
dialog a uzivatel na nej reagoval, nechce se mi ale navazovat prislusny
event a psat kod metody vyvolavajici dialog pro uzivatele treba 20x
pokazde pro novy clientdataset. Jak se da tato vec vyresit? napadlo me
napriklad pri konstruktoru formulare (nebo onshow to je fuk) udelat
navazani toho eventu datasetu treba na nejakou metodu formulare
(formular by byl spolecny predek pro vsechny dalsi formulare pouzite v
projektu) a ta by zobrazila dialog. Je to spravne nebo si tim privodim
nejake problemy? A co s clientdatasetama ktere vytvorim v runtime, tam
by pak takove bindovani neprobehlo - jak to udelat pokud mozno
automaticky a spravne?

diky za jakekoli nakopnuti nebo napad

Ivo


OT: Nabidka prace .NET+VB

[*] Tomas Runa <t.runa(zv)cleverbee(tec)com> - 29.10.2003 14:06:26

Zdravim,
hledam cloveka se znalosti .NET a VB for .NET pro dlouhodobejsi
spolupraci na projektu pro nemeckeho zakaznika (prace v Praze).

Pripadne odpovedi prosim na tento mail (t.runa(zv)cleverbee.com).

Zdravim
Tomas

TClientDataSet problem s praci s XML soubory (mida

[*] Halen <halen(zv)seznam(tec)cz> - 29.10.2003 13:56:25

jj tu knihovnu zkusim zakompajlit do projektu, problem ale je ze musim
nainstalovat delphi, upravit program odinstalovat a potom uvidim... Doma
bohuzel 2 PC nemam....

TClientDataSet problem s praci s XML soubory (mida

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 29.10.2003 12:42:20

From: "Halen" <halen(zv)seznam(tec)cz>
> Dobry den, je to OS Win2K, sp3, s nainstalovanym nejnovejsim IE 6
> SP1.... Mam tedy zkusit nainstalovat IE5 ?

Ne, to by nemelo zadny smysl.

Petr Vones

TDBF a memo

[*] dphi_forum(zv)proces.sk - 29.10.2003 12:30:19



Cava,

pouzivam TDbf a TQuery. Z TQuery potrebujem do TDbf vlozit pole typu Blob.
Riesil to niekto?

Stano


TClientDataSet problem s praci s XML soubory (mida

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 29.10.2003 12:22:19

From: "Halen" <halen(zv)seznam(tec)cz>
> Pri nacitani dat do XML (respektive pri Insert a Post na TClientDataSetu
> ktery je napojeny na XML soubor
> (TClientDataSet.SaveToFile('aaa.xml',dfXML))) aplikace po nekolika
> zaznamech spadne bez chybove hlasky... Neda se to prokrokovat, protoze
> to dela pouze na pocitaci kde nejsou Delphi nainstalovane (delphi 7).

To prece nevadi, co treba pouzit Remote Debugger ?

> Nevim co s tim, uz me to pekne stve. Midas.dll tam na texh pocitacich je
> a je zaregistrovany do systemu...

Tak jeste jednou, knihovnu midas.dll vubec nepotrebujes pokud do uses projektu
pridas unit jmenem MidasLib.

Petr Vones


Minimalni velikost okna typu "ToolWin"

[*] Jaroslav Bruzek <konference-delphi(zv)dcsystems(tec)cz> - 29.10.2003 10:54:13

Zdarec,

snazim se udelat okno jako je v PSP pro nastaveni jednotlivych nastroju.
Form je typu "bsSizeToolWin", ale nejde mi ovlivnit jeho minimalni vyska,
tak aby sel videt jen titulek okna. Vzdy mi jde videt titulek + nejakej
kousek.

Snazil jsem se ovlivnit vysku pomoci zpravy WM_GETMINMAXINFO, ale taky to
nejde. Dovede mi nekdo poradit vcem delam chybu?

Jarda

procedure WMGetMinMaxInfo(var Message: TWMGetMinMaxInfo); message
WM_GETMINMAXINFO;
...

procedure TForm1.WMGetMinMaxInfo(var Message: TWMGetMinMaxInfo);
begin
inherited;
Message.MinMaxInfo^.ptMinTrackSize.y := 0;
Message.MinMaxInfo^.ptMinTrackSize.x := 50;
end;

Narezovy plan

[*] Slavomir Skopalik <skopalik(zv)hlubocky.del(tec)cz> - 29.10.2003 10:22:11

Technicky vzato:
Podle mych informaci na tohle neexistuje analyzticky algoritmus,
navic muze existovat vice optimalnich reseni.

1. Je treba sestavit ohodnocovaci funkci (minimalizacni kriterium).
Ta je v tomto pripade jasna (i kdyz muze byt dale zjemnovana
dalsimy pravidly, napriklad casem zpracovani, formatem odpadu, ...).

2. Je treba sestavit kombinacni funkci, tj. tvorba variant.
Vzdy je treba vytvorit variantu, tu ohodnotit, prijmout, nebo vyradit.
Je vice nez zadouci vytvorit tyto funkci tak, aby prvni nastrel byl jiz
temer optimalni.
Obvykle se to programuje tak, ze se stanovy doba trvani vypoctu
(v poctu iteraci, nebo casu zpracovani), jelikoz celkovy pocet kombinaci
muzeme povazovat za nekonecny.

3. Mozne metody:
- Geneticke algoritmy (pouzito pro prizezove plany v NH)
- Mozna linerani a nelinearni programovani.

Slavek

> Zdravim,
> nezabyval se nekdo algoritmy narezoveho planu, do velkych desek materialu
> rozmistit nejvhodnejsim zpusobem definovane obdelnikove desticky? Za
> jakykoliv namet a informaci predem dekuji.
>
> Martin
>
>
>
>

Zoznam mien v kalendari SK

[*] mstevlik(zv)gamo.sk - 29.10.2003 09:52:03

Dakujem vsetkym, uz som to zohnal

Stevlik Marian
ISYS programator

GAMO a.s.
Kyjevske nam. 6
974 04 Banska Bystrica
mail: mstevlik(zv)gamo.sk
tel: +421 48 4137935, 4372111
ip-tel: 421 48 4372098
mobil: +412 905 462010
icq: 34893645

Zoznam mien v kalendari SK

[*] Jiri Virt <virt(zv)volny(tec)cz> - 29.10.2003 09:38:02

posilam na soukromy mail
Jirka

Zoznam mien v kalendari SK

[*] Marek Dostal <konf(zv)agnis(tec)cz> - 29.10.2003 09:30:01

> Chcel by som vas poprosit, neviete kde by som mohol zohnat zoznam mien z
> kalendara (slovenskeho) + datum

Ted zrovna jsem to videl v programu Nezapomen na http://www.volny(tec)cz/bohjirsik/

OT: Zoznam mien v kalendari SK

[*] mstevlik(zv)gamo.sk - 29.10.2003 09:21:56

Hi all,
Chcel by som vas poprosit, neviete kde by som mohol zohnat zoznam mien z
kalendara (slovenskeho) + datum
Chcem si urobit aplikaciu, kt. by mi na dani den vypisala, kto ma meniny a
nechcu sa mi tie mena odpisovat s kalendara
Dik za pomoc

Stevlik Marian
ISYS programator

GAMO a.s.
Kyjevske nam. 6
974 04 Banska Bystrica
mail: mstevlik(zv)gamo.sk
tel: +421 48 4137935, 4372111
ip-tel: 421 48 4372098
mobil: +412 905 462010
icq: 34893645

TClientDataSet problem s praci s XML soubory (mida

[*] Halen <halen(zv)seznam(tec)cz> - 29.10.2003 07:51:50

Dobry den, je to OS Win2K, sp3, s nainstalovanym nejnovejsim IE 6
SP1.... Mam tedy zkusit nainstalovat IE5 ?

TClientDataSet problem s praci s XML soubory (mida

[*] Halen <halen(zv)seznam(tec)cz> - 29.10.2003 07:23:47

Dobry den, je to OS Win2K, sp3, s nainstalovanym nejnovejsim IE 6
SP1.... Mam tedy zkusit nainstalovat IE5 ?

Pouzivani DataSnap na WIN 98

[*] Hynek Ctvrtecka <ctvrteckah(zv)vce.wnet(tec)cz> - 29.10.2003 07:23:47


Aplikace postavena na Datasnap s databazi INterbase tady je vse OK ale pokud
na serverove casti jeste udelam napojeni na cizi IS pres ADO kde jsou data v
Accessu tak na klientu pri pouziti lookupComba nefunguje automaticke
vyhledavani pokud v tom Combu zacnu psat. JInak normalne cist data a ukladat
data do Accessu jde.
Tak toto nefunguje pouze pokud se klient spusti na WIN98 pokud se klient
pusti na Win2K nebo XP tak je vse OK.

HC

TClientDataSet problem s praci s XML soubory (mida

[*] Halen <halen(zv)seznam(tec)cz> - 29.10.2003 07:49:49

jj je to Midas z D7. Existuje pry jeste nejaky neoficialne upraveny
Midas.. tak zkusim jeste ten...

TClientDataSet problem s praci s XML soubory (mida

[*] Jaromir Cermak <cermak(zv)procom(tec)cz> - 29.10.2003 07:35:48

Zkus zkontrolovat, zda je MIDAS.DLL ve verzi z Delphi 7. Starsi verze mohou delat problemy.
Jaromir Cermak


-----Original Message-----
From: Halen [mailto:halen(zv)seznam(tec)cz]

Pri nacitani dat do XML (respektive pri Insert a Post na TClientDataSetu
ktery je napojeny na XML soubor
(TClientDataSet.SaveToFile('aaa.xml',dfXML))) aplikace po nekolika
zaznamech spadne bez chybove hlasky... Neda se to prokrokovat, protoze
to dela pouze na pocitaci kde nejsou Delphi nainstalovane (delphi 7).
Nevim co s tim, uz me to pekne stve. Midas.dll tam na texh pocitacich je
a je zaregistrovany do systemu...

TClientDataSet problem s praci s XML soubory (mida

[*] Halen <halen(zv)seznam(tec)cz> - 29.10.2003 07:21:47

Pri nacitani dat do XML (respektive pri Insert a Post na TClientDataSetu
ktery je napojeny na XML soubor
(TClientDataSet.SaveToFile('aaa.xml',dfXML))) aplikace po nekolika
zaznamech spadne bez chybove hlasky... Neda se to prokrokovat, protoze
to dela pouze na pocitaci kde nejsou Delphi nainstalovane (delphi 7).
Nevim co s tim, uz me to pekne stve. Midas.dll tam na texh pocitacich je
a je zaregistrovany do systemu...

Eagle - kopie bloku do jineho schematu

[*] Tomas Bradle <t.bradle(zv)worldonline(tec)cz> - 29.10.2003 00:43:21

Zdravim vsechny,

nevite jestli lze v Eaglu udelat kopii casti schematu a vlozit ji do
schematu jineho ?

diky

Tomas Bradle
t.bradle(zv)worldonline(tec)cz

Vychozi rozliseni

[*] Ludek Paral <ludek.paral(zv)quick(tec)cz> - 28.10.2003 23:25:16

Ahoj,

jeden hloupy dotaz. Pri nastaveni velkych pismen a rozliseni 1280x1024 se mi
rozbiji v D5P formulare - nesedi pak rozmer formulare a umisteni prvku,
prvky se mi pak roztahnou mimo oblast formulare. Jak zajistim, aby byl
vzhled formularu stale stejny ?

Ludek

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz]On
Behalf Of petr palicka
Sent: Thursday, September 11, 2003 2:14 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Vychozi rozliseni


> To je tezky, NB s 1024x768 je nepouzitelny,
dovolil bych si oponovat. s uspechem pouzivam :o)

> pricemz dalsi rozliseni se vyrabi
> az 1400x1050 a kupodivu to neni tak hrozne
mas pravdu, je to nadhera. novej book dostane
kolega a docela mu zavidim. akorat, kdyz si
tad obcas rovnam krk (coz u crt nebylo
potreba ;o) tak premejslim, ze si ty velky fonty
nastavim. skoda, ze to nejde jenom u sekundaru,
kde mam 17" placku a tam jsou pismenka fakt mrnavy.

peca


Parametry v FF2

[*] petr.spurny <peta.spurny(zv)tiscali(tec)cz> - 28.10.2003 20:47:06

Zdravim,

mam problem s pouzivanim parametru v aplikaci s FlashFiler 2.
Parametry vytvarim dynamicky asi takhle:

ffQueryVyhledavani.Params.Clear;
ffQueryVyhledavani.Params.CreateParam(ftDate, 'datum1', ptInput);
ffQueryVyhledavani.ParamByName('datum1').AsDate := datetimeOd.Date;
ffQueryVyhledavani.Params.CreateParam(ftDate, 'datum2', ptInput);
ffQueryVyhledavani.ParamByName('datum2').AsDate := datetimeDo.Date;

Kdyz spustim tenhle kod, vse probehne v poradku a SQL dotaz s :datum1 a
:datum2 se v poradku vykona.

Pokud tentyz kod spustim jeste jednou (znovu stisknu tlacitko) mam problem:
ffQueryVyhledavani: Field 'datum1' is of an unknown type

Nevedel by nekdo? Uz opravdu nevim.

S pozdravem
Petr Spurny

:: petr.spurny ::

:: peta.spurny(zv)tiscali(tec)cz ::

Vzdalena instalacse servisu

[*] Karel Machac <machackarel(zv)quick(tec)cz> - 28.10.2003 20:53:06

Dobry den,

muze mi nekdo poradit, jestli a jak by slo programove na vzdaleny pocitac nainstalovat NT sevis?

Dekuji,

Karel Machac

Zjisteni IP adresy

[*] Robert Suska <suskar(zv)seznam(tec)cz> - 28.10.2003 20:10:58

Ahoj

Do uses si nezabudni pridat unit WinSock.

function GetLocalIPAddress: String;
var
p : PHostEnt;
s : array[0..128] of Char;
p2 : PChar;
wVersionRequested : Word;
wsaData : TWSAData;
begin
wVersionRequested := MAKEWORD(1, 1);
WSAStartup(wVersionRequested, wsaData);
GetHostName((zv)s, 128);
p := GetHostByName((zv)s);
p2 := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
Result := p2;
WSACleanup;
end;

Robo

-----Original Message-----
From: delphi-l-owner(zv)clexpert(tec)cz [mailto:delphi-l-owner(zv)clexpert(tec)cz] On
Behalf Of Petr Matejcek
Sent: Tuesday, October 28, 2003 8:05 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Zjisteni IP adresy

zdravim

prosim poradte funkci ktera mi vrati moji aktualni IP adresu (adresa
je pridelovana z DHCP serveru v lokalni siti)

v archivu teto konference jsem nasel (nize) ale je tam psano ze se musim
pripojit k serveru a musim znat socket coz neznam :-(

function TSockets.GetIPAddr(aSocket: TSocket): string; var
addr: TSockAddrIn;
addrlen: integer;
szIPAddr: PChar;
begin
addrlen := sizeof(addr);
getsockname(aSocket,addr,addrlen);
szIPAddr := inet_ntoa(addr.sin_addr);
Result := StrPas(szIPAddr);
end;

Zjisteni IP adresy

[*] Petr Matejcek <konference(zv)crhov.komfi(tec)cz> - 28.10.2003 20:04:58

zdravim

prosim poradte funkci ktera mi vrati moji aktualni IP adresu (adresa je
pridelovana z DHCP serveru v lokalni siti)

v archivu teto konference jsem nasel (nize) ale je tam psano ze se musim
pripojit k serveru a musim znat socket coz neznam :-(

function TSockets.GetIPAddr(aSocket: TSocket): string;
var
addr: TSockAddrIn;
addrlen: integer;
szIPAddr: PChar;
begin
addrlen := sizeof(addr);
getsockname(aSocket,addr,addrlen);
szIPAddr := inet_ntoa(addr.sin_addr);
Result := StrPas(szIPAddr);
end;

Volanie procedur OnDestroy pri ENDSESSION

[*] Stanislav Kochan <skochan(zv)microstep-hdo.sk> - 28.10.2003 16:30:40

Nazdar nazdar.

Mam taky problem.
Mam formulare a v nich definovanyu proceduru OnDestroy.
Ak aplikaciu regularne vypnem tak sa OnDestroy vykona.
Ak vsak vypnem poctac cez Start->ShutDown procedure OnDestroy sa nevykona.


V WndProc som si odchitil spravu WM_ENDSESSION a zavolal som funkciu
Application.Terminate
Ale vysledok sa nedostavil. Procedury OnDestroy sa stale nevolaju.
Poradte mi prosim co mam spravit?

Dik.Stano.

TClientDataSet problem s praci s XML soubory (mida

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

From: "Jaromir Solar" <solar(zv)magion(tec)cz>
> nemuzu to vyzkouset, ale myslim, ze Borland k tomu pouziva MS XML. Pokud na
> tom pocitaci neni "spravna" verze, tak to zrejme pracuje jak pisete. Zkuste
> na tom pocitaci doinstalovat napr. IE 5 a pak to zkusit.

IE5 je dnes automaticky na vsech podporovanych (Delphi 7) verzich Windows.

Petr Vones

posilani zprav pres TCP/IP

[*] Petr Brant <brant(zv)dcomm(tec)cz> - 28.10.2003 08:56:10

Pokud to chces mit uplne bez prace, stahni si komponenty Indy, tak je TCP/IP
server i klient. Pokud nechces nic instalovat, funguje na to i Synapse, ale
tam toho musis trochu napsat.

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

muzete mi jako zelenacovi nejak jednoduse popsat jak vysilat i
prijimat zpravy pres TCP/IP?

TClientDataSet problem s praci s XML soubory (mida

[*] Jaromir Solar <solar(zv)magion(tec)cz> - 28.10.2003 07:08:03

Ahoj,

> aby TClientDataSet ukladal data ve formatu XML, tak stejne tvrdosijne
> uklada data jako dfBinary).

nemuzu to vyzkouset, ale myslim, ze Borland k tomu pouziva MS XML. Pokud na
tom pocitaci neni "spravna" verze, tak to zrejme pracuje jak pisete. Zkuste
na tom pocitaci doinstalovat napr. IE 5 a pak to zkusit.

S pozdravem

Ing. Jaromir Solar (jaromir.solar(zv)magion(tec)cz)
MAGION system a.s. (http://www.magion(tec)cz)
Tel.: 571-499-316


TRichEdit podledni radek

[*] Bronislav Klucka <delphi(zv)pro2-soft(tec)com> - 28.10.2003 03:31:45

> Ahoj,
> prosim, nema nekdo nahodou nejakou funkci ktera by zjistila ze je
> kurzor (SelStart) na poslednim radku v editu? De mi oto, ze po
> stlaceni sipky dolu (v podlednim radku) se chci presunout na
> dalsi komponentu. Diky moc.
> Jan Harman

Snad to bude fungovat:
1/ Jakmile ziska TRichEdit zamereni (focus), uloz si pozici kurzoru do
promenne XYZ
2/ V pripade stisknuti klavesi na TRichEditu nejprve otestuj, zda se zmenila
pozice,
v pripade zmeny pozice kurzoru si pozici uloz do XYZ a skonci; v pripade, ze
se pozice nezmenila
testuj stisknutou klavesu, pokud to je jina klavesa, nez klavesa, ktera ma
zmenit zamereni na jiny prvek,
potom skonci, pokud to je klavesa, ktera me zmenit zamereni, potom ho zmen a
skonci.

::)


Brona


Dotaz na ADO - RecordsAffected (MS-SQL2000)

[*] Jaroslav Popluhar <delphi1(zv)acc.sk> - 28.10.2003 00:33:33

Hello Radim,

>> Ja by som potreboval, aby mi vratilo RecordsAffected = 1,
>> lebo mazanie sa podarilo. (a RA triggeru ma nezaujima)

HR> Melo by pomoci vytvorit trigger s nastavenym SET NOCOUNT ON.

Dik, skusim.

Ale este ma zaujima, ako to dopadne,
ked mam MasterDetail vztah s nastavenou RefInt Cascase Delete

Constraint [Tank_Jazda] foreign key([JzdID]) references [Jazda] ([JzdID]) on update cascade on delete cascade

a zaujima ma pocet zmazanych v Master tabulke,
pocet zmazanych v detail ma nezaujima:-(?


--
Best regards,
Jaroslav mailto:delphi1(zv)acc.sk


posilani zprav pres TCP/IP

[*] Michal Aichinger <michal.aichinger(zv)talk21(tec)com> - 28.10.2003 00:19:32

Ahoj,
muzete mi jako zelenacovi nejak jednoduse popsat jak vysilat i
prijimat zpravy pres TCP/IP?

diky Michal

OT: Nova verze FreeExcelSYLK 1.12

[*] Ales Pavel <aldik(zv)quick(tec)cz> - 27.10.2003 20:51:19


Na mem webu http://talpa.chytrak(tec)cz najdete moji mirne vylepsenou unitu
FreeExcelSYLK 1.13
Unitu pro export do excelu bez excelu:-)))
Vy co pouzivate OpenOffice a jine office vyhouple z linuxu mate take
moznost:-))

Zmena v unite:Pridany dalsi barvy pisma ( diky smerujte Jindrichovi Jelenovi
ktery barvicky poctive "vytestoval" z Excelu:-)


Link primo na Unitu FreeExcelSYLK 1.13 je
http://talpa.chytrak(tec)cz/download.php?soubor=13


Taky tam najdete novou unitu MyFreeHint ktera Vam pomuze vytvorit vlastni
hint nad objekty:-))
http://talpa.chytrak(tec)cz/download.php?soubor=14


Tak hodne stesti s vyvojem a testovanim unity:-))
Cokoliv zajimave objevite co by slo pridat k unite muzete zaslat.

Diky



Ales Pavel
ICQ#: 44615538
( Work Tel#: +420777992792

__________________________________________________________________


OT (castecne): Komunikace kernel-driver<>aplikace

[*] cihelnik.chemie.pedf <cihelnik.chemie.pedf(zv)seznam(tec)cz> - 27.10.2003 20:33:18

V MS DDK je skutecne primo nastroj pro debugging, dokonce take ve forme GUI
aplikace (urcite pro DDK Win2K a vyssi). Ladeni se provadi opravdu tak, jak
popsal pan Toman, ale tez jsem to nikdy neprovadel. Pokud mohu doporucit,
pouzi(ve)jte pro tvorbu WDM driveru KernelDriver (nebo WinDriver s Kernel
plugin) od Jungo. Usetri Vam to spoustu casu a nervu. Taktez k zahozeni neni
DriverStudio, ktere obsahuje primo SoftIce. K DriverStudiu se daji sehnat
tutorialy.

Preji hezky den,
Simon Cihelnik


free report

[*] Petr Matejcek <konference(zv)crhov.komfi(tec)cz> - 27.10.2003 19:47:15

zdravim,

mam komponentu free report pro tisk z delphi nadefinoval jsem si
hlavicku a jednu tabulku kterou nacitam z DB
v nahledu pri 100% je vse OK ale kdyz to pustim na tiskarnu tak
hlavicka se vytiskne OK ale v te tabulce jsou nektere bunky dobre a
nektere maji roztazene pismo napr misto Jmeno to vypada jako J m e n o
a pak se to do toho sloupecku nevejde

totez to udela kdyz v nahledu zvolim neco jineho jak 100% velikosti

umi nekdo prosim poradit jak to dat do poradku ?

diky Petr


Pouzivani DataSnap na WIN 98

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 27.10.2003 17:25:06

From: "Hynek Ctvrtecka" <ctvrteckah(zv)vce.wnet(tec)cz>
> prvni cast je otazka a druha konstatovani.

A v cem se chova jinak ?

Petr Vones

je prvek v poli ?

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

From: "Jaroslav Bucek" <jaroslav.bucek-kd(zv)seznam(tec)cz>
> > Navic, ten puvodni priklad toho pole, mel prvky setridene, takze by pak
> hledani zdaleka nemuselo byt sekvencni. Pulenim intervalu by se prvek dal
> najit velmi rychle i ve velmi velkem poli.

Na trideni dynamickych poli a vyhledavani jsou funkce v unitu JclSysUtils,
SortDynArray a SearchDynArray vcetne komparacnich funkci pro zakladni typy:
http://sourceforge.net/project/showfiles.php?group_id=47514&release_id=118195

Petr Vones

TClientDataSet problem s praci s XML soubory (mida

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

From: "Halen" <halen(zv)seznam(tec)cz>
> Na pocitaci kde zkousim tuto aplikaci nejsou Delphi7 nainstalovane.
> Nakopiroval jsem tedy knihovnu MIDAS.DLL na tento PC a zaregistroval
> pres Regsvr32 midas.dll. Aplikace se jiz spusti, ale nepracuje korektne,

Pokud pridas do aplikace unit MidasLib tak potom nemusis distribuovat tu DLL.

> pada pri praci s XML souborem.(i kdyz mam v programu natvrdo danu volbu

Jak presne "pada" ?

> aby TClientDataSet ukladal data ve formatu XML, tak stejne tvrdosijne
> uklada data jako dfBinary).

Takze pripona je .xml ale uvnitr jsou binarni data ?

Petr Vones

DBExpress + MySQL

[*] Miroslav Evjak <me.delphi(zv)seznam(tec)cz> - 27.10.2003 16:17:01

Ahoj,

chci se zeptat, zda nekdo pouziva DBExpress proti MySQL v nejake vetsi
aplikaci a jestli si jeste zachoval dusevni zdravi.

Po tydnu laborovani si pripadam jako uplny blazen:
Napr. Nasledujici dotaz z radku (napr. v MySQL-Front) projde v pohode

SELECT * from messages LIMIT 0,10 WHERE 1=1 AND dateposted >=
'2003-10-13' and hidden = 'N' ORDER BY dateposted DESC

zatimco DBExpress tvrdosijne hlasi chyby v SQL syntaxi.


Dekuji za Vase pripadne zkusenosti a pripadne namety, jestli je cesta
pres DBExpress schudna nebo do pekel.


ME

Ing.Miroslav Evjak
KEN System v.o.s.
software development
mailto:me(zv)kensystem(tec)cz
http://www.kensystem(tec)cz
ICQ:313884739
+420 607 875748


Vyhledani zaznamu podle castecneho retezce

[*] Martin Schayna <mschayna(zv)aktis(tec)cz> - 27.10.2003 15:08:52

Jiri Hoffmayer <parsys(zv)digitus(tec)cz> wrote:
>> WHERE UPPER(POLOZKA_JMENO) LIKE UPPER('A%');
>
> Mohl bys mi prosim (nebo nekdo) doporucit nejaky prehledny free zdroj
> informaci o syntaxi SQL dialect 3? Predpokladam, ze Dialect 3 znamena
> urcity standard jazyka SQL. Jsem v SQL zacatecnik.
> Kde bych se mohl dozvedet vic?

Dialect 3 neni nic obecneho, je to pouze zalezitost IB/FB. Od urcite verze
se pozmenila syntaxe SQL a aby uzivatele nemeli problemy s kompatibilitou,
definuje se pri spojeni s databazi v jakem dialektu s ni budes komunikovat.
Dialect 1 je puvodni stary SQL (kde se mimo jine v retezcovych konstantach
daly pouzivat oboje uvozovky), Dialect 2 je prechodovy ktery funguje jako
Dialect 1 ale generuje informace o nekompatibilnich prikazech a Dialect 3
je novy (kde se dvojite uvozovky pouzivaji ve jmenech db objektu - tabulek,
fieldu, pohledu apod. a jednoduche uvozovky v retezcovych konstantach).
Rozdilu je vsak samozrejme vic.

Doporucuji minimalne dokumentaci k IB6 nebo FB, nejlepe vsak knihu
od Pavla Cisare, mnohokrat zde zminovanou.

Martin Schayna


TRichEdit podledni radek

[*] Jan Harman <harman(zv)volny(tec)cz> - 27.10.2003 14:54:30

Ahoj,
prosim, nema nekdo nahodou nejakou funkci ktera by zjistila ze je
kurzor (SelStart) na poslednim radku v editu? De mi oto, ze po
stlaceni sipky dolu (v podlednim radku) se chci presunout na
dalsi komponentu. Diky moc.
Jan Harman

--
Potrebujete vice prostoru pro vase stranky?
Ptejte se na http://sluzby.volny(tec)cz/cs/product/ftp_paid

Dotaz na ADO - RecordsAffected (MS-SQL2000)

[*] Hampel, Radim <rhampel(zv)infinity(tec)cz> - 27.10.2003 12:36:18

> Ja by som potreboval, aby mi vratilo RecordsAffected = 1,
> lebo mazanie sa podarilo. (a RA triggeru ma nezaujima)

Melo by pomoci vytvorit trigger s nastavenym SET NOCOUNT ON.

Radim Hampel


Teorie navrhu databaze, analyzy datovych toku: kde

[*] martin.ben(zv)ge(tec)com - 27.10.2003 11:44:03

Podle mne neni spatna tato kniha http://knihy.cpress(tec)cz/Book.asp?ID=141

Martin Ben

-----Original Message-----
From: Karel Kral [mailto:kralkonf(zv)purus(tec)cz]

Ahoj,
v nasi firme uvazujeme o vyvoji noveho vnitropodnikoveho systemu
(zejmena sklady). Jsme tu tym zkusenych databazovych programatoru ale
pro navrh noveho systemu nam schazi spousta teorie.

Muzete mi nekdo poradit, kam se obratit (literatura, skoleni) pro
nasledujici informace?

* Jak analyzovat datove toky
* Jak vytvorit diagramy procesu (nevim, jestli to neni to same)
* teorie fyzickeho narhu databaze mi schazi asi nejmene


This e-mail is intended for the addressee(s) named above only. As this
e-mail may contain confidential or privileged information, if you are not
the named addressee(s) or the person responsible for delivering the message
to the named addressee(s), please telephone us immediately. The contents of
this e-mail should not be disclosed to any other person nor copies taken.

Jak presunout program na jiny procesor (na dual pr

[*] Tvrz Miroslav <miroslav.tvrz(zv)merlin(tec)cz> - 27.10.2003 12:50:19

> Mozes pouzit SetThreadAffinityMask.

Zkousel jsem laborovat s:

SetThreadAffinityMask
SetProcessAffinityMask
GetProcessAffinityMask

A musim konstatovat ze uz to bezi :-).

Dik moc za info.

MI'RA

-----Original Message-----
From: Ondrej Kelle [mailto:o.kelle(zv)digitalpublishing.de]
Sent: Monday, October 27, 2003 12:16 PM
To: delphi-l(zv)clexpert(tec)cz
Subject: Re: Jak presunout program na jiny procesor (na dual
procesorovem syst emu)> Programuji aplikaci u ktere bych potreboval
> za behu prepinat CPU na kterem ma program bezet.

Mozes pouzit SetThreadAffinityMask.

HTH
TOndrej


Jak presunout program na jiny procesor (na dual pr

[*] p.sestak(zv)corag.sk - 27.10.2003 12:16:15

>Ma nekdo s timto nejake zkusenosti? Predem diky
>za jakekoli nakopnuti, nebo info.

Pozri si doku k SetThreadAffinityMask pripadne SetThreadIdealProcessor.
Nic viac asi nepotrebujes
P.

Dotaz na ADO - RecordsAffected (MS-SQL2000)

[*] Jaroslav Popluhar <delphi1(zv)acc.sk> - 27.10.2003 12:26:16

Hello vsetci,

Ak mazem zaznam z tabulky na ktorej je trigger AfterDelete,
ktory (niekedy) robi update v inej tabulke, tak:

Ak tento trigger neurobi ziaden update (co je OK),
tak ADO mi vrati RecordsAffected = 0 (lebo trigger nic neupdatoval)
aj ked sa delete jedneho zaznamu vykonalo normalne.

Ja by som potreboval, aby mi vratilo RecordsAffected = 1,
lebo mazanie sa podarilo. (a RA triggeru ma nezaujima)

P.S.
v rkEdite to funguje normalne - podla ocakavania, a vypise:

Command successfully done (time: 31 ms).
1 row(s) affected.

--
Best regards,
Jaroslav mailto:delphi1(zv)acc.sk


Jak presunout program na jiny procesor (na dual pr

[*] Ondrej Kelle <o.kelle(zv)digitalpublishing.de> - 27.10.2003 12:16:10

> Programuji aplikaci u ktere bych potreboval
> za behu prepinat CPU na kterem ma program bezet.

Mozes pouzit SetThreadAffinityMask.

HTH
TOndrej

Jak presunout program na jiny procesor (na dual pr

[*] Tvrz Miroslav <miroslav.tvrz(zv)merlin(tec)cz> - 27.10.2003 12:08:05

Zdravim konferu.

Programuji aplikaci u ktere bych potreboval
za behu prepinat CPU na kterem ma program bezet.

Ma nekdo s timto nejake zkusenosti? Predem diky
za jakekoli nakopnuti, nebo info.

MI'RA

OT: Software pre Vas software - UpdateSDT

[*] Robert Suska <suskar(zv)seznam(tec)cz> - 27.10.2003 10:27:53

Ahojte!

Prednedavnom som vyvinul balik programov na aktualizaciu softwaru v lokalnej
sieti. Funkcionalita programu je popisana v subore napovedy, ktora je
zabalena v .zip subore. Program nieje potrebne instalovat. Balik sa vola
UpdateSDT.zip a pokial mate zaujem, je mozne ho stiahnut z mojej osobnej
stranky http://www.sefino.globus.sk . Popis programu najdete na stranke
"Programovanie" stiahnut ho je mozne zo stranky "Download" a hned na prvej
stranke oznacenej ako "Delphi" s popisom news je prva informacia o nom. Len
s tym rozdielom, ze je to uz tretia a nie prva verzia ako este uvadzam na
stranke :).

S pozdravom

Robo

P.S. Pokial budete mat nejake pripomienky alebo napady budem rad ked mi ich
poslete na moju e-mailovu adresu suskar(zv)seznam(tec)cz . Na dalsej verzii uz
pracujem. Zoznam noviniek bude uverejneny na webe.

Dakujem ;-)

OT (castecne): Komunikace kernel-driver<>aplikace

[*] Dalibor Toman <dtoman(zv)fortech(tec)cz> - 27.10.2003 10:13:52



> > -----Original Message-----
> > [mailto:delphi-l-owner(zv)clexpert(tec)cz] On Behalf Of Dalibor Toman
>
> > nevim jestli se v poslednich letech neco zmenilo ale platilo,
> > ze pokud chces ladit drivery pomoci Microsoft nastroju musis
> > mit dva stroje - jeden s checked build OS a s ladenym
>
> Jen by me zajimalo (i kdyz uz to ani nepotrebuju) - co je "Checked
> build OS", jak ho ziskam? Nejaky parametr v boot.ini?

Checked Build je verze Windows, ktera obsahuje ladici informace
(zrejme jen v moduly okolo jadra). Cili pri krokovani vidis jmena
funkci v kernelu atd. Mozna tam jsou jeste dalsi vyznamne odchylky
(asserts??).

Ziskat slo Checked Build verze na MSDN CDCkach (MSDN Subscription).
Ted uz to MS distribuuje trosku jinak ale princip je snad stejny -
zaplatis nejaky $ a dostanes nejaky CD + mozna jeste par update
(predplatne byvalo na jeden rok a kdyz jsem to predplacel tak
obsahovalo prakticky uplne vsechny verze Windows i s jazykovymi
mutacemi,+pripadne pokud jsi platil dost $ tak i vyvojova prostredi).

>
> Jeste k tomu lazeni...
> zkousel jsem i zmineny SoftIce, je to opravdu silny nastroj, take
> patricne
> slozity a pro muj ucel celkem zbytecny... :-) To nejlepsi, co jsem
nasel
> je
> utilitka od sysinternals, ktera odchytava pouze poazdovane
debugstringy.
> Je to easy a hlavne pouzitelne bez hlubsich znalosti. :)
>
> http://www.sysinternals.com/ntw2k/freeware/debugview.shtml
>

ja na systemintenals jsou celkem uzitecny veci

D. Toman

je prvek v poli ?

[*] Jaroslav Bucek <jaroslav.bucek-kd(zv)seznam(tec)cz> - 27.10.2003 09:35:49

From: "Praktik SW" <praktik.sw(zv)seznam(tec)cz>
> A nejdete panove tak trochu s kanonem na vrabce?

Ano, ale muj napad to nebyl ;-) Ja jsem jen odpovidal na konkretni otazku.

> Proc kazde pole pretahovat kamsi do listu? To abych si usetril praci a
nemusel psat jednu funkci, ktera hleda v poli prvek?

To je samozrejme pravda. Jak uz jsem psal drive, kdyz se podivas na funkci
IndexOf, tak stejne nedela nic jineho, nez ze prochazi jednu hodnotu za
druhou. Takze je jednodussi si to napsat. Muzes se inspirovat primo v
IndexOf funkcich.

> Navic, ten puvodni priklad toho pole, mel prvky setridene, takze by pak
hledani zdaleka nemuselo byt sekvencni. Pulenim intervalu by se prvek dal
najit velmi rychle i ve velmi velkem poli.

Ano, to by urcite bylo mozne. Otazkou zustava, jestli by nekdy v budoucnu
clovek nezapomnel, ze musi plnit to pole podle velikosti a pak by mu to
jaksi prestalo fungovat.

je prvek v poli ?

[*] Ing. Petr Sikola <developer(zv)efg(tec)cz> - 27.10.2003 09:41:50

ukonceme tuto debatu, dekuji vsem zucastnenym.

Nejjednodussi reseni bude napsani jednoduche funkce, ktera toto pole
pojde, pocet pruchodu bude maximalne N (pole je neserazene). Pri pouziti
toho listu, stejne indexof provadi postupne prochazeni (jak tady uz
nekdo zminoval), takze stejne nic neusetrim a navic jeste budu zbytecne
alokovat pamet atd...

Petr Sikola

> A nejdete panove tak trochu s kanonem na vrabce? Proc kazde
> pole pretahovat kamsi do listu? To abych si usetril praci a
> nemusel psat jednu funkci, ktera hleda v poli prvek?
>
> Navic, ten puvodni priklad toho pole, mel prvky setridene,
> takze by pak hledani zdaleka nemuselo byt sekvencni. Pulenim
> intervalu by se prvek dal najit velmi rychle i ve velmi velkem poli.
> Kellner
>
> >var
> > L : TList;
> >begin
> > L := TList.Create;
> > try
> > L.Add(Pointer(12));
> > L.Add(Pointer(15));
> > L.Add(Pointer(16));
> > L.Add(Pointer(18));
> > // je prvek v poli?
> > if L.IndexOf(Pointer(16)) > -1 then
> > MessageBeep(0);
> > finally
> > L.Free;
> > end;
> >end;

Narezovy plan

[*] Vaclav Riha - Soft Consult <vaclav_riha(zv)softconsult(tec)cz> - 27.10.2003 09:31:49

Sorry, know how. Pro nektere firmy, ktere nam primo nekonkuruji, nabizime DDE server pres ktery se NP pocitaji.

S pozdravem Vaclav Riha

>Jo, delame NP.
>

>mozna ze by tady asi vice lidi zajimala trosku presnejsi opdpoved. To ze
>delate narezove plany (Merick - tedy jeste pro DOS se to tak jmenovalo
>jestli se nepletu) vime, protoze to se da najit v kazdem vyhledavaci, ale
>mozna pokud to neni naproste obchodni tajemstvi, tak predpokladam ze by
>castesny popis reseni by nebyl na skodu.

>Predpokladam, ze se to rozmistuje nejakou backtrace metodou,....

je prvek v poli ?

[*] Praktik SW <praktik.sw(zv)seznam(tec)cz> - 27.10.2003 09:27:48

A nejdete panove tak trochu s kanonem na vrabce? Proc kazde pole pretahovat kamsi do listu? To abych si usetril praci a nemusel psat jednu funkci, ktera hleda v poli prvek?

Navic, ten puvodni priklad toho pole, mel prvky setridene, takze by pak hledani zdaleka nemuselo byt sekvencni. Pulenim intervalu by se prvek dal najit velmi rychle i ve velmi velkem poli.

Kellner

>var
> L : TList;
>begin
> L := TList.Create;
> try
> L.Add(Pointer(12));
> L.Add(Pointer(15));
> L.Add(Pointer(16));
> L.Add(Pointer(18));
> // je prvek v poli?
> if L.IndexOf(Pointer(16)) > -1 then
> MessageBeep(0);
> finally
> L.Free;
> end;
>end;

____________________________________________________________
Zdarma zabezpeceni proti virum.
http://ad2.seznam(tec)cz/redir.cgi?instance=63338%26url=http://www.contactel(tec)cz/bezpecnyinternet

Pouzivani DataSnap na WIN 98

[*] Hynek Ctvrtecka <ctvrteckah(zv)vce.wnet(tec)cz> - 27.10.2003 07:31:41

Dekuji za reakci,
prvni cast je otazka a druha konstatovani.

HC

je prvek v poli ?

[*] Jaroslav Bucek <jaroslav.bucek-kd(zv)seznam(tec)cz> - 27.10.2003 07:11:39

From: <js-delphi(zv)quick(tec)cz>
> Asi jsem natvrdlej, ale to udelam jak a co z toho ziskam?

Petr to myslel takhle:

procedure TForm1.Button1Click(Sender: TObject);
var
L : TList;
begin
L := TList.Create;
try
L.Add(Pointer(12));
L.Add(Pointer(15));
L.Add(Pointer(16));
L.Add(Pointer(18));
// je prvek v poli?
if L.IndexOf(Pointer(16)) > -1 then
MessageBeep(0);
finally
L.Free;
end;
end;

Jarda


TClientDataSet problem s praci s XML soubory (mida

[*] Halen <halen(zv)seznam(tec)cz> - 27.10.2003 07:09:39

Ahoj..
Obracim se na vas s prosbou o radu. Mam problem s distribuci aplikace na
jine PC. V aplikaci je pouzita komponenta TClientDataSet. Aplikace
pouziva tuto komponentu pro nacitani a ukladani dat ve formatu XML
(TClientDataSet.SaveToFile('aaa.xml',dfXML)).

Na pocitaci kde zkousim tuto aplikaci nejsou Delphi7 nainstalovane.
Nakopiroval jsem tedy knihovnu MIDAS.DLL na tento PC a zaregistroval
pres Regsvr32 midas.dll. Aplikace se jiz spusti, ale nepracuje korektne,
pada pri praci s XML souborem.(i kdyz mam v programu natvrdo danu volbu
aby TClientDataSet ukladal data ve formatu XML, tak stejne tvrdosijne
uklada data jako dfBinary).

Na jakemkoliv PC s nainstalovanymi Delphi7, tato aplikace bezi naprosto
bez problemu a uklada data spravne do XML (dfXML). Mohli byste mi prosim
poradit kde muze byt problem?


Dekuji za kazdou radu Jan Jirousek.

je prvek v poli ?

[*] js-delphi(zv)quick(tec)cz - 27.10.2003 06:27:36

> From: "Ing. Petr Sikola" <developer(zv)efg(tec)cz>
> > lze nejak jinak nez postupnym prochazenim a porovnavanim zjistit,
> > jesttli nejake cislo je v tomto poli?
> > mam na mysli neco jako "indexof" nebo "in" ale pro pole
From: Petr Vones
> Ne, leda ze by si pouzil TList a polozky tam vlozil jako Integer pretypovany
> na Pointer.

Ahoj.
Asi jsem natvrdlej, ale to udelam jak a co z toho ziskam?
Diky za nakopnuti
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol(zv)seznam(tec)cz; 972 231 187
D6Prof+SP2; WinXPProf+SP1
programator amater


Diakritika v interbasi

[*] Lebeda David <david.lebeda(zv)comarr(tec)cz> - 27.10.2003 06:21:36

> tak jsem vsechny sloupce nastavil jako VARCHAR(20 ) CHARACTER SET
> WIN1250 DB jsem take nastavil na WIN 1250 a vkladani retezcu s
> diakritikou uz funguje jenze kdyz pak dam SELECT * FROM TABLE ORDER BY
> JMENO tak to stejne neseradi podle ceske abecedy ale jmena zacinajici
> na `, C(, R(, }, jsou na konci az za Z
>

Ahoj,

pokusim se to vsechno shrnout. Jde o nekolik ruznych veci:

1) Charset - je vhodne nastavit na WIN1250 - ale pozor - dela se to jak v databazi,
tak i v pripojeni. To uz tu bylo psano. Obecne lze mit v databazi jiny charset nez v
pripojeni a Firebird pak sam provadi konverzi znaku - jedine, kdy to nefunguje, je,
kdyz v nekterem z obou pripadu char neni uveden vubec, coz byl asi puvodne tvuj
pripad.

2) Setrideni se neovlada charsetem. Je urceno pomoci COLLATION. Jiz v definici
sloupcu typu CHAR, VARCHAR se da uvest - jako se uvadi CHARACTER SET
(ktery je ale nejjednodussi nastavit na urovni cele databazi a pak uz se o nej
nestarat), muzes v definici uvest i COLLATE PXW_CSY, coz urcuje zpusob trideni.

Pokud trideni nemas uvedene jiz v definici sloupce, muzes je specifikovat primo v
order by casti dotazu, jak uz tu nekdo psal. Vice viz dokumentace.

David Lebeda

Diakritika v interbasi

[*] js-delphi(zv)quick(tec)cz - 27.10.2003 06:15:35

Od: Petr Matejcek <konference(zv)crhov.komfi(tec)cz>

> tak jsem vsechny sloupce nastavil jako
> VARCHAR(20 ) CHARACTER SET WIN1250
> DB jsem take nastavil na WIN 1250 a vkladani
> retezcu s diakritikou uz
> funguje
> jenze kdyz pak dam SELECT * FROM TABLE ORDER
> BY JMENO tak to stejne
> neseradi podle ceske abecedy ale jmena
> zacinajici na `, C(, R(, }, jsou
> na konci az za Z

Ahoj!
No ja osobne delam jeste to, ze typu sloupce nastavim COLLATE PXW_CSY, coz zpusobi spravne serazeni podel cestiny. Ted nevim, jestli s timhle nebyl nejaky problem pri alter sloupce - tusim ze to na alter nereagovalo a tak jsem musel vytvorit jiny sloupec s pozadovanym typem, presypat do nej hodnoty, smazat puvodni sloupec a pak ten novy prejmenovat na ten puvodni.
Pokud nemas v tabulce zadny data, je lepsi tabulku dropnout a vytvorit spravne znovu (kdyz si pres Consoli vytahnes Metadata k tabulce, mas to hotovy jedna-dve) s pozadovanyma typama
Spravne by v tabulce melo byt:
TITUL VARCHAR(9) CHARACTER SET WIN1250 COLLATE PXW_CSY
Ahoj
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol(zv)seznam(tec)cz; 972 231 187
D6Prof+SP2; WinXPProf+SP1
programator amater


Jak synchronizovat thread a ttimer ?

[*] Jan Pukovec <walkrine(zv)centrum(tec)cz> - 27.10.2003 01:47:18

V programu pouzivam nekolik threadu, pricemz kazdy thread ma prirazeny
informace v radku DataSetu.
Tzn. napr.
Thread 1 - Radek 1
Thread 2 - Radek 2 atd.

Potrebuju-li zmenit informace o threadu, najdu si v DataSetu dany radek
dle GUIDu threadu (DataSet.Locate) a pote pomoci Edit a Post zmenim
data. Tohle ale narazi na problem se synchronizaci, nekdy se stava, ze
Locate sice najde zaznam, ale v tu samou chvili druhy thread rovnez
zavola Locate a Thread c. 1 pak zmeni nevlastni radek.
Resil jsem to pomoci TCriticalSecitons a zda se ze to funguje, ale pak
nastava problem s TTimerem.
V hlavnim threadu je spusteny TTimer ktery v urcitem intervalu projde
cely dataset (radek po radku) a s daty neco provede. V nem taky pouzivam
TCriticalSection - Enter a Leave (nebo Acquire a Release), ale kdyz jsem
si nechal vypsat do stringlistu pristupy z ruznych mist, ukazalo se tam
Entered critical seciton by Thread (GUID ...)
Entred critical section by Timer
Leaved critical section by Thread

... tzn. ze TTimer si klidne vlezl do programoveho kodu ktery je omezeny
TCriticalSeciton, zatimco v teto uz byl 1thread.

Chapu spravne ze do kodu mezi TCriticalSeciton.Enter a Leave by se mel
dostat vzdy jen 1 thread ?
Nevite nekdo jak tenhle problem vyresit ?
Dik

Cas z OS a CMOS

[*] Ing. Zdenek Reznicek <reznicek(zv)pce(tec)cz> - 26.10.2003 23:31:10

> From: "Ing. Zdenek Reznicek" <reznicek(zv)pce(tec)cz>
> > DOTAZ:
> > Nesynchronizuji nahodou W XP o pulnoci cas z CMOS s casem OS ? Pokud
ano, da
> > se ve W XP nastavit castejsi synchronizaci casu ?
>
> Viz funkce SetSystemTimeAdjustment
>

No, jenze ja tomu moc nerozumim. V manualu se pise:
..... synchronize the time of day with some other source of time ...
Jestli to dobre chapu, funkce povoluje/zakazuje synchronizaci casu OS s
cimkoliv (plati to i pro Real Time z CMOS ? A jak ?).
Me by proste stacilo, pravidelne (treba kazdou hodinu) nastavit cas Windows
podle casu v CMOS. Zda se mi, ze W XP to obcas delaji a protoze se asi cas
Windows a cas CMOS dosti rozchazeji, mam napiklad kazdou pulnoc ve sve
aplikaci problem.

Jak precist cas z CMOS ? Nastavit ho pro Windows by melo jit pres
SetLocalTime.

Zdenek


Diakritika v interbasi

[*] Petr Matejcek <konference(zv)crhov.komfi(tec)cz> - 26.10.2003 22:37:06

tak jsem vsechny sloupce nastavil jako VARCHAR(20 ) CHARACTER SET WIN1250
DB jsem take nastavil na WIN 1250 a vkladani retezcu s diakritikou uz
funguje
jenze kdyz pak dam SELECT * FROM TABLE ORDER BY JMENO tak to stejne
neseradi podle ceske abecedy ale jmena zacinajici na `, C(, R(, }, jsou
na konci az za Z

Vite nekdo pls jak na to ?

>>truncation, Cannot transliterate character between character sets.
>>
>>
>
>..tak nad tim jsem tuhle taky badal - nejspis jsi podobne jako ja zapomel
>nastavit db na WIN 1250 (dvojklik na komponente IBdatabase).
>
>HTH,
>
>MB
>
>
>
>
>
>

Narezovy plan

[*] Tomas Rosa <trosa(zv)seznam(tec)cz> - 26.10.2003 21:23:01


>Jo, delame NP.
>

mozna ze by tady asi vice lidi zajimala trosku presnejsi opdpoved. To ze
delate narezove plany (Merick - tedy jeste pro DOS se to tak jmenovalo
jestli se nepletu) vime, protoze to se da najit v kazdem vyhledavaci, ale
mozna pokud to neni naproste obchodni tajemstvi, tak predpokladam ze by
castesny popis reseni by nebyl na skodu.

Predpokladam, ze se to rozmistuje nejakou backtrace metodou,....
S pozdravem
Tomas Rosa

------------------------=[ pinknet on every screen]=-----------------------
Tomas Rosa
Tomas.Rosa(zv)PinkNet(tec)cz http://www.pnws.org
+420 602 860 704
PinkNet Web Server for Win32 - FREEWARE www.pnws.org
---------------------------------------------------------------------------

Diakritika v interbasi

[*] Martin Burle <mburle2(zv)volny(tec)cz> - 26.10.2003 20:50:58

> truncation, Cannot transliterate character between character sets.

..tak nad tim jsem tuhle taky badal - nejspis jsi podobne jako ja zapomel
nastavit db na WIN 1250 (dvojklik na komponente IBdatabase).

HTH,

MB


Diakritika v interbasi

[*] Petr Matejcek <konference(zv)crhov.komfi(tec)cz> - 26.10.2003 20:44:58

sloupec jmeno je definovan s CHARACTER SET WIN1250 a insert zapisuju
primo z kodu delphi
s:='insert into ltable (jmeno) values ('''+EditJmeno.Text+''' )';
na zdvojovani uvozovek jsem nezapomnel

chybu to hazi pouze pokud v promenne EditJmeno.Text je diakritika pokud
tam neni tak to normalne do databaze ulozi

co je zajimave tak kdyz byl sloupec jmeno definovan jen jako char(12)
tak to vlozilo jmeno s diakritikou bez problemu ale neumelo to podle nej
seradit

umi nekdo poradit? diky Petr

>1. jak mas definovan sloupec JMENO ?
>2. pokud bez CHARACTER SET WIN1250 a chces tam 'cpat'
>ceske nazvy jmen s diakritikou, tak je to jasne
>3. pouzivas to v Delphi kodu nebo scriptu SP ? Je v tom velky
>rozdil, v Delphi musis uvozovky zdvojovat nebo pouzit hotovou
>funkci QuotedStr.
>
>
>
>Ja na vetsinu Insert/Update/Delete operaci nad tabulkou pouzivam
>STORE PROCEDURES a komponenty TIBStoredProc s
>parametry. S tim jsou nejmensi problemy.
>
>Jarek U.
>
>
>
>
>

Diakritika v interbasi

[*] Jaroslav Uher <jarek(zv)iuher(tec)cz> - 26.10.2003 20:32:57

On 26 Oct 2003 at 18:56, Petr Matejcek wrote:

> jeste jsem narazil na problem : kdyz mam sloupec PRIJMENI
VARCHAR(25)
> CHARACTER SET WIN1250
> a chci provest INSERT INTO TABULKA (JMENO, PRIJMENI,
...) VALUES
> ('jmeno','prijmeni', ...)

1. jak mas definovan sloupec JMENO ?
2. pokud bez CHARACTER SET WIN1250 a chces tam 'cpat'
ceske nazvy jmen s diakritikou, tak je to jasne
3. pouzivas to v Delphi kodu nebo scriptu SP ? Je v tom velky
rozdil, v Delphi musis uvozovky zdvojovat nebo pouzit hotovou
funkci QuotedStr.

> tak to haze chybu : aritmetic exception , numeric overflow or
string
> truncation, Cannot transliterate character between character
sets.
>
> poradite pls kde delam chybu ?

Ja na vetsinu Insert/Update/Delete operaci nad tabulkou pouzivam
STORE PROCEDURES a komponenty TIBStoredProc s
parametry. S tim jsou nejmensi problemy.

Jarek U.

Diakritika v interbasi

[*] Petr Vones <pvones(zv)mbox.vol(tec)cz> - 26.10.2003 19:02:40

From: "Petr Matejcek" <konference(zv)crhov.komfi(tec)cz>
> tu knihu si rad koupim kde se da objednat?

Maji ji v kazdem dobrem knihkupectvi. Pres Internet pak urcite na vltava(tec)cz

Petr Vones


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