نمایش نتایج 1 تا 5 از 5

نام تاپیک: طریقه استفاده از یک اشاره گر به فایل pdf

  1. #1

    Question طریقه استفاده از یک اشاره گر به فایل pdf

    سلام دوستان گرامی
    من یک فایل pdf را ریسورس کردم ، و می خوام اون فایل رو توسط کامپوننت acropdf نشان بدم.
    برای نشان دادن pdf معمولی از کد
    کد HTML:
    AcroPDF1.LoadFile('D:\delphi program\resorce\password1.pdf');
    استفاده می کنم.
    اما من چون فایل pdf مورد نظرم رو به صورت ریسورس کردم و به آن یک اشاره گر وصل کردم وقتی از نام اشاره گر استفاده می کنم ارور میده که باید از رشته استفاده کنید.
    آیا راهی برای حل این مشکل است؟
    کد برنامه من به صورت زیر است.
    کد HTML:
    var
      Form1: TForm1;
        	pdfo: pointer;
    implementation
     function GetResourceAsPointer(ResName: pchar; ResType: pchar;
    out Size: longword): pointer;
    var
    InfoBlock: HRSRC;
    GlobalMemoryBlock: HGLOBAL;
    begin
    InfoBlock := FindResource(hInstance, resname, restype);
    if InfoBlock = 0 then
    raise Exception.Create(SysErrorMessage(GetLastError));
    size := SizeofResource(hInstance, InfoBlock);
    if size = 0 then
    raise Exception.Create(SysErrorMessage(GetLastError));
    GlobalMemoryBlock := LoadResource(hInstance, InfoBlock);
    if GlobalMemoryBlock = 0 then
    raise Exception.Create(SysErrorMessage(GetLastError));
    Result := LockResource(GlobalMemoryBlock);
    if Result = nil then
    raise Exception.Create(SysErrorMessage(GetLastError));
    end;
    {$R *.dfm}
    {$R file4.res}
    
    procedure TForm1.FormCreate(Sender: TObject);
    
    var
    size: longword;
    begin
    	
      	pdfo := GetResourceAsPointer('pdf', 'pdf', size);
    end;
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    AcroPDF1.LoadFile(pdfo) ;
    
    end;

    ممنون میشم اگه کسی بلد هست من را نیز راهنمایی کنه.
    راستی دوستان می دونم میشه فایل pdf رو جای ذخیره کرد و سپس استفاده کرد اما من نمی خوام این کار رو کنم و می خوام به صورت همین اشاره گر و بدون ذخیره سازی فایل pdf بر روی هارد این کار انجام بدم.

  2. #2

    نقل قول: طریقه استفاده از یک اشاره گر به فایل pdf

    راستی دوستان می دونم میشه فایل pdf رو جای ذخیره کرد و سپس استفاده کرد اما من نمی خوام این کار رو کنم و می خوام به صورت همین اشاره گر و بدون ذخیره سازی فایل pdf بر روی هارد این کار انجام بدم.
    اون چیزی که تعیین میکنه شما چطوری میتونید فایل PDF رو لود کنید، رابط برنامه نویسی کتابخانه مورد استفاده تان (AcroPDF) هست. اگر این کتابخانه فقط اسم فایل رو به عنوان ورودی قبول میکنه، باید بهش اسم فایل بدید. نمیشه که یک متد بگه اسم فایل رو میخواد، شما بهش یه اشاره گر بدید، و انتظار داشته باشید کار کنه! اگر اون کتابخانه مکانیزمی برای لود کردن داده ها از طریق Stream ارائه میکنه، اون وقت می تونید از TResourceStream استفاده کنید.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  3. #3

    نقل قول: طریقه استفاده از یک اشاره گر به فایل pdf

    خوب آیا کامپوننتی نیست که من بتونم فایل pdf رو با یک اشارهگر نشون بدم؟ این که نمیشه گویا
    راستی آقای کشاورز مگه این اشاره گر یک آدرس نیست؟ چطور نمیشه از او استفاده کرد؟
    توی تابع sndPlaySound نوع اول PAnsiChar است اما از یک pointer استفاده شده و جواب داد. چطور این موضوع را میشه تفسیر کرد؟

  4. #4

    نقل قول: طریقه استفاده از یک اشاره گر به فایل pdf

    راستی آقای کشاورز مگه این اشاره گر یک آدرس نیست؟ چطور نمیشه از او استفاده کرد؟
    چون اینها ارتباطی با هم ندارند؛ اون کتابخونه میگه یک آدرس فایل بهش بدید، بعدش خودش فایل رو از اون آدرس لود میکنه. پس انتظار آدرس یک فایل در قالب string را از شما داره. چیزی که شما بهش میدید، آدرس یک خانه از حافظه است، که نه ارتباطی با آدرس فایل داره و نه نوع اش string هست. پس طبیعی هست که همچین چیزی کار نکنه. بر فرض هم اگر کامپایلر اجازه نوشتن همچین کدی را می داد، اون کتابخانه باهاش کار نمی کرد، چون به جای آدرس فایل برای لود شدن، شما دارید فایل لود شده رو بهش تحویل میدید.

    توی تابع sndPlaySound نوع اول PAnsiChar است اما از یک pointer استفاده شده و جواب داد. چطور این موضوع را میشه تفسیر کرد؟
    PAnsiChar یعنی یک اشاره گر به یک کارکتر؛ پس PAnsiChar نوعی از اشاره گر هست. Pointer یعنی یک اشاره گر به داده ایی که نوع اش مشخص نیست؛ پس هر دو اشاره گر هستند.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  5. #5
    کاربر دائمی آواتار mohsen24000
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    شهر مقدس قم
    پست
    583

    نقل قول: طریقه استفاده از یک اشاره گر به فایل pdf

    برای اینکه بتونید به روشی که مد نظرتون هست فایل پی دی اف رو نمایش بدید کامپوننت xpdf به کارتون میاد.
    بنده با همین کامپوننت کتابخانه الکترونیکی نوشتم که فایلهای پی دی اف رو از بانک اطلاعات به صورت stream میخونه و نمایش میده.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •