2010-07-04 19 views
12

के साथ डेल्फी मैं एक HTML/CSS ग्राफ़िकल यूजर इंटरफेस के साथ एक डेल्फी एप्लिकेशन विकसित करना चाहता हूं, जो आवश्यक रूप से किसी वेब ब्राउज़र से नहीं चल रहा है। मैं ऐसा करना चाहता हूं एनिमेशन के साथ एक समृद्ध ग्राफिकल यूजर इंटरफेस बनाएं और सामान्य वीसीएल घटकों/विंडोज़ देखो से अलग हो जाएं। कोई सुझाव?एचटीएमएल/सीएसएस इंटरफ़ेस

+6

मैं सीएसएस + एचटीएमएल को एक देशी विंडोज़ एप्लिकेशन से एक समृद्ध यूजर इंटरफेस लाने की उम्मीद नहीं करता जहां आप जीपीयू का लाभ उठा सकते हैं ... क्या आपने .NET और WPF (http://windowsclient.net) पर देखा है /)? नि: शुल्क डेवलपर टूल हैं जो आपको शुरू कर सकते हैं। –

+1

क्या आप इंट्रावेब जानते हैं? अगर मुझे अच्छी तरह से याद आ रहा है तो यह डेल्फी 7 से मुक्त आता है। सर्वोत्तम संबंध, राडू – RBA

+0

आरएडी स्टूडियो एक्सई 2 के रिलीज के रूप में, अब आप समृद्ध एचडी अनुप्रयोगों के लिए फायरमोनकी का उपयोग कर सकते हैं। हालांकि फायरमोनकी अभी भी बहुत कच्ची और समयपूर्व है, इसलिए मैं इसे अभी तक अनुशंसा नहीं करूँगा, लेकिन विंडोज 8 के लिए एक्सई 3 के लिए इसकी उच्च क्षमता है ... –

उत्तर

8

मेरी अनुप्रयोगों में से एक में मैं एक एक एम्बेडेड ब्राउज़र है और मैं है IDocHostUIHandler इंटरफेस लागू किया। यह मुझे "GetExternal" विधि के माध्यम से एक COM ऑब्जेक्ट का पर्दाफाश करने की अनुमति देता है। मेरे पास बस एक COM ऑब्जेक्ट है जो मेरे एप्लिकेशन के तरीकों और गुणों का खुलासा करता है जो उन्हें एम्बेडेड ब्राउज़र के अंदर होस्ट किए गए वेब पृष्ठों पर उपलब्ध कराते हैं।

तो मेरे वेब पृष्ठों में लिपि में "बाहरी। डूसमिंग()" और "i = external.GetThisValue()" जैसी रेखाएं हैं। तो, उदाहरण के लिए, बटन ऑनक्लिक घटनाओं के पीछे आप अपने आवेदन की विधि चला सकते हैं (मुख्य रूप में लागू करें, COM ऑब्जेक्ट में, या जो कुछ भी आपको पसंद है)।

यह साइट आपके डेल्फी अनुप्रयोग में एक ब्राउज़र एम्बेड करने पर जानकारी के बहुत सारे है: http://www.delphidabbler.com/articles?article=22

यह निश्चित रूप से इस सामग्री के और कई मामलों में वहाँ शायद बेहतर विकल्प हैं एक बहुत लागू करने के लिए बोझिल हो सकता है। लेकिन मेरे विशिष्ट उद्देश्य के लिए मैं एक "होम पेज" पेश करने में सक्षम हूं जिसे आसानी से संशोधित किया जा सकता है, अपने लेआउट को बदलने, देखने और यहां तक ​​कि मेरे या मेरे उपयोगकर्ताओं द्वारा आवश्यक अधिक (या कम) कार्यक्षमता का खुलासा करने के लिए भी संशोधित किया जा सकता है।

+1

सभी महान प्रतिक्रियाओं के लिए सभी को धन्यवाद !! आपने मुझे अन्वेषण करने के लिए बहुत सारे विकल्प दिए हैं। मुझे लगता है कि मैं जेनाकाई के जवाब को पूरा करने की कोशिश कर रहा हूं, मेरी सबसे अच्छी शर्त है।हर किसी के लिए फिर से धन्यवाद। यह साइट बिल्कुल बढ़िया है! –

4

यदि आप बेहतर दिखने वाले इंटरफेस के साथ डेल्फी प्रोग्राम चाहते हैं, तो HTML वास्तव में जो आप ढूंढ रहे हैं वह नहीं है। आपको वास्तव में क्या चाहिए बेहतर दिखने वाले वीसीएल नियंत्रण हैं।

उदाहरण के लिए, टीएमएस स्मूथ कंट्रोल पर एक नज़र डालें। यदि आप डेल्फी 200 9 या 2010 में हैं, तो आप इसे मुफ्त डाउनलोड here के रूप में प्राप्त कर सकते हैं। यह कई घटक पुस्तकालयों में से एक है जो आपके प्रोग्राम में एक स्लिम उपयोगकर्ता इंटरफ़ेस ला सकता है।

4

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

डेल्फी के लिए एक लोकप्रिय पुस्तकालय extpascal project है:

ExtPascal एक वस्तु पास्कल (डेल्फी, FreePascal/लाजर) आवरण/Ext जे एस, एक पूरा जीयूआई अजाक्स ढांचे, जावास्क्रिप्ट में किए गए के लिए बाध्यकारी है , रिच इंटरनेट एप्लिकेशन (आरआईए) विकास के लिए। ExtPascal आपको सर्वर द्वारा जारी ऑब्जेक्ट पास्कल कमांड से एक्सटी जेएस का उपयोग करने देता है। यह वेब ब्राउज़र प्रोग्रामिंग के लिए संरचना और ऑब्जेक्ट पास्कल का सख्त वाक्यविन्यास लाता है। ExtPascal भविष्य में रिलीज में Draw2d को लपेट देगा।

कुछ डेमो ऑनलाइन here और here हैं।

पेज। और मुझे वास्तव में संबंधित इकाइयों (परीक्षा प्रतिशत के लिए) में तत्व और फ़ॉन्ट आकार के लिए HTML/CSS समर्थन पसंद है। ब्राउजर ज़ूम इन/ज़ूम आउट और WCAG के साथ संयुक्त, यूजर इंटरफेस एरगोनिटी बहुत बेहतर नहीं हो सकता है।

9

एचटीएमएल और सीएसएस आपके पैरों पर एनिमेशन या रिच यूजर इंटरफेस वितरित नहीं करेगा। वास्तव में, इससे दूर। काफी विपरीत। आपको टूलकिट में निवेश करने की आवश्यकता होगी ताकि उस तरह की कार्यक्षमता प्रदान की जा सके और लगभग निश्चित रूप से जावास्क्रिप्ट को शामिल किया जा सके। और यहां तक ​​कि यदि आप नहीं चाहते हैं कि आपका अंतिम एप्लिकेशन किसी वेब ब्राउज़र में होस्ट किया गया हो, तो भी आपके एप्लिकेशन को अपने एचटीएमएल/सीएसएस/जावास्क्रिप्ट यूआई को प्रस्तुत करने के लिए एक वेब ब्राउज़र होस्ट करना होगा, और फिर आपके पास कनेक्ट करने का एक और कठिन काम होगा आपके आवेदन तर्क के लिए जीयूआई (जब तक कि आप वास्तव में एक वेब अनुप्रयोग वास्तुकला गले लगाते हैं)।

डेल्फी (या उस बात के लिए किसी भी Windows अनुप्रयोग विकास भाषा) आप ज्यादा हो जाता है, बहुत आगे HTML या CSS तुलना में एक अधिक बस, प्रभावी ढंग से और जल्दी से लागू किया रिच उपयोगकर्ता इंटरफ़ेस की ओर सड़क के नीचे।

यदि आपको मानक डेल्फी नियंत्रण (जो संक्षेप में आप कह रहे हैं) के स्वरूप और अनुभव को पसंद नहीं करते हैं तो कई वैकल्पिक पुस्तकालय उपलब्ध हैं।

यह भी ध्यान में रखें कि जब कोई विंडोज अनुप्रयोग का उपयोग करता है तो वे उम्मीद करते हैं कि यह एक बड़ी हद तक एक निश्चित तरीके से दिखने और व्यवहार करने की अपेक्षा करता है। एक डेस्कटॉप एप्लिकेशन में फैंसी, वेब आधारित प्रतिमान का उपयोग करने के लिए बस इसके लिए बहुत दूर ले जाने पर उपयोगकर्ताओं को भ्रमित और निराश करने की संभावना है।

मैं सम्मेलन के साथ तोड़ यूजर इंटरफेस के लिए सभी जहां यह एक अधिक सहज उपयोगकर्ता इंटरफ़ेस की ओर जाता है, लेकिन बस जा रहा है "खूबसूरत" जरूरी उस दिशा में नेतृत्व नहीं करता हूँ और सिर्फ हठधर्मिता से सम्मेलन का पालन करने के रूप में के रूप में गुमराह है।

+1

जबकि मैं 2010 में वापस इस जवाब के साथ बहस नहीं करूँगा, अब 2015 में, यह उत्तर अब प्रासंगिक नहीं है। एंगुलरजेएस (और बूटस्ट्रैपयूआई जैसे घटकों) जैसे एचटीएमएल 5, CSS3 और ढांचे की प्रगति और उनके प्रदर्शन उन्हें डेल्फी अनुप्रयोगों में एकीकरण के लिए बहुत व्यवहार्य उम्मीदवार बनाते हैं। –

+0

@ पीटर - मुझे लगता है कि यही कारण है कि उत्तर (और प्रश्न) दिनांक/समय स्पष्ट रूप से दिखाई देता है। ;) निरंतर प्रासंगिकता के लिए एसओ पर सभी सामग्री को रेट्रो-संपादन अव्यवहारिक है। सामग्री के उपभोक्ताओं को मुझे कुछ सामान्य ज्ञान लागू करना होगा जो मुझे डर है। निश्चित रूप से इस विशेष मामले में डेल्फी स्वयं ही महत्वपूर्ण रूप से आगे बढ़ी है। एफएमएक्स (इसे प्यार या इससे नफरत है) के साथ ओपी ने पूछा कि एपीआई (एनीमेशन, गैर-वीसीएल लुक इत्यादि) एचटीएमएल तक पहुंचने के बिना अपने समझ में आसानी से हैं। :) – Deltics

