2009-09-01 11 views
22

सी #, एएसपी.नेट, एमएस एक्सेस, लिनक्स और मोनो के साथ बड़ी संगतता समस्याओं में भाग लेने के बाद, मैंने क्रॉस-प्लेटफॉर्म वाली भाषा में प्रोग्राम करने का निर्णय लिया है , ओपन सोर्स, और एम्बेडेड डेटाबेस के साथ संगत है जो कई प्लेटफॉर्म के साथ भी संगत है। मैंने अपनी पसंद को टीसीएल तक सीमित कर दिया।टीसीएल टीके को स्टैंडअलोन एप्लिकेशन में कनवर्ट करने के लिए सबसे सरल कदम

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

क्या कोई भी टीसीएल टीके स्क्रिप्ट को परिवर्तित करने की दिशा में सरल कदम प्रदान करने में सक्षम होगा, जैसे किसी पाठ में एक लेबल, या एक वेब संसाधन जिसमें एक बहुत सीधी आगे स्पष्टीकरण है?

उत्तर

24

स्टारपैक बनाने के लिए आपको एक की आवश्यकता है) tclkit रनटाइम, बी) sdx.kit। आपको "बेसकिट" की भी आवश्यकता है, निष्पादन योग्य जो आपके टीसीएल कोड के साथ लपेटा जाएगा। इस उदाहरण के लिए मुझे लगता है कि आप उसी प्लेटफॉर्म के लिए एक एप्लिकेशन बना रहे हैं जिस पर आप चल रहे हैं। आप इस तरह के "basekit"

% ls 
sdx.kit tclkit 
% cp tclkit basekit 
% ls 
basekit sdx.kit tclkit 

के रूप में, एक और नाम के लिए बस tclkit को कॉपी करके एक basekit बना सकते हैं (या खिड़कियों पर tclkit.exe) अब, कोड है कि आप एक निष्पादन में लपेटा है करने के लिए चाहते हैं।

% mkdir myapp.vfs 
% cat > myapp.vfs/main.tcl 
package require Tk 
label .l -text "Hello, world" 
pack .l 
^D 
% ls myapp.vfs 
main.tcl 

: सम्मेलन अपने एप्लिकेशन का नाम और प्रत्यय ".vfs" ('आभासी फाइल सिस्टम' के लिए) के साथ एक निर्देशिका बनाने के लिए है, तो उस निर्देशिका में एक फ़ाइल नाम 'main.tcl' बनाने है अब रैपिंग करने के लिए: इसके लिए आपको sdx.kit फ़ाइल की आवश्यकता होगी। यह और tclkit (या tclkit.exe) अपने वर्तमान कार्यशील निर्देशिका में हैं मान लिया जाये, तो आप इस तरह अपने अनुप्रयोग लपेट:

% ./tclkit sdx.kit wrap myapp -runtime basekit 
1 updates applied 
% ls 
basekit myapp myapp.vfs sdx.kit tclkit 

रैप आदेश जानता है जब आप इसे तर्क "MyApp" दे कि यह सामग्री लपेट चाहिए myapp.vfs का, और यह उस निर्देशिका में प्रोग्राम प्रविष्टि बिंदु होने के लिए "main.tcl" नाम की एक फ़ाइल को देखना चाहिए। आप उस निर्देशिका में जो भी अन्य फाइलें चाहते हैं उसे डाल सकते हैं और वे सभी प्लेटफॉर्म-विशिष्ट बाइनरी फाइलों, छवि फ़ाइलों और कुछ भी जिन्हें आप बंडल करना चाहते हैं, सहित लपेटा जाएगा।

अब आपके पास एक निष्पादन योग्य फ़ाइल है, 'myapp', जो लपेटा हुआ एप्लिकेशन है।

यदि आपके पास विभिन्न प्लेटफार्मों के लिए क्रॉस-कंपाइल करने के लिए विभिन्न आर्किटेक्चर के लिए tclkits हैं (आप लक्ष्य आर्किटेक्चर के लिए किट के साथ कमांड लाइन पर 'बेसकिट' को बदलकर) का उपयोग कर सकते हैं।

अधिक जानकारी के लिए Tcl'ers Wiki

+0

धन्यवाद ब्रायन - आपका उत्तर बहुत अच्छा लग रहा है। मुझे अभी शुरू करने में सक्षम होना चाहिए। डीएफएम – DFM

+0

sdx.kit और tclkit के बारे में प्रश्न - मुझे लगता है कि मुझे sdx और tclkit qwrap नहीं मिल रहा है। Sdx और tcl को qwrap प्राप्त करने का प्रयास करने में कुछ घंटों खर्च करने के बाद, मुझे त्रुटि अमान्य कमांड नाम मिल रहा था। मैंने वेब निर्देशों का भी पालन किया और tclkit.exe को tclkitsh.exe में बदल दिया। मुझे लगता है कि मुझे एसडीएक्स फ़ाइल में समस्या है। आप एसडीएक्स फ़ाइल कैसे डाउनलोड करते हैं? मैं बस इतना कर सकता हूं कि टेक्स्ट को नोटपैड पर कॉपी करें और एक्सटेंशन को .kit में बदलें। एसडीएक्स फ़ाइल सामान्य फ़ाइल की तरह डाउनलोड नहीं होती है, और मैंने कई संस्करणों की कोशिश की है (?) धन्यवाद डीएफएम – DFM

+0

किसी भी तरह sdx.kit के पाठ की प्रतिलिपि बनाना काम नहीं करेगा - यह एक बाइनरी फ़ाइल है। शायद आपको स्रोत कोड मिल रहा है? इस लिंक से डाउनलोड करें: http://www.equi4.com/pub/sk/sdx.kit। –