Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.21;
Скачать: CL | DM;

Вниз

Можно ли работать с файлом *.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;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.003 c
1-66568
ray_wagner
2002-02-05 15:45
2002.02.21
Эмуляция работы компа :-)


6-66629
Jaya1
2001-12-01 08:38
2002.02.21
проблема с апдейтом 6-х Дельфов, спешите ответить!!!


1-66582
Di_wind
2002-02-05 20:23
2002.02.21
Zip


3-66442
XX
2002-01-27 12:28
2002.02.21
как сделать поиск по DBGRID?


3-66474
AndrewK
2002-01-29 10:22
2002.02.21
Где найти HELP по SQL





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