Anonymní profil kopec – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil kopec – Programujte.comAnonymní profil kopec – Programujte.com

 

Příspěvky odeslané z IP adresy 89.102.38.–

Delphi › zamceni slozky,adresare
27. 4. 2013   #175496

Zdravim,

Mam dotaz, slo by v Delphi7 vytvorit program, utilitu na zamceni adresare ??
predstavu mam takovou, ze pri pokusu prohlidnout, nebo otevrit chraneny adresar by vyskocil form s editem pro vlozeni hesla.

Uplne nejlip aby se dal zamcit adresar i na flashce a nesel otevrit z zadnyho PC, ale to je asi nerealny co?

Pokud mate nejakej napad, poradte prosim ...
dekuji.
 

Delphi › promazani dvou Memo s hodne…
2. 4. 2013   #174313

tak zatim nevim proc, ale vcera jsem pres den a noc nechal pustenej ten muj strasnej pomalej kod a dneska jsem zkusil ten superrychlej tvuj kod a je mezi tim rozdil nejakych 26 radku ..   tem muj jich smazal vic, ale mam to ulozeny, tak projdu ktery to jsou a zkusim najit proc.

Delphi › promazani dvou Memo s hodne…
2. 4. 2013   #174311

tak uz mi to jede, dekuju moc ...  zase umim neco novyho ..

Delphi › promazani dvou Memo s hodne…
2. 4. 2013   #174305

vim, ze se ptam jak hlupak, ale ze je ze synapse znamena, ze co mam pridat do uses ??

Delphi › promazani dvou Memo s hodne…
2. 4. 2013   #174301

#11 Sniper
no celkem jsem to uz pochopil, ale kdyz to dam prelozit, tak mi pise, ze neni deklarovany CRC32, tak jsem vlezl na google, a po chvilce stahl  CRC32.pas, jenze kdyz ho dam Components/InstalComponents, tak mi zase pise, ze nenasel TntUnicodeVcl_R70; ..  tak jeste zkusim hledat tohle, treba se nakonec zadari a budu moct zkouset ..
jinak uz se v tom zacinam vyznavat, na prvni pohled mi to prislo slozity, ale druhym pohledem je to celkem prehledny ..  dekuju jeste jednou .
 

Delphi › promazani dvou Memo s hodne…
2. 4. 2013   #174296

#8 Sniper
dekuju, tohle na me vypada dost slozite,ale zkusim se v tom pohrabat.

Delphi › promazani dvou Memo s hodne…
2. 4. 2013   #174293

Tak nevim, ..
udelal jsem,ze jsem Mema nahradil ListBoxama a pred prohledavanim jsem jjejich obsah prevedl do StringListu.
potom do SL3 vkladam radky,ktery nejsou shodny. viz:

function zjisti(radek: string): integer;
var e: integer;
begin
  For e:= 0 to Form1.SL2.Count-1 do
    begin
    If Form1.SL2[e] = radek then
      begin
      result:= 0;
      end else
     // Form1.SL3.BeginUpdate;
      Form1.SL3.Add(radek);
     // Form1.SL3.EndUpdate;
      result:= 1;
      end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var a,b: integer;
begin
  b:=0;
  SL1.Assign(ListBox1.Items);
  SL2.Assign(ListBox2.Items);
  For a:= 0 to SL1.Count-1 do
    begin
    Label3.Caption:= SL1[a];
    Application.ProcessMessages;
    b:= b+ Zjisti(SL1[a]);
    Label4.Caption:= IntToSTr(b);
    end;
  ListBox3.Assign(SL3);
  Label5.Caption:= IntToStr(ListBox3.Count);
  ShowMessage('hotovo!!');
end;

s tim BeginUpdate a EndUpdate jsem to asi uplne nepochopil.
vyrazne se to zrychlilo a tohle by mi i stacilo, ale pri zhruba 4500 radku to vyhodi hlasku OutOfMemory ... 
da se nejak ta pamet cistit ??   rikal jsem si treba po kazdym prohlidlym radku SL1 napsat SL1.free, ale to je hrozna blbost, uprostred cyklu to nejde ...

To: Sniper ...  mohl bych te poprosit, jestli by jsi ten kod postnul, podival bych se ,co tam mas jinak a urcite lip ..
 dekuji

Delphi › promazani dvou Memo s hodne…
1. 4. 2013   #174236

ve skutecnosti to pocitani zaznamu by melo byt v te funkci, v Memo1 se radky muzou opakovat,
ale to je nepodstatny, problem je v tom case.
 

Delphi › promazani dvou Memo s hodne…
1. 4. 2013   #174235

Cau lidi,

potrebuju promazat dve Mema se spoustou radku.
napsal jse na to tohle, ale neni to dobry,  Memo1 ma zhruba 50K radku a Memo2 asi 14K  a trva to strasne dlouho, kolem 20 hodin, nedalo by se to napsat nejak,aby to bylo rychlejsi ??

function zjisti(radek: string): integer;
var b: integer;
begin
 For b:= 0 to Form1.Memo1.Lines.Count-1 do
  begin
    If Form1.Memo1.Lines[b] = radek then
      begin
      Form1.Memo1.Lines.Delete(b);
      result:= 1;
      end;
  end;
  result:= 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
var a,c: integer;
begin
  c:= 0;
  For a:= 0 to Memo2.Lines.Count-1 do
  begin
  c:= c + Zjisti(Memo2.Lines[a]);
  end;
  Label1.caption:= ('Odstraneno '+ IntToStr(c)+' zaznamu.');
end;

pokud mate nejakej napad, prosim poradte, dekuju.

JavaScript, AJAX, jQuery › slideshow, validita
28. 3. 2013   #174016

Zdravim,

Potreboval jsem na stranky dat slideshow, ..  img, ve kterem se zhruba po 2-3 sekundach prekresluje asi 5 ruznych pictures.

Na netu jsem nasel jedno, ktery mi vygenerovalo tenhle kod: 

 <!--   zacatek scriptu na slideshow pro head-->   
    <script language="JavaScript1.1" type="text/javascript">
var slideimages=new Array()
/*  var slidelinks=new Array()  */
function slideshowimages(){
for (i=0;i<slideshowimages.arguments.length; i++){
slideimages[i]=new Image()
slideimages[i].src=slideshowimages.arguments[i]
}
}

function slideshowlinks(){
for (i=0;i<slideshowlinks.arguments.length;i++)
slidelinks[i]=slideshowlinks.arguments[i]
}

function gotoshow(){
if (!window.winslide||winslide.closed)
winslide=window.open(slidelinks[whichlink])
else
winslide.location=slidelinks[whichlink]
winslide.focus()
}
</script >
 <!--   konec scriptu na slideshow pro head -->

<!-- zacatek slideshow body  -->                         
     <a href="javascript:gotoshow()"><img src="images/banners/banner1.png" name="slide" border="0" width="950" alt=""></a>  
<script>

slideshowimages("images/banners/banner1.png","images/banners/banner2.png","images/banners/banner3.png","images/banners/banner4.png")
// slideshowlinks("http://blabla1","http://blabla2","http://blabla3","http://blabla4")

//configure the speed of the slideshow, in miliseconds
var slideshowspeed=2000

var whichlink=0
var whichimage=0
function slideit(){
if (!document.images)
return
document.images.slide.src=slideimages[whichimage].src
whichlink=whichimage
if (whichimage<slideimages.length-1)
whichimage++
else
whichimage=0
setTimeout("slideit()",slideshowspeed)
}
slideit()
</script>                          
 <!-- konec slideshow body  -->

jenze pri validaci na http://validator.w3.org/  mi to haze treba tyhle chyby:

a podobne, vypis vsech chyb je tady http://validator.w3.org/check?uri=www.dyzon.xf.cz&charset=%28detect+automatically%29&doctype=Inline&group=0

javascript moc neovladam a nevim, jak tyhle chyby odstranit.poradite mi prosim nekdo co s tim ??

nebo mozna jeste lip, treba nejakej jednodussi validni script na meneni 5 obrazku po 2 sekundach s tim, ze obrazky jsou s pruhlednym pozadim, takze pred jejich prepsanim je potreba ten predchozi smazat. nechci zadny efekty ani zbytecny sipky a podobne, chci jen dokola menit par fotek v jednom Img.

budu moc vdecny, dekuji.
 

Delphi › WebBrowser a chyba skriptu
5. 2. 2013   #171132

Zdraviim, ..

kdyz ve WebBrowseru nacitam tuhle stranku:

WebBrowser1.Navigate('http://forum.thesettlers-online.cz/threads/284-Den%C3%ADk-dobrodruha-SeFFa?p=1475&viewfull=1#post1475');

tak mi to pise chyba skriptu, ..  nevite prosim nekdo co s tim ??

Delphi › dva WebBrowsery v jedne apli…
25. 1. 2013   #170667

#4 liborb
mrknu na to diky, to jsem ani netusil, ze by to mohl nejakej prohlizec mit.

stejne na tom nebudu, chci prave do aplikace dat jen cistej prohlizec bez vsech pluginu, ktery zbytecne zdrzujou. rikal jsem si, ze nacitani a celkova zatez by byly daleko rychlejsi a mensi.

zkusim se podivat po nejakym tom prohlizeci (multiuser) ,ale pokud znate nejaky reseni, nebo nejakou web komponentu, kterou bych pouzil do aplikace, tak prosim napiste.

diky.

Delphi › dva WebBrowsery v jedne apli…
24. 1. 2013   #170656

dikec za odpoved, ..

mohli by jste mi teda nejakou komponentu doporucit ?? , stahl jsem si HtmlViewer113, ale nejde mi nainstalovat do Delphi7. Pise mi to ze nemuze najit TntUnicodeVcl_R70; ...

Delphi › dva WebBrowsery v jedne apli…
13. 1. 2013   #170147

Zdravim lidi.

Zkusim nastinit svuj problem.

Na jednom pocitaci hraju s Brachou online hru The Settlers,kazdej pod svym uctem.
Problem je ten, ze nemuzeme byt prihlaseni v jednom prohlizeci oba,takze ja jsem prihlasenej napriklad v Mozzile a on v Googlechromu. Myslim si, ze diky tomu,ze jsou spusteny dva rozdilny prohlizece,tak se to celkem seka.

Chtel bych vytvorit aplikaci, kterou kdyz spustim, tak se hned nactou treba v Panel1.WebBrowser1 muj ucet a v Panel2.WebBrowser2 ucet brachy.  Mezi panely prepinam SpeedButtonem.

Na automaticky vyplnovani loginu a hesla uz jsem se dival a je to teda slozity,ale jeste se tomu budu venovat.
Na co se chci ale zeptat je to,  ze kdyz se v Panel1 prihlasim za sebe, a v Panel2 se chci prihlasit za brachu,tak se stejne zacne otevirat muj ucet a v Panel1 se ukonci.

Jde to nejak udelat, aby ty WebBrovsery na Panel1 a Panel2 byly na sobe nezavisly ??

Nevim, jestli jsem to popsal srozumitelne, snad pochopite co jsem tim chtel rict.

dekuji za odpoved.

CSS › pozadi pres cely monitor
2. 1. 2013   #169642

Dekuji moc, pomohlo to.

CSS › pozadi pres cely monitor
23. 12. 2012   #169228

Zdravim lidi,

mam takovej problem, mam obrazek velikosti treba  1000 x 500 px,
napsal jsem v CSS:

body
{
  margin: 0 auto;
  padding: 0;
  color: #0B0F13;
  background-color: #B2C2D1;
  background-image: url('images/Bottom_texture.jpg');
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: ????? 
}

nevim jak mam nastavit background-position: , aby se mi ten obrazek zmensil/zvetsil podle velikosti a rozliseni monitoru a roztahl se pres celu obrazovku. scrolluje se text,pozadi zustava na miste.
to ze se muze rozhodit pomer stran obrazku mi nevadi.

jde to vubec zapsat v CSS, pokud ano, poradite prosim nekdo ?

diky
 

Delphi › Databaze Firebird
23. 11. 2012   #167410

#6 mjseven
uz jsem to vyresil,ale dikec ...  ten program co vytvarim bude pouzivat jen asi max 10 lidi na siti, ... a refresh potrebuju proto,aby kdyz nekdo zada nejakou zmenu do tabulky,nebo vlozi novej zaznam,tak aby to ostatni videli co nejdriv .. 

Delphi › Databaze Firebird
14. 11. 2012   #166770


Super, diky, ..  ukladani editaci,mazani mam uz vyresene, ..  sice asi ne uplne nejlepsim a nejrychlejsim zpusobem ,ale funguje to a jsem spokojenej, dokonce jsem uz i tvoril vyhledavani  a ikdyz taky funguje, precejen bych se chtel zeptat na nekolik veci:
 

procedure TForm1.BtHledatClick(Sender: TObject);
var s: string;
begin
  IBQuery2.close;
  IBQuery2.SQL.Clear;
  DBGrid1.DataSource:= DataSource2;

  if length(edit1.Text) = 0 then
  s := 'select * from TABLETEST6'
else
  s := Format('select * from TABLETEST6 where %s like ''%%%s%%''', [combobox1.Text, edit1.text]);

  IBQuery2.sql.Add(s);
  IBQuery2.Open;
  if IBQuery2.RecordCount = 0 then ShowMessage('nic tam neni');
end;

V ComboBox1 se vybira slupec a v Edit1 je hledane slovo.
No a ja bych potreboval, aby se pri vyhledavani ignorovaly maly/VELKY pismena a taky fonetika ěščřžýá a podobne.
rikal jsem si, ze maly velky pismena bych odstranil tim, ze vsechno pred vyhledavanim prevedu na velky AnsiUpperCase(Edit1.Text), ale nevim jak prevest ty v tabulce..  no a s tema ěščř nevim vubec..

Druha vec, kterou jsem zatim nezprovoznil je synchronizovani dat v aplikacich.
Zatim to mam reseny tlacitkem tak,ze vypinam a zapinam IBTransaction.

Cetl jsem neco o IBEvent, ale kdyz ji vlozim nastavim Database na IBDatabase1 a Registered:= true, spustim aplikaci,atk mi to hned vyhodi chybu: Database name is missing.

jeste jsem nekde cetl, ze se da poslat zprava jine plikaci i pres sit, ale to mi prijde strasne slozity a mozna i zdlouhavy, ..
 

Delphi › Databaze Firebird
10. 11. 2012   #166329

#2 mjseven
diky, nakonec jsem to zjistil: DatabaseName se musi napsat v tomto zneni:

IP_Server:Cela adresa k souboru,.  v mym pripade teda: 192.168.1.101:D:\Sdileno\Zakazky\Test\Test.FDB
pak se vse pripoji jak ma ..
mam ale jeste par problemu,tak bych Vas chtel poprosit o radu:

1. Nefunguje 

IBQuery1.delete;

kdyz dam ale na formular DBNavigator a do procedury BtnDeleteClick napisu 

  DBNavigator1.BtnClick(nbDelete);

tak to funguje,ale vyhodi to hlasku (ShowMessage) " Delete Record?" ,ja bych to chtel bud bez hlasky uplne, nebo si ji upravit. Nevite, kde bych stahl nejakej SourceCode DBNavigatoru ?? ,nebo neznate ten zapis nekdo z hlavy ?

2. EDIT, napsal jsem 

IBQuery1.Edit;
..
..
IBQuery1.post;

ale vyhodi to hlasku "Update Failed!" , ..  nevite proc ??  nebo se to musi zapsat jinak ?
pouzil jsem komponenty : IBDatabase, IBTransaction, IBUpdateSQL, IBQuery, DataSource.

3. Synchronizovat tabulku na vsech PC .. ted je videt jen to,co je vlozeno prave na onom PC, az kdyz se plikace vsude povypinaji a znovu zapnou, nactou se korektni udaje.Zkousel jsem i jako udalost onClick tlacitka napsat : 

  IBDatabase1.Connected:= false;
  IBDatabase1.Connected:= True;
  IBTransaction1.Active:= True;
  IBQuery1.Active:= True;

ale to nepomohlo, ... , prijde mi, ze se to do tabulky uklada az kdyz program vypnu uplne ..

dekuji.

Delphi › Databaze Firebird
7. 11. 2012   #166052

Zdravim,
Prosim o pomoc.
mam dva pocitace v siti, propojene pres Switch.
nastavil jsem jim pevnou IP adresu a to:
pc MARIKA .. 192.168.1.101 .. je na nem ulozena databaze + aplikace,nasdilena slozka d:\Sdileno a v ni adresar zakazky/Test
pc ROBERT .. 192.168.1.102 .. je na nem jen aplikace

na obou pc jem nainstaloval Firebird 2.5 a IBExpert
na pc MARIKA jsem v IBExpert vytvoril databazi:
-Server: .. remote,
-Server name: .. 192.168.1.101,
-Protocol: .. TCP/IP
-Database: .. \\MARIKA\Sdileno\zakazky\Test\Test.FDB,
-SQL Dialect: .. Dialect 3,
-User/Password: .. SYSDBA/masterkey
-firebird 2.5
soubor Test.FDB se ve slozce vytvoril
pak jsem vytvoril tabulku Test1,pridal nejaky Fieldy a zkompiloval.

na pc ROBERT jsem v IBExpert zaregistroval vytvorenou databazi,ale kdyz jsem se k ni chtel pripojit, tak mi to vyhodilo tuhle hlasku:

v Delphi7,ktery jsou v pc ROBERT,jsem vytvoril novou aplikaci a na formular jsem dal IB Database, DatabaseName jsem nastavil na soubor Test.FDB,ale kdyz jsem chtel nastavit Connected na True, tak mi to vyhodilo zase tuhle hlasku:

uz jsem z toho zoufalej .. ping mezi pocitaci probehne v pohode ...
poradite mi prosim ...

Delphi › SQLConnection a Firebird
7. 11. 2012   #166048

#5 mjseven
jj. dekuju, Zeos komponenty uz tam mam, ..
mam ale porad problem, zalozim na to novy vlakno ..

na youtube jsem nasel navod, jak se na firebird pripojit pres IB komponenty,ale
viz: http://programujte.com/…ze-firebird/

Delphi › SQLConnection a Firebird
4. 11. 2012   #165833

Tak uz vim, delal jsem to cely blbe, ... 
.DPK soubory se instalujou tak, ze je otevrete: File/Open a date 'instal' . To pro ty, co to budou delat poprve jako ja a budou tapat.

Bohuzel mi to ale pise, ze nejsou pro Design time ....  nevite, kde bych sehnal ten  balik prave pro design time ??

Delphi › SQLConnection a Firebird
3. 11. 2012   #165806

#2 mjseven
Diky za radu, ale prave komponenty TIB nectou databazi,kterou jsem vytvoril pro firebird s priponou .FDB

Stahl jsem si ZEOSDBO-6.6.6-stable, rozbalil a v instrukcich pro instalaci pisou instalovat postupne tyto baliky

•ZCore.bpl
•ZParseSql.bpl
•ZPlain.bpl
•ZDbc.bpl
•ZComponent.bpl

ale v tom, co jsem stahl zadny baliky nejsou, jsou tam soubory s priponou .dpk ,tak jsem je zkousel nainstalovat pres Component/Instal component a tam jsem hned narazil, chce to zadat "Unit file name" , nejakej .pas soubor a ja nevim jakej mam zadat,aby se to nainstalovalo do Delphi, do zalozek vedle Standard,Aditional,Win a podobne.
Search patch bych asi nechal tak jak je,
Package file name ... vyberu soubor s priponou dpk, treba ZComponent.dpk
Package description je jasny,... dal jsem Zeos, tak se bude jmenovat ta zalozka.

Ptam se asi jak hlupak, ale jeste jsem nikdy zadny komponenty neinstaloval, tak vubec nevim ...
Pokud by jsi mi s tim poradil, budu ti moc vdecny ...

Delphi › SQLConnection a Firebird
2. 11. 2012   #165748

Zdravim, .. 

V IBExpert jsem si vytvoril a zaregistroval databazi na serveru firebird 2.5

a v Delphi7 chci na praci s ni pouzit komponentu SQLConnection,ale kdyz chci v ObjectInspectoru nastavit hodnotu Connection Name,  tak mi to nabizi IBConnection a dalsich 5 moznosti (DB,Informix,MSSQL,MySQL,Oracle) a ja bych potreboval FBConnection. Firebird 2.5 mam nainstalovanej.
Poradite mi prosim, jak tam tuhle nabidku dostanu ??   dekuji

Sítě › prihlasovani do site
15. 10. 2012   #164739

neni to pres router,ale pres  switch.

Delphi › hra hledani brambor
5. 10. 2012   #164142

#4 KIIV
no prave kvuli tomu, ze nektery maji jiny vlastnosti,tak bych stejne musel nejak odlisit, takze jsem je tam nasazel rucne ...
je mi jasny, ze to neni uplne dobra varianta a jeste si s tim pohraju, ale ted jsem potreboval na rychlo vytvorit par prvnich prikladu, takze tak ..
dekuju za nakopnuti, nakonec jsem vsech 100 speedbuttonu hodil na panel a s malou pomoci napsal toto:
 

var    b: integer;
begin
  ShowMessage( 'Špatně !!!' +#13+' Začni znova ');

    for b:= 0 to Panel1.ControlCount-1 do
    if (panel1.Controls[b] is TSpeedButton) then
    TSpeedButton(panel1.Controls[b]).Caption:='';
end;

funguje to a je to jednoduchy

Delphi › hra hledani brambor
5. 10. 2012   #164125

#2 KIIV

jj, presne tohle jsem si myslel .. 
ze to bude zase neco, o cem vim uplny prd.

myslel jsem, ze ve  

var a: array[1..100] of TSpeedButton

priradim promenne (a) vsechny speedbuttony od 1 do 100 a pak je muzu postupne menit.
v navodech a knihach co mam se pouziva array[x..y] celkem casto,ale vetsinou of Integer; a tam o zadne inicializaci neni psano.
zadnej kod, kde by bylo pole z komponent jsem nikde nenasel.
jakou inicializaci mam teda jeste provest ?

Delphi › vyhledavani v treeview
4. 10. 2012   #164088

#8 liborb
v pohode, kritika na miste, obcas, kdyz se moc snazim mi to proste nesepne ...  :o)

Delphi › hra hledani brambor
4. 10. 2012   #164087

Zdravim, na rychlo vytvarim pro syna kolegyne jednu takovou jednoduchou hru, mozna ji znate, jde o to najit podle ciselnych rad spravny policka ..  radsi vlozim obrazek:

vsechno jsem uz osetril a funguje jen posledni vec a to,kdyz oznaci krizkem spatne pole, hra konci jako neuspech a ja bych potreboval vsem tlacitkum vyprazdnit caption. Pouzil jsem SpeedButtony,protoze ji budu mozna vylepsovat,tak abych tam mohl jednoduse nasazet nejaky obrazky a podobne, to je jedno na funkci nemam vliv.
na smazani jsem si napsal tohle:
 

var a: array[1..100] of TSpeedButton;
    b: integer;
begin
  ShowMessage( 'Špatně !!!' +#13+' Začni znova ');
  for b := 1 to 100 do
  begin
  a[b].Caption:='';
  end;
end;

jenze mi to haze chybu, ze neco znasilnuju na adrese blabla ...
poradite mi prosim co je spatne ??

dekuji

Delphi › vyhledavani v treeview
28. 9. 2012   #163879

#6 liborb
Dekuju,

chapu,ze to vypada tak jak pises,ze ty kody nezkoumam, ale bohuzel to tak neni, jsem proste jen tupej. (tohle me melo napadnout)
ale musim rict,ze na spoustu veci se neptam, 1.den mi to treba nedocvakne,ale jak to resim dal, tak me napadaji ruzny veci a vyresim to sam. To se tady ale nedozvite. Na veci, ze jsem porad lama to ale nic nemeni.

takze dekuju , polepsim se.

Delphi › vyhledavani v treeview
24. 9. 2012   #163696

tak jsem upravil vyhledavani podle liborb, a vlozil procedurku,ktera  vsechny nalezeny adresare prepise tucnym pismem ..:

procedure SetNodeBoldState(Node: TTreeNode; Value: Boolean);
var
  TVItem: TTVItem;
begin
if not Assigned(Node) then Exit;
with TVItem do
begin
  mask := TVIF_STATE or TVIF_HANDLE;
  hItem := Node.ItemId;
  stateMask := TVIS_BOLD;
  if Value then state := TVIS_BOLD
                else state := 0;
  TreeView_SetItem(Node.Handle, TVItem);
end;
end;

ale kdyz chci hledat dalsi zaznam, tak potrebuju,aby se ty tucny adresare zmenili na normalni a zvyraznili se zase ty  z novyho hledani.
myslel jsem, ze pouziju tu samou proceduru, prejmenuju ji treba na UnSetNodeState, do promenne ulozim starej hledanej text,spustim ji pred procedurou na poTucneni a zmenim v ni TVIS_BOLD na treba TVIS_NORMAL, ...  ale ouha nejde to ..
hledal jsem teda neco o TTVItem.State a nasel jsem vsechny mozny zapisy, ale ani jeden neni na zmenu zpatky, nebo na default nastaveni ..  viz

Poradite mi prosim ... 

a jak by vypadal zapis,kdybych chtel zmenit barvu pisma ..(teda jestli to vubec jde ..)
dekuji

Delphi › vyhledavani v treeview
24. 9. 2012   #163690

super, to je ono, dikec

Delphi › vyhledavani v treeview
23. 9. 2012   #163662

s tim prepisovanim TreeView me napadlo upravit proceduru na vykreslovani o radek :
 

procedure GetDirectories(Tree: TTreeView; Directory: string; Item: TTreeNode; IncludeFiles: Boolean);
var
  SearchRec: TSearchRec;
  ItemTemp: TTreeNode;
begin

  Includefiles:=false;
  Tree.Items.BeginUpdate;
  if Directory[Length(Directory)] <> '\' then
  Directory := Directory + '\';
  if FindFirst(Directory + '*.*', faDirectory, SearchRec) = 0 then
  begin
    repeat
      if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <> '.') then
      begin
        if (SearchRec.Attr and faDirectory > 0) then
// -----------------------------------------------------------------------
            If SearchRec.Name = (Form1.Edit1.Text) then
// -----------------------------------------------------------------------
            begin
          Item := Tree.Items.AddChild(Item, SearchRec.Name);
        ItemTemp := Item.Parent;
        GetDirectories(Tree, Directory + SearchRec.Name, Item, IncludeFiles);
        Item := ItemTemp;
        end
      end
      else if IncludeFiles then
        if SearchRec.Name[1] <> '.' then
          Tree.Items.AddChild(Item, SearchRec.Name);
    until FindNext(SearchRec) <> 0;
    FindClose(SearchRec);
  end;
  Tree.Items.EndUpdate;
end;

to je dobry,ale po prvnim nalezenym zaznamu to skonci. 
jinymi slovy mam v tom TV nekolik adresaru Nova slozka, ted to najde prvni a skonci to, ty dalsi uz nevypise.

Delphi › vyhledavani v treeview
23. 9. 2012   #163661

Zdravim vsechny..

mam TreeView naplnenej adresarema s fotkama.
mam funkci na vyhledavani:

function TVNajdiNode(Strom : TTreeView; Slovo:String): TTreeNode;
var
    Node: TTreeNode;
begin
  Result := nil;
  if ATree.Items.Count = 0 then Exit;
  Node := Strom.Items[0];
  while Node <> nil do
  begin
    if UpperCase(Node.Text) = UpperCase(Slovo) then
    begin
      Result := Node;
    end;
    Node := Node.GetNext;
  end;
end;

Vyhledavam udalosti OnClick
 

procedure TForm1.NajdiClick(Sender: TObject);
var
  nasel : TTreeNode;
begin
   nasel:=TVNajdiNode(TreeView1,Edit1.Text);
   if nasel = nil then
    ShowMessage('Not found!')
   else
    begin
      TreeView1.SetFocus;
      tnnasel.Selected := True;
    end;
end;

funguje paradne, najde to sice jen prvni adresar toho jmena
jenze ja bych potreboval, abych nemusel do Editu psat celej presnej nazev, ale kdyz mam treba adresare:
Narozeniny Robert
Narozeniny Adam
Narozeniny Anicka 3
Narozeniny Anicka 5
a podobne, aby stacilo do Editu napsat jen treba narozeniny, nebo Anicka a naslo to vsechny,co obsahuji tenhle text, v tom pripade by se musel TreeView smazat a vypsat do nej jen ty adresare, ktery se nasly,dejme tomu,ze i s nadrazenyma adresarema.

Pomuzete mi s tim nekdo prosim ??

Delphi › Booelovský výraz
23. 9. 2012   #163634

#13 KIIV
vidis, takze si urcite pamatujes, jaky to je mit neco co funguje.

To: fil, mrkni do profilu

Delphi › Booelovský výraz
23. 9. 2012   #163629

#6 KIIV
Nevim, jak jsi se ucil Delphi ty, ale ja jsem vsechno musel vycist z knizky a z netu, ve skole me to nikdo neucil, nevysvetloval jak co funguje a podobne (Ucim se to zhruba pul roku,proto jsem na slabe urovni , netvrdim,ze jsem expert,ale snazim se pomoct). Za kazdej funkcni kod,kterej mi prisel pod ruce jsem byl rad,protoze jen z tech funkcnich jsem se dokazal neco naucit a pochopit.  Ono je rozdil, mit ucitele a nebo jen hluchou, nemou knizku.
Proto si vetsinu (pocitanych) hodnot zobrazuju v Labelech, abych videl jak opravdu vypadaji a s cim se vlastne dal pracuje.
Ja vim, je to zdlouhavy, pomaly a mozna nekdy i zbytecny,ale nejsou vsichni odbornici jako ty. 

Snazim se jen pomoct.

Delphi › Booelovský výraz
23. 9. 2012   #163627

jinak jak rikam, ja jsem to resil pres SQL, takze vubec nevim, jestli je tenhle zapis spravnej ...  spis se mi to zda jako hovadina

Ted jsem nahlidl do knizky Delphi v prikladech a tam uvadi tenhle code:
 

If not Table1.FindKey([Edit1.Text]) then
ShowMessage('neni')  // tohle bude fungovat urcite
Delphi › Booelovský výraz
23. 9. 2012   #163623

#4 Fil
no ale uz to aspon funguje ne ...  tak zkus pridat Label a vloz do nej tu cast co ma vyhldat:

Label1.Caption:= 'zanr='+ QuotedStr(Edit1.Text) // jsem zvedavej, co ti to vypise ..

a podle toho musis upravovat,aby to nakonec neco naslo ..

Delphi › Booelovský výraz
23. 9. 2012   #163621

#1 Fil
Nejsem si jistej ,ale podle me mas chybu v zapise ... 

If aaa = bbb then blabla // tohle je spravne a ty tam nas:
If aaa := bbb then  //  := prirazuje, takze to mas blbe. 

//  nevim, jestli to bude fungovat,ale ja bych zkusil:

If Table1.Filter <> 'zanr='+ QuotedStr(Edit1.Text) then
ShowMessage('neexistuje') else
blablabla

 kdyby jsi mel zajem, tak mam vyhledavani reseny pres SQL pomoci ComboBoxu,kde vyberu sloupec, ve kterym chci hledat a Editu, kam zapisu hledanej text.

Mam to zapsany pomoci Like, takze to vyhledava i casti retezce. 

Delphi › Databáze datový typ Graphic…
22. 9. 2012   #163599

#7 Fil
no DBGrid to ma prej nejak spatne polazeny ... teda aspon v Delphi7,
ja musel na formular vlozit ApplicationEvents a dopsat toto ..
dej to hned na zacatek kodu.

// pohyb koleckem mysi v DBGrid a ostatnich
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
  var
   i: SmallInt;
begin
   if Msg.message = WM_MOUSEWHEEL then
   begin
     Msg.message := WM_KEYDOWN;
     Msg.lParam := 0;
     i := HiWord(Msg.wParam) ;
     if i > 0 then
       Msg.wParam := VK_UP
     else
       Msg.wParam := VK_DOWN;

     Handled := False;
   end;
end;
Delphi › Databáze datový typ Graphic…
22. 9. 2012   #163591

#5 Fil
hele ja to mam na dvou formularich ..  na Form1 mam vsechno jako info a  Form2 oteviram jen kdyz chci pridat novej zaznam, nebo upravit stavajici.

zkontroluj si jeste v tabulce tu cestu, kam ukladas ty obrazky,jestli ji mas dobre zapsanou, a jestli ta cesta je vcetne platnyho souboru s priponou.

jinak ve Form1 pro zobrazeni dej do udalosti FormCreate  treba toto:

begin
  cesta:= DataSource1.Dataset.FieldByName('Vizual').asstring;
  If DataSource1.Dataset.FieldByName('Vizual').IsNull then
  begin
     Image1.Picture.Assign(Image16.Picture)    // Image16 jsem opet zneviditelnil a strcil jsem do nej defaultni obrazek s textem nahled neni k dispozici
  end
  else
  begin
     Image1.Picture.LoadFromFile(cesta);
  end
end;
Delphi › Databáze datový typ Graphic…
22. 9. 2012   #163586

teda ty se v tom ale patlas .. :o))   byl jsem na tom jeste nedavno stejne ...

resil jsem ukladani vizualu k zakazce a udelal jsem to takhle.
do adresare s .exe jsem pridal adresar vizualy, protoze jsem chtel mit vsechny obrazky,co jsem kdy priradil k zakazkam pekne pohromade. pak uz staci na udalost OnClick nejakyho Buttonu, v mym pripade Najit napsat toto:

procedure TForm2.BtNajitClick(Sender: TObject);
var novy,novacesta: string;
begin
  novy:= (DBEdit1.Text + '.jpg'); // v DBEdit1 je cislo zakazky
  novacesta:= ('c:\Program files\zakazky\vizualy\' + novy);  // Cesta k adresari s obrazkama
  OpenPictureDialog1.execute;
  Image1.Visible:= false;  // pridal jsem na formular Image a visible nastavil na false,je to jen prostrednik, asi to neni uplne spravna varianta,ale funguje.
  Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
  Image1.Picture.SaveToFile(novacesta);
  DBEdit13.Text:= (novacesta); // tady tohle se ti potom ulozi do tabulky .. Typ A
  Form1.Image1.Picture.LoadFromFile(novacesta); Tady se konecne obrazek nacita ..
end;

snad ti to pomuze

Delphi › Databáze více jak 255 znaků…
21. 9. 2012   #163541

Mam v tabulce taky Memo (M)  ,.. 
predpokladam, ze jsi hodnotu (M), kdyz jsi vytvarel tabulku nastavil treba na 10 ..  je to v Megabytech.
Jinak pro zapis do nej pouzivam komponentu DBMemo a vsechno funguje jak ma ..
zkus jeste zkontrolovat, jestli mas vsechno spravne propojeny a nastaveny ..

Delphi › InterBase , datove typy a je…
20. 9. 2012   #163506

tak jsem se konecne dostal k te Interbase, ...
Pomoci  IB Console jsem vytvoril server, databazi, a tabulku.
na Formulari mam IBTable, IBDatabase, IBTransaction a DataSource, pak nejaky DBEdity a DBGrid

vsechno jsem uspesne propojil,  Login Prompt jsem nastavil na false.
pouzil jsem prikazy  Table.append / edit  a na ulozeni  Table.post

takhle mi to cely v Delphi funguje,ale kdyz delphi ukoncim a spustim to z .exe, tak mi to vyhodi hlasku , ze databaze je nepristupna ...

je teda potreba jeste neco osetrit v FormCreate ?? 

Delphi › Velka prosba s evidenci
20. 9. 2012   #163483

#10 Fil

pokud by jsi to z odkazu od mjseven nepochopil, nebo v tom porad tapal, tak napis, samozrejme ti pomzu .. 
treba pres skype,nebo icq.

Delphi › ListView aktivni Item a list…
18. 9. 2012   #163382

#3 liborb

jj, vcera jsem mlatil hlavou o stul az se mi tam rozlo a napsal jsem tohle:

procedure TForm1.SpeedButton13Click(Sender: TObject);
var a: integer;
begin
  a:= ListView1.Selected.Index;
  If a <> 0 then
  begin
  SpeedButton14.Visible:= True;
  ListView1.Selected:= Listview1.Items[a-1];
  end
  else
  SpeedButton13.Visible:= False;
end;

procedure TForm1.SpeedButton14Click(Sender: TObject);
var a: integer;
begin
  a:= ListView1.Selected.Index;
  If a <> ListView1.Items.Count -1 then
  begin
  SpeedButton13.Visible:= True;
  ListView1.Selected:= Listview1.Items[a+1];
  end
  else
  SpeedButton14.Visible:= False;
end;

zapomel jsem to sem strcit,omlouvam se.   je to v podstate to samy,jak pises,akorat jsem neprovedl ten odvyber.
je to nejak dulezity ??

presto dekuju

Delphi › ListView aktivni Item a list…
16. 9. 2012   #163245

tak bod1 uz mam.
je na to udalost OnSelectItem v ListView

Delphi › ListView aktivni Item a list…
16. 9. 2012   #163230

Zdravim,

Prosim Vase chytry hlavy o odpoved na dve otazky.

1. pri kliknuti do TreeView, se mi do ListView vypisou vsechny soubory .jpg ze slozky.
    prikazem ListView1.Selected:= ListView1.Items[0];  oznacim hned prvni soubor.   Sice se oznaci jako aktivni,ale ja bych potreboval,aby se stal aktivnim jako kdybych na nej klikl ,aby se mi rovnou nacetl do Image.
zkousel jsem ListView1.Selected.Focused; ,ale to taky nepomohlo.

2. chtel bych v ListView prochazet pomoci tlacitek (next/ previous) ,ale nevim, jak zjistim, kterej Item v ListView je zrovna vybranej, abych mohl napsat na udalost tlacitka:
ListView1.Selected:= ListView1.Items[+1]; ...  // tady nevim teda presnej zapis

stacil by i link , kde se to resi, ja nic nenasel .. :o(

dekuji

Delphi › databaze na dvou PC
12. 9. 2012   #163078

Prosim o radu, ..
na dvouch PC mam aplikaci a na tretim, kterej je porad zaplej mam ulozenou databazi BDE.

vsechno bezi v poradku kdyz je spustena aplikace na jednom PC,ale kdyz ji spustim i na druhym, tak to hlasi chybu, ze je databaze zamcena .. tomu rozumim,
v Projct1 mam zapsano, aby se jako prvni objevil Form3,kde mam vytvoreny jakysi "spousteci logo" a az potom se zobrazi Form1,kde se pouze cte z databaze, a tlacitkem se spusti Form2,kde se do databaze zapisuje.

No a ja se chci zeptat:

1. jestli jde Table nejak nastavit,aby bylo mozne cist (opravdu pouze cist) z obou pocitacu.

2. pokud ano, tak jak zjistim, jestli je na druhym pocitaci spustena v modu insert/edit (coz delam tim tlacitkem na spusteni Form2). Pokud by to slo zjistit, tak bych nastavil: kdyz bude na jednom PC v modu insert/edit, na druhym PC skryju tlacitko pro zobrazeni Form2. Pres Timer bych to kontroloval treba kazdych 20 vterin s tim, ze bych vzdy zaktualizoval databazi, jestli tam nepribyl nejaky zaznam. Tohle bych zapsal i mezi skrytim Form3 a zobrazenim Form1 hned pri startu.

Urcite vas hned napadne, proc to neudelam pres Firebird, tak proto, ze v tom tapu, nejsem schopnej vytvorit tabulku, kde by byl 1 sloupec cislo, nekolik sloupcu text(255) a 1 sloupec memo.
prosel jsem uz spoustu navodu a tutorialu, vsude se vytvari kombinace nekolika tabulek a nikde neni pouziti mema ... nemuzu to nijak sesmolit.
Mam problem i na win7 vytvorit server,kde bych si nastavil svoje vlastni prihlasovaci jmeno a heslo. prosel jsem toho hafo na google a uz nevim, podle jakych klicovych slov hledat.jsem proste lama ... "zoufala"

Pouzivam jen jednu tabulku, takze pokud by to slo bez Firebirdu, tak bych byl rad.
Pokud to ovsem v BDE nejde, tak prosim napiste, bude nejak hledat a zkouset dal.

dekuji moc za odpoved.

Delphi › prirazeni komponenty
12. 9. 2012   #163070

#3 KIIV
super,  takevejhle zapis jsem jeste nevidel, ..  zase neco noveho.

diky moc ..

Delphi › prirazeni komponenty
11. 9. 2012   #163018

napadlo me to jeste zapsat takhle ...

var
  Form1: TForm1;
  i: integer;

implementation

{$R *.dfm}

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
  Panel3.Width:= 0;
  i:= 3;
  Timer1.Enabled:= true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var a,b,c: integer;
    pan: array[1..6] of Tpanel;
begin
  a:= Panel1.Width;
  b:= a div 40;
  c:= a mod 40;
  If (pan[i].Width + (c)) <> Panel1.Width then
  pan[i].Width:= pan[i].Width +b
  else
  Timer1.Enabled:= false;

end;

end.

ale haze mi to taky chybu, ze to znasilnuju ...

Delphi › InterBase , datove typy a je…
11. 9. 2012   #163017
Delphi › prirazeni komponenty
11. 9. 2012   #163013

zadravim ...

mam problem s takovou kravinou ...  je to jen takova mala graficka uprava programu, mozna se muze nekomu hodit.

Na Form1 jsem dal zakladni panel a na nej nekolik dalsich panelu.napsal jsem tenhle kod:

var
  Form1: TForm1;
  comp: TComponent;

implementation

{$R *.dfm}

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
  Panel3.Width:= 0;
  Panel3.BringToFront;
  comp:= Panel3;
  Timer1.Enabled:= true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var a,b,c: integer;
begin
  a:= Panel1.Width;
  b:= a div 40;
  c:= a mod 40;
  If (comp.Width + (c)) <> Panel1.Width then
  comp.Width:= comp.Width +b
  else
  Timer1.Enabled:= false;

end;

end.

ale prave comp.Width nejde pouzit, poradite prosim nekdo, jak to napsat
chtel bych,  promenne comp priradit jakykoliv panel a pracovat s jeho vlastnostmi za behu programu.

dekuji.

kopec
Delphi › InterBase , datove typy a je…
10. 9. 2012   #162989

nevim o jakym manualu to pises, ale v napovede Delphi jsem to nenasel ..

teda ruzny typy jo, ale jak je zapsat uz bohuzel ne ... 

kopec
Delphi › InterBase , datove typy a je…
6. 9. 2012   #162853

Cau lidi,

mam na vas takovou prosbu.
snazim se vytvorit vlastni tabulku v Interbase a nikde nemuzu najit zapis ruznych datovych typu.

Doplnite mi prosim nekdo ty otazniky a odpovedi :

Create Table ABC (

Field1 NUMERIC (6,0) NOT NULL,   ---- co tady zname 6 a co 0 ???
Field2 VARCHAR (200) NOT NULL,   ---- tohle je jasny
Field3 DATE (????)  NOT NULL,   ---- co tady do zavorek
Field4 TEXT BLOB (????) NOT NULL,   ---- co tady / ukladani z Memo /
Field5 INTEGER (????) NOT NULL,   ---- jakej je rozdil mezi numeric a integer
Field6 DOUBLE (????) NOT NULL,   ---- kdy se da tohle pouzit
Field7 SHORT (????) NOT NULL,   ---- co do zavorek
Field8 CHARACTER (????) NOT NULL,   ---- tohle je snad na vlozeni casu ??

primary key (Field1)
);

Pokud vas napadnou jeste nejaky jinyny zajimavy typy, tak prosim dopiste.

Dekuji moc za odpovedi.

Delphi › zmena Image za chodu z5 na d…
4. 9. 2012   #162762

Zdravim..

Nevite nekdo prosim jak zmenit      Image1.Picture.    za chodu programu na defaultni nastaveni ??

V objekt Ispectoru jsem do componenty Image nahral obrazek,  po kliknuti na tlacitko se mi zmeni na jinej, kterej se nacte z adersare a ja bych potreboval, aby se mi po kliknuti na dalsi tlacitko zmenil zase na ten defaultne nastavenej,abych nemusel do toho adresare davat oba.

a jeste jeden dotaz,..  da se k aplikaci pridruzit nejakej soubor,do kteryho bych nahazel vsechny obrazky,(.Jpeg, .Gif, .Bmp)  ktery nemuzu strcit (z duvodu prekreslovani a podobne) rovnou do .exe
do res se vejdou jen ikony a maly bitmapy ...

dekuji za odpovedi.

Ted me jeste napada, neda se do toho Image nacist tech polozek vic a prepinat mezi nema ?? 
a jak by vypadal ten prikaz ... Image1.Picture. ???      ,
 pokud ano, vyresilo by to ty dotazy nahore, 

Delphi › TGifImage, jak nainstalovat
4. 9. 2012   #162753

nakonec jsem to vyresil takto ..:
jsou tam obe varianty

Can you tell me how to install GifImage as a component in delphi 7?

It is not a component, just a Delphi unit.
You do not need to install it in Delphi.
However, you can add the unit to a design time package if you want.
But you only need to do this if you want to load gif files at design time.
I normally recommend to put the GifImage.pas file in a directory where you keep other Delphi units you might have with usefull procedures and functions.
Add this directory to Delphi's search path in
"Tools, Environment Options, Library, Library path".
Then you do not need to specify anything in Project Options when you need to use the unit, just add GifImage to your program's uses clause.
By doing this you can only load and display GIF images at runtime, not at designtime.

If you want to add the unit to a design time package in order to enable you to load gif files at design time in the Delphi IDE, this is the steps you need to follow:
1. Create a directory where you place the GIFImage.pas unit.
   Example directory: C:\D7Components\GifImage
   Place the GIFImage.pas unit in this directory.
2. Start Delphi 7 and select the menu items Component, Install Component...
3. Select the "Into new package" tab.
4. In the "Unit file name" box enter the path "C:\D7Components\GifImage\GIFImage.pas".
5. In the "Package file name" box enter a suitable name for the package such as "C:\D7Components\GifImage\GIFImageD7.dpk".
   (The package name must be different from "GIFImage.dpk")
6. In the "Package description" box enter a description such as "GifImage Design Time Package".
7. Click OK.
8. You will be asked to confirm that the package is built and then installed.
9. Click Yes.
   Or
   Click No, close the editor window, click the option button, select the "Designtime only" radiobutton, click OK, Click Compile and OK, Click Install and OK.
10. Click OK to the message that the package has been installed.
11. Select File, Close All. Click Yes to save changes to the package.
12. Go in to Tools, Environments Options, Library tab.
    Confirm that the directory "C:\D7Components\GifImage" has been added to the "Library path".
    If it isn't there, add the directory manually.
13. That's all.

Note that since TGIFImage is not a component, it will not show in the component palette.

If you later want to remove the design time package:
1. Select Component, Install Pakcages...
2. Scroll down and select the "GifImage Design Time Package".
3. Click Remove and OK.
4. Remove the directory path from Tools, Environments Options, Library tab, "Library path" box.
5. Click OK.

a pak uz staci kousek code:

Simply add the GifImage unit to one the uses clauses in your program.
Then you can load GIF files into a TImage component the same way you load BMP files.

uses
  GifImage;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Image.Picture.LoadFromFile('C:\SomeDir\SomeFile.gif');
end;

a je to, funguje perfektne, ..  ve Photoshopu se musi Gif ukladat pres Ulozit pro web, jinak se mi zobrazovala tak nejak divne.

Delphi › TGifImage, jak nainstalovat
3. 9. 2012   #162701

zdravim, ..

 stahl jsem si komponentu TGifImage  pro Delphi a mam tri soubory  .pas  , .cnt  , .hlp

Protoze jsem to nikdy nedelal, chci se zeptat, jak ji mam ted dostat do Delphi ??

Kdyz jsem zkusil  Component/ Instal Component, tak to po me chce balik .dpk ...  ale ten ja nemam.

poradite prosim ??

Delphi › BorderStyle.bsNone a maximal…
3. 9. 2012   #162673

#7 liborb
jasny, ..  super, diky moc, ted uz si s tim pohraju ... , beru za vyresene ..

Delphi › BorderStyle.bsNone a maximal…
3. 9. 2012   #162656

ale cesta je to urcite spravna
uz mi jdou vkladat, tak tady jsou.

Delphi › BorderStyle.bsNone a maximal…
3. 9. 2012   #162654

#4 liborb
Cau,

myslim, ze jsi to pochopil spravne, tahle varianta me vubec nenapadla, jsem to ale hlupak, no jeste ze se mam kde zeptat a existuji lidi jako jsi ty ..

Tohle by uz bylo v pohode, ale jeste bych potreboval aby se mi i to Memo roztahlo na vysku a mozna i ten obrazek by se mohl zvetsit umerne vsemu a to uz nevim,jak udelat, protoze kdyz to po zvetseni v code posunu jen o nejaky pixely, tak se mi to pri ruznych velikostech monitoru bude spatne prekreslovat jestli me chapes ..

muselo by to byt treba
Memo1.Height:= ((Panel1.height) /5) ,

a posunuti toho DBGrid
DBGrid.Top:= DBGrid.Top +((Panel1.height) /5) - Memo1.MinHeight )) // do MinHeight bych zapsal velikost v normalu

