سورس: Dicti [دیکشنری ساخته شده با MMB]

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
سلام دوستان،

مدتی پیش من برنامه ی Dicti که یک دیکشنری بود رو معرفی کردم و با کمک شما دوستان و با استفاده از نظرات گرانبهاتون تا حدودی اون رو بهبود بخشیدم و امکانات بیشتری رو بهش اضافه کردم.

حالا نوبت این رسیده که سورس پروژه رو تقدیم حضورتون کنم، تا دوستانی که احیاناً به این پروژه علاقه مند شدن، با کمک سورس بیشتر با این برنامه و روش ساخت و کدنویسیش آشنا بشن.

همچنین فایل سورس برنامه ی کمکی مربوط به ارسال متن انتخاب شده به برنامه رو هم که به زبان AutoIt هست رو هم تو بسته قرار دادم.

از اونجایی که اصل انگیزه و دلیل شروع به ساخت این پروژه که البته قرار بود زودتر از اینها به این مرحله برسه، این بود که در اون زمان با توجه به مدت زمانی که از ساخت پلاگین SQLite گذشته بود و تقاضای زیادی هم برای ساختن برنامه های مبتنی بر دیتابیس بود، هنوز هم دوستان زیادی در کار کردن با این پلاگین با مشکل مواجه شده بودن؛پس تصمیم بر ساخت این برنامه گرفته شد تا شاید باری از دوش کاربران MMB و این پلاگین برداشته شه و کمکی بهشون بشه.

پس هر سوالی که در مورد این برنامه و یا قسمت های مبهم برنامه و کدهاش و ... و کلاً در مورد پلاگین SQLiteداشتید، میتونید اینجا مطرح کنید، مطمئن باشید که بنده در صورت توان پاسختون رو میدم.
ضمناً بنده در طول ساخت این برنامه با مواردی برخورد کردم که مقداری برام پیچیده و مبهم بود و گاهاً زمان زیادی هم صرف فائق اومدن بر همین مشکلات شد؛ که ممکنه برای شما هم در حین ساخت یک برنامه ی مبتنی بر دیتابیس با استفاده از این پلاگین پیش بیاد، که در صورت لزوم اونها رو اینجا مطرح میکنم.

در ضمن هر کدوم از عزیزانی که احیاناً سورس رو بهبود بخشیدن یا امکانات بیشتری بهش اضافه کردن، ازشون تقاضا میکنم که برای استفاده ی دیگر دوستان و خود بنده، اون رو اینجا قرار بدن.

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

پیوست ها

  • Dicti [Source].rar
    604.1 کیلوبایت · بازدیدها: 2,356

akhorramsoft

New Member
سلام

واقعا خسته نباشید

امیدوارم با تلاش همه دوستان این برنامه به جاهای خیلی عالی برسه

سال خوبی داشته باشید...
بای
 

Ehssan_it

Well-Known Member
فکر نکنم اگه کس دیگه ای ( البته خارج از این انجمن ) این برنامه رو می ساخت به راحتی در اختیار دیگران قرار می داد.
امیدوارم همچین برنامه هائی راهی برای پیشرفت همگی ما در بیلدر باشد.
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
SQLite Database Maker

سلام دوستان،

در طول مسیری که برای توسعه ی Dicti طی شد، موانع زیادی پیش رو بود، یکی از این موارد دیتابیس برنامه بود،
دیتابیسی که من در اختیار داشتم به فرمت اکسس (MDB) بود(دانلود این دیتابیس)، بالاخره به هر نحوی بود این دیتابیس رو به فایل تکست تبدیل کردم تا بتونم اون رو برای ایجاد دیتابیس SQLite پردازش کنم. ولی راهی بس طولانی رو مجبور شدم طی کنم تا این داده های خام به دیتابیس با فرمت SQLite تبدیل بشن...!

تمام این مشکلات و موانع باعث شد که یک برنامه برای تبدیل فایل متنی به دیتابیس SQLite بسازم که البته ی برای استفاده ی شخصی خودم بود.
این برنامه هر خط از فایل English.txt رو با خط متناظرش در فایل Persian.txt که هر دو امبد شده هستند،رو در جدولی بنام Dictionary و در فیلدهای English و Persian قرار میده.
همونطور که عرض کردم این برنامه صرفاً برای ایجاد دیتابیس برای برنامه ی Dicti ساخته شده و کدهاش هم براساس ساختار دیتابیس مربوط به این برنامه تنظیم شده، ولی شما با اندکی تغییرات میتونید اونرو مطابق با نیازتون تنظیمش کنید،
درواقع مهم ساختار کلی برنامه هست که میتونه به شما برای ایجاد دیتابیس و ورود و پاکسازی اطلاعات به/از دیتابیس کمک کنه.