+0

मैं पूरी तरह से आपसे सहमत हूं। और हां, यूपी और उपयोग में आसानी के मामले में डेल्फी एक लंबा सफर तय कर चुका है, लेकिन मेरा मानना ​​है कि कुछ लोग अभी भी वेब घटकों को एकीकृत करना चाहते हैं (जैसे AngularJS या EmberJS)। मुझे बस यह इंगित करने की आवश्यकता महसूस हुई कि ओपी के प्रश्न के लिए अद्यतित उत्तर की तलाश करने वाले किसी को भी देखने की आवश्यकता हो सकती है। –

2

एचटीएमएल विकल्प 1

आप relly HTML + सीएसएस (+ जावास्क्रिप्ट) उपयोग करने के लिए एक जीयूआई का निर्माण करना चाहते हैं, तो आप HTML Applications, Microsoft से एक बहुत ही आकर्षक अवधारणा पर एक नज़र हो सकता है। एचटीएमएल एप्लीकेशन,। एचटीए फाइलें, विंडोज़ एमई से समर्थित हैं, अगर मुझे सही याद है, और वे अभी भी विंडोज 7 पर समर्थित हैं।

आप एक HTML एप्लिकेशन (यानी एक एचटीए फ़ाइल) बना सकते हैं, और ऐसा करके, केवल एचटीएमएल, सीएसएस, और जावास्क्रिप्ट का उपयोग कर एक जीयूआई बनाना। जब उपयोगकर्ता एचटीए फ़ाइल को डबल-क्लिक करता है, तो यह एक प्रोग्राम की तरह खुल जाएगा, लेकिन जीयूआई पूरी तरह से एचटीएमएल पर आधारित है; वास्तव में, पूरी खिड़की छिपाने में एक इंटरनेट एक्सप्लोरर खिड़की है।

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

