Warning: fetch_template() calls should be replaced by the vB_Template class. Template name: nick_announce in [path]/includes/functions.php on line 4734

Warning: fetch_template() calls should be replaced by the vB_Template class. Template name: genderbit_display_post in [path]/includes/functions.php on line 4734
آخرین اخبار دانشگاه پیام نور"فراگیر پیام نور"برنامه امتحانات پیام نور" تستی یا تشریحی پیام نور"سیستم گلستان پیام نور " reg.pnu.ac.ir "خبر های جنجالی پیام نور" نمونه سوال پیام نور"دکترا پیام نور "ارشد پیام نور "لیست منابع پیام نور"انتخاب واحد پیام نور"اخبار مراکز و واحد ها پیام نور"عکس های پیام نوری
ایمیل:




×
استفاده از فلش Flash در دلفی
استاد زانیس

تبلیغات در پیام نور

دسترسی سریع
تبلیغات

موضوعات مهم

 

راهنماي جامع تصويري ورود به سيستم گلستان دانشگاه پيام نور(سيستم اطلاعات دانشجويي)
آموزش جامع و تصویری اعتراض و اعلام اشکال به کلید سوالات تستی امتحانات پیام نور
پاسخگویی به فرم های ارزشیابی اساتید
آموزش چگونگي نحوه ي دیدن نمرات پايان ترم دانشگاه پیام نور
راهنمای تصویری و جامع مشاهده و پرینت کارت ورود به جلسه امتحانات پایان ترم ( گزارش ۴۲۸ )
راهنمای تصویری و جامع اعلام اشکال و اعتراض به سوالات امتحانات پایان ترم پیام نور
راهنمای تصويري و جامع دریافت سوالات امتحانات پایان ترم از سيستم گلستان
راهنمای تصويري و جامع نحوه مشاهده نمرات پایان ترم دانشجویان پیام نور در سیستم گلستان
نکات مهم در مورد آزمون های پایان ترم دانشگاه پیام نور
راهنمای تصويري و جامع تکمیل پاسخنامه های پایان ترم دانشگاه پیام نور
آموزش جامع و تصويري چگونگي ثبت اشكال واعتراض به سوالات پايان ترم در سيستم گلستان
آموزش چگونگي صدور كار ورود به جلسه در سيستم دانجشويي گلستان رو بصورت جامع و تصويري
دانلود رایگان نمونه سوال رشته های پیام نور نیمسال دوم 90-91 پیام نور مقطع کارشناسی+پاسخنامه
دانلود رایگان مجموعه نمونه سوالات تمامی رشته های پیام نور نیمسال اول 90-91 دانشگاه پیام نور

تالارهای مهم

 

اخبار و اطلاعیه ها ی عمومی پیام نور
جدیدترین اخبار داخلی و غیر درسی دانشگاه پیام نور
اخبار و اطلاعیه ها ی کنکور و آزمون های پیام نور
سيستم دانشجويي گلستان پيام نور
جديدين اخبار سیستم گلستان
سوالات مرتبط با پيام نور(پرسش و پاسخ)
جديدترين اخبار پیام نور
منابع درسی و برنامه های امتحانی پیام نور
اخبار دوره های فراگیر پیام نور
پرسش و پاسخ در مورد گلستان
انتخاب واحد و حذف و اضافه پیام نور
کنکورهای فراگیر پیام نور
منابع درسی و برنامه های امتحانی پیام نور
اطلاعیه ها و بخشنامه ها ی پیام نور

نمونه سوالات پیام نور

 

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




سیستم گلستان پیام نور
نمایش نتایج: از شماره 1 تا 1 از مجموع 1

