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

نام تاپیک: ذخیره کردن فونت ها در registry

  1. #1
    مهمان

    ذخیره کردن فونت ها در registry

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

  2. #2
    سلام
    میتونی بیشتر توضیح بدی .منظورت اینه که اسم یه font تو registry ثبت بشه؟؟؟

  3. #3
    مهمان
    سلام
    البته من زوری ندارم :wink:
    ولی کلا میخام یه متغیر f:Tfont رو توی رجیستری ذخیره کنم
    اسم فونت که ذخیره کردنش کاری نداره
    مرسی

  4. #4
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379
    خوب هدفت از انجام اینکار چیه؟

  5. #5
    مهمان
    من موردی مثال زدم
    کلا اگه بخایم یه شی رو در رجیستری ذخیره کنیم چه باید کرد؟؟
    حالا هدف از فونت خیلی همه نیست.

  6. #6
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379
    <div dir=ltr>
    Problem/Question/Abstract:
    I was just wondering what the best way to save a particular font to the registry would be. Do I have to save each of its attributes separately? Is there an easier way than storing it to the registry, perhaps? Seems like such a simple issue, but other than saving and loading each attribute separately, I can't think of a way to do it at one time!

    Answer:
    You can do it by getting a TLogfont record filled and save that to a binary key:
    var
    lf&#58; TLogfont;
    begin
    fillchar&#40;lf, sizeof&#40;lf&#41;, 0&#41;;
    GetObject&#40;font.handle, sizeof&#40;lf&#41;, @lf&#41;;
    registry.WriteBinarydata&#40;valuename, lf, sizeof&#40;lf&#41;&#41;;
    end;

    Reading it back would go like this:
    registry.ReadBinarydata&#40;valuename, lf, sizeof&#40;lf&#41;&#41;;
    font.handle &#58;= CreateFontIndirect&#40;lf&#41;;

    A probably more Kylix-compatible method would be to create a non-visual wrapper component for a TFont and stream that, e.g. to a memory stream. The streams content could then be saved to a binary registry key.
    type
    TFontWrapper = class&#40;TComponent&#41;
    private
    FFont&#58; TFont;
    procedure SetFont&#40;f&#58; TFont&#41;;
    public
    constructor Create&#40;AOwner&#58; TComponent&#41;; override;
    destructor Destroy; override;
    published
    property Font&#58; TFont read FFont write SetFont;
    end;

    constructor TFontWrapper.Create&#40;AOwner&#58; TComponent&#41;;
    begin
    inherited Create&#40;aOwner&#41;;
    FFont &#58;= TFont.Create;
    end;

    destructor TFontWrapper.Destroy;
    begin
    FFont.Free;
    inherited Destroy;
    end;

    procedure TFontWrapper.SetFont&#40;f&#58; TFont&#41;;
    begin
    FFont.Assign&#40;f&#41;;
    end;

    procedure TScratchMain.SpeedButton2Click&#40;Sender&#58; TObject&#41;;
    const
    b&#58; Boolean = False;
    var
    fw&#58; TFontWrapper;
    st&#58; TFileStream;
    begin
    if b then
    begin
    edit1.text &#58;= 'Loading font';
    fw &#58;= nil;
    st &#58;= TFileStream.Create&#40;'E&#58;\A\test.str', fmOpenRead&#41;;
    try
    fw &#58;= TFontWrapper.Create&#40;nil&#41;;
    st.ReadComponent&#40;fw&#41;;
    memo1.font.assign&#40;fw.font&#41;;
    finally
    fw.Free;
    st.Free;
    end;
    end
    else
    begin
    edit1.text &#58;= 'Saving font';
    fw &#58;= nil;
    st &#58;= TFileStream.Create&#40;'E&#58;\A\test.str', fmCreate&#41;;
    try
    fw &#58;= TFontWrapper.Create&#40;nil&#41;;
    fw.Font &#58;= Font;
    st.WriteComponent&#40;fw&#41;;
    finally
    fw.Free;
    st.Free;
    end;
    end;
    b &#58;= not b;
    end;

    </div>

تاپیک های مشابه

  1. برنامه نویسی برای registry
    نوشته شده توسط delphi77 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 18
    آخرین پست: دوشنبه 05 شهریور 1386, 22:05 عصر
  2. در رابطه با registry .....
    نوشته شده توسط saeedIRHA در بخش VB.NET
    پاسخ: 0
    آخرین پست: جمعه 22 مهر 1384, 16:11 عصر
  3. نیاز به API ای که بتوان با آن Registry را از کار انداخت ؟
    نوشته شده توسط پرهام دادگر در بخش برنامه نویسی در 6 VB
    پاسخ: 8
    آخرین پست: چهارشنبه 06 مهر 1384, 08:55 صبح
  4. registry
    نوشته شده توسط houtanal در بخش VB.NET
    پاسخ: 6
    آخرین پست: سه شنبه 27 خرداد 1382, 10:39 صبح

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

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