Sağ tıklama menüsü betikleri için bir program yapmayı düşünüyorum. Çalıştırılabilir dosyanın yanına betikler diye bir klasör oluşturdum. Betikleri burdan
'cp ./betikler/Burada_ara... /home/kullaniciadi/.gnome2/nautilus-scripts/Burada_ara...';
komutu ile gönderiyorum. Fakat Türkçe karakter ve boşluk karakterinde sorun yaşıyorum. Yukarıdaki gibi "Burada_ara..." yazarsam ilgili betik kopyalanıyor. "Burada ara..." yazarsam boşluk karakterinden dolayı kopyalama yapılmıyor. Bunu nasıl çözebilirim?
Kullandığım kodlar:
var
Form1: TForm1;
AProcess: TProcess;
implementation
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
if CheckBox1.Checked=True then begin
AProcess := TProcess.Create(nil);
AProcess.CommandLine := 'cp ./betikler/Burada_ara... /home/kullaniciadi/.gnome2/nautilus-scripts/Burada_ara...';
Application.MessageBox('Betikler eklendi', 'Bilgi', 0);
AProcess.Options := AProcess.Options + [poWaitOnExit];
AProcess.Execute;
AProcess.Free;
end;
end;
Boşluk olan klasörleri dosyaları konsolda şöyle kullanabiliyoruz;
Örneğin den eme adlı bir klasörümüz olsun, konsoldan bu klasöre girelim;
cd den\ eme
Aradaki boşluktan önce '\' karakterini koymamız gerekiyor.
İşe yarar mı bilmiyorum ama sen de dosya yolunda 'Burada\ ara' yazmayı deneyebilir misin?
Klasör olarak değil de son yazılan betik boşluk içeriyor.
'cp ./betikler/Burada ara... /home/kullaniciadi/.gnome2/nautilus-scripts/Burada ara...';
Mavi olan klasör yolu, kırmızı olanlar betik. Burada\ ara... olarak yine de denedim fakat olmadı. Alt tireli yapsam çok mu garip olur? Türkçe karakter de ayrı mesele ::)
Tırnak işaretlerinin kulanıldığı bu komut işe yarıyor mu:
'cp ./betikler/"Burada ara..." /home/kullaniciadi/.gnome2/nautilus-scripts/"Burada ara..."';
Bir de yazdığınız betik, Delphi kodu gibi duruyor. Lazarus mu kullanıyorsunuz?
Buradaki kodlar hazır yazılmış olan betikleri nautilus-scripts klasörüne kopyalıyor. Derleme yaptığım programlama dili Lazarus. Çift tırnak ta olmadı. Alt tire koyduğum zaman kopyalama yapılıyor. Sanırım o kadar da dikkat çekmez. Türkçe karakter kullanmadan ve alt tire koyarak bütün betikleri ayarlayım. Belki ileride düzeltebilirim.
merhaba öncelikle cevap geç olabilir ama şunu denemenizi belki bir işe yarıyabilir.
'cp ./betikler/'+' '+' /home/kullaniciadi/.gnome2/nautilus-scripts/'+' ';
ara vereceğin zaman önce artı işareti sonra tek tırnak kullanmalısınız yukarda gösterdiğim gibi bir örnek vermek gerekirse
bir iki kelimeyi aralarında boşluk olarak yazmak istesek (ubuntu tr) kelimesi olsun
bu kelimeyi formun başlığına yazacağız
kod şöyle olmalı
tform1.caption:='ubuntu'+' '+'tr';
bu şekilde ubuntu ayrı tr ayrı yazdırılmış olur.
umarım yardımcı olmuşumudur geçte olsa.