a tohle bych stejne musel vypsat pro vsechny ty tlacitka a labely pod tim Memem, takze uspora sice je, ale porad to neni ono.
vytvoril jsem jen novej model, aplikaci,kde to resim delam pro sebe do firmy a jsou tam uz nasazeny loga a tak, aby nekdo nehalekal, ze reklama a podobne.

nejde mi vkladat obrazky ..?? nevim proc, tak tady jsou linky na ulozto.cz
http://ulozto.cz/xsrsuzT/1-jpg

http://ulozto.cz/x3MBDcs/2-jpg

Delphi › BorderStyle.bsNone a maximal…
2. 9. 2012   #162629

tak me jeste napadlo nasazet tam GroupBoxy,vzdycky pod nekolik component,  a posouvat jen ty ...
ale i tak se mi to moc nelibi ..

Delphi › BorderStyle.bsNone a maximal…
2. 9. 2012   #162621

no a to je jen na Panel1 ...  tohle bych musel udelat pro vsechny panely. Tlacitko na maximalizaci je sice jenom jedno a je videt ve vsech panelech, protoze je na 1. a ty dalsi zacinaji az pod nim, ale i tak by to bylo strasny ..

snad budete mit nekdo nejakej napad a poradite. .....   diky

Delphi › BorderStyle.bsNone a maximal…
2. 9. 2012   #162620

zdarvim vsechny,

mam takovej problem, teda spis se chci zeptat na jiny reseni. Nejdriv vsechno popisu:

Mam pruhledny formular s BorderStyle.bsNone a na nem mam 10 panelu, ktery prepinam pomoci SpeedButonu, na kazdym panelu je neco jineho, na 1. treba databazi, na 2. prohlizeni fotek, na 10. info o aplikaci a podobne.

No a ted mi nastal problem s maximalizaci.  Protoze mam formular bez okraju a jeste navic pruhlednej, jsou na nem videt jako podklad prave ty panely.
Neresil jsem to teda maximalizaci formulare, coz by mi asi nepomohlo,ale tim, ze jsem vsechny panely na stisk tlacitka zvetsil a komponenty na nem posunul ...  (teda jen nektery, hlavne ty co neco zobrazuji / memo,DBGrid a tlacitka mezi nima/)

je z toho ale strasnej paskvil, code vlozim pod text, navic nemam vyresenou velikost monitoru,ale pocitam, ze na 15" uz nikdo nedela a na 17" by se to melo vejit i zvetseny.

Tady je ten code:  snesu vysmech,ale jestli znate nekdo nejaky rozumnejsi reseni,tak prosim poradte,tohle je hodne amaterska prace.

na zmenu tech panelu jsem pouzil tuhle proceduru:

procedure TForm1.SetProperties(ClassName, Prop: string; Value: Integer);
var
  i: integer;
  PropInfo: PPropInfo;
  Component: TComponent;
begin
  for i := 0 to ComponentCount - 1 do
  begin
    Component := Components[i];
    if (Component is TPanel)   then
    begin
      PropInfo := GetPropInfo(Component.ClassInfo, Prop);
      if Assigned(PropInfo) then SetOrdProp(Component, PropInfo, Integer(Value));
    end;
  end;
end;

a tady je ten hroznej code na zvetseni/zmenseni.

procedure TForm1.LabelMaxiClick(Sender: TObject);
var w,x,y,z: integer;
begin
  x:= 90;
  y:= 110;
  z:= 200;
   If c = 0 then begin
  Form1.ClientWidth:= Form1.Width +(z*2);
  Form1.ClientHeight:= Form1.Height +z;
  Form1.Position:= poScreenCenter;
  SetProperties('Tpanel','Width',Width +(z*2));
  SetProperties('Tpanel','Height',Height +z);
  with Panel do begin // tenhle panel vracim na puvodni hodnoty, ten nechci menit 
  Width:= 193;
  Height:= 97;
  end;
// ----------------------------------------------- komponenty panel 1
   Bevel5.Height:= Bevel5.Height +x;
   DBMemo1.Height:= DBMemo1.Height +x;
   Bevel6.Top:= Bevel6.Top +x;
   BtNova.Top:= BtNova.Top +x;
   BtSmazat.Top:= BtSmazat.Top +x;
   BtUpravit.Top:= BtUpravit.Top +x;
   BtTisk.Top:= BtTisk.Top +x;
   BtRefresh.Top:= BtRefresh.Top +x;
   Bevel7.Top:= Bevel7.Top +x;
   BtKonec.Top:= BtKonec.Top +x;
   Label1.Top:= LKurzEuro.Top +x;
   Label2.Top:= LKurzEura.Top +x;
   Bevel8.Top:= Bevel8.Top +x;
   Bevel8.Height:= Bevel8.Height +y;
   Bevel8.Width:= Bevel8.Width +(z*2);
   DBGrid1.Top:= DBGrid1.Top +x;
   DBGrid1.Height:= DBGrid1.Height +y;
   DBGrid1.Width:= DBGrid1.Width +(z*2);
// ---------------------------------------------------- konec panel 1
  c:= 1;
end
else
begin
  SetProperties('Tpanel','Width',Width -(z*2));
  SetProperties('Tpanel','Height',Height -z);
  Form1.ClientWidth:= Form1.Width -(z*2);
  Form1.ClientHeight:= Form1.Height -z;
  Form1.Position:= poScreenCenter;
  with Panel do begin  // tenhle panel vracim na puvodni hodnoty, ten nechci menit 
  Width:= 193;
  Height:= 97;
  end;
// ----------------------------------------------- komponenty panel 1
   Bevel5.Height:= Bevel5.Height -x;
   DBMemo1.Height:= DBMemo1.Height -x;
   Bevel6.Top:= Bevel6.Top -x;
   BtNova.Top:= BtNova.Top -x;
   BtSmazat.Top:= BtNova.Top -x;
   BtUpravit.Top:= BtUpravit.Top -x;
   BtTisk.Top:= BtTisk.Top -x;
   BtRefresh.Top:= BtRefresh.Top -x;
   Bevel7.Top:= Bevel7.Top -x;
   BtKonec.Top:= BtKonec.Top -x;
   Label1.Top:= LKurzEuro.Top -x;
   Label2.Top:= LKurzEura.Top -x;
   Bevel8.Top:= Bevel8.Top -x;
   Bevel8.Height:= Bevel8.Height -y;
   Bevel8.Width:= Bevel8.Width -(z*2);
   DBGrid1.Top:= DBGrid1.Top -x;
   DBGrid1.Height:= DBGrid1.Height -y;
   DBGrid1.Width:= DBGrid1.Width -(z*2);
// ---------------------------------------------------- konec panel 1
  c:= 0;
end;
end;
Delphi › nahled jpg obrazku, miniatur…
1. 9. 2012   #162577

jsem zapomel, ..  pomalost je prave u procesu resize, ...

Chci ten program pouzit na prohlizeni fotek a tech mam moc.

V kazdym adresari je jich treba 30 a jsou velky zhruba 3 - 5 Mb

Delphi › zmena nazvu unit
1. 9. 2012   #162571

aha, tak uz jde, .. musi se to hned ulozit

Delphi › zmena nazvu unit
1. 9. 2012   #162568

#2 KIIV
no to prave nejde, ..  kdyz prepisu hned ten prvni radek na treba : unit Uvod;, tak uz mi to nejde prelozit ..

Delphi › zmena nazvu unit
1. 9. 2012   #162566

Dobry den,

nemuzu nikde najit, jak zmenim nazev unity .
u ruznych open source codu na netu jsou ruzny jmena  unit,  kdyz zapnu Delphi, tak mam defaultni nazev unity  unit1 a nazev aplikace je Project1.

Zkousel jsem to zmenit v Project/Options/Aplikace , ale bezuspesne.

Poradite mi prosim, jak to zmenit ,  rad bych to udelal hned na zacatku, nez zacnu psat vlastni program.

dekuji za odpoved.

Delphi › nahled jpg obrazku, miniatur…
31. 8. 2012   #162546

necekal jsem zazraky, ... :o))   ale tohle je hodne pomaly ..
urcite ted prectu neco o vlaknech,snad zjistim o co jde,trochu tusim, a uvidim ...

rozhodne to nejaky zrychleni chce ...

a samozrejme dikec.

Delphi › nahled jpg obrazku, miniatur…
31. 8. 2012   #162544

tady je vysledek

Delphi › nahled jpg obrazku, miniatur…
31. 8. 2012   #162543

tak jsem to nejak sesmolil, ale je to hrozne pomaly ..
tady je code:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Jpeg, StdCtrls, ShellApi, ImgList, ComCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    ListView1: TListView;
    Label1: TLabel;
    ImageList1: TImageList;
    ImageList2: TImageList;
    Button1: TButton;
    ListView2: TListView;
    Image1: TImage;
    Image2: TImage;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function ResizeBmp(bmp1: TBitmap; wid, hei: Integer): Boolean;
var 
  TmpBmp: TBitmap;
  ARect: TRect;
begin
  Result := False;
  try
    TmpBmp := TBitmap.Create;
    try
      TmpBmp.Width  := wid;
      TmpBmp.Height := hei;
      ARect := Rect(0,0, wid, hei);
      TmpBmp.Canvas.StretchDraw(ARect, bmp1);
      bmp1.Assign(TmpBmp);
    finally
      TmpBmp.Free;
    end;
    Result := True;
  except
    Result := False;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  sPath = 'd:\Delphi\Obrazky\';
var
  bmp: TBitmap;
  jpg: TJPEGImage;
  i: integer;
  SearchRec: TSearchRec;
  ListItem,ListItem2:  TListItem;
  FileInfo:  SHFILEINFO;
begin
//  ListView1.SmallImages := ImageList1;
//  ListView1.ViewStyle  := vsReport;
//  ListView1.Columns.add.Width:= 150;
  ListView2.Columns.Add;
  Icon := TIcon.Create;
  try
//    ListView1.items.BeginUpdate;
    ListView2.Items.BeginUpdate;
    i := FindFirst(sPath + '*.jpg', faAnyFile, SearchRec);
    while i = 0 do
      begin
        application.ProcessMessages;
//        with ListView1 do
          with ListView2 do
        begin
        if ((SearchRec.Attr and FaDirectory <> FaDirectory) and (SearchRec.Attr and FaVolumeId <> FaVolumeID)) then
        begin
//          ListItem := ListView1.items.add;
          ListItem2:= ListView2.Items.Add;
          SHGetFileInfo(PChar(sPath + SearchRec.Name), 0, FileInfo, SizeOf(FileInfo), SHGFI_DISPLAYNAME);
          ListItem2.Caption:= FileInfo.szDisplayName;
//          Listitem.Caption := FileInfo.szDisplayName;
          Label1.Caption:= sPath + FileInfo.szDisplayName;

          jpg := TJpegImage.Create;
          jpg.LoadFromFile(sPath + FileInfo.szDisplayName);
          bmp := TBitmap.Create;
          bmp.Assign(jpg);
          Image1.Picture.Assign(bmp);
          ResizeBmp(bmp , 97 , 73);
          Image2.Picture.Assign(bmp);
          ImageList1.Insert(i,bmp,nil);
          ListItem2.ImageIndex:= ImageList1.AddImage(ImageList1,i);

      end;
      end;
      i := FindNext(SearchRec);
    end;
  finally
    ListView2.Items.EndUpdate;
//    ListView1.items.EndUpdate;
  end;
end;

end.

Delphi › nahled jpg obrazku, miniatur…
31. 8. 2012   #162537

mel jsem spatne zapsanou tu funkci, opravil jsem to, pouzil to tvoje prirazeni a uz to funguje ...
omlouvam se, ze jsem mystifikoval, byla to moje hloupost ..
tak ted jdu na to vykresleni miniatury do ListView2

Delphi › nahled jpg obrazku, miniatur…
31. 8. 2012   #162536

#4 liborb
tady je vypis vsech zprav pri prelozeni ..

zastavi se to na radku ResizeBmp(bmp, .....   a kurzor je prave za bmp.

Build
  [Hint] Unit1.pas(38): Value assigned to 'ResizeBmp' never used
  [Warning] Unit1.pas(79): Symbol 'faVolumeID' is specific to a platform
  [Warning] Unit1.pas(79): Symbol 'faVolumeID' is specific to a platform
  [Error] Unit1.pas(93): Too many actual parameters
  [Error] Unit1.pas(93): Too many actual parameters
  [Error] Unit1.pas(19): Unsatisfied forward or external declaration: 'TForm1.ResizeBmp'
  [Fatal Error] Project2.dpr(5): Could not compile used unit 'Unit1.pas'

tech chyb je tam vic, ale jak rikam, az to zfunkcnim, budu to jeste orezavat a upravovat ....

Delphi › nahled jpg obrazku, miniatur…
31. 8. 2012   #162512

#2 liborb
to je super, ...

zkusil jsem napsat toto: (je to jen zatim slepena vec z nekolika ruznych veci a jsou tam i komponenty,treba jako label1 a pod jen kvuli kontrole. Az to bude fungovat, tak to prepisu,nebo orezu na nutny veci)


{$R *.dfm}

function ResizeBmp(bmp: TBitmap; wid, hei: Integer): Boolean;
var 
  TmpBmp: TBitmap;
  ARect: TRect;
begin
  Result := False;
  try
    TmpBmp := TBitmap.Create;
    try
      TmpBmp.Width  := wid;
      TmpBmp.Height := hei;
      ARect := Rect(0,0, wid, hei);
      TmpBmp.Canvas.StretchDraw(ARect, bmp);
      bmp.Assign(TmpBmp);
    finally
      TmpBmp.Free;
    end;
    Result := True;
  except
    Result := False;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  sPath = 'd:\Delphi\Obrazky\';
var
  bmp: TBitmap;
  jpg: TJPEGImage;
  i: integer;
  SearchRec: TSearchRec;
  ListItem:  TListItem;
  FileInfo:  SHFILEINFO;
begin
  ListView1.SmallImages := ImageList1;
  ListView1.ViewStyle  := vsReport;
  ListView1.Columns.add.Width:= 150;
  Icon := TIcon.Create;
  try
    ListView1.items.BeginUpdate;
    i := FindFirst(sPath + '*.jpg', faAnyFile, SearchRec);
    while i = 0 do
      begin
        application.ProcessMessages;
        with ListView1 do
        begin
        if ((SearchRec.Attr and FaDirectory <> FaDirectory) and (SearchRec.Attr and FaVolumeId <> FaVolumeID)) then
        begin
          ListItem := ListView1.items.add;
          SHGetFileInfo(PChar(sPath + SearchRec.Name), 0, FileInfo, SizeOf(FileInfo), SHGFI_DISPLAYNAME);

          Listitem.Caption := FileInfo.szDisplayName;
          Label1.Caption:= sPath + FileInfo.szDisplayName;

          jpg := TJpegImage.Create;
          jpg.LoadFromFile(sPath + FileInfo.szDisplayName);
          bmp := TBitmap.Create;
          bmp.Assign(jpg);
          ResizeBmp(bmp,97,73);
        end;
      end;
      i := FindNext(SearchRec);
    end;
  finally
    ListView1.items.EndUpdate;
  end;
end;

end.

ale mam problem s tim, ze u prevodu z jpg na bmp  skoncim s promennou bmp, jenze nevim, jak ji dal pouzit.
treba...   Image1.Picture.LoadFromFile(bmp) nefunguje coz je jasny, ale jak to teda napsat ??
no ale hlavne to co potrebuji je, ze pri prekladu mi to hodi chybu pri volani funkce ResizeBmp( bmp,97,73) tady to bmp je taky spatne pouzity ..
poradis mi s tim jeste prosim ...
jinak potom uz priradim zresizovany fotky do  ImageList2 a nejak se prokousu tim, abych je zobrazil v ListView2.
ale prvne musim vyresit tohle, jinak me to dal nepusti ..

Delphi › TreeView pridani aktivniho u…
31. 8. 2012   #162449

#2 Sniper

diky, pomohlo

Delphi › TreeView pridani aktivniho u…
30. 8. 2012   #162424

zdravim,

prosim o radu,

mam funkci, ktera mi z TreeView vypise cestu k aktivnimu adresari:

function VratCestu(tn: TTreeNode): string;
begin
  Result := '';  
  while tn <> nil do
  begin
    if Result <> '' then
      Result := PathDelim + Result;
    Result := tn.Caption + Result;
    tn := tn.Parent;
  end;
end;

a ted bych potreboval do udalosti OnClick TreeView1  pridat aktivni uzel a osetrit, jestli nejaky je ,ale nemam s tim zkusenosti a nevim jak na to .. 

Delphi › TreeView bez souboru + image…
25. 8. 2012   #162131

a jsem zase v riti ...

nemuzu nikde najit zadnej rozumnej zapis  s iextractimage pro Delphi.

tohle vlakno ukoncim a pokracovani uz s presnejsim nazvem je tady.

dekuji vsem.

Delphi › nahled jpg obrazku, miniatur…
25. 8. 2012   #162130

Zdravim,
jak jsem psal v predchazejicim vlakne, zalozil jsem tohle nove pro jednak lepsi prehled a druhak kvuli presnejsimu nazvu.

Problem ovsem zustava.

Jak psal zlz:

A zkoušel jsi číst dokumentaci?

TListView.LargeImages obsahuje obrázky. Ty v něm máš načtené systémové ikony.
TListItem.ImageIndex určuje index obrázku ^^. Ty ho nastavuješ na index systémové ikony.

Jestli chceš zobrazovat náhledy, tak si místo ikon načti ty náhledy a nastav odpovídající index. Na získání náhledů zase můžeš použít funkce shellu, konkrétně to umí třeba IExtractImage interface, nebo funkce Delphi (TBitmap?).

koukal jsem se na ty stranky a ac to vypada vsechno jednoduse, tak vlastni zapis jsem do kupy nedal.

zkousel jsem hledat i kody pro Delphi,kde by bylo obsazeno IExtractImage, ale taky marne.

Mam tedy tenhle kod: 

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    DirEdit: TEdit;
    ShowBtn: TButton;
    LargeFileImages: TImageList;
    FileView: TListView;
    procedure ShowBtnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  SFI: TSHFileInfo;

implementation

{$R *.dfm}

procedure TForm1.ShowBtnClick(Sender: TObject);
var
  Found: Integer;
  SearchRec: TSearchRec;
begin
  // odstraníme všechny položky
  FileView.Items.Clear;
  // zahájíme hledání
  Found := FindFirst(DirEdit.Text + '\*.jpg', faAnyFile - faVolumeID, SearchRec);
  // opakujeme, dokud existují vyhovující soubory
  while Found = 0 do
  begin
    if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
      with FileView.Items.Add do // přidíme položku
      begin
        SHGetFileInfo(
          PChar(DirEdit.Text + '\' + SearchRec.Name), // cesta k souboru
          0,                                          // atributy - žádné
          SFI, SizeOf(SFI),                           // struktura TSHFileInfo
          // vlajky: chceme získat index velké ikony a jméno souboru
          SHGFI_SYSICONINDEX + SHGFI_LARGEICON + SHGFI_DISPLAYNAME
        );
        Caption := SFI.szDisplayName; // nastavíme název
        ImageIndex := SFI.iIcon;      // a index ikony
      end;
    Found := FindNext(SearchRec);
  end;
  // konec hledání
  FindClose(SearchRec);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  LargeFileImages.Handle := SHGetFileInfo(
    PChar(Application.ExeName), // jelikož nám jde o handle ImageListu,
    0,                          // můžeme použít libovolný soubor - třeba
    SFI, SizeOf(SFI),           // "exáč" aplikace
    SHGFI_SYSICONINDEX + SHGFI_LARGEICON
  );
end;
end.

a chtel bych Vas poprosit, pokud by jste mi pomohli ho predelat tak jak pise zlz pomoci IExtractImage tak aby se mi misto ikon zobrazovaly ty nahledy fotek.jpg.

Co smazat uz zhruba vim, ale nevim, co vepsat misto toho.
Nebo aspon odkaz na nejakej kod, kde se IExtractImage pouziva, me se nepodarilo nic najit.

Predem dekuji za trpelivost s mym nymandstvim ...

Delphi › TreeView bez souboru + image…
24. 8. 2012   #162070

zkousel jsem meni v ImageListu velikost  height a width, ale nic to nedela.

Delphi › TreeView bez souboru + image…
24. 8. 2012   #162068

Super, konecne se dostavam do finale, ...  ale jeste porad nejsem spokojenej ..

v navodu, link viz par odkazu vys, autor radi, jak v ListView vykreslit male ikony, velke ikony, podrobnosti a seznam.
pouzil jsem velke ikony ale vysledek je :

ve windows to ale s nastavenim velke ikony vypada takto:

poradite mi jeste prosim, jak toho docilit ?? 
predpokladam, ze to bude tady ...... SHGFI_SYSICONINDEX + SHGFI_LARGEICON + SHGFI_DISPLAYNAME ,
ale neznam vsechny parametry a hlavne ten co potrebuju.

Delphi › TreeView bez souboru + image…
24. 8. 2012   #162066

#12 liborb
No samozrejme, ze nemam, ...  jsem ale hnup. ...   dikec

Delphi › TreeView bez souboru + image…
24. 8. 2012   #162064

#10 Sniper
Aha, uz je mi to jasnejsi, ale stejne,kdyz mam tenhle kod:

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    ShowBtn: TButton;
    DirEdit: TEdit;
    FileView: TListView;
    LargeFileImages: TImageList;
    procedure FormCreate(Sender: TObject);
    procedure ShowBtnClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  SFI: TSHFileInfo;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  LargeFileImages.Handle := SHGetFileInfo
    PChar(Application.ExeName), // jelikož nám jde o handle ImageListu,
    0,                          // můžeme použít libovolný soubor - třeba
    SFI, SizeOf(SFI),           // "exáč" aplikace
    SHGFI_SYSICONINDEX + SHGFI_LARGEICON
  );
end;

procedure TForm1.ShowBtnClick(Sender: TObject);
var
  Found: Integer;
  SearchRec: TSearchRec;
begin
  // odstraníme všechny položky
  FileView.Items.Clear;
  // zahájíme hledání
  Found := FindFirst(DirEdit.Text + '\*.*', faAnyFile - faVolumeID, SearchRec);
  // opakujeme, dokud existují vyhovující soubory
  while Found = 0 do
  begin
    if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
      with FileView.Items.Add do // přidíme položku
      begin
        SHGetFileInfo
          PChar(DirEdit.Text + '\' + SearchRec.Name), // cesta k souboru
          0,                                          // atributy - žádné
          SFI, SizeOf(SFI),                           // struktura TSHFileInfo
          // vlajky: chceme získat index velké ikony a jméno souboru
          SHGFI_SYSICONINDEX + SHGFI_LARGEICON + SHGFI_DISPLAYNAME
        );
        Caption := SFI.szDisplayName; // nastavíme název
        ImageIndex := SFI.iIcon;      // a index ikony
      end;
    Found := FindNext(SearchRec);
  end;
  // konec hledání
  FindClose(SearchRec);
end;

end.

tak mi to pise, ze PChar v procedure OnCreate ...  Not enough actual parameters. 

WinAPI v Uses mi to nebere vubec ..  mam Delphi7 a Win7 

Delphi › Pridani polozky do ComboBox
24. 8. 2012   #162063

#16 Sniper

Jasne, uz jsem z toho celej zmatenej, ze jsem uplne zapomel resit veci tou nejjednodussi cestou.
Diky, ze jsi me nakop zpatky do logickyho mysleni :o))

Dekuji vsem za prispevky a za pomoc v tomhle vlaknu, pluska jsem rozdal a vlakno tim povazuji za vyresene.

Delphi › TreeView bez souboru + image…
23. 8. 2012   #162011

tak uz jsem to asi zjistil, patri to do sekce Impementation ...

Delphi › TreeView bez souboru + image…
23. 8. 2012   #162007

Tak v tom porad tapu, ale nasel jsem navod na vytvoreni Exploreru a z toho bych to uz asi dal ,jenze autor pouziva tuto funkci:

function SHGetFileInfo(pszPath: PAnsiChar; dwFileAttributes: DWORD;
  var psfi: TSHFileInfo; cbFileInfo, uFlags: UINT): DWORD; stdcall;

ale bohuzel pro nas LAMY jiz neuvadi, kam tu funkci zapsat a ukazka na konci stranky jiz nejde stahnout.
vzhledem k tomu, ze u ni neni zadny begin a end, myslel jsem,ze musi byt jeste nekde  pred {$R *.dfm} ...

zkousel jsem snad vsude, ....  neuspesne.

tady je odkaz na clanek

do Uses jsem ShellAPI pridal

Delphi › Pridani polozky do ComboBox
23. 8. 2012   #162006

no mozna to vypada zmatene, ale prave z ComboBoxu se mi ukladaji konstanty do tabulky, mam na formulari i Edity,kde je jedno, co se zapise, ale z Comboboxu potrebuju vybirat jen z nabizenych moznosti. Nejsem schopnej ted presne vypsat vsechny moznosti a proto je potrebuju pridavat za behu programu.

Takze stane se mi, ze musim pridat nejakou novou konstantu do ComboBoxu a hned s ni pracovat (ulozit do tabulky), proto potrebuju,aby se mi v tom ComboBoxu zobrazila hned jeste pred vypnutim programu.

Delphi › Pridani polozky do ComboBox
22. 8. 2012   #161941

#12 Sniper
Dikec,  tohle je ono ...  uz mi to funguje ...

uzavrel bych tohle vlakno, ale mam jeste drobnost ....

Edit s tlacitkem, ktery mi pridava dalsi zaznam do .Ini souboru mam v okne, ktery oteviram modalne, ale ikdyz dam do OnClose toho modalniho okna aby se nacetly Items ComboBoxu z .Ini souboru, tak se po zavreni v ComboBoxu novej udaj stejne neukaze, az kdyz okno zavru a zase otevru ...

Jinymi slovy mam form1, tlacitkem otevru Modal Form2,na kterym jsou komboboxy a dalsim tlacitkem se otevre Modal Form3, ve kterym pridavam novou hodnotu do ComboBoxu.
nacitani hodnot z .Ini souboru mam v udalosti OnCreate Form2 a OnClose Form3
ukladani mam v OnClose Form 3 pred nacitanim  ( radek vys)

tak nevim kde je chyba 

Delphi › Pridani polozky do ComboBox
21. 8. 2012   #161853

#4 TheOndrap
prihlas se, plusik ti dam ...

Delphi › Pridani polozky do ComboBox
21. 8. 2012   #161852

Bude asi lepsi to ulozit do .txt , ale nastava mi tady dalsi problem ...

Mam totiz ty ComboBoxy 4 a chtel bych,aby se jejich hodnoty ukladaly do jednoho souboru, treba po odstavcich,ktery by zacinaly nazvem ComboBoxu. Pocet polozek se bude samozrejme menit.
Nejak takhle:

ComboBox1
1.polozka
2.polozka
3.polozka

ComboBox2
1.polozka
2.polozka
3.polozka
4.polozka

ComboBox3
1.polozka
2.polozka

ComboBox4
1.polozka
2.polozka
3.polozka

bohuzel jediny co zatim dokazu je ulozit kazdej ComboBox do svyho souboru a to me neprijde moc dobry. respective to ulozeni bych asi zvladl pomoci Append, ale to nacteni fakt nevim ...

Pokud to vubec jde, poradi mi prosim nekdo ??

Delphi › Pridani polozky do ComboBox
21. 8. 2012   #161850

#2 TheOndrap

ok. diky, myslel jsem, ze se obejdu bez pridruzenyho textaku, ...  tak bohuzel ..

Vlastne mozna by to slo ulozit do  resources, ale to nevim, jestli jde za behu programu a budu si o tom muset neco precist.

kazdopadne dekuju za radu.

Delphi › Pridani polozky do ComboBox
21. 8. 2012   #161845

Zdravim, ...

Zase takova hloupost, ale hledam to na netu a vsude to same.

Chtel bych za behu programu pridavat polozky do ComboBox, pouzil jsem k tomu Edit a Button.

ComboBox.Items.Add(Edit.Text);

jenze problem je v tom, ze to sice krasne funguje, ale kdyz program vypnu a zase spustim, tak jakoby se zmeny neulozily.

zkousel jsem i ...  ComboBox.Items.Insert(0,Edit.Text)   ....  ale je to to same ...

poradite prosim, ..  diky

Delphi › TreeView bez souboru + image…
21. 8. 2012   #161843

diky, zatim v tom jeste tapu,ale nasel jsem nejaky odkazy,kde jsou uvedeny kody,tak to z toho zkusim nejak vycist.

az to budu mit v kupe,tak to sem pripnu.

Delphi › TreeView bez souboru + image…
15. 8. 2012   #161603

#4 liborb

Dikec, uz se trochu orientuju, ale porad mam problem s tim, jak naplnim ten ListView obrazkama.

Vysvetlim:
dejme tomu, ze v TreeView kliknu na adresar D:\fotky\narozeniny\  , kde je treba 20 fotek v .jpg,ktery bych chtel,aby se zobrazily v miniaturach v ListView. mely by tam byt vlastne miniatury a pod nima nazev fotky,ale bez toho nazvu se obejdu.

Uz jsem prosel spoustu clanku,ale nenasel jsem nic pro Delphi,co by se tomuhle problemu venovalo. Moje Anglictina neni moc silna,takze jsem hledal spis v ceskych odkazech.

prosim pokud nekdo vite, poradte ..  dekuji

Delphi › TreeView bez souboru + image…
14. 8. 2012   #161571

super, .. IncludeFiles vyreseny, diky,...

Jsem zrejme strasna lama, ale uz do toho cumim dlouho a porad se mi nedari propojit ten TreeView s ListView ....
nemuzu to najit ani nikde na netu, je to zrejme tak jednoduchy,ze o tom nikde nepisou ....

V prvni rade je potreba zjistit z TreeView cestu/path k oznacenymu/vybranymu adresari ...
TreeView1.Selected.Text  mi vypise jen jmeno adresare ...

ale hlavne mi nejak nejde nacist ty miniatury do ListView1   ...  nekde jsem cetl,ze bych mel pouzit ImageList, kterej naplnim souborama  .jpg z vybranyho adresare a ten propojit s ListView1.SmallImages.ImageList1

myslel jsem ze treba ImageList1.AddImage (cesta); ...  to je ale blbost

Mam Win7 a bohuzel nemam v Delphi napovedu (F1), ..  takze musim vsechno hledat na netu a vetsinou je to ve slozitejsich kodech, ktery neumim moc dobre rozlustit. Zkousim je zkopirovat a upravovat,ale spoustu parametru neznam a tak mi to moc nejde.

Pokud by nekdo vedel,kde stahnout napovedu pro Win7, a nahodi link, tak mu budu moc vdecny,  urcite bych spoustu veci vyresil sam a nemusel bych tady otravovat s prkotinama.

jinak prosim o radu jak provest to nacteni pouze .jpg souboru z vybranyho adresare do ListView.

dekuji

Delphi › panel a bsSizeable
13. 8. 2012   #161516

#7 liborb
jj, to pomohlo, ..  opet diky moc.

Delphi › TreeView bez souboru + image…
12. 8. 2012   #161434

Zdravim, ..

Mam takovej problem, chtel jsem do TreeView nacist adresare z disku,ale chtel bych ,aby se rozbalovaly jen adresare a nezobrazovali se uz soubory v nich.
Nasel jsem tenhle kod, ale ten je i se souborama, muze mi prosim nekdo pomoci ho upravit k memu ucelu, nejak si s tim nevim rady.  dekuji,  jeste bych Vas poprosil, aby tam byly i  ikonky slozek.

procedure TForm1.GetDirectories(Tree: TTreeView; Directory: string; Item: TTreeNode; IncludeFiles: Boolean);
var
  SearchRec: TSearchRec;
  ItemTemp: TTreeNode;
begin
  Tree.Items.BeginUpdate;
  if Directory[Length(Directory)] <> '\' then Directory := Directory + '\';
  if FindFirst(Directory + '*.*', faDirectory, SearchRec) = 0 then
  begin
    repeat
      if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <> '.') then
      begin
        if (SearchRec.Attr and faDirectory > 0) then
          Item := Tree.Items.AddChild(Item, SearchRec.Name);
        ItemTemp := Item.Parent;
        GetDirectories(Tree, Directory + SearchRec.Name, Item, IncludeFiles);
        Item := ItemTemp;
      end
      else if IncludeFiles then
        if SearchRec.Name[1] <> '.' then
          Tree.Items.AddChild(Item, SearchRec.Name);
    until FindNext(SearchRec) <> 0;
    FindClose(SearchRec);
  end;
  Tree.Items.EndUpdate;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Node: TTreeNode;
  Path: string;
  Dir: string;
begin
  Dir := 'c:\';
  Screen.Cursor := crHourGlass;
  TreeView1.Items.BeginUpdate;
  try
    TreeView1.Items.Clear;
    GetDirectories(TreeView1, Dir, nil, True);
  finally
    Screen.Cursor := crDefault;
    TreeView1.Items.EndUpdate;
  end;
end;

no a jeste bych vas chtel poprosit, jak mam udelat,aby,kdyz kliknu v tom TreeView na nejakej adresar, tak aby se vsechny .jpg  soubory zobrazily v, a ted prave nevim, jakou komponentu pouzit, melo by to byt neco, kam se nactou vsechny .jpg soubory z vybranyho adresare a zobrazi se jako miniatury.
Poklepanim na miniaturu by se potom .jpg zobrazil ve skutecne velikosti.

dekuji za odpoved.

Delphi › panel a bsSizeable
12. 8. 2012   #161423

#5 liborb

Super, tohle funguje naprosto v pohode, ..  dikec,

Mam jeste jeden banalitni problem ...
upravil jsem proceduru Panel1MouseMove, aby se mi zaroven se zmenou velikosti panelu roztahl i DBGrid:

procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin

DBGrid1.Height:= Panel1.Height -303;
DBGrid1.Width:= Panel1.Width -16;
SetCursor(Screen.Cursors[
 RectCornerToSizeCursor(
 GetRectCorner(Panel1.BoundsRect,
 ScreenToClient(Panel1.ClientToScreen(Point(X,Y)))) ,
 Cursor)]);
if (Panel1.width < 617) or (Panel1.Height < 441) then
begin
  Panel1.Width:= 617;
  Panel1.Height:=441;
 
  end;
end;

coz je v pohode, ..   trochu mi teda vadi, ze se da panel zmensit vic, nez je jeho defaultni velikost a to ikdyz jsem to zapsal takhle:

procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 if (Panel1.width >= 617) or (Panel1.Height >= 441) then
 begin
DBGrid1.Height:= Panel1.Height -303;
DBGrid1.Width:= Panel1.Width -16;
SetCursor(Screen.Cursors[
 RectCornerToSizeCursor(
 GetRectCorner(Panel1.BoundsRect,
 ScreenToClient(Panel1.ClientToScreen(Point(X,Y)))) ,
 Cursor)]);
 end
 else
 begin
  Panel1.Width:= 617;
  Panel1.Height:=441;
  end;
end;

ale i s tim bych se vyrovnal, pokud by nekdo vedel, tak bych to samozrejme upravil, ale co mi vadi vic je to, ze kdyz roztahnu panel v pravo dole, a zmensim ho tak, ze pravy dolni roh zustane na DBGridu, tak se mi panel pod nim nevykresli a zustane takhle:

 vykresli se az kdyz najedu mysi na viditelnou cast panelu. Zkousel jsem i na konci procedury zapsat  Panel1.Visible:=false; a hned pod to s Visible:=true; , nebo Panel1.Focused; , ale bohuzel je to porad stejny.
Potreboval bych neco jako Panel1.Active ....  nebo tak neco ..

OS - GNU / Linux › Vhodna verze linuxu pro firmu
12. 8. 2012   #161419

#2 liborb

Cau liborb, koukam, ze jsi vsude a to je dobre, uz nekolikrat jsi mi pomohl a ja si vazim tvoji praci na tomhle serveru.

Koukal jsem po verzich tech grafickych programu pro Linux a vsechno, krome Rhinocerosu je v pohode.
Rhino bohuzel nema linuxovou verzi,ale docetl jsem se, ze si kdosi emuloval ve WINE ACad a funguje mu uplne v pohode, tak by se mozna dalo zemulovat i to Rhino.

Porad ale nevim, ktera ta distribuce by byla nejvhodnejsi, nebo jestli maji vsechny distribuce dostatecny graficky jadro pro tyhle programy ...  o hry mi nejde, takze mozna je uplne jedno, kterou si vyberu ...

Windowsy uz nechci,  v minule firme,kdyz jsem upgradoval PC (ZD,RAM,CPU) tak me nechteli  OEM verzi preves na novy PC a az bych rekl s vysmechem mi rekli,ze si musim poridit novou licenci.  / licence OEM verze je vazana na ZD/ , takze pryc od nich.

OS - GNU / Linux › Vhodna verze linuxu pro firmu
11. 8. 2012   #161361

Zdravim,

Muj dotaz je ponekud komercniho charakteru, ale nevim, kde jinde bych se mel zeptat, tak snad prominete.

zalozil jsem novou firmu,kde pouzivam 4 pocitace, vzhledem k tomu, ze Microsoft mi nabizi nejlevnejsi operacni system za zhruba á ..4000,-  coz se mi zda byt nepochopitelne moc a vzhledem k tomu, ze jsem s nimi resil jiz drive nekolik problemu a jejich chovani je neskryvane odporny v zajmu jejich "monopolu",tak jsem se rozhodl,ze zkusim linux.

tech distribuci je ale strasne moc a tak jsem Vas chtel poprosit o radu, ktera by pro moje ucely byla nejvhodnejsi.

Ve firme pouzivam internet,sit,graficky programy .. Corel, Rhinoceros,Photoshop a pak uz jen neco malo aplikaci na ucetnictvi,spravu skladu a podobne.

jeste bych chtel, aby ,kvuli mensi pocitacove gramotnosti nekterych mych kolegu, bylo uzivatelske prostredi podobne Widows.

Zkousel jsem PCLinuxOS, ale prijde mi to nejaky pomalejsi a nevim, jestli na tom rozjedu i vsechny ty graficky programy.

Poradite mi  prosim nekdo ???      za odpovedi dekuji.

Delphi › panel a bsSizeable
5. 8. 2012   #161089

tak jsem si s tim lamal hlavu dalsich nekolik hodin,ale diky svymu neumu jsem to na jiz vytvorenej panel nedokazal prevest.

ale nasel jsem jinej kod primo na to, co potrebuji,ovsem je tady zapis funkce GetRectCorner, kterou mi D7 nechce prelozit a se kterou si nevim rady. pomuze mi prosim nekdo ??

konkretneji radek  ...  if x if y else  , znam zapis if x <>= neco then neco a potom az else, ..  to mi dava logiku,ale tenhle zapis vidim poprve a nevim co s nim. prosim poradte.

type
TRectCorner = (rcClient,rcTopLeft,rcTop,rcTopRight,rcLeft,rcRight,
rcBottomLeft,rcBottom,rcBottomRight);

function GetRectCorner(BoundsRect: TRect; P: TPoint): TRectCorner;
const
BorderSize = 4;
CornerSize = 16;
begin
with BoundsRect,P do
if y if x else if x>Right-CornerSize then Result:=rcTopRight
else Result:=rcTop
else if y>Bottom-BorderSize then
if x else if x>Right-CornerSize then Result:=rcBottomRight
else Result:=rcBottom
else if x if y else if y>Bottom-CornerSize then Result:=rcBottomLeft
else Result:=rcLeft
else if x>Right-BorderSize then
if y else if y>Bottom-CornerSize then Result:=rcBottomRight
else Result:=rcRight
else
Result:=rcClient;
end;

function RectCornerToSizeCursor(Corner: TRectCorner; Default: TCursor): TCursor;
begin
case Corner of
rcLeft,rcRight: Result:=crSizeWE;
rcTop,rcBottom: Result:=crSizeNS;
rcTopLeft,rcBottomRight: Result:=crSizeNWSE;
rcTopRight,rcBottomLeft: Result:=crSizeNESW;
else
Result:=Default;
end;
end;

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_SIZELEFT = 1;
SC_SIZERIGHT = 2;
SC_SIZETOP = 3;
SC_SIZEBOTTOM = 6;
var
Corner: TRectCorner;
MsgCode: Integer;
begin
Corner:=GetRectCorner(Panel1.BoundsRect,
ScreenToClient(Panel1.ClientToScreen(Point(X,Y)))) ;
if Corner<>rcClient then
begin
SetCursor(Screen.Cursors[
RectCornerToSizeCursor(
GetRectCorner(Panel1.BoundsRect,
ScreenToClient(Panel1.ClientToScreen(Point(X,Y)))) ,
Cursor)]);
MsgCode:=SC_SIZE;
if Corner in [rcTopLeft,rcLeft,rcBottomLeft] then
Inc(MsgCode,SC_SIZELEFT)
else if Corner in [rcTopRight,rcRight,rcBottomRight] then
Inc(MsgCode,SC_SIZERIGHT);
if Corner in [rcTopLeft,rcTop,rcTopRight] then
Inc(MsgCode,SC_SIZETOP)
else if Corner in [rcBottomLeft,rcBottom,rcBottomRight] then
Inc(MsgCode,SC_SIZEBOTTOM);
ReleaseCapture;
SendMessage(Panel1.Handle,WM_SYSCOMMAND,MsgCode,0) ;
end;
end;

procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
SetCursor(Screen.Cursors[
RectCornerToSizeCursor(
GetRectCorner(Panel1.BoundsRect,
ScreenToClient(Panel1.ClientToScreen(Point(X,Y)))) ,
Cursor)]);
end;

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý