Muharrem abi ilgilendiğin için çok teşekkür ederim.
kodlarını denedim abi yine kaydederken tr karakterler gidiyor.Ama dosya işlemleri yaptığım bi yerde bu kodlar çok işime yaradı orayı epey bi sadeleştirdim.
Ftpyi kuran arkadaşla serverdaki ftpyi düzeltme çabalarımızda olmadı.(utf8 seçti codepage filan değiştirdi vb.)
en son ya windowsun ftp ile ilgi bi problemi var ya da android cihazların tr karakterle bi sorunu var diyebildik.(belkide yoktur

)
Bu sabaha hatta bu saate kadar girmediğim çıkmadığım site okumadığım ingilizce, rusça kaynak kalmadı.
en son @
uparlayan beyin bi soruya verdiği cevap ile ilerledik.zaten denemediğimiz bir bu kalmıştı
http://www.delphican.com/showthread.php?...r#pid14508
Elhasıl: Dosyalardaki tr karakterleri ingi-laz-ca karakterlerle değiştirip o şekilde kaydedince cihazlarda sorun çıkmadı. pek efektif bi çözüm olmasada (-ki sadece tr karater değil çap işareti vb. işaretlerde dosya ismi olarak verilebiliyor) sorun şimdilik halloldu.
tabi başka bir çözüm önerisi olanlara açığım...
deneme için yazdığım kodları buraya yazıyorum belki bi ihtiyacı olan olur: herhangi bi düzenleme yapmadım olduğu gibi attım.
// UĞUR BEY'İN DEVŞİRİLMİŞ KODLARI
function LowerCaseTR(aString: String; aBuyukBasHarf: Boolean = True): String;
const
K = 'IiGgSsUuCcOo_'; // Harfleri böyle sıralanmasının sebebi
B = 'İıĞğŞşÜüÇçÖöØ'; // Bunların Türkçedeki kullanım sıklıklarına göredir.
var
I: Integer; // Sayaç, indis değişkeni
X: Integer; // Bulunan harfin alfabedeki indis numarası
begin
Result := aString;
for I := 1 to Result.Length do begin // metni harf harf geziyoruz. (Bir rakam ile de karşılaşabiliriz...)
X := pos(Result[I], B); // POS, büyük / küçük harfe duyarlıdır (Case Sensitive). Yani büyükse küçüğü, küçükse büyüğü bulmaz.
if (X > 0) then Result[I] := K[X]; // Bulunan karakter alfabemizde varsa küçüğüyle yer değiştiriyoruz.
end;
if (aBuyukBasHarf = True) then
for I := 1 to Result.Length do begin // Metni harf harf geziyoruz
X := pos(Result[I], K);
if (X > 0) then begin
Result[I] := B[X];
Exit; // İlk harfi büyüttükten sonra çıkıyoruz...
end;
end;
end;
// MUAHARREM ABİ'NİN KODLARI FONkSİYON HALİ
function donustur(lname:string):string;
var
LByte : TBytes;
begin
LByte := System.SysUtils.TEncoding.ANSI.GetBytes( LName );
With TStringStream.Create( '', TEncoding.UTF8 ) do
try
Write( LByte, Length(LByte) );
LName := DataString;
finally
Free;
end;
result:=lname;
end;
// MUHARREM ABİ'NİN KODLARININ ORJİNALİ
procedure TForm1.BitBtn1Click(Sender: TObject);
var
LName : String;
LByte : TBytes;
begin
LName := '152.61.005 BEPCO 513799 PİM 29MM 25,50MM 177,50MMÅŸÄü.PDF';
LByte := System.SysUtils.TEncoding.ANSI.GetBytes( LName );
With TStringStream.Create( '', TEncoding.UTF8 ) do
try
Write( LByte, Length(LByte) );
LName := DataString;
finally
Free;
end;
InputBox('','', LName );
label5.Caption:=Lname;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.Lines.Clear;
if ftp1.connected then ftp1.Disconnect;
with ftp1 do
begin
Host:=hostedit.Text;
Username:=kuledit.Text;
Password:=pasedit.Text;
Port:=strtoint(portedit.Text);
Connect;
Changedir('/otomasyon/pdf');
List(ListBox1.Items, '', False);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if ftp1.Connected then ftp1.Disconnect;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
hedefdosya,kaynakdosya:string;
begin
if OpenDialog1.Execute then
begin
kaynakdosya:=LowerCaseTR(ExtractFileName(OpenDialog1.FileName),false);//
//kaynakdosya:=UTF8Encode(WideString(ExtractFileName(OpenDialog1.FileName))); // BENİM DÖNÜŞTÜRME ÇABALARIM
//donustur(ExtractFileName(OpenDialog1.FileName));
showMessage( OpenDialog1.FileName+#13+ExtractFileName(OpenDialog1.FileName)+#13+kaynakdosya);
FTP1.Put(OpenDialog1.FileName,kaynakdosya);
end
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if SaveDialog1.Execute() then
begin
FTP1.Get(edit5.text,SaveDialog1.FileName ,true);
end;
end;
procedure TForm1.ftp1Status(ASender: TObject; const AStatus: TIdStatus;
const AStatusText: string);
begin
case AStatus of
hsResolving : memo1.Lines.Add('resolving'); //showmessage('hsResolving');
hsConnecting: memo1.Lines.Add('bağlanıyor');//showmessage('hsConnecting');
hsConnected: memo1.Lines.Add('bağlandı');//showmessage('hsConnected');
hsDisconnecting:memo1.Lines.Add('bağlantı kesiliyor'); //showmessage('hsDisconnecting');
hsDisconnected: memo1.Lines.Add('bağlantı kesildi');//showmessage('hsDisconnected');
hsStatusText: memo1.Lines.Add('durum mesajı');//showmessage('hsStatusText');
ftpTransfer: memo1.Lines.Add('dosya gönderildi');//showmessage('File transfer is complete. ');
ftpReady: memo1.Lines.Add('transfer hazır');//showmessage('Ready to transfer files ...');
ftpAborted: memo1.Lines.Add('dosya gönderilemedi');//showmessage('Transfer failed');
end;
end;
procedure TForm1.ListBox1Click(Sender: TObject);
begin
edit5.Text:=ListBox1.Items.Strings[Listbox1.ItemIndex]; //extractfilepath(application.ExeName)+'/'+
end;
end.