Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26113
Рейтинг: 2126
#31: 2008-06-06 12:03:41 ЛС | профиль | цитата
Dilma, да, да, понял.. Приношу извинения
------------ Дoбавленo:

Nic, давай по теме твоего вопроса, про ID, версию и автора шрифта.

То что ты привел про вызовы Fonts Win32 API, так я могу их тут столько насыпать... и ни один из них не дает нужной тебе информации. Нужно, либо недокументированная функция API, либо некая самопальная функция на том же API
карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#32: 2008-06-06 12:11:01 ЛС | профиль | цитата
nesco, а ты не владеешь искусством disassembl'ирования утилит просмотра свойств?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#33: 2008-06-06 13:11:07 ЛС | профиль | цитата
Дизассемблировать для определения API-функций, можно попробовать, но на работе у меня его нет, дома посмотрю.
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#34: 2008-06-06 19:57:35 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2020-03-01 21:46:15
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#35: 2008-06-06 20:05:33 ЛС | профиль | цитата
Гость писал(а):
точка uninstall тоже нужна

А кто сказал, что она осталась в версии 2.20
карма: 22

1
Голосовали:juk
Главный модератор
Ответов: 2999
Рейтинг: 396
#36: 2008-06-07 22:07:47 ЛС | профиль | цитата
nesco писал(а):
А кто сказал, что на осталась в версии 2.20


nesco, можно по-подробнее, пожалуйста? Так как метод, действительно, нужен для построения fonts manager'a.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#37: 2008-06-07 22:16:24 ЛС | профиль | цитата
Nic, тк фонт временный, то при загрузке следующего, предыдущий автоматически удаляется из системы. Если необходимо использовать несколько фонтов одновременно, то необходимо применить несколько таких компонентов.
карма: 22

1
Голосовали:juk
Главный модератор
Ответов: 2999
Рейтинг: 396
#38: 2008-06-07 23:08:54 ЛС | профиль | цитата
Font manager'ы, на подобии Extensis Suitcase или Adode ATM Deluxe и многие другие предполагают очень активный образ жизни шрифта. Мне до них, конечно, далеко, но задача оперативного изменения набора шрифтов на рабочем месте в журнальном издательстве очень актуальна сегодня. Поэтому очень прошу добавить метод отключения, временно установленного шрифта.

И ещё прошу тебя оказать ликбез по MTtable. Пытаюсь методом тыка сформировать в первом столбце таблицы видимые checkbox'ы. Возможно ли такое?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#39: 2008-06-08 00:17:45 ЛС | профиль | цитата
Nic писал(а):
Пытаюсь методом тыка сформировать в первом столбце таблицы видимые checkbox'ы

Только в первом и можно. Включается свойством CheckBoxes вкладки Table

------------ Дoбавленo:


Nic писал(а):
Поэтому очень прошу добавить метод отключения, временно установленного шрифта

Хорошо, без проблем, добавлю

------------ Дoбавленo:


Добавлено -- ver 2.30 (rev 1035 на SVN)
карма: 22

1
Голосовали:juk
Главный модератор
Ответов: 2999
Рейтинг: 396
#40: 2008-06-08 18:34:54 ЛС | профиль | цитата
nesco, пытаюсь получить список шрифтов, установленных в системе (пока безуспешно):
code_9228.txt
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
файлы: 1code_9228.txt [2KB] [544]
Разработчик
Ответов: 26113
Рейтинг: 2126
#41: 2008-06-08 20:45:01 ЛС | профиль | цитата
Вот рабочий вариант. Твоя ошибка в неправильном использовании функции обратного вызова. И никогда не забывай применят destructor'ы при использовании динамических переменных.


Add(MainForm,10181369,161,224)
{
Left=20
Top=105
}
Add(Button,375386,161,273)
{
Left=80
Top=110
link(onClick,3561396:doEvent1,[(201,279)(201,279)])
}
Add(InlineCode,2961482,259,224)
{
@Hint=#17:Get list of fonts|
VarPoints=#9:FontsList|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Debug,Windows;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|39: ListFonts : PStrList;|37: ArrList : PArray;|22: function _GetList(|36: var Item : TData;|35: var Val : TData|38: ) : boolean;|27: procedure MakeFontList;|38: function _CountList : integer;|9: public|22: constructor Create;|32: destructor Destroy; override;|52: procedure FontsList( var _Data:TData; idx:word );|5: end;|0:|14:implementation|0:|85:function EnumFontsProc(var EnumLogFont: TEnumLogFont; var TextMetric: TNewTextMetric;|82: FontType: Integer; Data: LPARAM): Integer; export; stdcall;|23:var FaceName: string;|23: FB : THiAsmClass;|5:begin|27: FB := THiAsmClass(Data);|56: FaceName := String(EnumLogFont.elfLogFont.lfFaceName);|29: FB.ListFonts.Add(FaceName);|14: Result := 1;|4:end;|0:|31:constructor THiAsmClass.Create;|5:begin|13: inherited;|27: ListFonts := NewStrList;|62: ArrList := CreateArray( nil, _GetList, _CountList, nil );|16: MakeFontList;|4:end;|0:|31:destructor THiAsmClass.Destroy;|5:begin|20: Dispose(ArrList);|18: ListFonts.free;|13: inherited;|5:end; |0:|32:procedure THiAsmClass.FontsList;|5:begin|27: dtArray(_Data, ArrList);|4:end;|0:|30:function THiAsmClass._GetList;|19:var ind: integer;|5:begin|19: Result := false;|29: ind := ToIntIndex( Item );|57: if (ind < 0) or (ind > ListFonts.Count - 1) then exit;|39: dtString(Val, ListFonts.Items[ind]);|18: Result := true;|4:end;|0:|32:function THiAsmClass._CountList;|5:begin|29: Result := ListFonts.Count;|4:end;|0:|35:procedure THiAsmClass.MakeFontList;|11:var DC:HDC;|5:begin|17: DC := GetDC(0);|60: try EnumFontFamilies(DC,nil,@EnumFontsProc,LongInt(Self));|9: finally|20: ReleaseDC(0,DC);|6: end;|4:end;|0:|0:|0:|0:|4:end.|
}
Add(ArrayEnum,3337398,259,280)
{
link(onItem,16307174:doAdd,[(307,286)(307,272)])
link(Array,2961482:FontsList,[])
}
Add(ListBox,16307174,322,266)
{
Left=175
Top=20
Width=190
Height=235
}
Add(Hub,3561396,210,273)
{
link(onEvent1,16307174:doClear,[(292,279)(292,279)])
link(onEvent2,3337398:doEnum,[])
}

карма: 22

1
Голосовали:juk
Ответов: 902
Рейтинг: 27
#42: 2008-06-08 21:04:56 ЛС | профиль | цитата
nesco, Сейчас специально на новый форум перейду.
Чтоб тебе плюс влепить!
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#43: 2008-06-08 21:14:14 ЛС | профиль | цитата
Ха! Не думая не гадая, от нечего делать, мы создали компонент -- FontArray. Немного откорректировать и можно сделать отдельный компонент.
карма: 22

1
Голосовали:andrestudio
Ответов: 5227
Рейтинг: 587
#44: 2008-06-08 21:22:24 ЛС | профиль | цитата
nesco, а может эту точку в штатный компонент Font вставить
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#45: 2008-06-08 22:33:48 ЛС | профиль | цитата
andrestudio писал(а):
а может эту точку в штатный компонент Font вставить

Тоже мысль, кстати.

------------ Дoбавленo:


В компонент Font добавлена точка FontsArray -- ver 1.20 (rev 1036 на SVN)
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)