Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 20 odgovora
  • 6.371 pregleda

Najnovija ↓

listbox1.Items.SaveToFile(); kako sta? 26.06.2004. u 19:31 · pre 272 meseca #1
imam jedan malo problemcic naime imam neki tekst u listboxu i sada zelim da mi taj tekst kopira u neki dokument npr *.txt i mislim da bi trebao koristiti ovu komandu
listbox1.Items.SaveToFile(); ali sta ide izmedu zagrada?
Potpis
Ako neznas pitaj... ako mozes pomozi..
Re: listbox1.Items.SaveToFile(); kako sta? 26.06.2004. u 19:41 · pre 272 meseca #2
U tim zagradama ide npr. F :)... Ma ozbiljno, stvar je krajnje jednostavna:

Code:
...........

var F:textfile;

............

assignfile(F,'nekifajl.txt');
rewrite(F);
listbox1.items.savetofile(F);
closefile(F);

..............


Eto, ovo sam pisao napamet, pa mozda ima neke greske ali to ti je u sustini to
Potpis
ex Strog

http://www.zeussoftware.rs
Re: listbox1.Items.SaveToFile(); kako sta? 26.06.2004. u 20:10 · pre 272 meseca #3
hmm neradi..... incompatible types string and text, i zaboravio sam dodat da te neke stavke rijeci nebitno.. slaze znaci ne da samo prepisujue nadam se da razumijes
Potpis
Ako neznas pitaj... ako mozes pomozi..
Re: listbox1.Items.SaveToFile(); kako sta? 26.06.2004. u 20:44 · pre 272 meseca #4
resio sam problem
listbox1.items.SaveToFile(SaveDialog2.FileName);

ali imam sledeci problem jer mi uvek prepise predhodni deo teksta koji je bio snimljen.
kada god snjimi samo prepise postojeci dio teksta novim i tako da nemam koristi sta mislite imali kakvo lepse resenje???

Pozdrav by smjesko
Potpis
Ako neznas pitaj... ako mozes pomozi..
Re: listbox1.Items.SaveToFile(); kako sta? 26.06.2004. u 21:31 · pre 272 meseca #5
Joj izvini za onu gresku, to uvek uradim, ali posto sam pisao napamet nije bilo Delphija da me obavesti o tome pa da ispravim :)...

Pa ta funkcija ( SaveToFile ) ce ti uvek prepisivat postojeci fajl... Ovaj put ces upisivanje ipak morati da odradis rucno...

Evo otpriliko koda:

Code:
.................

var f:textfile;
    s:string;
    i:integer;
begin
  AssignFile( f,'nekifajl.txt' );
  Append( f );     { zbog ovoga ce dopisivati u postojeci fajl, ali sada fajl MORA da postoji, moze se i to srediti, ali bi to malo komplikovalo kod, a tebi sada samo treba sustina :) }
  for i := 1 to Listbox1.Count-1 do
  begin
    s:=ListBox1.Items.Strings[i];
    Writeln(f,s);
  end;
  CloseFile(f);

................


Evo, ovo ce da ti radi 100% ( pisano u Delphiju ovaj put :) )!

P.S. Na ovoj adresi imas moj tutorial za rad sa datotekama ( sve operacije nad njima su opisanje ), pa malo pogleda, nece da skodi :)...
Potpis
ex Strog

http://www.zeussoftware.rs
Re: listbox1.Items.SaveToFile(); kako sta? 26.06.2004. u 21:58 · pre 272 meseca #6
Može to i malo elegantnije, ako mene pitaš...

Code:

procedure TForm1.Button1Click(Sender: TObject);
var
  AStream: TFileStream;
begin
  try
    if SaveDialog1.Execute
      then begin
        AStream := TFileStream.Create(SaveDialog1.FileName, fmShareDenyWrite);
        AStream.Seek(0, soFromBeginning);
        Memo1.Lines.SaveToStream(AStream);
      end
      else Exit;
  finally
    AStream.Free;
  end;
end;

Svojstvo Lines objekta Memo1 je tipa TStrings, te tu može doći i onaj tvoj ListBox, ako treba.
Potpis
Yea, and from this day forth, a surface must be locked before beast or man can draw upon it!
Re: listbox1.Items.SaveToFile(); kako sta? 26.06.2004. u 22:38 · pre 272 meseca #8
Ih, kao da je važno - pa obe klase koriste TStrings.
Nego, tvoja metoda je sasvim u redu, ali mi se učinilo da ima premalo onog "objektnog", što je, ustvari, cela poenta OP-a... :)
Potpis
Yea, and from this day forth, a surface must be locked before beast or man can draw upon it!
Re: listbox1.Items.SaveToFile(); kako sta? 26.06.2004. u 22:52 · pre 272 meseca #9
[Error] main.pas(575): Undeclared identifier: 'Count'
nerazumem ljudi gde gresim?

for i := 1 to Listbox1.Count(ovde daje gresku)-1 do
begin
s:=ListBox1.Items.Strings;
Writeln(f,s);
end;
CloseFile(f);
Potpis
Ako neznas pitaj... ako mozes pomozi..
Re: listbox1.Items.SaveToFile(); kako sta? 26.06.2004. u 23:16 · pre 272 meseca #10
Alternativno iskoristi Count objekta Items (TStrings); tako bi trebalo da radi. Znači: ListBox1.Items.Count
Potpis
Yea, and from this day forth, a surface must be locked before beast or man can draw upon it!
Re: listbox1.Items.SaveToFile(); kako sta? 26.06.2004. u 23:21 · pre 272 meseca #11
RADI mnogo Vam hvala momci samo tako nastavite :)))

AssignFile( f,'c:\log.txt' );
Append( f );
for i := 1 to Listbox1.items.count-1 do
begin
s:=ListBox1.Items.Strings;
Writeln(f,s);
end;
CloseFile(f);
Potpis
Ako neznas pitaj... ako mozes pomozi..
Re: listbox1.Items.SaveToFile(); kako sta? 26.06.2004. u 23:26 · pre 272 meseca #12
i jos samo jedna molba da mi kazete dali mogu to sada sve opet importovat u program i ubacit u listbox1
Potpis
Ako neznas pitaj... ako mozes pomozi..
Re: listbox1.Items.SaveToFile(); kako sta? 26.06.2004. u 23:34 · pre 272 meseca #13
Vrlo slično... Na mestu Append() stavi Reset(), a umesto ove dve linije:
Code:

s:=ListBox1.Items.Strings;
Writeln(f,s);

A, ti stavi:
Code:

ReadLn(f,s);
ListBox1.Items.Add(s);

Sve se to, naravno, može odraditi mnogo elegantnije koristeći SaveToStream i LoadFromStream metoda TStrings klase, ili neke nasleđene...
Potpis
Yea, and from this day forth, a surface must be locked before beast or man can draw upon it!
Re: listbox1.Items.SaveToFile(); kako sta? 27.06.2004. u 02:52 · pre 272 meseca #15
hwfanatic >> Nego, tvoja metoda je sasvim u redu, ali mi se učinilo da ima premalo onog "objektnog", što je, ustvari, cela poenta OP-a... :)

Pa sto jest, jest, ali to ti je ta stara skola :)

A za ovo ucitavanje u ListBox1: To ti je isto kao upisivanje u fajl, samo malo drugacije ( ih, al' sam srocio recenicu :) ):

Code:
var f:textfile;
    s:string;
    i:integer;
begin
  AssignFile( f,'log.txt' );
  Reset( f );
  repeat
    readln(f,s);
    Listbox1.Items.Add(s);
  until eof(f);
  CloseFile(f);
end;


a sve to mozes i malo jednostavnije da odradis ovako:

Code:
ListBox1.Items.LoadFromFile('log.txt');


Uzivaj!
Potpis
ex Strog

http://www.zeussoftware.rs
Re: listbox1.Items.SaveToFile(); kako sta? 28.06.2004. u 01:42 · pre 272 meseca #18
Code:

ljudi, sto komplikujete stvari
za ucitavanje je
  ListBox.Items.LoadFormFile('c:\autoexec.bat')
a za snimanje
  ListBox.Items.SaveToFile('c:\autoexec.bat');

ako hocete da user bira fajl bacite po jedan TSaveDialog i TOpenDialog (nalaze sa na Dialogs kartici) i promenite kod u:

if SaveDialog1.Execute then
  ListBox.Items.LoadFormFile(SaveDialog1.FileName);

ili ja ne razumem sta ti hoces uopste :)
pozdravi
Potpis
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme