Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Corba";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];

Вниз

Сохранение Word   Найти похожие ветки 

 
BAYES ©   (2005-01-17 21:59) [0]

Привет.
У меня такой не скромный вопрос. У меня имеется около 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 знаках встречают символы которые не могут быть сохранены.
У меня вопрос, как эти символы отсечь, какими способами?
Спасибо за все ответы.


 
YurikGL ©   (2005-01-17 22:09) [1]


> Но возникает проблема, в первых 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);


 
BAYES ©   (2005-01-17 22:22) [2]

"набор допустимых символов" в каком формате нужно предоставлять?
А-Я или а,б,в,г


 
YurikGL ©   (2005-01-17 22:33) [3]

Попробуй

> BAYES ©   (17.01.05 22:22) [2]

["A".."Z","a".."z","0".."1","А".."Я" и т.д.]

А вообще, про множества почитай.


 
BAYES ©   (2005-01-17 22:56) [4]

Все отлично порезало, пасиба Юра, но блин, что-то не то, реально организовать что-то на подобии «сохранения По-умолчанию», например когда word новый документ при сохранении дает имя первых N-символов.


 
YurikGL ©   (2005-01-17 23:03) [5]


>  например когда word новый документ при сохранении дает
> имя первых N-символов.

А что тебе мешает считать первые n символов, далее, если среди первых 5-6-ти нет недопустимых символов, в качестве имени использовать строку до либо до первого недопустимого символа, либо n символов?


 
BAYES ©   (2005-01-18 10:54) [6]

Пол ночи просидел, что только не пробовал, получается всякая хрень. Подкинь кусок кода.


 
YurikGL ©   (2005-01-18 21:07) [7]

Что-то типа такого

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-19 18:58) [8]

Вот я морочился, сам ворд в свойствай файла сохраняет заголовок, (автор,тема...) прям то, что нужно, осталось выяснить как это считать.
Юра пасиба за потраченное время.



Страницы: 1 вся ветка

Форум: "Corba";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.033 c
3-1127348697
Дмитрий Белькевич
2005-09-22 04:24
2005.10.30
4th dimenstion


2-1128819510
quadronik
2005-10-09 04:58
2005.10.30
Пример из дельфийского ХЕЛПа..не работает


1-1128396828
SHVictor
2005-10-04 07:33
2005.10.30
Редактирование поля в StringGrid


9-1118732054
String
2005-06-14 10:54
2005.10.30
DirectX: Цикл обновления сцены


6-1120766047
stals
2005-07-07 23:54
2005.10.30
WinSock





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский