# Native Code > برنامه نویسی در Delphi > توسعه نرم افزار تحت وب >  آموزش کار با IntraWeb در دلفی

## Delphi Skyline

با intraweb شما می توانید یک سایت جالب با دستورات دلفی بسازید .
در این درس ما فقط با نحوه ی ساخت یک صفحه ساده با اینتراوب آشنا می شویم.

دلفی را باز کنید .

از منوی new --> ادر (other) را برگزینید .

خوب حالا به صفحه intraweb رفته و روی stand alone application کلیک کنید.

حالا در صفحه ای که باز شد باید مسیر ذخیره شدنشو بدید .

خوب حالا یک صفحه از نوع intraweb باز شده است.

حالا کلید shift و f12 را با هم فشار دهید .

formmain را انتخاب کرده و روی ok کلیک کنید .

اینم از فرم . 

حالا نوبت استفاده از کامپاننت ها رسیده است .

تمام کامپاننت های Visual برای استفاده از intraweb در صفحات iw standard و iw data و هر چی که iw اولش داره  ............... 

* توجه : از بعضی از component های غیر visual هم در form مان هم میشه استفاده کرد.

---> مثال : این مثال به این صورت است که اگر رمز عبور را درست وارد کردید یک دیتابیس (access) در صفحه نمایش داده شود.

1 -  یک iwbutton و یک iwedit و یک iwdbgrid و یک adotable(از iw ها نیست) و یک datasorce(این هم از iw ها نیست) روی فرم قرار دهید .

2 -  adotable خود را به database مورد نظر وصل کنید و خاصیت active آن را برابر true کنید .

3 - datasource خود را به adotable نسبت دهید .

4 - خاصیت visible شی IWDBGrid1 را برابر false کنید

۵ - IWDBGrid1 را به datasorce نسبت دهید .

6 -  بر روی iwbutton1 دابل کلیک کنید تا وارد code نویسی آن شویم. 

برای iwbutton بنویسید :


if iwedit1.caption= 'hello' then

iwdbgrid1.visible&#58;=true

else

webapplication.showmessage&#40;'Hello'&#41;;



7 - برنامه را اجرا کنید. وقتی برنامه اجرا شد باز هم کلید f9 را فشار دهید .

حال صفحه وب خود را مشاهده می کنید.

----------


## mkalone

چگونه می توان این فایل را بروی سرور فرستاد
آنجا که می نی تونیم کلید f9 بزنیم باید خودش در جواب درخواست کاربر اجرا بشود
مرسی اگر توضیح بدهید
من یک سایت طراحی کرده ام ولی مشکل f9 را داریم برروی سرور ؟

----------


## Delphi Skyline

آقای Assistant اینو گفتن اما متوجه نشدم

----------


## vcldeveloper

> آقای Assistant اینو گفتن اما متوجه نشدم


شما که خودتون هنوز کاملا با موضوع آشنا نشدید، چطور یه تاپیک جدید ایجاد کردید و شروع به *تدریس* نمودید؟!!

----------


## spicirmkh

سلام

استاد گرامی آقای کشاورز 

اگر من برنامه ای با intraweb نوشته باشم برروی کامپیوتر باید F9 زده شود حال برنامه بخواهیم روی سرور شرکت بگذاریم چگونه browser  این فایل Exe اجرا می کند . 

تا جائی که می دانم شروع یک صفحه وب دنبال فایل Index.htm می گردد در حالی که فایل ما EXE است

2- برای اجرا باید رابط intraweb  و کلید F9 زده شود یا می تواند اتوماتیک اجرا شود

با تشکر

----------


## Saeid59_m

این دیگه کاری نداره 
وقتی برنامه اجرا شد توی اکسپلورر Save As ‌بزنید فایل اچ تی ام ال رو جایی ذخیره کنید . بقیش که آپلوده .

----------


## vcldeveloper

تا جایی که می دونم، اون فایل EXE برای اجرای در وب سرور آزمایشی IntraWeb برای Debug استفاده میشه و برنامه شما در نهایت برای گذاشتن روی سرور اصلی بصورت یک DLL (ISAPI) در میاد.
آقای قابیل روی Intraweb زیاد کار کردن، احتمالا ایشون جواب دقیقتری بهتون میدن.

----------


## ب- تات

با اجازه اساتید.
همونطورئ که جناب کشاورز گفتند شما میتوانی پروژه EXE خود را تبدیل به DLL نمائید . کافی یه پروژه اینتراوب جدید از نوع ISAPI ایجاد کنید و کلیه فرمها و یونیتهایی که در پروژه StandAlone ایجاد کرده بودید  به پروژه جدید ADD کنید حالا فقط کافیه کلید CTRL+F9 را بزنید . فایل DLL شما ساخته میشود. اینک هم EXE را دارید هم DLL هر تغییری که در فایل EXE دادید یک بار هم پروژه Dll را بازکنید و CTRL+F9 را بزنید تا Dll جدید ساخته شود . فقط اگر فرمی کم یا زیاد میکنید باید در پروژه DLL هم اون رو کم یا زیاد کنید.
قضیه به اینجا ختم نمیشود.اگر در مورد اجرای DLL مشکلی داشتید در خدمتم.

----------


## ب- تات

> وقتی برنامه اجرا شد توی اکسپلورر Save As ‌بزنید فایل اچ تی ام ال رو جایی ذخیره کنید . بقیش که آپلوده


امتحان کنید و نشدنش رو خودتون ببینید.

----------


## Saeid59_m

> امتحان کنید و نشدنش رو خودتون ببینید.


من امتحان کردم و شد 
البته با دیتا بیس امتحان نکردم

----------


## vcldeveloper

> این دیگه کاری نداره 
> وقتی برنامه اجرا شد توی اکسپلورر Save As ‌بزنید فایل اچ تی ام ال رو جایی ذخیره کنید . بقیش که آپلوده .


عزیز جان، IntraWeb یک Web Application ایجاد میکنه که خروجیش بصورت کدهای HTML به کاربر نمایش داده میشه، Save As کردن فایل Html فقط خروجی رو ذخیره میکنه، نه برنامه ایی که اون خروجی رو بصورت دینامیک تولید کرده!
بهتره درباره فرق یک Web Application با یک خروجی HTML بیشتر تحقیق کنید.

----------


## spicirmkh

سلام

فرض کنیم فایل بصورت DLL ایجاد کرده ایم این فایل چگونه برروی سرور فراخوانی می شود 
آیا برنامه HTML که روی سرور است به زبان ASP نوشت و توی این برنامه فایل DLL صدا زد یا اینکه خود وب سرور این فایل می تواند اجرا کند 

لطفا اگر یک Demo  خیلی ساده که بشود متوجه شد چگونه اجرا میشود بگذارید ممنون می شوم 

با تشکر

----------


## ب- تات

بهترین Demo در خود شاخه نصب دلفی (هر ورژنی بالا تر از 5 که باشد) میباشد.
شما حتما باید فایل DLL را از طریق IIS  و ایجاد یک Virtual Directory در محل فیزیکی فایل DLL در هارد سرور مربوطه اجرا کنید . اونوقت راحت میتونید از طریق هر لینکی فایل Dll را صدا بزنید البته با توجه به نامی که در IIS  انتخاب کرده اید.

----------


## Peresident_y

> سلام
> 
> استاد گرامی آقای کشاورز 
> 
> اگر من برنامه ای با intraweb نوشته باشم برروی کامپیوتر باید F9 زده شود حال برنامه بخواهیم روی سرور شرکت بگذاریم چگونه browser این فایل Exe اجرا می کند . 
> 
> تا جائی که می دانم شروع یک صفحه وب دنبال فایل Index.htm می گردد در حالی که فایل ما EXE است
> 
> 2- برای اجرا باید رابط intraweb و کلید F9 زده شود یا می تواند اتوماتیک اجرا شود
> ...


مثل این که با فرمت آدرس آشنا نیستید  
http://127.0.0.1:8888/EXEC/0/C4AA980...30421200110749 



این ادرس از قسمتهای زیر تشکیل شده

•1 – Protocolo 
•2 – Endereço do Servidor 
•3 – Porta (pode ser trocada no ServerController.Port se for Stand Alone) 
•4 – Comando de Execução (definido no ServerController.ExecCmd) 
•5 – Contador (incrementado a cada requisição) 
•6 – SessionID – ApplicationID e dados de data/hora (além da URL, pode ser controlado por cookies ou hiddenFields, em ServerController.TrackMode)

----------


## دلفــي

برای کسب اطلاعات بیشتر فایل زیر را دانلود کنید :

http://www.4shared.com/file/pyP89UvQ/Intraweb_Farsi.htm

موفق باشید

----------


## ب- تات

آیا کسی از دوستان در مورد intraweb 11 که جدید توی سایت مرجع اون قرارداده شده اطلاع و یا آموزشی داره؟ در ضمن از کجا میشه اون شماره سریالش رو که از حالت evaluation در بیاد رو پیدا کرد؟ منظورم رو که متوجه میشین. مثلا می خوام مستقیما نگم ک . ر . ک . اصلا قیمتش چنده؟

----------


## ahmadalli

> من امتحان کردم و شد 
> البته با دیتا بیس امتحان نکردم


 ببین فرض کن توی کد یه جاش یه چیزی رو توی سرور سرچ میکنه یا یه فایلی توی سرور می سازه
و همه ی ما میدونیم که html نمیتونه توی سرور تغییر ایجاد کنه.
//و دیتابیس رو هم که خودتون مثال زدید.

----------


## ho.yasreby

سلام 
من تعجب میکنم مطلب به این مفیدی بدون نتیجه رها شده  و کسی پیگیری نمیکنه 
آقا اگه کسی چیزی بلده راهنمایی کنه 
ما این سایتو چجوری آپلود کنیم (یعنی چجوری به دیتابیس سرور وصل کنیم و کاری کنیم که از همه جا باز بشه )

----------


## BORHAN TEC

> من تعجب میکنم مطلب به این مفیدی بدون نتیجه رها شده و کسی پیگیری نمیکنه


در مود نات مربوط به IntraWeb بارها توضیح داده شده است.



> ما این سایتو چجوری آپلود کنیم (یعنی چجوری به دیتابیس سرور وصل کنیم و کاری کنیم که از همه جا باز بشه )


این مورد چندین بار توضیح داده شده است ولی به طور خلاصه نات مهم را می گویم.

1- اگر می خواهید که برنامه را در یک هاست قرار دهید بهتره که پروژه از نوع ISAPI Dll باشد.
2- هاست مربوطه باید در خصوص ISAPI DLL مجوز Execute به شما بدهد که البته همه هاست ها این مجوز را به شما نمی دهند.
3- در مورد اتصال به دیتابیس هم دقیقاً مانند برنامه های معمولی است.
4- مشکل اصلی در خصوص ISAPI DLL ها در خصوص جایگزینی فایل جدید به جای فایل قبلی است که در این خصوص ابزار رایگانی وجود دارد که به شما کمک می کند. اینم سایتش:
http://www.eggcentric.com/

----------


## mrm0101

سلام 
آقای عشایری در مورد ISAPI Loader شما خودتالن دی ال ال را با این نرم افزار جایگزین کردید؟ این برنامه برای مسئول سایت است یا کاربران از راه دور هم یم تواندد دی ال ال را جایگزین بکنند؟ هیچ منبع اموزشی در مورد این برنامه دارید؟

----------


## BORHAN TEC

> آقای عشایری در مورد ISAPI Loader شما خودتالن دی ال ال را با این نرم افزار جایگزین کردید؟


من فکر میکنم که شما منظور من رو درست متوجه نشده اید. ببینید دفعه اول که شما به راحتی dll ساخته شده را بدون هیچ مشکلی میتوانید در هاست قرار دهید. موقعی که شما یک بار از dll مربوطه با وارد کردن آدرس آن در مرورگر اینترنت استفاده کنید فایل مربوطه توسط یک پروسس مورد استفاده قرار می گیرد. خوب در این حالت اگر شما تغییراتی در برنامه بخواهید اعمال کنید و مجدداً بخواهید آنرا جایگزین dll قبلی در هاست کنید از آنجایی که آن dll در حال استفاده است با مشکل مواجه خواهید شد. در واقع آن ابزاری که من معرفی کردم می تواند این مشکل را حل کند که توضیحات و نحوه استفاده از آن در لینک زیر آمده است:
http://www.eggcentric.com/ISAPILoader.htm



> این برنامه برای مسئول سایت است یا کاربران از راه دور هم یم تواندد دی ال ال را جایگزین بکنند؟


منظورتون از کاربران راه دور چیه؟ خوب شما در حالت کلی فایلهای سایتتون رو با یک نرم افزار FTP بر روی هاست آپلود می کنید. خوب این کاملاً واضح است که هر کسی که نام کاربری و رمز عبور مربوط به FTP هاست مربوطه را داشته باشد می تواند این کار را انجام دهد. توجه داشته باشید که این نام کاربری و رمز عبور را فقط مدیر سایت می داند مگر اینکه خودش به شخص دیگری بگوید.
آخه ابزاری به این سادگی که منبع آموزشی نمیخواد. خودش در صفحه زیر توضیح داده:
http://www.eggcentric.com/ISAPILoader.htm

----------


## mrm0101

سلام 
منظور من همین بود که وقتی یک دی ال ال رو ای ای اس ویندوز هاست رجیستر شده قابل عوض کردن نیست و باید مدیر هاست ای ای اس رو استوپ بکنه تا بشه ورژن جدید دی ال ال رو بار گذاری کرد .
سئوال من این است این برنامه همین کار رو بدون استوپ ای ای اس انجام می ده؟ نحوه کار کردش اینطوری است؟

----------


## BORHAN TEC

> سئوال من این است این برنامه همین کار رو بدون استوپ ای ای اس انجام می ده؟ نحوه کار کردش اینطوری است؟


بله، کار این ابزاری که معرفی کردم دقیقاً همینه و دیگه نیازی نیست که IIS رو  Stop کنید.

----------

