PDA

View Full Version : تبدیل یک string به کد در زمان کامپایلر بو وسله رهنمود کامپایلر



firststep
جمعه 03 آبان 1392, 19:24 عصر
با سلام می خواستم بدونم ایا میشه یک string رو در زمان کامپایل به کد تبدیل کرد و بعد از اون کد استفاده نمود در کامپایل
مثلاٌ به این شگل اگر برای مثال :
var
s:string;
begin

s:= 'self.close';s
end;
باشه
کامپایلر او رو به این شکل ببینه در زمان کامپایل

begin

self.close;

end;
*تگ کد ویرایش شد :چشمک:

MohsenB
جمعه 03 آبان 1392, 20:34 عصر
سلام

هدفتون چیه؟ میشه بیشتر توضیح بدید؟ سوالتون نا مفهومه . از تگ "کد پاسکال" هم استفاده کنید .

Nima NT
جمعه 03 آبان 1392, 21:33 عصر
از TMS Pascal Script استفاده کنید

BORHAN TEC
جمعه 03 آبان 1392, 22:39 عصر
سلام
روشهای مختلفی برای اینکار وجود داره:
- استفاده از Pax Compiler
- RemObjects Pascal Script
- TMS Script Studio
- Fast Script
- DWScript
- و ... .

firststep
جمعه 03 آبان 1392, 22:41 عصر
ضمت تشکر از اقای عباسی بخاطر محبتشان
هدفم دقیق:
برای توسعه یک محصول (کامپوننت) نیاز دارم که برای نمایش دادن بر روی فرم
از تگهای HTML استفاده کنم در وسط کدهام
مثلاً اگر قرار مقداری رو نشون درون یک لینک
به این صورت باشه


<a href='www.link.com'>
self.label1.caption;
</a>



( البته به این صورت مد نظرم هست

<a href='www.link.com'>
#p self.label1.caption;#p
</a>

که فرقی هم بین کدهای pascal,html باشه
مثل زبانهای php
)

تصمیم دارم این رو به صورت string در property این کامپوننت ذخیره کنم
در زمان کامپایل و قبل از اینکه عملیات کامپایل انجام بشه اون رو به این صورت در بیاره


htmlcod:='<a href='www.link.com'>'+
+ self.label1.caption+
'</a>'


در حقیقت می خوام که کامپایلر اون رو به این شکل در نظر بگیره
نمی دونم تونستم بگم هدفم چی هست:ناراحت:

firststep
جمعه 03 آبان 1392, 22:45 عصر
میشه بیشتر توضیح بدین



روشهای مختلفی برای اینکار وجود داره:
- استفاده از Pax Compiler
- RemObjects Pascal Script
- TMS Script Studio
- Fast Script
- DWScript
- و ... .

MohsenB
شنبه 04 آبان 1392, 00:32 صبح
سلام

فکر نکنم منظورشون اجرای کد تو ران-تایم باشه ، فقط میخوان بتونن کدشونو راحتتر تو یه متن قرار بدن .
من روش زیر رو پیشنهاد میکنم :

ابتدا یه جایی فرمت مورد نظرتون رو تعریف کنید : مثلا مثل من بصورت ثابت و یه یکم پیشرفته تر تو ریسورس-استرینگ و ...

const
DEF_MYLINK_FORMAT = '<a href="%s">%s</a>';

حالا هرجا نیاز به جایگزاری دارید کافیه مثل کد زیر رو بنویسید :

HtmlCode:= Format(DEF_MYLINK_FORMAT, [label1.caption, label2.caption]);

من یک افزونه دیگه بهش اضافه کردم که بتونید مطلب رو برای موارد بیشتر درک کنید .


موفق باشید

BORHAN TEC
شنبه 04 آبان 1392, 00:39 صبح
که فرقی هم بین کدهای pascal,html باشه
مثل زبانهای php
اگه درست متوجه شده باشم شما قصد دارید که چیزی مثل PHP بسازید. توجه داشته باشید که با استفاده از DWScript شما می توانید برنامه های وبی به صورت دینامیک بسازید:
http://francois-piette.blogspot.co.uk/2013/06/dynamic-web-page-using-delphi-ics-and.html