2012-04-13 6 views
18

मैं एक साधारण घटक की तलाश में हूं जो डेल्फी में गणितीय अभिव्यक्ति प्रदर्शित करता है। जब मैंने शुरू किया तो मैंने सोचा कि नेट पर कुछ ढूंढना आसान होगा, लेकिन यह पता चला कि यह अनुमानित से कठिन था। बहुत सारे और बहुत सारे घटक हैं जो पार्स गणितीय अभिव्यक्तियां हैं, लेकिन कुछ (कोई नहीं?) जो उन्हें प्रदर्शित करेंगे।गणितीय अभिव्यक्तियों को प्रदर्शित करने के लिए डेल्फी घटक या पुस्तकालय

आदर्श रूप से मैं एक घटक को एक टीएलएबल के रूप में सरल बनाना चाहता हूं, जहां मैं कुछ अभिव्यक्ति में कैप्शन सेट कर सकता हूं और यह सही तरीके से प्रदर्शित किया जाएगा, लेकिन कुछ प्रकार की लाइब्रेरी जो मुझे कैनवास में अभिव्यक्ति आकर्षित करती है, वह भी पर्याप्त होगी मेरी जरूरते।

अद्यतन:

मैं कार्यों या ऐसा ही कुछ के रेखांकन की साजिश रचने के बारे में बात नहीं कर रहा हूँ।

enter image description here

समाधान::

मैं (उदाहरण के लिए)

(एक्स^2 + 3)/एक्स

इस तरह प्रदर्शित करना चाहते हैं

एमबीओ ' जवाब सिर्फ वही था जो मैं खोज रहा था। कुछ लोगों को इस तथ्य से दूर रखा जा सकता है कि सभी टिप्पणियां और दस्तावेज रूसी में हैं, लेकिन आपको डराने की अनुमति न दें। यह उपयोग करना वास्तव में आसान था।

स्थापना: फ़ाइलों को अनजिप करें (कम से कम "ExprMake.pas" और "ExprDraw.pas") को अपने लाइब्रेरी पथ में निर्देशिका में। बस।

उपयोग करें: मैंने इसके साथ बड़े पैमाने पर प्रयोग नहीं किया है, लेकिन ये कुछ पंक्तियां दर्शाती हैं कि यह कितना आसान है।

procedure TForm1.Button1Click(Sender: TObject); 
var 
    vExprC : TExprClass; 
    vExprB : TExprBuilder; 
begin 
    vExprB := TExprBuilder.Create; 
    try 
    vExprC := vExprB.BuildExpr('(X^2+3)/X'); 
    vExprC.Canvas := Canvas; 
    vExprC.Font.Size := 50; 
    vExprC.Draw(10,10,ehLeft,evTop); 
    finally 
    vExprC.Free; 
    vExprB.Free; 
    end; 
end; 

उत्तर

14

Native Delphi module एंटोन Grigoriev द्वारा गणितीय अभिव्यक्ति आकर्षित करने के लिए। सहायक कार्यक्रम - रूसी में। This is how it looks

क्रेडिट के बारे में अतिरिक्तता: मॉड्यूल निःशुल्क हैं।लेखक केवल पूछता है उल्लेख करने के लिए (AboutBox आदि) कि गणितीय अभिव्यक्ति ExprDraw और ExprMake मॉड्यूल, एंटोन Grigoriev (readme.txt से कच्चे अनुवाद) द्वारा लिखित के माध्यम से तैयार की गई है

+1

बहुत बढ़िया! मुझे रूसी सीखने का बहाना चाहिए :-) –

+0

क्या यह XE2 के तहत काम करने जा रहा है? – Pateman

+0

@ पेटमैन: एक आकर्षण की तरह काम किया। –

4

मैं एक देशी डेल्फी कार्यान्वयन के बारे में पता नहीं है, लेकिन हो सकता है इस सवाल का आप के लिए उपयोगी है: How to render a formula in WPF or WinForms। इसमें कुछ सी/सी # समाधान शामिल हैं जो संभावित रूप से अनुवाद या डीएलएल के रूप में उपयोग किए जा सकते हैं (ओपी का समाधान देखें)।

