Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Postavljanje slike u Delphi-ju

[es] :: Pascal / Delphi / Kylix :: Postavljanje slike u Delphi-ju

[ Pregleda: 4676 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Marko1991
N.Beograd

Član broj: 203898
Poruke: 63
*.beogrid.net.



Profil

icon Postavljanje slike u Delphi-ju14.01.2010. u 22:03 - pre 173 meseci
Da li neko moze da mi objasni kako da se pri pokretanju programa na formi postavi slika(kao pozadnina na desktopu).
Unapred hvala
 
Odgovor na temu

rambo
Dejan Petković
Beograd

Član broj: 6095
Poruke: 190
*.dynamic.sbb.rs.



+6 Profil

icon Re: Postavljanje slike u Delphi-ju15.01.2010. u 11:36 - pre 173 meseci
Za to je najjednostavnije da koristiš TImage komponentu, koju trebaš da postaviš ispod svih drugih komponenti na toj formi. U tu komponentu možeš da učitaš sliku dok praviš program (design-time) ili kada se program pokrene (run-time). TImage standardno podržava nekoliko formata: BMP, JPG i od novijih verzija Delphi-ja PNG.

Druga varijanta je da direktno iz koda "iscrtaš" sliku na Canvas forme.

Treća varijanta je da umesto TImage koristiš neku specijalizovanu komponentu. Preporučujem da za ovo pogledaš JVCL (http://jvcl.delphi-jedi.org/ je glavni sajt a http://sourceforge.net/projects/jvcl/ je project sajt sa koga skidaš komponente).
"There is a theory which states that if ever anybody discovers exactly what the
Universe is for and why it is here, it will instantly disappear and be replaced by
something even more bizarre and inexplicable. There is another theory which states
that this has already happened."
-- Douglas Adams
 
Odgovor na temu

Marko1991
N.Beograd

Član broj: 203898
Poruke: 63
109.93.186.*



Profil

icon Re: Postavljanje slike u Delphi-ju16.01.2010. u 15:40 - pre 173 meseci
Hvala,ali ne razumem sta da pogledam na tim sajtovima?Skinuo sam"JVCL is a library of over 600 Delphi components developed by "Project JEDI" members"al ne znam ni tu sta da pogledam.Predomislio sam se oko projekta koji radim,imam 2 dugmeta,kad pritisnem jedno na formi se pojavi slika,kad kliknem na drugo dugme ta slika se brise i pojavljuje se nova. El moze neko predavanje kako ovo da uradim ili kako i gde da trazim kod(posto nemam toliko znanje da bih sam pisao).
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Postavljanje slike u Delphi-ju16.01.2010. u 20:00 - pre 173 meseci
> imam 2 dugmeta,kad pritisnem jedno na formi se pojavi slika,kad kliknem na drugo dugme ta slika se brise i pojavljuje se nova. El moze
> neko predavanje kako ovo da uradim ili kako i gde da trazim kod(posto nemam toliko znanje da bih sam pisao).

Dodaj OnClick handler (dvaput kliklni na button) za prvo dugme i upiši:
Image1.Picture.LoadFromFile('C:\PrvaSlika.bmp');

Isto tako uradi za drugo dugme i upiši putanju do druge slike. Ako se slike nalaze u diru gde je i exe onda možeš izostaviti putanju i upisati samo naziv:
Image1.Picture.LoadFromFile('PrvaSlika.bmp');


 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Postavljanje slike u Delphi-ju16.01.2010. u 20:50 - pre 173 meseci
@savkic

Jedno pitanje, čisto informativno.

Šta se u Delphiju događa (baš u runtime-u) kada slika koja se referencira ne postoji? Tj, da li se momentalno izlazi iz funkcije (bez daljeg izvršavanja) ili se program nastavlja nakon neke poruke?

U C++ Builderu se izlazi iz funkcije bez daljeg izvršavanja (uz poruku). try/catch/finally resava problem (nema poruke), mada uvek ugradim i FileExists() uz try/catch.
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
92.244.151.*



+6 Profil

icon Re: Postavljanje slike u Delphi-ju17.01.2010. u 03:54 - pre 173 meseci
Isto je i u Delphi-ju, ako slika ne postoji program izbaci exception uz poruku:

Citat:

Cannot open file "zzzz''. The system cannot find
the file specified.

i prekida dalje izvrsavanje funkcije u kojoj je pozvano ucitavanje slike.
 
Odgovor na temu

Marko1991
N.Beograd

Član broj: 203898
Poruke: 63
93.87.146.*



Profil

icon Re: Postavljanje slike u Delphi-ju17.01.2010. u 04:10 - pre 173 meseci
Nece da radi,izbaci par erora:Undeclared Identifier'Image1',missing operator or semicolon,could not compile used unit 'unit1.pas'
Esi siguran da se pise"Image1.Picture.LoadFromFile('PrvaSlika.bmp');"(Imam delphi7 ako nesto moze da pomogne)
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Postavljanje slike u Delphi-ju17.01.2010. u 05:48 - pre 173 meseci
^
Izgleda nisi pažljivo čitao šta je ko pisao. Preskočio si ono što ja rambo napisao. Da bi sa klikom učitao sliku morao bi to ovako da uradiš:

Code (delphi):

procedure TForm1.Button1Click(Sender: TObject);
 var Image: TImage;
begin
 Image := TImage.Create(Form1);
 try
  Image.Parent := Form1;
  Image.Align := alClient;
  Image.Picture.LoadFromFile('c:\putanja do slike\PrvaSlika.bmp');
  showmessage('Da li se sada vidi?');
 finally
  Image.Free;
 end;
end;
 

 
Odgovor na temu

caslavvl
caslav djokic
privatnik

Član broj: 160896
Poruke: 51
93.86.20.*



+1 Profil

icon Re: Postavljanje slike u Delphi-ju17.01.2010. u 07:03 - pre 173 meseci
pa nije stvar u putanji do slike nego nije stavio komponentu, a i ne moze da stavi Image, to ne postoji
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Postavljanje slike u Delphi-ju17.01.2010. u 09:58 - pre 173 meseci
Citat:
caslavvl:
pa nije stvar u putanji do slike nego nije stavio komponentu, a i ne moze da stavi Image, to ne postoji


Nisam ni rakao da je stvar u putanji nego (boldovano):

Citat:
tkaranovic: ^
Izgleda nisi pažljivo čitao šta je ko pisao. Preskočio si ono što ja rambo napisao.

Znači da treba da uradi ono što mu je rambo napisao.

Ono što je on uradio je da je stavio samo:
Citat:
Marko1991: Nece da radi,izbaci par erora:Undeclared Identifier'Image1',missing operator or semicolon,could not compile used unit 'unit1.pas'
Esi siguran da se pise"Image1.Picture.LoadFromFile('PrvaSlika.bmp');"(Imam delphi7 ako nesto moze da pomogne)


To može da proradi (tako kako je stavio) sa kompletnim primerom koji sam stavio u poruci:
Citat:
tkaranovic:
 
procedure TForm1.Button1Click(Sender: TObject);
var Image: TImage;
begin
...


A Image u primeru nije komponenta nego je TImage komponenta. Image je varijabla iliti promenljiva. Umesto imena Image za tu promenljivu može da stavi i ovako:
Code:
var Slika: TImage;


Tako bi se promenljiva zvala Slika a ime komponente bi i dalje bilo TImage.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Postavljanje slike u Delphi-ju17.01.2010. u 10:18 - pre 173 meseci
> Šta se u Delphiju događa (baš u runtime-u) kada slika koja se referencira ne postoji? Tj, da li se momentalno izlazi iz funkcije
> (bez daljeg izvršavanja) ili se program nastavlja nakon neke poruke?

Podiže se exception, prekida izvršavanje funkcije i onda RTL radi unwind sve do prvog exception handlera koji je u stanju da handluje taj exception.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Postavljanje slike u Delphi-ju17.01.2010. u 10:23 - pre 173 meseci
> Nece da radi,izbaci par erora:Undeclared Identifier'Image1',missing operator or semicolon,could not compile used unit 'unit1.pas'

Startuj novi projekat, postavi na formu dva buttona i Image (sa Additional taba) komponentu.


 
Odgovor na temu

Marko1991
N.Beograd

Član broj: 203898
Poruke: 63
*.beogrid.net.



Profil

icon Re: Postavljanje slike u Delphi-ju17.01.2010. u 13:37 - pre 173 meseci
sad program oce da se pokrene al kad kliknem na dugme pojavi se greska:project project1.exe raised exception class EFOpenError with message 'cannot open file "C..."The system cannot find the file specified....
Sta mu je sad?
P.S. evo koda al valjda sam dobro prekucao:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Image1: TImage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var slika:TImage;
begin
slika:=TImage.Create(Form1);
try
slika.Parent:=Form1;
slika.Align:=alClient;
slika.Picture.LoadFromFile('C:\Slike\Slike1.bmp');
finally
slika.Free;
end;
end;
end.


 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Postavljanje slike u Delphi-ju17.01.2010. u 15:20 - pre 173 meseci
Znači da treba pronaći neku sliku da bi se otvorila. :) Ovako može da se nađe i ne mora se prekucavati, može se prekopirati (copy/paste):

Code:

procedure TForm1.Button1Click(Sender: TObject);
 var Slika: TImage;
     ImeFajla: string;
     OSliku: TOpenDialog;
begin
 ImeFajla := 'C:\Slike\Slike1.bmp';
 if not FileExists(ImeFajla) then begin
  showmessage('ne postoji: '+ImeFajla);
  OSliku := TOpenDialog.Create(Form1);
  try
   if not directoryexists(extractFilePath(ImeFajla)) then
    OSliku.InitialDir := 'C:\'
   else
    OSliku.InitialDir := extractFilePath(ImeFajla);
   ImeFajla := '';
   OSliku.Filter := 'slike (*.bmp) |*.bmp';
   if OSliku.Execute then
    ImeFajla := OSliku.FileName;
  finally
   OSliku.Free;
  end;
 end;
 if ImeFajla = '' then begin
  showmessage('Nije izbarana slika?');
  exit;
 end;
 Slika := TImage.Create(Form1);
 try
  Slika.Parent := Form1;
  Slika.Align := alClient;
  Slika.Picture.LoadFromFile(ImeFajla);
  showmessage('Vidi li se?');
 finally
  Slika.Free;
 end;
end;
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Postavljanje slike u Delphi-ju17.01.2010. u 15:50 - pre 173 meseci
Ali pošto sada već postoji Image1 na formi bolje bi bilo:

Code:

procedure TForm1.Button1Click(Sender: TObject);
 var ImeFajla: string;
     OSliku: TOpenDialog;
begin
 ImeFajla := 'C:\Slike\Slike1.bmp';
 if not FileExists(ImeFajla) then begin
  showmessage('ne postoji: '+ImeFajla);
  OSliku := TOpenDialog.Create(Form1);
  try
   if not directoryexists(extractFilePath(ImeFajla)) then
    OSliku.InitialDir := 'C:\'
   else
    OSliku.InitialDir := extractFilePath(ImeFajla);
   ImeFajla := '';
   OSliku.Filter := 'slike (*.bmp) |*.bmp';
   if OSliku.Execute then
    ImeFajla := OSliku.FileName;
  finally
   OSliku.Free;
  end;
 end;
 if ImeFajla = '' then begin
  showmessage('Nije izbarana slika?');
  exit;
 end;
 Image1.Picture.LoadFromFile(ImeFajla);
end;
 
Odgovor na temu

Marko1991
N.Beograd

Član broj: 203898
Poruke: 63
*.beogrid.net.



Profil

icon Re: Postavljanje slike u Delphi-ju18.01.2010. u 23:44 - pre 173 meseci
E hvala vam,sad ovo radi,ali imam jos jednu molbu,malo sam prepravio predhodni kod tako da bi trebao da klikom na dugme otvori folder sa text dokumentima i da u listbox-u ispise tekst koji se nalazi u izabranom dokumentu.Od svega toga kad startujem program i kliknem na dugme on otvori open dialog,pronadjem txt dokument sto mi treba i kad kliknem na open u listbox mi ispise samo putanju.Evo koda pa mi recite de je greska.

procedure TForm1.Button1Click(Sender: TObject);
var ImeFajla: string;
OTekst: TOpenDialog;
begin
OTekst := TOpenDialog.Create(Form1);
try
if not directoryexists(extractFilePath(ImeFajla)) then
OTekst.InitialDir := 'C:\'
else
OTekst.InitialDir := extractFilePath(ImeFajla);
ImeFajla := '';
OTekst.Filter := 'Dnevnik (*.txt) |*.txt';
if OTekst.Execute then
ImeFajla := OTekst.FileName;
finally
end;
ListBox1.Items.Add(ImeFajla);
end;

end.

P.S.Trebalo bi i da napisem kod za snimanje txt-a(probacu sam da ga sastavim od ovog koda pa ako ne uspem o5 cu zatraziti vasu pomoc), ali, u listbox-u ne moze da se pise kad se startuje program,pa mi recite koju komponentu da uzmem umesto listbox-a?Takodje cu pokusati da nadjem kod za font,boju slova i tako to.

Zahvaljujem u napred
 
Odgovor na temu

rambo
Dejan Petković
Beograd

Član broj: 6095
Poruke: 190
*.dynamic.sbb.rs.



+6 Profil

icon Re: Postavljanje slike u Delphi-ju19.01.2010. u 01:23 - pre 173 meseci
Prvo, sto se komponente tiče, ako ćeš da učitavaš običan txt fajl, onda trebaš da koristiš TMemo. Ako želiš da formatiraš tekst (slično kao u WinWord), onda trebaš da koristiš TRichEdit.

Što se učitavanaj fajla tiče, TOpenDialog ti samo vraća fajl koji si preko njega izabrao, on ne "učitava" nigde. Da bi učitao txt fajl u TMemo, nakon što izabereš fajl, moraš da "ručno" učitaš njegov sadržaj. Dodaj ovo na odgovarajuće mesto u svom kodu:

Code:
if OTekst.Execute then
  Memo1.Lines.LoadFromFile(OText.FileName);

Ovo ti je ujedno i najlakši način da učitaš tekst u Memo komponentu. Za snimanje (nakon što si izmenio tekst), koristiš metod SaveToFile.
"There is a theory which states that if ever anybody discovers exactly what the
Universe is for and why it is here, it will instantly disappear and be replaced by
something even more bizarre and inexplicable. There is another theory which states
that this has already happened."
-- Douglas Adams
 
Odgovor na temu

Marko1991
N.Beograd

Član broj: 203898
Poruke: 63
*.beogrid.net.



Profil

icon Re: Postavljanje slike u Delphi-ju20.01.2010. u 00:44 - pre 173 meseci
Otvaranje fajla radi,e sad zanima me dal' bih moglo da se odradi da otvara i word dokument,cemu sluzi zadnja kartia(servers,u njoj ima WordDocument,moze li se to iskoristiti umesto memo box-a za editovanje txt-a{font velicina...})?
Nasao sam neki kod koji bi trebalo da snima al nesto nece,stalno mu fale neke deklaracije. Evo koda
Code:

if (SaveDialog1.FileName <> '') or SaveDialog1.Execute then
  Memo1.Lines.SaveToFile(SaveDialog1.FileName)

 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Postavljanje slike u Delphi-ju25.05.2010. u 07:45 - pre 169 meseci
Ovako (dodaj ComObj u Uses listu)
Code:
WordApp := CreateOLEObject('Word.Application');
sPath := 'C:\Folder\Test.doc';
WordApp.Documents.Open(sPath);
.
{tu možeš iz Delphi-a uređivati dokument}
//primjer zamjene teksta (replace)
//  WordApp.Selection.Find.ClearFormatting;

//  WordApp.Selection.Find.Forward := True;
//  WordApp.Selection.Find.MatchAllWordForms := False;
//  WordApp.Selection.Find.MatchCase := False;
//  WordApp.Selection.Find.MatchWildcards := False;
//  WordApp.Selection.Find.MatchSoundsLike := False;
//  WordApp.Selection.Find.MatchWholeWord := False;
//  WordApp.Selection.Find.MatchFuzzy := False;
//  WordApp.Selection.Find.Wrap := wdFindContinue;
//  WordApp.Selection.Find.Format := False;

//  WordApp.Selection.Find.Text := '|tekst|';
//  WordApp.Selection.Find.Replacement.Text := ''neki tekst';
//  WordApp.Selection.Find.Execute(Replace := wdReplaceAll);

//ako ne znaš kako nešto napraviti, snimi makro u Wordu i pogledaj šta je macro napisao, puno če ti pomoči
.
.
WordApp.ActiveDocument.Close;
WordApp.Quit;
WordApp := Unassigned;


a može i ovako (otvaranje MS Word dokumenta):

Code:
ShellExecute(Handle, 'open', PChar(sPutanja), nil, nil, SW_SHOWNORMAL);

F
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Postavljanje slike u Delphi-ju

[ Pregleda: 4676 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.