![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение Word [Delphi, Windows]
BAYES © (2005-01-17 21:59:00)Привет.
У меня такой не скромный вопрос. У меня имеется около 100 word-документов они по глупой случайности были переименованы в формат file_n где n 1-97.
Я пытаюсь переименовать файлы по первым 25 знакам из документа
Делаю так
…
a:=0;
b:=25;
WordDocument1.Range(a, b).Text;
…
FileNameSave:= WordDocument1.Range(a, b).Text;
WordDocument1.SaveAs(FileNameSave);
...
Но возникает проблема, в первых 25 знаках встречают символы которые не могут быть сохранены.
У меня вопрос, как эти символы отсечь, какими способами?
Спасибо за все ответы.
BAYES (2005-01-19 18:58:00) [1]Вот я морочился, сам ворд в свойствай файла сохраняет заголовок, (автор,тема...) прям то, что нужно, осталось выяснить как это считать.
Юра пасиба за потраченное время.
YurikGL (2005-01-18 21:07:00) [2]Что-то типа такого
st:='';
i:=1;
while ((i<60) and (char(WordApplication1.ActiveDocument.Characters.Item(i).Text[1]) in ['a'..'z','A'..'Z'])) do begin
st:=st+(WordApplication1.ActiveDocument.Characters.Item(i).Text[1]);
inc(i);
end;
if length(st)=0 then st:='Документ1'
Правда с русскими буквами глюкает при преобразовании wideChar в char...
BAYES (2005-01-18 10:54:00) [3]Пол ночи просидел, что только не пробовал, получается всякая хрень. Подкинь кусок кода.
YurikGL (2005-01-17 23:03:00) [4]
> например когда word новый документ при сохранении дает
> имя первых N-символов.
А что тебе мешает считать первые n символов, далее, если среди первых 5-6-ти нет недопустимых символов, в качестве имени использовать строку до либо до первого недопустимого символа, либо n символов?
BAYES (2005-01-17 22:56:00) [5]Все отлично порезало, пасиба Юра, но блин, что-то не то, реально организовать что-то на подобии «сохранения По-умолчанию», например когда word новый документ при сохранении дает имя первых N-символов.
YurikGL (2005-01-17 22:33:00) [6]Попробуй
> BAYES © (17.01.05 22:22) [2]
['A'..'Z','a'..'z','0'..'1','А'..'Я' и т.д.]
А вообще, про множества почитай.
BAYES (2005-01-17 22:22:00) [7]"набор допустимых символов" в каком формате нужно предоставлять?
А-Я или а,б,в,г
YurikGL (2005-01-17 22:09:00) [8]
> Но возникает проблема, в первых 25 знаках встречают символы
> которые не могут быть сохранены.
> У меня вопрос, как эти символы отсечь, какими способами?
Что-то типа такого:
st:string;
st:= WordDocument1.Range(a, b).Text;
for i:=1 to length (st) do
if not (st[i] in[набор допустимых символов]) then st[i]:=' '
WordDocument1.SaveAs(st);