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

Вниз

Можно ли работать с файлом *.doc как с *.txt или как с типизированным?   Найти похожие ветки 

 
saviola   (2002-02-06 17:51) [0]

Еще есть такой вопросик в subj


 
Dimka Maslov   (2002-02-06 18:13) [1]

Ни как с текстовым, ни как с типизированным. Вордовские файлы имеют ужасающий внутренний формат, что сам Билл Гейтс в нём не разберётся.
А тебе нужно прочитать информацию из *.doc файла или что-то другое?


 
saviola   (2002-02-06 18:17) [2]

Да мне нужно читать от туда по словам(как в типизированом - запись) или по символам(как в текстовом). Может можно как-то по другому?


 
Dimka Maslov   (2002-02-06 18:25) [3]

Передаёшь этой функции имя файла *.doc или *.rtf и получаешь на выходе текст файла. Есть ограничения. Во первых Word должен быть установлен, во вторых тебе придётся перейти на Delphi 5, и в третьих подключить к проекту модули OleServer и Word97.


function ImportWordFile(const FileName: AnsiString): AnsiString;

function RepairText(Ws: WideString): AnsiString;
var
i: Integer;
Ch1, Ch2: Char;
S: AnsiString;
begin
S:=Ws;
Result:="";
Ch2:=#13;
for i:=1 to Length(S)-1 do begin
Ch1:=S[i];
Ch2:=S[i+1];
Result:=Result+Ch1;
if (Ch1 = chEnter) and (Ch2 <> #10) then Result:=Result+#10;
end;
Result:=Result+Ch2;
if Ch2 = chEnter then Result:=Result+#10;
AnsiToOEM(PChar(Result), PChar(Result));
OEMToAnsi(PChar(Result), PChar(Result));
end;

var
WordApp: TWordApplication;
Doc: Variant;
begin
WordApp:=TWordApplication.Create(nil);
try
WordApp.ConnectKind:=ckNewInstance;
WordApp.Connect;
try
Doc:=WordApp.Documents;
Doc.Open(FileName);
Doc:=Unassigned;
WordApp.Selection.SetRange(0, $7FFFFFFF);
Result:=RepairText(WordApp.Selection.Text);
finally
WordApp.WindowState:=1;
WordApp.Quit;
WordApp.Disconnect;
end;
finally
WordApp.Free;
end;
end;



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

Форум: "Основная";
Текущий архив: 2002.02.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
1-66614
antoniz
2002-02-06 12:16
2002.02.21
Как сохранить ветку системного реестр в файл


4-66715
Dimich
2001-12-21 10:28
2002.02.21
mciSendString


3-66472
serguar
2002-01-29 08:02
2002.02.21
При минимизации приложения вываливается сообщение об ошибке


14-66653
dksoft
2001-12-27 19:06
2002.02.21
Защита


7-66687
VIB_G
2001-10-18 18:34
2002.02.21
Поиогите пожалуйста





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский