PDA

View Full Version : مشکل فونت



taer_1354
پنج شنبه 03 مرداد 1387, 23:38 عصر
سلام :من 1یه سری فونت دارم که هر وقت ویندوزمو عوض میکنم اونت رو کپی میکنم توی فولدر فونت ویندوز که حدود 1800 تایی است و بعضی از این فونت ها قبلا نصب شده و ویندوز به پیام میده که این فونت قبلا نصب شده . خلاصه مدت زیادی باید صرف نصب این فونت ها وOK زدن این پیام بکنم حالا برنامه ای میخوام که مسیر نصب ویندوزو پیدا کنه و تمام فونت ها رو هم نصب کنه و پیامی هم نده

Hsimple11
جمعه 04 مرداد 1387, 00:35 صبح
از توابع ShellAPI برای کپی کردن دایرکتوری حاوی فونت در دایرکتوری FONTS استفاده کنید.در سایت گفته شده. کد یافتن شاخه ویندوز نیز در سایت وجود دارد.
موفق باشید...

mms_4004
جمعه 04 مرداد 1387, 01:48 صبح
یعنی می تونه 1800 تا فونت رو بدون دادن اسم نصب کنه؟؟؟ مثلاً فولدر فونت رو که ما می خواهیم نصب بشه می دیم و بعد خودش رو سیستم نصب می کنه همه ی فونت ها رو؟؟:لبخند: چه جالب

Hsimple11
جمعه 04 مرداد 1387, 11:50 صبح
یعنی می تونه 1800 تا فونت رو بدون دادن اسم نصب کنه؟؟؟ مثلاً فولدر فونت رو که ما می خواهیم نصب بشه می دیم و بعد خودش رو سیستم نصب می کنه همه ی فونت ها رو؟؟:لبخند: چه جالب

بدون دادن اسم یعنی چی! شما میتونین یه دایرکتوری رو در یک محل کپی کنین. نیازی به دادن اسم تک تک فایلهای آن ندارید.

as13851365
شنبه 05 مرداد 1387, 20:00 عصر
برای این کار شما می تونید یه برنامه ای بنویسید که در ادامه توضیحش را می دم

یک پروژه جدید باز کنید و روی فرمتان یک OpenDialog1 قرار بدهید و مقدار ofAllowMultiSelect واقع در قسمت Options را برابر با True کنید
یک ListBox1 روی فرمتان قرار دهید
یک ProgressBar1 روی فرمتان قرار دهید
و یک دکمه روی فرمتان قرار دهید و کد زیر را در قسمت Onclick آن بنویسید


procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
a:array[0..255]of char;
str:string;
begin
if OpenDialog1.Execute then
begin
GetWindowsDirectory(a,max_path);
str:=string(a)+'\Fonts\';
ListBox1.Items:=OpenDialog1.Files;
ProgressBar1.Max:=ListBox1.Count;
for i:=0 to ListBox1.Count-1 do
begin
CopyFile(pchar(ListBox1.Items.Strings[i]),pchar(str+ExtractFileName(ListBox1.Items.Strings[i])),false);
ProgressBar1.Position:=ProgressBar1.Position+1;
end;
ProgressBar1.Position:=0;
end;
end;


یونیت برنامه :


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls,xpman;

type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
Button1: TButton;
ProgressBar1: TProgressBar;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
a:array[0..255]of char;
str:string;
begin
if OpenDialog1.Execute then
begin
GetWindowsDirectory(a,max_path);
str:=string(a)+'\Fonts\';
ListBox1.Items:=OpenDialog1.Files;
ProgressBar1.Max:=ListBox1.Count;
for i:=0 to ListBox1.Count-1 do
begin
CopyFile(pchar(ListBox1.Items.Strings[i]),pchar(str+ExtractFileName(ListBox1.Items.Strings[i])),false);
ProgressBar1.Position:=ProgressBar1.Position+1;
end;
ProgressBar1.Position:=0;
end;
end;

end.


وقتی که برنامه را نوشتی تمام شد کار این برنامه چنین خواهد بود که :
وقتی روی دکمه کلیک می کنید کادر Open باز می شه که شما می توانید تمام فایل هایی را که می خواهید در پوشه Fonts ویندوز کپی شود را انتخاب می کنید و برنامه شروع می کنه تمام آنها را دونه دونه کپی می کنه و نوار پیشرفت رو هم نشون می شه

امیدوارم که موفق باشید

taer_1354
جمعه 11 مرداد 1387, 01:52 صبح
قضیه از این قراره که من یه نرم افزار دارم که اونو با برنامه AutoRun منو سازی کردم .قسمتی از این اتوران ،نصب فونت داره در این مورد چه کمکی میتونید کنید در ضمن از زاهنمایتون هم ممنون ولی من یا برنامه نویسی اشنایی چندانی ندارم

Hamid_PaK
جمعه 11 مرداد 1387, 06:10 صبح
ساده ترین راه برای نصب تعداد زیادی فونت توی ویندوز اینه که شما همه آنها رو داخل پوشه فونت ویندوز کپی کنید که در بالا توضیح داده شد و در نهایت این پوشه رو یک بار باز کنید که در همان زمان همه فونت های کپی شده جدید نصب شوند:


WinExec('explorer C:\Windows\Fonts');


یا حق ...

as13851365
جمعه 11 مرداد 1387, 13:29 عصر
برنامه ای که شما می خواهید :

نحوه استفاده از این برنامه به این صورت است که شما بعد از دانلود فایل از لینک زیر آن را در کامیپوتر خود توسط نرم افزار Winrar آنزیپ می کنید

یک پوشه با نام Font وجود دارد که در داخلش هم 5 تا فایل است که به ترتیب عبارتند از :
یک فایل اجرایی با نام Font.exe که همان برنامه نصب فونت است
یک فایل متنی با نام font.txt که شما باید نام و پسوند تمام فونتهایی را که می خواهید برنامه آنها را نصب کند را در داخلش قرار می دهید به عنوان مثال من سه تا فونت را در برنامه قرار دادم و نام و پسوند آنها را در این فایل متنی اضافه کردم

نکته شما باید تمام فونت ها را در کنار این برنامه و فایل متنی قرار دهید

بعد از این که نام و پسوند فونت ها را در فایل font.txt قرار دادید در برنامه خودتان که با هر چیزی که نوشتید فقط کافی است که فایل font.exe را اجرا کنید بعد برنامه اجرا می شه و شروع به کپی کردن فونت ها می کنه بعد از اتمام کار هم برنامه بسته می شه

دانلود برنامه :
http://yahook.persiangig.com/motafarege/font.rar

دانلود سورس برنامه :
http://yahook.persiangig.com/motafarege/font_cod.rar