बस एक विचार ...

एचटीएमएल विकल्प 2

वैकल्पिक रूप से, आप एक सामान्य डेल्फी जीयूआई एप्लिकेशन बना सकते हैं, लेकिन Align := alClient का उपयोग करके पूरे मुख्य फ़ॉर्म को TWebBrowser (एक IE नियंत्रण) से भरें। फिर आप स्थिर एचटीएमएल पेज (प्रोग्राम फाइल फ़ोल्डर या इंटरनेट पर संग्रहीत) लोड कर सकते हैं, या आप दिखाने के लिए एचटीएमएल पेजों को गतिशील रूप से बनाने के लिए डेल्फी का उपयोग कर सकते हैं। मुझे लगता है कि नियंत्रण से लिंक को अवरुद्ध करना संभव है, ताकि आप डेल्फी कोड का उपयोग कर लिंक का जवाब दे सकें।

ओपनजीएल के बारे में क्या?

यदि आप सामान्य विंडोज़ देखो और महसूस से "तोड़ना" चाहते हैं, तो मैं आपको ओपनजीएल का उपयोग करके अपना जीयूआई बनाने की सलाह दूंगा। ओपनजीएल के साथ डेल्फी एप्लिकेशन बनाना बहुत आसान है (जब तक आप ओपनजीएल से परिचित हों) - बस अपनी uses सूची में "ओपनजीएल" जोड़ें।

