Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 3/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Çalışma anında program kodu yazıp çalıştırmak
#1
Merhaba arkadaşlar,
yazdığım bir programda kullanıcı basit seviyede uygulamada kod yazabilsin istiyorum. değişken tanımlama, döngü, koşullar vs. Burada yazdığı kod ile benim izin verdiğim kadarıyla yazılıma erişim sağlayacak. Bunun için nasıl bir yöntem / bileşen önerirsiniz. En olası gözüken şuan pascal script ama sizinde fikrinizi almak istedim.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#2
(27-10-2017, Saat: 17:02)boreas Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba arkadaşlar,
yazdığım bir programda kullanıcı basit seviyede uygulamada kod yazabilsin istiyorum. değişken tanımlama, döngü, koşullar vs. Burada yazdığı kod ile benim izin verdiğim kadarıyla yazılıma erişim sağlayacak. Bunun için nasıl bir yöntem / bileşen önerirsiniz. En olası gözüken şuan pascal script ama sizinde fikrinizi almak istedim.

Sizin ne güzel kullanıcılarınız var öyle. Kıskandım açıkçası Smile 

Not olarak, Fast Report'un Fast Script'i de iş görebilir, elinizde var ise.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#3
Daha önce normal TMemo alandan sql scripti işleyecek şekilde hazır özelleştirilmiş bileşen oluşturmuştum. Sqlden özeleştirilmiş query çekmeleri için. Müşteri modül ismini Comboboxtan seçiyordu. İstediği fieldlar checkbox olarak geliyordu. Koşul filtresini de devexpress in filtre ile ilgili modülü ile çözmüştüm. Halâ aktif olarak kullanılır. Hatta mssql de malum index almama sorunu olduğunda index query bu şekilde tetiklenebiliyor.

Aynı şeyi derlenmeye ihtiyacı olan Pascal kodu için nasıl yaparız işte burası benim de ilgimi çekti Shy eskiden Delphi kodlamış bir elin parmağını geçmez müşterim var ama bunu kendimize runtime hızlı çözüm için düşünebiliriz.
{ talk is cheap show me the code. }
Cevapla
#4
Ben sıcaklık kontrol cihazları geliştiriyorum. Lazarus'da yazdığım programda bu tarz cihazlar için ortak bir platform olacak. Atıyorum kullanıcı 16 sensörlü bir cihazın 5 sensörünü ısıtıcının ortalamasını almak için kullanıp,  kendi girdiği bir formülü hedef sıcaklık olarak gösterip ısıtıcı bu sıcaklığa ulaştıktan yarım saat sonra sıcaklığı kademeli olarak düşür gibi çetrefilli yapılar kurabilsin istiyorum ki bu noktaya kadar şuan ki programla yapabiliyor. Ama ihtiyaç halinde daha da komplike olacaksa girip if/then bloklarıyla bazı adımları daha rahat halledebilir düşüncesindeyim. 

Bunun için Remobjects 'in pascal script paketi var hem delphi hem lazrs. için  Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol ama daha farklı bir öneriniz var mı diye merak etmiştim. Sanırım pek ihtiyacınız olmamış Smile
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#5
(27-10-2017, Saat: 22:45)boreas Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBen sıcaklık kontrol cihazları geliştiriyorum. Lazarus'da yazdığım programda bu tarz cihazlar için ortak bir platform olacak. Atıyorum kullanıcı 16 sensörlü bir cihazın 5 sensörünü ısıtıcının ortalamasını almak için kullanıp,  kendi girdiği bir formülü hedef sıcaklık olarak gösterip ısıtıcı bu sıcaklığa ulaştıktan yarım saat sonra sıcaklığı kademeli olarak düşür gibi çetrefilli yapılar kurabilsin istiyorum ki bu noktaya kadar şuan ki programla yapabiliyor. Ama ihtiyaç halinde daha da komplike olacaksa girip if/then bloklarıyla bazı adımları daha rahat halledebilir düşüncesindeyim. 

Bunun için Remobjects 'in pascal script paketi var hem delphi hem lazrs. için  Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol ama daha farklı bir öneriniz var mı diye merak etmiştim. Sanırım pek ihtiyacınız olmamış Smile

Belki şöyle bir sınıf yazılabilir;

Run-time olarak seçilen konfigürasyon ve ihtiyaçları string cümle haline getirerek yada bir TObject oluşturarak bilgileri GenericList içerisinde muhafaza edip bu verilerde gelebilecek varyasyon ve ihtimallere göre yerleşim ve değişim işlemleri sağlanabilir.

Örnekleme açısından;

5 sensörlü ısıtıcının ihtiyaç duyacağı ısı değeri 50 birim.
5 sensörlü ısıtıcının düşeceği min değer 20 birim.

object.X := 50; // tüm bu bilgiler kullanıcıdan elde edilecek.
object.min := 20;
object.a := x;
object.b := y;
object.c := z;
...

Daha sonra yapacağınız kontrolleri yazarak içindeki hangi parametrelerden neler çıkabileceği ile ilgili ön-tahminli ama run-time'da oluşturulan reçete doğrultusunda çalışacak bir formül yazdırma işlemi sağlayın. object.tip şu olanlarda (object.x + object.y / 100)*2 gibi işlemleri ön-tanımlı hale getirebilirsiniz.

Daha önce yerleşim ile ilgili benzer bir şey yapmıştık. Kişi önceliklerine göre merkeze göre yerleştirme. Gelen kişinin yetki düzeyine göre öncelik ataması bulunuyor. Gelen kişinin yanında eşi olursa soluna eşi oturur. Bu durumda; en yetkili eşi ile geldiğinde 2. yetkili sağa oturur. Eğer eşi yoksa en yetkilinin soluna oturur. 3. en yetkili 2. yetkilinin konumuna göre yerleşir. Eğer eşi yoksa yanına, eşi varsa 1. yetkilinin eşinin yanına oturur. Eğer son koltuksa masa karşısına yerleşim başlar. Boş kalan koltukları da sıradaki kişinin katılım adedine göre doldurur. Bu düzende 4-5 kriter vardı. Son kullanıcının yapacağı şey davetlilerin öncelik ve katılım adedini girip yerleştir butonuna basmaktı.

Sizin sistemde ise süre, derece ve çeşitli işlemler bulunuyor. Yine ekstra bir zorluk gözükmüyor. Neticede her şey sensörler ve bit data yollamakla alakalı. Asıl mesele kullanıcı inputları ile hangi zamanda ne aralıkta hangi biti yollayacağını tespit etmek. Ki bunu da yine kural ve kaide içerisinde tasarlanan yarı-yapay zekalı arabirim ile çözebiliriz gibi geliyor.

Kullanıcının vereceği inputlar ve bu inputları siz kod ile yapacak olsaydınız koyacağınız kontroller, süre ve derece dışında konfigüre edilen kaç adet arabirim ve donanımın olduğunu bilirsek kullanıcı verisini tespit usulü ile formüle çevirebilir miyiz onu görebiliriz. Paylaşabileceğiniz ek bilgi var mıdır?
{ talk is cheap show me the code. }
Cevapla
#6
(27-10-2017, Saat: 22:45)boreas Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBen sıcaklık kontrol cihazları geliştiriyorum. Lazarus'da yazdığım programda bu tarz cihazlar için ortak bir platform olacak. Atıyorum kullanıcı 16 sensörlü bir cihazın 5 sensörünü ısıtıcının ortalamasını almak için kullanıp,  kendi girdiği bir formülü hedef sıcaklık olarak gösterip ısıtıcı bu sıcaklığa ulaştıktan yarım saat sonra sıcaklığı kademeli olarak düşür gibi çetrefilli yapılar kurabilsin istiyorum ki bu noktaya kadar şuan ki programla yapabiliyor. Ama ihtiyaç halinde daha da komplike olacaksa girip if/then bloklarıyla bazı adımları daha rahat halledebilir düşüncesindeyim. 

Bunun için Remobjects 'in pascal script paketi var hem delphi hem lazrs. için  Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol ama daha farklı bir öneriniz var mı diye merak etmiştim. Sanırım pek ihtiyacınız olmamış Smile

DWS Kullanabilirsiniz. (Adı öyle olmasına rağmen kapsamı sadece web ile sınırlı değildir.)

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Peyami Safa: "Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır". 
Cevapla
#7
PLC ladder programlama tarzı bir yapı yapmayı düşündünğz mü?
Grafik arayüz sayesinde kod yazmaya gerek kalmaz.
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#8
Programın grafik arayüzü ile aslında istediğin koşulları, dallanmaları yapabiliyorsun. Bu programa örnek vermek gerekirse çok basit şekilde tasarlanmış labview tarzı bir uygulama denebilir. Kullanıcının sinüs, cosinüs vb. matematik formülü girmesi mümkün ama kullanıcı geçerde CRC hesaplama yapmaya kalkarsa ya da daha ileri matematik fonksiyonları denerse ya çok zor çözecek ya da büyük ihtimalle çözemeyecek. Yazılım biraz daha şekillensin buradan görüntülerini paylaşıp fikirlerini almaya devam ederim Smile
Herkese yardımları için teşekkürler.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#9
(29-10-2017, Saat: 10:37)boreas Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlProgramın grafik arayüzü ile aslında istediğin koşulları, dallanmaları yapabiliyorsun. Bu programa örnek vermek gerekirse çok basit şekilde tasarlanmış labview tarzı bir uygulama denebilir. Kullanıcının sinüs, cosinüs vb. matematik formülü girmesi mümkün ama kullanıcı geçerde CRC hesaplama yapmaya kalkarsa ya da daha ileri matematik fonksiyonları denerse ya çok zor çözecek ya da büyük ihtimalle çözemeyecek. Yazılım biraz daha şekillensin buradan görüntülerini paylaşıp fikirlerini almaya devam ederim Smile
Herkese yardımları için teşekkürler.

