Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
fox
Üye
Mesajlar: 78 Kayıt: 24 Nis 2006 08:28
Mesaj
gönderen fox » 09 Haz 2006 02:20
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdFTP;
type
TForm1 = class(TForm)
IdFTP1: TIdFTP;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.IdFTP1.host:='ftp.members.lycos.co.uk';
form1.IdFTP1.username:='.....';//kullanıcı adınız
form1.IdFTP1.password:='....'; //şifreniz
form1.IdFTP1.put('onemli.txt','bakoldu.txt',true)
end;
end.
arkadaşlar bununla ftp ye bağlanmak istiyorum ama olmuyo sizce hata nerede bir bakabilirmisiniz
rsimsek
Admin
Mesajlar: 4482 Kayıt: 10 Haz 2003 01:48
Konum: İstanbul
Mesaj
gönderen rsimsek » 09 Haz 2006 02:48
Olmayan ne, ne hatası alıyorsunuz
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
mceL
Üye
Mesajlar: 56 Kayıt: 28 Eyl 2003 01:19
Konum: Bursa
İletişim:
Mesaj
gönderen mceL » 09 Haz 2006 02:59
Sunucuya bağlanmadan dosyayı sunucuya aktaramazsınız.
Put komutu öncesi IdFTP1.Connect; ile sunucuya bağlanmalısınız.
Kod: Tümünü seç
try
form1.IdFTP1.Connect;
form1.IdFTP1.put('onemli.txt','bakoldu.txt',true)
finally;
form1.IdFTP1.Disconnect;
end;
poshet303
Üye
Mesajlar: 235 Kayıt: 26 Eki 2005 01:15
Mesaj
gönderen poshet303 » 09 Haz 2006 03:00
connect olmadan put olurmu hiç. Siz ftp programı kullanırken connect olmadan dosya alışverişi yapabiliyormusunuz.
Indy nin örnekleri var daha ayrıntı için örneği niceleyebilirsiniz.
Nerede mi?
http://www.indyproject.org/Sockets/Demos/index.en.aspx
EK NOT: Gençlerin hızına yetişilmiyor
. Hiç not yokken yazmaya başladım, 2 kişinin gerisinde kalmışım.
mceL
Üye
Mesajlar: 56 Kayıt: 28 Eyl 2003 01:19
Konum: Bursa
İletişim:
Mesaj
gönderen mceL » 09 Haz 2006 06:44
poshet303 yazdı:
EK NOT: Gençlerin hızına yetişilmiyor
. Hiç not yokken yazmaya başladım, 2 kişinin gerisinde kalmışım.
@rsimsek => Tarih: Cum Hzr 09, 2006 1:48
@poshet303 hocam sizde bayağı yavaşmışsınız
fox
Üye
Mesajlar: 78 Kayıt: 24 Nis 2006 08:28
Mesaj
gönderen fox » 09 Haz 2006 07:20
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdFTP;
type
TForm1 = class(TForm)
IdFTP1: TIdFTP;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.IdFTP1.host:='ftp.members.lycos.co.uk';
form1.IdFTP1.username:='........';//kullanıcı adınız
form1.IdFTP1.password:='......'; //şifreniz
try
form1.IdFTP1.Connect;
form1.IdFTP1.put('onemli.txt','bakoldu.txt',true)
finally;
form1.IdFTP1.Disconnect;
end;
end;
end.
yine olmadı kafayı yiyecem sizce neden olmuyo
mceL
Üye
Mesajlar: 56 Kayıt: 28 Eyl 2003 01:19
Konum: Bursa
İletişim:
Mesaj
gönderen mceL » 09 Haz 2006 08:30
fox yazdı: yine olmadı kafayı yiyecem sizce neden olmuyo
Kodsal anlamda bir sorun yok, ayarlarınızda bir sorun olabilir.
Bence en iyisi siz verdiği hatayı yazın, belki bir çözüm bulabiliriz.
fox
Üye
Mesajlar: 78 Kayıt: 24 Nis 2006 08:28
Mesaj
gönderen fox » 09 Haz 2006 08:46
hata vermiyo sadece yollamıyo
fox
Üye
Mesajlar: 78 Kayıt: 24 Nis 2006 08:28
Mesaj
gönderen fox » 09 Haz 2006 09:56
arkadaşlar benim bir sorum var bütün şeyler bunu bilmediğimden kaynaklanıyor ben şimdi kodları yazarken procedure form createyi kendim yazıyorum (el ile) bunu bi yerden tanıtmak gerekirmi?
rsimsek
Admin
Mesajlar: 4482 Kayıt: 10 Haz 2003 01:48
Konum: İstanbul
Mesaj
gönderen rsimsek » 09 Haz 2006 10:15
Aynı formda olduğundan bileşenin önüne form1 diye yazmana gerek yok. Ayrıca bu işi FormCreate de değil de bir butona basarak yaptırmayı dene. Yani;
Kod: Tümünü seç
TForm1.btn_GonderClick(Sender: TObject);
begin
IdFTP1.Host := 'ftp.members.lycos.co.uk'; // ftp sunucu adı / adresi
IdFTP1.Username :='........'; // kullanıcı adı
IdFTP1.Password := '......'; // şifre
try
IdFTP1.Connect;
IdFTP1.Put('Gidecek_dosya_adi', 'karsi_tarafa_kaydedilecek_ad', true); // true da varsa üzerine yaz.
finally;
IdFTP1.Disconnect;
end;
end;
Aşağıdaki gibi IdFTP nin OnStatus event ına foruma ekleyeceğin bir memoya yada showmessage ile işlem süresince oluşan mesajları takip için kullanabilirsin
Kod: Tümünü seç
procedure TForm1.IdFTP1Status(ASender: TObject; const AStatus: TIdStatus;
const AStatusText: String);
begin
mmo_Gecmis.Lines.Add(AStatusText); // yada ShowMessage(AStatusText);
end;
Artık gerisini çözersin değil mi
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
rsimsek
Admin
Mesajlar: 4482 Kayıt: 10 Haz 2003 01:48
Konum: İstanbul
Mesaj
gönderen rsimsek » 09 Haz 2006 10:20
fox yazdı: arkadaşlar benim bir sorum var bütün şeyler bunu bilmediğimden kaynaklanıyor ben şimdi kodları yazarken procedure form createyi kendim yazıyorum (el ile) bunu bi yerden tanıtmak gerekirmi?
Formun üzerine çift klik yapınca yada form seçiliyken object inspectorden event lar dan OnCreate ye klikleyip yazmalısın.. Yoksa procedure form a bağlı değilse işe yaramaz
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
fox
Üye
Mesajlar: 78 Kayıt: 24 Nis 2006 08:28
Mesaj
gönderen fox » 10 Haz 2006 12:22
teşeküür ederim oldu
yanlız klasör yollama işini yapmadım put ile olmuyo hangi kodla yapmam gerekiyor bir bilginiz varmı
mceL
Üye
Mesajlar: 56 Kayıt: 28 Eyl 2003 01:19
Konum: Bursa
İletişim:
Mesaj
gönderen mceL » 10 Haz 2006 12:40
direkt klasör yollama komutu yok ftplerde.
bunun yerine verilen klasördeki her dosya için "put" uygulamalısınız. Tabii ki önce IdFTP1.MakeDir() ile ftp sunucusunda klasör oluşturmalısınız.
1. Klasör Seçimi
2. Klasördeki Tüm Dosyaların Bulunması
3. Sunucuya Gönderimi (döngü içerisinde Put çalıştırılması)
tamamı forumda aranıp bulunabilir.
kolay gelsin.
( zaman bulabilirsem ayrıntılı bir kod yazmaya çalışacağım. )