[ LP4ever @ 19.04.2005. 19:13 ] @
Ovako: Kako da napravim da kad otvorim neku sliku da mi se otvori u mom pregledniku slika. zasad sam uspio napraviti preglednik ali kad otvorim sliku (Open With...) otvori mi program ali slika nije učitana.

Kako da pokrećem neke formate slika koji i nisu toliko zastupljeni. Zasad mogu BMP, JPG, ICO, CUR i to je to....


Hvala.
[ _v!rus_ @ 20.04.2005. 02:15 ] @
Pa da li ti aplikacija prilikom pokretanja proverava ParamStr, posto OpenWith funkcionise tako sto tvom programu prosledi naziv fajla prilikom pokretanja kao parametar?
[ bancika @ 20.04.2005. 12:46 ] @
sto se tice formata odi na torry.net i u VCL ces naci jos za par formata komponente (GIF, mozda PNG i slicno)
[ maximus_1 @ 20.04.2005. 13:04 ] @
Citat:
_v!rus_: Pa da li ti aplikacija prilikom pokretanja proverava ParamStr, posto OpenWith funkcionise tako sto tvom programu prosledi naziv fajla prilikom pokretanja kao parametar?




Ne kako se koristi ta naredba ParamStr da bi dobio tu funkcionalnost.

By the way Mario ti je super. Svaka Čast!
[ Nemanja Avramović @ 20.04.2005. 15:22 ] @
paramstr vraca string...
paramcount vraca broj parametara

paramstr(0) ti vraca punu putanju do tvoje aplikacije (isto kao application.exename)
paramstr(1) ti vraca prvi parametar (najcesce putanju do fajla)

dakle:
c:\putanja\do\mojprogram.exe c:\slike\slika.jpg

paramstr(0) ce vratiti: c:\putanja\do\mojprogram.exe
a paramstr(1) bi bilo: c:\slike\slika.jpg

sad se igraj... samo if paramstr(1) <> '' then //radi sta ti je volja ;)
[ maximus_1 @ 20.04.2005. 21:10 ] @
Ok , a gdje da stavim kod -> Na Form Create ili Paint ili Prije...
[ _v!rus_ @ 21.04.2005. 00:18 ] @
Code:

procedure Form1.OnShow
begin
  if Trim(ParamStr(1)) <> '' then
    if FileExists(Trim(ParamStr(1))) then
      Image1.Picture.LoadFromFile(Trim(ParamStr(1)));
...

[ maximus_1 @ 26.04.2005. 18:38 ] @
Ok, Hvala puno na ParmStr.

Sada me zanima koko dobiti ime slike koju učitam pomoću OpenDialoga. Naime, ja dobijem FileName ali u obliku C:\Nesto\Nesto... a mene zanima kako da dobijem ime datotekle jkoju sam učitao nap Slika.Jpg??
[ _v!rus_ @ 26.04.2005. 20:29 ] @
ExtractFileName(DlgOpen.FileName);
[ maximus_1 @ 27.04.2005. 12:35 ] @
Hvala i na tome.
[ maximus_1 @ 27.04.2005. 14:26 ] @
Kako ću napraviti dugme da ako učitam sliku iz neke mape imam mogućnost pomoću tog dugmeta učitat sliku koja se u mapi nalazi do nje ili prije nje?
[ Srki_82 @ 27.04.2005. 14:53 ] @
Sta tacno smatras pod "mapa"?
[ bancika @ 27.04.2005. 15:36 ] @
mapa je folder valjda :)
a sto se tice toga, mozes recimo da napravis TStringList listu fajlova u direktorijumu (sa FindFirst ces da iteriras kroz fajlove i dodaj u listu samo one tipove koje tvoj program prepoznaje). kad napravis listu sortiraj je po kom hoces kriterijumu (recimo samo po imenu alfabetski) i onda koristi jednu integer promenljivu koja ce da ti pokazuje na trenutno otvorenu sliku. kad kliknes recimo na dugme za prethodnu sliku samo smanjis tu promenljivu (pazi ako je 0) i ucitas fajl cije je ime dato da novoj trenutnoj poziciji
[ _v!rus_ @ 28.04.2005. 02:31 ] @
Hmmm....
Novi ACDSee na pomolu...
;)
[ maximus_1 @ 02.05.2005. 19:34 ] @
Hmm... Zapravo Irfan View.

Šalim se . Riješio sam sve probleme osi jednog. Uspio sam natjerati da se učita GIF slika i to pokretna ali kad hoću ugasiti program on neće da se ugasi neko se samo prividno zatvori program no ipak ostane u memoriji.

Koristio sam naredbu:

Code:
Include(GifImageDefaultDrawOptions, goDirectDraw);


i to jeto ali sa naredbom Exclude ne uspijem ništa...

Ako netko zna bio bih mu zahvalan!
[ johnnie @ 03.05.2005. 12:27 ] @
Pa PROBAJ klasiku:
Code:
procedure TForm(NEKA FORMA).FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
form(NEKA FORMA):=nil;
end;

I isto tako gledaj da tu formu kreiras i runtime, a ne da je aplikacija kreira na pocetku, zbog zauzeca memorije.Dakle, na pocetku u project-u izbrisi
Code:
Application.CreateForm(TForm(neka forma), Form(neka forma));

i prilikom prikazivanja forma, na primer na button on click event
Code:

if not assigned(form(neka forma)) then form(neka forma):=tform(neka forma).Create(application);

Tako ces spreciti memory leak, uglavnom...
Normalno, gore u kodu "Neka forma" zamenis sa brojem forme, of course...
[ maximus_1 @ 08.05.2005. 16:47 ] @
Ok riješio sam to. Zapravo je stvar bila u kombinaciji XP MAnifesta i DoubleBuffered naredbe. Kad god koristim DoubleBuffered kontrolu i pritom uptrijebim XP Manifest uvijek imam problema sa TooBarom i većinom ostalih komponenata pa radim improvizacije a to mi se ne sviđa. Zato sam odlučio izbaciti XP Manifest i sve je OK ali sad nemam izgled kao u XP-u. Kako da riješim taj problem?
[ Nemanja Avramović @ 08.05.2005. 18:02 ] @
Koji problem? :)
[ maximus_1 @ 10.05.2005. 17:36 ] @
Problem -> ne mogu koristiti ToolBare i neke druge kontrole ako u programu koristim XP Manifest i ako postavim DoubleBuffered := True. Tada mi Toolbar samo zacrni i to je to...

Pitanje-> kako da napravim da Toolbar radi iako sam postavio XP Manifest I DoubleBuffered?
[ Nemanja Avramović @ 10.05.2005. 19:24 ] @
to je bilo ironicno :)

sta ce ti XP manifest? mislim, malo lepse izgleda forma ali ... ne znam
potrazi neke XP style komponente, mozda ti rese problem