Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi'den Python'a Parametre Gönderme
#1
Arkadaşlar merhaba
Aşağıdaki gibi basit bir yöntemle python scripti oluşturuyorum 

procedure TForm1.Button1Click(Sender: TObject);
var
 deg1,deg2 :string;
begin
  memo1.Clear;
  deg1:='print("senin adin '+edit1.Text+ '")';
  deg2:='print("senin soyadin '+edit2.Text+ '")';

  memo1.Lines.Add(deg1);
  memo1.Lines.Add(deg2);
  memo1.Lines.Add('input("bekle")');

  memo1.Lines.SaveToFile('C:\deneme.py');
  ShellExecute(Handle, 'open',
                       'C:\deneme.py', nil, nil, SW_SHOWNORMAL);
end;

print("senin adin Delphi")
print("senin soyadin Can")
input("bekle")
şeklinde *.py dosyası oluşuyor ve çalışıyor yalnız, stringlerde Türkçe karakter olursa dosya oluşturuluyor ama karakterleri düzgün basmadığı için script çalışmıyor.

Tavsiyelerinizi dinlemek isterim. 
(win7 sp1 - Rio 10.3.1 CE)
Cevapla
#2
Merhaba,
İsterseniz birde aşağıdaki şekilde deneyin.
procedure TForm1.Button1Click(Sender: TObject);
var
deg1,deg2 :string;
st : TStringStream;
begin
 memo1.Clear;
 deg1:='print("senin adin '+edit1.Text+ '")';
 deg2:='print("senin soyadin '+edit2.Text+ '")';

 memo1.Lines.Add(deg1);
 memo1.Lines.Add(deg2);
 memo1.Lines.Add('input("bekle")');

 st := TStringStream.Create('', TEncoding.UTF8);
 try
   Memo1.Lines.SaveToStream(st);
   st.SaveToFile('C:\deneme.py');
 finally
   st.Free;
 end;

 ShellExecute(Handle, 'open',
                      'C:\deneme.py', nil, nil, SW_SHOWNORMAL);
end;
Cevapla
#3
Hocam ilginiz için teşekkür ederim ama maalesef sonuç değişmedi bende
print("senin adin DELPH�")  #DELPHİ
print("senin soyadin �CAN") #ŞCAN
input("bekle")
Cevapla
#4
(03-07-2019, Saat: 11:13)Hayati Adlı Kullanıcıdan Alıntı: Hocam ilginiz için teşekkür ederim ama maalesef sonuç değişmedi bende
print("senin adin DELPH�")  #DELPHİ
print("senin soyadin �CAN") #ŞCAN
input("bekle")

var
  satir1, satir2: string;
 kod: TStringList;
begin
 try
   kod := TStringList.Create;
   satir1 := 'print("senin adin ' + Edit1.Text + '")';
   satir2 := 'print("senin soyadin ' + Edit2.Text + '")';

   kod.Add(satir1);
   kod.Add(satir2);
   kod.Add('input("bekle...!");');

   kod.SaveToFile('d:\pythoncode.py', TEncoding.UTF8);
 finally
   FreeAndNil(kod);
 end;

Şu şekilde dener misiniz?
kisisel_logo_dark.png
WWW
Cevapla
#5
TEncoding.UTF8 ifadesini TEncoding.ASCII olarak değiştirip denermisiniz.
Cevapla
#6
(03-07-2019, Saat: 11:41)delphi.developer Adlı Kullanıcıdan Alıntı: TEncoding.UTF8 ifadesini TEncoding.ASCII olarak değiştirip denermisiniz.

Denedim ŞŞŞ -> SSS olarak bastı TEncoding.UTF8 işimi gördü tekrar teşekkürler.

(03-07-2019, Saat: 11:35)Halil Han Badem Adlı Kullanıcıdan Alıntı:
(03-07-2019, Saat: 11:13)Hayati Adlı Kullanıcıdan Alıntı: Hocam ilginiz için teşekkür ederim ama maalesef sonuç değişmedi bende
print("senin adin DELPH�")  #DELPHİ
print("senin soyadin �CAN") #ŞCAN
input("bekle")

var
  satir1, satir2: string;
 kod: TStringList;
begin
 try
   kod := TStringList.Create;
   satir1 := 'print("senin adin ' + Edit1.Text + '")';
   satir2 := 'print("senin soyadin ' + Edit2.Text + '")';

   kod.Add(satir1);
   kod.Add(satir2);
   kod.Add('input(bekle...!);');

   kod.SaveToFile('d:\pythoncode.py', TEncoding.UTF8);
 finally
   FreeAndNil(kod);
 end;

Şu şekilde dener misiniz?
Halil Hocam size de çok teşekkür ederim kesinlikle çalışıyor. Küçük bir düzletme gerekti sadece, elinize sağlık XML ile çözme yoluna gidiyordum yoksa
kod.Add('input("bekle")'); 
Cevapla
#7
@Hayati, yaptığınız küçük düzeltmeyi yazarsanız konuyu sonradan okuyacaklara faydası olur.  Rolleyes
Cevapla
#8
(03-07-2019, Saat: 16:24)edo Adlı Kullanıcıdan Alıntı: @Hayati, yaptığınız küçük düzeltmeyi yazarsanız konuyu sonradan okuyacaklara faydası olur.  Rolleyes

Son mesajımda belirttim hocam, en altta.

Halil Hoca 
kod.Add('input(bekle...!);');
demiş

input stringini çift tırnak içine aldım sadece
kod.Add('input("bekle")'); 

Saygılar.
Cevapla
#9
Evet ben görememişim sanırım, kusura bakmayın Blush  Ama bu şekilde kesinlikle daha görünür ve anlaşılır oldu  Angel

@Halil Han BADEM dosyaya nasıl yazılacağını göstermiş. Artık dosyaya doğru metni basma kısmında top sizde  Wink
Cevapla
#10
https://github.com/pyscripter/python4delphi
https://wiki.freepascal.org/Python4Delphi

gibi şeylerde var.
Topluluk mopluluk yok :/
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi 7 Unrar mcuyan 12 460 19-03-2024, Saat: 10:30
Son Yorum: frmman
Lightbulb Delphi 7zip Password lü Dosya Sıkıştırma ve Açma + Bonus RAR5 Desteği frmman 6 262 16-03-2024, Saat: 17:55
Son Yorum: delphi.developer
  delphi 12 ile TFileStream çalışmıyor aegean 5 420 05-03-2024, Saat: 22:23
Son Yorum: aegean
  Delphi ile geliştirdiğiniz uygulamalar neler? - İki Ödüllü Mr.Developer 20 12.672 01-01-2024, Saat: 22:46
Son Yorum: aegean
  Delphi 7 ye göre MB Döviz kurları nasıl alırız maydin60 7 962 31-12-2023, Saat: 02:18
Son Yorum: maydin60



Konuyu Okuyanlar: 1 Ziyaretçi