موضوع: استفاده از فلش Flash در دلفی

  1. Top | #1

    تاریخ عضویت
    Mar 2009
    شماره عضویت
    337
    عنوان کاربر
    مدير كل تالاركامپيوتر و اينترنت و فناوري , برنامه نویسی و طراحی صفحات وب
    میانگین پست در روز
    1.64
    محل تحصیل
    PNU-CLUB
    شغل و حرفه
    PNU-CLUB
    رشته تحصیلی
    PNU-CLUB
    محل سکونت
    PNU-CLUB
    ارسال ها
    9,214
    می پسندم
    1,391
    مورد پسند : 2,553 بار در 1,690 پست
    پست های وبلاگ
    1

    Icon19 استفاده از فلش Flash در دلفی

    استاد زانیس
    .wysiwyg { BACKGROUND: #f5f5ff; FONT: 10pt tahoma,tahoma,tahoma; COLOR: #000000 } P { MARGIN: 0px } .inlineimg { VERTICAL-ALIGN: middle } Flash یکی از فرمتهای محبوب وب است و به راحتی می توان برای ساخت Interfaceها در برنامه از آن استفاده کرد. بعضی از برنامه نویسان معتقدند استفاده از Flash سبب سنگین شدن برنامه، وابستگی برنامه به ActiveX فلش، امکان نداشتن تبادل اطلاعات بین Flash و دلفی و مشکلات دیگری می شود.
    در این مقاله خواهید دید که به راحتی تمامی این مشکلات را می توانید رفع کنید.
    نصب ActiveX فلش
    برای نصب ActiveX فلش به Component>Import ActiveX Control بروید. در لیست مربوطه به دنبال Shockwave Flash بگردید. در صورتی که آن را پیدا نکردید. دکمه Add را زده و به آدرس زیر بروید:
    کد:
     
     WIN_DIRECTORYSystem32MacromedFlash
    و فایل Flash.ocx را انتخاب کنید و سپس Install را بزنید.
    خوب … تا به اینجا کار نصب اکتیوایکس فلش تمام است. کمپوننت مربوطه را میتوانید در پالت ActiveX پیدا کنید.
    نکته: در صورتی که شاخه مذکور در کامپیوتر شما وجود ندارد، احتمالا شما Flash Player را نصب نکرده‌اید.
    البته نگران نباشید، با شیوه ای که در این مقاله ذکر شده کاربر شما بدون نیاز به نصب Flash Player می تواند برنامه شما را اجرا کند.
    استفاده از اکتیوایکس فلش
    اکتیوایکس فلش را می‌توانید در پالت ActiveX پیدا کنید. آن را روی فرمتان قرار دهید. از پراپرتیMovie میتوانید برای Load کردن فایل SWF خود استفاده کنید.
    به باقى پراپرتى‌هاى اکتیوایکس فلش دقت کنید:
    (البته توضیحات پراپرتى‌ها را به صورت انگلیسى آورده‌ام. چون نوشتن آنها به صورت فارسى زیاد جالب نیست. به خاطر اینکه پر از لغاتى هستند که ترجمه‌شون غیر ممکن است.)

    کد:
     
    ReadyState (get only) 0=Loading, 1=Uninitialized, 2=Loaded, 3=Interactive, 4=Complete.
    TotalFrames (get only) Returns the total number of frames in the movie. This is not available until the movie has loaded. Wait for ReadyState = 4.
    FrameNum (get or set) The currently displayed frame of the movie. Setting this will advance or rewind the movie.
    Playing (get or set) True if the movie is currently playing, false if it is paused.
    Quality (get or set) The current rendering quality (0=Low, 1=High, 2=AutoLow, 3=AutoHigh). This is the same as the QUALITY parameter.
    ScaleMode (get or set) Scale mode (0=ShowAll, 1= NoBorder, 2 = ExactFit). This is the same as the SCALE parameter.
    AlignMode (get or set) The align mode consists of bit flags. (Left=+1, Right=+2, Top=+4, Bottom=+. This is the same as the SALIGN parameter.
    BackgroundColor (get or set) Override the background color of a movie. An integer of the form red*65536+green*256+blue use -1 for the default movie color.
    Loop (get or set) True if the animation loops, false to play once. Same as the MOVIE parameter. Movie (get or set) The URL source for the Flash Player movie file. Setting this will load a new movie into the control. Same as the MOVIE parameter.


    متدها:

    کد:
     
    Play() Start playing the animation.
    Stop() Stop playing the animation.
    Back() Go to the previous frame.
    Forward() Go to the next frame.
    Rewind() Go to the first frame.
    SetZoomRect(int left, int top, int right, int bottom) Zoom in on a rectangular area of the movie. Note that the units of the coordinates are in twips (1440 units per inch). To calculate a rectangle in Flash, set the ruler units to Points and multiply the coordinates by 20 to get TWIPS.
    Zoom(int percent) Zoom the view by a relative scale factor. Zoom(50) will double the size of the objects in the view. Zoom(200) will reduce the size of objects in the view by one half.
    Pan(int x, int y, int mode) Pan a zoomed in movie. The mode can be: 0 = pixels, 1 = % of window.


    نصب اکتیوایکس فلش روی کامپیوتر کاربر
    برای این که کاربر نهایی بتواند از برنامه شما استفاده کند باید اکتیوایکس فلش را داشته باشد. در واقع شما باید اکتیوایکس مربوطه را برای او نصب کند. روش کار به این گونه است که شما باید چک کنید که آیا کاربر نهایی اکتیوایکس فلش را بر روی دستگاه خود نصب کرده است یا نه و در صورتی که وی این اکتیوایکس را ندارد برنامه شما باید به طور اتوماتیک آن را نصب کنید.
    برای پیاده سازی این روش ما باید در ابتدا OCX فلش را با استفاده از Resourceها در فایل Exe خود مخلوط کنیم. در صورتی که شما با Resourceها آشنایی ندارید نگران نباشید. مراحل زیر را انجام دهید و باقی کار را به دلفی بسپارید: ۱- یک فایل Text بسازید و اسم آن را SWFActivex.rc بگذارید
    ۲- خطوط زیر را در آن قرار دهید:
    FlashOCX EXTRA Flash.ocx
    و فایل Flash.ocx را از مسیری که قبلا ذکر شد در شاخه پروژه خود قرار دهید.
    ۳- آن را ضبط کنید و با استفاده از BRCC32.EXE که در شاخه Bin محل نصب دلفی وجود دارد، آن را کامپایل کنید. (خط زیر را در Command Line تایپ کنید یا به سادگی فایل SWFActivex.rc را بر روی فایل BRCC32.EXE دراگ (Drag) کنید.
    BRCC32.EXE MyExeRes.rc
    خوب حالا شما یک فایل Resource کامپایل شده دارید به نام SWFActivex.res دارید.
    ۴- خطوط زیر را در در سورس کد فرم اصلی خود قرار دهید:
    کد:
    کد:
     
    ... ... implementation ... ... ... {$R *.dfm} {$R SWFActivex.RES} 5- حالا این تابع را به کد خود اضافه کنید: function GetResourceFile(S : string; FilePath : string) : Boolean; var Res : TResourceStream; begin Result := True; if S '' then begin if FindResource(hInstance, PChar(S), Pchar('EXTRA')) = 0 then begin Result := False; Exit; end; try Res := TResourceStream.Create(hInstance, S, Pchar('EXTRA')); except Result := False; Exit; end; if FileExists(FilePath) then DeleteFile(FilePath); try Res.SaveToFile(FilePath); except Result := False; end; Res.Free; end; end;




    6- این تابع را نیز اضافه کنید:
    کد:

    کد:
    function  GetSystemDir : string;
    var
    SysPath : PChar;
    begin
    GetMem(SysPath,  MAX_PATH + 1);
    GetSystemDirectory(SysPath, MAX_PATH);
    Result :=  StrPas(SysPath)+ '';
    FreeMem(SysPath, MAX_PATH + 1);
    end;


    7- خوب! حالا بگذارید به مهمترین قسمت قضیه یعنی Register کردن OCX مربوطه بپردازیم. در ابتدا یونیت ActiveX را به لیست uses خود اضافه کنید. سپس تابع زیر را نیز به سورس خود اضافه نمایید.


    کد:
    function  RegisterOCX( OCXFileName : string; Flag : Boolean) : Boolean;
    var
    OCXHand:  THandle;
    RegFunc: TDllRegisterServer;
    OCXFileNamePtr :  PChar;
    begin
    Result := True;
    if not FileExists( OCXFileName )  then
    begin
    Result := False;
    Exit;
    end;
    GetMem(OCXFileNamePtr,  Length(OCXFileName) + 1);
    StrPCopy(OCXFileNamePtr, OCXFileName);
    OCXHand:=  LoadLibrary(OCXFileNamePtr);
    FreeMem(OCXFileNamePtr, Length(OCXFileName) +  1);
    OCXFileNamePtr := nil;
    if OCXHand = 0 then
    begin
    Result :=  False;
    Exit;
    end;
    if Flag then
    RegFunc:= GetProcAddress(OCXHand,  'DllRegisterServer')
    else
    RegFunc:= GetProcAddress(OCXHand,  'DllUnregisterServer');
    
    if RegFunc = S_OK then
    Result :=  False;
    
    FreeLibrary(OCXHand);
    end;



    8- این سه متغییر را نیز به کد خود اضافه کنید:


    کد:
    var
    FilePath  : string;
    FlashOC TShockwaveFlash;



    9- تابع زیر را نیز اضافه کنید:


    کد:
    function  CreateFlashOCX : Boolean;
    var
    FilePath : string;
    begin
    Result :=  True;
    FilePath := GetSystemDir + 'MacromedFlashFlash.ocx';
    if not  GetResourceFile('FlashOCX', FilePath) then
    begin
    Result :=  False;
    Exit;
    end;
    try
    FlashOCX :=  TShockwaveFlash.Create(nil);
    except
    if not RegisterOCX(FilePath, True)  then
    Result := False
    else
    try
    FlashOCX :=  TShockwaveFlash.Create(nil);
    except
    Result :=  False;
    end;
    end;
    end;


    10- کدهای زیر را به انتهای فایل خود، قبل از .end اضافه کنید:


    کد:
    initialization
    CoInitialize(nil);
    if not CreateFlashOCX  then
    ShowMessage('An Error Occured!' + #13 + 'Program dosent run  correctly!');
    finalization
    if Assigned(FlashOCX)  then
    begin
    try
    FlashOCX.Free;
    FlashOCX :=  nil;
    except
    end;
    DeleteFile(FilePath);
    end;
    CoUninitialize;
    end.
    
    end.




    11- در اونت OnCreate فرم خودتون به راحتی از کمپوننت مربوطه استفاده کنید:

    کد:
     
    FlashOCX.Parent := Form1; FlashOCX.Movie := ExtractFilePath(Application.ExeName) + 'Main.swf'; FlashOCX.Play;


    Resize شدن درست
    یکی از مشکلاتی که ممکن است با اکتیو ایکس فلش پیدا کنید مشکل Resize شدن است. همه ما می دانیم که یکی از مهمترین مزایای فلش برداری بودن آن است و این برداری بودن سبب می شود که فایل فلش بتواند در هر اندازه به درستی نشان داده شود. ولی متاسفانه فرم خود را در RunTime تغییراندازه می دهید فایل Flash تغییر اندازه نمی یابد. در این جا یک راه حل ساده برای حل این مشکل بیان شده که به خوبی کار میکند. کافی است کمپوننت فلش را در یک پانل قرار دهید و پراپرتی Align آن را برابر alClient بگذارید. حالا پراپرتی Anchor پانل خود را به گونه‌ای تنظیم کنید که مایل هستید کمپوننت فلش Resize شود. سپس در اونت OnResize فرم خود، خطوط زیر را درج کنید:
    FlashOCX.Parent := nil;
    FlashOCX.Parent := Self;
    غیرفعال کردن کلیک سمت راست
    مساله دیگرى که ذهن بسیارى از برنامه‌نویسان را مشغول مى‌کند منوى Popup فلش است. غیرفعال کردن این منو بسیار ساده است. کافی است یک کمپوننت TApplicationEvents را روی فرم خود قرار دهید و کد زیر را در اونت OnMessage این کمپوننت بنویسید:


    کد:
    if (Msg.message  = WM_RBUTTONDOWN) and (Msg.hwnd := FlashOCX)  then
    begin
    PopupMenu1.Popup(Mouse.CursorPos.X,  Mouse.CursorPos.Y);
    Handled := True;
    end;




    ارتباط بین Flash و دلفى
    یکى از مسائل بسیار مهم و اساسى دیگر برقرارى ارتباط بین Flash و دلفی است. فرض کنید در فایل SWF خود چند Button داشته باشید و بخواهید وقتى کاربر روى هر کدام از این اونتها کلیک کرد فرم خاصى باز شود. در این صورت چه باید بکنید. پیاده سازى این کار بسیار ساده است. کافى است در Flash براى هر کدام از دکمه‌هاى خود یک Action تعریف کنید و از دستور FSCommand استفاده نمایید. از یک مقدار دلخواه مثل fMatn یا fSearch استفاده کنید و در دلفى نیز از اونت OnFSCommand به صورت زیر استفاده کنید:


    کد:
     
    if command = 'fMain' then fMain.ShowModal; if command = 'fSearch' then fSearch.ShowModal;
    حتما به ما سر بزنيد زرر نمي كنيد
    [فقط کاربران سایت توانایی دیدن لینکها را دارند]
    [فقط کاربران سایت توانایی دیدن لینکها را دارند]

    [فقط کاربران سایت توانایی دیدن لینکها را دارند]

  2. # ADS
    نشان دهنده تبلیغات
    تاریخ عضویت
    -
    محل سکونت
    -
    ارسال ها
    -
     

موضوعات مشابه

  1. حافظه Flash چيست
    ارسال شده توسط rezalaghaian در تالار مباحث هارد دیسک، اپتیکال درایوها و سایر ذخیره سازها
    پاسخ ها: 0
    آخرين ارسال: 10-21-2010, 12:40 AM
  2. نصب windows با استفاده از flash memory
    ارسال شده توسط TAHA در تالار مباحث ويندوز سون 7
    پاسخ ها: 0
    آخرين ارسال: 08-09-2010, 09:45 PM
  3. آموزش درس ساختمان داده ها در قالب فلش (flash)
    ارسال شده توسط yashar در تالار ساختمان هاي داده
    پاسخ ها: 0
    آخرين ارسال: 11-08-2009, 10:16 PM
  4. بستن پورت USB برای Coll Disk یا Flash Memory
    ارسال شده توسط Borna66 در تالار ترفندهای رجیستری
    پاسخ ها: 0
    آخرين ارسال: 03-28-2009, 06:35 PM
  5. آموزش جامع نرم افزار كاربردي Flash 8
    ارسال شده توسط Borna66 در تالار مباحث و مقالات آموزشي Flash
    پاسخ ها: 7
    آخرين ارسال: 03-21-2009, 05:11 PM

برچسب های ویژه

كامپوننت غير فعال كردن usb در دلفي


برچسب برای این موضوع

بوک مارک ها

بوک مارک ها

مجوز های ارسال و ویرایش

  • شما نمی توانید موضوع جدید ارسال کنید
  • شما نمی توانید به پست ها پاسخ دهید
  • شما نمی توانید فایل پیوست ضمیمه کنید
  • شما نمی توانید پست های خود را ویرایش کنید
  •  
آخرین اخبار دانشگاه پیام نور"فراگیر پیام نور"برنامه امتحانات پیام نور" تستی یا تشریحی پیام نور"سیستم گلستان پیام نور " reg.pnu.ac.ir "خبر های جنجالی پیام نور" نمونه سوال پیام نور"دکترا پیام نور "ارشد پیام نور "لیست منابع پیام نور"انتخاب واحد پیام نور"اخبار مراکز و واحد ها پیام نور"عکس های پیام نوری