1

पहला यह: मैं पूरी तरह से डेल्टिक्स के उत्तर से सहमत हूं।

यह कहकर कि, यदि आप एचटीएमएल और सीएसएस (और जावास्क्रिप्ट और AJAX इत्यादि) मास्टर करते हैं और आप किसी वेबसाइट की गतिशीलता को चलाने के लिए डेल्फी कंपाइलर की शक्ति और गति का उपयोग करने के लिए एक तरीका ढूंढ रहे हैं, तो यह हो सकता है ब्याज की।

मैंने एक ऐसी परियोजना बनाई है जो एक वेबसाइट चलाने वाली लाइब्रेरी बनाने के लिए डेल्फी कंपाइलर का उपयोग करती है। स्रोत-फ़ाइलें एचटीएमएल और डेल्फी को जोड़ती हैं, जो कि अन्य वेब-स्क्रिप्टिंग टूल की तरह है, लेकिन पेज-रीफ्रेश पर संसाधित हो जाती है, और स्वचालित रूप से संकलित होती है। यह एक 'लाइब्रेरी हैंडलर' का उपयोग करता है जो वेबसाइट लाइब्रेरी में आपके द्वारा पसंद की जाने वाली किसी भी चीज़ में प्लग करता है: आईआईएस, अपाचे, स्टैंडअलोन HTTP सर्वर (होस्टिंग के लिए), या सीधे इंटरनेट एक्सप्लोरर या फ़ायरफ़ॉक्स (जो विकास के लिए बहुत अच्छा है) में प्लग करता है। क्यूटी की

http://xxm.sourceforge.net/

1

नया संस्करण इंटरफेस के लिए उपयोग करने के लिए HTML/JS क्षमता होती है। मुझे नहीं पता कि डेल्फी के लिए क्यूटी लाइब्रेरी बाइंडिंग है, लेकिन क्यूटी बिल्कुल वही है जो आप चाहते हैं।

0

आप अपने डेल्फी/पास्कल वस्तु 'पृष्ठभूमि' रखने के लिए और आप भी Morfik को एक नजर है रिया की तरह एक वेब करना चाहते हैं: link text

+0

Morfik को एक सर्वर की आवश्यकता है, और आप इसे जानते हैं। –

+0

@ जोनलेनर्टएसेन्डेन अजीब टिप्पणी! सवाल 'सर्वर के बिना' नहीं कहता था और मेरा जवाब सिर्फ दिमाग को 'खुला' करने के लिए था। तो, मैं एक Morfik विशेषज्ञ नहीं हूँ लेकिन यह 'सर्वर के बिना' तैनात करने के लिए समाधान हो रहा है: http://wiki.morfik.com/wiki3/Deployment_on_Windows#Stand-alone-xapp – philnext

+0

मैं अपने खुद के सिस्टम है: http://www.op4js.com –

1

रिच जीयूआई और एनीमेशन के लिए, क्या आपने केएसडीव DXScen और VGScene पर देखा है?

+1

अब इसे फायरमोन्की कहा जाता है, और डेल्फी का हिस्सा है। – Torbins

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