एक और विकल्प यह Formulator ActiveX Control हो सकता है।

इसके अलावा यदि आप कुछ अन्य खोज मानदंडों का उपयोग करते हैं, तो विशेष रूप से "डेल्फी" कीवर्ड के बिना, यह आपके खोज परिणामों को विस्तृत कर सकता है। ;-)

renderer, formula, math, MathML, expression, engine, tex, ... 

और जैसा कि हमने MBo's answer से सीख सकते हैं, यह भी :-)

delphi математических формул рисования 

अन्य भाषाओं में खोज करने के लिए एक अच्छा विचार हो सकता है मुझे यकीन है कि आप ऐसा ही कुछ के लिए खोज कर रहा हूँ , लेकिन संभवतः एक ऐसा कीवर्ड है जिसे आप भूल गए हैं।

+3

+1 "प्रस्तुत करना" मुझे सबसे महत्वपूर्ण कीवर्ड लगता है :-) –

0

मैं एक ही समस्या कई महीनों के लिए किया था पहले, मैंने इसे लाटेक्स रेंडरर डीएलएल प्राप्त करके हल किया जिसे डेल्फी से बुलाया जा सकता था। फिर आपने इसे केवल एक स्ट्रिंग के रूप में अभिव्यक्ति देकर कहा, और यह आपको इसमें प्रस्तुत अभिव्यक्ति के साथ एक बिटमैप लौटा दिया।

मैं दुर्भाग्य से नाम भूल गया :(लेकिन आप "लेटेक्स dll डेल्फी" की तलाश द्वारा फिर से यह पता लगाने के लिए?

+0

क्या आप कुछ सोर्स कोड का खुलासा कर सकते हैं? – menjaraz

+0

मैंने बहुत पहले स्रोत खो दिया था। मुझे याद है कि यह उपयोग करना बहुत आसान था, खासकर यदि आप एक अच्छा इंटरफ़ेस इकाई बनाने के लिए समय लेते हैं। – Thomas

+0

उत्तर देने के लिए धन्यवाद। मौका से Wasnit * Ghostscript *? – menjaraz

2

मैं कुछ समय के लिए एक समान घटक और MBO के समाधान के लिए देख रहा था स्वीकार्य होगा सक्षम होना चाहिए।

मैं विश्वास हो गया कि यह किसी अन्य तरीके से भी किया जा सकता है: एक TWebBrowser एम्बेड करने और एक exixting लेटेक्स और MathML सूत्रों के लिए जावास्क्रिप्ट रेंडरर, लेकिन ...

मैं सिर्फ कोशिश की QDSEquations और मुझे लगता है कि यह भी एक का उपयोग बेहतर समाधान!

« डेल्फी घटक समीकरण संपादक जो आपको सरल यूनानी प्रतीकों से मैट्रिक्स और जटिल अभिन्न अभिव्यक्तियों से किसी भी जटिलता के गणित सूत्रों को दर्ज और प्रदर्शित करने की अनुमति देता है। उदाहरण के लिए डेल्फी पर्यावरण में लिखे गए अपनी परियोजनाओं में समीकरण संपादक का उपयोग कर सकते हैं, उदाहरण के लिए विभिन्न गणित क्षेत्रों (गणितीय विश्लेषण, पृथक गणित, संभाव्यता सिद्धांत और ), भौतिकी और अन्य के ज्ञान का परीक्षण करने वाले कार्यक्रमों में।

यह उस में सूत्रों दर्ज करने के लिए काफी आसान है:

  • सरल प्रतीकों एक पाठ क्षेत्र में डेटा दर्ज करने
  • विशेष प्रतीकों और सूत्र तत्वों एक अतिरिक्त मेनू »की मदद से दर्ज किया गया है करने के लिए इसी तरह दर्ज की जाती हैं

यह बेहतर है क्योंकि आप एक अतिरिक्त बटन-मेनू घटक और/या हमें की मदद से एक "पाठ फ़ील्ड" घटक में सीधे सूत्र संपादित कर सकते हैं गणित अभिव्यक्ति स्ट्रिंग और/या पूर्व परिभाषित तरीकों का उपयोग करना।

आशा है कि इससे मदद मिलेगी!

संबंधित मुद्दे