如何将造好的TURETYPE字在做到光盘里刻出来后能在WIN98、WIN95中显示(100分)

  • 主题发起人 主题发起人 topza
  • 开始时间 开始时间
T

topza

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将造好的TURETYPE字在做到光盘里刻出来后能在WIN98、WIN95中显示
 
???
控制面板->字体->安装新字体->.................
 
仔细看看AddFontResource的帮助吧,呵呵:)
 
请Reboot兄具体说一下吧!造出的字是在正常情况下无法在WIN98中显示出来的(或者说)
WIN98中就没有的字。
 
你试一试,我刚做的,可以。^_^
procedure TForm1.Button1Click(Sender: TObject);
begin
AddFontResource('myfont.ttf');
SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
RemoveFontResource('myfont.ttf');
SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
end;
 
好人做到底,我帮你做了个程序,要不要啊?
 
你是不是要将造字程序造好的字备份,或者复制到其他机器中。
只要将windows目录下的eudc.tte、eudc.euf复制过去就可以了
 
不知你的Email,贴上来了。

unit main;

//Coded by Reboot Nov 30, 2000
//You are free to modify the code
//Don't forget to give me some socre

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
FileCtrl, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
FileListBox1: TFileListBox;
DirectoryListBox1: TDirectoryListBox;
DriveComboBox1: TDriveComboBox;
FilterComboBox1: TFilterComboBox;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
ListBox1: TListBox;
Panel1: TPanel;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
if FileListBox1.ItemIndex=-1 then Exit;
if ListBox1.Items.IndexOf(FileListBox1.FileName)<>-1 then Exit;
ListBox1.Items.Append(FileListBox1.FileName);
AddFontResource(PChar(FileListBox1.FileName));
SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
i: Integer;
begin
for i := 1 to ListBox1.Items.Count do
begin
RemoveFontResource(PChar(ListBox1.Items[i-1]));
SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
TmpStr: String;
iPos: Integer;
begin
if ListBox1.ItemIndex=-1 then Exit;
TmpStr := ListBox1.Items[ListBox1.ItemIndex];
TmpStr := ExtractFileName(TmpStr);
iPos := Pos('.',TmpStr);
if iPos<>0 then
Edit1.Text := Copy(TmpStr,1,iPos-1)
else
Edit1.Text := TmpStr;
Panel1.Font.Name := Edit1.Text;
end;

end.
 
如何将windows目录下的eudc.tte、eudc.euf复制到对方的windows目录下强行复制进去,
同时又不能重新启动计算机,我试过正常情况是无法复制进去的。请具体写出程序。
我的EMAIL是topza@elong.com
 
to topza:
仅仅需要简单的复制就可以了,也不需要重新启动,我在多台机器上试过都没问题的。
如果一定要编程序的话,调用api函数copyfile函数就可以了,很简单的。
BOOL CopyFile(
LPCTSTR lpExistingFileName, // pointer to name of an existing file
LPCTSTR lpNewFileName, // pointer to filename to copy to
BOOL bFailIfExists // flag for operation if file exists
);
 
foenix兄请把程序完整的写一下,如何复制eudc.tte、eudc.euf这两个文件,
我用如下程序不可以实现:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
filename1,filename2,filename3:pchar;
begin
filename1:='Eudc.tte';
copyfile(filename1,pchar('c:/windows/Eudc.tte'),false);

filename2:='Eudc.euf';
copyfile(filename2,pchar('c:/windows/Eudc.euf'),false);

filename3:='Eudcedit.ini';
copyfile(filename3,pchar('c:/windows/Eudcedit.ini'),false);



end;

end.
请指教!
 
你是说造的单个字哦。
我以为是做了个字体库,要浏览呢:)
 
似乎没有什么问题的
 
foenix兄,我试过了在WINDOWS无法复制,请你写一下你的复制程序(可否具体一点)!
 
topza:
运行你的程序没有问题,程序和三个文件要放在同一目录下,否则在程序中
指明三个文件的目录。
 
我试过了,只能复制到一个空目录但无法复盖原文件,我要能复盖原文件且不重启!
 
我试过了,只能复制到一个空目录但无法复盖原文件,我要能复盖原文件且不重启!
 
请各位高手能回答我的问题,谢谢!
 
多人接受答案了。
 
后退
顶部