» »

Dodajanje ukazov v menije (OpenDialog1, SaveDialog1)

Dodajanje ukazov v menije (OpenDialog1, SaveDialog1)

c3R4R ::

Naloga: Dodati moram ukaze v menija OpenDialog1 in SaveDialog1...
POTEK:
1. Na obrazec vstavim komponente Main menu, OpenDialog1 in SaveDialog1.
2. V privzeti dogodek vpišem kodo(potek je za komponento OpenDialog1) ... Skupaj zgleda takole:

procedure TForm1.Open1Click(Sender: TObject);
var
Open : TForm2;
begin
If OpenDialog.Execute then begin
Open :=TForm2.Create(Self);
Open.Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

Open.Caption := ExtractFileName(OpenDialog1.FileName);
Open.Show;
end;

end.


PROBLEM: Ko pritisnem F9 (run), mi prevajalnik javi napako... Kurzor mi vrže sem:
var
Open : TForm2;

To je prepisano iz knjige katere se učim... Tipkarske napake NI, ker sm 10x pregledu, pa še en moj frend...

Kaj je narobe? Kje sm (no, kje so ga v knjigi zasral?) zasral? Kako to vi naredite? Kako pa naredite za SaveDialog1? (do sm še nism prišel, ampak vseeno)...

YuLcE ::

Kako lahko imaš OpenDialog.Execute

potem pa daš OpenDialog1.Filename???

(pazi na tisto enko (1))

YuLcE ::

aja, pa še to... kje maš pa Form2? Nisi morda mislil na Form1?
(glede na to da uporabljaš kt. Create(self)? )

Zgodovina sprememb…

  • spremenil: YuLcE ()

c3R4R ::

OpenDialog mam zato k je pod zgled v knjgi tko pisal...

Za Form2 pa isto... Nikjer ni pisal, da naj odprem še eno aplikacijo... Open je spremenjljika tipa TForm2, obrazec otroškega okna...

OpenDialog.Execute je funkcija, ki odpre pogovorno okno za odpiranje datotek...

YuLcE ::

joj!

glej, ce ti zelis, da ti v OpenDialog1 da filename, katerega odpiras, moras dat OpenDialog1.Execute!

Sicer sintakso znam razbrat, tako da tega ni treba pisat; kaj je tform2 še napiši (Definicijo objekta, kje jo imaš?!)
glede na to da ustvariš Open : TForm2 moraš imeti nekje deklaracijo tega! (razreda TForm2)

Zgodovina sprememb…

  • spremenil: YuLcE ()

CHAOS ::

criLin15: po kateri knjigi pa delaš?
'They have computers, and they may have other weapons of mass destruction.'

c3R4R ::

@CHAOS
Peter HRIBAR: Spoznajmo Delphi (Od prvih ukazov do hekerskih zvijač)

Zakva?
Zaradi neurij imajo hrasti globje korenine.

Gandalfar ::

katera stran?

Mal mas zmedeno tole narejeno.. a na Form2 imas Memo objekt? Kaj ce, bi se skopiral napako prevajalnika? Tm spodaj ti jo napise.. samo Ctrl+C daj pa pastaj sem..

c3R4R ::

Kopija napak:
[Error] Unit1.pas(73): Undeclared identifier: 'TForm2'
[Error] Unit1.pas(74): ';' expected but 'BEGIN' found
[Error] Unit1.pas(75): Undeclared identifier: 'OpenDialog'
[Error] Unit1.pas(76): 'THEN' expected but identifier 'Execute' found
[Error] Unit1.pas(77): Missing operator or semicolon
[Error] Unit1.pas(78): Missing operator or semicolon
[Error] Unit1.pas(79): Missing operator or semicolon
[Error] Unit1.pas(80): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Jst sm vse naredu kot je v knjigi pisal. Imam oprto TForm1 na kateri so komponente MainMenu, OpenDialog1 in SaveDialog1... Pritisnem na osnovnem oknu: File-Open in vpišem tole kodo:

procedure TForm1.Open1Click(Sender: TObject);
var
Open : TForm2
begin
If OpenDialog.Execute then
begin
Open :=TForm2.Create(Self);
Open.Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
Open.Caption := ExtractFileName(OpenDialog1.FileName);
Open.Show;
end;
end;

end.

Napake so zgoraj...

@Gandalfar
To je na strani 163 zgoraj..
Zaradi neurij imajo hrasti globje korenine.

Zgodovina sprememb…

  • spremenil: c3R4R ()

kopernik ::

v vrstici

Open: Tform2

ti manjka podpičje.

c3R4R ::

Tud če to dodam, mi še vedno javi napako:( :( :( ... Sm zdele ravnokar probu.. Tenks vseen...
Zaradi neurij imajo hrasti globje korenine.

kopernik ::

pa še v vrstici

OpenDialog.Execute

bi moralo biti

OpenDialog1.Execute

c3R4R ::

Ja tisto (1) sm že dodal. Tenks vseeno... 8-)

Zdej sm rešil problem, da mi pri tej kodi ne dela napake:
var
Open : tform2;

Rešitev: unit2 sm dal pod 'uses':8)...

Zdej mi pa drugje javlja napako.. In sicer:

.
Open. Memo1. Lines. Loadfromfile(opendialog1. Filename); //kurzor se postavi za besedo memo1
.


Zdej pa v knjigi piše, da bomo v komponento memo1 iz odprte datoteke vstavili besedilo... V naslovno vrstico novega obrazca dodamo naslov datoteke in nazadnje prikažemo še obrazec...

To sm naredil a spet nč:(... Bom zdele še enkrat mal pogledu, pol se pa spet javm.
Zaradi neurij imajo hrasti globje korenine.

Zgodovina sprememb…

  • polepsalo: OwcA ()

CHAOS ::

criLin15: zgolj informativno :D
'They have computers, and they may have other weapons of mass destruction.'


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[VB] graf, merilnik hitrosti, termometer

Oddelek: Programiranje
52300 (2165) darkolord
»

[VB] Open

Oddelek: Programiranje
71531 (1370) Monster

[Delphi] Program brez forme

Oddelek: Programiranje
91563 (1208) Vesoljc
»

Delphi - kako prepreči prečiti več zaporednih klikov gumba

Oddelek: Programiranje
51131 (1054) LoneWolf
»

branje byte[] iz MS access-ove baze

Oddelek: Programiranje
81939 (1849) BHawk

Več podobnih tem