این هم تصویری از برنامه که پایان یافتن تبدیل دیتابیس برای برنامه ی Dicti رو نشون میده:
attachment.php


اگر خواستید دیتابیسی رو برای استفاده در برنامتون توسط پلاگین SQLite بسازید به نکات زیر توجه فرمایید:

  1. حتماً دیتابیستون رو با خود MMB ایجاد کنید (در مورد داده های غیر لاتین خیلی مهم هست)، مثلاً همین برنامه میتونه بهتون کمک کنه.
  2. اگر قرار هست اطلاعات از یک فایل متنی فراخوانی بشه، اطلاعات باید بصورت ANSI ذخیره بشن، و نه مثلاً Unicode (در غیر اینصورت اطلاعات غیرلاتین بدرستی نمایش داده نمیشن)
البته من در طول تبدیل دیتابیس برنامه ی Dicti توسط این برنامه، دفعاتی با کم آوردن حافظه توسط MMB مواجه شدم که یکبار باعث شد داده ها از رکورد 6000 به بعد بدرستی وارد نشن و بار دیگه هم پروسه متوقف شد که البته این مشکلات بخاطر حجم عظیم دیتابیس بود؛ اگر شما هم با مشکلات مشابه مواجه شدین میتونید مقدار تاخیر در تایمر رو افزایش بدید (الان صفر هست) تا میزان خطاها کاهش پیدا کنه (و البته زمان بیشتری هم صرف تبدیل دیتابیس میشه)

امیدوارم این مثال براتون مفید واقع بشه، اگه سوالی بود در خدمتم.
 

پیوست ها

  • DB Maker Source.rar
    230.4 کیلوبایت · بازدیدها: 514
  • Converted.jpg
    Converted.jpg
    40.1 کیلوبایت · بازدیدها: 486

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
بهبود سرعت ورود اطلاعات

سلام دوستان،

من مثال بالایی رو مقداری تغییر دادم تا سرعت ورود اطلاعات به بانک رو افزایش بدم،
در سیستم من با استفاده از مثال بالایی، ایجاد دیتابیس نمونه (با 1098 رکورد) 57 ثانیه زمان برد
و با استفاده از این مثال که سرعتش رو بهبود بخشیدم، همین دیتابیس در 17 ثانیه ایجاد شد.
که اختلاف زمانی نسبتاً چشمگیر هست !!
کاری که من کردم استفاده از TRANSACTION بود، در واقع کدها رو بین
[ltr]
کد:
BEGIN TRANSACTION;
[SIZE=1][COLOR=seagreen][I]// CODES GOES HERE[/I][/COLOR][/SIZE]
COMMIT;
[/ltr]
قرار دادم، اینکار باعث میشه که از منابع سیستم بهتر استفاده بشه و طبق توضیحات سایت SQLite، دیگه نیاز نیست که برای هر کد یکبار دیتابیس باز و بسته بشه
(http://www.sqlite.org/speed.html)

البته روشهای دیگه ای هم (احتمالاً) برای بهبود سرعت وجود داره که پیشنهاد میکنم یه تحقیقی در موردش بکنید تا به نتایج مطلوبتری برسید.

تنها تغییری که ایجاد شده اضافه شدن چند خط کد به اسکریپت InsertDataProccess هست، من این اسکریپت رو کاملاً اینجا براتون درج میکنم، این کدها رو جایگزین کدهای قبلی در این اسکریپت کنید:

[ltr]
کد:
[COLOR=#0000ff]If[/COLOR] (Error = [COLOR=#ff0000]1[/COLOR]) [COLOR=#0000ff]Then[/COLOR] 
  [COLOR=#009000]** In case Process has been stoped before[/COLOR] 
  L$=[COLOR=#000090][B]CHR[/B][/COLOR]([COLOR=#ff0000]13[/COLOR])+[COLOR=#000090][B]CHR[/B][/COLOR]([COLOR=#ff0000]10[/COLOR]) 
  text$=[COLOR=#800000]'"The Process was stoped because of an error'[/COLOR]+L$+[COLOR=#800000]'Do you want to continue the process or start it from the Begining ?'[/COLOR]+L$+L$+[COLOR=#800000]'To continue the Process select "Yes", and select "No" to start it from the begining.'[/COLOR]+L$+[COLOR=#800000]'Note that if you start the process from the beginning, all the insertrd data will be deleted"'[/COLOR] 
  flag=[COLOR=#ff0000]32[/COLOR]+4+[COLOR=#ff0000]0[/COLOR]+0+[COLOR=#ff0000]0[/COLOR] 
  param$=text$+[COLOR=#800000]','[/COLOR]+[COLOR=#000090][B]CHAR[/B][/COLOR](flag) 
  [COLOR=#000090][B]MessageEx[/B][/COLOR]("","param$") 
  [COLOR=#0000ff]If[/COLOR] ([COLOR=#0000ff]CBK_MsgEx[/COLOR]=[COLOR=#ff0000]6[/COLOR]) [COLOR=#0000ff]Then[/COLOR] 
    [COLOR=#009000]**YES[/COLOR] 
    [COLOR=#009000]** Inserting Process will continue after last inserted Record.[/COLOR] 
    Error = [COLOR=#ff0000]0[/COLOR] 
    Event$ = [COLOR=#800000]'Data Inserting Process has been Resumed.'[/COLOR] 
    Notification$ = [COLOR=#800000]'Info'[/COLOR] 
    [COLOR=#000090][B]RunScript[/B][/COLOR]("Show Event") 
  [COLOR=#0000ff]End[/COLOR] 
  [COLOR=#0000ff]If[/COLOR] ([COLOR=#0000ff]CBK_MsgEx[/COLOR]=[COLOR=#ff0000]7[/COLOR]) [COLOR=#0000ff]Then[/COLOR] 
    [COLOR=#009000]**No[/COLOR] 
    [COLOR=#009000]** Inserting Process Will start from the beginning[/COLOR] 
    [COLOR=#009000]** We need to do a DELETE to empty the table[/COLOR] 
    DELETE$ = [COLOR=#800000]'DELETE FROM Dictionary;'[/COLOR] 
    [COLOR=#000090][B]PluginSet[/B][/COLOR]("PlugIn","DELETE$") 
    [COLOR=#000090][B]PluginRun[/B][/COLOR]("PlugIn","UpdateDB") 
    [COLOR=#000090][B]PluginGet[/B][/COLOR]("PlugIn","Deleted") 
    [COLOR=#000090][B]PluginRun[/B][/COLOR]("PlugIn","DBError") 
    [COLOR=#000090][B]PluginGet[/B][/COLOR]("PlugIn","Error$") 
    [COLOR=#0000ff]If[/COLOR] (Deleted = [COLOR=#ff0000]0[/COLOR]) [COLOR=#0000ff]Then[/COLOR] 
      [COLOR=#009000]** In Case an Error Occured[/COLOR] 
      Event$ = [COLOR=#800000]'The Table contents can NOT be deleted; An error Occured: '[/COLOR] + Error$ 
      Notification$ = [COLOR=#800000]'Error'[/COLOR] 
      [COLOR=#000090][B]RunScript[/B][/COLOR]("Show Event") 
      Running = [COLOR=#ff0000]0[/COLOR] 
      Error = [COLOR=#ff0000]1[/COLOR] 
      [COLOR=#000090][B]Return[/B][/COLOR]() 
    [COLOR=#0000ff]Else[/COLOR] 
      i = [COLOR=#ff0000]0[/COLOR] 
      Event$ = [COLOR=#800000]'Table contents has been deleted successfully..'[/COLOR] 
      Notification$ = [COLOR=#800000]'Info'[/COLOR] 
      [COLOR=#000090][B]RunScript[/B][/COLOR]("Show Event") 
      Event$ = [COLOR=#800000]'Inserting Data into Database Started.'[/COLOR] 
      Notification$ = [COLOR=#800000]'Info'[/COLOR] 
      [COLOR=#000090][B]RunScript[/B][/COLOR]("Show Event") 
    [COLOR=#0000ff]End[/COLOR] 
  [COLOR=#0000ff]End[/COLOR] 
[COLOR=#0000ff]Else[/COLOR] 
[COLOR=#0000ff]End[/COLOR] 
i = i + [COLOR=#ff0000]1[/COLOR] 
[COLOR=#0000ff]If[/COLOR] (i = [COLOR=#ff0000]1[/COLOR]) [COLOR=#0000ff]Then[/COLOR] 
  TRANSACTION$ = [COLOR=#800000]'BEGIN TRANSACTION;'[/COLOR] 
  [COLOR=#000090][B]PluginSet[/B][/COLOR]("PlugIn","TRANSACTION$") 
  [COLOR=#000090][B]PluginRun[/B][/COLOR]("PlugIn","UpdateDB") 
[COLOR=#0000ff]End[/COLOR] 
EnglishWord$ = [COLOR=#000090][B]StrFromFile[/B][/COLOR](English$,i,[COLOR=#ff0000]1[/COLOR]) 
PersianWord$ = [COLOR=#000090][B]StrFromFile[/B][/COLOR](Persian$,i,[COLOR=#ff0000]1[/COLOR]) 
SQLQuery1$  = [COLOR=#800000]'INSERT INTO Dictionary (English,Persian)'[/COLOR] 
SQLQuery2$  = [COLOR=#800000]' VALUES ("'[/COLOR]+EnglishWord$+[COLOR=#800000]'","'[/COLOR]+PersianWord$+[COLOR=#800000]'");'[/COLOR] 
FinalQuery$ = SQLQuery1$ + SQLQuery2$ 
[COLOR=#000090][B]PluginSet[/B][/COLOR]("PlugIn","FinalQuery$") 
[COLOR=#000090][B]PluginRun[/B][/COLOR]("PlugIn","UpdateDB") 
[COLOR=#000090][B]PluginGet[/B][/COLOR]("PlugIn","Updated") 
[COLOR=#000090][B]PluginRun[/B][/COLOR]("PlugIn","DBError") 
[COLOR=#000090][B]PluginGet[/B][/COLOR]("PlugIn","Error$") 
[COLOR=#0000ff]If[/COLOR] (Updated=[COLOR=#ff0000]0[/COLOR]) [COLOR=#0000ff]Then[/COLOR] 
  [COLOR=#009000]** In Case an Error Occured[/COLOR] 
  Event$ = [COLOR=#800000]'Data Inserting Process Stoped; An error Occured: '[/COLOR] + Error$ 
  Notification$ = [COLOR=#800000]'Error'[/COLOR] 
  [COLOR=#000090][B]RunScript[/B][/COLOR]("Show Event") 
  Running = [COLOR=#ff0000]0[/COLOR] 
  Error = [COLOR=#ff0000]1[/COLOR] 
  [COLOR=#000090][B]Return[/B][/COLOR]() 
[COLOR=#0000ff]Else[/COLOR] 
[COLOR=#0000ff]End[/COLOR] 
[COLOR=#009000]** Progress Bar Movement **[/COLOR] 
Status = (i/NOL)*[COLOR=#ff0000]631[/COLOR] 
Percent = (i/NOL)*[COLOR=#ff0000]100[/COLOR] 
Percent$ = [COLOR=#000090][B]CHAR[/B][/COLOR](Percent) 
[COLOR=#0000ff]If[/COLOR] (Percent > [COLOR=#ff0000]10[/COLOR]) [COLOR=#0000ff]Then[/COLOR] 
  [COLOR=#0000ff]If[/COLOR] ([COLOR=#000090][B]INT[/B][/COLOR](Percent) = [COLOR=#ff0000]100[/COLOR]) [COLOR=#0000ff]Then[/COLOR] 
    Percent$ = [COLOR=#000090][B]StrCopy[/B][/COLOR](Percent$,[COLOR=#ff0000]1[/COLOR],3) 
  [COLOR=#0000ff]Else[/COLOR] 
    Percent$ = [COLOR=#000090][B]StrCopy[/B][/COLOR](Percent$,[COLOR=#ff0000]1[/COLOR],5) 
  [COLOR=#0000ff]End[/COLOR] 
[COLOR=#0000ff]Else[/COLOR] 
  Percent$ = [COLOR=#000090][B]StrCopy[/B][/COLOR](Percent$,[COLOR=#ff0000]1[/COLOR],4) 
[COLOR=#0000ff]End[/COLOR] 
Percent$ = Percent$ + [COLOR=#800000]'%'[/COLOR] 
[COLOR=#000090][B]DisplayValue[/B][/COLOR]("Percent","Percent$") 
[COLOR=#000090][B]MoveObject[/B][/COLOR]("Bar","X,Y,Status,H") 
[COLOR=#0000ff]If[/COLOR] (i > NOL) [COLOR=#0000ff]Then[/COLOR] 
  COMMIT$ = [COLOR=#800000]'COMMIT;'[/COLOR] 
  [COLOR=#000090][B]PluginSet[/B][/COLOR]("PlugIn","COMMIT$") 
  [COLOR=#000090][B]PluginRun[/B][/COLOR]("PlugIn","UpdateDB") 
  Event$ = [COLOR=#800000]'Data Inserted Successfully into the Database by '[/COLOR] + Timer$ 
  Notification$ = [COLOR=#800000]'Info'[/COLOR] 
  [COLOR=#000090][B]RunScript[/B][/COLOR]("Show Event") 
  Running = [COLOR=#ff0000]0[/COLOR] 
  [COLOR=#000090][B]Return[/B][/COLOR]() 
[COLOR=#0000ff]End[/COLOR] 
[COLOR=#000090][B]ScriptTimer[/B][/COLOR]("Timer2=InsertDataProccess","[COLOR=#ff0000]0[/COLOR]")
[/ltr]

همچنین مثال آپدیت شده رو هم اینجا برتون پیوست کردم که در صورت نیاز میتونید دانلودش کنید و ازش (بجای قبلی) استفاده کنید.
این هم عکسی هست که تبدیل همون دیتابیس رو نشون میده، ولی با این یکی مثال تبدیلش کردم:
attachment.php

مشاهده میکنید که زمان تبدیل از یک ساعت به حدود 19 دقیقه کاهش پیدا کرده
ممنون.
اگه سوالی بود در خدمتم.
 

پیوست ها

  • DB Maker.rar
    203.4 کیلوبایت · بازدیدها: 490
  • NewConverted.jpg
    NewConverted.jpg
    42 کیلوبایت · بازدیدها: 477
آخرین ویرایش:

BEHESHT

Well-Known Member
ببخشید من آخر هم کابرد ctrl+Q رو متوجه نشدم میشه یه توضیح بدی آقا محمد

من شرمنده ام ها ولی بالاخره بازم اذییت کردیم.
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
ببخشید من آخر هم کابرد ctrl+Q رو متوجه نشدم میشه یه توضیح بدی آقا محمد

من شرمنده ام ها ولی بالاخره بازم اذییت کردیم.
ببینید، شما برنامه ی Dicti رو اجرا کن و اون رو Minimize کن،
حالا توی یه جایی از ویندوز، مثلاً Notepad یا مرورگرتون، یه کلمه ی انگلیسی رو انتخاب کنید و CTRL+Q رو بزنید، میبینید که برنامه ی Dicti بالا میاد و ترجمه ی اون لغت رو (در صورت وجود) براتون میاره.
 

BEHESHT

Well-Known Member
ولی من خیلی این کار رو کردم و هرگز جواب نداده و فقطظ صدای ارور پخش میشه

و اول هم یه ارور به محتوی زیر می یاد که گمانم برای تلفظ باشه

این:

You don't have Text-to-Speech engine Installed.
The TTS features will be disabled.​


میشه این مشکل رو رفع کرد که ctrl+Q کار نمی کنه؟
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
اگر شما آخرین نسخه از این برنامه رو که من در مبحث مربوط به خود برنامه قرار داده بودم (Dicti) دریافت کرده باشید (برنامه همراه با فایل GetText.exe) نباید مشکلی پیش بیاد، من که تست میکنم درست جواب میده، و تاکنون هم موردی مبنی بر عدم کارکرد این مورد دریافت نکردم، لطفاً بازم تست کنید و نتیجه رو به بنده اطلاع بدید تا در صورت وجود مشکل رفعش کنم.

ممنون
 

BEHESHT

Well-Known Member
آهان کشف کردم چون همیشه دیکی در حال اجرا بود من ورژن جدید رو استخراج می کردم واسه همون جای نسخه جدید نمی نشست

ممنون می بخشید که اذییتون کردم
 

Moeinjoon

New Member
توسط يه برنامه كه الان دقيقا اسمش رو يادم نيست با سرعت ميشه بانك اكسس رو به sql تبديل كرد اگه همون موقع كه داشتي حسابي خودتو زحمت ميدادي ميگفتي حتما اين برنامه رو قرار ميدادم!
به هر حال از قرار دادن زحماتت براي بچه ها خيلي ممنونم، موفق باشي...
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
توسط يه برنامه كه الان دقيقا اسمش رو يادم نيست با سرعت ميشه بانك اكسس رو به sql تبديل كرد اگه همون موقع كه داشتي حسابي خودتو زحمت ميدادي ميگفتي حتما اين برنامه رو قرار ميدادم!
به هر حال از قرار دادن زحماتت براي بچه ها خيلي ممنونم، موفق باشي...
بنده هم همون موقع که درحال ساخت دیکشنری بودم دنبال همچین ابزاری گشتم و مواردی رو پیدا کردم، ولی همونطور که قبلاً هم ذکر کردم اگر دیتابیس دارای محتوای غیر لاتین باشه، یعنی مثلاً داده های بزبان فارسی توش باشه، برای اینکه داده ها درست نمایش داده بشن، یا بهتر بگم؛ اصلاً نمایش داده بشن، باید دیتابیس رو توسط خود MMB ایجاد کنیم (چون اون برنامه ها اطلاعات رو با فرمت یونیکد ذخیره میکنن که متاسفانه MMB اون رو ساپورت نمیکنه).
و فلسفه ی ایجاد و تکمیل این مثال هم همین بوده، تا راهی رو که من طی کردم نیاز نباشه بقیه ی دوستان هم طی کنن (جدا از اینکه خود روند ساخت این مثال کمک بسیار زیادی در آموختن زبان SQLite و کسب مهارت در کار با این پلاگین به من کرد)

بهرحال ممنون میشم اگه ابزارتون رو اینجا پیوست کنید، قطعاً برای بنده و بقیه ی دوستان مفید خواهد بود.
ممنون
 

harem

Member
سلام دوست عزیز من در قرار دادن لغت ها در دیتابیس مشکل دارم و وقتی که فایل را درست می کنم دیکشری اونا را نمیشناسه وفقط فایلهایی را که امبد کردی میشناسه لطفا کمک فرمایید :)
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
شما لغت هاتون ره به چه وسیله ای در دیتابیس درج میکنین ؟
آیا توسط خود Dicti اطلاعات رو در دیتابیس ذخیره میکنین یا یک ابزار جانبی دیگه ؟

ضمن اینکه در بسته ی سورس فایل دیتابیس موجود نیست و برای استفاده دیتابیس رو باید جداگانه از مبحث مربوط به برنامه دانلود کنید (چون گفتین فایلهای امبد شده رو میشناسه این رو عرض کردم)
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
اگه از ابزار SQLite DB Maker استفاده میکنین که برنامه دیتابیس رو با توجه به ساختار دیتابیس Dicti ایجاد میکنه و مشکلی نباید پیش بیاد
برنامه از دو فایل بنامهای English.txt و Persian.txt بعنوان منبع استفاده میکنه.
فایل Persian.txt حاوی لغات فارسی هست (یه نمونش تو خود مثال امبد شده) و باید با فرمت ANSI ذخیره شده باشه، نه یونیکد، این نکته خیلی مهمه.

اگه بازم مشکلی بود در خدمتم.
موفق باشید
 

harem

Member
سلا م من دو تا سوال داشتم که برام خیلی مهمه
1- چطور میشه فونت قسمت یافته ها رو تغییر داد این سوال رو واسه این عرض کرد چون فرمت قسمت یافته ها htm است.
2- چطور میشه کاری کرد که برنامه فرمت متن یونیکد را هم بشناسه ؟
با تشکر:?:
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
سلام،
1- چطور میشه فونت قسمت یافته ها رو تغییر داد این سوال رو واسه این عرض کرد چون فرمت قسمت یافته ها htm است.
در اسکریپت Initialization و در متغیرهای $ENGOpen و $PEROpen خصوصیات خطوط فارسی و انگلیسی تعریف شده:
HTML:
<p style="font-family:Tahoma;color:#585858;font-size:9pt;font-weight:bold;text-align:right;margin:2px 0;">
تو این کد خصوصیاتی که تعریف شده مشخص هست، کافیه اونها رو تغییر بدید
2- چطور میشه کاری کرد که برنامه فرمت متن یونیکد را هم بشناسه ؟
منظور شما دقیقاً چی هست ؟ آیا برنامه تحت انکودینگ Windows-1256 قادر به نمایش کاراکترهای خاصی نیست ؟
راستش رو بخاید من اول از UTF-8 بعنوان انکودینگ صفحه ی HTML ایجاد شده استفاده کردم ولی کلمات بدرستی نمایش داده نشدن، دفعه ی بعد که انکودینگ Windows-1256 رو امتحان کردم جواب داد، شاید شما هم بتونید با یک آزمون و خطا به نتیجه ی دلخواه برسید، این خصوصیت هم در متغیر [Line$[5 در اسکریپت Initialization تعریف شده:
HTML:
<meta http-equiv="Content-Type" content="text/html;charset=Windows-1256" >

موفق باشید.
 

جدیدترین ارسال ها

بالا