Novo

Forum kao aplikacija na telefonu

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

  • 10 odgovora
  • 4.464 pregleda

Najnovija ↓

Ako neko ima vremena! 14.11.2005. u 11:38 · pre 255 meseci #1
Da li neko moze da napise program u delphi-u koji ce prvo promeniti ime foldera(dodati nesto na postojece ime, npr. folder se zove "ivan", a da program promeni ime u "ivanbla"), zatim da klikom (na neki button) vrati ime u "ivan"???
Please ako neko ima vremena, posto sam pocetnik pa mi samo to treba!
Unapred hvala!
Potpis
[email protected]
Re: Ako neko ima vremena! 14.11.2005. u 14:17 · pre 255 meseci #2
File/New/Application

stavis dva button-a na formu.

dvokliknes na prvi button

delfi napravi Button1Click proceduru, ti samo upises kod

RenameFile ('C:\dir1', 'C:\dir2');

F12 da bi ponovo video formu

dvokliknes na drugi button

upises kod

RenameFile ('C:\dir2', 'C:\dir1');

F9 (run)


Varijanta 2

dodas jos jedan Edit na formu

u kodu, umesto
'C:\dir1'
koristis:
Edit1.Text
da bi dobio sadrzaj edita kao ime direktorijuma (ili fajla) koji treba preimenovati.
Re: Ako neko ima vremena! 17.11.2005. u 00:29 · pre 255 meseci #3
unit Unit1;

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Button2: TButton;
DirectoryListBox1: TDirectoryListBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
RenameFile (label1.Caption,'C:\dir2');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
RenameFile ( 'C:\dir2',label1.Caption);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
DirectoryListBox1.DirLabel := Label1;
end;

end.


Znaci zamisao(sada samo primer)je da se folder dir1 uspomoc
directoryList-a(znaci prosto receno misem izaberes folder kolji ces
preimenovati u drugi, u ovom slucaju ) promeni u C:\dir2
Da li je ovo moguce, znaci izaberem folder koji hocu da preimenujem i kliknem na button?!

Veliko hvala na pomoci!
Potpis
[email protected]
Re: Ako neko ima vremena! 17.11.2005. u 15:34 · pre 255 meseci
izmenjeno 1 put, poslednji put Milos D 17.11.2005. u 15:36
  1. Milos D17.11.2005. u 15:36zapis iz teksta poruke
#4
directoryList1.Directory ti daje trenutno odabrani direktorijum. Znaci na primer

RenameFile (directoryList1.Directory,'C:\dir2');

bi promenio naziv odabranog direktorijuma u c:\dir2

samo, (mislim) da directory list box ne bi "primetio" tu promenu tj. ne bi automatski prikazao promenu. Zato moras da pozoves

directoryList1.Update
Re: Ako neko ima vremena! 17.11.2005. u 22:37 · pre 255 meseci #5
Veliko hvala na pomoci, ali jednostavno dir1 nece da se preimenuje u dir2(naravno kada ga izaberem na directorylist-u)?
Da li mozes da proveris da li to radi, naravno ako imas vremena i ako ti nije veliki problem!?
Pozdrav
Potpis
[email protected]
Re: Ako neko ima vremena! 17.11.2005. u 23:46 · pre 255 meseci #6
Koliko znam ne smes da pises full putaju kao drugi parametar. Prvi sme da bude "C:\Nesto\MojFolder", ali drugi ne sme da bude "C:\Nesto\MojNoviFolder" nego samo "MojNoviFolder". Drugi parametar koristi putanju iz prvog parametra i ne mozes da promenis ime fajlu koji se nalazi u C:\ tako da se posle promene imena nalazi u C:\NovFolder. Znaci u drugom parametru dajes samo ime fajla ili foldera bez ikakve putanje.
Potpis
Play Store
Re: Ako neko ima vremena! 17.11.2005. u 23:46 · pre 255 meseci #7
Hm, u stvari mislim da nisam nikad radio sa ovom kontrolom...

Prvo, pazi jer DirectoryListBox1.Directory ne vraca onaj direktorijum koji je selektovan (obojen) nego onaj koji je OTVOREN (dakle sa ikonicom otvorenog foldera, tj onaj koji je dvokliknut).

Drugo, izgleda da funkcija RenameFile iz nekog razloga nece da radi lepo ako pokusavas da promenis ime direktorijuma koji je na jednom disku/particiji, a program je aktivan na drugom disku/particiji. Zato pre preimenovanja postavi da je program aktivan na istoj particiji.

drive := DirectoryListBox1.Drive+':\';
ChDir (drive);

Trece, funkcija nece uspeti ako pokusavas da prebacis direktorijum sa jedne na drugu particiju (renamefile ('c:\dir1', 'd:\dir1')) - bar tako pise u helpu.

Cetvrto, ako je direktorijum "zakljucan" (npr ima neki pokrenuti exe iz tog direktorijuma ili je Expolorer iz nekog razloga "zakljucao" taj dir), opet funkcija nece uspeti.

Re: Ako neko ima vremena! 17.11.2005. u 23:47 · pre 255 meseci
izmenjeno 1 put, poslednji put Milos D 17.11.2005. u 23:50
  1. Milos D17.11.2005. u 23:50zapis iz teksta poruke
#8
Ha, koji tajming...

Moze pun path kao destination, verovatno uz neka ogranicenja (npr verovatno ne moze c:\dir2 u c:\dir2\dir3)
Re: Ako neko ima vremena! 17.11.2005. u 23:56 · pre 255 meseci #9
Hvala na brzim odgovorima!
Evo da ti malo priblizim moju zamisao, hteo sam da samo na ime foldera dodam nekakav nastavak tj. .{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}, kako bi se folder zakljucao i da se ne moze otvoriti iz Explorer-a!
To znaci prvi button1 bi samo na postojece ime dodao gore navedeni nastavak, a button2 bi taj nastavak brisao!

Kada sam izabrao folder, ja sam ustvario "otvorio"(dvoklikom), ali opet nije hteo da promeni ime, na istoj particiji i koji nije bio 'zakljucan"!

Sta mislis kako bi ovo bilo najefikasnije da se uradi(posto vidim da poznajes Delphi)?
Potpis
[email protected]
Re: Ako neko ima vremena! 18.11.2005. u 11:48 · pre 255 meseci #11
E hvala mnogo!
Ja sam dodao jos i drivebox1 i moze da se menja i drive, znaci radi i na C: i na D:.....
Jos jednom hvala!
Potpis
[email protected]
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme