Текущий архив: 2004.06.27;
Скачать: CL | DM;
ВнизТот же текстовый редактор. Теперь сохранение :-) Найти похожие ветки
← →
Apocalepse © (2004-06-11 20:45) [0]Товарищи мастера я все по той же теме :-)
Проблеммка собственно в том как теперь сохранять изменения в файле!
То есть сохранение изменений в файле открытых уже в редакторе то
конечно не проблема. Но вот я не могу понять как теперь сохранить файл
открытый самим редактором через вот тот код:if (ParamCount >= 1) and FileExists(ParamStr(1)) then
Memo.Lines.LoadFromFile(ParamStr(1));
На кнопке "сохранить" у меня виситMemo1.Lines.SaveToFile(FName);
Я дописываю к томуif (ParamCount >= 1) and FileExists(ParamStr(1)) then
Memo.Lines.SaveToFile(ParamStr(1));
Но ничего не выходит, все компилится. Но изменения не сохраняются. Подскажите что не так?
← →
Подкрадуха © (2004-06-11 21:04) [1]Может, не Memo, а Memo1, если не менял имена по умолчанию...
Хотя вряд-ли.
← →
Anatoly Podgoretsky © (2004-06-11 21:07) [2]Что там ParamStr(1))
А как ты проверяешь что ничего не происходит, может стоит воспользоваться клавишей Win+F
← →
Anatoly Podgoretsky © (2004-06-11 21:17) [3]Да и какая ошибка вычкакивает?
Ты нам скажешь или нам соамим придумать?
← →
Подкрадуха © (2004-06-11 21:25) [4]
if (ParamCount >= 1) and FileExists(ParamStr(1)) then
Memo.Lines.LoadFromFile(ParamStr(1));
Memo1.Lines.SaveToFile(FName);
if (ParamCount >= 1) and FileExists(ParamStr(1)) then
Memo.Lines.SaveToFile(ParamStr(1));
Всё-таки, кажется проблема тут в именах...
Хотя, если компилится нормально, то очень странно.
Какой у тебя нэйм у мемо? То Memo, то Memo1...
← →
Anatoly Podgoretsky © (2004-06-11 21:29) [5]Подкрадуха © (11.06.04 21:25) [4]
А почему бы не быть обеим?
← →
Подкрадуха © (2004-06-11 21:43) [6][5]
Я этого и не отрицаю, но читается файл в одного мемо, а сохраняется из другого. Я даже предположу (настрою, так сказать свой телепатический модуль), что в начале файл читается сразу в оба мемо, но потом пишется измененное мемо вначале и потом перезаписывается вторым (не измененным) мемо. Может отсюда грабли ростут?
← →
Anatoly Podgoretsky © (2004-06-11 21:50) [7]Подкрадуха © (11.06.04 21:43) [6]
Нет сохраняется в обеих, но только не известно что в FName и в ParamStr(1)
← →
Подкрадуха © (2004-06-11 21:54) [8]Угу, чего ж тут гадать, если не видно, что за ошибка или хотя бы полный код этой функции/процедуры.
Подождём...
← →
Apocalepse © (2004-06-11 22:10) [9]Да моя опечатка! Там имена то мои у Memo но в коде допустим пусть они будут кака Memo1. Все компилится нормально но при сохранении файла открытого способом
if (ParamCount >= 1) and FileExists(ParamStr(1)) then
Memo1.Lines.SaveToFile(ParamStr(1));
Возникает ошибка:
Cannot Create File "". Системе неудается найти указаный путь.
Ну короче кода сохранения вообще нет как будь то.
← →
Anatoly Podgoretsky © (2004-06-11 22:23) [10]Все ясно у тебя неправильный путь.
Подробности вроде мы никогда не получим, ну и бог ним, поработаем тогда переводчиками.
← →
Apocalepse © (2004-06-11 22:56) [11]Какие вам еще подробности?
Ну вот код висящий на кнопке сохраненияprocedure Tmain.saveClick(Sender: TObject);
begin
Text.Lines.SaveToFile(FName);
if (ParamCount > 1) and FileExists(ParamStr(1)) then
Text.Lines.SaveToFile(ParamStr(1));
end;
На форе есть OpenDialog и SaveDialog
Вот так выглядит кнопка "сохранить как"procedure Tmain.save_asClick(Sender: TObject);
begin
SaveDialog.FileName:=FName;
if SaveDialog.Execute
then begin
FName:=SaveDialog.FileName;
Text.Lines.SaveToFile(FName);
end;
end;
Text-имя поля Memo
FName-OpenDialog(FileName) и SaveDialog(FileName)
← →
KilkennyCat © (2004-06-11 23:00) [12]Может быть, я полный ЛМД, но что такое FName?
← →
Apocalepse © (2004-06-11 23:01) [13]Я не спрашиваю про сохранение файла открытого OpenDialog или сохраненным SaveDialog
Мне надо узнать что нужно дописать к кнопке "сохранить" чтобы сохранить изменения в файле открытым моей программой. Т.е. кодомprocedure Tmain.FormCreate(Sender: TObject);
begin
if (ParamCount > 1) and FileExists(ParamStr(1)) then
Text.Lines.LoadFromFile(ParamStr(1));
if rb_html.Checked = true then
begin
Text.SyntaxStyles:=stl_html; //Это относится к синтаксису.
end;
end;
← →
KilkennyCat © (2004-06-11 23:03) [14]Повторю свой вопрос... что сие - FName? Чего ему присваивается при открытии с параметрами командной строки?
← →
Apocalepse © (2004-06-11 23:03) [15]FNmae объявляется вот тут
SaveDialog.FileName:=FName;
if SaveDialog.Execute
then begin
FName:=SaveDialog.FileName;
и тутFName:=OpenDialog.FileName;
Это переменная являющаяся по сути FileName Open и Save Dialog-ов
← →
KilkennyCat © (2004-06-11 23:05) [16]замечательно. но я спрашивал, что ей присваивается, когда открывается с Text.Lines.LoadFromFile(ParamStr(1)) ????
← →
Apocalepse © (2004-06-11 23:05) [17]Блин опечетался ^^
> FNmae объявляется вот тут
FName объявляется вот тут - так надо было написать :-)
← →
KilkennyCat © (2004-06-11 23:06) [18]пофиг опечатка.
где код типа такого:
FName := ParamStr(1); ?
← →
Apocalepse © (2004-06-11 23:08) [19]ээээээ вроде ничего... Я что то путанулся уже. Я в Дельфи навичек. Может скажеш все же конкретнее как сохранить? Ты ведь знаеш :-)
← →
Apocalepse © (2004-06-11 23:11) [20]ООО я кажеться понял! Надо при открытии с Text.Lines.LoadFromFile(ParamStr(1)) ???? Присвоить ей значение и все будет ок! Только как его присвоить? Что присвоить? Что вообще есть (ParamStr(1)) я честно говоря не понял....
← →
Apocalepse © (2004-06-11 23:12) [21]
> пофиг опечатка.
> где код типа такого:
> FName := ParamStr(1); ?
(Меня пробирает смех над собой) Его нет :-( Какой же я дурак!
← →
KilkennyCat © (2004-06-11 23:13) [22]Знаю.
Правило первое - перед использованием переменной, ей надо чего-то присвоить. Иначе - неизвестно, чего в ней есть. При открытии диалогами FName чего-то там нормально получает, после чего ее корректно обрабатывают сэйвы. При открытии через параметр, она, судя по всему, ничего не получает, в ней либо ниль, либо каша, однако, при сохранении она используется!
Странно, что компилятор не предупредил...
Вообщем, должно быть так:procedure Tmain.FormCreate(Sender: TObject);
begin
if (ParamCount > 1) and FileExists(ParamStr(1)) then begin
FName := ParamStr(1);
Text.Lines.LoadFromFile(FName);
end;
end;
← →
KilkennyCat © (2004-06-11 23:14) [23]ну, вот, успел раньше меня :)
← →
Apocalepse © (2004-06-11 23:18) [24]Мои подстаканники дребезжат! Спасибо тебе!!! Огромное. А кто упел раньше тебя и что успел? Ну да ладно хорош флудить ато замодерируют нафиг :-). Еще раз Большое спасибо!
← →
KilkennyCat © (2004-06-11 23:18) [25]
> Apocalepse © (11.06.04 23:11) [20]
> присвоить? Что присвоить? Что вообще есть (ParamStr(1))
> я честно говоря не понял....
При запуске исполняемого файла с параметрами (например: format c: ), то программе передаются параметры, в нашем случае - с:
Даже если перевести ParamStr то получится ПараметровСтрока
Страницы: 1 вся ветка
Текущий архив: 2004.06.27;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.052 c