Özellikle matematikle ilgili işlemler ve fonksiyonlar ise python'daki eval() ve exec() fonksiyonları işinizi görür diye düşünüyorum.Siz de bilirsiniz Python'daki bu fonksiyonlar kendisine string olarak verilen parametrenin kod gibi çalışmasını sağlar.Tabi burada kullanıcının istenmeyen fonksiyonları kullanmaması için bir kontrol mekanizması oluşturmak gerekir.Çünkü bu fonksiyonlar kendisine verilen her kodu çalıştırır bu yüzden dikkat etmek gerekir.Örneğin:

hesapla.py
#!/usr/bin/python3
import sys,math

def aritmetik(m_str):
   print( eval(m_str))

def main(argv):
    a=""
    for kl in argv:
      a+=kl
    aritmetik(a)

if __name__ == "__main__":
     main(sys.argv[1:])

böyle bir programı ./hesapla.py "math.factorial(8)"  şeklinde çağırırsak ekranda 40320 yazar../hesapla.py 2*9 diye çağırırsak 18 yazar.
Burada kullanıcılar python dilindeki math ve diğer sınıfların fonksiyonlarını kullanarak her türlü hesaplamayı yapabilirler ki Python zaten bu konuda çok iddialıdır.
Hem kullanıcıların Python öğrenmesine vesile olursunuz.Smile Geriye tek şey kaldı peki Python ile Delphiyi nasıl haberleştireceksiniz? Onu da rad studio için Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol  lazarus için Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol bulabilirsiniz.Kaldı ki siz zaten Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol haberleştirmişsiniz.Smile
Bizi Toprağa Gömdüler Fakat Tohum Olduğumuzu Bilmiyorlardı.
Cevapla
#10
(29-10-2017, Saat: 10:37)boreas Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlProgramın grafik arayüzü ile aslında istediğin koşulları, dallanmaları yapabiliyorsun. Bu programa örnek vermek gerekirse çok basit şekilde tasarlanmış labview tarzı bir uygulama denebilir. Kullanıcının sinüs, cosinüs vb. matematik formülü girmesi mümkün ama kullanıcı geçerde CRC hesaplama yapmaya kalkarsa ya da daha ileri matematik fonksiyonları denerse ya çok zor çözecek ya da büyük ihtimalle çözemeyecek. Yazılım biraz daha şekillensin buradan görüntülerini paylaşıp fikirlerini almaya devam ederim Smile
Herkese yardımları için teşekkürler.

Grafik arayüzde matematiksel fonksiyonu temsil eden bir seçenek olur ve "Cos(x)+9*9+(911/47)" gibi işlemleri buna tanımlayabilirsin. Bu hatta daha karmaşık problemleri çözen kütüphaneler mevcut. Ama CRC hesapla dersen grafik arayüzde script ekle seçeneği olur ve pascal script yazılmasını sağlarsın ve tekrar senin bahsettiğin konuya dönmüş oluruz. Smile
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Çok dilli program desteği öneri 3ddark 10 391 21-06-2018, Saat: 10:04
Son Yorum: 3ddark
  Program içinde resim üzerine yazi gonulali 1 121 06-06-2018, Saat: 11:29
Son Yorum: iyarar
  haftalık çalışma takvimi belirleme klavye 6 171 31-05-2018, Saat: 12:18
Son Yorum: klavye
  Uzak masaüstünde çalışan program, bağlantı kesildiğinde hata veriyor canbir 0 188 16-03-2018, Saat: 18:50
Son Yorum: canbir
  Program Files Yetki Sorunu narkotik 9 380 18-01-2018, Saat: 17:45
Son Yorum: SimaWB



Konuyu Okuyanlar: 1 Ziyaretçi