Текущий архив: 2004.06.27;
Скачать: CL | DM;
ВнизКак сделать Button1.Enabled:=true; в такой ситуации? Найти похожие ветки
← →
Apocalepse © (2004-06-12 22:00) [0]Привецтвую мастера. Вот тот код мне посоветовали чтобы мой текстовый редактор
мог открывать фалы если его поставить текстовым редактором по умолчанию.procedure Tmain.FormCreate(Sender: TObject);
begin
if (ParamCount >= 1) and FileExists(ParamStr(1)) then
Text.Lines.LoadFromFile(ParamStr(1));
FName := (ParamStr(1));
Но теперь возникла новая проблема. У меня в редакторе кнопка "сохранить"
находиться в состоянии Disabled. В состояние Enabled она переходит лишь тогда,
когда открываеться файл через OpenDialog или сохраняеться через SaveDialog.
Так же мне понадобилось чтобы она переходила в Enabled-состояние после
того, как ей открыли файл как редактором по умолчанию т.е. с помощью кода
приведенного выше. Но как то сделать? Вот такая штука:
procedure Tmain.FormCreate(Sender: TObject);
begin
if (ParamCount >= 1) and FileExists(ParamStr(1)) then
Text.Lines.LoadFromFile(ParamStr(1));
FName := (ParamStr(1));
Button1.Enabled:=true;
Button1 - это кнопка "сохранить".
Подскажите плизз куда и как вписать кодButton1.Enabled:=true;
в таком случае?
← →
Pipa (2004-06-12 22:41) [1]В конструкторе:
if (ParamCount >= 1) and FileExists(ParamStr(1)) then begin
Text.Lines.LoadFromFile(ParamStr(1));
FName := (ParamStr(1));
Button1.Enabled:=true;
end
else Button1.Enabled:=False;
После закрытия файла ставишь Button1.Enabled:=False;
Если открывается в OpenDialog то Button1.Enabled:=true;
Кстати, один совет. Если в файл не внесли изменения, то не нужно ставить кнопку в активное состояние (то есть всё вышесказанное не актуально).
← →
Apocalepse © (2004-06-12 22:52) [2]Это может не актуально, но зато работоспособно. Т.е. Если конечно не внесли изменений то и нажимать "сохранить" никто не будет, а вот если внесли а сохранить не могу, вот тога будет весело :-)
← →
Apocalepse © (2004-06-12 22:54) [3]Pipa, Вот ты пишиш "в конструкторе". Что то значит?
← →
jack128 © (2004-06-12 23:00) [4]
> Вот ты пишиш "в конструкторе". Что то значит?
имелось ввиду в событии OnCreate формы, скорее всего. Хотя строго говоря "в конструкторе" - это немножко другое. Почитай, что такое классы, объекты..
← →
KilkennyCat © (2004-06-12 23:06) [5]В событии onChange пропиши показ кнопки.
← →
Pipa (2004-06-12 23:09) [6]>Apocalepse © (12.06.04 22:54) [3]
>Pipa, Вот ты пишиш "в конструкторе". Что то значит?
Виноват, ошибся.
Конечно же я имел в виду FormCreate.
← →
KilkennyCat © (2004-06-12 23:14) [7]но и там желательно поставить флажок о первоначальной загрузке файла.
примерно так:
var
FLoadNew : boolean;
...
послеText.Lines.LoadFromFile
нужноFLag := false;
...
Text.onChange
begin
...
ButtonSave.Enabled := FLag;
FLag := true;
...
end;
Text.Save
begin
...
flag := false;
...
end;
begin
← →
KilkennyCat © (2004-06-12 23:16) [8]ошибся, вот так:
Text.Save
begin
...
flag := false;
ButtonSave.Enabled := FLag;
...
end;
← →
Apocalepse © (2004-06-12 23:16) [9]KilkennyCat Ох точно! ГениальнО! Спасибо.
У меня тогда еще аопрос. У меня в SaveDialog не работает Filter
Я уж его и так и дак, и в хэлпе смотрел как правильно писать. Блин.... может чего подскажете? Как его правильно настроить.
← →
KilkennyCat © (2004-06-12 23:20) [10]напишите его здесь, а мы поправим...
А вообще, искренне советую установить RxLib. Там просто идеальный пример тестового редактора. Сам когда-то использовал как учебный материал.
← →
Apocalepse © (2004-06-13 00:09) [11]Что написать здесь? Весь код!!?? Или что... Я про фильтр то говорил, я его в редакторе фильтров делал, а что можно подругому?
← →
KilkennyCat © (2004-06-13 01:01) [12]можно и по другому:
savedialog1.Filter := "Текстовые|*.txt";
← →
Apocalepse © (2004-06-13 10:44) [13]Спасибо, сейчас попробую.
← →
Apocalepse © (2004-06-13 10:59) [14]Не работет. Если пишу ваш код
SaveDialog.Filter := "Текстовые|*.txt";
В самой процедуре сохранинея или просто в любом другом месте кода, филтр вообще
не появляется. А вот если настраиваю в редакторе фильтра, то в окне SaveDialog`a
фильтр то появляется. Но я вот дупксти написал все то же в нем
SaveDialog.Filter := "Текстовые|*.txt";
Вот выбираю я "текстовые" при сохранении и он конечно файл сохраняет, но без
разширения. Тоесть нужно самому в имени писать его. Например test.TXT
Вот так блин. Может где то что то надо в true поставить в ObjectInspector`e?
← →
jack128 © (2004-06-13 11:13) [15]
> , но без
> разширения. Тоесть нужно самому в имени писать его. Например
> test.TXT
> Может где то что то надо в true поставить в ObjectInspector`e?
не true, а прописать свойство defaultExt
← →
KilkennyCat © (2004-06-13 11:16) [16]нужно указать свойство
DefaultExt - *.txt
← →
Gero © (2004-06-13 11:21) [17]
> нужно указать свойство
>
> DefaultExt - *.txt
DefaultExt := "txt";
← →
KilkennyCat © (2004-06-13 12:11) [18]
> Gero © (13.06.04 11:21) [17]
равнозначно.
← →
Apocalepse © (2004-06-13 12:12) [19]И что тогда у меня только в тхт будет сохранять? Или тогда фильтр заработает? И где это
> DefaultExt := "txt";
надо написать? В Процедуре сохранения или в любом месте кода?
← →
KilkennyCat © (2004-06-13 12:14) [20]гм......... попробуйте и так и этак. И попробуйте перевести с английского DefaultExt...
← →
KilkennyCat © (2004-06-13 12:16) [21]Я ведь советовал посмотреть пример редактора в RxLib.
Если бы посмотрели - такие бы вопросы не задавали.
← →
Gero © (2004-06-13 12:16) [22]
> Apocalepse © (13.06.04 12:12)
TOpenDialog.DefaultExt
Писать можно где угодоно, хоть в DesignTime.
Сохранять можно будет не только в txt, но если другое расширение не указано, то добавит к FileName еще и "txt".
← →
Apocalepse © (2004-06-13 12:22) [23]Но от этого заработает Фильтр или нет?
> Я ведь советовал посмотреть пример редактора в RxLib
А что такое RxLib.
> И попробуйте перевести с английского DefaultExt...
Default типа впрде по умолчанию а Ext - разширение или настройка.... Короче говоря это Разширение даваемое по умолчанию.
← →
Apocalepse © (2004-06-13 12:25) [24]
> гм......... попробуйте
Можно на со мной ты :-) ато както неудобно даже :-)
← →
Gero © (2004-06-13 12:35) [25]
> Но от этого заработает Фильтр или нет?
Фильтр только отвечает за отображение файлов в окошке выбора файла.
А что DefaultExt делает, я написал. Так что не понятно?
← →
Apocalepse © (2004-06-13 14:11) [26]Да все понятно щас все пашет уже как папа карло!
Страницы: 1 вся ветка
Текущий архив: 2004.06.27;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.035 c