String'lerde boşluk karakterini nasıl kullanabilirim?

Başlatan kafkasyali, 16 Eylül 2008 - 20:42:18

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

kafkasyali

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;


http://wp.me/1pScW
sɹǝʇ nq ʞǝʇ ɹıq ؛ɐp ɐpunloʎ ʎǝsɹǝɥ ıʞuɐs

eldirr

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?

kafkasyali

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  ::)


http://wp.me/1pScW
sɹǝʇ nq ʞǝʇ ɹıq ؛ɐp ɐpunloʎ ʎǝsɹǝɥ ıʞuɐs

erginemr

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?

kafkasyali

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.


http://wp.me/1pScW
sɹǝʇ nq ʞǝʇ ɹıq ؛ɐp ɐpunloʎ ʎǝsɹǝɥ ıʞuɐs

daphne

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.