Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
Внизкак заменить txfxfButton на кнопку Найти похожие ветки
← →
maxim_m_m (2004-07-27 16:12) [0]Здравствуйте!
В старом проекте использовал какой-то левый кнопочный компонент
и теперь я не могу редактировать программу, форма не создаётся. dfm в каком-то ужасном нечитабельном виде(раньше я мог редактрировать dfm) что-то вроде utf-8
простой заменой tfxfxbtn на tbutton мне не отделаться. какие будут предложения?
← →
Юрий Зотов © (2004-07-27 16:33) [1]Обычно для этого пишется программа, которая парсит dfm, меняет в нем имя класса, убирает несовпадающие свойства и добавляет нужные.
Замену имени класса в файлах .pas можно сделать и уже готовыми программами (например, UltraEdit). А если свойства нового и старого классов полностью аналогичны, то и dfm тоже можно исправить уже готовой программой.
← →
maxim_m_m (2004-07-27 18:54) [2]спасибо за ответ!
но я уже пробовал менять в dfm файлах на tbutton,
но после этого Delphi говорит что в dfm файле ошибка (invalid stream format).
так что это спасает только тогда, когда dfm имеет красивый вид, вроде:
object Form1: TForm1
Left = 148
Top = 187
Width = 544
Height = 356
Caption = "Form1"
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = "MS Sans Serif"
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 16
Top = 8
Width = 75
Height = 25
Caption = "Button1"
TabOrder = 0
OnClick = Button1Click
end
object Memo1: TMemo
Left = 40
Top = 112
Width = 425
Height = 217
Lines.Strings = (
"Memo1")
TabOrder = 1
end
end
тогда можно заменить методов find and replace.
Но большие dfm"ы delphi портит,
и превращает их во что-то бинарное,
(..IN наверно = BIN)
и едва-читабельное только в формате UTF-8:
�IN 0` TPF0TMainMainTagLeft��h(HeightDAlphaBlendValueƠCaptionMainColor clSkyBlue
ParentFont OldCreateOrder PositionpoScreenCenterVisible WindowStatewsMaximizedOnClose FormCloseOnCreate
FormCreate OnDestroyFormDestroy
PixelsPerInch`
TextHeight
TBevelBevel2LeftTop)WidthgHeight& TBevelBevel3LeftOTopRWidth— Height& TLabelLabel31Left Top7WidthMHeight
Caption Дата записи -> TLabelLabel30Left· Top7WidthiHeight
Caption" Дата поступления -> TLabelLabel28Left TopNWidth<Height
Caption Номер акта TLabelLabel17Left Top�WidthAHeight
Caption !>E@0==>ABL TLabelLabel27Left힃TopxWidthsHeight
Caption" Источник поступления TLabelLabel34Left TopxWidth¯ Height
Caption; Материал и техника изготовления TLabelLabel1Left TopfWidthHeight
Caption 2B>@ TLabelLabel2Left Top WidthGHeight
Caption Тип предмета TLabelLabel3Left TopàWidthPHeight
Caption...............
← →
ЮЮ © (2004-07-28 02:58) [3]>Но большие dfm"ы delphi портит
Просто существует два формата хранения dfm - текстовый и бинарный. Ты сейчас столкнулся с бинарным.
← →
Athlon XP (2004-07-28 03:30) [4]В IDE в редакторе кода правую нажми, и в меню выбери что-то вроде "view as text" - появится нормальный исходник формы. Его скопирую и слей в текстовик. Проект выгрузи, и тот текстовик переименуй в DFM. Только старый (бинарный) сохрани... Я сам не пробовал, но должно работать :)
---
Intel Inside - Idiot Outside
← →
maxim_m_m (2004-07-28 11:34) [5]to:[4]
Если бы форма открывалась, вопроса бы не было.
← →
Рамиль © (2004-07-28 12:24) [6]
> [5] maxim_m_m (28.07.04 11:34)
В папке BIN есть утилитка convert.exe - преобразует из бинарного формата в текстовый и обратно.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.045 c